aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortheuni <theuni-nospam-@xbmc.org>2012-02-29 20:42:50 -0500
committertheuni <theuni-nospam-@xbmc.org>2012-02-29 20:42:50 -0500
commit3f4ad7c1129fac51c13203b8a035a5c5f105a2c2 (patch)
tree2cd4b3987916c1d6426415bb2b175ff062a5fa65
parent4246dffa9896d0c66dc79a97c2d3c8a3d4c4a183 (diff)
parentdd522132757b4dcb1d6c7d8125588bc43f12bd46 (diff)
Merge remote-tracking branch 'origin/master' into Eden
-rw-r--r--addons/skin.confluence/language/Czech/strings.xml21
-rw-r--r--addons/weather.wunderground/addon.xml3
-rw-r--r--addons/webinterface.default/addon.xml2
-rw-r--r--language/Czech/strings.xml33
-rw-r--r--language/Finnish/strings.xml23
-rw-r--r--language/Greek/strings.xml2
-rw-r--r--tools/darwin/depends/xbmc/Makefile4
-rw-r--r--xbmc/PartyModeManager.cpp6
-rw-r--r--xbmc/cores/AudioRenderers/CoreAudioRenderer.cpp22
-rw-r--r--xbmc/cores/dvdplayer/DVDInputStreams/DVDStateSerializer.cpp7
-rw-r--r--xbmc/dbwrappers/mysqldataset.cpp2
-rw-r--r--xbmc/dialogs/GUIDialogMediaSource.cpp13
-rw-r--r--xbmc/dialogs/GUIDialogMediaSource.h5
-rw-r--r--xbmc/filesystem/SmartPlaylistDirectory.cpp13
-rw-r--r--xbmc/guilib/GUIStaticItem.h2
-rw-r--r--xbmc/input/InertialScrollingHandler.cpp5
-rw-r--r--xbmc/interfaces/Builtins.cpp9
-rw-r--r--xbmc/music/windows/GUIWindowMusicBase.cpp1
-rw-r--r--xbmc/network/AirPlayServer.cpp14
-rw-r--r--xbmc/pictures/GUIWindowPictures.cpp1
-rw-r--r--xbmc/playlists/SmartPlayList.cpp50
-rw-r--r--xbmc/playlists/SmartPlayList.h12
-rw-r--r--xbmc/settings/AdvancedSettings.cpp2
-rw-r--r--xbmc/video/VideoDatabase.cpp9
-rw-r--r--xbmc/video/windows/GUIWindowVideoBase.cpp33
-rw-r--r--xbmc/video/windows/GUIWindowVideoBase.h7
26 files changed, 182 insertions, 119 deletions
diff --git a/addons/skin.confluence/language/Czech/strings.xml b/addons/skin.confluence/language/Czech/strings.xml
index a0a341a44f..2d5551d016 100644
--- a/addons/skin.confluence/language/Czech/strings.xml
+++ b/addons/skin.confluence/language/Czech/strings.xml
@@ -1,7 +1,8 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!--Translator: ezechiel1917-->
-<!--Date of translation: 26/09/2010-->
-<!--updated 22/10/2011 by mirek-->
+<!--Date of translation: 26.09.2010-->
+<!--Updated 22.11.2011 by mirek-->
+<!--Updated 06.01.2012 by babča-->
<strings>
<!-- Misc labels -->
<string id="31000">Změnit</string>
@@ -22,7 +23,7 @@
<string id="31025">Položek</string>
<string id="31026">Další možnosti</string>
<string id="31027">Umístění</string>
-
+
<!-- View Type labels -->
<string id="31028">Obaly</string>
<string id="31029">Fanart</string>
@@ -39,7 +40,7 @@
<string id="31044">PŘETÁČÍ SE VPŘED</string>
<string id="31045">PŘETÁČÍ SE ZPĚT</string>
<string id="31046">Vlastnosti zvuku</string>
- <string id="31047">Akutální předvolba</string>
+ <string id="31047">Aktuální předvolba</string>
<string id="31048">Předvolby vizualizace</string>
<string id="31049">Čas ukončení</string>
<string id="31050">Seřadit: vzestupně</string>
@@ -54,7 +55,7 @@
<string id="31059">Aktuální seznam stop</string>
<string id="31060">Tento soubor se skládá z více částí. Vyberte tu, od které chcete spustit přehrávání.</string>
<string id="31061">Aktuálně vybraný</string>
-
+
<!-- Skin Settings labels -->
<string id="31100"></string>
<string id="31101">Informace na Úvodní obrazovce</string>
@@ -88,7 +89,7 @@
<string id="31128">Texty skladeb</string>
<string id="31129"></string>
<string id="31130"></string>
-
+
<string id="31131"></string>
<string id="31132">Doplněk Texty skladeb</string>
<string id="31133">Doplněk Titulky</string>
@@ -129,7 +130,7 @@
<string id="31318">Malý Fanart</string>
<string id="31319">Vybraný profil</string>
<string id="31320">Naposledy přihlášen</string>
- <string id="31321">Vyběr Karaoke skladby</string>
+ <string id="31321">Výběr karaoke skladby</string>
<string id="31322">Odvysíláno</string>
<string id="31323">Nejnovější filmy</string>
<string id="31324">Nejnovější epizody</string>
@@ -162,12 +163,12 @@
<string id="31403">[B]MOŽNOSTI OBRÁZKŮ[/B][CR][CR]Možnosti zobrazení obrázků · Konfigurace prezentace</string>
<string id="31404">[B]MOŽNOSTI POČASÍ[/B][CR][CR]Nastavení oblastí pro předpověď počasí</string>
<string id="31405">[B]MOŽNOSTI SÍTĚ[/B][CR][CR]Možnosti ovládání XBMC přes UPnP a HTTP · Nastavení sdílení médií[CR]Nastavení přístupu na internet</string>
- <string id="31406">[B]MOŽNOSTI SYSTÉMU[/B][CR][CR]Nastavení a kalibrace obrazovky · Konfigurace výstupu zvuku · Nastavení dálkového ovládání[CR]Možnosti úsporného režimu · Ukládání informací o ladění · Konfigurace rodičovského zámku</string>
+ <string id="31406">[B]MOŽNOSTI SYSTÉMU[/B][CR][CR]Nastavení obrazovky · Konfigurace výstupu zvuku · Nastavení dálkového ovládání[CR]Možnosti úsporného režimu · Ukládání informací o ladění · Rodičovský zámek</string>
<string id="31407">[B]MOŽNOSTI VZHLEDU[/B][CR][CR]Přizpůsobení vzhledu Confluence · Správa sekcí na úvodní obrazovce[CR]Nastavení pozadí vzhledu</string>
<string id="31408">[B]MOŽNOSTI DOPLŇKŮ[/B][CR][CR]Správa nainstalovaných doplňků · Vyhledávání a instalace doplňků z xbmc.org[CR]Nastavení doplňků</string>
<string id="31421">Přihlášení uživatele[CR]Pokračujte výběrem profilu</string>
-
+
<!-- Weather plugin -->
<string id="31900">Mapy počasí</string>
<string id="31901">Předpověď na 36 hodin</string>
diff --git a/addons/weather.wunderground/addon.xml b/addons/weather.wunderground/addon.xml
index 06e5deb593..fa37e8ec06 100644
--- a/addons/weather.wunderground/addon.xml
+++ b/addons/weather.wunderground/addon.xml
@@ -8,13 +8,16 @@
<extension point="xbmc.addon.metadata">
<summary lang="bg">Синоптична прогноза от wunderground.com</summary>
<summary lang="en">Weather forecast from wunderground.com</summary>
+ <summary lang="fi">Sääennusteet wunderground.com -sivustolta</summary>
<summary lang="se">Väderprognos från wunderground.com</summary>
<summary lang="zh">来自wunderground.com的天气预报</summary>
<description lang="bg">Прогноза за времето осигурена от Weather Underground (http://www.wunderground.com/)</description>
<description lang="en">Weather forecast provided by Weather Underground (http://www.wunderground.com/)</description>
+ <description lang="fi">Sääennusteet Weather Underground -sivuston tarjoamina (http://www.wunderground.com/)</description>
<description lang="se">Väderprognos tillhandahållen av Weather Underground (http://www.wunderground.com/)</description>
<description lang="zh">由Weather Underground(http://www.wunderground.com/)提供的天气预报</description>
<disclaimer lang="en">Use of this add-on implies that you have agreed to the Terms of Service located at http://www.wunderground.com/weather/api/d/terms.html</disclaimer>
+ <disclaimer lang="fi">Tämän lisäosan käyttäminen tarkoittaa, että olet hyväksynyt käyttöehdot, jotka sijaitsevat osoitteessa http://www.wunderground.com/weather/api/d/terms.html</disclaimer>
<disclaimer lang="se">Användning av detta tillägg innebär att du har godkänt Terms of Service från http://www.wunderground.com/weather/api/d/terms.html</disclaimer>
<disclaimer lang="zh">使用此扩展功能意味着你同意此连接下的服务条款:http://www.wunderground.com/weather/api/d/terms.html</disclaimer>
<platform>all</platform>
diff --git a/addons/webinterface.default/addon.xml b/addons/webinterface.default/addon.xml
index 6ec7e7295e..c4c5e756da 100644
--- a/addons/webinterface.default/addon.xml
+++ b/addons/webinterface.default/addon.xml
@@ -15,6 +15,7 @@
<summary lang="bg">Уебинтерфейс на Team XBMC. (стандартният уебинтерфейс на XBMC)</summary>
<summary lang="en">Team XBMC Web Interface. (XBMC's default web interface)</summary>
<summary lang="es">Interface web de XBMC. (Interface web por defecto de XBMC)</summary>
+ <summary lang="fi">Team XBMC:n WWW-käyttöliittymä. (XBMC:n oletus WWW-käyttöliittymä)</summary>
<summary lang="nl">Team XBMC Webinterface. (XBMC's standaard webinterface)</summary>
<summary lang="pl">Standardowy interfejs WWW XBMC.</summary>
<summary lang="pt">Interface Web da Team XBMC. (Interface Web padrão do XBMC)</summary>
@@ -25,6 +26,7 @@
<description lang="bg">Стандартния уебинтерфейс на XBMC; Направен е за устройства с най-различни резолюции</description>
<description lang="en">Default web interface for XBMC; Designed for devices of all resolutions</description>
<description lang="es">Interface web por defecto de XBMC. Diseñada para dispositivos de cualquier resolución</description>
+ <description lang="fi">Oletus WWW-käyttöliittymä XBMC:lle. Suunniteltu käytettäväksi kaiken kokoisilla laitteilla.</description>
<description lang="nl">Standaard XBMC-webinterface; geschikt voor alle resoluties</description>
<description lang="pl">Domyślny interfejs WWW dla XBMC; Zaprojektowany dla urządzeń z dowolną rozdzielczością</description>
<description lang="pt">Interface Web padrão do XBMC. Desenhada para dispositivos com qualquer resolução</description>
diff --git a/language/Czech/strings.xml b/language/Czech/strings.xml
index 898806d4e5..f2267208b8 100644
--- a/language/Czech/strings.xml
+++ b/language/Czech/strings.xml
@@ -1,8 +1,9 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!--Language file translated with Team XBMC Translator-->
<!--Translator: ezechiel1917-->
-<!--Date of translation: 26/09/2010-->
-<!--updated 3/12/2011 by mirek-->
+<!--Date of translation: 26.09.2010-->
+<!--Updated 03.12.2011 by mirek-->
+<!--Updated 06.01.2012 by babča-->
<strings>
<string id="0">Programy</string>
<string id="1">Obrázky</string>
@@ -56,7 +57,7 @@
<string id="60">říj</string>
<string id="61">lis</string>
<string id="62">pro</string>
-
+
<string id="71">S</string>
<string id="72">SSV</string>
<string id="73">SV</string>
@@ -1021,7 +1022,7 @@
<string id="13100">Filtr blikání</string>
<string id="13101">Ponechat nastavení ovladače (vyžadován restart)</string>
-
+
<string id="13105">Vertikální synchronizace obrazovky (V-Sync)</string>
<string id="13106">Vypnuto</string>
<string id="13107">Zapnuto při přehrávání videa</string>
@@ -1069,11 +1070,11 @@
<string id="13200">Profily</string>
<string id="13201">Odstranit profil '%s'?</string>
-
+
<string id="13204">Naposledy načtený profil:</string>
<string id="13205">Neznámý</string>
<string id="13206">Přepsat</string>
-
+
<string id="13208">Budík</string>
<string id="13209">Interval budíku (v min)</string>
<string id="13210">Budík nastaven na %im</string>
@@ -1174,7 +1175,7 @@
<string id="13359">Přiřadit ikonu interpreta</string>
<string id="13360">Automaticky generovat náhledy</string>
<string id="13361">Povolit úpravu hlasu</string>
-
+
<string id="13375">Povolit zařízení</string>
<string id="13376">Hlasitost</string>
<string id="13377">Výchozí nastavení zobrazení</string>
@@ -1343,7 +1344,7 @@
<string id="14080">Časové pásmo</string>
<string id="14081">Soubory a složky</string>
<string id="14082">Zobrazovat EXIF informace o obrázku</string>
- <string id="14083">Upřednostňovat režim celé obrazovky na velikost okna</string>
+ <string id="14083">Otevřít v okně přes celou obrazovku namísto pravého fullscreen režimu</string>
<string id="14084">Přidávat skladby do fronty při jejich výběru</string>
<string id="14085">Automaticky přehrávat Audio CD</string>
<string id="14086">Přehrávání</string>
@@ -1498,7 +1499,7 @@
<string id="16039">Off</string>
<string id="16040">Auto</string>
<string id="16041">On</string>
-
+
<string id="16100">Všechna videa</string>
<string id="16101">Nezhlédnuté</string>
<string id="16102">Zhlédnuté</string>
@@ -1539,7 +1540,7 @@
<string id="16322">Spline36</string>
<string id="16323">Spline36 optimized</string>
<string id="16324">Software Blend</string>
-
+
<string id="16400">Post-processing</string>
<string id="17500">Zobrazovat odpočet do uspání</string>
@@ -1611,7 +1612,7 @@
<string id="20069">Nemohu vytvořit složku</string>
<string id="20070">Složka profilu</string>
<string id="20071">Chcete nastavit výchozí zdroje médií</string>
- <string id="20072">Ujistěte se, zda je do vybráné složky možnost zápisu</string>
+ <string id="20072">Ujistěte se, zda je do vybrané složky možnost zápisu</string>
<string id="20073">a nový název složky v pořádku</string>
<string id="20074">Přístupnost</string>
<string id="20075">Zadejte hlavní kód rodičovského zámku</string>
@@ -1926,7 +1927,7 @@
<string id="21366">Složka s titulky</string>
<string id="21367">Video a alternativní složka s titulky</string>
<string id="21368">Přepsat písmo v ASS/SSA titulcích</string>
-
+
<string id="21369">Povolit kurzor myši</string>
<string id="21370">Přehrávat zvuky při přehrávání multimediálních souborů</string>
<string id="21371">Náhledy</string>
@@ -2028,13 +2029,13 @@
<string id="21805">Rozlišení</string>
<string id="21806">Komentář</string>
<string id="21807">Barva/ČB</string>
- <string id="21808">Zpracování Jpeg</string>
+ <string id="21808">Zpracování JPEG</string>
<string id="21820">Datum/Čas</string>
<string id="21821">Popis</string>
<string id="21822">Značka fotoaparátu</string>
<string id="21823">Model fotoaparátu</string>
- <string id="21824">Exif komentář</string>
+ <string id="21824">EXIF komentář</string>
<string id="21825">Firmware</string>
<string id="21826">Clona</string>
<string id="21827">Ohnisko objektivu</string>
@@ -2090,7 +2091,7 @@
<string id="21892">Hudební nástroje</string>
<string id="21893">Datum narození</string>
<string id="21894">Datum seskupení</string>
- <string id="21895">Tématické zaměření</string>
+ <string id="21895">Tematické zaměření</string>
<string id="21896">Datum rozpuštění</string>
<string id="21897">Datum úmrtí</string>
<string id="21898">Aktivní v letech</string>
@@ -2372,7 +2373,7 @@
<string id="35502">Název</string>
<string id="35503">Výrobce</string>
<string id="35504">ID produktu</string>
-
+
<string id="36000">Pulse-Eight CEC adaptér</string>
<string id="36001">Pulse-Eight Nyxboard</string>
<string id="36002">Switch to keyboard side command</string>
diff --git a/language/Finnish/strings.xml b/language/Finnish/strings.xml
index 8200a2ee7a..e5c589d093 100644
--- a/language/Finnish/strings.xml
+++ b/language/Finnish/strings.xml
@@ -806,7 +806,7 @@
<string id="1256">Pingauksen väli</string>
<string id="1257">Yhdistetäänkö havaittuun järjestelmään?</string>
- <string id="1260">Julkista nämä palvelut toisiin järjestelmiin Zeroconf publishing:in kautta</string>
+ <string id="1260">Julkista nämä palvelut toisiin järjestelmiin Zeroconf-julkaisujärjestelmän kautta</string>
<string id="1270">Salli XBMC:n vastaanottaa AirPlay sisältöä</string>
<string id="1271">Laitteen nimi</string>
<string id="1272">- Käytä salasanaa</string>
@@ -877,9 +877,11 @@
<string id="10019">Asetukset - Käyttöliittymä</string>
<string id="10020">Skriptit</string>
<string id="10021">Nettiselain</string>
-
+ <string id="10025">Videot</string>
<string id="10028">Videot/Toistolista</string>
+ <string id="10029">Kirjautumisikkuna</string>
<string id="10034">Asetukset - Profiilit</string>
+ <string id="10040">Lisäosaselain</string>
<string id="10100">Kyllä/Ei -dialogi</string>
<string id="10101">Tila -dialogi</string>
@@ -1775,7 +1777,7 @@
<string id="20326">Tämä palauttaa asettamasi %s kalibroinnin arvot</string>
<string id="20327">oletusarvoiksi</string>
<string id="20328">Valitse kohdesijainti</string>
-
+ <string id="20329">Elokuvan tiedostot ovat eri kansioissa, jotka ovat nimetty elokuvan mukaan</string>
<string id="20330">Hae kansionimiä</string>
<string id="20331">Tiedostonimet</string>
<string id="20332">Käytetäänkö haettaessa tiedosto- vai kansionimiä?</string>
@@ -1865,7 +1867,7 @@
<string id="20416">Ensiesitys</string>
<string id="20417">Käsikirjoittaja</string>
<string id="20418"></string>
- <string id="20419">Näytä metatiedot "Tiedostot"-näkymässä</string>
+ <string id="20419">Korvaa tiedostojen nimet kirjaston sisältämillä nimillä</string>
<string id="20420">Ei koskaan</string>
<string id="20421">Jos samalta tuotantokaudelta</string>
@@ -1905,6 +1907,7 @@
<string id="20455">Kuuntelijat</string>
<string id="20456">Aseta elokuvasetin fanitaide</string>
<string id="20457">Elokuvasetti</string>
+ <string id="20458">Ryhmittele elokuvat settien mukaan</string>
<!-- up to 21329 is reserved for the video db !! !-->
<string id="21330">Näytä piilotetut tiedostot ja kansiot</string>
@@ -2012,6 +2015,8 @@
<string id="21451">Internet-yhteys vaaditaan.</string>
<string id="21452">Nouda lisää...</string>
<string id="21453">Juurikansio</string>
+ <string id="21454">Välimuisti täynnä</string>
+ <string id="21455">Välimuisti täyttyi ennen toistoon tarvittavaa määrää</string>
<string id="21460">Tekstityksen sijainti</string>
<string id="21461">Kiinteä</string>
@@ -2332,6 +2337,8 @@
<string id="33102">Tapahtumapalvelin</string>
<string id="33103">Etäviestipalvelin</string>
+ <string id="33200">Uusi yhteys tunnistettu</string>
+
<!-- translators: no need to add these to your language files -->
<string id="34000">Lame</string>
<string id="34001">Vorbis</string>
@@ -2356,6 +2363,14 @@
<string id="34201">Seuraavaa kohdetta ei löydy</string>
<string id="34202">Edellistä kohdetta ei löydy</string>
+ <string id="34300">Zeroconf-palvelua ei voitu käynnistää</string>
+ <string id="34301">Onko Applen Bonjour -palvelu asennettu? Katso lokitiedostosta lisätietoja.</string>
+
+ <string id="34400">Videon renreröintitapa</string>
+ <string id="34401">Ei voitu käyttää videon suodatin/skaalaus -asetuksia, otetaan käyttöön bilineaarinen skaalausmenetelmä</string>
+ <string id="34402">Äänilaitteen alustaminen epäonnistui</string>
+ <string id="34403">Tarkista ääniasetukset</string>
+
<string id="35000">Oheislaitteet</string>
<string id="35001">Yleinen HID-laite</string>
diff --git a/language/Greek/strings.xml b/language/Greek/strings.xml
index b3346270a7..6c5c1facbd 100644
--- a/language/Greek/strings.xml
+++ b/language/Greek/strings.xml
@@ -2403,5 +2403,5 @@
<string id="36015">Αριθμός θύρας HDMI</string>
<string id="36016">Συνδεδεμένη</string> <!-- max. 13 characters -->
<string id="36017">O προσαρμογέας εντοπίσθηκε, αλλά η libcec δεν είναι διαθέσιμη</string>
- <string id="36018">Χρήση της γλώσσας της τηλεόρασης</string>
+ <string id="36018">Χρήση των ρυθμίσεων γλώσσας της τηλεόρασης</string>
</strings>
diff --git a/tools/darwin/depends/xbmc/Makefile b/tools/darwin/depends/xbmc/Makefile
index 5efd9fe037..b098ddd648 100644
--- a/tools/darwin/depends/xbmc/Makefile
+++ b/tools/darwin/depends/xbmc/Makefile
@@ -8,6 +8,10 @@ CONFIGURE=./configure --prefix=$(PREFIX) \
PKG_CONFIG_PATH=$(PREFIX)/lib/pkgconfig \
PYTHON=$(PREFIX)/bin/python
+ifeq ( $(XBMC_DARWIN_RELEASE), 1)
+ CONFIGURE+= --disable-debug
+endif
+
all: configure
configure:
diff --git a/xbmc/PartyModeManager.cpp b/xbmc/PartyModeManager.cpp
index 26b7290224..ecfaf78b98 100644
--- a/xbmc/PartyModeManager.cpp
+++ b/xbmc/PartyModeManager.cpp
@@ -111,8 +111,9 @@ bool CPartyModeManager::Enable(PartyModeContext context /*= PARTYMODECONTEXT_MUS
CMusicDatabase db;
if (db.Open())
{
+ set<CStdString> playlists;
if ( playlistLoaded )
- m_strCurrentFilterMusic = playlist.GetWhereClause(db);
+ m_strCurrentFilterMusic = playlist.GetWhereClause(db, playlists);
CLog::Log(LOGINFO, "PARTY MODE MANAGER: Registering filter:[%s]", m_strCurrentFilterMusic.c_str());
m_iMatchingSongs = (int)db.GetSongIDs(m_strCurrentFilterMusic, songIDs);
@@ -139,8 +140,9 @@ bool CPartyModeManager::Enable(PartyModeContext context /*= PARTYMODECONTEXT_MUS
CVideoDatabase db;
if (db.Open())
{
+ set<CStdString> playlists;
if ( playlistLoaded )
- m_strCurrentFilterVideo = playlist.GetWhereClause(db);
+ m_strCurrentFilterVideo = playlist.GetWhereClause(db, playlists);
CLog::Log(LOGINFO, "PARTY MODE MANAGER: Registering filter:[%s]", m_strCurrentFilterVideo.c_str());
m_iMatchingSongs += (int)db.GetMusicVideoIDs(m_strCurrentFilterVideo, songIDs2);
diff --git a/xbmc/cores/AudioRenderers/CoreAudioRenderer.cpp b/xbmc/cores/AudioRenderers/CoreAudioRenderer.cpp
index a5b2b6e172..a337a54768 100644
--- a/xbmc/cores/AudioRenderers/CoreAudioRenderer.cpp
+++ b/xbmc/cores/AudioRenderers/CoreAudioRenderer.cpp
@@ -1258,7 +1258,7 @@ bool CCoreAudioRenderer::InitializePCM(UInt32 channels, UInt32 samplesPerSecond,
CCoreAudioChannelLayout deviceLayout;
if (!m_AudioDevice.GetPreferredChannelLayout(deviceLayout))
return false;
-
+
// Detect devices with no Speaker Configuration
bool undefinedLayout = true;
for (UInt32 c = 0; c < deviceLayout.GetChannelCount(); c++)
@@ -1272,17 +1272,21 @@ bool CCoreAudioRenderer::InitializePCM(UInt32 channels, UInt32 samplesPerSecond,
}
if (undefinedLayout)
{
- if (!g_sysinfo.IsAppleTV()) // AppleTV users cannot do this...
+ AudioChannelLayoutTag newLayoutTag = kAudioChannelLayoutTag_UseChannelBitmap;
+ if (g_sysinfo.IsAppleTV()) // AppleTV is only Stereo
+ newLayoutTag = kAudioChannelLayoutTag_Stereo;
+ else // AppleTV users cannot do this...
{
CLog::Log(LOGERROR, "CCoreAudioRenderer::InitializePCM: The selected device (%s) does not have a speaker layout configured. Using the default layout.", m_AudioDevice.GetName());
CLog::Log(LOGERROR, "CCoreAudioRenderer::InitializePCM: \tPlease go to Applications -> Utilities -> Audio MIDI Setup, and select 'Configure Speakers...'");
- }
- // Pick a default layout based on the number of channels
- AudioChannelLayoutTag newLayoutTag = GetDefaultLayout(deviceLayout.GetChannelCount());
- if (newLayoutTag == kAudioChannelLayoutTag_UseChannelBitmap) // Undefined, give up...
- {
- CLog::Log(LOGERROR, "CCoreAudioRenderer::InitializePCM: Unable to find a suitable default layout for this device.");
- return false;
+
+ // Pick a default layout based on the number of channels
+ newLayoutTag = GetDefaultLayout(deviceLayout.GetChannelCount());
+ if (newLayoutTag == kAudioChannelLayoutTag_UseChannelBitmap) // Undefined, give up...
+ {
+ CLog::Log(LOGERROR, "CCoreAudioRenderer::InitializePCM: Unable to find a suitable default layout for this device.");
+ return false;
+ }
}
if (!deviceLayout.SetLayout(newLayoutTag))
{
diff --git a/xbmc/cores/dvdplayer/DVDInputStreams/DVDStateSerializer.cpp b/xbmc/cores/dvdplayer/DVDInputStreams/DVDStateSerializer.cpp
index 5f2c1da792..89863e33b8 100644
--- a/xbmc/cores/dvdplayer/DVDInputStreams/DVDStateSerializer.cpp
+++ b/xbmc/cores/dvdplayer/DVDInputStreams/DVDStateSerializer.cpp
@@ -19,6 +19,13 @@
*
*/
+#if (defined HAVE_CONFIG_H) && (!defined WIN32)
+ #include "config.h"
+#endif
+#ifdef _WIN32
+#include "system.h"
+#endif
+
#include "DllDvdNav.h"
#include "tinyXML/tinyxml.h"
diff --git a/xbmc/dbwrappers/mysqldataset.cpp b/xbmc/dbwrappers/mysqldataset.cpp
index 458f353261..8a7293338d 100644
--- a/xbmc/dbwrappers/mysqldataset.cpp
+++ b/xbmc/dbwrappers/mysqldataset.cpp
@@ -258,7 +258,7 @@ int MysqlDatabase::copy(const char *backup_name) {
backup_name, row[0], row[0]);
if ( (ret=query_with_reconnect(sql)) != MYSQL_OK )
- throw DbErrors("Can't copy data for table '%s'\nError: %s", db.c_str(), ret);
+ throw DbErrors("Can't copy data for table '%s'\nError: %s", row[0], ret);
}
}
diff --git a/xbmc/dialogs/GUIDialogMediaSource.cpp b/xbmc/dialogs/GUIDialogMediaSource.cpp
index 64d9337a87..ffbe20f2e9 100644
--- a/xbmc/dialogs/GUIDialogMediaSource.cpp
+++ b/xbmc/dialogs/GUIDialogMediaSource.cpp
@@ -95,7 +95,6 @@ bool CGUIDialogMediaSource::OnMessage(CGUIMessage& message)
case GUI_MSG_WINDOW_INIT:
{
m_confirmed = false;
- m_bRunScan = false;
m_bNameChanged=false;
UpdateButtons();
}
@@ -149,16 +148,6 @@ bool CGUIDialogMediaSource::ShowAndAddMediaSource(const CStdString &type)
share.m_strThumbnailImage = dialog->m_paths->Get(0)->GetThumbnailImage();
}
g_settings.AddShare(type, share);
-
- if (type == "video")
- {
- if (dialog->m_bRunScan)
- {
- CGUIDialogVideoScan* scanner = (CGUIDialogVideoScan*)g_windowManager.GetWindow(WINDOW_DIALOG_VIDEO_SCAN);
- if (scanner)
- scanner->StartScanning(share.strPath, true);
- }
- }
}
dialog->m_paths->Clear();
return confirmed;
@@ -345,7 +334,7 @@ void CGUIDialogMediaSource::OnOK()
if (m_type == "video" && !URIUtils::IsLiveTV(share.strPath) &&
!share.strPath.Left(6).Equals("rss://"))
{
- CGUIWindowVideoBase::OnAssignContent(share.strPath, 0, m_info, m_settings);
+ CGUIWindowVideoBase::OnAssignContent(share.strPath);
}
}
diff --git a/xbmc/dialogs/GUIDialogMediaSource.h b/xbmc/dialogs/GUIDialogMediaSource.h
index 4856efe322..ba96f15107 100644
--- a/xbmc/dialogs/GUIDialogMediaSource.h
+++ b/xbmc/dialogs/GUIDialogMediaSource.h
@@ -22,7 +22,6 @@
*/
#include "guilib/GUIDialog.h"
-#include "video/VideoInfoScanner.h"
class CFileItemList;
class CMediaSource;
@@ -61,9 +60,5 @@ protected:
CStdString m_name;
CFileItemList* m_paths;
bool m_confirmed;
- ADDON::ScraperPtr m_info;
- bool m_bRunScan;
bool m_bNameChanged;
-
- VIDEO::SScanSettings m_settings;
};
diff --git a/xbmc/filesystem/SmartPlaylistDirectory.cpp b/xbmc/filesystem/SmartPlaylistDirectory.cpp
index aa6668f888..45cf60756f 100644
--- a/xbmc/filesystem/SmartPlaylistDirectory.cpp
+++ b/xbmc/filesystem/SmartPlaylistDirectory.cpp
@@ -46,11 +46,12 @@ namespace XFILE
if (!playlist.Load(strPath))
return false;
bool success = false, success2 = false;
+ std::set<CStdString> playlists;
if (playlist.GetType().Equals("tvshows"))
{
CVideoDatabase db;
db.Open();
- CStdString whereOrder = playlist.GetWhereClause(db) + " " + playlist.GetOrderClause(db);
+ CStdString whereOrder = playlist.GetWhereClause(db, playlists) + " " + playlist.GetOrderClause(db);
success = db.GetTvShowsByWhere("videodb://2/2/", whereOrder, items);
items.SetContent("tvshows");
db.Close();
@@ -59,7 +60,7 @@ namespace XFILE
{
CVideoDatabase db;
db.Open();
- CStdString whereOrder = playlist.GetWhereClause(db) + " " + playlist.GetOrderClause(db);
+ CStdString whereOrder = playlist.GetWhereClause(db, playlists) + " " + playlist.GetOrderClause(db);
success = db.GetEpisodesByWhere("videodb://2/2/", whereOrder, items);
items.SetContent("episodes");
db.Close();
@@ -68,7 +69,7 @@ namespace XFILE
{
CVideoDatabase db;
db.Open();
- success = db.GetMoviesByWhere("videodb://1/2/", playlist.GetWhereClause(db), playlist.GetOrderClause(db), items, true);
+ success = db.GetMoviesByWhere("videodb://1/2/", playlist.GetWhereClause(db, playlists), playlist.GetOrderClause(db), items, true);
items.SetContent("movies");
db.Close();
}
@@ -76,7 +77,7 @@ namespace XFILE
{
CMusicDatabase db;
db.Open();
- success = db.GetAlbumsByWhere("musicdb://3/", playlist.GetWhereClause(db), playlist.GetOrderClause(db), items);
+ success = db.GetAlbumsByWhere("musicdb://3/", playlist.GetWhereClause(db, playlists), playlist.GetOrderClause(db), items);
items.SetContent("albums");
db.Close();
}
@@ -90,7 +91,7 @@ namespace XFILE
if (playlist.GetType().Equals("mixed"))
playlist.SetType("songs");
- CStdString whereOrder = playlist.GetWhereClause(db) + " " + playlist.GetOrderClause(db);
+ CStdString whereOrder = playlist.GetWhereClause(db, playlists) + " " + playlist.GetOrderClause(db);
success = db.GetSongsByWhere("", whereOrder, items);
items.SetContent("songs");
db.Close();
@@ -103,7 +104,7 @@ namespace XFILE
CStdString type=playlist.GetType();
if (playlist.GetType().Equals("mixed"))
playlist.SetType("musicvideos");
- CStdString whereOrder = playlist.GetWhereClause(db) + " " + playlist.GetOrderClause(db);
+ CStdString whereOrder = playlist.GetWhereClause(db, playlists) + " " + playlist.GetOrderClause(db);
CFileItemList items2;
success2 = db.GetMusicVideosByWhere("videodb://3/2/", whereOrder, items2, false); // TODO: SMARTPLAYLISTS Don't check locks???
db.Close();
diff --git a/xbmc/guilib/GUIStaticItem.h b/xbmc/guilib/GUIStaticItem.h
index 66fc49c1a3..37a9216f60 100644
--- a/xbmc/guilib/GUIStaticItem.h
+++ b/xbmc/guilib/GUIStaticItem.h
@@ -27,7 +27,7 @@
*/
#include "GUIInfoTypes.h"
-#include "../xbmc/FileItem.h"
+#include "xbmc/FileItem.h"
#include "GUIAction.h"
class TiXmlElement;
diff --git a/xbmc/input/InertialScrollingHandler.cpp b/xbmc/input/InertialScrollingHandler.cpp
index 458ad5959a..1dfe459c15 100644
--- a/xbmc/input/InertialScrollingHandler.cpp
+++ b/xbmc/input/InertialScrollingHandler.cpp
@@ -75,6 +75,11 @@ bool CInertialScrollingHandler::CheckForInertialScrolling(const CAction* action)
//on begin/tap stop all inertial scrolling
if ( action->GetID() == ACTION_GESTURE_BEGIN )
{
+ //release any former exclusive mouse mode
+ //for making switching between multiple lists
+ //possible
+ CGUIMessage message(GUI_MSG_EXCLUSIVE_MOUSE, 0, 0);
+ g_windowManager.SendMessage(message);
m_bScrolling = false;
//wakeup screensaver on pan begin
g_application.ResetScreenSaver();
diff --git a/xbmc/interfaces/Builtins.cpp b/xbmc/interfaces/Builtins.cpp
index 958692cbdf..588be8d04d 100644
--- a/xbmc/interfaces/Builtins.cpp
+++ b/xbmc/interfaces/Builtins.cpp
@@ -826,9 +826,12 @@ int CBuiltins::Execute(const CStdString& execString)
{
int oldVolume = g_application.GetVolume();
int volume = atoi(parameter.c_str());
-
- g_application.SetVolume(volume);
- g_application.getApplicationMessenger().ShowVolumeBar(oldVolume < volume);
+
+ g_application.SetVolume(volume);
+ if(oldVolume != volume)
+ {
+ g_application.getApplicationMessenger().ShowVolumeBar(oldVolume < volume);
+ }
}
else if (execute.Equals("playlist.playoffset"))
{
diff --git a/xbmc/music/windows/GUIWindowMusicBase.cpp b/xbmc/music/windows/GUIWindowMusicBase.cpp
index ec2333410a..ee5d71e850 100644
--- a/xbmc/music/windows/GUIWindowMusicBase.cpp
+++ b/xbmc/music/windows/GUIWindowMusicBase.cpp
@@ -61,6 +61,7 @@
#include "utils/TimeUtils.h"
#include "utils/log.h"
#include "utils/URIUtils.h"
+#include "video/VideoInfoTag.h"
#include "ThumbnailCache.h"
using namespace std;
diff --git a/xbmc/network/AirPlayServer.cpp b/xbmc/network/AirPlayServer.cpp
index 49f2315459..7388997fbb 100644
--- a/xbmc/network/AirPlayServer.cpp
+++ b/xbmc/network/AirPlayServer.cpp
@@ -25,6 +25,7 @@
#include <arpa/inet.h>
#include "DllLibPlist.h"
#include "utils/log.h"
+#include "utils/URIUtils.h"
#include "utils/StringUtils.h"
#include "threads/SingleLock.h"
#include "filesystem/File.h"
@@ -699,8 +700,11 @@ int CAirPlayServer::CTCPClient::ProcessRequest( CStdString& responseHeader,
{
int oldVolume = g_application.GetVolume();
volume *= 100;
- g_application.SetVolume(volume);
- g_application.getApplicationMessenger().ShowVolumeBar(oldVolume < volume);
+ if(oldVolume != (int)volume)
+ {
+ g_application.SetVolume(volume);
+ g_application.getApplicationMessenger().ShowVolumeBar(oldVolume < volume);
+ }
}
}
@@ -790,7 +794,11 @@ int CAirPlayServer::CTCPClient::ProcessRequest( CStdString& responseHeader,
if (status != AIRPLAY_STATUS_NEED_AUTH)
{
- CFileItem fileToPlay(location + "|User-Agent=AppleCoreMedia/1.0.0.8F455 (Apple†TV; U; CPU OS 4_3 like Mac OS X; de_de)", false);
+ CStdString userAgent="AppleCoreMedia/1.0.0.8F455 (AppleTV; U; CPU OS 4_3 like Mac OS X; de_de)";
+ CURL::Encode(userAgent);
+ location += "|User-Agent=" + userAgent;
+
+ CFileItem fileToPlay(location, false);
fileToPlay.SetProperty("StartPercent", position*100.0f);
g_application.getApplicationMessenger().MediaPlay(fileToPlay);
ComposeReverseEvent(reverseHeader, reverseBody, sessionId, EVENT_PLAYING);
diff --git a/xbmc/pictures/GUIWindowPictures.cpp b/xbmc/pictures/GUIWindowPictures.cpp
index c0ba078cbd..9df0347050 100644
--- a/xbmc/pictures/GUIWindowPictures.cpp
+++ b/xbmc/pictures/GUIWindowPictures.cpp
@@ -22,6 +22,7 @@
#include "threads/SystemClock.h"
#include "system.h"
#include "GUIWindowPictures.h"
+#include "URL.h"
#include "Util.h"
#include "Picture.h"
#include "Application.h"
diff --git a/xbmc/playlists/SmartPlayList.cpp b/xbmc/playlists/SmartPlayList.cpp
index f5d1ffa3a2..f99e519698 100644
--- a/xbmc/playlists/SmartPlayList.cpp
+++ b/xbmc/playlists/SmartPlayList.cpp
@@ -580,26 +580,6 @@ CStdString CSmartPlaylistRule::GetWhereClause(CDatabase &db, const CStdString& s
query = "idFile" + negate + " in (select distinct idFile from streamdetails where strSubtitleLanguage " + parameter + ")";
else if (m_field == FIELD_VIDEOASPECT)
query = "idFile" + negate + " in (select distinct idFile from streamdetails where fVideoAspect " + parameter + ")";
- else if (m_field == FIELD_PLAYLIST)
- { // playlist field - grab our playlist and add to our where clause
- CStdString playlistFile = CSmartPlaylistDirectory::GetPlaylistByName(m_parameter, strType);
- if (!playlistFile.IsEmpty())
- {
- CSmartPlaylist playlist;
- playlist.Load(playlistFile);
- CStdString playlistQuery;
- // only playlists of same type will be part of the query
- if (playlist.GetType().Equals(strType) || (playlist.GetType().Equals("mixed") && (strType == "songs" || strType == "musicvideos")) || playlist.GetType().IsEmpty())
- {
- playlist.SetType(strType);
- playlistQuery = playlist.GetWhereClause(db, false);
- }
- if (m_operator == OPERATOR_DOES_NOT_EQUAL && playlist.GetType().Equals(strType))
- query.Format("NOT (%s)", playlistQuery.c_str());
- else if (m_operator == OPERATOR_EQUALS && playlist.GetType().Equals(strType))
- query = playlistQuery;
- }
- }
if (m_field == FIELD_PLAYCOUNT && strType != "songs" && strType != "albums")
{ // playcount is stored as NULL or number in video db
if ((m_operator == OPERATOR_EQUALS && m_parameter == "0") ||
@@ -931,7 +911,7 @@ void CSmartPlaylist::AddRule(const CSmartPlaylistRule &rule)
m_playlistRules.push_back(rule);
}
-CStdString CSmartPlaylist::GetWhereClause(CDatabase &db, bool needWhere /* = true */)
+CStdString CSmartPlaylist::GetWhereClause(CDatabase &db, set<CStdString> &referencedPlaylists, bool needWhere /* = true */)
{
CStdString rule, currentRule;
for (vector<CSmartPlaylistRule>::iterator it = m_playlistRules.begin(); it != m_playlistRules.end(); ++it)
@@ -941,7 +921,33 @@ CStdString CSmartPlaylist::GetWhereClause(CDatabase &db, bool needWhere /* = tru
else if (needWhere)
rule += "WHERE ";
rule += "(";
- currentRule = (*it).GetWhereClause(db, GetType());
+ CStdString currentRule;
+ if (it->m_field == CSmartPlaylistRule::FIELD_PLAYLIST)
+ {
+ CStdString playlistFile = CSmartPlaylistDirectory::GetPlaylistByName(it->m_parameter, GetType());
+ if (!playlistFile.IsEmpty() && referencedPlaylists.find(playlistFile) == referencedPlaylists.end())
+ {
+ referencedPlaylists.insert(playlistFile);
+ CSmartPlaylist playlist;
+ playlist.Load(playlistFile);
+ CStdString playlistQuery;
+ // only playlists of same type will be part of the query
+ if (playlist.GetType().Equals(GetType()) || (playlist.GetType().Equals("mixed") && (GetType() == "songs" || GetType() == "musicvideos")) || playlist.GetType().IsEmpty())
+ {
+ playlist.SetType(GetType());
+ playlistQuery = playlist.GetWhereClause(db, referencedPlaylists, false);
+ }
+ if (playlist.GetType().Equals(GetType()))
+ {
+ if (it->m_operator == CSmartPlaylistRule::OPERATOR_DOES_NOT_EQUAL)
+ currentRule.Format("NOT (%s)", playlistQuery.c_str());
+ else
+ currentRule = playlistQuery;
+ }
+ }
+ }
+ else
+ currentRule = (*it).GetWhereClause(db, GetType());
// if we don't get a rule, we add '1' or '0' so the query is still valid and doesn't fail
if (currentRule.IsEmpty())
currentRule = m_matchAllRules ? "'1'" : "'0'";
diff --git a/xbmc/playlists/SmartPlayList.h b/xbmc/playlists/SmartPlayList.h
index 5359a62aa5..4da982b642 100644
--- a/xbmc/playlists/SmartPlayList.h
+++ b/xbmc/playlists/SmartPlayList.h
@@ -23,6 +23,7 @@
#include "utils/StdString.h"
#include "tinyXML/tinyxml.h"
#include <vector>
+#include <set>
class CDatabase;
@@ -167,7 +168,16 @@ public:
bool GetOrderAscending() const { return m_orderAscending; };
void AddRule(const CSmartPlaylistRule &rule);
- CStdString GetWhereClause(CDatabase &db, bool needWhere = true);
+
+ /*! \brief get the where clause for a playlist
+ We handle playlists inside playlists separately in order to ensure we don't introduce infinite loops
+ by playlist A including playlist B which also (perhaps via other playlists) then includes playlistA.
+
+ \param db the database to use to format up results
+ \param referencedPlaylists a set of playlists to know when we reach a cycle
+ \param needWhere whether we need to prepend the where clause with "WHERE "
+ */
+ CStdString GetWhereClause(CDatabase &db, std::set<CStdString> &referencedPlaylists, bool needWhere = true);
CStdString GetOrderClause(CDatabase &db);
const std::vector<CSmartPlaylistRule> &GetRules() const;
diff --git a/xbmc/settings/AdvancedSettings.cpp b/xbmc/settings/AdvancedSettings.cpp
index d14b1396e9..3275967a4c 100644
--- a/xbmc/settings/AdvancedSettings.cpp
+++ b/xbmc/settings/AdvancedSettings.cpp
@@ -100,6 +100,7 @@ void CAdvancedSettings::Initialize()
m_DXVACheckCompatibilityPresent = false;
m_DXVAForceProcessorRenderer = true;
m_videoFpsDetect = 1;
+ m_videoDefaultLatency = 0.0;
m_musicUseTimeSeeking = true;
m_musicTimeSeekForward = 10;
@@ -542,7 +543,6 @@ void CAdvancedSettings::ParseSettingsFile(const CStdString &file)
XMLUtils::GetInt(pElement, "fpsdetect", m_videoFpsDetect, 0, 2);
// Store global display latency settings
- m_videoDefaultLatency = 0;
TiXmlElement* pVideoLatency = pElement->FirstChildElement("latency");
if (pVideoLatency)
{
diff --git a/xbmc/video/VideoDatabase.cpp b/xbmc/video/VideoDatabase.cpp
index 451ad917f0..3442cb89e7 100644
--- a/xbmc/video/VideoDatabase.cpp
+++ b/xbmc/video/VideoDatabase.cpp
@@ -5463,13 +5463,16 @@ CStdString CVideoDatabase::GetContentForPath(const CStdString& strPath)
ScraperPtr scraper = GetScraperForPath(strPath, settings, foundDirectly);
if (scraper)
{
- if (scraper->Content() == CONTENT_TVSHOWS && !foundDirectly)
- { // check for episodes or seasons (ASSUMPTION: no episodes == seasons (i.e. assume show/season/episodes structure)
+ if (scraper->Content() == CONTENT_TVSHOWS)
+ { // check for episodes or seasons. Assumptions are:
+ // 1. if episodes are in the path then we're in episodes.
+ // 2. if no episodes are found, and content was set directly on this path, then we're in shows.
+ // 3. if no episodes are found, and content was not set directly on this path, we're in seasons (assumes tvshows/seasons/episodes)
CStdString sql = PrepareSQL("select count(1) from episodeview where strPath = '%s' limit 1", strPath.c_str());
m_pDS->query( sql.c_str() );
if (m_pDS->num_rows() && m_pDS->fv(0).get_asInt() > 0)
return "episodes";
- return "seasons";
+ return foundDirectly ? "tvshows" : "seasons";
}
return TranslateContent(scraper->Content());
}
diff --git a/xbmc/video/windows/GUIWindowVideoBase.cpp b/xbmc/video/windows/GUIWindowVideoBase.cpp
index 86aa5f3632..cb40b4918f 100644
--- a/xbmc/video/windows/GUIWindowVideoBase.cpp
+++ b/xbmc/video/windows/GUIWindowVideoBase.cpp
@@ -1153,9 +1153,7 @@ bool CGUIWindowVideoBase::OnContextButton(int itemNumber, CONTEXT_BUTTON button)
{
case CONTEXT_BUTTON_SET_CONTENT:
{
- SScanSettings settings;
- ADDON::ScraperPtr info = m_database.GetScraperForPath(item->HasVideoInfoTag() ? item->GetVideoInfoTag()->m_strPath : item->GetPath(), settings);
- OnAssignContent(item->GetPath(),0, info, settings);
+ OnAssignContent(item->HasVideoInfoTag() ? item->GetVideoInfoTag()->m_strPath : item->GetPath());
return true;
}
case CONTEXT_BUTTON_PLAY_PART:
@@ -1990,16 +1988,15 @@ bool CGUIWindowVideoBase::OnUnAssignContent(const CStdString &path, int label1,
return false;
}
-void CGUIWindowVideoBase::OnAssignContent(const CStdString &path, int iFound, ADDON::ScraperPtr& info, SScanSettings& settings)
+void CGUIWindowVideoBase::OnAssignContent(const CStdString &path)
{
bool bScan=false;
CVideoDatabase db;
db.Open();
- if (iFound == 0)
- {
- info = db.GetScraperForPath(path, settings);
- }
-
+
+ SScanSettings settings;
+ ADDON::ScraperPtr info = db.GetScraperForPath(path, settings);
+
ADDON::ScraperPtr info2(info);
if (CGUIDialogContentSettings::Show(info, settings, bScan))
@@ -2013,14 +2010,14 @@ void CGUIWindowVideoBase::OnAssignContent(const CStdString &path, int iFound, AD
if (OnUnAssignContent(path,20442,20443,20444))
bScan = true;
}
-
- db.SetScraperForPath(path,info,settings);
-
- if (bScan)
- {
- CGUIDialogVideoScan* pDialog = (CGUIDialogVideoScan*)g_windowManager.GetWindow(WINDOW_DIALOG_VIDEO_SCAN);
- if (pDialog)
- pDialog->StartScanning(path, true);
- }
+ }
+
+ db.SetScraperForPath(path,info,settings);
+
+ if (bScan)
+ {
+ CGUIDialogVideoScan* pDialog = (CGUIDialogVideoScan*)g_windowManager.GetWindow(WINDOW_DIALOG_VIDEO_SCAN);
+ if (pDialog)
+ pDialog->StartScanning(path, true);
}
}
diff --git a/xbmc/video/windows/GUIWindowVideoBase.h b/xbmc/video/windows/GUIWindowVideoBase.h
index d9168fd97d..01cda2cbb9 100644
--- a/xbmc/video/windows/GUIWindowVideoBase.h
+++ b/xbmc/video/windows/GUIWindowVideoBase.h
@@ -60,7 +60,12 @@ public:
*/
static void AppendAndClearSearchItems(CFileItemList &searchItems, const CStdString &prependLabel, CFileItemList &results);
- static void OnAssignContent(const CStdString &path, int iFound, ADDON::ScraperPtr& scraper, VIDEO::SScanSettings& settings);
+ /*! \brief Prompt the user for assigning content to a path.
+ Based on changes, we then call OnUnassignContent, update or refresh scraper information in the database
+ and optionally start a scan
+ \param path the path to assign content for
+ */
+ static void OnAssignContent(const CStdString &path);
/*! \brief checks the database for a resume position and puts together a string
\param item selected item