aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortheuni <theuni-nospam-@xbmc.org>2012-02-26 15:00:08 -0500
committertheuni <theuni-nospam-@xbmc.org>2012-02-26 15:00:08 -0500
commit831626e96a4ec5c8dbc9917d5b1e0804aabf2c59 (patch)
treef44b0c2f77b8c13f2f49062b4a2ac29988f46894
parent1fef727af39c0c6e5264ee14fe4c78f8567f035e (diff)
parentf0e48a66966833d29dd3b9393d6f85759f2768bf (diff)
Merge remote-tracking branch 'origin/master' into Eden
-rw-r--r--addons/repository.xbmc.org/addon.xml11
-rw-r--r--addons/skin.confluence/language/Korean/strings.xml2
m---------addons/skin.touched0
-rw-r--r--addons/weather.wunderground/addon.xml2
-rw-r--r--addons/weather.wunderground/changelog.txt5
-rw-r--r--addons/weather.wunderground/default.py24
-rw-r--r--addons/weather.wunderground/resources/language/Dutch/strings.xml7
-rw-r--r--addons/webinterface.default/addon.xml2
-rw-r--r--addons/xbmc.addon/addon.xml2
-rw-r--r--addons/xbmc.gui/addon.xml1
-rw-r--r--addons/xbmc.json/addon.xml2
-rw-r--r--language/Chinese (Simple)/strings.xml17
-rw-r--r--language/Dutch/strings.xml33
-rw-r--r--language/English/strings.xml4
-rw-r--r--language/French/strings.xml303
-rw-r--r--language/German/strings.xml6
-rw-r--r--language/Greek/strings.xml402
-rw-r--r--language/Hebrew/langinfo.xml11
-rw-r--r--language/Hebrew/strings.xml20
-rw-r--r--language/Italian/strings.xml17
-rw-r--r--language/Korean/strings.xml29
-rw-r--r--language/Polish/strings.xml26
-rw-r--r--language/Portuguese (Brazil)/strings.xml269
-rw-r--r--language/Russian/strings.xml546
-rw-r--r--language/Slovenian/strings.xml13
-rw-r--r--lib/UnrarXLib/os.hpp9
-rw-r--r--lib/ffmpeg/libavcodec/dvbsubdec.c10
-rw-r--r--lib/ffmpeg/libavfilter/vf_yadif.c31
-rw-r--r--lib/ffmpeg/libavfilter/x86/yadif_template.c6
-rw-r--r--lib/ffmpeg/libavfilter/yadif.h6
-rw-r--r--lib/libUPnP/Platinum/Source/Devices/MediaServer/PltMediaBrowser.h4
-rw-r--r--lib/libUPnP/Platinum/Source/Devices/MediaServer/PltSyncMediaBrowser.cpp2
-rw-r--r--lib/libid3tag/libid3tag/compat.gperf2
-rw-r--r--lib/libid3tag/libid3tag/compat2.c5
-rw-r--r--lib/libid3tag/libid3tag/metadata.c8
-rw-r--r--project/VS2010Express/XBMC.vcxproj2
-rw-r--r--project/VS2010Express/XBMC.vcxproj.filters6
-rw-r--r--tools/Linux/FEH.py2
-rw-r--r--xbmc/Application.cpp28
-rw-r--r--xbmc/FileItem.cpp2
-rw-r--r--xbmc/Util.cpp6
-rw-r--r--xbmc/addons/GUIDialogAddonSettings.cpp7
-rw-r--r--xbmc/addons/GUIWindowAddonBrowser.cpp1
-rw-r--r--xbmc/cores/AudioRenderers/ALSADirectSound.cpp10
-rw-r--r--xbmc/cores/AudioRenderers/AudioRendererFactory.cpp19
-rw-r--r--xbmc/cores/AudioRenderers/CoreAudioRenderer.cpp349
-rw-r--r--xbmc/cores/AudioRenderers/CoreAudioRenderer.h8
-rw-r--r--xbmc/cores/AudioRenderers/Win32DirectSound.cpp6
-rw-r--r--xbmc/cores/AudioRenderers/Win32WASAPI.cpp8
-rw-r--r--xbmc/cores/DllLoader/dll.cpp1
-rw-r--r--xbmc/cores/DllLoader/exports/emu_socket/emu_socket.h19
-rw-r--r--xbmc/cores/DllLoader/exports/emu_socket/getaddrinfo.c26
-rw-r--r--xbmc/cores/DllLoader/exports/emu_socket/getnameinfo.c13
-rw-r--r--xbmc/cores/VideoRenderers/RenderManager.cpp14
-rw-r--r--xbmc/cores/VideoRenderers/RenderManager.h3
-rw-r--r--xbmc/cores/VideoRenderers/VideoShaders/WinVideoFilter.cpp27
-rw-r--r--xbmc/cores/VideoRenderers/VideoShaders/WinVideoFilter.h1
-rw-r--r--xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlaySpu.h2
-rw-r--r--xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp14
-rw-r--r--xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecVDA.cpp7
-rw-r--r--xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecVideoToolBox.cpp7
-rw-r--r--xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp9
-rw-r--r--xbmc/cores/dvdplayer/DVDDemuxers/DVDDemux.h3
-rw-r--r--xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp8
-rw-r--r--xbmc/cores/dvdplayer/DVDFileInfo.cpp4
-rw-r--r--xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamFile.cpp13
-rw-r--r--xbmc/cores/dvdplayer/DVDPlayer.cpp14
-rw-r--r--xbmc/cores/dvdplayer/DVDPlayerVideo.cpp22
-rw-r--r--xbmc/cores/dvdplayer/DVDStreamInfo.cpp3
-rw-r--r--xbmc/cores/dvdplayer/DVDStreamInfo.h1
-rw-r--r--xbmc/dbwrappers/mysqldataset.cpp2
-rw-r--r--xbmc/dbwrappers/sqlitedataset.cpp2
-rw-r--r--xbmc/dialogs/GUIDialogMediaSource.cpp60
-rw-r--r--xbmc/dialogs/GUIDialogSmartPlaylistRule.cpp7
-rw-r--r--xbmc/filesystem/File.cpp7
-rw-r--r--xbmc/filesystem/SmartPlaylistDirectory.cpp17
-rw-r--r--xbmc/filesystem/UPnPDirectory.cpp16
-rw-r--r--xbmc/guilib/GUIAction.cpp2
-rw-r--r--xbmc/guilib/GUIBaseContainer.cpp5
-rw-r--r--xbmc/guilib/GUIWindow.cpp2
-rw-r--r--xbmc/guilib/Key.cpp19
-rw-r--r--xbmc/guilib/Key.h6
-rw-r--r--xbmc/interfaces/Builtins.cpp6
-rw-r--r--xbmc/interfaces/http-api/XBMChttp.cpp2
-rw-r--r--xbmc/interfaces/json-rpc/FileItemHandler.cpp4
-rw-r--r--xbmc/interfaces/json-rpc/PlayerOperations.cpp4
-rw-r--r--xbmc/interfaces/json-rpc/ServiceDescription.h6
-rw-r--r--xbmc/interfaces/json-rpc/types.json2
-rw-r--r--xbmc/interfaces/python/XBPyThread.cpp18
-rw-r--r--xbmc/interfaces/python/XBPyThread.h2
-rw-r--r--xbmc/music/karaoke/GUIWindowKaraokeLyrics.cpp3
-rw-r--r--xbmc/music/karaoke/karaokelyricscdg.cpp2
-rw-r--r--xbmc/music/tags/FlacTag.cpp3
-rw-r--r--xbmc/music/windows/GUIWindowMusicNav.cpp6
-rw-r--r--xbmc/music/windows/GUIWindowMusicPlaylistEditor.cpp3
-rw-r--r--xbmc/network/AirPlayServer.cpp25
-rw-r--r--xbmc/network/AirTunesServer.cpp3
-rw-r--r--xbmc/network/EventPacket.cpp4
-rw-r--r--xbmc/network/UPnP.cpp15
-rw-r--r--xbmc/network/cddb.cpp6
-rw-r--r--xbmc/osx/CocoaInterface.mm194
-rw-r--r--xbmc/osx/CoreAudio.cpp34
-rw-r--r--xbmc/osx/CoreAudio.h5
-rw-r--r--xbmc/peripherals/devices/Peripheral.cpp33
-rw-r--r--xbmc/peripherals/devices/Peripheral.h8
-rw-r--r--xbmc/peripherals/dialogs/GUIDialogPeripheralSettings.cpp2
-rw-r--r--xbmc/playlists/PlayListM3U.cpp6
-rw-r--r--xbmc/playlists/SmartPlayList.cpp2
-rw-r--r--xbmc/rendering/gl/RenderSystemGL.cpp3
-rw-r--r--xbmc/settings/AdvancedSettings.cpp54
-rw-r--r--xbmc/settings/AdvancedSettings.h14
-rw-r--r--xbmc/settings/Settings.cpp5
-rw-r--r--xbmc/storage/DetectDVDType.cpp24
-rw-r--r--xbmc/storage/DetectDVDType.h13
-rw-r--r--xbmc/storage/IoSupport.cpp2
-rw-r--r--xbmc/storage/MediaManager.cpp26
-rw-r--r--xbmc/storage/MediaManager.h2
-rw-r--r--xbmc/storage/windows/Win32StorageProvider.cpp40
-rw-r--r--xbmc/storage/windows/Win32StorageProvider.h15
-rw-r--r--xbmc/system.h2
-rw-r--r--xbmc/utils/LCDFactory.cpp17
-rw-r--r--xbmc/utils/URIUtils.cpp7
-rw-r--r--xbmc/utils/log.cpp2
-rw-r--r--xbmc/video/GUIViewStateVideo.cpp13
-rw-r--r--xbmc/video/VideoDatabase.cpp13
-rw-r--r--xbmc/video/VideoDatabase.h4
-rw-r--r--xbmc/video/VideoInfoScanner.cpp10
-rw-r--r--xbmc/video/VideoInfoScanner.h2
-rw-r--r--xbmc/video/windows/GUIWindowVideoBase.cpp5
-rw-r--r--xbmc/video/windows/GUIWindowVideoNav.cpp13
-rw-r--r--xbmc/visualizations/XBMCProjectM/Main.cpp9
-rw-r--r--xbmc/windowing/osx/WinEventsIOS.mm2
-rw-r--r--xbmc/windowing/windows/WinEventsWin32.cpp1
-rw-r--r--xbmc/windows/GUIMediaWindow.cpp4
-rw-r--r--xbmc/windows/GUIWindowWeather.cpp2
135 files changed, 2201 insertions, 1148 deletions
diff --git a/addons/repository.xbmc.org/addon.xml b/addons/repository.xbmc.org/addon.xml
index 1b663504b9..cf047d39ab 100644
--- a/addons/repository.xbmc.org/addon.xml
+++ b/addons/repository.xbmc.org/addon.xml
@@ -1,13 +1,16 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="repository.xbmc.org"
name="XBMC.org Add-ons"
- version="2.0.1"
+ version="2.0.3"
provider-name="Team XBMC">
+ <requires>
+ <import addon="xbmc.addon" version="11.0"/>
+ </requires>
<extension point="xbmc.addon.repository"
name="Official XBMC.org Add-on Repository">
- <info compressed="true">http://mirrors.xbmc.org/addons/eden-pre/addons.xml</info>
- <checksum>http://mirrors.xbmc.org/addons/eden-pre/addons.xml.md5</checksum>
- <datadir zip="true">http://mirrors.xbmc.org/addons/eden-pre</datadir>
+ <info compressed="true">http://mirrors.xbmc.org/addons/eden/addons.xml</info>
+ <checksum>http://mirrors.xbmc.org/addons/eden/addons.xml.md5</checksum>
+ <datadir zip="true">http://mirrors.xbmc.org/addons/eden</datadir>
<hashes>true</hashes>
</extension>
<extension point="xbmc.addon.metadata">
diff --git a/addons/skin.confluence/language/Korean/strings.xml b/addons/skin.confluence/language/Korean/strings.xml
index 2595bd0199..b0c3f4385a 100644
--- a/addons/skin.confluence/language/Korean/strings.xml
+++ b/addons/skin.confluence/language/Korean/strings.xml
@@ -108,7 +108,7 @@
<string id="31300">현재 온도</string>
<string id="31301">마지막 업데이트</string>
<string id="31302">메뉴</string>
- <string id="31303"></string>
+ <string id="31303">날씨 정보 제공</string>
<string id="31304">사진</string>
<string id="31305">디스크 미디어 감지되지 않음</string>
<string id="31306">꺼내기</string>
diff --git a/addons/skin.touched b/addons/skin.touched
-Subproject 9b6fcdbb095bc84cdf84c1fd01ff719e972cbaa
+Subproject 91cebaf2b59bff2486e5f22acb063a4c6a17d4f
diff --git a/addons/weather.wunderground/addon.xml b/addons/weather.wunderground/addon.xml
index ee79a9f304..06e5deb593 100644
--- a/addons/weather.wunderground/addon.xml
+++ b/addons/weather.wunderground/addon.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<addon id="weather.wunderground" name="Weather Underground" version="0.0.4" provider-name="Team XBMC">
+<addon id="weather.wunderground" name="Weather Underground" version="0.0.5" provider-name="Team XBMC">
<requires>
<import addon="xbmc.python" version="2.0"/>
<import addon="script.module.simplejson" version="2.0.10"/>
diff --git a/addons/weather.wunderground/changelog.txt b/addons/weather.wunderground/changelog.txt
index d4ce40b10f..62596ec82e 100644
--- a/addons/weather.wunderground/changelog.txt
+++ b/addons/weather.wunderground/changelog.txt
@@ -1,3 +1,8 @@
+v0.0.5
+- add geoip support
+- fetch 7 day forecast
+- workaround: when user switches weather addon, xbmc may call the script with a location id that has not been setup. try to fallback to id 1 in this case.
+
v0.0.4
- don't fetch weather when no locations are set up
- fix incrementing values on each weather refresh when no locations are set up
diff --git a/addons/weather.wunderground/default.py b/addons/weather.wunderground/default.py
index c00e6d3ac6..86d07c70a0 100644
--- a/addons/weather.wunderground/default.py
+++ b/addons/weather.wunderground/default.py
@@ -28,8 +28,10 @@ from utilities import *
LOCATION_URL = 'http://autocomplete.wunderground.com/aq?query=%s&format=JSON'
WEATHER_URL = 'http://api.wunderground.com/api/%s/conditions/forecast7day/hourly%s.json'
+GEOIP_URL = 'http://api.wunderground.com/api/%s/geolookup/q/autoip.json'
A_I_K = 'NDEzNjBkMjFkZjFhMzczNg=='
WEATHER_WINDOW = xbmcgui.Window(12600)
+MAXDAYS = 6
socket.setdefaulttimeout(10)
@@ -82,6 +84,16 @@ def location(string):
locid.append(locationid)
return loc, locid
+def geoip():
+ data = fetch(GEOIP_URL % aik[::-1])
+ if data != '' and data.has_key('location'):
+ location = data['location']['l']
+ __addon__.setSetting('Location1', data['location']['city'])
+ __addon__.setSetting('Location1id', location)
+ else:
+ location = ''
+ return location
+
def forecast(city):
data = fetch(WEATHER_URL % (aik[::-1], city))
if data != '':
@@ -108,7 +120,7 @@ def properties(query):
set_property('Day%i.Outlook' % count, item['conditions'])
set_property('Day%i.OutlookIcon' % count, '%s.png' % weathercode)
set_property('Day%i.FanartCode' % count, weathercode)
- if count == 3:
+ if count == MAXDAYS:
break
if sys.argv[1].startswith('Location'):
@@ -129,9 +141,12 @@ if sys.argv[1].startswith('Location'):
else:
location = __addon__.getSetting('Location%sid' % sys.argv[1])
aik = base64.b64decode(A_I_K)
+ if (location == '') and (sys.argv[1] != '1'):
+ location = __addon__.getSetting('Location1id')
+ if location == '':
+ location = geoip()
if not location == '':
forecast(location)
- refresh_locations()
else:
# workaround to fix incrementing values on each weather refresh when no locations are set up:
set_property('Current.Condition' , 'N/A')
@@ -144,14 +159,13 @@ else:
set_property('Current.DewPoint' , '0')
set_property('Current.OutlookIcon' , 'na.png')
set_property('Current.FanartCode' , 'na')
- for count in range (0, 3):
+ for count in range (0, MAXDAYS):
set_property('Day%i.Title' % count, 'N/A')
set_property('Day%i.HighTemp' % count, '0')
set_property('Day%i.LowTemp' % count, '0')
set_property('Day%i.Outlook' % count, 'N/A')
set_property('Day%i.OutlookIcon' % count, 'na.png')
set_property('Day%i.FanartCode' % count, 'na')
- # workaround to stop xbmc from running the script in a loop when no locations are set up:
- set_property('Locations', '1')
+refresh_locations()
set_property('WeatherProvider', 'Weather Underground')
diff --git a/addons/weather.wunderground/resources/language/Dutch/strings.xml b/addons/weather.wunderground/resources/language/Dutch/strings.xml
new file mode 100644
index 0000000000..ad380a7fd7
--- /dev/null
+++ b/addons/weather.wunderground/resources/language/Dutch/strings.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<strings>
+ <string id="30101">Plaatsen Instellen</string>
+ <string id="30111">Wijzig plaats 1</string>
+ <string id="30112">Wijzig plaats 2</string>
+ <string id="30113">Wijzig plaats 3</string>
+</strings>
diff --git a/addons/webinterface.default/addon.xml b/addons/webinterface.default/addon.xml
index a81b2b8791..6ec7e7295e 100644
--- a/addons/webinterface.default/addon.xml
+++ b/addons/webinterface.default/addon.xml
@@ -6,7 +6,7 @@
provider-name="Team XBMC">
<requires>
<import addon="xbmc.gui" version="3.00"/>
- <import addon="xbmc.json" version="2.00"/>
+ <import addon="xbmc.json" version="4.00"/>
</requires>
<extension
point="xbmc.gui.webinterface"/>
diff --git a/addons/xbmc.addon/addon.xml b/addons/xbmc.addon/addon.xml
index ac9a69a3f9..ce7f05ac5b 100644
--- a/addons/xbmc.addon/addon.xml
+++ b/addons/xbmc.addon/addon.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<addon id="xbmc.addon" version="1.0" provider-name="Team XBMC">
+<addon id="xbmc.addon" version="11.0" provider-name="Team XBMC">
<requires>
<import addon="xbmc.core" version="0.1"/>
</requires>
diff --git a/addons/xbmc.gui/addon.xml b/addons/xbmc.gui/addon.xml
index 8907583e30..cdc1fc0a05 100644
--- a/addons/xbmc.gui/addon.xml
+++ b/addons/xbmc.gui/addon.xml
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<addon id="xbmc.gui" version="3.00" provider-name="Team XBMC">
- <backwards-compatibility abi="2.1"/>
<requires>
<import addon="xbmc.core" version="0.1"/>
</requires>
diff --git a/addons/xbmc.json/addon.xml b/addons/xbmc.json/addon.xml
index 5632135ae4..fb561191d1 100644
--- a/addons/xbmc.json/addon.xml
+++ b/addons/xbmc.json/addon.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<addon id="xbmc.json" version="2.0" provider-name="Team XBMC">
+<addon id="xbmc.json" version="4.0" provider-name="Team XBMC">
<requires>
<import addon="xbmc.core" version="0.1"/>
</requires>
diff --git a/language/Chinese (Simple)/strings.xml b/language/Chinese (Simple)/strings.xml
index 6627bfdea6..bc74e24472 100644
--- a/language/Chinese (Simple)/strings.xml
+++ b/language/Chinese (Simple)/strings.xml
@@ -1768,7 +1768,7 @@
<string id="20326">这个操作会重新校准%s的配置</string>
<string id="20327">还原为初时配置</string>
<string id="20328">选择指定位置</string>
-
+ <string id="20329">电影在以片名命名的单独目录中</string>
<string id="20330">以文件夹名来查找</string>
<string id="20331">文件</string>
<string id="20332">用文件夹名或文件名进行查找?</string>
@@ -1858,7 +1858,7 @@
<string id="20416">最初发表</string>
<string id="20417">编剧</string>
<string id="20418"></string>
- <string id="20419">文件视图显示媒体标识信息</string>
+ <string id="20419">用资料库标题替换文件名</string>
<string id="20420">从不</string>
<string id="20421">如果只有一季</string>
@@ -1898,6 +1898,7 @@
<string id="20455">听众</string>
<string id="20456">设置影片集同人画</string>
<string id="20457">影片集</string>
+ <string id="20458">电影按影片集分组</string>
<!-- up to 21329 is reserved for the video db !! !-->
<string id="21330">显示隐藏文件和目录</string>
@@ -2005,6 +2006,8 @@
<string id="21451">需要访问互联网。</string>
<string id="21452">获取更多...</string>
<string id="21453">根文件系统</string>
+ <string id="21454">缓存满</string>
+ <string id="21455">缓存在达到连续播放所需数量之前已满</string>
<string id="21460">字幕位置</string>
<string id="21461">固定</string>
@@ -2325,6 +2328,8 @@
<string id="33102">事件服务器</string>
<string id="33103">远程通信服务器</string>
+ <string id="33200">检测到新的连接</string>
+
<!-- translators: no need to add these to your language files -->
<string id="34000">Lame</string>
<string id="34001">Vorbis</string>
@@ -2349,6 +2354,14 @@
<string id="34201">未找到下一播放项目</string>
<string id="34202">未找到上一播放项目</string>
+ <string id="34300">启动 zeroconf 失败</string>
+ <string id="34301">Apple 的 Bonjour 服务是否已安装?更多信息见日志记录。</string>
+
+ <string id="34400">视频渲染</string>
+ <string id="34401">视频滤镜/缩放器初始化失败,使用双线性缩放</string>
+ <string id="34402">音频设备初始化失败</string>
+ <string id="34403">检查你的音频设置</string>
+
<string id="35000">外部设备</string>
<string id="35001">通用 HID 设备</string>
diff --git a/language/Dutch/strings.xml b/language/Dutch/strings.xml
index e118f588a6..0d5f642b18 100644
--- a/language/Dutch/strings.xml
+++ b/language/Dutch/strings.xml
@@ -877,8 +877,11 @@
<string id="10020">Scripts</string>
<string id="10021">Webbrowser</string>
+ <string id="10025">Video's</string>
<string id="10028">Video/Afspeellijst</string>
+ <string id="10029">Aanmeld scherm</string>
<string id="10034">Instellingen - Profielen</string>
+ <string id="10040">Addon verkenner</string>
<string id="10100">Ja/Nee</string>
<string id="10101">Voortgang</string>
@@ -1648,10 +1651,10 @@
<string id="20109">- Verschalen </string>
<string id="20110">UPnP-client</string>
<string id="20111">Automatisch starten</string>
- <string id="20112">Vorige login: %s</string>
+ <string id="20112">Vorige aanmelding: %s</string>
<string id="20113">Nog nooit ingelogd</string>
<string id="20114">Profiel %i / %i</string>
- <string id="20115">Gebruikerslogin / Selecteer een profiel</string>
+ <string id="20115">Gebruikersaanmelding / Selecteer een profiel</string>
<string id="20116">Inlogscherm vergrendelen</string>
<string id="20117">Ongeldige vergrendelcode.</string>
<string id="20118">Dit vereist een actieve hoofdvergrendeling.</string>
@@ -1742,7 +1745,7 @@
<string id="20252">Glazen vullen (video's)</string>
<string id="20253">WebDAV-server (HTTP)</string>
<string id="20254">WebDAV-server (HTTPS)</string>
- <string id="20255">Eerste login, profiel bijwerken</string>
+ <string id="20255">Eerste aanmelding, profiel bijwerken</string>
<string id="20256">HTS tvheadend client</string>
<string id="20257">VDR streamdev client</string>
<string id="20258">MythTV client</string>
@@ -1772,7 +1775,7 @@
<string id="20326">Dit zet de kalibratiewaarden voor %s</string>
<string id="20327">terug naar de standaardwaarden.</string>
<string id="20328">een locatie om naar te kopiëren</string>
-
+ <string id="20329">Films staan in aparte folders die overeenkomen met de film titel</string>
<string id="20330">Gebruik mapnamen bij zoeken</string>
<string id="20331">Bestand</string>
<string id="20332">Ook in bestands- of mapnamen zoeken?</string>
@@ -1862,7 +1865,7 @@
<string id="20416">Eerst uitgez.</string>
<string id="20417">Schrijver</string>
<string id="20418"></string>
- <string id="20419">Laat metadata zien in bestandslayout</string>
+ <string id="20419">Vervang bestandsnamen met bibliotheek titels</string>
<string id="20420">Nooit</string>
<string id="20421">Alleen indien &#xe9;&#xe9;n seizoen</string>
@@ -1902,6 +1905,7 @@
<string id="20455">Luisteraars</string>
<string id="20456">Kies filmset fanart</string>
<string id="20457">Filmsets</string>
+ <string id="20458">Groepeer films in sets</string>
<!-- up to 21329 is reserved for the video db !! !-->
<string id="21330">Verborgen bestanden en mappen weergeven</string>
@@ -1971,7 +1975,7 @@
<string id="21414">Standaard tv-serie scraper</string>
<string id="21415">Standaard muziekvideo scraper</string>
<string id="21416">Alternatieven toestaan op basis van originele scraper taal</string>
- <string id="21417">- Instellingen schermbeveiliging</string>
+ <string id="21417">- Instellingen</string>
<string id="21418">Meertalig</string>
<string id="21419">Geen scrapers beschikbaar</string>
<string id="21420">Waarde gelijk aan</string>
@@ -2009,6 +2013,9 @@
<string id="21452">Add-ons installeren</string>
<string id="21453">Rootbestandsysteem</string>
+ <string id="21454">Cache is vol</string>
+ <string id="21455">Cache is vol voordat benodigde hoeveelheid is bereikt voor continu afspelen</string>
+
<string id="21460">Plaats van de ondertitels</string>
<string id="21461">Vast</string>
<string id="21462">Onderaan video</string>
@@ -2326,6 +2333,8 @@
<string id="33102">Event Server</string>
<string id="33103">Remote communication server</string>
+ <string id="33200">Detecteer nieuwe verbinding</string>
+
<!-- translators: no need to add these to your language files -->
<string id="34000">Lame</string>
<string id="34001">Vorbis</string>
@@ -2349,7 +2358,15 @@
<string id="34201">Kan volgende item niet vinden om af te spelen</string>
<string id="34202">Kan vorige item niet vinden om af te spelen</string>
-
+
+ <string id="34300">Niet gelukt om zeroconf te starten</string>
+ <string id="34301">Is Apple's Bonjour Service geinstalleerd? Zie log voor meer info.</string>
+ <string id="34400">Video Rendering</string>
+ <string id="34401">Niet gelukt om video filters/scalers initialiseren, terugvallen naar bilinear scaling</string>
+ <string id="34402"></string>
+ <string id="34402">Niet gelukt om audio apparaat te initialiseren</string>
+ <string id="34403">Controleer je audio-instellingen</string>
+
<string id="35000">Randapparatuur</string>
<string id="35001">Generiek HID apparaat</string>
@@ -2386,4 +2403,4 @@
<string id="36016">Verbonden</string> <!-- max. 13 characters -->
<string id="36017">Adapter gevonden, maar libcec is niet beschikbaar</string>
<string id="36018">Gebruik de taalinstelling van de TV</string>
-</strings> \ No newline at end of file
+</strings>
diff --git a/language/English/strings.xml b/language/English/strings.xml
index 323b45aa61..ca2ac4dbba 100644
--- a/language/English/strings.xml
+++ b/language/English/strings.xml
@@ -874,9 +874,11 @@
<string id="10019">Settings - Appearance</string>
<string id="10020">Scripts</string>
<string id="10021">Web Browser</string>
-
+ <string id="10025">Videos</string>
<string id="10028">Videos/Playlist</string>
+ <string id="10029">Login screen</string>
<string id="10034">Settings - Profiles</string>
+ <string id="10040">Addon browser</string>
<string id="10100">Yes/No dialog</string>
<string id="10101">Progress dialog</string>
diff --git a/language/French/strings.xml b/language/French/strings.xml
index 20a403c1ee..b9075ae062 100644
--- a/language/French/strings.xml
+++ b/language/French/strings.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<!--$Revision$-->
+<!--Based on English 0ee1ef09238e4d913cf6c47fa18138c3654cd33e (08.02.2012)-->
<strings>
<string id="0">Programmes</string>
<string id="1">Images</string>
@@ -11,7 +11,7 @@
<string id="7">Fichiers</string>
<string id="8">Météo</string>
<string id="9">Xbmc media center</string>
-
+
<string id="11">Lundi</string>
<string id="12">Mardi</string>
<string id="13">Mercredi</string>
@@ -19,7 +19,7 @@
<string id="15">Vendredi</string>
<string id="16">Samedi</string>
<string id="17">Dimanche</string>
-
+
<string id="21">Janvier</string>
<string id="22">Février</string>
<string id="23">Mars</string>
@@ -32,7 +32,7 @@
<string id="30">Octobre</string>
<string id="31">Novembre</string>
<string id="32">Décembre</string>
-
+
<string id="41">Lun</string>
<string id="42">Mar</string>
<string id="43">Mer</string>
@@ -40,7 +40,7 @@
<string id="45">Ven</string>
<string id="46">Sam</string>
<string id="47">Dim</string>
-
+
<string id="51">Jan</string>
<string id="52">Fev</string>
<string id="53">Mar</string>
@@ -53,7 +53,7 @@
<string id="60">Oct</string>
<string id="61">Nov</string>
<string id="62">Dec</string>
-
+
<string id="71">N</string>
<string id="72">NNE</string>
<string id="73">NE</string>
@@ -71,7 +71,7 @@
<string id="85">NO</string>
<string id="86">NNO</string>
<string id="87">VAR</string>
-
+
<string id="98">Vue : Auto</string>
<string id="99">Vue : Auto Grand</string>
<string id="100">Vue : Icônes</string>
@@ -88,7 +88,7 @@
<string id="111">Raccourcis</string>
<string id="112">PAUSE</string>
<string id="113">Echec Mise-à-jour</string>
- <string id="114">Echec Installation</string>
+ <string id="114">Echec Installation</string>
<string id="115">Copier</string>
<string id="116">Déplacer</string>
<string id="117">Effacer</string>
@@ -144,13 +144,13 @@
<string id="169">Résolution</string>
<string id="170">Ajuster le taux de rafraîchissement sur la vidéo</string>
-
+
<string id="172">Version du</string>
<string id="173">Affichage 4:3</string>
-
+
<string id="175">Sonorités</string>
<string id="176">Styles</string>
-
+
<string id="179">Chanson</string>
<string id="180">Durée</string>
<string id="181">Sélectionner un album</string>
@@ -172,10 +172,10 @@
<string id="197">Demande d'info sur %s</string>
<string id="198">Chargement des détails du film</string>
<string id="199">Interface Web</string>
-
+
<string id="202">Critiques</string>
<string id="203">Intrigue</string>
-
+
<string id="205">Votes</string>
<string id="206">Casting</string>
<string id="207">Résumé</string>
@@ -193,7 +193,7 @@
<string id="221">Le réseau n'est pas connecté</string>
<string id="222">Annuler</string>
<string id="224">Vitesse</string>
-
+
<string id="225">Hauteur de l'image</string>
<string id="226">Afficher la mire...</string>
<string id="227">Rechercher le nom des pistes CD Audio sur freedb.org</string>
@@ -215,7 +215,7 @@
<string id="243">Taux de rafraîchissement</string>
<string id="244">Plein écran</string>
<string id="245">Sizing : (%i,%i)->(%i,%i) (Zoom x%2.2f) AR :%2.2f :1 (Pixels : %2.2f :1)</string>
-
+
<string id="247">Scripts</string>
<string id="248">Langue</string>
<string id="249">Musique</string>
@@ -380,7 +380,7 @@
<string id="418">Min.</string>
<string id="419">Max.</string>
<string id="420">HDMI</string>
-
+
<string id="422">Supprimer les infos album</string>
<string id="423">Supprimer les infos CD</string>
<string id="424">Valider</string>
@@ -394,7 +394,7 @@
<string id="432">Retirer le film de la médiathèque</string>
<string id="433">Êtes-vous sûr(e) de retirer '%s' ?</string>
<string id="434">%s à %i %s</string> <!--From <wind dir.> at <speed> <unit>-->
-
+
<string id="437">Disque amovible</string>
<string id="438">Ouverture du fichier</string>
<string id="439">Cache</string>
@@ -438,7 +438,7 @@
<string id="480">Apparence</string>
<string id="481">Options Audio</string>
<string id="482">À propos de XBMC</string>
-
+
<string id="485">Supprimer l'album</string>
<string id="486">Répéter</string>
<string id="487">Répéter une fois</string>
@@ -466,7 +466,7 @@
<string id="513">Accueil</string>
<string id="514">Configuration manuelle</string>
<string id="515">Genre</string>
-
+
<string id="517">Albums récemment joués</string>
<string id="518">Lancer</string>
<string id="519">Lancer en...</string>
@@ -499,7 +499,7 @@
<string id="546">Passthrough vers le périphérique de sortie</string>
<string id="547">Pas de biographie pour cet artiste</string>
<string id="548">Dé-multiplexer l'audio multi-canal en stéréo</string>
-
+
<string id="550">Trier par : %s</string>
<string id="551">Nom</string>
<string id="552">Date</string>
@@ -525,8 +525,9 @@
<string id="572">Studio</string>
<string id="573">Chemin</string>
<string id="574">Pays</string>
- <string id="575">En cours</string>
-
+ <string id="575">En cours</string>
+ <string id="576">Nombre de Lectures</string>
+
<string id="580">Direction du tri</string>
<string id="581">Méthode du tri</string>
<string id="582">Mode de vue</string>
@@ -545,22 +546,22 @@
<string id="595">Répéter : Non</string>
<string id="596">Répéter : Une fois</string>
<string id="597">Répéter : Tous</string>
-
+
<string id="600">Importer le CD</string>
<string id="601">Moyenne</string>
<string id="602">Standard</string>
<string id="603">Excellente</string>
<string id="604">Débit constant</string>
<string id="605">Importation en cours...</string>
-
+
<string id="607">Destination :</string>
<string id="608">Impossible d'importer le CD ou la piste</string>
<string id="609">Le chemin CDDA d'importation n'est pas défini.</string>
<string id="610">Importer une piste audio</string>
<string id="611">Entrer le numéro</string>
<string id="612">Bits/Sample</string>
- <string id="613">Fréquence d'échantillonage</string>
-
+ <string id="613">Fréquence d'échantillonage</string>
+
<string id="620">CDs audio</string>
<string id="621">Encodeur</string>
<string id="622">Qualité</string>
@@ -598,26 +599,26 @@
<string id="657">Recherche d'un dossier</string>
<string id="658">Information de la chanson</string>
<string id="659">Etirement non-linéaire</string>
-
+
<string id="660">Volume d'amplification</string>
<string id="661">Choisissez le dossier d'exportation</string>
<string id="662">Ce fichier n'est plus disponible.</string>
<string id="663">Souhaitez-vous le supprimer de la médiathèque ?</string>
<string id="664">Rechercher un script</string>
<string id="665">Niveau de compression</string>
-
+
<string id="700">Nettoyage de la médiathèque</string>
<string id="701">Suppression des anciens morceaux de la médiathèque</string>
<string id="702">Ce dossier a déjà été scanné</string>
<string id="705">Réseau</string>
<string id="706">- Serveur</string>
-
+
<string id="708">Utiliser un serveur proxy HTTP pour accéder à internet</string>
-
+
<string id="711">Protocole Internet (IP)</string>
<string id="712">Port spécifié invalide. Doit être compris entre 1 et 65535.</string>
<string id="713">Proxy HTTP</string>
-
+
<string id="715">- Attribution</string>
<string id="716">Automatique (DHCP)</string>
<string id="717">Manuelle (Statique)</string>
@@ -655,12 +656,12 @@
<string id="749">Retourner l'image</string>
<string id="750">Êtes-vous sûr(e) ?</string>
<string id="751">Supprimer la source</string>
-
+
<string id="754">Ajouter un lien programme</string>
<string id="755">Éditer le chemin du programme</string>
<string id="756">Éditer le nom du programme</string>
<string id="757">Éditer la profondeur du chemin</string>
-
+
<string id="759">Vue : Grande liste</string>
<string id="760">Jaune</string>
<string id="761">Blanc</string>
@@ -692,7 +693,7 @@
<string id="787">Interface désactivée</string>
<string id="788">L'interface réseau a été désactivée avec succès.</string>
<string id="789">Nom réseau sans fil (ESSID)</string>
-
+
<string id="791">Autoriser le contrôle de XBMC par des programmes locaux</string>
<string id="792">Port</string>
<string id="793">Port série</string>
@@ -701,11 +702,11 @@
<string id="796">Délai répétition continue (ms)</string>
<string id="797">Nombre maximum de clients</string>
<string id="798">Accès Internet</string>
-
+
<string id="850">Numéro de port invalide</string>
<string id="851">Port valide compris entre 1-65535</string>
<string id="852">Port valide compris entre 1024-65535</string>
-
+
<string id="998">Ajouter une source musicale...</string>
<string id="999">Ajouter une source vidéo...</string>
<string id="1000">- Prévisualiser</string>
@@ -713,7 +714,7 @@
<string id="1002">XBMC ne peut pas se connecter au chemin réseau.</string>
<string id="1003">Vérifiez votre chemin ou votre installation réseau.</string>
<string id="1004">Désirez-vous tout de même l'ajouter ?</string>
-
+
<string id="1006">Adresse IP</string>
<string id="1007">Ajouter un chemin réseau</string>
<string id="1008">Protocole</string>
@@ -760,15 +761,15 @@
<string id="1049">Paramètres du Script</string>
<string id="1050">Singles</string>
<string id="1051">Entrez l'adresse web</string>
-
+
<string id="1200">Client SMB</string>
<string id="1202">Groupe de travail</string>
<string id="1203">Utilisateur par défaut</string>
<string id="1204">Mot de passe par défaut</string>
-
+
<string id="1207">Serveur WINS</string>
<string id="1208">Monter les partages SMB</string>
-
+
<string id="1210">Supprimer</string>
<string id="1211">Musique</string>
<string id="1212">Vidéo</string>
@@ -797,20 +798,20 @@
<string id="1250">Auto-détection</string>
<string id="1251">Auto-détection du système</string>
<string id="1252">Pseudo</string>
-
+
<string id="1254">Demander pour se connecter</string>
<string id="1255">Envoyer les Mot de Passe et Nom d'Utilisateur FTP</string>
<string id="1256">Temps de réponse (ping)</string>
<string id="1257">Souhaitez-vous vous connecter à l'auto-détection du système ?</string>
-
+
<string id="1260">Annoncer ces services à d'autres systèmes via Zéroconf</string>
<string id="1270">Autoriser XBMC à recevoir du contenu AirPlay</string>
<string id="1271">Nom du dispositif</string>
<string id="1272">- Protection par mot de passe</string>
-
+
<string id="1300">Personnaliser le périphérique audio</string>
<string id="1301">Personnaliser le périphérique passthrough</string>
-
+
<string id="1396">Dérivant</string>
<string id="1397">et</string>
<string id="1398">gelant</string>
@@ -838,7 +839,7 @@
<string id="1420">Modéré</string>
<string id="1421">Très Fort</string>
<string id="1422">Venteux</string>
- <string id="1423">Brouillard</string>
+ <string id="1423">Brouillard</string>
<!-- strings through to 1450 reserved for weather translation -->
@@ -846,12 +847,12 @@
<!-- strings through to 1470 reserved for power-saving -->
<string id="2050">Durée</string>
-
+
<string id="2100">Échec du script ! : %s</string>
<string id="2101">Nouvelle version requise - Voir le log</string>
-
+
<string id="4501">Activer LCD/VFD</string>
-
+
<string id="10000">Accueil</string>
<string id="10001">Programmes</string>
<string id="10002">Images</string>
@@ -874,19 +875,21 @@
<string id="10019">Paramètres - Apparence</string>
<string id="10020">Scripts</string>
<string id="10021">Navigateur</string>
-
+ <string id="10025">Vidéos</string>
<string id="10028">Vidéos/Playliste</string>
+ <string id="10029">Écran de connexion</string>
<string id="10034">Paramètres - Profils</string>
-
+ <string id="10040">Gestionnaire d'add-ons</string>
+
<string id="10100">Dialogues Oui/Non</string>
<string id="10101">Dialogues Progression</string>
-
+
<string id="10210">Recherche de sous-titres...</string>
<string id="10211">Recherche de sous-titres mis en cache...</string>
<string id="10212">Finalisation</string>
<string id="10213">Mise en cache</string>
<string id="10214">Ouverture du flux</string>
-
+
<string id="10500">Musique/Playliste</string>
<string id="10501">Musique/Fichiers</string>
<string id="10502">Musique/Médiathèque</string>
@@ -899,14 +902,14 @@
<string id="10509">Jeux en réseau</string>
<string id="10510">Extensions</string>
<string id="10511">Infos Système</string>
-
+
<string id="10516">Musique - Médiath.</string>
<string id="10517">Musique - Lecture en cours</string>
-
+
<string id="10522">Vidéos - Lecture en cours</string>
<string id="10523">Infos Album</string>
<string id="10524">Infos Film</string>
-
+
<string id="12000">Choisir un dialogue</string>
<string id="12001">Musique/info</string>
<string id="12002">Dialogues OK</string>
@@ -914,7 +917,7 @@
<string id="12004">Scripts/Info</string>
<string id="12005">Vidéo plein écran</string>
<string id="12006">Visualisation audio</string>
-
+
<string id="12008">Dialogue empiler fichiers</string>
<string id="12009">Reconstruire l'index...</string>
<string id="12010">Revenir à l'écran musique</string>
@@ -922,7 +925,7 @@
<string id="12021">Reprendre depuis le début</string>
<string id="12022">Reprendre à partir de %s</string>
-
+
<string id="12310">0</string>
<string id="12311">1</string>
<string id="12312">2</string>
@@ -977,19 +980,19 @@
<string id="12384">Horloge 24 Heures</string>
<string id="12385">Jour/Mois</string>
<string id="12386">Mois/Jour</string>
-
+
<string id="12390">Système démarré depuis</string>
<string id="12391">minutes</string>
<string id="12392">heures</string>
<string id="12393">jours</string>
<string id="12394">Temps de fonctionnement total</string>
<string id="12395">Niveau de batterie</string>
-
+
<string id="12600">Météo</string>
-
+
<string id="12900">Écran de veille</string>
<string id="12901">Réglages plein écran</string>
-
+
<string id="13000">Système</string>
<string id="13001">Ralentissement immédiat du DD</string>
<string id="13002">Vidéo seulement</string>
@@ -1006,14 +1009,14 @@
<string id="13014">Minimiser</string>
<string id="13015">Action du bouton Power</string>
<string id="13016">Arrêt du système</string>
-
+
<string id="13020">Une autre session est en cours, peut être en ssh ?</string>
<string id="13021">Disque dur externe monté</string>
<string id="13022">Déconnexion non sécurisée du périphérique</string>
<string id="13023">Périphérique déconnecté avec succès</string>
<string id="13024">Manette connectée</string>
<string id="13025">Manette déconnectée</string>
-
+
<string id="13050">Batterie faible</string>
<string id="13100">Filtre de scintillement</string>
@@ -1026,12 +1029,12 @@
<string id="13109">Tester &amp; appliquer la résolution</string>
<string id="13110">Appliquer cette résolution ?</string>
<string id="13111">Voulez-vous garder cette résolution ?</string>
-
+
<string id="13112">Upscaling Haute Qualité</string>
<string id="13113">Désactivé</string>
<string id="13114">Activé pour contenu SD</string>
<string id="13115">Toujours activé</string>
-
+
<string id="13116">Méthode d'Upscaling</string>
<string id="13117">Bicubique</string>
<string id="13118">Lanczos</string>
@@ -1039,31 +1042,31 @@
<string id="13120">VDPAU</string>
<string id="13121">VDPAU niveau Upscaling HQ</string>
<string id="13122">VDPAU niveau Studio conversion des couleurs</string>
-
+
<string id="13130">Vider les autres écrans</string>
<string id="13131">Désactivé</string>
<string id="13132">Activer Blanking</string>
-
+
<string id="13140">Connexions actives détectées !</string>
<string id="13141">Si vous continuez vous ne serez plus en mesure de</string>
<string id="13142"> contrôler XBMC. Etes-vous sur d'arréter le serveur ?</string>
-
+
<string id="13144">Changer le mode Apple Remote ?</string>
<string id="13145">Si vous utilisez actuellement la télécommande Apple pour contrôler</string>
<string id="13146">XBMC, le changement de ce paramètre peut affecter la capacité</string>
<string id="13147">à contrôler celui-ci. Effectuer la modification ?</string>
-
+
<string id="13159">Masque de sous-réseau</string>
<string id="13160">Passerelle</string>
<string id="13161">DNS Primaire</string>
<string id="13162">Échec lors de l'initialisation</string>
-
+
<string id="13170">Jamais</string>
<string id="13171">Immédiatement</string>
<string id="13172">Après %i secs</string>
<string id="13173">HDD Installé le :</string>
<string id="13174">HDD Nb. de cycles marche/arrêt complets :</string>
-
+
<string id="13200">Profils</string>
<string id="13201">Supprimer le profil '%s' ?</string>
<string id="13204">Dernier profil chargé</string>
@@ -1076,16 +1079,16 @@
<string id="13212">Annulé avec %im%is restantes</string>
<string id="13213">%2.0fm</string> <!--minutes (left from countdown)-->
<string id="13214">%2.0fs</string> <!--seconds (left from countdown)-->
-
+
<string id="13249">Recherche de sous-titres dans les RARs</string>
<string id="13250">Recherche d'un sous-titre...</string>
<string id="13251">Déplacer</string>
<string id="13252">Déplacer ici</string>
<string id="13253">Annuler le déplacement</string>
-
+
<string id="13270">Matériel :</string>
<string id="13271">Utilisation CPU :</string>
-
+
<string id="13274">Connecté, mais aucun DNS disponible.</string>
<string id="13275">Disque Dur</string>
<string id="13276">DVD-ROM</string>
@@ -1094,7 +1097,7 @@
<string id="13279">Réseau</string>
<string id="13280">Vidéo</string>
<string id="13281">Matériel</string>
-
+
<string id="13283">Système d'exploitation :</string>
<string id="13284">Vitesse du CPU :</string>
@@ -1228,7 +1231,7 @@
<string id="13430">Activer l'accélération matérielle (OpenMax)</string>
<string id="13431">Pixel Shaders</string>
<string id="13432">Autoriser l'accélération matérielle (VideoToolbox)</string>
-
+
<string id="13500">Méthode de synchro. A/V</string>
<string id="13501">Horloge audio</string>
<string id="13502">Horloge vidéo (Drop/Dupe audio)</string>
@@ -1245,20 +1248,20 @@
<string id="13551">Off</string>
<string id="13552">%.1f Seconde</string>
<string id="13553">%.1f Secondes</string>
-
+
<string id="13600">Télécommande Apple</string>
-
+
<string id="13602">Permettre le démarrage de XBMC par la télécommande</string>
<string id="13603">Temps de délai de séquence</string>
-
+
<string id="13610">Désactivé</string>
<string id="13611">Standard</string>
<string id="13612">Télécommande universelle</string>
<string id="13613">Télécommande multiple (Harmony)</string>
-
+
<string id="13620">Erreur Apple Remote.</string>
<string id="13621">Le support de la télécommande Apple ne peut être activé.</string>
-
+
<string id="14000">Empiler</string>
<string id="14001">Dépiler</string>
<string id="14003">Téléchargement de la playliste...</string>
@@ -1266,7 +1269,7 @@
<string id="14005">Scan de la liste des flux...</string>
<string id="14006">Échec du téléchargement de la liste des flux</string>
<string id="14007">Échec du téléchargement de la playliste</string>
-
+
<string id="14009">Répertoire des jeux</string>
<string id="14010">Basculement des vignettes basées sur</string>
<string id="14011">Activer le basculement</string>
@@ -1293,12 +1296,12 @@
<string id="14034">Cache DVD - DVDRom</string>
<string id="14035">- Réseau Local</string>
<string id="14036">Services</string>
-
+
<string id="14038">Les paramètres réseau ont été changés</string>
<string id="14039">Vous venez de modifier les paramètres réseau.</string>
<string id="14040">Redémarrer XBMC pour appliquer les changements ?</string>
<string id="14041">Limiter la bande passante de la connexion Internet</string>
-
+
<string id="14043">- Eteindre pendant la lecture</string>
<string id="14044">%i min</string>
<string id="14045">%i sec</string>
@@ -1310,7 +1313,7 @@
<string id="14051">Format de l'heure</string>
<string id="14052">Format de la date</string>
<string id="14053">Filtres Interface</string>
-
+
<string id="14055">Utiliser le scan en tâche de fond</string>
<string id="14056">Stopper le scan</string>
<string id="14057">Impossible d'afficher les infos lors du scan</string>
@@ -1328,7 +1331,7 @@
<string id="14069">Voulez-vous appliquer cette configuration ?</string>
<string id="14070">Appliquer les changements maintenant</string>
<string id="14071">Permettre de renommer et supprimer</string>
-
+
<string id="14074">Définir le fuseau horaire</string>
<string id="14075">Ajuster l'horloge pour l'observation auto. de l'heure d'été</string>
<string id="14076">Ajouter aux favoris</string>
@@ -1351,27 +1354,27 @@
<string id="14093">Sécurité</string>
<string id="14094">Périphériques</string>
<string id="14095">Gestion de l'énergie</string>
-
+
<string id="15015">Supprimer</string>
<string id="15016">Jeux</string>
-
+
<string id="15019">Ajouter</string>
-
+
<string id="15052">Mot de passe</string>
-
+
<string id="15100">Médiathèque</string>
<string id="15101">Base de données</string>
<string id="15102">* Tous les albums</string>
<string id="15103">* Tous les artistes</string>
<string id="15104">* Toutes les chansons</string>
<string id="15105">* Tous les genres</string>
-
+
<string id="15107">Mise en cache...</string>
<string id="15108">Sons de navigation</string>
<string id="15109">Skin par défaut</string>
<string id="15111">- Thème</string>
<string id="15112">Thème par défaut</string>
-
+
<string id="15200">Last.fm</string>
<string id="15201">Soumettre les chansons à Last.fm</string>
<string id="15202">Nom d'utilisateur Last.fm</string>
@@ -1394,7 +1397,7 @@
<string id="15219">Mot de passe Libre.fm</string>
<string id="15220">Libre.fm</string>
<string id="15221">Soumettre un titre</string>
-
+
<string id="15250">Soumettre la radio Last.fm à Last.fm</string>
<string id="15251">Connexion à Last.fm...</string>
<string id="15252">Sélection de la station...</string>
@@ -1444,21 +1447,21 @@
<string id="15296">Réhabiliter</string>
<string id="15297">Voulez-vous supprimer ce morceau de vos coups de coeur ?</string>
<string id="15298">Voulez-vous réhabiliter ce morceau ?</string>
-
+
<string id="15300">Chemin non trouvé ou invalide</string>
<string id="15301">Impossible de se connecter au serveur</string>
<string id="15302">Serveur non trouvé</string>
<string id="15303">Groupe de travail non trouvé</string>
-
+
<string id="15310">Ouverture des sources multi-chemin</string>
<string id="15311">Chemin :</string>
-
+
<string id="16000">Général</string>
-
+
<string id="16002">Recherche internet</string>
<string id="16003">Lecteur</string>
<string id="16004">Jouer les médias depuis le disque</string>
-
+
<string id="16008">Saisissez le nouveau titre</string>
<string id="16009">Saisissez le nom du film</string>
<string id="16010">Saisissez le nom du profil</string>
@@ -1493,14 +1496,14 @@
<string id="16039">Off</string>
<string id="16040">Auto</string>
<string id="16041">On</string>
-
+
<string id="16100">Toutes les vidéos</string>
<string id="16101">Non vues</string>
<string id="16102">Vues</string>
<string id="16103">Marquer comme vue</string>
<string id="16104">Marquer comme non vue</string>
<string id="16105">Éditer le titre</string>
-
+
<string id="16200">Opération annulée</string>
<string id="16201">La copie a échouée</string>
<string id="16202">Un ou plusieurs fichiers n’ont pas été copiés</string>
@@ -1508,7 +1511,7 @@
<string id="16204">Un ou plusieurs fichiers n’ont pas été déplacés</string>
<string id="16205">La suppression a échoué</string>
<string id="16206">Un ou plusieurs fichiers n’ont pas été supprimés</string>
-
+
<string id="16300">Méthode de mise à l'échelle</string>
<string id="16301">La plus proche</string>
<string id="16302">Bilinéaire</string>
@@ -1536,26 +1539,26 @@
<string id="16324">Software Blend</string>
<string id="16400">Post-processing Vidéo</string>
-
+
<string id="17500">Afficher le temps avant la mise en veille</string>
<string id="17997">%i Mo</string>
<string id="17998">%i heures</string>
<string id="17999">%i jours</string>
-
+
<string id="19000">Changer de canal</string>
-
+
<string id="20000">Dossier des enregistrements musique</string>
<string id="20001">Utiliser un lecteur DVD externe</string>
<string id="20002">Lecteur DVD externe</string>
<string id="20003">Dossier des trainers</string>
<string id="20004">Dossier des captures d'écran</string>
-
+
<string id="20006">Dossier des playlistes</string>
<string id="20007">Enregistrements</string>
<string id="20008">Captures d'écran</string>
<string id="20009">Utiliser XBMC</string>
-
+
<string id="20011">Playlistes musicales</string>
<string id="20012">Playlistes vidéo</string>
<string id="20013">Voulez-vous lancer le jeu ?</string>
@@ -1565,14 +1568,14 @@
<string id="20017">Locale</string>
<string id="20018">Aucune</string>
<string id="20019">Choisir une vignette</string>
-
+
<!-- string id 20022 will always be set to an empty string (LocalizeStrings.cpp)-->
<string id="20022"></string>
<string id="20023">Conflit</string>
<string id="20024">Scanner les nouveaux</string>
<string id="20025">Tout scanner</string>
<string id="20026">Région</string>
-
+
<!-- string id's 20027 thru 20034 are reserved for temperature strings (LocalizeStrings.cpp)-->
<string id="20037">Sommaire</string>
@@ -1594,7 +1597,7 @@
<string id="20053">Vous quittez le mode Admin.</string>
<string id="20054">Vous entrez en mode Admin.</string>
<string id="20055">Vignette Allmusic.com</string>
-
+
<string id="20057">Supprimer la vignette</string>
<string id="20058">Ajouter un profil...</string>
<string id="20059">Infos pour tous les albums</string>
@@ -1729,14 +1732,14 @@
<string id="20190">Personnaliser</string>
<string id="20191">Activer le mode debug</string>
<string id="20192">Télécharger les infos supplémentaires lors des mises à jour</string>
- <string id="20193">Service d'informations par défaut - Album</string>
+ <string id="20193">Service d'informations par défaut - Album</string>
<string id="20194">Service d'informations par défaut - Artiste</string>
<string id="20195">Changer le scraper</string>
<string id="20196">Exporter la médiathèque musicale</string>
<string id="20197">Importer une médiathèque musicale</string>
<string id="20198">Aucun artiste trouvé !</string>
<string id="20199">Échec du téléchargement des infos Artiste</string>
-
+
<!-- string id's 20200 thru 20211 are reserved for speedstrings (LocalizeStrings.cpp)-->
<string id="20250">C'est Party ! (vidéos)</string>
@@ -1751,13 +1754,13 @@
<string id="20259">Network Filesystem (NFS)</string>
<string id="20260">Secure Shell (SSH/SFTP)</string>
<string id="20261">Apple File Protocol (AFP)</string>
-
+
<string id="20300">Dossier Server Web (HTTP)</string>
<string id="20301">Dossier Server Web (HTTPS)</string>
<string id="20302">Impossible d'écrire dans le dossier</string>
<string id="20303">Voulez-vous passer et continuer ?</string>
<string id="20304">Flux RSS</string>
-
+
<string id="20307">DNS secondaire</string>
<string id="20308">Serveur DHCP</string>
<string id="20309">Créer un nouveau dossier</string>
@@ -1774,7 +1777,7 @@
<string id="20326">Ceci remettra à zéro les valeurs de calibrage pour %s</string>
<string id="20327">aux valeurs par défaut.</string>
<string id="20328">Parcourir pour une destination</string>
-
+ <string id="20329">Chaque film dans un dossier séparé, libellé avec son titre</string>
<string id="20330">Consultation avec les noms des dossiers</string>
<string id="20331">Fichier</string>
<string id="20332">Utiliser le nom des dossiers ou fichiers pour la consultation ?</string>
@@ -1849,7 +1852,7 @@
<string id="20401">Jouer le clip</string>
<string id="20402">Télécharger les vignettes d'acteurs lors de l'ajout à la médiathèque</string>
<string id="20403">Définir la vignette Acteur</string>
-
+
<string id="20405">Supprimer le signet d'épisode</string>
<string id="20406">Créer un signet d'épisode</string>
<string id="20407">Paramètres du scraper</string>
@@ -1880,7 +1883,7 @@
<string id="20431">Écraser les anciens fichiers ?</string>
<string id="20432">Exclure le chemin de la MAJ médiathèque</string>
<string id="20433">Extraire les vignettes et les informations vidéo</string>
- <string id="20434">Groupes</string>
+ <string id="20434">Sagas</string>
<string id="20435">Définir une vignette de saga</string>
<string id="20436">Exporter les vignettes acteur</string>
<string id="20437">Choisir un fanart</string>
@@ -1901,13 +1904,14 @@
<string id="20452">épisode</string>
<string id="20453">épisodes</string>
<string id="20454">Auditeur</string>
- <string id="20455">Auditeurs</string>
+ <string id="20455">Auditeurs</string>
<string id="20456">Choisir le Fanart de la saga</string>
<string id="20457">Saga</string>
+ <string id="20458">Grouper les films en saga</string>
<!-- up to 21329 is reserved for the video db !! !-->
<string id="21330">Afficher les dossiers et les fichiers cachés</string>
-
+
<string id="21331">Client TuxBox</string>
<string id="21332">AVERTISSEMENT : le dispositif TuxBox est en mode d'enregistrement !</string>
<string id="21333">Le flux sera arrêté !</string>
@@ -1919,7 +1923,7 @@
<string id="21359">Ajouter un partage média...</string>
<string id="21360">Partager les médiathèques vidéos et musique via l'UPnP</string>
-
+
<string id="21364">Éditer le partage média</string>
<string id="21365">Effacer le partage média</string>
<string id="21366">Dossier de sous-titres</string>
@@ -2010,6 +2014,8 @@
<string id="21451">Connexion Internet requise.</string>
<string id="21452">Plus...</string>
<string id="21453">Racine</string>
+ <string id="21454">Cache plein</string>
+ <string id="21455">Cache rempli mais insuffisant pour une lecture continue</string>
<string id="21460">Emplacement du sous-titre</string>
<string id="21461">Fixe</string>
@@ -2017,7 +2023,7 @@
<string id="21463">Sous la vidéo</string>
<string id="21464">En haut de la vidéo</string>
<string id="21465">Au-dessus de la vidéo</string>
-
+
<string id="21800">Nom du fichier</string>
<string id="21801">Répertoire du fichier</string>
<string id="21802">Taille du fichier</string>
@@ -2027,7 +2033,7 @@
<string id="21806">Commentaire</string>
<string id="21807">Couleur/N&amp;B</string>
<string id="21808">Traitement JPEG</string>
-
+
<string id="21820">Date/Heure</string>
<string id="21821">Description</string>
<string id="21822">Marque de l'appareil</string>
@@ -2052,7 +2058,7 @@
<string id="21841">Longitude GPS</string>
<string id="21842">Altitude GPS</string>
<string id="21843">Orientation</string>
-
+
<string id="21860">Catégories supplémentaires</string>
<string id="21861">Mots-clés</string>
<string id="21862">Légende</string>
@@ -2094,14 +2100,14 @@
<string id="21898">Années actives</string>
<string id="21899">Label(s)</string>
<string id="21900">Naissance/Création</string>
-
+
<!-- strings 21900 thru 21999 reserved for slideshow info -->
<string id="22000">Actualiser la médiathèque au démarrage</string>
<string id="22001">Masquer l'avancement lors de la màj de la mediathèque</string>
<string id="22002">- Suffixe DNS</string>
-
- <string id="22003">%2.3fs</string>
+
+ <string id="22003">%2.3fs</string>
<string id="22004">Retarder de : %2.3fs</string>
<string id="22005">Avancer de : %2.3fs</string>
<string id="22006">Décalage sous-titres</string>
@@ -2123,7 +2129,7 @@
<string id="22022">Afficher les fichiers vidéo dans les listes</string>
<string id="22023">Vendor DirectX :</string>
<string id="22024">Version Direct3D :</string>
-
+
<!-- strings 22030 thru 22060 reserved for karaoke -->
<string id="22030">Police</string>
<string id="22031">- Taille</string>
@@ -2145,26 +2151,26 @@
<string id="22081">Afficher Infos</string>
<string id="22082">Plus...</string>
<string id="22083">Tout jouer</string>
-
+
<string id="23049">Teletext non disponible</string>
<string id="23050">Activer le télétexte</string>
<string id="23051">Partie %i</string>
<string id="23052">%i octets mis en cache</string>
<string id="23053">Arrêt en cours</string>
<string id="23054">Lecture en cours</string>
-
+
<!-- strings 23100 thru 23150 reserved for external player -->
<string id="23100">Lecteur externe actif</string>
<string id="23101">Cliquez sur OK pour arrêter le lecteur</string>
-
+
<string id="23104">Cliquez sur OK lorsque la lecture est terminée</string>
-
+
<!-- strings 24000 thru 24299 reserved for the Add-ons framework -->
<string id="24000">Add-on</string>
<string id="24001">Add-ons</string>
<string id="24002">Options Add-on</string>
<string id="24003">Infos Add-on</string>
-
+
<string id="24005">Sources media</string>
<string id="24007">Infos Film</string>
<string id="24008">Ecran de veille</string>
@@ -2178,7 +2184,7 @@
<string id="24016">Infos album</string>
<string id="24017">Infos artiste</string>
<string id="24018">Services</string>
-
+
<string id="24020">Configurer</string>
<string id="24021">Désactiver</string>
<string id="24022">Activer</string>
@@ -2221,35 +2227,37 @@
<string id="24067">Téléchargements en cours</string>
<string id="24068">Mise-à-jour disponible</string>
<string id="24069">Mise-à-jour</string>
-
+
<string id="24070">L'Add-on n'a pu être chargé.</string>
<string id="24071">Une erreur inconnue rencontrée.</string>
<string id="24072">Paramètres obligatoires</string>
<string id="24073">Connexion impossible</string>
<string id="24074">Redémarrage requis</string>
<string id="24075">Désactiver</string>
+ <string id="24076">Add-on requis</string>
<string id="24080">Tenter la reconnexion ?</string>
<string id="24089">Redémarrage de l'Add-on</string>
<string id="24090">Verrouiller le gestionnaire d'Add-on</string>
-
+
<string id="24094">(actuel)</string>
<string id="24095">(sur liste noire)</string>
<string id="24096">Le dépot indique cet add-on comme inutilisable.</string>
<string id="24097">Voulez-vous le désactiver sur votre système ?</string>
<string id="24098">Cassé</string>
<string id="24099">Voulez-vous basculer vers ce thème ?</string>
+ <string id="24100">Pour utiliser cette fonctionnalité, vous devez télécharger un Add-on :</string>
+ <string id="24101">Voulez-vous télécharger cet Add-on ?</string>
<string id="25000">Notifications</string>
-
+
<!-- strings 29800 thru 29998 reserved strings used only in the default Project Mayhem III skin and not c++ code -->
<string id="29800">Médiathèque</string>
<string id="29801">Clavier QWERTY</string>
<string id="29802">Passthrough Audio en cours</string>
-
+
<!-- strings 30000 thru 30999 reserved for plugins and plugin settings -->
<!-- strings 31000 thru 31999 reserved for skins -->
<!-- strings 32000 thru 32999 reserved for scripts -->
<!-- strings 33000 thru 33999 reserved for common strings used in Add-ons -->
- <string id="30011">Chercher la durée</string>
<string id="33001">Qualité du trailer</string>
<string id="33002">Flux</string>
<string id="33003">Télécharger</string>
@@ -2260,6 +2268,7 @@
<string id="33008">Enregistrement en cours</string>
<string id="33009">Copie en cours</string>
<string id="33010">Définir le répertoire de téléchargement</string>
+ <string id="33011">Durée de la recherche</string>
<string id="33012">Court</string>
<string id="33013">Long</string>
<string id="33014">Utiliser le lecteur DVD au lieu du lecteur habituel</string>
@@ -2321,12 +2330,14 @@
<string id="33081">Ce fichier est empilé, sélectionnez la partie que vous souhaitez lire.</string>
<string id="33082">Chemin du script</string>
<string id="33083">Activer le bouton de script personnalisé</string>
-
+
<string id="33100">Echec du lancement</string>
<string id="33101">Serveur Web</string>
<string id="33102">Serveur d'évènement</string>
<string id="33103">Communication à distance avec le serveur</string>
+ <string id="33200">Nouvelle connexion détectée</string>
+
<!-- translators : no need to add these to your language files -->
<string id="34000">Lame</string>
<string id="34001">Vorbis</string>
@@ -2334,7 +2345,7 @@
<string id="34003">DXVA2</string>
<string id="34004">VAAPI</string>
<string id="34005">Flac</string>
-
+
<string id="34100">Configuration des Haut-Parleurs</string>
<string id="34101">2.0</string>
<string id="34102">2.1</string>
@@ -2350,7 +2361,15 @@
<string id="34201">Aucun média à suivre</string>
<string id="34202">Aucun média précédent</string>
-
+
+ <string id="34300">Échec du démarrage zeroconf</string>
+ <string id="34301">Est-ce que le service d'Apple Bonjour est installé ? Consultez le log pour plus d'infos.</string>
+
+ <string id="34400">Rendu Vidéo</string>
+ <string id="34401">Échec du filtre/redimensionnement vidéo, utilisation du redimensionnement bilinéaire à la place</string>
+ <string id="34402">Échec d'initialisation du périphérique audio</string>
+ <string id="34403">Vérifiez vos paramètres audio</string>
+
<string id="35000">Périphériques</string>
<string id="35001">Périphérique HID générique</string>
@@ -2367,7 +2386,7 @@
<string id="35502">Nom</string>
<string id="35503">Vendor</string>
<string id="35504">ID du produit</string>
-
+
<string id="36000">Adaptateur CEC Pulse-Eight</string>
<string id="36001">Nyxboard Pulse-Eight</string>
<string id="36002">Basculer le contrôle côté clavier</string>
@@ -2386,5 +2405,5 @@
<string id="36015">Numéro de port HDMI</string>
<string id="36016">Connecté</string> <!-- max. 13 characters -->
<string id="36017">Adaptateur trouvé, mais libcec indisponible</string>
- <string id="36018">Utiliser le paramètre de langage de la TV.</string>
+ <string id="36018">Utiliser le paramètre de langage de la TV.</string>
</strings>
diff --git a/language/German/strings.xml b/language/German/strings.xml
index 36aa789569..94b203e9fc 100644
--- a/language/German/strings.xml
+++ b/language/German/strings.xml
@@ -883,7 +883,9 @@
<string id="10021">Webbrowser</string>
<string id="10028">Videos/Playlisten</string>
+ <string id="10029">Anmeldebildschirm</string>
<string id="10034">Einstellungen-&gt;Profile</string>
+ <string id="10040">Addon-Browser</string>
<string id="10100">Ja/Nein Dialog</string>
<string id="10101">Fortschrittsanzeige</string>
@@ -1802,6 +1804,7 @@
<string id="20326">Dies setzt den Kalibrierwert für %s</string>
<string id="20327">auf den Standardwert zurück</string>
<string id="20328">Nach einem Speicherort durchsuchen...</string>
+ <string id="20329">Filme sind in seperaten Ordnern, welche Filmtitel entsprechen</string>
<string id="20330">Ordnernamen für Anfragen verwenden</string>
<string id="20331">Dateinamen</string>
@@ -1892,7 +1895,7 @@
<string id="20416">Erstausstrahlung</string>
<string id="20417">Autor</string>
<string id="20418"></string>
- <string id="20419">Metadaten im Datei-Modus anzeigen</string>
+ <string id="20419">Ersetze Dateinamen durch Datenbankeinträge</string>
<string id="20420">Nie</string>
<string id="20421">Nur bei einer Staffel</string>
@@ -1931,6 +1934,7 @@
<string id="20456">Filmset Fanart setzen</string>
<string id="20457">Zusammenstellung</string>
+ <string id="20458">Gruppiere Filme nach Zusammenstellungen</string>
<string id="21330">Versteckte Ordner und Dateien anzeigen</string>
<string id="21331">TuxBox Client</string>
diff --git a/language/Greek/strings.xml b/language/Greek/strings.xml
index 6aa05bd9f7..b3346270a7 100644
--- a/language/Greek/strings.xml
+++ b/language/Greek/strings.xml
@@ -1,10 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<!--Language file translated with Team XBMC Translator-->
-<!--Translator: Ydatografida-->
-<!--Email: ydatografida@gmail.com-->
-<!--Date of translation: 12/25/2011-->
-<!--$Revision$-->
-<!--Based on english strings version 1E+42-->
+<!--$Revision$--> <!--Translator: Ydatografida / Email: ydatografida@gmail.com / Date of translation: 12/25/2011 / Last update (by CutSickAss): 14/02/2012 / Based on english strings version 1E+42-->
<strings>
<string id="0">Εφαρμογές</string>
<string id="1">Φωτογραφίες</string>
@@ -16,6 +11,7 @@
<string id="7">Διαχείριση αρχείων</string>
<string id="8">Καιρός</string>
<string id="9">xbmc media center</string>
+
<string id="11">Δευτέρα</string>
<string id="12">Τρίτη</string>
<string id="13">Τετάρτη</string>
@@ -23,6 +19,7 @@
<string id="15">Παρασκευή</string>
<string id="16">Σάββατο</string>
<string id="17">Κυριακή</string>
+
<string id="21">Ιανουαρίου</string>
<string id="22">Φεβρουαρίου</string>
<string id="23">Μαρτίου</string>
@@ -35,6 +32,7 @@
<string id="30">Οκτωβρίου</string>
<string id="31">Νοεμβρίου</string>
<string id="32">Δεκεμβρίου</string>
+
<string id="41">Δευ</string>
<string id="42">Τρι</string>
<string id="43">Τετ</string>
@@ -42,6 +40,7 @@
<string id="45">Παρ</string>
<string id="46">Σαβ</string>
<string id="47">Κυρ</string>
+
<string id="51">Ιαν</string>
<string id="52">Φεβ</string>
<string id="53">Μαρ</string>
@@ -54,6 +53,7 @@
<string id="60">Οκτ</string>
<string id="61">Νοε</string>
<string id="62">Δεκ</string>
+
<string id="71">Β</string>
<string id="72">ΒΒΑ</string>
<string id="73">ΒΑ</string>
@@ -71,6 +71,7 @@
<string id="85">ΒΔ</string>
<string id="86">ΒΒΔ</string>
<string id="87">ΔΙΑΦ</string>
+
<string id="98">Προβολή: Αυτόματη</string>
<string id="99">Προβολή: Εικόνες</string>
<string id="100">Προβολή: Εικονίδια</string>
@@ -140,12 +141,16 @@
<string id="164">Δεν υπάρχει δίσκος</string>
<string id="165">Υπάρχει δίσκος</string>
<string id="166">Κέλυφος</string>
+
<string id="169">Ανάλυση</string>
<string id="170">Προσαρμογή του ρυθμού ανανέωσης</string>
+
<string id="172">Ημερομηνία κυκλοφορίας</string>
<string id="173">Προβολή των βίντεο με αναλογία 4:3 ως</string>
+
<string id="175">Διάθεση</string>
<string id="176">Στυλ</string>
+
<string id="179">Τραγούδι</string>
<string id="180">Διάρκεια</string>
<string id="181">Επιλογή άλμπουμ</string>
@@ -167,8 +172,10 @@
<string id="197">Αναζήτηση πληροφοριών %s</string>
<string id="198">Φόρτωση πληροφοριών ταινίας</string>
<string id="199">Διεπαφή ιστού</string>
+
<string id="202">Σύνθημα</string>
<string id="203">Περίληψη πλοκής</string>
+
<string id="205">Ψήφοι</string>
<string id="206">Ρόλοι και ηθοποιοί</string>
<string id="207">Πλοκή</string>
@@ -181,7 +188,7 @@
<string id="216">Ποσοστό μεγέθυνσης</string>
<string id="217">Λόγος εικονοστοιχείων</string>
<string id="218">Μονάδα DVD</string>
- <string id="219">Παρακαλώ, εισάγετε δίσκο</string>
+ <string id="219">Παρακαλώ εισάγετε δίσκο</string>
<string id="220">Απομακρυσμένος κοινόχρηστος πόρος</string>
<string id="221">Το δίκτυο είναι αποσυνδεμένο</string>
<string id="222">Άκυρο</string>
@@ -206,7 +213,8 @@
<string id="242">Σε παράθυρο</string>
<string id="243">Ανανέωση βαθμολογίας</string>
<string id="244">Πλήρης οθόνη</string>
- <string id="245">Μέγεθος: (%i,%i)-&gt;(%i,%i) (Εστίαση x%2.2f) AR:%2.2f:1 (Εινονοστοιχεία: %2.2f:1) (ΚΜετατόπιση: %2.2f)</string>
+ <string id="245">Μέγεθος: (%i,%i)-&gt;(%i,%i) (Εστίαση x%2.2f) AR:%2.2f:1 (Εικονοστοιχεία: %2.2f:1) (ΚΜετατόπιση: %2.2f)</string>
+
<string id="247">Scripts</string>
<string id="248">Γλώσσα</string>
<string id="249">Μουσική</string>
@@ -237,7 +245,7 @@
<string id="274">Θέση υποτίτλων</string>
<string id="275">Ρύθμιση λόγου εικονοστοιχείων</string>
<string id="276">Μετακινήστε το βέλος για να αλλάξετε το μέγεθος του ορατού πλαισίου</string>
- <string id="277">Μετακινήστε την μπάρα για να αλλάξει η θέση των υποτίτλων</string>
+ <string id="277">Μετακινήστε τη μπάρα για να αλλάξει η θέση των υποτίτλων</string>
<string id="278">Αλλάξτε το σχήμα ώστε να είναι τέλειο τετράγωνο</string>
<string id="279">Αδυναμία φόρτωσης των ρυθμίσεων</string>
<string id="280">Χρησιμοποίηση προεπιλεγμένων ρυθμίσεων</string>
@@ -245,6 +253,7 @@
<string id="282">Βρέθηκαν %i αντικείμενα</string>
<string id="283">Αποτελέσματα αναζήτησης</string>
<string id="284">Δεν βρέθηκαν αποτελέσματα</string>
+
<string id="287">Υπότιτλοι</string>
<string id="288">Γραμματοσειρά</string>
<string id="289">- Μέγεθος</string>
@@ -256,14 +265,15 @@
<string id="296">Απαλοιφή</string>
<string id="297">Καθυστέρηση ήχου</string>
<string id="298">Σελιδοδείκτες</string>
- <string id="299">- Δέκτης ικανός για αναπαραγωγή AAC </string>
+ <string id="299">- Δέκτης ικανός για αναπαραγωγή AAC</string>
<string id="300">- Δέκτης ικανός για αναπαραγωγή MP1</string>
- <string id="301">- Δέκτης ικανός για αναπαραγωγή MP2 </string>
+ <string id="301">- Δέκτης ικανός για αναπαραγωγή MP2</string>
<string id="302">- Δέκτης ικανός για αναπαραγωγή MP3</string>
<string id="303">Καθυστέρηση</string>
<string id="304">Γλώσσα</string>
<string id="305">Ενεργό/ή</string>
<string id="306">Μη-διαστρωματωμένο</string>
+
<string id="312">(0=αυτόματα)</string>
<string id="313">Εκκαθάριση βάσης δεδομένων</string>
<string id="314">Προετοιμασία...</string>
@@ -356,6 +366,7 @@
<string id="404">Άνεμος</string>
<string id="405">Σημείο δρόσου</string>
<string id="406">Υγρασία</string>
+
<string id="409">Προεπιλεγμένα</string>
<string id="410">Πρόσβαση στο Weather.com</string>
<string id="411">Πληροφορίες καιρού:</string>
@@ -368,6 +379,7 @@
<string id="418">Ελαχ.</string>
<string id="419">Μεγ.</string>
<string id="420">HDMI</string>
+
<string id="422">Διαγραφή πληροφοριών άλμπουμ</string>
<string id="423">Διαγραφή πληροφοριών CD</string>
<string id="424">Επιλογή</string>
@@ -380,7 +392,8 @@
<string id="431">Δεν υπάρχει ελεύθερη λανθάνουσα μνήμη</string>
<string id="432">Διαγραφή ταινίας από τη συλλογή</string>
<string id="433">Να διαγραφεί '%s';</string>
- <string id="434">Από %s με ένταση %i %s</string>
+ <string id="434">Από %s με ένταση %i %s</string> <!--From <wind dir.> at <speed> <unit>-->
+
<string id="437">Αφαιρούμενος δίσκος</string>
<string id="438">Άνοιγμα αρχείου</string>
<string id="439">Λανθάνουσα μνήμη</string>
@@ -391,7 +404,7 @@
<string id="444">Βίντεο</string>
<string id="445">Ήχος</string>
<string id="446">DVD</string>
- <string id="447">Αυτόματη εκκίνηση πολυμέσων </string>
+ <string id="447">Αυτόματη εκκίνηση πολυμέσων</string>
<string id="448">LCD</string>
<string id="449">Ενεργό/ή</string>
<string id="450">Στήλες</string>
@@ -419,11 +432,12 @@
<string id="475">Μουσική μόνο</string>
<string id="476">Μουσική &amp; βίντεο</string>
<string id="477">Αδυναμία φόρτωσης της λίστας αναπαραγωγής</string>
- <string id="478">Aπεικόνισεις οθόνης (OSD)</string>
+ <string id="478">Aπεικονίσεις οθόνης (OSD)</string>
<string id="479">Κέλυφος &amp; γλώσσα</string>
<string id="480">Εξατομίκευση</string>
<string id="481">Ιδιότητες ήχου</string>
<string id="482">Περί XBMC</string>
+
<string id="485">Διαγραφή άλμπουμ</string>
<string id="486">Επανάληψη</string>
<string id="487">Επανάληψη του ιδίου</string>
@@ -442,7 +456,7 @@
<string id="501">Αναζήτηση για ονόματα άλμπουμ...</string>
<string id="502">Άνοιγμα</string>
<string id="503">Απασχολημένο</string>
- <string id="504">Κενός </string>
+ <string id="504">Κενός</string>
<string id="505">Φόρτωση πληροφοριών πολυμέσων...</string>
<string id="507">Ταξιν: Χρήση</string>
<string id="510">Ενεργοποίηση απεικονίσεων</string>
@@ -451,9 +465,11 @@
<string id="513">Αρχική οθόνη</string>
<string id="514">Χειροκίνητες ρυθμίσεις</string>
<string id="515">Είδος</string>
+
<string id="517">Πρόσφατα εκτελεσθέντα άλμπουμ</string>
<string id="518">Εκκίνηση</string>
<string id="519">Εκκίνηση σε...</string>
+
<string id="521">Συλλογές</string>
<string id="522">Απομάκρυνση πηγής</string>
<string id="523">Εναλλαγή πολυμέσων</string>
@@ -482,6 +498,7 @@
<string id="546">Συσκευή εξόδου διέλευσης</string>
<string id="547">Δεν υπάρχει βιογραφία γι΄ αυτόν τον καλλιτέχνη</string>
<string id="548">Υποβιβασμός πολυκάναλου ήχου σε στερεοφωνικό</string>
+
<string id="550">Κατάταξη: %s</string>
<string id="551">Όνομα</string>
<string id="552">Ημερομηνία</string>
@@ -509,6 +526,7 @@
<string id="574">Χώρα</string>
<string id="575">Σε εξέλιξη</string>
<string id="576">Αριθμός αναπαραγωγών</string>
+
<string id="580">Σειρά ταξινόμησης</string>
<string id="581">Κριτήρια ταξινόμησης</string>
<string id="582">Λειτουργία Προβολής</string>
@@ -527,12 +545,14 @@
<string id="595">Επανάληψη: Όχι</string>
<string id="596">Επανάληψη: Μία φορά</string>
<string id="597">Επανάληψη: Όλων</string>
+
<string id="600">Εγγραφή CD ήχου</string>
<string id="601">Μεσαία</string>
<string id="602">Κανονική</string>
<string id="603">Ακραία</string>
<string id="604">Σταθερός ρυθμός</string>
<string id="605">Εγγραφή...</string>
+
<string id="607">Προς:</string>
<string id="608">Αδυναμία εγγραφής CD ή κομματιού</string>
<string id="609">Δεν ορίσθηκε διαδρομή εξαγωγής CDDA.</string>
@@ -540,6 +560,7 @@
<string id="611">Εισαγωγή αριθμού</string>
<string id="612">Bits/Sample</string>
<string id="613">Συχνότητα δειγματοληψίας</string>
+
<string id="620">CDs ήχου</string>
<string id="621">Κωδικοποιητής</string>
<string id="622">Ποιότητα</string>
@@ -577,35 +598,43 @@
<string id="657">Αναζήτηση φακέλου</string>
<string id="658">Πληροφορίες τραγουδιού</string>
<string id="659">Μη γραμμική παραμόρφωση</string>
+
<string id="660">Ενίσχυση έντασης</string>
<string id="661">Επιλογή φακέλου εξαγωγής</string>
<string id="662">Αυτό το αρχείο δεν είναι πλέον διαθέσιμο.</string>
<string id="663">Να αφαιρεθεί από τη συλλογή;</string>
<string id="664">Αναζήτηση Script</string>
<string id="665">Επίπεδο συμπίεσης</string>
+
<string id="700">Εκκαθάριση συλλογής</string>
<string id="701">Απομάκρυνση παλαιών τραγουδιών από τη συλλογή</string>
<string id="702">Η διαδρομή έχει σαρωθεί προηγούμενος</string>
<string id="705">Δίκτυο</string>
<string id="706">- Διακομιστής</string>
+
<string id="708">Χρήση ενός διαμεσολαβητή HTTP για πρόσβαση στο internet</string>
+
<string id="711">Πρωτόκολλο Internet (IP)</string>
<string id="712">Προσδιορίσατε λάθος θύρα. Η τιμή κυμαίνεται μεταξύ 1 και 65535.</string>
<string id="713">Διαμεσολαβητής HTTP</string>
+
<string id="715">- Εκχώρηση</string>
<string id="716">Αυτόματη (DHCP)</string>
<string id="717">Χειροκίνητη (Στατική)</string>
+
<string id="719">- Διεύθυνση IP</string>
<string id="720">- Μάσκα δικτύου</string>
<string id="721">- Προεπιλεγμένη πύλη</string>
- <string id="722">- Διακομιστή DNS</string>
+ <string id="722">- Διακομιστής DNS</string>
<string id="723">Αποθήκευση &amp; επανεκκίνηση</string>
<string id="724">Προσδιορίστηκε εσφαλμένη διεύθυνση. Η τιμή πρέπει να έχει τη μορφή AAA.BBB.CCC.DDD</string>
<string id="725">με τιμές μεταξύ 0 και 255.</string>
<string id="726">Οι αλλαγές δεν αποθηκεύτηκαν. Συνέχιση χωρίς αποθήκευση;</string>
<string id="727">Διακομιστής Ιστού</string>
<string id="728">Διακομιστής FTP</string>
+
<string id="730">- Θύρα</string>
+
<string id="732">Αποθήκευση &amp; εφαρμογή</string>
<string id="733">- Κωδικός πρόσβασης</string>
<string id="734">Χωρίς κωδικό πρόσβασης</string>
@@ -626,10 +655,12 @@
<string id="749">Kατοπτρική εικόνα</string>
<string id="750">Είστε σίγουρος;</string>
<string id="751">Απομάκρυνση πηγής</string>
+
<string id="754">Προσθήκη συνδέσμου εφαρμογής</string>
<string id="755">Επεξεργασία διαδρομής εφαρμογής</string>
<string id="756">Επεξεργασία ονόματος εφαρμογής</string>
<string id="757">Επεξεργασία βάθους διαδρομής</string>
+
<string id="759">Προβολή: Μεγάλη λίστα</string>
<string id="760">Κίτρινο</string>
<string id="761">Λευκό</string>
@@ -639,7 +670,10 @@
<string id="765">Κυανό</string>
<string id="766">Ανοικτό γκρι</string>
<string id="767">Γκρι</string>
+ <!-- strings 768 and 769 reserved for more subtitle colors -->
+
<string id="770">Σφάλμα %i: ο κοινόχρηστος πόρος δεν είναι διαθέσιμος</string>
+
<string id="772">Έξοδος ήχου</string>
<string id="773">Αναζήτηση</string>
<string id="774">Φάκελος παρουσίασης διαφανειών</string>
@@ -658,6 +692,7 @@
<string id="787">Απενεργοποίηση Διασύνδεσης</string>
<string id="788">Η Διασύνδεση δικτύου απενεργοποιήθηκε επιτυχώς.</string>
<string id="789">Όνομα ασύρματου δικτύου (ESSID)</string>
+
<string id="791">Έγκριση σε προγράμματα απομακρυσμένου ελέγχου να ελέγξουν το XBMC</string>
<string id="792">Θύρα</string>
<string id="793">Εύρος θύρας</string>
@@ -666,9 +701,11 @@
<string id="796">Συνεχής καθυστέρηση (ms)</string>
<string id="797">Μέγιστος αριθμός πελατών</string>
<string id="798">Πρόσβαση στο internet</string>
+
<string id="850">Εισαγωγή μη έγκυρου εύρους τιμών θύρας</string>
<string id="851">Το έγκυρο εύρος τιμών θύρας είναι 1-65535</string>
<string id="852">Το έγκυρο εύρος τιμών θύρας είναι 1024-65535</string>
+
<string id="998">Προσθήκη Μουσικής...</string>
<string id="999">Προσθήκη Βίντεο...</string>
<string id="1000">- Προεπισκόπηση</string>
@@ -676,6 +713,7 @@
<string id="1002">Το ΧΒMC είναι ανίκανο να συνδεθεί στο δίκτυο.</string>
<string id="1003">Αυτό μπορεί να συμβαίνει διότι το δίκτυο δεν είναι συνδεμένο.</string>
<string id="1004">Θέλετε οπωσδήποτε να το προσθέσετε;</string>
+
<string id="1006">Διεύθυνση IP</string>
<string id="1007">Προσθήκη τοποθεσίας δικτύου</string>
<string id="1008">Πρωτόκολλο</string>
@@ -722,18 +760,21 @@
<string id="1049">Ρυθμίσεις script</string>
<string id="1050">Μεμονωμένα</string>
<string id="1051">Εισαγωγή διεύθυνσης</string>
+
<string id="1200">Πελάτης SMB</string>
<string id="1202">Ομάδα Εργασίας</string>
<string id="1203">Προεπιλεγμένο όνομα χρήστη</string>
<string id="1204">Προεπιλεγμένος κωδικός πρόσβασης</string>
- <string id="1207">WINS διακομιστής </string>
+
+ <string id="1207">WINS διακομιστής</string>
<string id="1208">Προσάρτηση κοινόχρηστων SMB</string>
+
<string id="1210">Απομάκρυνση</string>
<string id="1211">Μουσική</string>
<string id="1212">Βίντεο</string>
<string id="1213">Φωτογραφίες</string>
<string id="1214">Αρχεία</string>
- <string id="1215">Μουσική &amp; βίντεο</string>
+ <string id="1215">Μουσική &amp; βίντεο </string>
<string id="1216">Μουσική &amp; εικόνες</string>
<string id="1217">Μουσική &amp; αρχεία</string>
<string id="1218">Βίντεο &amp; εικόνες</string>
@@ -752,16 +793,24 @@
<string id="1233">Εφαρμογές &amp; βίντεο &amp; μουσική</string>
<string id="1234">Εφαρμογές &amp; εικόνες &amp; μουσική</string>
<string id="1235">Εφαρμογές &amp; εικόνες &amp; βίντεο</string>
+
<string id="1250">Αυτόματος εντοπισμός</string>
<string id="1251">Αυτόματος εντοπισμός συστήματος</string>
<string id="1252">Ψευδώνυμο</string>
+
<string id="1254">Να απαιτείται επιβεβαίωση για να συνδεθεί</string>
- <string id="1255">Αποστολή ονόματος και κωδικού πρόσβασης χρήστη (FTP) </string>
+ <string id="1255">Αποστολή ονόματος και κωδικού πρόσβασης χρήστη (FTP)</string>
<string id="1256">Διάστημα μεταλλικού θορύβου</string>
- <string id="1257">Να συνδεθείτε στο συστήμα που εντοπίστηκε;</string>
+ <string id="1257">Να συνδεθείτε στο σύστημα που εντοπίστηκε;</string>
+
<string id="1260">Αναγγελία αυτών των υπηρεσιών σε άλλα συστήματα διαμέσου του Zeroconf</string>
+ <string id="1270">Έγκριση στο XBMC να λαμβάνει περιεχόμενο AirPlay</string>
+ <string id="1271">Όνομα συσκευής</string>
+ <string id="1272">- Χρήση προστασίας με κωδικό</string>
+
<string id="1300">Ειδική συσκευή ήχου</string>
<string id="1301">Ειδική συσκευή διέλευσης</string>
+
<string id="1396">Πυκνό</string>
<string id="1397">και</string>
<string id="1398">Παγωνιά</string>
@@ -784,17 +833,25 @@
<string id="1415">Ασθενής βροχή</string>
<string id="1416">Ομιχλώδης</string>
<string id="1417">Κόκκοι</string>
- <string id="1418">Καταιγίδες (με κεραυνούς) </string>
+ <string id="1418">Καταιγίδες (με κεραυνούς)</string>
<string id="1419">Μπόρες (με κεραυνούς)</string>
<string id="1420">Μέση</string>
<string id="1421">Πολύ υψηλή</string>
<string id="1422">Θυελλώδης</string>
<string id="1423">Ομίχλη</string>
+
+ <!-- strings through to 1450 reserved for weather translation -->
+
<string id="1450">Σε κατάσταση ύπνωσης κατά την αναμονή</string>
+ <!-- strings through to 1470 reserved for power-saving -->
+
<string id="2050">Διάρκεια</string>
+
<string id="2100">Αποτυχία script! : %s</string>
<string id="2101">Απαιτείται νεώτερη έκδοση - Δείτε το αρχείο καταγραφής</string>
+
<string id="4501">Ενεργοποίηση LCD/VFD</string>
+
<string id="10000">Αρχική τοποθεσία</string>
<string id="10001">Εφαρμογές</string>
<string id="10002">Φωτογραφίες</string>
@@ -806,7 +863,7 @@
<string id="10008">Ρυθμίσεις - Γενικά</string>
<string id="10009">Ρυθμίσεις - Οθόνη</string>
<string id="10010">Ρυθμίσεις - Αισθητικά - Βαθμονόμηση γραφικού περιβάλλοντος (GUI)</string>
- <string id="10011">Ρυθμίσεις - Βίντεο - Βαθμονόμιση Οθόνης</string>
+ <string id="10011">Ρυθμίσεις - Βίντεο - Βαθμονόμηση Οθόνης</string>
<string id="10012">Ρυθμίσεις - Φωτογραφίες</string>
<string id="10013">Ρυθμίσεις - Εφαρμογές</string>
<string id="10014">Ρυθμίσεις - Καιρός</string>
@@ -817,15 +874,21 @@
<string id="10019">Ρυθμίσεις - Εξατομίκευση</string>
<string id="10020">Scripts</string>
<string id="10021">Περιηγητής ιστού</string>
+ <string id="10025">Βίντεο</string>
<string id="10028">Βίντεο/Λίστα Αναπαραγωγής</string>
+ <string id="10029">Οθόνη σύνδεσης</string>
<string id="10034">Ρυθμίσεις - Προφίλ</string>
+ <string id="10040">Περιηγητής Πρόσθετων</string>
+
<string id="10100">Διάλογος Ναι/Όχι</string>
<string id="10101">Διάλογος διαδικασίας</string>
- <string id="10210">Αναζήτηση για υπότιτλων...</string>
+
+ <string id="10210">Αναζήτηση για υπότιτλους...</string>
<string id="10211">Προσωρινή αποθήκευση υπότιτλων...</string>
<string id="10212">τερματισμός</string>
<string id="10213">αποθήκευση</string>
<string id="10214">Άνοιγμα ροής</string>
+
<string id="10500">Μουσική/Λίστα αναπαραγωγής</string>
<string id="10501">Μουσική/Αρχεία</string>
<string id="10502">Μουσική/Συλλογή</string>
@@ -838,11 +901,14 @@
<string id="10509">Δικτυακό παιχνίδι</string>
<string id="10510">Καταλήξεις</string>
<string id="10511">Πληροφορίες συστήματος</string>
+
<string id="10516">Μουσική - Συλλογή</string>
<string id="10517">Μουσική - Εκτελείται τώρα</string>
+
<string id="10522">Βίντεο - Εκτελείται τώρα</string>
<string id="10523">Πληροφορίες</string>
<string id="10524">Πληροφορίες ταινίας</string>
+
<string id="12000">Επιλογή διαλόγου</string>
<string id="12001">Μουσική/Πληροφορίες</string>
<string id="12002">Διάλογος OK</string>
@@ -850,12 +916,15 @@
<string id="12004">Scripts/Πληροφορίες</string>
<string id="12005">Βίντεο πλήρους οθόνης</string>
<string id="12006">Απεικόνιση μουσικής</string>
+
<string id="12008">Διάλογος στοιβαγμένου αρχείου</string>
<string id="12009">Ανακατασκευή περιεχομένων...</string>
- <string id="12010">Επιστροφή στην μουσική</string>
+ <string id="12010">Επιστροφή στη μουσική</string>
<string id="12011">Επιστροφή στα βίντεο</string>
+
<string id="12021">Εκκίνηση από την αρχή</string>
<string id="12022">Επανεκκίνηση από %s</string>
+
<string id="12310">0</string>
<string id="12311">1</string>
<string id="12312">2</string>
@@ -886,44 +955,50 @@
<string id="12340">Εισαγωγή νέου κωδικού πρόσβασης</string>
<string id="12341">Επανεισαγωγή νέου κωδικού πρόσβασης</string>
<string id="12342">Λάθος κωδικός πρόσβασης.</string>
- <string id="12343">δοκιμές έμειναν</string>
+ <string id="12343">δοκιμές έμειναν </string>
<string id="12344">Ο κωδικός πρόσβασης δεν ταιριάζει.</string>
<string id="12345">Δεν επιτράπηκε η πρόσβαση</string>
<string id="12346">Οι δοκιμές εισαγωγής κωδικού πρόσβασης εξαντλήθηκαν.</string>
- <string id="12347">Το συστήμα τώρα θα απενεργοποιηθεί.</string>
+ <string id="12347">Το σύστημα τώρα θα απενεργοποιηθεί.</string>
<string id="12348">Το αντικείμενο κλειδώθηκε</string>
<string id="12353">Επανενεργοποίηση κλειδώματος</string>
<string id="12356">Αλλαγή κλειδώματος</string>
<string id="12357">Πηγαίο κλείδωμα</string>
<string id="12358">Το πεδίο του κωδικού πρόσβασης ήταν κενό. Ξαναπροσπαθήστε.</string>
<string id="12360">Κεντρικό κλείδωμα</string>
- <string id="12362">Απενεργοποίηση συστήματος όταν προσπάθειες εισαγωγής εξαντληθούν</string>
+ <string id="12362">Απενεργοποίηση συστήματος όταν εξαντληθούν οι προσπάθειες εισαγωγής</string>
<string id="12367">Ο κεντρικός κωδικός δεν είναι έγκυρος</string>
<string id="12368">Παρακαλώ, εισάγετε έναν έγκυρο κεντρικό κωδικό</string>
<string id="12373">Ρυθμίσεις &amp; διαχείριση αρχείων</string>
<string id="12376">Ορισμός ως προεπιλογή για όλες τις ταινίες</string>
<string id="12377">Διαγράφει όλες τις προηγούμενες αποθηκευμένες τιμές</string>
<string id="12378">Χρονικό διάστημα προβολής κάθε εικόνας</string>
- <string id="12379">Εφέ προσαρμογης αναλογιών σήματος (pan &amp; zoom)</string>
+ <string id="12379">Εφέ προσαρμογής αναλογιών σήματος (pan &amp; zoom)</string>
+
<string id="12383">Κανονικό ρολόι</string>
<string id="12384">Ψηφιακό ρολόι</string>
<string id="12385">Μέρα/Μήνας</string>
<string id="12386">Μήνας/Μέρα</string>
+
<string id="12390">Χρόνος λειτουργίας συστήματος</string>
<string id="12391">Λεπτά</string>
<string id="12392">Ώρες</string>
<string id="12393">Μέρες</string>
<string id="12394">Συνολικός χρόνος λειτουργίας</string>
<string id="12395">Επίπεδο φόρτισης</string>
+
<string id="12600">Ο καιρός</string>
+
<string id="12900">Προφύλαξη οθόνης</string>
- <string id="12901">Πλήρους οθόνης απεικόνισεις (OSD)</string>
+ <string id="12901">Απεικονίσεις πλήρους οθόνης (OSD)</string>
+
<string id="13000">Σύστημα</string>
<string id="13001">Άμεση ελάττωση περιστροφής (Spindown)</string>
<string id="13002">Βίντεο μόνο</string>
<string id="13003">- Καθυστέρηση</string>
<string id="13004">- Ελάχιστη διάρκεια αρχείου</string>
<string id="13005">Παύση λειτουργίας</string>
+
<string id="13008">Λειτουργία τερματισμού</string>
<string id="13009">Έξοδος</string>
<string id="13010">Αδρανοποίηση</string>
@@ -933,15 +1008,19 @@
<string id="13014">Ελαχιστοποίηση</string>
<string id="13015">Ενέργεια πλήκτρου λειτουργίας</string>
<string id="13016">Απενεργοποίηση συστήματος</string>
+
<string id="13020">Είναι ενεργή άλλη συνεδρία (ίσως μέσω ssh);</string>
<string id="13021">Προσάρτηση αναιρούμενου δίσκου</string>
<string id="13022">Επισφαλής αφαίρεση συσκευής</string>
<string id="13023">Η συσκευή αφαιρέθηκε επιτυχώς</string>
<string id="13024">Συνδέθηκε χειριστήριο</string>
<string id="13025">Αποσυνδέθηκε χειριστήριο</string>
+
<string id="13050">Έχει αποφορτιστεί η μπαταρία</string>
+
<string id="13100">Φίλτρο Flicker (τρεμόπαιγμα οθόνης)</string>
<string id="13101">Αφήστε τον οδηγό να επιλέξει (απαιτεί επανεκκίνηση)</string>
+
<string id="13105">Κατακόρυφος χρονισμός</string>
<string id="13106">Ανενεργός</string>
<string id="13107">Ενεργός κατά την αναπαραγωγή βίντεο</string>
@@ -949,10 +1028,12 @@
<string id="13109">Δοκιμή ανάλυσης</string>
<string id="13110">Αποθήκευση ανάλυσης;</string>
<string id="13111">Θέλετε να διατηρήσετε αυτή την ανάλυση;</string>
+
<string id="13112">Υψηλή ποιότητα ανακλιμακοθέτησης</string>
<string id="13113">Ανενεργό</string>
- <string id="13114">Ενεργό για περιεχόμενο SD </string>
+ <string id="13114">Ενεργό για περιεχόμενο SD</string>
<string id="13115">Πάντα ενεργό</string>
+
<string id="13116">Μέθοδος ανακλιμακοθέτησης</string>
<string id="13117">Δικυβική</string>
<string id="13118">Lanczos</string>
@@ -960,30 +1041,38 @@
<string id="13120">VDPAU</string>
<string id="13121">VDPAU HQ ανακλιμακοθέτηση</string>
<string id="13122">VDPAU Μετατροπή στάθμης χρώματος</string>
+
<string id="13130">Κενό σε άλλες απεικονίσεις</string>
<string id="13131">Ανενεργή</string>
- <string id="13132">Blank displays</string>
- <string id="13140">Έχουν ανιχνευτεί ενεργές συνδέσεις! </string>
+ <string id="13132">Κενές απεικονίσεις</string>
+
+ <string id="13140">Έχουν ανιχνευτεί ενεργές συνδέσεις!</string>
<string id="13141">Εάν συνεχίσετε, δεν θα είναι δυνατός πλέον ο έλεγχος του XBMC.</string>
<string id="13142">Να διακοπεί η λειτουργία του Απομακρυσμένου διακομιστή;</string>
+
<string id="13144">Αλλαγή κατάστασης συσκευής (Apple Remote);</string>
<string id="13145">Εάν χρησιμοποιείτε τώρα τη συσκευή (Apple Remote) για να</string>
<string id="13146">ελέγξετε το XBMC, η αλλαγή της ρύθμισης αυτής θα επηρεάσει</string>
<string id="13147">την ικανότητα ελέγχου του. Θέλετε να συνεχίσετε;</string>
- <string id="13159">Μάσκα Subnet</string>
+
+ <string id="13159">Μάσκα Υποδικτύου</string>
<string id="13160">Πύλη</string>
<string id="13161">Πρωτεύον DNS</string>
<string id="13162">Η αναγνώριση απέτυχε</string>
+
<string id="13170">Ποτέ</string>
<string id="13171">Αμέσως</string>
<string id="13172">Μετά από %i δευτ.</string>
<string id="13173">Ημερομηνία εγκατάστασης</string>
<string id="13174">Πλήθος περιστροφών σε ισχύ</string>
+
<string id="13200">Προφίλ</string>
<string id="13201">Διαγραφή προφίλ '%s';</string>
+
<string id="13204">Προηγούμενο προφίλ:</string>
<string id="13205">Άγνωστο</string>
<string id="13206">Αντικατάσταση</string>
+
<string id="13208">Ξυπνητήρι</string>
<string id="13209">Διάρκεια κουδουνισμού (σε λεπτά)</string>
<string id="13210">Εκκίνηση ξυπνητηριού σε %im</string>
@@ -991,13 +1080,16 @@
<string id="13212">Ακυρώθηκε %im%is απέμειναν</string>
<string id="13213">%2.0fm</string>
<string id="13214">%2.0fs</string>
+
<string id="13249">Αναζήτηση υποτίτλων στα RARs</string>
<string id="13250">Αναζήτηση για υπότιτλο...</string>
<string id="13251">Μετακίνηση αντικειμένου</string>
<string id="13252">Μετακίνηση αντικειμένου εδώ</string>
<string id="13253">Ακύρωση μετακίνησης</string>
+
<string id="13270">Υλικό</string>
<string id="13271">Ταχύτητα CPU</string>
+
<string id="13274">Συνδέθηκε, αλλά η διεύθυνση DNS δεν είναι διαθέσιμη.</string>
<string id="13275">Σκληρός δίσκος</string>
<string id="13276">DVD-ROM</string>
@@ -1006,15 +1098,20 @@
<string id="13279">Δίκτυο</string>
<string id="13280">Βίντεο</string>
<string id="13281">Υλικό</string>
+
<string id="13283">Λειτουργικό σύστημα</string>
<string id="13284">Ταχύτητα CPU</string>
- <string id="13286">Βίντεο κωδικοποιητής</string>
+
+ <string id="13286">Κωδικοποιητής βίντεο:</string>
<string id="13287">Ανάλυση οθόνης</string>
+
<string id="13292">Καλώδιο A/V</string>
+
<string id="13294">Περιοχή DVD</string>
<string id="13295">Internet</string>
<string id="13296">Συνδέθηκε</string>
<string id="13297">Δε συνδέθηκε. Ελέγξτε τις ρυθμίσεις δικτύου.</string>
+
<string id="13299">Θερμοκρασία στόχος</string>
<string id="13300">Ταχύτητα ανεμιστήρα</string>
<string id="13301">Αυτόματος έλεγχος θερμοκρασίας</string>
@@ -1053,6 +1150,7 @@
<string id="13334">Επεξεργασία ετικέτας</string>
<string id="13335">Εξ' ορισμού επιλογή</string>
<string id="13336">Απαλοιφή πλήκτρου</string>
+
<string id="13340">Παραμένει ως έχει</string>
<string id="13341">Πράσινο</string>
<string id="13342">Πορτοκαλί</string>
@@ -1075,6 +1173,7 @@
<string id="13359">Ορισμός μικρογραφίας καλλιτέχνη</string>
<string id="13360">Αυτόματη δημιουργία μικρογραφιών</string>
<string id="13361">Ενεργοποίηση φωνής</string>
+
<string id="13375">Ενεργοποίηση συσκευής</string>
<string id="13376">Ένταση</string>
<string id="13377">Προεπιλεγμένη κατάσταση προβολής</string>
@@ -1089,10 +1188,8 @@
<string id="13386">Αναζήτηση βασισμένη στην χρήση χρόνου</string>
<string id="13387">Πρότυπο ονομασίας κομματιού (δεξιά πλευρά)</string>
<string id="13388">Προκαθορισμένα</string>
- <string id="13389">Δεν υπάρχουν διαθέσιμα προκαθορισμένα
-γι' αυτή την απεικόνιση</string>
- <string id="13390">Δεν υπάρχουν διαθέσιμες ρυθμίσεις
-γι' αυτή την απεικόνιση</string>
+ <string id="13389">Δεν υπάρχουν διαθέσιμα προκαθορισμένα γι' αυτή την απεικόνιση</string>
+ <string id="13390">Δεν υπάρχουν διαθέσιμες ρυθμίσεις γι' αυτή την απεικόνιση</string>
<string id="13391">Εξαγωγή/Εισαγωγή</string>
<string id="13392">Χρήση απεικονίσεων κατά την αναπαραγωγή ήχου</string>
<string id="13393">Υπολόγισε το μέγεθος</string>
@@ -1110,8 +1207,8 @@
<string id="13405">Μικρογραφία</string>
<string id="13406">Πληροφορίες εικόνας</string>
<string id="13407">%s προκαθορισμένα</string>
- <string id="13408">(Αξιολόγηση χρήστη IMDb)</string>
- <string id="13409">250 κορυφαία </string>
+ <string id="13408">(Αξιολόγηση IMDb)</string>
+ <string id="13409">250 κορυφαία</string>
<string id="13410">Συντονισμός στο Last.FM</string>
<string id="13411">Ελάχιστη ταχύτητα ανεμιστήρα</string>
<string id="13412">Αναπαραγωγή από εδώ</string>
@@ -1135,6 +1232,7 @@
<string id="13430">Αποδοχή επιτάχυνσης υλικού (OpenMax)</string>
<string id="13431">Σκιάσεις εικονοστοιχείου</string>
<string id="13432">Έγκριση επιτάχυνσης υλικού (VideoToolbox)</string>
+
<string id="13500">Μέθοδος συγχρονισμού A/V</string>
<string id="13501">Χρονισμός ήχου</string>
<string id="13502">Χρονισµός βίντεο (εις βάρος του ήχου)</string>
@@ -1146,19 +1244,25 @@
<string id="13508">Υψηλή</string>
<string id="13509">Πραγματικά υψηλή (αργή!)</string>
<string id="13510">Συγχρονισμός αναπαραγωγής ήχου κατά τη προβολή</string>
- <string id="13550">Παύση κατά τη διάρκεια ανανέωσης του ρυθμού αλλαγής </string>
+
+ <string id="13550">Παύση κατά τη διάρκεια ανανέωσης του ρυθμού αλλαγής</string>
<string id="13551">Ανενεργό</string>
<string id="13552">%.1f Δευτερόλεπτο</string>
<string id="13553">%.1f Δευτερόλεπτα</string>
+
<string id="13600">Apple Remote</string>
+
<string id="13602">Έγκριση έναρξης του XBMC μέσου απομακρυσμένου ελέγχου</string>
<string id="13603">Ακολουθία χρόνου καθυστέρησης</string>
+
<string id="13610">Ανενεργή</string>
<string id="13611">Τυπική</string>
<string id="13612">Τηλεχειριστήριο γενικής χρήσης</string>
<string id="13613">Τηλεχειριστήριο γενικής χρήσης (Harmony)</string>
+
<string id="13620">Σφάλμα συσκευής (Apple Remote)</string>
<string id="13621">Αδυναμία υποστήριξης συσκευής (Apple Remote).</string>
+
<string id="14000">Στοίβαγμα</string>
<string id="14001">Σκόρπισμα</string>
<string id="14003">Λήψη αρχείου λίστας αναπαραγωγής...</string>
@@ -1166,6 +1270,7 @@
<string id="14005">Ανάλυση λίστας ροής πολυμέσων...</string>
<string id="14006">Αποτυχία λήψης λίστας ροής πολυμέσων</string>
<string id="14007">Αποτυχία λήψης αρχείου λίστας αναπαραγωγής</string>
+
<string id="14009">Κατάλογος παιχνιδιών</string>
<string id="14010">Αυτόματη εναλλαγή με βάση τις μικρογραφίες</string>
<string id="14011">Ενεργοποίηση αυτόματης εναλλαγής στην προβολή μικρογραφιών</string>
@@ -1192,10 +1297,12 @@
<string id="14034">Λανθάνουσα μνήμη DVD - DVDRom</string>
<string id="14035">- Τοπικό δίκτυο</string>
<string id="14036">Υπηρεσίες</string>
+
<string id="14038">Οι ρυθμίσεις του δικτύου άλλαξαν</string>
<string id="14039">Το XBMC πρέπει να επανεκκινηθεί για να αλλάξουν</string>
<string id="14040">οι ρυθμίσεις δικτύου. Να γίνει επανεκκίνηση;</string>
<string id="14041">Σύνδεση Internet με περιορισμένο εύρος</string>
+
<string id="14043">- Τερματισμός κατά την αναπαραγωγή</string>
<string id="14044">%i λεπτ.</string>
<string id="14045">%i δευτ.</string>
@@ -1207,11 +1314,12 @@
<string id="14051">Διαμόρφωση Ώρας</string>
<string id="14052">Διαμόρφωση Ημ/νίας</string>
<string id="14053">Φίλτρα γραφικού περιβάλλοντος (GUI)</string>
+
<string id="14055">Σάρωση στο παρασκήνιο</string>
<string id="14056">Διακοπή σάρωσης</string>
<string id="14057">Δεν είναι εφικτό κατά τη σάρωση πληροφοριών αρχείων</string>
<string id="14058">Εφέ Film Grain</string>
- <string id="14059">Έρευνα στους κοινόχρηστους πόρους για μικρογραφίες </string>
+ <string id="14059">Έρευνα στους κοινόχρηστους πόρους για μικρογραφίες</string>
<string id="14060">Άγνωστος τύπος λανθάνουσας μνήμης - Internet</string>
<string id="14061">Αυτόματο/η</string>
<string id="14062">Εισάγετε όνομα χρήστη για</string>
@@ -1224,6 +1332,7 @@
<string id="14069">Εφαρμογή αυτών των ρυθμίσεων τώρα;</string>
<string id="14070">Εφαρμογή ρυθμίσεων τώρα</string>
<string id="14071">Επιτρεπτή η μετονομασία και η διαγραφή</string>
+
<string id="14074">Ορισμός ζώνης ώρας</string>
<string id="14075">Ενεργοποίηση θερινής ώρας</string>
<string id="14076">Προσθήκη στα αγαπημένα</string>
@@ -1246,26 +1355,32 @@
<string id="14093">Ασφάλεια</string>
<string id="14094">Συσκευές εισόδου</string>
<string id="14095">Εξοικονόμηση ενέργειας</string>
+
<string id="15015">Απομάκρυνση</string>
<string id="15016">Παιχνίδια</string>
+
<string id="15019">Προσθήκη</string>
+
<string id="15052">Κωδικός πρόσβασης</string>
+
<string id="15100">Συλλογή</string>
<string id="15101">Βάση δεδομένων</string>
<string id="15102">* Όλα τα άλμπουμ</string>
<string id="15103">* Όλοι οι καλλιτέχνες</string>
<string id="15104">* Όλα τα τραγούδια</string>
<string id="15105">* Όλα τα είδη</string>
+
<string id="15107">Aποθήκευση...</string>
<string id="15108">Ήχοι πλοήγησης</string>
<string id="15109">Προεπιλεγμένο κέλυφος</string>
<string id="15111">- Θέμα</string>
<string id="15112">Προεπιλεγμένο Θέμα</string>
+
<string id="15200">Last.FM</string>
<string id="15201">Αποστολή τραγουδιών στο Last.FM</string>
<string id="15202">Όνομα χρήστη Last.FM</string>
<string id="15203">Κωδικός πρόσβασης Last.FM</string>
- <string id="15204">Αδύνατη η χειραψία: σε αδράνεια... </string>
+ <string id="15204">Αδύνατη η χειραψία: σε αδράνεια...</string>
<string id="15205">Παρακαλώ, αναβαθμίστε το XBMC</string>
<string id="15206">Απέτυχε η εξακρίβωση. Ελέγξτε το όνομα χρήστη και τον κωδικό πρόσβασης</string>
<string id="15207">Συνδεμένο</string>
@@ -1283,6 +1398,7 @@
<string id="15219">Κωδικός πρόσβασης (Libre.fm)</string>
<string id="15220">Libre.fm</string>
<string id="15221">Υποβολή αιτήματος τραγουδιού</string>
+
<string id="15250">Αποστολή Last.fm radio στο Last.fm</string>
<string id="15251">Σύνδεση με Last.FM...</string>
<string id="15252">Επιλογή σταθμού...</string>
@@ -1319,6 +1435,7 @@
<string id="15283">Κομμάτια που ακούστηκαν πρόσφατα από τον %name%</string>
<string id="15284">Ακρόαση των προτιμήσεων του %name% στο Last.FM radio</string>
<string id="15285">Κορυφαίες ετικέτες για τον χρήστη %name%</string>
+
<string id="15287">Να προστεθεί το παρόν κομμάτι στα αγαπημένα σας;</string>
<string id="15288">Να αποκλειστεί το παρόν κομμάτι;</string>
<string id="15289">Προσθήκη στα αγαπημένα σας κομμάτια: '%s'.</string>
@@ -1331,16 +1448,21 @@
<string id="15296">Αποδεκτό</string>
<string id="15297">Να αφαιρεθεί το παρόν κομμάτι από τα αγαπημένα σας;</string>
<string id="15298">Να μην αποκλειστεί το παρόν κομμάτι;</string>
+
<string id="15300">H διαδρομή δεν βρέθηκε</string>
<string id="15301">Απέτυχε η σύνδεση με τον διακομιστή δικτύου</string>
<string id="15302">Δεν βρέθηκαν διακομιστές</string>
<string id="15303">Δεν βρέθηκαν ομάδες εργασίας</string>
+
<string id="15310">Άνοιγμα πηγής multi-path</string>
<string id="15311">Διαδρομή:</string>
+
<string id="16000">Γενικά</string>
+
<string id="16002">Έρευνα στο Internet</string>
<string id="16003">Αναπαραγωγή</string>
<string id="16004">Αναπαραγωγή πολυμέσων από το δίσκο</string>
+
<string id="16008">Εισάγετε νέο τίτλο</string>
<string id="16009">Εισάγετε το όνομα της ταινίας</string>
<string id="16010">Εισάγετε το όνομα του προφίλ</string>
@@ -1353,7 +1475,7 @@
<string id="16017">Εισαγωγή συμβολοσειράς αναζήτησης</string>
<string id="16018">Καμία</string>
<string id="16019">Αυτόματη επιλογή</string>
- <string id="16020">Διαστρωμάτωση</string>
+ <string id="16020">Απόπλεξη</string>
<string id="16021">Επιλεκτική</string>
<string id="16022">Επιλεκτική (αντιστροφή)</string>
<string id="16023">Μέθοδος περιπλεγμένου χειρισμού</string>
@@ -1369,13 +1491,20 @@
<string id="16033">Απέτυχε το άνοιγμα της βάσης δεδομένων.</string>
<string id="16034">Απέτυχε η λήψη τραγουδιών από τη βάση δεδομένων.</string>
<string id="16035">Λίστα αναπαραγωγής σε Party Μode</string>
- <string id="16036">Απεπλεγμένη (κατά το ήμισυ) </string>
+ <string id="16036">Απόπλεξη (κατά το ήμισυ)</string>
+ <string id="16037">Απόπλεξη βίντεο</string>
+ <string id="16038">Μέθοδος απόπλεξης</string>
+ <string id="16039">Ανενεργή</string>
+ <string id="16040">Αυτόματη</string>
+ <string id="16041">Ενεργή</string>
+
<string id="16100">Όλα τα βίντεο</string>
<string id="16101">Μη προβληθέντα</string>
<string id="16102">Προβληθέντα</string>
<string id="16103">Επισήμανση ως προβληθέντα</string>
<string id="16104">Επισήμανση ως μη προβληθέντα</string>
<string id="16105">Επεξεργασία τίτλου</string>
+
<string id="16200">Η διαδικασία ακυρώθηκε</string>
<string id="16201">Η αντιγραφή απέτυχε</string>
<string id="16202">Απέτυχε η αντιγραφή τουλάχιστον ενός αρχείου</string>
@@ -1383,6 +1512,7 @@
<string id="16204">Απέτυχε η μετακίνηση τουλάχιστον ενός αρχείου</string>
<string id="16205">Η διαγραφή απέτυχε</string>
<string id="16206">Απέτυχε η διαγραφή τουλάχιστον ενός αρχείου</string>
+
<string id="16300">Μέθοδος προσαρμογής ανάλυσης βίντεο</string>
<string id="16301">Εγγύτερη προσέγγιση</string>
<string id="16302">Διγραμμική</string>
@@ -1403,18 +1533,29 @@
<string id="16317">Χρονική (κατά το ήμισυ)</string>
<string id="16318">Χρονική/Χωρική (κατά το ήμισυ)</string>
<string id="16319">DXVA</string>
+ <string id="16320">DXVA Bob</string>
+ <string id="16321">DXVA Best</string>
+ <string id="16322">Spline36</string>
+ <string id="16323">Spline36 βελτιστοποιημένο</string>
+ <string id="16324">Blend λογισμικού</string>
+
<string id="16400">Μετα-επεξεργασία</string>
- <string id="17500">Προβολή λήξης χρόνου αναστόλης</string>
+
+ <string id="17500">Προβολή λήξης χρόνου αναστολής</string>
+
<string id="19000">Αλλαγή καναλιού</string>
+
<string id="20000">Φάκελος αποθήκευσης μουσικής</string>
<string id="20001">Χρήση εξωτερικού αναπαραγωγέα DVD</string>
<string id="20002">Εξωτερικός αναπαραγωγέας DVD</string>
<string id="20003">Φάκελος εκπαιδευτών</string>
<string id="20004">Φάκελος στιγμιότυπου</string>
+
<string id="20006">Φάκελος λίστας αναπαραγωγής</string>
<string id="20007">Εγγραφές</string>
<string id="20008">Στιγμιότυπα</string>
<string id="20009">Χρήση XBMC</string>
+
<string id="20011">Λίστες αναπαραγωγής μουσικής</string>
<string id="20012">Λίστες αναπαραγωγής βίντεο</string>
<string id="20013">Να εκτελεστεί το παιχνίδι;</string>
@@ -1424,10 +1565,16 @@
<string id="20017">Τοπική μικρογραφία</string>
<string id="20018">Χωρίς μικρογραφία</string>
<string id="20019">Επιλογή μικρογραφίας</string>
+
+ <!-- string id 20022 will always be set to an empty string (LocalizeStrings.cpp)-->
+ <string id="20022"></string>
<string id="20023">Διένεξη</string>
<string id="20024">Σάρωση καινούργιων</string>
<string id="20025">Σάρωση όλων</string>
<string id="20026">Περιοχή</string>
+
+ <!-- string id's 20027 thru 20034 are reserved for temperature strings (LocalizeStrings.cpp)-->
+
<string id="20037">Συνολικές</string>
<string id="20038">Κλείδωμα της μουσικής</string>
<string id="20039">Κλείδωμα των βίντεο</string>
@@ -1447,6 +1594,7 @@
<string id="20053">Αριστερή γενική διαχείριση</string>
<string id="20054">Καταχωρημένη γενική διαχείριση</string>
<string id="20055">Μικρογραφία Allmusic.com</string>
+
<string id="20057">Απομάκρυνση μικρογραφίας</string>
<string id="20058">Προσθέστε προφίλ...</string>
<string id="20059">Ερώτημα για όλα τα άλμπουμ</string>
@@ -1520,7 +1668,7 @@
<string id="20128">Πήγαινε στο root</string>
<string id="20129">Ύφανση</string>
<string id="20130">Ύφανση (αντιστροφή)</string>
- <string id="20131">Συνδυασμός </string>
+ <string id="20131">Συνδυασμός</string>
<string id="20132">Επανεκκίνηση βίντεο</string>
<string id="20133">Επεξεργασία τοποθεσίας δικτύου</string>
<string id="20134">Απομάκρυνση τοποθεσίας δικτύου</string>
@@ -1554,9 +1702,9 @@
<string id="20162">Χρησιμοποιημένα</string>
<string id="20163">από τα</string>
<string id="20164">Δεν υποστηρίζει κλείδωμα</string>
- <string id="20165">Ξεκλείδωτοs</string>
- <string id="20166">Κλειδωμένοs</string>
- <string id="20167">Παγωμένοs</string>
+ <string id="20165">Ξεκλείδωτος</string>
+ <string id="20166">Κλειδωμένος</string>
+ <string id="20167">Παγωμένος</string>
<string id="20168">Απαιτεί επανεκκίνηση</string>
<string id="20169">Εβδομάδα</string>
<string id="20170">Γραμμή</string>
@@ -1574,8 +1722,9 @@
<string id="20182">Κενό</string>
<string id="20183">Επαναφόρτωση κελύφους</string>
<string id="20184">Περιστροφή εικόνων που χρησιμοποιούν τις πληροφορίες EXIF</string>
- <string id="20185">Χρήση όψης αφίσας για τις τηλεοπτικές σειρές</string>
+ <string id="20185">Χρήση στυλ αφισών για τις τηλεοπτικές σειρές</string>
<string id="20186">Απασχολημένο</string>
+
<string id="20189">Ενεργοποίηση αυτόματης κύλισης στην επισκόπηση πλοκής &amp; κριτικής</string>
<string id="20190">Προσαρμογή</string>
<string id="20191">Ενεργοποίηση καταγραφής αποσφαλμάτωσης</string>
@@ -1587,42 +1736,52 @@
<string id="20197">Εισαγωγή μουσικής συλλογής</string>
<string id="20198">Δεν βρέθηκε ο καλλιτέχνης!</string>
<string id="20199">Αποτυχία λήψης πληροφοριών για τον καλλιτέχνη</string>
+
+ <!-- string id's 20200 thru 20211 are reserved for speedstrings (LocalizeStrings.cpp)-->
+
<string id="20250">Party on! (βίντεο)</string>
<string id="20251">Αναμιγνύοντας τα ποτά (βίντεο)</string>
<string id="20252">Γεμίζοντας τα ποτήρια (βίντεο)</string>
<string id="20253">Διακομιστής WebDAV (HTTP)</string>
<string id="20254">Διακομιστής WebDAV (HTTPS)</string>
<string id="20255">Πρώτη σύνδεση, επεξεργαστείτε το προφίλ σας</string>
- <string id="20256">HTS Tvheadend client</string>
- <string id="20257">VDR Streamdev client</string>
- <string id="20258">MythTV client</string>
+ <string id="20256">Πελάτης HTS Tvheadend</string>
+ <string id="20257">Πελάτης VDR Streamdev</string>
+ <string id="20258">Πελάτης MythTV</string>
<string id="20259">Σύστημα Αρχείων Δικτύου (NFS)</string>
<string id="20260">Κέλυφος Ασφαλείας (SSH/SFTP)</string>
+ <string id="20261">Πρωτόκολλο Αρχειοθέτησης Apple (AFP)</string>
+
<string id="20300">Κατάλογος διακομιστή ιστού (HTTP)</string>
<string id="20301">Κατάλογος διακομιστή ιστού (HTTPS)</string>
- <string id="20302">Αδυναμία εγγραφής στο φάκελλο:</string>
+ <string id="20302">Αδυναμία εγγραφής στο φάκελο:</string>
<string id="20303">Θέλετε να παραβλεφθεί και να συνεχίσετε;</string>
<string id="20304">Ροή τίτλων ειδήσεων (RSS)</string>
+
<string id="20307">Δευτερεύον DNS</string>
<string id="20308">DHCP διακομιστή:</string>
<string id="20309">Δημιουργία νέου φακέλου</string>
- <string id="20310">Dim LCD κατα την αναπαραγωγή</string>
+ <string id="20310">Σκίαση LCD κατά την αναπαραγωγή</string>
<string id="20311">Άγνωστο ή πάνω στην μητρική (προστατεύεται)</string>
- <string id="20312">Dim LCD σε παύση</string>
+ <string id="20312">Σκίαση LCD σε παύση</string>
+
<string id="20314">Βίντεο - Συλλογή</string>
+
<string id="20316">Ταξ. κατά: ID</string>
+
<string id="20324">Αναπαραγωγή κομματιού...</string>
<string id="20325">Επαναφορά βαθμονόμησης</string>
<string id="20326">Επαναφορά των τιμών βαθμονόμησης για %s</string>
<string id="20327">στις προκαθορισμένες τιμές.</string>
<string id="20328">Αναζήτηση προορισμού</string>
+ <string id="20329">Οι ταινίες είναι σε διαφορετικούς φακέλους που ταιριάζουν με τον τίτλο της ταινίας</string>
<string id="20330">Χρήση ονόματος φακέλου για αναζητήσεις</string>
<string id="20331">Αρχείο</string>
<string id="20332">Χρήση φακέλων ή ονομάτων αρχείων στις αναζητήσεις;</string>
<string id="20333">Ορισμός περιεχομένου</string>
<string id="20334">Φάκελος</string>
<string id="20335">Κατόπτευση κατ' επανάληψη του περιεχομένου;</string>
- <string id="20336">Ξεκλείδωτες πηγές</string>
+ <string id="20336">Ξεκλείδωμα πηγών</string>
<string id="20337">Ηθοποιός</string>
<string id="20338">Ταινία</string>
<string id="20339">Σκηνοθεσία</string>
@@ -1656,7 +1815,7 @@
<string id="20367">Απόκρυψη προβληθέντων</string>
<string id="20368">Κωδικός παραγωγής</string>
<string id="20369">Εμφάνιση πλοκής στα μη προβληθέντα</string>
- <string id="20370">* Απόκρυψη σε περίληψη *</string>
+ <string id="20370">* Απόκρυψη για αποφυγή spoiler *</string>
<string id="20371">Ορισμός μικρογραφίας κύκλου</string>
<string id="20372">Εικόνα κύκλου</string>
<string id="20373">Κύκλος</string>
@@ -1685,16 +1844,17 @@
<string id="20396">Άλμπουμ καλλιτέχνη</string>
<string id="20397">Άλμπουμ</string>
<string id="20398">Αναπαραγωγή τραγουδιού</string>
- <string id="20399">Μουσικά βίντεο από άλμπουμ </string>
+ <string id="20399">Μουσικά βίντεο από άλμπουμ</string>
<string id="20400">Μουσικά βίντεο ανά καλλιτέχνη</string>
<string id="20401">Αναπαραγωγή μουσικού βίντεο</string>
<string id="20402">Λήψη μικρογραφιών ηθοποιού κατά τη προσθήκη στη συλλογή</string>
<string id="20403">Ορισμός μικρογραφίας ηθοποιού</string>
+
<string id="20405">Αφαίρεση σελιδοδείκτη επεισοδίου</string>
<string id="20406">Ορισμός σελιδοδείκτη επεισοδίου</string>
<string id="20407">Ρυθμίσεις καταγραφέα</string>
<string id="20408">Λήψη πληροφοριών για το μουσικό βίντεο</string>
- <string id="20409">Λήψη πληροφοριών για την τηλεοπτική σειρά </string>
+ <string id="20409">Λήψη πληροφοριών για την τηλεοπτική σειρά</string>
<string id="20410">Διαφημιστικό</string>
<string id="20411">Ισοπέδωση</string>
<string id="20412">Ισοπέδωση τηλεοπτικών σειρών</string>
@@ -1703,7 +1863,9 @@
<string id="20415">Έλεγχος για νέα περιεχόμενα</string>
<string id="20416">Πρεμιέρα</string>
<string id="20417">Σενάριο</string>
- <string id="20419">Εμφάνιση μεταδεδομένων κατά την προβολή αρχείων</string>
+ <string id="20418"></string>
+ <string id="20419">Αντικατάσταση ονομάτων αρχείων με τίτλους συλλογών</string>
+
<string id="20420">Ποτέ</string>
<string id="20421">Eάν είναι ενός κύκλου</string>
<string id="20422">Πάντα</string>
@@ -1718,13 +1880,13 @@
<string id="20431">Αντικατάσταση παλιών αρχείων;</string>
<string id="20432">Εξαίρεση διαδρομής από τις ενημερώσεις συλλογής</string>
<string id="20433">Εξαγωγή μικρογραφιών και πληροφοριών</string>
- <string id="20434">Ορίσματα</string>
+ <string id="20434">Ομάδες Ταινιών</string>
<string id="20435">Ορισμός θέσης μικρογραφίας ταινίας</string>
<string id="20436">Εξαγωγή μικρογραφιών καλλιτέχνη;</string>
<string id="20437">Επιλεγμένο fanart</string>
<string id="20438">Τοπικό fanart</string>
<string id="20439">Χωρίς fanart</string>
- <string id="20440">Tρέχον fanart</string>
+ <string id="20440">Τρέχον fanart</string>
<string id="20441">Απομακρυσμένο fanart</string>
<string id="20442">Αλλαγή περιεχομένου</string>
<string id="20443">Επιθυμείτε να ανανεώσετε τις πληροφορίες</string>
@@ -1732,16 +1894,21 @@
<string id="20445">Fanart</string>
<string id="20446">Βρέθηκαν τοπικά αποθηκευμένες πληροφορίες.</string>
<string id="20447">Να αγνοηθούν και να ανανεωθούν από το internet;</string>
- <string id="20448">Αδυναμία λήψης πληροφοριών </string>
+ <string id="20448">Αδυναμία λήψης πληροφοριών</string>
<string id="20449">Αδυναμία σύνδεσης με τον απομακρυσμένο διακομιστή</string>
- <string id="20450">Επιθυμείτε, να συνεχίσετε την αναζήτηση;</string>
+ <string id="20450">Επιθυμείτε να συνεχίσετε την αναζήτηση;</string>
<string id="20451">Χώρες</string>
<string id="20452">επεισόδιο</string>
<string id="20453">επεισόδια</string>
<string id="20454">Ακροατής</string>
<string id="20455">Ακροατές</string>
- <string id="20456">Προσαρμογή ορισμάτων ταινίας fanart</string>
+ <string id="20456">Ορισμός fanart ομάδας ταινιών</string>
+ <string id="20457">Ομάδα Ταινιών</string>
+ <string id="20458">Ομαδοποίηση ταινιών</string>
+ <!-- up to 21329 is reserved for the video db !! !-->
+
<string id="21330">Προβολή κρυφών αρχείων και φακέλων</string>
+
<string id="21331">Πελάτης TuxBox</string>
<string id="21332">ΠΡΟΣΟΧΗ: Η συσκευή TuxBox βρίσκεται σε κατάσταση εγγραφής!</string>
<string id="21333">Η ροή πολυμέσων θα σταματήσει!</string>
@@ -1749,12 +1916,17 @@
<string id="21335">Θέλετε να ξεκινήσει η ροή πολυμέσων;</string>
<string id="21336">Σύνδεση στο: %s</string>
<string id="21337">Συσκευή TuxBox</string>
+ <!-- up to 21355 is reserved for the TuxBox Client!! !-->
+
<string id="21359">Προσθήκη κοινόχρηστου πολυμέσου...</string>
<string id="21360">Διαμοιρασμός κοινόχρηστων συλλογών μουσικής και βίντεο διαμέσου UPnP</string>
+
<string id="21364">Επεξεργασία κοινόχρηστων πολυμέσων</string>
<string id="21365">Απομάκρυνση κοινόχρηστων πολυμέσων</string>
- <string id="21366">Φακέλος υποτίτλων</string>
+ <string id="21366">Φάκελος υποτίτλων</string>
<string id="21367">Ταινία &amp; εναλλακτικός φάκελος υποτίτλων</string>
+ <string id="21368">Παράκαμψη γραμματοσειρών υποτίτλων ASS/SSA</string>
+
<string id="21369">Ενεργοποίηση ποντικιού</string>
<string id="21370">Ενεργοποίηση ήχων πλοήγησης κατά την εκτέλεση πολυμέσων</string>
<string id="21371">Μικρογραφία</string>
@@ -1806,9 +1978,9 @@
<string id="21417">- Ρυθμίσεις</string>
<string id="21418">Πολύγλωσσο</string>
<string id="21419">Δεν υπάρχει διαθέσιμος καταγραφέας</string>
- <string id="21420">Τιμές για αντιστοίχηση</string>
+ <string id="21420">Τιμές για αντιστοίχιση</string>
<string id="21421">Όροι έξυπνης λίστας αναπαραγωγής</string>
- <string id="21422">Κριτήρια αντιστοίχησης αντικειμένων</string>
+ <string id="21422">Κριτήρια αντιστοίχισης αντικειμένων</string>
<string id="21423">Νέοι κανόνες...</string>
<string id="21424">Αντικείμενα με πολλές αντιστοιχίες</string>
<string id="21425">με όλους τους κανόνες</string>
@@ -1835,11 +2007,21 @@
<string id="21446">Κωδικοποίηση ήχου</string>
<string id="21447">Γλώσσα ήχου</string>
<string id="21448">Γλώσσα υποτίτλων</string>
- <string id="21449">Το τηλεχειριστήριο στέλνει εντολές πληκτρολογίου </string>
+ <string id="21449">Το τηλεχειριστήριο στέλνει εντολές πληκτρολογίου</string>
<string id="21450">- Επεξεργασία</string>
<string id="21451">Απαιτείται σύνδεση στο Internet.</string>
<string id="21452">Λήψη περισσότερων...</string>
<string id="21453">Σύστημα αρχείων root</string>
+ <string id="21454">Λανθάνουσα μνήμη πλήρης</string>
+ <string id="21455">Η λανθάνουσα μνήμη γέμισε πριν φθάσει το απαιτούμενο μέγεθος για συνεχόμενη αναπαραγωγή</string>
+
+ <string id="21460">Θέση υπότιτλου</string>
+ <string id="21461">Σταθερή</string>
+ <string id="21462">Κάτω πλευρά του βίντεο</string>
+ <string id="21463">Κάτω από το βίντεο</string>
+ <string id="21464">Πάνω πλευρά του βίντεο</string>
+ <string id="21465">Πάνω από το βίντεο</string>
+
<string id="21800">Όνομα αρχείου</string>
<string id="21801">Διαδρομή αρχείου</string>
<string id="21802">Μέγεθος αρχείου</string>
@@ -1848,7 +2030,8 @@
<string id="21805">Ανάλυση</string>
<string id="21806">Σχόλιο</string>
<string id="21807">Απόδοση</string>
- <string id="21808">Επεξεργασία Jpeg</string>
+ <string id="21808">Επεξεργασία JPEG</string>
+
<string id="21820">Ημερομηνία λήψης</string>
<string id="21821">Περιγραφή</string>
<string id="21822">Κατασκευαστής κάμερας</string>
@@ -1869,10 +2052,11 @@
<string id="21837">Ευαισθησία ISO</string>
<string id="21838">Ψηφιακή μεγέθυνση</string>
<string id="21839">Πλάτος CCD</string>
- <string id="21840">GPS γεωγραφικό πλάτος </string>
+ <string id="21840">GPS γεωγραφικό πλάτος</string>
<string id="21841">GPS γεωγραφικό μήκος</string>
<string id="21842">GPS υψόμετρο</string>
<string id="21843">Προσανατολισμός</string>
+
<string id="21860">Συμπληρωματικές πληροφορίες</string>
<string id="21861">Λέξεις κλειδιά</string>
<string id="21862">Λεζάντα</string>
@@ -1894,11 +2078,11 @@
<string id="21878">Πνευματικά δικαιώματα</string>
<string id="21879">Κωδικός χώρας</string>
<string id="21880">Υπηρεσία πληροφόρησης</string>
- <string id="21881">Έγκριση στους ελεγκτές UPnP να ελέγχουν το XBMC</string>
+ <string id="21881">Έγκριση στους ελεγκτές UPnP να ελέγχουν το XBMC</string>
<string id="21882">Απόπειρα αποφυγής οδηγιών πριν από το μενού DVD</string>
<string id="21883">Αποθηκευμένη μουσική</string>
<string id="21884">Ερώτημα για όλους τους καλλιτέχνες</string>
- <string id="21885">Λήψη πληροφοριών για το άλμπουμ </string>
+ <string id="21885">Λήψη πληροφοριών για το άλμπουμ</string>
<string id="21886">Λήψη πληροφοριών για τον καλλιτέχνη</string>
<string id="21887">Βιογραφικό</string>
<string id="21888">Δισκογραφία</string>
@@ -1914,16 +2098,20 @@
<string id="21898">Έτη ενεργής σταδιοδρομίας</string>
<string id="21899">Ετικέτα</string>
<string id="21900">Γέννηση/Δημιουργία</string>
+
+ <!-- strings 21900 thru 21999 reserved for slideshow info -->
+
<string id="22000">Ενημέρωση της συλλογής κατά την εκκίνηση</string>
<string id="22001">Απόκρυψη εξέλιξης ενημερώσεων συλλογής</string>
<string id="22002">- Κατάληξη DNS</string>
+
<string id="22003">%2.3fs</string>
<string id="22004">Καθυστέρηση κατά: %2.3fs</string>
<string id="22005">Προβάδισμα κατά: %2.3fs</string>
- <string id="22006">Μετατόπιση υπότιτλων</string>
+ <string id="22006">Μετατόπιση υποτίτλων</string>
<string id="22007">Κατασκευαστής OpenGL:</string>
<string id="22008">Αποτυπωτής OpenGL:</string>
- <string id="22009">Έκδοση OpenGL: </string>
+ <string id="22009">Έκδοση OpenGL:</string>
<string id="22010">Θερμοκρασία GPU:</string>
<string id="22011">Θερμοκρασία CPU:</string>
<string id="22012">Συνολική μνήμη</string>
@@ -1939,13 +2127,15 @@
<string id="22022">Εμφάνιση αρχείων βίντεο στις λίστες</string>
<string id="22023">Κατασκευαστής DirectX:</string>
<string id="22024">Έκδοση Direct3D:</string>
+
+ <!-- strings 22030 thru 22060 reserved for karaoke -->
<string id="22030">Γραμματοσειρά</string>
<string id="22031">- Μέγεθος</string>
<string id="22032">- Χρώματα</string>
<string id="22033">- Κωδικοποίηση χαρακτήρων</string>
<string id="22034">Εξαγωγή τίτλων karaoke ως HTML</string>
<string id="22035">Εξαγωγή τίτλων karaoke ως CSV</string>
- <string id="22036">Εισαγωγή τίτλων karaoke... </string>
+ <string id="22036">Εισαγωγή τίτλων karaoke...</string>
<string id="22037">Αυτόματη εμφάνιση επιλογέα τραγουδιών</string>
<string id="22038">Εξαγωγή τίτλων karaoke...</string>
<string id="22039">Εισαγωγή αριθμού τραγουδιού</string>
@@ -1953,24 +2143,32 @@
<string id="22041">άσπρο/κόκκινο</string>
<string id="22042">άσπρο/μπλε</string>
<string id="22043">μαύρο/άσπρο</string>
+
<string id="22079">Προεπιλεγμένη ενέργεια</string>
<string id="22080">Επιλογή</string>
<string id="22081">Προβολή πληροφοριών</string>
<string id="22082">Περισσότερα...</string>
<string id="22083">Αναπαραγωγή όλων</string>
- <string id="23049">Μη διαθέσιμο Teletext </string>
+
+ <string id="23049">Μη διαθέσιμο Teletext</string>
<string id="23050">Ενεργοποίηση Teletext</string>
<string id="23051">Μέρος %i</string>
<string id="23052">Aποθήκευση %i bytes</string>
<string id="23053">Διακόπτεται</string>
<string id="23054">Εκτελείται</string>
+
+ <!-- strings 23100 thru 23150 reserved for external player -->
<string id="23100">Ενεργός εξωτερικός αναπαραγωγέας</string>
<string id="23101">Πιέστε το 'Εντάξει' για να τερματίσετε τον αναπαραγωγέα</string>
+
<string id="23104">Πιέστε το 'Εντάξει' όταν η αναπαραγωγή ολοκληρωθεί</string>
+
+ <!-- strings 24000 thru 24299 reserved for the Add-ons framework -->
<string id="24000">Πρόσθετο</string>
<string id="24001">Πρόσθετα</string>
<string id="24002">Ρυθμίσεις πρόσθετου</string>
<string id="24003">Πληροφορίες πρόσθετου</string>
+
<string id="24005">Πηγές πολυμέσων</string>
<string id="24007">Πληροφορίες ταινίας</string>
<string id="24008">Προφύλαξη οθόνης</string>
@@ -1981,9 +2179,10 @@
<string id="24013">Στίχοι</string>
<string id="24014">Πληροφορίες τηλεόρασης</string>
<string id="24015">Πληροφορίες μουσικού βίντεο</string>
- <string id="24016">Πληροφορίες άλμπουμ </string>
+ <string id="24016">Πληροφορίες άλμπουμ</string>
<string id="24017">Πληροφορίες καλλιτέχνη</string>
<string id="24018">Υπηρεσίες</string>
+
<string id="24020">Ρύθμιση</string>
<string id="24021">Απενεργοποίηση</string>
<string id="24022">Ενεργοποίηση</string>
@@ -2008,7 +2207,8 @@
<string id="24045">Η Επέκταση δεν έχει τη σωστή δομή</string>
<string id="24046">%s χρησιμοποιείται από την εγκατεστημένη(νες) Επέκταση(εις)</string>
<string id="24047">Αδυναμία απεγκατάστασης αυτής της Επέκτασης</string>
- <string id="24048">Επαναφορά </string>
+ <string id="24048">Επαναφορά</string>
+
<string id="24050">Διαθέσιμα πρόσθετα</string>
<string id="24051">Έκδοση:</string>
<string id="24052">Αποποίηση ευθυνών</string>
@@ -2025,25 +2225,37 @@
<string id="24067">Γίνεται λήψη πρόσθετων</string>
<string id="24068">Διαθέσιμη ενημέρωση</string>
<string id="24069">Ενημέρωση</string>
+
<string id="24070">Αδυναμία χρήσης πρόσθετου.</string>
<string id="24071">Παρουσιάστηκε άγνωστο σφάλμα.</string>
<string id="24072">Απαιτούνται ρυθμίσεις</string>
<string id="24073">Δεν ήταν δυνατή η σύνδεση</string>
<string id="24074">Απαιτείται επανεκκίνηση</string>
<string id="24075">Απενεργοποίηση</string>
+ <string id="24076">Απαιτείται Πρόσθετο</string>
<string id="24080">Νέα προσπάθεια επανασύνδεσης;</string>
<string id="24089">Επανεκκινήσεις πρόσθετου</string>
<string id="24090">Κλείδωμα διαχειριστή πρόσθετων</string>
+
<string id="24094">(τρέχων)</string>
- <string id="24095">(ανεπιθύμητο) </string>
+ <string id="24095">(ανεπιθύμητο)</string>
<string id="24096">Το πρόσθετο έχει επισημανθεί ως κατεστραμμένο στο αποθετήριο.</string>
<string id="24097">Επιθυμείτε να απενεργοποιηθεί από το σύστημά σας;</string>
<string id="24098">Κατεστραμμένο</string>
<string id="24099">Επιθυμείτε να εφαρμοστεί αυτό το κέλυφος;</string>
+ <string id="24100">Για να χρησιμοποιήσετε αυτή τη λειτουργία πρέπει να κατεβάσετε ένα Πρόσθετο:</string>
+ <string id="24101">Επιθυμείτε να κατεβάσετε αυτό το Πρόσθετο;</string>
<string id="25000">Ειδοποιήσεις</string>
+
+ <!-- strings 29800 thru 29998 reserved strings used only in the default Project Mayhem III skin and not c++ code -->
<string id="29800">Λειτουργία συλλογής</string>
<string id="29801">Διάταξη πληκτρολογίου QWERTY</string>
<string id="29802">Σε λειτουργία η διέλευση ήχου</string>
+
+ <!-- strings 30000 thru 30999 reserved for plugins and plugin settings -->
+ <!-- strings 31000 thru 31999 reserved for skins -->
+ <!-- strings 32000 thru 32999 reserved for scripts -->
+ <!-- strings 33000 thru 33999 reserved for common strings used in addons -->
<string id="33001">Ποιότητα διαφημιστικού</string>
<string id="33002">Ροή πολυμέσων</string>
<string id="33003">Λήψη</string>
@@ -2116,16 +2328,22 @@
<string id="33081">Αυτό το αρχείο είναι στοιβαγμένο, επιλέξτε το μέρος αυτού που επιθυμείτε να αναπαραχθεί.</string>
<string id="33082">Διαδρομή για το script</string>
<string id="33083">Ενεργοποίηση προσαρμοσμένου πλήκτρου script</string>
+
<string id="33100">Αποτυχία εκκίνησης</string>
<string id="33101">Διακομιστής web</string>
<string id="33102">Διακομιστής Συμβάντων</string>
<string id="33103">Απομακρυσμένος Διακομιστής Επικοινωνίας</string>
+
+ <string id="33200">Εντοπίστηκε Νέα Σύνδεση</string>
+
+ <!-- translators: no need to add these to your language files -->
<string id="34000">Lame</string>
<string id="34001">Vorbis</string>
<string id="34002">Wav</string>
<string id="34003">DXVA2</string>
<string id="34004">VAAPI</string>
<string id="34005">Flac</string>
+
<string id="34100">Διάταξη ηχείων</string>
<string id="34101">2.0</string>
<string id="34102">2.1</string>
@@ -2137,22 +2355,36 @@
<string id="34108">5.1</string>
<string id="34109">7.0</string>
<string id="34110">7.1</string>
+ <!-- 34112-34200 reserved for future use -->
+
<string id="34201">Αδυναμία εύρεσης επόμενου αντικειμένου για αναπαραγωγή</string>
<string id="34202">Αδυναμία εύρεσης προηγούμενου αντικειμένου για αναπαραγωγή</string>
+
+ <string id="34300">Αποτυχία εκκίνησης του zeroconf</string>
+ <string id="34301">Είναι εγκατεστημένη η Υπηρεσία Bonjour της Apple; Δείτε το αρχείο καταγραφής για περισσότερες πληροφορίες.</string>
+
+ <string id="34400">Απόδοση Βίντεο</string>
+ <string id="34401">Αποτυχία αρχικοποίησης φίλτρων/scalers βίντεο, επαναφορά σε διγραμμική προσαρμογή ανάλυσης</string>
+ <string id="34402">Αποτυχία αρχικοποίησης της συσκευής ήχου</string>
+ <string id="34403">Ελέγξτε τις ρυθμίσεις ήχου</string>
+
<string id="35000">Περιφερειακά</string>
+
<string id="35001">Γενική συσκευή HID</string>
<string id="35002">Γενικός προσαρμογέας δικτύου</string>
<string id="35003">Γενικός δίσκος</string>
- <string id="35004">Δεν υπάρχουν διαθέσιμες ρυθμίσεις για αυτό το περιφερικό.</string>
+ <string id="35004">Δεν υπάρχουν διαθέσιμες ρυθμίσεις για αυτό το περιφερειακό.</string>
<string id="35005">Η νέα συσκευή έχει ρυθμιστεί</string>
<string id="35006">Η συσκευή έχει αφαιρεθεί</string>
- <string id="35007">Το Keymap να χρησιμοποιήθει για τη συγκεκριμένη συσκευή</string>
+ <string id="35007">Το Keymap να χρησιμοποιηθεί για τη συγκεκριμένη συσκευή</string>
<string id="35008">Ενεργοποιημένο Keymap</string>
+
<string id="35500">Τοποθεσία</string>
<string id="35501">Κλάση</string>
<string id="35502">Όνομα</string>
<string id="35503">Προμηθευτής</string>
<string id="35504">Αναγνωριστικό προϊόντος</string>
+
<string id="36000">Προσαρμογέας Pulse-Eight CEC</string>
<string id="36001">Pulse-Eight Nyxboard</string>
<string id="36002">Μετάβαση στο πληκτρολόγιο εντολών</string>
@@ -2171,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/language/Hebrew/langinfo.xml b/language/Hebrew/langinfo.xml
index cee9ec5264..e160608559 100644
--- a/language/Hebrew/langinfo.xml
+++ b/language/Hebrew/langinfo.xml
@@ -12,13 +12,22 @@
</dvd>
<regions>
- <region locale="IL">
+ <region name="ISRAEL (12h)" locale="IL">
+ <dateshort>DD/MM/YYYY</dateshort>
+ <datelong>DDDD DD MMMM YYYY</datelong>
+ <time symbolAM="" symbolPM="">hh:mm:ss</time>
+ <tempunit>C</tempunit>
+ <speedunit>kmh</speedunit>
+ </region>
+
+ <region name="ISRAEL (24h)" locale="US">
<dateshort>DD/MM/YYYY</dateshort>
<datelong>DDDD DD MMMM YYYY</datelong>
<time symbolAM="" symbolPM="">HH:mm:ss</time>
<tempunit>C</tempunit>
<speedunit>kmh</speedunit>
</region>
+
</regions>
</language>
diff --git a/language/Hebrew/strings.xml b/language/Hebrew/strings.xml
index ed47e1846d..ba60c85dc5 100644
--- a/language/Hebrew/strings.xml
+++ b/language/Hebrew/strings.xml
@@ -2,8 +2,8 @@
<!--Language file translated with Team XBMC Translator-->
<!--Translator: Idan Bushari-->
<!--Email: bushari2003@hotmail.com-->
-<!--Date of translation: 01/25/2012-->
-<!--Based on English 3978ce61ee897fab5daf83c345f3a8183aae0b22 (26.01.2012)-->
+<!--Date of translation: 02/20/2012-->
+<!--Based on English 0ee1ef09238e4d913cf6c47fa18138c3654cd33e (08.02.2012)-->
<strings>
<string id="0">תוכנות</string>
<string id="1">תמונות</string>
@@ -812,8 +812,11 @@
<string id="10019">הגדרות - מראה</string>
<string id="10020">סקריפטים</string>
<string id="10021">דפדפן אינטרנט</string>
+ <string id="10025">וידאו</string>
<string id="10028">וידאו/רשימת ניגון</string>
+ <string id="10029">מסך כניסה</string>
<string id="10034">הגדרות - פרופילים</string>
+ <string id="10040">דפדפן הרחבות</string>
<string id="10100">דיאלוג לא/כן</string>
<string id="10101">דיאלוג התקדמות</string>
<string id="10210">מחפש כתוביות...</string>
@@ -1389,16 +1392,16 @@
<string id="20042">נעל מנהל קבצים</string>
<string id="20043">נעל הגדרות</string>
<string id="20044">התחל מחדש</string>
- <string id="20045">היכנס למצב מומחה</string>
- <string id="20046">צא ממצב מומחה</string>
+ <string id="20045">היכנס למצב ראשי</string>
+ <string id="20046">צא ממצב ראשי</string>
<string id="20047">צור פרופיל '%s' ?</string>
<string id="20048">התחל עם הגדרות חדשות</string>
<string id="20049">הזמין הטוב ביותר</string>
<string id="20050">החלף אוטומטית בין 16x9 ו 4x3</string>
<string id="20051">התייחס לערימת קבצים כקובץ אחד</string>
<string id="20052">זהירות</string>
- <string id="20053">עזב מצב מומחה</string>
- <string id="20054">נכנס למצב מומחה</string>
+ <string id="20053">עזב מצב ראשי</string>
+ <string id="20054">נכנס למצב ראשי</string>
<string id="20055">תמונה ממוזערת Allmusic.com</string>
<string id="20057">הסר תמונה ממוזערת</string>
<string id="20058">הוסף פרופיל...</string>
@@ -1444,7 +1447,7 @@
<string id="20098">משיג פרטים עבור האלבום</string>
<string id="20099">לא יכול להעתיק דיסק או רצועה בזמן ניגון מהדיסק</string>
<string id="20100">קוד נעילה ראשי והגדרות</string>
- <string id="20101">הזנת קוד נעילה ראשי תמיד מאפשרת מצב מומחה</string>
+ <string id="20101">הזנת קוד נעילה ראשי תמיד מאפשרת מצב ראשי</string>
<string id="20102">או העתק מברירת מחדל?</string>
<string id="20103">שמור שינויים לפרופיל?</string>
<string id="20104">הגדרות ישנות נמצאו</string>
@@ -1563,6 +1566,7 @@
<string id="20326">זה יאפס את ערכי הכיול ל %s</string>
<string id="20327">לערכי ברירת המחדל שלו</string>
<string id="20328">עיין לנתיב יעד</string>
+ <string id="20329">סרטים נמצאים בתיקיות נפרדות עם כותרת הסרט</string>
<string id="20330">השתמש בשמות תיקיות לחיפוש</string>
<string id="20331">קובץ</string>
<string id="20332">השתמש בשמות תיקיה או קובץ בחיפוש?</string>
@@ -1666,7 +1670,7 @@
<string id="20432">אל תכלול נתיב זה בעידכוני ספריה</string>
<string id="20433">חלץ תמונות ממוזערות ופרטי וידאו</string>
<string id="20434">מארזים</string>
- <string id="20435">קבע תמונות ממוזערת למארז סרטים</string>
+ <string id="20435">קבע תמונה ממוזערת למארז סרטים</string>
<string id="20436">לייצא תמונות ממוזערות לשחקנים</string>
<string id="20437">בחר פאנארט</string>
<string id="20438">פאנארט מקומי</string>
diff --git a/language/Italian/strings.xml b/language/Italian/strings.xml
index abcc3c7cc1..a60cdc596b 100644
--- a/language/Italian/strings.xml
+++ b/language/Italian/strings.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<!--Translator: Succo, updated by Gulp-->
+<!--Translator: Succo, updated by Gulp and Liltee89-->
<!--Email: succo69@libero.it, http://forum.xbmc.org/member.php?u=42290-->
-<!--Based on English 98d103ae66a1e81e379e65dd131341cd119cfcf2 (21.01.2012)-->
+<!--Based on English 5c8c939de7422db2427f37d5c26036138a9fe04e (03.02.2012)-->
<strings>
<string id="0">Programmi</string>
<string id="1">Immagini</string>
@@ -346,17 +346,17 @@
<string id="382">Sparsi</string>
<string id="383">Vento</string>
<string id="384">Forte</string>
- <string id="385">Bello</string>
- <string id="386">Chiaro</string>
+ <string id="385">Sereno</string>
+ <string id="386">Limpido</string>
<string id="387">Nuvoloso</string>
<string id="388">Anticipati</string>
<string id="389">Rovescio</string>
<string id="390">Turbini</string>
- <string id="391">Bassa</string>
+ <string id="391">Minima</string>
<string id="392">Media</string>
- <string id="393">Alta</string>
+ <string id="393">Massima</string>
<string id="394">Nebbia</string>
- <string id="395">Coperto</string>
+ <string id="395">Foschia</string>
<string id="396">Seleziona località</string>
<string id="397">Aggiornamento</string>
<string id="398">Misura di temperatura</string>
@@ -1774,7 +1774,7 @@
<string id="20326">Questo resetterà il valore di calibrazione per %s</string>
<string id="20327">al suo valore originale.</string>
<string id="20328">Cerca la destinazione</string>
-
+ <string id="20329">I film sono in cartelle separate rinominate con il titolo del film</string>
<string id="20330">Usa i nomi delle cartelle per le ricerche</string>
<string id="20331">File</string>
<string id="20332">Uso i nomi dei files o delle cartelle per le ricerche?</string>
@@ -1904,6 +1904,7 @@
<string id="20455">In Ascolto</string>
<string id="20456">Imposta l'immagine fanart per un set di filmati</string>
<string id="20457">imposta filmato</string>
+ <string id="20458">Raggruppa film in antologie</string>
<!-- up to 21329 is reserved for the video db !! !-->
<string id="21330">Mostra i files e le cartelle nascoste</string>
diff --git a/language/Korean/strings.xml b/language/Korean/strings.xml
index a69dd93b07..3a6044aeec 100644
--- a/language/Korean/strings.xml
+++ b/language/Korean/strings.xml
@@ -707,7 +707,7 @@
<string id="852">유효한 포트 범위는 1024-65535 입니다</string>
<string id="998">음악 파일 위치 추가...</string>
- <string id="999">비디오 파일 위치 추가...</string>
+ <string id="999">비디오 추가...</string>
<string id="1000">- 미리보기</string>
<string id="1001">연결할수 없음</string>
<string id="1002">XBMC가 네트워크에 연결할수 없습니다.</string>
@@ -874,9 +874,11 @@
<string id="10019">설정 - 모양새</string>
<string id="10020">스크립트</string>
<string id="10021">웹 브라우저</string>
-
+ <string id="10025">비디오</string>
<string id="10028">비디오/재생목록</string>
+ <string id="10029">로그인 화면</string>
<string id="10034">설정 - 프로파일</string>
+ <string id="10040">애드온 탐색기</string>
<string id="10100">예/아니오 대화창</string>
<string id="10101">진행 대화창</string>
@@ -1209,7 +1211,7 @@
<string id="13409">인기 250</string>
<string id="13410">Last.fm 에 채널을 맞춤</string>
<string id="13411">최소 팬 속도</string>
- <string id="13412">Play from here</string>
+ <string id="13412">이 항목부터 재생</string>
<string id="13413">다운로드</string>
<string id="13414">컴필레이션에만 있는 아티스트 포함</string>
<string id="13415">렌더링 방식</string>
@@ -1772,7 +1774,7 @@
<string id="20326">기본값으로 %s 조정값를</string>
<string id="20327">초기화하게 됩니다.</string>
<string id="20328">대상 찾기</string>
-
+ <string id="20329">영화 파일들이 영화 제목과 같은 개별 폴더에 저장됨</string>
<string id="20330">검색에 폴더 이름 사용</string>
<string id="20331">파일</string>
<string id="20332">검색에 파일이나 폴더 이름을 사용 하시겠습니까?</string>
@@ -1862,7 +1864,7 @@
<string id="20416">초연</string>
<string id="20417">각본</string>
<string id="20418">파일 및 폴더 이름 정리</string>
- <string id="20419">파일 보기에서 미디어정보 보기</string>
+ <string id="20419">파일명을 라이브러리 제목으로 표시</string>
<string id="20420">안함</string>
<string id="20421">한 시즌 일때만</string>
@@ -1902,6 +1904,7 @@
<string id="20455">청취자</string>
<string id="20456">시리즈 영화 팬아트 설정</string>
<string id="20457">시리즈 영화</string>
+ <string id="20458">시리즈 영화 묶기</string>
<!-- up to 21329 is reserved for the video db !! !-->
<string id="21330">숨김 파일 및 디렉토리 보이기</string>
@@ -2009,6 +2012,8 @@
<string id="21451">인터넷 연결이 필요함.</string>
<string id="21452">더 가져오기...</string>
<string id="21453">루트 파일시스템</string>
+ <string id="21454">캐시 가득참</string>
+ <string id="21455">연속 재생에 필요한 양에 도달하기 전에 캐시가 채워짐</string>
<string id="21460">자막 위치</string>
<string id="21461">고정</string>
@@ -2198,7 +2203,7 @@
<string id="24041">압축 파일에서 설치</string>
<string id="24042">%i%% 다운로드중</string>
<string id="24043">사용가능한 업데이트</string>
- <string id="24044">Dependencies not met</string>
+ <string id="24044">설치 요구조건을 충족하지 않습니다</string>
<string id="24045">애드온의 구조가 바르지 않습니다</string>
<string id="24046">%s 을 설치된 애드온이 사용합니다.</string>
<string id="24047">이 추가기능은 제거할 수 없습니다</string>
@@ -2329,6 +2334,8 @@
<string id="33102">이벤트 서버</string>
<string id="33103">원격 커뮤니케이션 서버</string>
+ <string id="33200">새 연결 검색됨</string>
+
<!-- translators: no need to add these to your language files -->
<string id="34000">Lame</string>
<string id="34001">Vorbis</string>
@@ -2353,6 +2360,14 @@
<string id="34201">재생할 다음 항목이 없습니다</string>
<string id="34202">재생할 이전 항목이 없습니다</string>
+ <string id="34300">제로컨프 시작 실패</string>
+ <string id="34301">애플 봉주르 서비스가 설치되어 있습니까? 자세한 정보는 로그를 확인하세요.</string>
+
+ <string id="34400">비디오 렌더링</string>
+ <string id="34401">비디오 필터/스케일러 초기화 실패. 이중선형 스케일링으로 변경합니다</string>
+ <string id="34402">오디오 장치 초기화 실패</string>
+ <string id="34403">오디오 설정을 확인하세요</string>
+
<string id="35000">주변장치</string>
<string id="35001">Generic HID 장치</string>
@@ -2375,7 +2390,7 @@
<string id="36002">키보드 사이드 명령으로 전환</string>
<string id="36003">리모콘 사이드 명령으로 전환</string>
<string id="36004">"user" 버튼 명령 누르기</string>
- <string id="36005">Enable switch side commands</string>
+ <string id="36005">스위치 사이드 명령 사용</string>
<string id="36006">어댑터를 열 수 없습니다</string>
<string id="36007">XBMC 시작시 TV 켜기</string>
<string id="36008">XBMC 종료시 장치 전원 끄기</string>
diff --git a/language/Polish/strings.xml b/language/Polish/strings.xml
index 61d47085a6..ac07e8ef9d 100644
--- a/language/Polish/strings.xml
+++ b/language/Polish/strings.xml
@@ -2,7 +2,7 @@
<!--Language file translated with Team XBMC Translator-->
<!--Translator: Rafał Wójcik-->
<!--Email: rafal.wojcik@gmail.com-->
-<!--Date of translation: 12/25/2011-->
+<!--Date of translation: 02/21/2012-->
<!--$Revision$-->
<strings>
<string id="0">Programy</string>
@@ -808,8 +808,11 @@
<string id="10019">Ustawienia - Wygląd</string>
<string id="10020">Skrypty</string>
<string id="10021">Przeglądarka</string>
+ <string id="10025">Pliki wideo</string>
<string id="10028">Wideo/Playlista</string>
+ <string id="10029">Ekran logowania</string>
<string id="10034">Ustawienia - Profile</string>
+ <string id="10040">Przeglądarka wtyczek</string>
<string id="10100">Dialog Tak/Nie</string>
<string id="10101">Okno postępu</string>
<string id="10210">Szukam napisów...</string>
@@ -1554,6 +1557,9 @@
<string id="20256">Klient HTS Tvheadend</string>
<string id="20257">Klient VDR Streamdev</string>
<string id="20258">Klient MythTV</string>
+ <string id="20259">System plików NFS</string>
+ <string id="20260">SSH/SFTP</string>
+ <string id="20261">Protokół AFP</string>
<string id="20300">Katalog serwera web (HTTP)</string>
<string id="20301">Katalog serwera web (HTTPS)</string>
<string id="20302">Nie powiódł się zapis do folderu:</string>
@@ -1572,6 +1578,7 @@
<string id="20326">Spowoduje to reset ustawień kalibracji dla %s</string>
<string id="20327">i zostaną przywrócone wartości domyślne.</string>
<string id="20328">Wskaż katalog docelowy</string>
+ <string id="20329">Filmy są w oddzielnych katalogach, z nazwami tytułu filmu</string>
<string id="20330">Nazwa folderu jako podstawa szukania</string>
<string id="20331">Plik</string>
<string id="20332">Użyć nazwy pliku lub folderu jako podstawy szukania?</string>
@@ -1698,6 +1705,7 @@
<string id="20455">Słuchaczy</string>
<string id="20456">Ustaw fanart dla kolekcji filmów</string>
<string id="20457">Kolekcja filmów</string>
+ <string id="20458">Grupuj filmy w kolekcje</string>
<string id="21330">Pokazuj ukryte pliki i foldery</string>
<string id="21331">Klient TuxBox</string>
<string id="21332">UWAGA: Urządzenie TuxBox jest w trybie nagrywania!</string>
@@ -1796,6 +1804,8 @@
<string id="21451">Wymagane połączenie z Internetem.</string>
<string id="21452">Pobierz więcej...</string>
<string id="21453">Główny system plików</string>
+ <string id="21454">Pełny bufor</string>
+ <string id="21455">Bufor wypełniany zanim osiągnie wymagany poziom do ciągłego odtwarzania</string>
<string id="21460">Położenie napisów</string>
<string id="21461">Stałe</string>
<string id="21462">Dół wideo</string>
@@ -1965,6 +1975,7 @@
<string id="24041">Instaluj z pliku zip</string>
<string id="24042">Pobieram %i%%</string>
<string id="24043">Dostępne aktualizacje</string>
+ <string id="24044">Zależności nie są spełnione</string>
<string id="24045">Wtyczka nie ma właściwej struktury</string>
<string id="24046">%s jest używany przez następujące zainstalowane wtyczki</string>
<string id="24047">Ta wtyczka nie może zostać usunięta</string>
@@ -2079,9 +2090,16 @@
<string id="33101">Serwer WWW</string>
<string id="33102">Serwer zdarzeń</string>
<string id="33103">Serwer zdalnej komunikacji</string>
+ <string id="33200">Wykryto nowe połączenie</string>
<string id="34100">System głośników</string>
<string id="34201">Nie mogę znaleźć następnej pozycji do odtworzenia</string>
<string id="34202">Nie mogę znaleźć poprzedniej pozycji do odtworzenia</string>
+ <string id="34300">Błąd podczas startu zeroconf</string>
+ <string id="34301">Usługa Apple Bonjour jest zainstalowana? Sprawdź log.</string>
+ <string id="34400">Rendering wideo</string>
+ <string id="34401">Błąd inicjalizacji filtrów/skalerów wideo, powracam do skalowania bilinearnego</string>
+ <string id="34402">Błąd inicjalizacji urządzenia audio</string>
+ <string id="34403">Sprawdź ustawienia dźwięku</string>
<string id="35000">Peryferia</string>
<string id="35001">Standardowe urządzenie HID</string>
<string id="35002">Standardowy adapter sieciowy</string>
@@ -2089,7 +2107,13 @@
<string id="35004">To urządzenie nie ma ustawień.</string>
<string id="35005">Skonfigurowano nowe urządzenie</string>
<string id="35006">Usunięto urządzenie</string>
+ <string id="35007">Mapa klawiszy do użycia z tym urządzeniem</string>
+ <string id="35008">Mapa klawiszy włączona</string>
<string id="35500">Położenie</string>
+ <string id="35501">Klasa</string>
+ <string id="35502">Nazwa</string>
+ <string id="35503">Dostawca</string>
+ <string id="35504">ID produktu</string>
<string id="36000">Adapter Pulse-Eight CEC</string>
<string id="36006">Nie mogę połączyć się z adapterem</string>
<string id="36007">Włącz TV, kiedy uruchomiany jest XBMC</string>
diff --git a/language/Portuguese (Brazil)/strings.xml b/language/Portuguese (Brazil)/strings.xml
index 3739a1110e..27bb50e389 100644
--- a/language/Portuguese (Brazil)/strings.xml
+++ b/language/Portuguese (Brazil)/strings.xml
@@ -2,11 +2,10 @@
<!--Language file translated with Team XBMC Translator[wm] -->
<!--Translator: Fabiano Santiago (fabianosan), bugre (wm) -->
<!--Email: fabianosan@hotmail.com, wxxx333-nospam-at-gmail.com -->
-<!--Date of translation: 12/21/2009 -->
+<!--Updated on 15/02/2012 by wcampos -->
<!--Updated on 28/08/2011 by fabianosan -->
<!--Updated on 15/11/2010 by bugre -->
-<!--$Revision$-->
-<!--Based on english strings version 35193-->
+<!--Based on English 4a0e4931310c8957d73ffec0cf6fdfa9292bb8d4 (08.02.2012)-->
<strings>
<string id="0">Programas</string>
<string id="1">Imagens</string>
@@ -18,6 +17,7 @@
<string id="7">Arquivos</string>
<string id="8">Tempo</string>
<string id="9">xbmc media center</string>
+
<string id="11">Segunda</string>
<string id="12">Terça</string>
<string id="13">Quarta</string>
@@ -25,6 +25,7 @@
<string id="15">Sexta</string>
<string id="16">Sábado</string>
<string id="17">Domingo</string>
+
<string id="21">Janeiro</string>
<string id="22">Fevereiro</string>
<string id="23">Março</string>
@@ -37,6 +38,7 @@
<string id="30">Outubro</string>
<string id="31">Novembro</string>
<string id="32">Dezembro</string>
+
<string id="41">Seg</string>
<string id="42">Ter</string>
<string id="43">Qua</string>
@@ -56,6 +58,7 @@
<string id="60">Out</string>
<string id="61">Nov</string>
<string id="62">Dez</string>
+
<string id="71">N</string>
<string id="72">NNE</string>
<string id="73">NO</string>
@@ -73,6 +76,7 @@
<string id="85">NL</string>
<string id="86">NNL</string>
<string id="87">VAR</string>
+
<string id="98">Ver: Auto</string>
<string id="99">Ver: Auto grande</string>
<string id="100">Ver: Icones</string>
@@ -142,13 +146,18 @@
<string id="164">Sem disco</string>
<string id="165">Disco presente</string>
<string id="166">Skin</string>
+
<string id="169">Resolução</string>
<string id="170">Ajustar taxa de atualização para mesma da tela</string>
+
<string id="171"></string>
+
<string id="172">Data de lançamento:</string>
<string id="173">Exibir videos 4:3 como</string>
+
<string id="175">Modos</string>
<string id="176">Estilos</string>
+
<string id="179">Música</string>
<string id="180">Duração</string>
<string id="181">Selecionar álbum</string>
@@ -170,8 +179,10 @@
<string id="197">Procurando informação de %s</string>
<string id="198">Carregando detalhes do filme</string>
<string id="199">Interface web</string>
+
<string id="202">Título:</string>
<string id="203">Sinopse:</string>
+
<string id="205">Votos</string>
<string id="206">Elenco</string>
<string id="207">Enredo</string>
@@ -189,6 +200,7 @@
<string id="221">Rede não está conectada</string>
<string id="222">Cancelar</string>
<string id="224">Velocidade</string>
+ <string id="225">Deslocamento Vertical</string>
<string id="226">Padrões de teste....</string>
<string id="227">Procurar CDs de áudio na Internet</string>
<string id="228">Misturar lista de reprodução ao carregar</string>
@@ -209,6 +221,7 @@
<string id="243">Taxa de Atualização</string>
<string id="244">Tela Cheia</string>
<string id="245">Dimensionando: (%i,%i)-&gt;(%i,%i) (Zoom x%2.2f) AR:%2.2f:1 (Pixels: %2.2f:1)</string>
+
<string id="247">Scripts</string>
<string id="248">Idioma</string>
<string id="249">Música</string>
@@ -247,6 +260,7 @@
<string id="282">Encontrado(s) %i item(s)</string>
<string id="283">Resultado(s) da busca</string>
<string id="284">Nenhum resultado encontrado</string>
+
<string id="287">Legendas</string>
<string id="288">Fonte</string>
<string id="289">- Tamanho</string>
@@ -266,6 +280,7 @@
<string id="304">Idioma</string>
<string id="305">Ativado</string>
<string id="306">Não-intercalado</string>
+
<string id="312">(0=auto)</string>
<string id="313">Excluindo banco de dados</string>
<string id="314">Preparando...</string>
@@ -358,6 +373,7 @@
<string id="404">Vento</string>
<string id="405">Pt. de orvalho</string>
<string id="406">Umidade</string>
+
<string id="409">Padrões</string>
<string id="410">Acessando o serviço de meteorologia</string>
<string id="411">Obtendo informações de tempo para:</string>
@@ -370,6 +386,7 @@
<string id="418">Baixo</string>
<string id="419">Alto</string>
<string id="420">HDMI</string>
+
<string id="422">Excluir informações do álbum</string>
<string id="423">Excluir informações do CD</string>
<string id="424">Selecionar</string>
@@ -383,6 +400,7 @@
<string id="432">Excluir filme da coleção</string>
<string id="433">Deseja excluir '%s'?</string>
<string id="434">De %s até %i %s</string>
+
<string id="437">Disco removível</string>
<string id="438">Abrindo arquivo</string>
<string id="439">Cache</string>
@@ -426,6 +444,7 @@
<string id="480">Aparência</string>
<string id="481">Opções de Áudio</string>
<string id="482">Sobre o XBMC</string>
+
<string id="485">Excluir álbum</string>
<string id="486">Repetir</string>
<string id="487">Repetir uma</string>
@@ -453,9 +472,11 @@
<string id="513">Janela principal</string>
<string id="514">Configurações manuais</string>
<string id="515">Gênero</string>
+
<string id="517">Álbuns reproduzidos recentemente</string>
<string id="518">Iniciar</string>
<string id="519">Iniciar em..</string>
+
<string id="521">Compilações</string>
<string id="522">Remover origem</string>
<string id="523">Trocar mídia</string>
@@ -484,6 +505,7 @@
<string id="546">Dispositivo de saída de passagem</string>
<string id="547">Sem biografia para este artista</string>
<string id="548">Converter áudio multicanal para estéreo</string>
+
<string id="550">Ordenar por: %s</string>
<string id="551">Nome</string>
<string id="552">Data</string>
@@ -530,12 +552,14 @@
<string id="595">Repetir: desl.</string>
<string id="596">Repetir: uma</string>
<string id="597">Repetir: todos</string>
+
<string id="600">Extrair CD de áudio</string>
<string id="601">Média</string>
<string id="602">Padrão</string>
<string id="603">Extrema</string>
<string id="604">Taxa de bits constante</string>
<string id="605">Extraindo...</string>
+
<string id="607">Para:</string>
<string id="608">Não foi possível extrair o CD ou faixa</string>
<string id="609">CDDARipPath não foi definido.</string>
@@ -543,6 +567,7 @@
<string id="611">Digite número</string>
<string id="612">Bits/Amostra</string>
<string id="613">Frequencia de amostra</string>
+
<string id="620">CDs de áudio</string>
<string id="621">Codificador</string>
<string id="622">Qualidade</string>
@@ -580,24 +605,30 @@
<string id="657">Busca pasta</string>
<string id="658">Informação da música</string>
<string id="659">Expansão não-linear</string>
+
<string id="660">Amplificação de volume</string>
<string id="661">Pasta de exportação</string>
<string id="662">Este arquivo não está mais disponível.</string>
<string id="663">Gostaria de remover da coleção?</string>
<string id="664">Busca Script</string>
<string id="665">Nível de Compressão</string>
+
<string id="700">Limpando a coleção</string>
<string id="701">Removendo músicas antigas da coleção</string>
<string id="702">Este caminho já foi examinado anteriormente</string>
<string id="705">Rede</string>
<string id="706">- Servidor</string>
+
<string id="708">Ativar proxy HTTP</string>
+
<string id="711">Internet Protocol (IP)</string>
<string id="712">Porta inválida. O valor deve ser entre 1 e 65535.</string>
<string id="713">Proxy HTTP</string>
+
<string id="715">- Atribuição</string>
<string id="716">Automático (DHCP)</string>
<string id="717">Manual (estático)</string>
+
<string id="719">- Endereço IP:</string>
<string id="720">- Máscara de sub-rede:</string>
<string id="721">- Gateway padrão:</string>
@@ -608,7 +639,9 @@
<string id="726">As mudanças não foram salvas. Deseja continuar mesmo assim?</string>
<string id="727">Servidor Web</string>
<string id="728">Servidor FTP</string>
+
<string id="730">- Porta</string>
+
<string id="732">Salvar &amp; aplicar</string>
<string id="733">- Senha</string>
<string id="734">Sem senha</string>
@@ -629,10 +662,12 @@
<string id="749">Espelhar imagem</string>
<string id="750">Tem certeza?</string>
<string id="751">Removendo origem</string>
+
<string id="754">Adicionar link de programa</string>
<string id="755">Editar caminho do programa</string>
<string id="756">Editar nome do programa</string>
<string id="757">Editar a profundidade do caminho</string>
+
<string id="759">Ver: lista grande</string>
<string id="760">Amarelo</string>
<string id="761">Branco</string>
@@ -642,7 +677,9 @@
<string id="765">Ciano</string>
<string id="766">Cinza claro</string>
<string id="767">Cinza</string>
+
<string id="770">Erro %i: compartilhamento não disponível</string>
+
<string id="772">Saída de áudio</string>
<string id="773">Procurando</string>
<string id="774">Pasta de apresentação (slideshow)</string>
@@ -661,6 +698,7 @@
<string id="787">Interface de rede desabilitada</string>
<string id="788">Interface de rede desabilitada com sucesso.</string>
<string id="789">Nome da rede sem fio (ESSID)</string>
+
<string id="791">Permitir programas locais controlar o XBMC</string>
<string id="792">Porta</string>
<string id="793">Intervalo de portas</string>
@@ -669,14 +707,19 @@
<string id="796">Atraso de repetição contínuo (ms)</string>
<string id="797">Número máximo de clientes</string>
<string id="798">Acesso internet</string>
+
<string id="850">Número de porta inválido</string>
<string id="851">Intervalor de portas válido 1-65535</string>
<string id="852">Intervalor de portas válido 1024-65535</string>
+
+ <string id="998">Adicione Música...</string>
+ <string id="999">Adicione Vídeos...</string>
<string id="1000">- Previsualização</string>
<string id="1001">Incapaz de conectar</string>
<string id="1002">O XBMC foi incapaz de conectar ao local de rede</string>
<string id="1003">Isto pode ser devido a rede não estar conectada.</string>
<string id="1004">Gostaria de adicionar assim mesmo?</string>
+
<string id="1006">Endereço IP</string>
<string id="1007">Adicionar Local de rede</string>
<string id="1008">Protocolo</string>
@@ -723,12 +766,15 @@
<string id="1049">Opções do Script</string>
<string id="1050">Singles</string>
<string id="1051">Digite a URL</string>
+
<string id="1200">Cliente SMB</string>
<string id="1202">Grupo de trabalho</string>
<string id="1203">Usuário padrão</string>
<string id="1204">Senha padrão</string>
+
<string id="1207">Servidor WINS</string>
<string id="1208">Montar compartilhamento SMB</string>
+
<string id="1210">Remover</string>
<string id="1211">Música</string>
<string id="1212">Vídeo</string>
@@ -753,16 +799,24 @@
<string id="1233">Programas &amp; vídeo &amp; música</string>
<string id="1234">Programas &amp; imagens &amp; música</string>
<string id="1235">Programas &amp; imagens &amp; vídeo</string>
+
<string id="1250">Auto detecção</string>
<string id="1251">Auto detectar sistemas</string>
<string id="1252">Apelido</string>
+
<string id="1254">Perguntar para conectar</string>
<string id="1255">Enviar usuário e senha de FTP</string>
<string id="1256">Intervalo de ping</string>
<string id="1257">Gostaria de conectar ao sistema auto detectado?</string>
+
<string id="1260">Anunciar estes serviços para outros sistemas via Zeroconf</string>
+ <string id="1270">Permitir ao XBMC receber contéudo AirPlay</string>
+ <string id="1271">Nome Equipamento</string>
+ <string id="1272">- Usar senha para proteção</string>
+
<string id="1300">Dispositivo de áudio personalizado</string>
<string id="1301">Dispositivo de passagem personalizado</string>
+
<string id="1396">Correntes de ar</string>
<string id="1397">e</string>
<string id="1398">Congelando</string>
@@ -791,11 +845,16 @@
<string id="1421">Muito Alto</string>
<string id="1422">Ventoso</string>
<string id="1423">Névoa</string>
+
<string id="1450">Colocar tela em descanso quando inativo</string>
+
<string id="2050">Executável</string>
+
<string id="2100">Falha no Script! : %s</string>
<string id="2101">Necessário versão mais nova - Veja o log</string>
+
<string id="4501">Habilitar LCD/VFD</string>
+
<string id="10000">Home</string>
<string id="10001">Programas</string>
<string id="10002">Imagens</string>
@@ -818,15 +877,23 @@
<string id="10019">Configurações - Aparência</string>
<string id="10020">Scripts</string>
<string id="10021">Navegador Web</string>
+
<string id="10028">Vídeos/lista de reprodução</string>
+ <string id="10029">Tela de Login</string>
+
<string id="10034">Configurações - Perfil</string>
+
+ <string id="10040">Addon-Navegador</string>
+
<string id="10100">Janela sim/não</string>
<string id="10101">Janela de progresso</string>
+
<string id="10210">Procurando legendas...</string>
<string id="10211">Procurando ou armazenando legendas</string>
<string id="10212">terminando</string>
<string id="10213">carregando</string>
<string id="10214">Abrindo sinal</string>
+
<string id="10500">Música/lista de reprodução</string>
<string id="10501">Música/arquivos</string>
<string id="10502">Música/coleção</string>
@@ -834,16 +901,20 @@
<string id="10504">As 100 melhores músicas</string>
<string id="10505">Os 100 melhores álbuns</string>
<string id="10506">Programas</string>
+
<string id="10507">Configurações</string>
<string id="10508">Previsão do tempo</string>
<string id="10509">Jogos em rede</string>
<string id="10510">Extensões</string>
<string id="10511">Informações do sistema</string>
+
<string id="10516">Músicas - Coleção</string>
<string id="10517">Tocando agora - Músicas</string>
+
<string id="10522">Tocando agora - Vídeos</string>
<string id="10523">Informação do álbum</string>
<string id="10524">Informação do filme</string>
+
<string id="12000">Selec. janela</string>
<string id="12001">Música/informação</string>
<string id="12002">Janela OK</string>
@@ -851,12 +922,15 @@
<string id="12004">Scripts/informação</string>
<string id="12005">Vídeo em tela-cheia</string>
<string id="12006">Visualização de áudio</string>
+
<string id="12008">Janela agrupamento de arquivos</string>
<string id="12009">Reconstruindo índice...</string>
<string id="12010">Voltar para janela de músicas</string>
<string id="12011">Voltar para janela de vídeos</string>
+
<string id="12021">Iniciar/Reiniciar</string>
<string id="12022">Retomar da posição %s</string>
+
<string id="12310">0</string>
<string id="12311">1</string>
<string id="12312">2</string>
@@ -906,24 +980,31 @@
<string id="12377">Isto irá zerar qualquer valor previamente salvo</string>
<string id="12378">Exibir cada imagem por</string>
<string id="12379">Usar efeitos de pan e zoom</string>
+
<string id="12383">relógio 12 horas</string>
<string id="12384">relógio 24 horas</string>
<string id="12385">Dia/Mês</string>
<string id="12386">Mês/Dia</string>
+
<string id="12390">Uptime do sistema</string>
<string id="12391">Minutos</string>
<string id="12392">Horas</string>
<string id="12393">Dias</string>
<string id="12394">Uptime total</string>
+ <string id="12395">Nível Bateria</string>
+
<string id="12600">Tempo</string>
+
<string id="12900">Proteção de tela</string>
<string id="12901">OSD em tela-cheia</string>
+
<string id="13000">Sistema</string>
<string id="13001">Diminuir rotação do HD</string>
<string id="13002">Somente vídeos</string>
<string id="13003">- Atraso</string>
<string id="13004">- Tempo mínimo de duração</string>
<string id="13005">Desligar</string>
+
<string id="13008">Modo de desligamento</string>
<string id="13009">Terminar</string>
<string id="13010">Hibernar</string>
@@ -933,15 +1014,19 @@
<string id="13014">Minimizar</string>
<string id="13015">Ação do botão de Liga/Desliga</string>
<string id="13016">Desligar o sistema</string>
+
<string id="13020">Tem outra sessão ativa, talvez por ssh?</string>
<string id="13021">Disco rígido removível montado</string>
<string id="13022">Remoção insegura de dispositivo</string>
<string id="13023">Dispositivo removido com sucesso</string>
<string id="13024">Joystick conectado</string>
<string id="13025">Joystick desconectado</string>
+
<string id="13050">Bateria fraca</string>
+
<string id="13100">Filtro de anti-oscilação</string>
<string id="13101">Deixe driver escolher (necessita reinicializar)</string>
+
<string id="13105">Sincronização vertical</string>
<string id="13106">Desabilitado</string>
<string id="13107">Habilitado durante execução de vídeo</string>
@@ -949,10 +1034,12 @@
<string id="13109">Testar e aplicar resolução</string>
<string id="13110">Salvar resolução?</string>
<string id="13111">Manter esta resolução?</string>
+
<string id="13112">Aumento de resolução em alta qualidade</string>
<string id="13113">Desabilitado</string>
<string id="13114">Habilitado para conteúdo SD</string>
<string id="13115">Sempre habilitado</string>
+
<string id="13116">Método de aumento de resolução</string>
<string id="13117">Bicúbico</string>
<string id="13118">Lanczos</string>
@@ -960,30 +1047,38 @@
<string id="13120">VDPAU</string>
<string id="13121">Nível VDPAU HQ Upscaling</string>
<string id="13122">Nível de conversão de cores VDPAU Studio</string>
+
<string id="13130">Escurecer outras telas</string>
<string id="13131">Desabilitado</string>
<string id="13132">Limpar telas</string>
+
<string id="13140">Detectadas coneções ativas!</string>
<string id="13141">Se continuar, poderá perder o controle do XBMC</string>
<string id="13142">Tem certeza que quer parar o servidor de Eventos?</string>
+
<string id="13144">Trocar o modo "Apple Remote"?</string>
<string id="13145">Se está utilizando o "Apple Remote" agora para controlar</string>
<string id="13146">XBMC, trocar esta configuração pode afetar sua habilidade</string>
<string id="13147">de continuar controlando ele. Você deseja prosseguir?</string>
+
<string id="13159">Máscara de sub-rede</string>
<string id="13160">Gateway</string>
<string id="13161">DNS primário</string>
<string id="13162">Falha na inicialização</string>
+
<string id="13170">Nunca</string>
<string id="13171">Imediatamente</string>
<string id="13172">Depois de %i segs</string>
<string id="13173">Data de instalação do HDD:</string>
<string id="13174">Re-ligamentos do HDD:</string>
+
<string id="13200">Perfis</string>
<string id="13201">Excluir perfil '%s'?</string>
+
<string id="13204">Último perfil utilizado:</string>
<string id="13205">Desconhecido</string>
<string id="13206">Sobrescrever</string>
+
<string id="13208">Alarme do relógio</string>
<string id="13209">Intervalo do alarme (em minutos)</string>
<string id="13210">Iniciado, alarmar em %im</string>
@@ -991,13 +1086,16 @@
<string id="13212">Cancelado restando %im%is</string>
<string id="13213">%2.0fm</string>
<string id="13214">%2.0fs</string>
+
<string id="13249">Procurar por legendas em RARs</string>
<string id="13250">Buscar por legendas...</string>
<string id="13251">Mover item</string>
<string id="13252">Mover item aqui</string>
<string id="13253">Cancelar mover</string>
+
<string id="13270">Hardware: </string>
<string id="13271">Uso da CPU:</string>
+
<string id="13274">Conectado, mas nenhum DNS disponível.</string>
<string id="13275">Disco rígido</string>
<string id="13276">DVD-ROM</string>
@@ -1006,15 +1104,20 @@
<string id="13279">Rede</string>
<string id="13280">Vídeo</string>
<string id="13281">Hardware</string>
+
<string id="13283">Sistema Operacional:</string>
<string id="13284">Velocidade da CPU:</string>
+
<string id="13286">Encoder de vídeo:</string>
<string id="13287">Resolução de tela:</string>
+
<string id="13292">Cabo A/V:</string>
+
<string id="13294">Região do DVD:</string>
<string id="13295">Internet:</string>
<string id="13296">Conectado</string>
<string id="13297">Desconectado. Verifique as opções de rede.</string>
+
<string id="13299">Temperatura desejada:</string>
<string id="13300">Velocidade do ventilador</string>
<string id="13301">Controle automático de temperatura</string>
@@ -1053,6 +1156,7 @@
<string id="13334">Editar etiqueta</string>
<string id="13335">Tornar padrão</string>
<string id="13336">Remover botão</string>
+
<string id="13340">Deixar como está</string>
<string id="13341">Verde</string>
<string id="13342">Laranja</string>
@@ -1075,6 +1179,7 @@
<string id="13359">Definir ícone do artista</string>
<string id="13360">Gerar ícones automaticamente</string>
<string id="13361">Ativar voz</string>
+
<string id="13375">Ativar dispositivo</string>
<string id="13376">Volume</string>
<string id="13377">Modo de visualização padrão</string>
@@ -1132,6 +1237,7 @@
<string id="13430">Permitir aceleração por hardware (OpenMax)</string>
<string id="13431">Pixel Shaders</string>
<string id="13432">Permitir aceleração por hardware (VideoToolbox)</string>
+
<string id="13500">Método de syncronização de A/V</string>
<string id="13501">Relógio de áudio</string>
<string id="13502">Relógio de vídeo (cortar/ignorar áudio)</string>
@@ -1143,19 +1249,25 @@
<string id="13508">Alto</string>
<string id="13509">Realmente alto(lento!)</string>
<string id="13510">Sincronizar reprodução com a exibição</string>
+
<string id="13550">Pausa durante alteração na taxa de atualização</string>
<string id="13551">Desligado</string>
<string id="13552">%.1f Segundo</string>
<string id="13553">%.1f Segundos</string>
+
<string id="13600">Controle Remoto Apple</string>
+
<string id="13602">Permite iniciar o XBMC através do Controle Remoto</string>
<string id="13603">Tempo de espera para sequenciamento</string>
+
<string id="13610">Desabilitado</string>
<string id="13611">Padrão</string>
<string id="13612">Controle Remoto Universal</string>
<string id="13613">Controle Remoto universal (Harmony)</string>
+
<string id="13620">Erro Controle Remoto Apple</string>
<string id="13621">Suporte ao Controle Remoto Apple pode ser habilitado.</string>
+
<string id="14000">Agrupar</string>
<string id="14001">Desagrupar</string>
<string id="14003">Baixando lista de execução...</string>
@@ -1163,6 +1275,7 @@
<string id="14005">Interpretando lista de canais...</string>
<string id="14006">Recebimento da lista de canais falhou</string>
<string id="14007">Recebimento de lista de execução falhou</string>
+
<string id="14009">Diretório de jogos</string>
<string id="14010">Troca automática para ícones baseado em</string>
<string id="14011">Ativar troca automática para ícones</string>
@@ -1189,10 +1302,12 @@
<string id="14034">Cache do DVD - DVD-ROM</string>
<string id="14035">- Rede local</string>
<string id="14036">Serviços</string>
+
<string id="14038">Configurações de rede modificadas</string>
<string id="14039">O XBMC precisa reiniciar para aplicar as suas</string>
<string id="14040">configurações de rede. Deseja reiniciar agora?</string>
<string id="14041">Limitação de banda de Internet</string>
+
<string id="14043">- Desligar durante a execução</string>
<string id="14044">%i mins</string>
<string id="14045">%i segs</string>
@@ -1204,6 +1319,7 @@
<string id="14051">Formato da hora</string>
<string id="14052">Formato da data</string>
<string id="14053">Filtros de interface</string>
+
<string id="14055">Usar busca em segundo plano</string>
<string id="14056">Parar busca</string>
<string id="14057">Impossível enquanto estiver buscando informações da mídia</string>
@@ -1221,6 +1337,7 @@
<string id="14069">Aplicar as configurações agora?</string>
<string id="14070">Aplicar mudanças agora</string>
<string id="14071">Permitir renomear e excluir arquivos</string>
+
<string id="14074">Selecionar fuso horário</string>
<string id="14075">Ajustar para horário de verão</string>
<string id="14076">Adicionar a favoritos</string>
@@ -1243,21 +1360,27 @@
<string id="14093">Segurança</string>
<string id="14094">Disp. de Entrada</string>
<string id="14095">Econ. de energia</string>
+
<string id="15015">Remove</string>
<string id="15016">Jogos</string>
+
<string id="15019">Adicionar</string>
+
<string id="15052">Senha</string>
+
<string id="15100">Coleção</string>
<string id="15101">Banco de dados</string>
<string id="15102">* Todos álbuns</string>
<string id="15103">* Todos artistas</string>
<string id="15104">* Todas as músicas</string>
<string id="15105">* Todos gêneros</string>
+
<string id="15107">Carregando...</string>
<string id="15108">Sons de navegação</string>
<string id="15109">Skin padrão</string>
<string id="15111">- Tema</string>
<string id="15112">Tema padrão</string>
+
<string id="15200">Last.fm</string>
<string id="15201">Enviar músicas para o Last.fm</string>
<string id="15202">Nome de usuário Last.fm</string>
@@ -1280,6 +1403,7 @@
<string id="15219">Senha do Libre.fm</string>
<string id="15220">Libre.fm</string>
<string id="15221">Scrobbler</string>
+
<string id="15250">Enviar a rádio para o Last.fm</string>
<string id="15251">Conectando ao Last.fm...</string>
<string id="15252">Selecionando estação...</string>
@@ -1316,7 +1440,7 @@
<string id="15283">Faixas ouvidas recentemente por %name%</string>
<string id="15284">Ouça recomendações de %name%'s no Last.fm</string>
<string id="15285">Melhores gêneros para usuário %name%</string>
- <string id="15286">Ouvir lista de reprodução de %name%'s do Last.fm</string>
+
<string id="15287">Você quer adicionar a faixa atual para as suas faixas prediletas?</string>
<string id="15288">Você quer banir a faixa atual?</string>
<string id="15289">Adicionado às suas faixas prediletas: '%s'.</string>
@@ -1329,16 +1453,21 @@
<string id="15296">Desbanir</string>
<string id="15297">Você quer remover esta faixa de suas faixas prediletas?</string>
<string id="15298">Você quer desbanir esta faixa?</string>
+
<string id="15300">Caminho não encontrado ou inválido</string>
<string id="15301">Não foi possível conectar ao servidor da rede</string>
<string id="15302">Não encontrou servidores</string>
<string id="15303">Grupo de trabalho não encontrado</string>
+
<string id="15310">Abrindo múltiplos caminhos para os marcadores</string>
<string id="15311">Caminho:</string>
+
<string id="16000">Geral</string>
+
<string id="16002">Busca na internet</string>
<string id="16003">Reprodutor</string>
<string id="16004">Reproduzir mídia do disco</string>
+
<string id="16008">Digite um novo título</string>
<string id="16009">Nome do filme</string>
<string id="16010">Nome do perfil</string>
@@ -1368,12 +1497,19 @@
<string id="16034">Não pôde obter músicas do banco de dados.</string>
<string id="16035">Lista de execução em modo-festa</string>
<string id="16036">De-interlace (Half)</string>
+ <string id="16037">Desentrelaçamento video</string>
+ <string id="16038">Método de Desentrelaçamento</string>
+ <string id="16039">Desligado</string>
+ <string id="16040">Auto</string>
+ <string id="16041">Ligado</string>
+
<string id="16100">Todos os vídeos</string>
<string id="16101">Não-vistos </string>
<string id="16102">Vistos</string>
<string id="16103">Marcar como visto</string>
<string id="16104">Marcar como não-visto</string>
<string id="16105">Editar título</string>
+
<string id="16200">Operação foi cancelada</string>
<string id="16201">Cópia falhou</string>
<string id="16202">Falha ao copiar pelo menos um arquivo</string>
@@ -1381,6 +1517,7 @@
<string id="16204">Falha ao mover pelo menos um arquivo</string>
<string id="16205">Remover falhou</string>
<string id="16206">Falha ao remover pelo menos um arquivo</string>
+
<string id="16300">Método para escalamento de vídeo</string>
<string id="16301">Vizinho mais próximo</string>
<string id="16302">Bilinear</string>
@@ -1401,21 +1538,29 @@
<string id="16317">Temporal (Half)</string>
<string id="16318">Temporal/Spatial (Half)</string>
<string id="16319">DXVA</string>
+ <string id="16320">DXVA Bob</string>
+ <string id="16321">DXVA Best</string>
+ <string id="16322">Spline36</string>
+ <string id="16323">Spline36 otimizado</string>
+ <string id="16324">Software Blend</string>
+
<string id="16400">Pós-processamento de video</string>
- <string id="16401">Desabilitado</string>
- <string id="16402">Ativar para Conteúdo SD</string>
- <string id="16403">Sempre Ligado</string>
+
<string id="17500">Exibir intervalo para descanso</string>
+
<string id="19000">Trocar para canal</string>
+
<string id="20000">Pasta de músicas salvas</string>
<string id="20001">Usar DVD-player externo</string>
<string id="20002">DVD-player externo</string>
<string id="20003">Pasta de trainers</string>
<string id="20004">Pasta para captura de tela</string>
+
<string id="20006">Pasta lista de reprodução</string>
<string id="20007">Gravações</string>
<string id="20008">Screenshots</string>
<string id="20009">Usar XBMC</string>
+
<string id="20011">Lista de reprodução de músicas</string>
<string id="20012">Lista de reprodução de vídeos</string>
<string id="20013">Você gostaria de iniciar o jogo?</string>
@@ -1425,11 +1570,13 @@
<string id="20017">Ícone local</string>
<string id="20018">Nenhum ícone</string>
<string id="20019">Selecionar ícone</string>
+
<string id="20022"></string>
<string id="20023">Conflito</string>
<string id="20024">Examinar novo</string>
<string id="20025">Examinar todos</string>
<string id="20026">Região</string>
+
<string id="20037">Resumo</string>
<string id="20038">Bloquear seção de música</string>
<string id="20039">Bloquear seção de vídeo</string>
@@ -1449,6 +1596,7 @@
<string id="20053">Sair do modo-mestre</string>
<string id="20054">Entrou no modo-mestre</string>
<string id="20055">Ícone Allmusic.com</string>
+
<string id="20057">Remover ícone</string>
<string id="20058">Adicionar perfil...</string>
<string id="20059">Obter informação para todos os álbuns</string>
@@ -1578,6 +1726,7 @@
<string id="20184">Rotacionar imagens usando informação do EXIF</string>
<string id="20185">Usar estilo de visualização poster para seriados</string>
<string id="20186">Por favor aguarde</string>
+
<string id="20189">Habilitar auto rolagem para enredo &amp; crítica</string>
<string id="20190">Personalizado</string>
<string id="20191">Habilitar registro de depuração</string>
@@ -1589,6 +1738,7 @@
<string id="20197">Importar coleção de música</string>
<string id="20198">Artista não encontrado!</string>
<string id="20199">Erro ao baixar informação de artista</string>
+
<string id="20250">Ativo! (vídeos)</string>
<string id="20251">Misturando bebidas (vídeos)</string>
<string id="20252">Enchendo os copos (vídeos)</string>
@@ -1598,24 +1748,33 @@
<string id="20256">Cliente HTS Tvheadend</string>
<string id="20257">Cliente VDR Streamdev</string>
<string id="20258">Cliente MythTV</string>
+ <string id="20259">Sistema Arquivos Rede(NFS)</string>
+ <string id="20260">Secure Shell (SSH/SFTP)</string>
+ <string id="20261">Apple Filing Protocol (AFP)</string>
+
<string id="20300">Diretório do servidor Web (HTTP)</string>
<string id="20301">Diretório do servidor Web (HTTPS)</string>
<string id="20302">Impossível gravar na pasta:</string>
<string id="20303">Quer cancelar e prosseguir?</string>
<string id="20304">Feed RSS</string>
+
<string id="20307">DNS secundário</string>
<string id="20308">Servidor DHCP:</string>
<string id="20309">Criar nova pasta</string>
<string id="20310">Escurecer LCD na reprodução</string>
<string id="20311">Desconhecido ou onboard (protegido)</string>
<string id="20312">Escurecer LCD na pausa</string>
+
<string id="20314">Vídeos - Coleção</string>
+
<string id="20316">Ordenar por: ID</string>
+
<string id="20324">Reproduzir parte...</string>
<string id="20325">Restaurar valores da calibração</string>
<string id="20326">Isto irá restaurar os valores da calibração para %s</string>
<string id="20327">para os valores padrões.</string>
<string id="20328">Procurar destino</string>
+ <string id="20329">Filmes em pastas separadas que combinam com o título do filme</string>
<string id="20330">Usar nomes de pastas para busca</string>
<string id="20331">Arquivo</string>
<string id="20332">Usar pasta ou nomes de arquivos em buscas?</string>
@@ -1690,6 +1849,7 @@
<string id="20401">Reproduzir vídeo musical</string>
<string id="20402">Baixar ícones de atores ao criar a coleção</string>
<string id="20403">Selecionar ícone de ator</string>
+
<string id="20405">Remover marcador do episódio</string>
<string id="20406">Definir marcador do episódio</string>
<string id="20407">Opções de scraper</string>
@@ -1704,6 +1864,8 @@
<string id="20416">Primeira exibição</string>
<string id="20417">Escritor</string>
<string id="20418">Limpar nomes de arquivos e pastas</string>
+ <string id="20419">Substituir nome do arquivo pelo título da biblioteca</string>
+
<string id="20420">Nunca</string>
<string id="20421">Se só uma temporada</string>
<string id="20422">Sempre</string>
@@ -1740,7 +1902,12 @@
<string id="20453">episódios</string>
<string id="20454">Ouvinte</string>
<string id="20455">Ouvintes</string>
+ <string id="20456">Setar fanart coleções filmes</string>
+ <string id="20457">Conjunto de filmes</string>
+ <string id="20458">Agrupar filmes em conjuntos</string>
+
<string id="21330">Exibir arquivos e diretórios ocultos</string>
+
<string id="21331">Cliente TuxBox</string>
<string id="21332">AVISO: dispositivo TuxBox está em modo de gravação!</string>
<string id="21333">Este canal será interrompido!</string>
@@ -1748,12 +1915,16 @@
<string id="21335">Tem certeza que deseja iniciar o canal?</string>
<string id="21336">Conectando a: %s</string>
<string id="21337">Dispositivo TuxBox</string>
+
<string id="21359">Adicionar compartilhamento de mídia...</string>
<string id="21360">Compartilhar coleções de vídeo e música através do UPnP</string>
+
<string id="21364">Editar compartilhamento de mídia</string>
<string id="21365">Remover compartilhamento de mídia</string>
<string id="21366">Pasta de legendas</string>
<string id="21367">Filme &amp; diretório de legenda alternativo</string>
+ <string id="21368">Substituir fontes da legendas em formato ASS/SSA</string>
+
<string id="21369">Ativar mouse</string>
<string id="21370">Permitir sons de navegação durante reprodução</string>
<string id="21371">Ícone</string>
@@ -1839,6 +2010,9 @@
<string id="21451">Necessário conexão com a Internet.</string>
<string id="21452">Obter Mais</string>
<string id="21453">Raiz</string>
+ <string id="21454">Cache cheio</string>
+ <string id="21455">Cache cheio antes de chegar a quantidade necessária para reprodução contínua</string>
+
<string id="21460">Local da Legenda</string>
<string id="21461">Fixado</string>
@@ -1856,6 +2030,7 @@
<string id="21806">Comentário</string>
<string id="21807">Colorido/B&amp;W</string>
<string id="21808">Processamento JPEG</string>
+
<string id="21820">Data/Hora</string>
<string id="21821">Descrição</string>
<string id="21822">Fabricante da câmera</string>
@@ -1880,6 +2055,7 @@
<string id="21841">Longitude do GPS</string>
<string id="21842">Altitude do GPS</string>
<string id="21843">Orientação</string>
+
<string id="21860">Categorias suplementares</string>
<string id="21861">Palavras-chave</string>
<string id="21862">Sub-título</string>
@@ -1921,9 +2097,11 @@
<string id="21898">Anos de atividade</string>
<string id="21899">Gravadora/marca</string>
<string id="21900">Nascido/formado</string>
+
<string id="22000">Atualizar coleção ao iniciar</string>
<string id="22001">Ocultar progresso de atualizações de coleção</string>
<string id="22002">- Sufixo de DNS</string>
+
<string id="22003">%2.3fs</string>
<string id="22004">Atrasado em: %2.3fs</string>
<string id="22005">Adiantado em: %2.3fs</string>
@@ -1946,6 +2124,7 @@
<string id="22022">Incluir arquivos de vídeo nas listagens</string>
<string id="22023">Fabricante DirectX:</string>
<string id="22024">Versão Direct3D:</string>
+
<string id="22030">Fonte</string>
<string id="22031">- Tamanho</string>
<string id="22032">- Cores</string>
@@ -1960,24 +2139,30 @@
<string id="22041">branco/vermelho</string>
<string id="22042">branco/azul</string>
<string id="22043">preto/branco</string>
+
<string id="22079">Selecionar ação padrão</string>
<string id="22080">Escolher</string>
<string id="22081">Mostrar Informação</string>
<string id="22082">Mais...</string>
<string id="22083">Tocar Tudo</string>
+
<string id="23049">Teletext indisponível</string>
<string id="23050">Ativar Teletext</string>
<string id="23051">Parte %i</string>
<string id="23052">Acumulando %i bytes</string>
<string id="23053">Parando</string>
<string id="23054">Executando</string>
+
<string id="23100">Player externo ativo</string>
<string id="23101">Clique OK para sair do player</string>
+
<string id="23104">Clique OK quando execução tiver terminado</string>
+
<string id="24000">Add-on</string>
<string id="24001">Add-ons</string>
<string id="24002">Opções Add-on</string>
<string id="24003">Informação do Add-on</string>
+
<string id="24005">Locais de Midia</string>
<string id="24007">Informação do Filme</string>
<string id="24008">Proteção de Tela</string>
@@ -2034,28 +2219,33 @@
<string id="24067">Baixando Add-ons</string>
<string id="24068">Atualização Disponível</string>
<string id="24069">Atualizar</string>
+
<string id="24070">Add-on não utilizado</string>
<string id="24071">Ocorreu um erro desconhecido</string>
<string id="24072">Necessário configurações</string>
<string id="24073">Não é possível conectar</string>
<string id="24074">Necessário reiniciar</string>
<string id="24075">Desativar</string>
+ <string id="24076">Add-on Necessário</string>
<string id="24080">Reconectar?</string>
<string id="24089">Add-on reiniciado</string>
<string id="24090">Bloquear Gerenciador de Add-on</string>
+
<string id="24091"></string>
<string id="24092"></string>
<string id="24093"></string>
- <string id="24094"></string>
- <string id="24095"></string>
+ <string id="24094">(atual)</string>
+ <string id="24095">(na lista negra)</string>
<string id="24096">O Add-on foi marcado como indisponível no repositório.</string>
<string id="24097">Você deseja desabilitar em seu sistema?</string>
<string id="24098">Indisponível</string>
<string id="24099">Gostaria de trocar para esta skin?</string>
<string id="25000">Notificações</string>
+
<string id="29800">Modo de coleção</string>
<string id="29801">Teclado QWERTY</string>
<string id="29802">Utilizando áudio em passthrough</string>
+
<string id="33001">Qualidade do trailer</string>
<string id="33002">Canal/sinal</string>
<string id="33003">Baixar</string>
@@ -2134,5 +2324,66 @@
<string id="33102">Servidor de Eventos</string>
<string id="33103">Servidor de Comunicação Remota</string>
+ <string id="33200">Detectado Nova Conexão</string>
+
<string id="34100">Configurar alto-falantes</string>
+ <string id="34101">2.0</string>
+ <string id="34102">2.1</string>
+ <string id="34103">3.0</string>
+ <string id="34104">3.1</string>
+ <string id="34105">4.0</string>
+ <string id="34106">4.1</string>
+ <string id="34107">5.0</string>
+ <string id="34108">5.1</string>
+ <string id="34109">7.0</string>
+ <string id="34110">7.1</string>
+ <!-- 34112-34200 reserved for future use -->
+
+ <string id="34201">Não foi possível encontrar um item posterior para tocar</string>
+ <string id="34202">Não foi possível encontrar um item anterior para tocar</string>
+
+ <string id="34300">Falha ao iniciar zeroconf</string>
+ <string id="34301">Se serviço Apple's Bonjour estiver instalado? Veja log para maiores informações.</string>
+
+ <string id="34400">Renderização de Video</string>
+ <string id="34401">Falha para inciar filtros e scalers de vídeo, voltando a usar bilinear scaling</string>
+ <string id="34402">Falha para inicializar o dispositivo de áudio</string>
+ <string id="34403">Verifique suas configurações de áudio</string>
+
+ <string id="35000">Periféricos</string>
+
+ <string id="35001">Disposito HID Genérico</string>
+ <string id="35002">Adaptador de Rede Genérico</string>
+ <string id="35003">Disco Genérico</string>
+ <string id="35004">Não existe ajustes disponíveis&#10;para este periférico.</string>
+ <string id="35005">Novo dispositivo configurado</string>
+ <string id="35006">Dispositivo removido</string>
+ <string id="35007">Keymap para uso com este dispositivo</string>
+ <string id="35008">Keymap ativado</string>
+
+ <string id="35500">Local</string>
+ <string id="35501">Classe</string>
+ <string id="35502">Nome</string>
+ <string id="35503">Fabricante</string>
+ <string id="35504">Produto ID</string>
+
+ <string id="36000">Adaptador CEC Pulse-Eight</string>
+ <string id="36001">Nyxboard Pulse-Eight</string>
+ <string id="36002">Trocar o comando para o lado do teclado</string>
+ <string id="36003">Trocar o comando para o lado do remoto</string>
+ <string id="36004">Pressione botão de comando "usuário"</string>
+ <string id="36005">Enable switch side commands</string>
+ <string id="36006">Não pude abrir o adaptador</string>
+ <string id="36007">Ligar a TV ou projetor quando inicializar o XBMC</string>
+ <string id="36008">Desligar equipamentos quando parar o XBMC</string>
+ <string id="36009">Colocar os equipamentos em modo de espera quando ativando proteção de tela</string>
+ <string id="36010"></string>
+ <string id="36011">Não pude detectar a porta CEC. Seta manualmente.</string>
+ <string id="36012">Não pude detectar o adaptador CEC.</string>
+ <string id="36013">Versãod libcec da interface não suportada. %d é superior a versão que o XBMC suporta (%d)</string>
+ <string id="36014">Passar este PC para modo standby, quando a TV for desligada</string>
+ <string id="36015">Número da porta HDMI</string>
+ <string id="36016">Conectado</string> <!-- max. 13 characters -->
+ <string id="36017">Adaptador encontrado, mas libcec não esta disponível</string>
+ <string id="36018">Usar os ajustes de linguagem da TV</string>
</strings>
diff --git a/language/Russian/strings.xml b/language/Russian/strings.xml
index 3a6df260dc..85d29856ad 100644
--- a/language/Russian/strings.xml
+++ b/language/Russian/strings.xml
@@ -1,5 +1,6 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<!--$Revision$-->
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<!-- Russian – current edition by Roman_V_M -->
+<!--Based on English cd69c7030b0caec990b6143fac65ca8168dccf71 (23.01.2012)-->
<strings>
<string id="0">Программы</string>
<string id="1">Фотографии</string>
@@ -43,7 +44,7 @@
<string id="51">янв.</string>
<string id="52">фев.</string>
- <string id="53">мар.</string>
+ <string id="53">марта</string>
<string id="54">апр.</string>
<string id="55">мая</string>
<string id="56">июня</string>
@@ -53,7 +54,7 @@
<string id="60">окт.</string>
<string id="61">нояб.</string>
<string id="62">дек.</string>
-
+
<string id="71">С</string>
<string id="72">ССВ</string>
<string id="73">СВ</string>
@@ -70,23 +71,23 @@
<string id="84">ЗСЗ</string>
<string id="85">СЗ</string>
<string id="86">ССЗ</string>
- <string id="87">Переменный</string>
+ <string id="87">Перем.</string>
- <string id="98">Вид: автоматически</string>
+ <string id="98">Вид: авто</string>
<string id="99">Вид: авто крупн.</string>
<string id="100">Вид: значки</string>
<string id="101">Вид: список</string>
<string id="102">Сканировать</string>
- <string id="103">Сорт. по: названию</string>
- <string id="104">Сорт. по: дате</string>
- <string id="105">Сорт. по: размеру</string>
+ <string id="103">Сорт. по имени</string>
+ <string id="104">Сорт. по дате</string>
+ <string id="105">Сорт. по размеру</string>
<string id="106">Нет</string>
<string id="107">Да</string>
<string id="108">Слайд-шоу</string>
<string id="109">Создавать эскизы</string>
<string id="110">Создавать эскизы</string>
<string id="111">Ярлыки</string>
- <string id="112">На паузе</string>
+ <string id="112">Пауза</string>
<string id="113">Не удалось обновить</string>
<string id="114">Не удалось установить</string>
<string id="115">Копировать</string>
@@ -99,7 +100,7 @@
<string id="122">Удалить файл?</string>
<string id="123">Копировать файлы?</string>
<string id="124">Переместить файлы?</string>
- <string id="125">Удалить файлы? (Восстановление будет невозможно.)</string>
+ <string id="125">Удалить файлы? Восстановление будет невозможно!</string>
<string id="126">Состояние</string>
<string id="127">Объектов</string>
<string id="128">Общие</string>
@@ -167,7 +168,7 @@
<string id="192">Очистить</string>
<string id="193">Сканировать</string>
<string id="194">Поиск…</string>
- <string id="195">Информации не найдено.</string>
+ <string id="195">Информация не найдена.</string>
<string id="196">Выберите фильм:</string>
<string id="197">Запрос информации от %s</string>
<string id="198">Загрузка данных о фильме</string>
@@ -183,7 +184,7 @@
<string id="209">Следующий</string>
<string id="210">Предыдущий</string>
<string id="213">Калибровка интерфейса…</string>
- <string id="214">Калибровка экрана…</string>
+ <string id="214">Калибровка дисплея…</string>
<string id="215">Сглаживание</string>
<string id="216">Степень увеличения</string>
<string id="217">Соотношение сторон</string>
@@ -197,7 +198,7 @@
<string id="226">Тестовые шаблоны…</string>
<string id="227">Искать имена треков аудио-CD на freedb.org</string>
<string id="228">Перемешать плейлист при загрузке</string>
- <string id="229">Останавливать HDD через (мин)</string>
+ <string id="229">Останавливать HDD через (мин.)</string>
<string id="230">Видеофильтры</string>
<string id="231">Нет</string>
<string id="232">Точка</string>
@@ -208,7 +209,7 @@
<string id="237">Уменьшение</string>
<string id="238">Увеличение</string>
<string id="239">Очищать плейлист после проигрывания</string>
- <string id="240">Режим экрана</string>
+ <string id="240">Режим дисплея</string>
<string id="241">Полный экран #%d</string>
<string id="242">В окне</string>
<string id="243">Частота обновления</string>
@@ -220,11 +221,11 @@
<string id="249">Музыка</string>
<string id="250">Визуализация</string>
<string id="251">Выберите папку назначения</string>
- <string id="252">- Выводить стерео на все динамики</string>
+ <string id="252">Выводить стерео на все динамики</string>
<string id="253">Количество каналов</string>
<string id="254">- Выводить звук в формате DTS</string>
<string id="255">CDDB</string>
- <string id="256">Запрос данных о CD…</string>
+ <string id="256">Получение данных о CD…</string>
<string id="257">Ошибка</string>
<string id="258">Читать информацию из тэгов</string>
<string id="259">Открытие…</string>
@@ -234,11 +235,11 @@
<string id="263">Разрешить управление XBMC по HTTP</string>
<string id="264">Запись</string>
<string id="265">Остановить запись</string>
- <string id="266">Сорт. по: № трека</string>
- <string id="267">Сорт. по: времени</string>
- <string id="268">Сорт. по: названию</string>
- <string id="269">Сорт. по: исполнителю</string>
- <string id="270">Сорт. по: альбому</string>
+ <string id="266">Сорт. по трекам</string>
+ <string id="267">Сорт. по времени</string>
+ <string id="268">Сорт. по названию</string>
+ <string id="269">Сорт. по исполнителю</string>
+ <string id="270">Сорт. по альбомам</string>
<string id="271">Топ 100</string>
<string id="272">Настройка размеров экрана (левый верхний угол)</string>
<string id="273">Настройка размеров экрана (правый нижний угол)</string>
@@ -247,9 +248,9 @@
<string id="276">Двигайте стрелки для регулировки размеров экрана</string>
<string id="277">Двигайте полоску, чтобы изменить позицию субтитров</string>
<string id="278">Измените прямоугольник так, чтобы добиться идеального квадрата</string>
- <string id="279">Невозможно загрузить настройки</string>
+ <string id="279">Не удалось загрузить настройки</string>
<string id="280">Используются стандартные настройки</string>
- <string id="281">Пожалуйста, проверьте файлы XML</string>
+ <string id="281">Проверьте файлы XML</string>
<string id="282">Найдено объектов: %i</string>
<string id="283">Результаты поиска</string>
<string id="284">Ничего не найдено</string>
@@ -322,40 +323,40 @@
<string id="360">Заставка</string>
<string id="361">Рекурс. слайд-шоу</string>
<string id="362">Уровень затемнения экрана</string>
- <string id="363">Сорт. по: файлам</string>
+ <string id="363">Сорт. по файлам</string>
<string id="364">- Выводить звук в формате Dolby Digital (AC3)</string>
- <string id="365">Сорт. по: названию</string>
- <string id="366">Сорт. по: году</string>
- <string id="367">Сорт. по: рейтингу</string>
+ <string id="365">Сорт. по имени</string>
+ <string id="366">Сорт. по году</string>
+ <string id="367">Сорт. по рейтингу</string>
<string id="368">IMDb</string>
<string id="369">Название</string>
- <string id="370">Грозы</string>
- <string id="371">Местами</string>
- <string id="372">Преимущественно</string>
+ <string id="370">грозы</string>
+ <string id="371">местами</string>
+ <string id="372">преимущественно</string>
<string id="373">солнечно</string>
<string id="374">облачно</string>
<string id="375">снег</string>
<string id="376">дождь</string>
- <string id="377">Небольшой</string>
+ <string id="377">небольш.</string>
<string id="378">Утром</string>
<string id="379">Днем</string>
- <string id="380">ливни</string>
- <string id="381">Немного</string>
- <string id="382">Местами</string>
+ <string id="380"> </string>
+ <string id="381">немного</string>
+ <string id="382">местами</string>
<string id="383">ветер</string>
- <string id="384">Сильный</string>
- <string id="385">Ясно</string>
- <string id="386">Безоблачно</string>
+ <string id="384">сильный</string>
+ <string id="385">безоблачно</string>
+ <string id="386">ясно</string>
<string id="387">облачно</string>
- <string id="388">Ранние</string>
- <string id="389">Ливень</string>
- <string id="390">Шквалы</string>
+ <string id="388">ранние</string>
+ <string id="389">ливень</string>
+ <string id="390">снегопад</string>
<string id="391">Мин.</string>
<string id="392">Средн.</string>
<string id="393">Макс.</string>
- <string id="394">Туман</string>
- <string id="395">Дымка</string>
- <string id="396">Выберите расположение</string>
+ <string id="394">туман</string>
+ <string id="395">дымка</string>
+ <string id="396">Выберите местность</string>
<string id="397">Время обновления</string>
<string id="398">Единица измерения температуры</string>
<string id="399">Единица измерения скорости ветра</string>
@@ -375,20 +376,20 @@
<string id="414">Нет описания этого альбома</string>
<string id="415">Загрузка эскизов…</string>
<string id="416">Нет данных</string>
- <string id="417">Вид: крупные значки</string>
- <string id="418">Мин</string>
- <string id="419">Макс</string>
+ <string id="417">Вид: крупн. значки</string>
+ <string id="418">Мин.</string>
+ <string id="419">Макс.</string>
<string id="420">HDMI</string>
- <string id="422">Удалить данные об альбоме</string>
- <string id="423">Удалить данные о CD</string>
+ <string id="422">Удалить сведения об альбоме</string>
+ <string id="423">Удалить сведения о CD</string>
<string id="424">Выбор</string>
- <string id="425">Данные об альбоме не найдены</string>
- <string id="426">Данные о CD не найдены</string>
+ <string id="425">Сведения об альбоме не найдены</string>
+ <string id="426">Сведения о CD не найдены</string>
<string id="427">Диск</string>
<string id="428">Вставьте правильный CD/DVD-диск</string>
- <string id="429">Вставьте следующий CD/DVD-диск:</string>
- <string id="430">Сорт. по: № DVD</string>
+ <string id="429">Вставьте следующий диск:</string>
+ <string id="430">Сорт. по № DVD</string>
<string id="431">Не кэшировать</string>
<string id="432">Удалить фильм из медиатеки</string>
<string id="433">Действительно удалить[CR]"%s"?</string>
@@ -406,7 +407,7 @@
<string id="446">DVD</string>
<string id="447">Автозапуск</string>
<string id="448">LCD-экран</string>
- <string id="449">Включ.</string>
+ <string id="449">Вкл.</string>
<string id="450">Количество знакомест в строке</string>
<string id="451">Адрес 1-ой строки</string>
<string id="452">Адрес 2-ой строки</string>
@@ -425,13 +426,13 @@
<string id="466">Гамма</string>
<string id="467">Тип</string>
<string id="468">Двигайте полоску, чтобы изменить положение экранного меню (OSD)</string>
- <string id="469">Позиция экранного меню (OSD)</string>
+ <string id="469">Положение экранного меню (OSD)</string>
<string id="470">Создатели</string>
<string id="471">МOD-чип</string>
<string id="474">Выкл.</string>
<string id="475">Только музыка</string>
<string id="476">Музыка и видео</string>
- <string id="477">Невозможно загрузить плейлист</string>
+ <string id="477">Не удалось загрузить плейлист</string>
<string id="478">Экранное меню (OSD)</string>
<string id="479">Обложка и язык</string>
<string id="480">Внешний вид</string>
@@ -447,20 +448,20 @@
<string id="492">Масштабировать субтитры</string>
<string id="493">Расширенные параметры (только для экспертов!)</string>
<string id="494">Общий уровень шума в комнате (dB)</string>
- <string id="495">Пересчитывать видео до разрешения GUI</string>
+ <string id="495">Масштабировать видео до разрешения GUI</string>
<string id="496">Калибровка</string>
<string id="497">Показывать расширения файлов</string>
- <string id="498">Сорт. по: типу</string>
- <string id="499">Не удалось соединиться с поисковым сервисом</string>
+ <string id="498">Сорт. по типу</string>
+ <string id="499">Не удалось подключиться к поисковой службе</string>
<string id="500">Не удалось загрузить данные об альбоме</string>
<string id="501">Поиск названий альбомов…</string>
<string id="502">Открыть</string>
<string id="503">Ждите…</string>
<string id="504">Пуст</string>
<string id="505">Загрузка информации из файлов…</string>
- <string id="507">Сорт. по: частоте</string>
- <string id="510">Включить видеоэффекты</string>
- <string id="511">Автопереключение PAL/NTSC</string>
+ <string id="507">Сорт. по частоте</string>
+ <string id="510">Включить визуализацию</string>
+ <string id="511">Автопереключение видеорежима</string>
<string id="512">Стартовое окно</string>
<string id="513">Главное меню</string>
<string id="514">Настройки</string>
@@ -504,7 +505,7 @@
<string id="552">Дата</string>
<string id="553">Размер</string>
<string id="554">№ трека</string>
- <string id="555">Временя</string>
+ <string id="555">Время</string>
<string id="556">Название</string>
<string id="557">Исполнитель</string>
<string id="558">Альбом</string>
@@ -524,7 +525,7 @@
<string id="572">Студия</string>
<string id="573">Путь</string>
<string id="574">Страна</string>
- <string id="575">Выполняется…</string>
+ <string id="575">Неоконченные</string>
<string id="576">Кол-во проигрываний</string>
<string id="580">Направление сортировки</string>
@@ -549,7 +550,7 @@
<string id="600">Оцифровать аудио-CD</string>
<string id="601">Среднее</string>
<string id="602">Стандартное</string>
- <string id="603">Экстремальное</string>
+ <string id="603">Максимальное</string>
<string id="604">Постоянный битрейт</string>
<string id="605">Оцифровка…</string>
@@ -571,7 +572,7 @@
<string id="630">Нормальный</string>
<string id="631">Увеличенный</string>
<string id="632">Растянутый 4:3</string>
- <string id="633">Растянутый 14:9</string>
+ <string id="633">Растянутый</string>
<string id="634">Растянутый 16:9</string>
<string id="635">Оригинальный размер</string>
<string id="636">Заданный</string>
@@ -601,7 +602,7 @@
<string id="660">Усиление громкости</string>
<string id="661">Укажите папку для экспорта</string>
- <string id="662">Этот файл больше недоступен.</string>
+ <string id="662">Этот файл больше не доступен.</string>
<string id="663">Удалить его из медиатеки?</string>
<string id="664">Выбрать скрипт</string>
<string id="665">Степень сжатия</string>
@@ -624,8 +625,8 @@
<string id="719">- IP-адрес</string>
<string id="720">- Маска подсети</string>
- <string id="721">- Адрес шлюза</string>
- <string id="722">- Адрес DNS сервера</string>
+ <string id="721">- Шлюз по умолчанию</string>
+ <string id="722">- DNS-сервер</string>
<string id="723">Сохранить и перезапустить</string>
<string id="724">Неправильный адрес. Введите значение в виде AAA.BBB.CCC.DDD</string>
<string id="725">с числами от 0 до 255.</string>
@@ -646,7 +647,7 @@
<string id="740">Курсив</string>
<string id="741">Жирный курсив</string>
<string id="742">Белый</string>
- <string id="743">Жёлтый</string>
+ <string id="743">Желтый</string>
<string id="744">Файлы</string>
<string id="745">Нет сканированных данных для этого вида</string>
<string id="746">Выключите режим медиатеки</string>
@@ -672,7 +673,7 @@
<string id="767">Серый</string>
<!-- strings 768 and 769 reserved for more subtitle colors -->
- <string id="770">Ошибка %i: ресурс недоступен</string>
+ <string id="770">Ошибка %i: ресурс недоступен</string>
<string id="772">Вывод звука</string>
<string id="773">Поиск…</string>
@@ -687,10 +688,10 @@
<string id="782">WPA</string>
<string id="783">WPA2</string>
<string id="784">Применение сетевых настроек. Подождите…</string>
- <string id="785">Сетевой интерфейс перезапущен успешно</string>
- <string id="786">Не удалось запустить сетевой интерфейс</string>
+ <string id="785">Сетевой интерфейс перезапущен.</string>
+ <string id="786">Не удалось запустить сетевой интерфейс.</string>
<string id="787">Интерфейс отключен</string>
- <string id="788">Сетевой интерфейс успешно отключен</string>
+ <string id="788">Сетевой интерфейс отключен.</string>
<string id="789">Имя беспроводной сети (ESSID)</string>
<string id="791">Разрешить программам на этой системе управлять XBMC</string>
@@ -712,7 +713,7 @@
<string id="1001">Не удалось подключиться</string>
<string id="1002">XBMC не удалось подключиться к сети.</string>
<string id="1003">Возможно, сеть не подключена.</string>
- <string id="1004">Добавить в любом случае?</string>
+ <string id="1004">Все равно добавить?</string>
<string id="1006">IP-адрес</string>
<string id="1007">Добавить сетевой адрес</string>
@@ -720,24 +721,24 @@
<string id="1009">Адрес сервера</string>
<string id="1010">Имя сервера</string>
<string id="1011">Сетевой путь</string>
- <string id="1012">Доступная папка</string>
+ <string id="1012">Общая папка</string>
<string id="1013">Порт</string>
<string id="1014">Имя пользователя</string>
<string id="1015">Укажите сетевой сервер</string>
<string id="1016">Введите адрес сервера</string>
- <string id="1017">Введите путь к серверу</string>
+ <string id="1017">Введите путь на сервере</string>
<string id="1018">Введите номер порта</string>
<string id="1019">Введите имя пользователя</string>
<string id="1020">Добавление источника - %s</string>
<string id="1021">Введите путь или укажите расположение файлов</string>
- <string id="1022">Введите имя этого медиаисточника</string>
+ <string id="1022">Введите имя медиа-источника.</string>
<string id="1023">Укажите новый ресурс</string>
<string id="1024">Обзор</string>
<string id="1025">Не удалось получить информацию о папке</string>
<string id="1026">Добавить источник…</string>
<string id="1027">Изменить источник…</string>
<string id="1028">Изменение источника - %s</string>
- <string id="1029">Введите новую метку</string>
+ <string id="1029">Введите новое название</string>
<string id="1030">Укажите картинку</string>
<string id="1031">Укажите папку с картинками</string>
<string id="1032">Добавить сетевой адрес…</string>
@@ -782,7 +783,7 @@
<string id="1220">Фото и файлы</string>
<string id="1221">Музыка, видео и фото</string>
<string id="1222">Музыка, видео, фото и файлы</string>
- <string id="1223">Откл.</string>
+ <string id="1223">Отключено</string>
<string id="1226">Файлы, музыка и видео</string>
<string id="1227">Файлы, фото и музыка</string>
<string id="1228">Файлы, фото и видео</string>
@@ -799,7 +800,7 @@
<string id="1252">Псевдоним</string>
<string id="1254">Запрашивать разрешение на подключение</string>
- <string id="1255">Отправлять логин и пароль для FTP</string>
+ <string id="1255">Использовать логин и пароль для FTP</string>
<string id="1256">Интервал опроса</string>
<string id="1257">Подключиться к найденной системе?</string>
@@ -811,34 +812,34 @@
<string id="1300">Другое аудио устройство</string>
<string id="1301">Другое устройство прямого вывода звука</string>
- <string id="1396">Гололед</string>
+ <string id="1396">гололед</string>
<string id="1397">и</string>
- <string id="1398">Заморозки</string>
- <string id="1399">Поздний</string>
- <string id="1400">Местами</string>
- <string id="1401">Ливень с грозами</string>
- <string id="1402">Гром</string>
- <string id="1403">Солнце</string>
- <string id="1404">Сильный</string>
+ <string id="1398">заморозки</string>
+ <string id="1399">поздний</string>
+ <string id="1400">местами</string>
+ <string id="1401">ливень с грозами</string>
+ <string id="1402">гроза</string>
+ <string id="1403">солнце</string>
+ <string id="1404">сильный</string>
<string id="1405">в</string>
<string id="1406"> </string>
- <string id="1407">Окрестностях</string>
- <string id="1408">Лед</string>
- <string id="1409">Кристаллы</string>
- <string id="1410">Спокойно</string>
+ <string id="1407">окрестностях</string>
+ <string id="1408">лед</string>
+ <string id="1409">кристаллы</string>
+ <string id="1410">спокойно</string>
<string id="1411">с</string>
<string id="1412">ветрено</string>
<string id="1413">дождь</string>
<string id="1414">гроза</string>
<string id="1415">дождь</string>
- <string id="1416">Туманно</string>
- <string id="1417">Град</string>
- <string id="1418">Грозы</string>
- <string id="1419">Грозовые ливни</string>
- <string id="1420">Умеренный</string>
- <string id="1421">Очень высокий</string>
- <string id="1422">Ветрено</string>
- <string id="1423">Туман</string>
+ <string id="1416">туманно</string>
+ <string id="1417">град</string>
+ <string id="1418">грозы</string>
+ <string id="1419">Ливни с грозами</string>
+ <string id="1420">умеренный</string>
+ <string id="1421">очень высокий</string>
+ <string id="1422">ветрено</string>
+ <string id="1423">туман</string>
<!-- strings through to 1450 reserved for weather translation -->
@@ -847,7 +848,7 @@
<string id="2050">Длительность</string>
- <string id="2100">Ошибка скрипта : %s</string>
+ <string id="2100">Ошибка скрипта: %s</string>
<string id="2101">Требуется более новая версия; см. журнал</string>
<string id="4501">Включить LCD/VFD-дисплей</string>
@@ -863,14 +864,14 @@
<string id="10008">Настройки - Основные</string>
<string id="10009">Настройки - Экран</string>
<string id="10010">Настройки - Внешний вид - Калибровка интерфейса</string>
- <string id="10011">Настройки - Видео - Калибровка экрана</string>
+ <string id="10011">Настройки - Видео - Калибровка дисплея</string>
<string id="10012">Настройки - Фотографии</string>
<string id="10013">Настройки - Программы</string>
<string id="10014">Настройки - Погода</string>
<string id="10015">Настройки - Музыка</string>
<string id="10016">Настройки - Система</string>
<string id="10017">Настройки - Видео</string>
- <string id="10018">Настройки > Сеть</string>
+ <string id="10018">Настройки - Сеть</string>
<string id="10019">Настройки - Внешний вид</string>
<string id="10020">Скрипты</string>
<string id="10021">Веб-браузер</string>
@@ -891,8 +892,8 @@
<string id="10501">Музыка/файлы</string>
<string id="10502">Музыка/медиатека</string>
<string id="10503">Редактор плейлиста</string>
- <string id="10504">Top 100 - песни</string>
- <string id="10505">Top 100 - альбомы</string>
+ <string id="10504">Топ 100 - песни</string>
+ <string id="10505">Топ 100 - альбомы</string>
<string id="10506">Программы</string>
<string id="10507">Настройка</string>
<string id="10508">Прогноз погоды</string>
@@ -966,15 +967,15 @@
<string id="12360">Общая защита</string>
<string id="12362">Выключить систему, если количество неудачных попыток исчерпано</string>
<string id="12367">Неправильный код защиты</string>
- <string id="12368">Введите правильный код защиты!</string>
+ <string id="12368">Введите правильный код защиты</string>
<string id="12373">Настройки и файл-менеджер</string>
<string id="12376">Установить для всех фильмов</string>
<string id="12377">Это сбросит сохраненные ранее значения.</string>
<string id="12378">Время показа каждого слайда</string>
<string id="12379">Эффекты панорамы и увеличения</string>
- <string id="12383">12-х часовой</string>
- <string id="12384">24-х часовой</string>
+ <string id="12383">12-часовой</string>
+ <string id="12384">24-часовой</string>
<string id="12385">День/месяц</string>
<string id="12386">Месяц/день</string>
@@ -1007,7 +1008,7 @@
<string id="13015">Реакция на кнопку питания</string>
<string id="13016">Выключить систему</string>
- <string id="13020">Активна другая сессия; возможно, по SSH.</string>
+ <string id="13020">Проверьте, не активна ли другая сессия (напр., SSH).</string>
<string id="13021">Подключен переносной жесткий диск</string>
<string id="13022">Небезопасное отключение устройства</string>
<string id="13023">Устройство отключено успешно</string>
@@ -1018,7 +1019,7 @@
<string id="13100">Фильтр мерцания</string>
<string id="13101">По выбору драйвера (требуется перезапуск)</string>
-
+
<string id="13105">Вертикальная синхронизация</string>
<string id="13106">Отключена</string>
<string id="13107">Только при просмотре видео</string>
@@ -1033,7 +1034,7 @@
<string id="13115">Всегда включено</string>
<string id="13116">Метод масштабирования</string>
- <string id="13117">Бикубический</string>
+ <string id="13117">Bicubic</string>
<string id="13118">Lanczos</string>
<string id="13119">Sinc</string>
<string id="13120">VDPAU</string>
@@ -1044,7 +1045,7 @@
<string id="13131">Отключено</string>
<string id="13132">Погасить дисплеи</string>
- <string id="13140">Обнаружено активное соединение.</string>
+ <string id="13140">Обнаружены активные соединения.</string>
<string id="13141">В случае продолжения возможна потеря управления</string>
<string id="13142">XBMC. Остановить сервер событий?</string>
@@ -1065,19 +1066,19 @@
<string id="13174">Кол-во циклов включения/выключения HDD:</string>
<string id="13200">Профили</string>
- <string id="13201">Удалить профиль '%s'?</string>
-
+ <string id="13201">Удалить профиль "%s"?</string>
+
<string id="13204">Последний загруженный профиль:</string>
<string id="13205">Неизвестно</string>
<string id="13206">Перезаписать</string>
-
+
<string id="13208">Таймер напоминаний</string>
- <string id="13209">Период таймера напоминаний (в минутах)</string>
- <string id="13210">Запущен, сработает в %im</string>
+ <string id="13209">Период таймера напоминаний (в мин.)</string>
+ <string id="13210">Запущен; сработает через %i мин.</string>
<string id="13211">НАПОМИНАНИЕ!</string>
- <string id="13212">Отменено за %im%is до срабатывания</string>
- <string id="13213">%2.0fm</string> <!--minutes (left from countdown)-->
- <string id="13214">%2.0fs</string> <!--seconds (left from countdown)-->
+ <string id="13212">Отменено за %i мин. %i с. до срабатывания</string>
+ <string id="13213">%2.0f мин.</string> <!--minutes (left from countdown)-->
+ <string id="13214">%2.0f с.</string> <!--seconds (left from countdown)-->
<string id="13249">Искать субтитры в архивах RAR</string>
<string id="13250">Выбрать субтитры…</string>
@@ -1088,7 +1089,7 @@
<string id="13270">Оборудование:</string>
<string id="13271">Загрузка CPU:</string>
- <string id="13274">Подключено, но DNS-сервер недоступен</string>
+ <string id="13274">Подключено, но DNS-сервер недоступен.</string>
<string id="13275">Жесткий диск</string>
<string id="13276">Привод DVD</string>
<string id="13277">Накопители</string>
@@ -1132,8 +1133,8 @@
<string id="13318">Рекурсивное слайд-шоу</string>
<string id="13319">Случайно</string>
<string id="13320">Стерео</string>
- <string id="13321">только левый</string>
- <string id="13322">только правый</string>
+ <string id="13321">Только левый</string>
+ <string id="13322">Только правый</string>
<string id="13323">Разрешить поддержку караоке</string>
<string id="13324">Уровень прозрачности фона</string>
<string id="13325">Уровень прозрачности текста</string>
@@ -1142,10 +1143,10 @@
<string id="13328">%s не найден</string>
<string id="13329">Ошибка открытия %s</string>
<string id="13330">Не удалось загрузить %s</string>
- <string id="13331">Ошибка: не хватает памяти</string>
+ <string id="13331">Ошибка: недостаточно памяти</string>
<string id="13332">Переместить вверх</string>
<string id="13333">Переместить вниз</string>
- <string id="13334">Изменить метку</string>
+ <string id="13334">Изменить название</string>
<string id="13335">Сделать по умолчанию</string>
<string id="13336">Убрать кнопку</string>
@@ -1154,10 +1155,10 @@
<string id="13342">Оранжевый</string>
<string id="13343">Красный</string>
<string id="13344">Циклически</string>
- <string id="13345">Выключать при проигрывании</string>
+ <string id="13345">Выключать индикатор при проигрывании</string>
<string id="13346">Сведения о фильме</string>
<string id="13347">Добавить в плейлист</string>
- <string id="13348">Найти в IMDb…</string>
+ <string id="13348">Поиск в IMDb…</string>
<string id="13349">Сканировать содержимое</string>
<string id="13350">Текущий плейлист…</string>
<string id="13351">Сведения об альбоме</string>
@@ -1167,11 +1168,11 @@
<string id="13355">Пикс. шейдер низк. качества</string>
<string id="13356">Аппаратное наложение</string>
<string id="13357">Пикс. шейдер высок. качества</string>
- <string id="13358">Воспроизвести объект</string>
- <string id="13359">Установить эскиз исполнителя</string>
+ <string id="13358">Проиграть объект</string>
+ <string id="13359">Выбрать эскиз исполнителя</string>
<string id="13360">Создавать эскизы</string>
<string id="13361">Включить микрофон</string>
-
+
<string id="13375">Включить устройство</string>
<string id="13376">Громкость</string>
<string id="13377">Основной режим просмотра</string>
@@ -1186,27 +1187,27 @@
<string id="13386">Позиционировать по времени</string>
<string id="13387">Правая колонка в списке</string>
<string id="13388">Предустановка</string>
- <string id="13389">Нет предустановок&#10;для этого видео эффекта</string>
- <string id="13390">Нет настроек&#10;для этого видео эффекта</string>
- <string id="13391">Открыть / закрыть</string>
+ <string id="13389">Нет предустановок&#10;для этой визуализации</string>
+ <string id="13390">Нет настроек&#10;для этой визуализации</string>
+ <string id="13391">Открыть/закрыть</string>
<string id="13392">Включить визуализацию при проигрывании музыки</string>
- <string id="13393">Вычислить объем</string>
- <string id="13394">Вычисляется объем папки…</string>
+ <string id="13393">Вычислить размер</string>
+ <string id="13394">Вычисляется размер папки…</string>
<string id="13395">Настройки видео</string>
- <string id="13396">Настройки субтитров и звука</string>
+ <string id="13396">Настройки звука и субтитров</string>
<string id="13397">Включить субтитры</string>
<string id="13398">Ярлыки</string>
- <string id="13399">Не учитывать артикли при сортировке</string>
+ <string id="13399">Не учитывать артикли при сортировке (напр., "the")</string>
<string id="13400">Переход между песнями в том же альбоме</string>
<string id="13401">Выбрать %s</string>
<string id="13402">Показать позицию трека</string>
<string id="13403">Очистить по умолчанию</string>
<string id="13404">Продолжить</string>
<string id="13405">Эскиз</string>
- <string id="13406">Данные о фотографии</string>
- <string id="13407">%s предустановки</string>
+ <string id="13406">Сведения о фотографии</string>
+ <string id="13407">Предустановок: %s</string>
<string id="13408">(Рейтинг пользователей IMDb)</string>
- <string id="13409">Top 250</string>
+ <string id="13409">Топ 250</string>
<string id="13410">Настройки Last.fm</string>
<string id="13411">Минимальная скорость вентиляторов</string>
<string id="13412">Проигрывать отсюда</string>
@@ -1231,13 +1232,13 @@
<string id="13431">Пиксельные шейдеры</string>
<string id="13432">Включить аппаратное ускорение (VideoToolbox)</string>
- <string id="13500">Метод синхронизации А/В</string>
+ <string id="13500">Синхронизация А/В</string>
<string id="13501">По частоте звука</string>
<string id="13502">По частоте видео (пропуск/дублирование звука)</string>
<string id="13503">По частоте видео (преобразование звука)</string>
<string id="13504">Максимальная величина преобразования (%)</string>
<string id="13505">Качество преобразования</string>
- <string id="13506">Низкое</string>
+ <string id="13506">Низкое (быстро)</string>
<string id="13507">Среднее</string>
<string id="13508">Высокое</string>
<string id="13509">Очень высокое (медленно!)</string>
@@ -1253,21 +1254,21 @@
<string id="13602">Разрешить запуск XBMC с ДУ</string>
<string id="13603">Интервал последовательности</string>
- <string id="13610">Отключено</string>
+ <string id="13610">Откл.</string>
<string id="13611">Стандартный</string>
- <string id="13612">Универсальное ДУ</string>
+ <string id="13612">Универсальный пульт ДУ</string>
<string id="13613">Мульти-ДУ (Harmony)</string>
<string id="13620">Ошибка ДУ Apple</string>
- <string id="13621">Можно включить поддержку ДУ Apple</string>
+ <string id="13621">Можно включить поддержку ДУ Apple.</string>
<string id="14000">Сгруппировать</string>
<string id="14001">Разгруппировать</string>
<string id="14003">Загружается файл плейлиста…</string>
<string id="14004">Загружается список потоков…</string>
<string id="14005">Анализ списка потоков…</string>
- <string id="14006">Ошибка загрузки списка потоков</string>
- <string id="14007">Ошибка загрузки файла плейлиста</string>
+ <string id="14006">Не удалось загрузить список потоков</string>
+ <string id="14007">Не удалось загрузить файл плейлиста</string>
<string id="14009">Папка с играми</string>
<string id="14010">Автопереключение вида на эскизы по</string>
@@ -1279,9 +1280,9 @@
<string id="14016">Хотя бы один файл и эскиз</string>
<string id="14017">Процентное соотношение эскизов</string>
<string id="14018">Настройки просмотра</string>
- <string id="14019">Первая местность</string>
- <string id="14020">Вторая местность</string>
- <string id="14021">Третья местность</string>
+ <string id="14019">Местность 1</string>
+ <string id="14020">Местность 2</string>
+ <string id="14021">Местность 3</string>
<string id="14022">Медиатека</string>
<string id="14023">Без ТВ</string>
<string id="14024">Введите ближайший крупный город</string>
@@ -1294,7 +1295,7 @@
<string id="14032">- из Интернета</string>
<string id="14034">Кэш DVD - с DVD-диска</string>
<string id="14035">- Из локальной сети</string>
- <string id="14036">Серверы</string>
+ <string id="14036">Службы</string>
<string id="14038">Настройки локальной сети изменены.</string>
<string id="14039">Для изменения настроек сети требуется</string>
@@ -1331,7 +1332,7 @@
<string id="14070">Применить изменения сейчас</string>
<string id="14071">Разрешить переименование и удаление файлов</string>
- <string id="14074">Установить часовой пояс</string>
+ <string id="14074">Выбрать часовой пояс</string>
<string id="14075">Учитывать летнее/зимнее время</string>
<string id="14076">Добавить в "Избранное"</string>
<string id="14077">Удалить из "Избранного"</string>
@@ -1339,15 +1340,15 @@
<string id="14079">Страна в часовом поясе</string>
<string id="14080">Часовой пояс</string>
<string id="14081">Списки файлов</string>
- <string id="14082">Показывать информацию о фото из EXIF</string>
+ <string id="14082">Показывать сведения о фото из EXIF</string>
<string id="14083">Использовать окно на весь экран вместо полного экрана</string>
<string id="14084">Добавлять треки в очередь при выборе</string>
<string id="14085">Воспроизводить аудио-CD автоматически</string>
<string id="14086">Воспроизведение</string>
<string id="14087">DVD</string>
<string id="14088">Воспроизводить DVD автоматически</string>
- <string id="14089">Шрифт для текстовых субтитров</string>
- <string id="14090">Языки[CR]и стандарты</string>
+ <string id="14089">Шрифт текстовых субтитров</string>
+ <string id="14090">Язык[CR]и стандарты</string>
<string id="14091">Кодировка</string>
<string id="14092">Отладка</string>
<string id="14093">Безопасность</string>
@@ -1378,15 +1379,15 @@
<string id="15201">Отправлять статистику на Last.fm</string>
<string id="15202">Имя пользователя для Last.fm</string>
<string id="15203">Пароль для Last.fm</string>
- <string id="15204">Невозможно связаться: ожидание…</string>
+ <string id="15204">Не удалось связаться: ожидание…</string>
<string id="15205">Обновите XBMC</string>
- <string id="15206">Неверная авторизация: проверьте имя пользователя и пароль</string>
+ <string id="15206">Ошибка авторизации: проверьте имя пользователя и пароль</string>
<string id="15207">Подключено</string>
<string id="15208">Не подключено</string>
<string id="15209">Интервал подключения %i</string>
- <string id="15210">В кэше песен: %i</string>
+ <string id="15210">Песен в кэше: %i</string>
<string id="15211">Подключение…</string>
- <string id="15212">Подкл через %i с.</string>
+ <string id="15212">Подключение через %i с.</string>
<string id="15213">Проиграть с помощью…</string>
<string id="15214">Плавная синхронизация звука и видео</string>
<string id="15215">Скрывать имена файлов в режиме эскизов</string>
@@ -1424,31 +1425,31 @@
<string id="15274">Недельный чарт альбомов %name%</string>
<string id="15275">Недельный чарт треков %name%</string>
<string id="15276">Слушать выбор сообществ %name% на Last.fm</string>
- <string id="15277">Слушать личный выбор %name%'а на Last.fm</string>
+ <string id="15277">Слушать личный выбор %name% на Last.fm</string>
<string id="15278">Слушать любимые треки %name% на Last.fm</string>
<string id="15279">Получение списка от Last.fm…</string>
- <string id="15280">Не удалось получить список от Last.fm…</string>
+ <string id="15280">Не удается получить список от Last.fm…</string>
<string id="15281">Введите имя исполнителя для поиска похожих</string>
<string id="15282">Введите название тэга для поиска похожих</string>
<string id="15283">Треки, недавно прослушанные %name%</string>
<string id="15284">Слушать рекомендации %name% на Last.fm</string>
- <string id="15285">Топ тэгов для %name%</string>
-
- <string id="15287">Вы хотите добавить этот трек к своим любимым трекам?</string>
- <string id="15288">Вы хотите заблокировать этот трек?</string>
- <string id="15289">Добавлено к вашим любимым трекам: '%s'.</string>
- <string id="15290">Невозможно добавить '%s' к вашим любимым трекам.</string>
- <string id="15291">Заблокировано: '%s'.</string>
- <string id="15292">Не удалось заблокировать.</string>
+ <string id="15285">Топ тэгов пользователя %name%</string>
+
+ <string id="15287">Добавить этот трек к вашим любимым трекам?</string>
+ <string id="15288">Заблокировать этот трек?</string>
+ <string id="15289">Добавлено к вашим любимым трекам: "%s".</string>
+ <string id="15290">Не удалось добавить "%s" к вашим любимым трекам.</string>
+ <string id="15291">Заблокировано: "%s".</string>
+ <string id="15292">Не удалось заблокировать "%s".</string>
<string id="15293">Недавно полюбившиеся треки %name%</string>
<string id="15294">Недавно заблокированные треки %name%</string>
<string id="15295">Удалить из любимых треков</string>
<string id="15296">Разблокировать</string>
- <string id="15297">Вы хотите удалить этот трек из любимых треков?</string>
- <string id="15298">Вы хотите разблокировать этот трек?</string>
+ <string id="15297">Удалить этот трек из ваших любимых треков?</string>
+ <string id="15298">Разблокировать этот трек?</string>
<string id="15300">Неверный или несуществующий путь</string>
- <string id="15301">Не удалось подключиться с серверу</string>
+ <string id="15301">Не удалось подключиться к серверу</string>
<string id="15302">Серверы не найдены</string>
<string id="15303">Рабочая группа не найдена</string>
@@ -1478,16 +1479,16 @@
<string id="16022">Bob (обратный)</string>
<string id="16023"></string>
<string id="16024">Отмена…</string>
- <string id="16025">Введите название исполнителя</string>
+ <string id="16025">Введите имя исполнителя</string>
<string id="16026">Проигрывание плейлиста прервано</string>
<string id="16027">Не удалось проиграть как минимум один файл.</string>
<string id="16028">Введите значение</string>
- <string id="16029">Для получения доп. сведений просмотрите журнал</string>
- <string id="16030">Режим "party" отключен</string>
- <string id="16031">Нет похожих песен в медиатеке</string>
- <string id="16032">Не удалось инициализировать базу данных</string>
- <string id="16033">Не удалось открыть базу данных</string>
- <string id="16034">Не удалось получить песни из базы данных</string>
+ <string id="16029">Для получения доп. сведений просмотрите журнал.</string>
+ <string id="16030">Режим "party" отключен.</string>
+ <string id="16031">Нет похожих песен в медиатеке.</string>
+ <string id="16032">Не удалось инициализировать базу данных.</string>
+ <string id="16033">Не удалось открыть базу данных.</string>
+ <string id="16034">Не удалось получить песни из базы данных.</string>
<string id="16035">Плейлист режима "party"</string>
<string id="16036">Деинтерлейсинг (1 поле)</string>
<string id="16037">Деинтерлейсинг</string>
@@ -1495,7 +1496,7 @@
<string id="16039">Выкл.</string>
<string id="16040">Авто</string>
<string id="16041">Вкл.</string>
-
+
<string id="16100">Все видео</string>
<string id="16101">Не просмотрено</string>
<string id="16102">Просмотрено</string>
@@ -1536,10 +1537,10 @@
<string id="16322">Spline36</string>
<string id="16323">Оптимизир. Spline36</string>
<string id="16324">Blend (программный)</string>
-
+
<string id="16400">Постобработка</string>
- <string id="17500">Переход экрана в спящий режим через</string>
+ <string id="17500">Переход дисплея в спящий режим через</string>
<string id="19000">Переключиться на канал</string>
@@ -1557,7 +1558,7 @@
<string id="20011">Музыкальные плейлисты</string>
<string id="20012">Плейлисты видео</string>
<string id="20013">Запустить игру?</string>
- <string id="20014">Сорт. по: плейлисту</string>
+ <string id="20014">Сорт. по плейлисту</string>
<string id="20015">Внешний эскиз</string>
<string id="20016">Текущий эскиз</string>
<string id="20017">Локальный эскиз</string>
@@ -1577,13 +1578,13 @@
<string id="20038">Заблокировать раздел "Музыка"</string>
<string id="20039">Заблокировать раздел "Видео"</string>
<string id="20040">Заблокировать раздел "Фотографии"</string>
- <string id="20041">Заблокировать раздел "Программы" и "Скрипты"</string>
+ <string id="20041">Заблокировать разделы "Программы" и "Скрипты"</string>
<string id="20042">Заблокировать "Файл-менеджер"</string>
- <string id="20043">Заблокировать 'Настройки'</string>
+ <string id="20043">Заблокировать "Настройки"</string>
<string id="20044">Чистый старт</string>
<string id="20045">Включить режим полного доступа</string>
<string id="20046">Выключить режим полного доступа</string>
- <string id="20047">Создать профиль '%s' ?</string>
+ <string id="20047">Создать профиль "%s"?</string>
<string id="20048">Запустить с чистыми параметрами</string>
<string id="20049">Лучший из доступных</string>
<string id="20050">Автоматический выбор 16:9 или 4:3</string>
@@ -1596,7 +1597,7 @@
<string id="20057">Удалить эскиз</string>
<string id="20058">Добавить профиль…</string>
<string id="20059">Получить сведения обо всех альбомах</string>
- <string id="20060">Сведения о файле</string>
+ <string id="20060">Информация</string>
<string id="20061">Разделять</string>
<string id="20062">Стандартные ресурсы</string>
<string id="20063">Стандартные ресурсы (только чтение)</string>
@@ -1612,7 +1613,7 @@
<string id="20073">и указано правильное имя новой папки</string>
<string id="20074">Рейтинг MPAA</string>
<string id="20075">Введите код защиты</string>
- <string id="20076">Спрашивать код защиты при старте</string>
+ <string id="20076">Запрашивать код защиты при старте</string>
<string id="20077">Настройки обложки</string>
<string id="20078">- нет связи -</string>
<string id="20079">Использовать анимацию</string>
@@ -1622,11 +1623,11 @@
<string id="20083">Показывать сведения о музыке</string>
<string id="20084">Показывать сведения о погоде</string>
<string id="20085">Показывать сведения о системе</string>
- <string id="20086">Показывать свободное место на C: E: F:</string>
- <string id="20087">Показывать свободное место на E: F: G:</string>
+ <string id="20086">Показывать свободное место на дисках C: E: F:</string>
+ <string id="20087">Показывать свободное место на дисках E: F: G:</string>
<string id="20088">Погода</string>
<string id="20089">Свободное место на диске</string>
- <string id="20090">Введите название существующего ресурса</string>
+ <string id="20090">Введите имя существующего ресурса</string>
<string id="20091">Код защиты</string>
<string id="20092">Загрузить профиль</string>
<string id="20093">Название профиля</string>
@@ -1670,7 +1671,7 @@
<string id="20132">Перезапустить видео</string>
<string id="20133">Изменить сетевой ресурс</string>
<string id="20134">Удалить сетевой ресурс</string>
- <string id="20135">Просканировать папку?</string>
+ <string id="20135">Сканировать папку?</string>
<string id="20136">Карта памяти</string>
<string id="20137">Карта памяти подключена</string>
<string id="20138">Не удалось подключить карту памяти</string>
@@ -1681,10 +1682,10 @@
<string id="20143">Введите пароль для</string>
<string id="20144">Таймер выключения</string>
<string id="20145">Интервал выключения (мин.)</string>
- <string id="20146">Запущен, выключение через %im</string>
+ <string id="20146">Запущен, выключение через %i мин.</string>
<string id="20147">Выключение через 30 мин.</string>
- <string id="20148">Выключение через 1 ч.</string>
- <string id="20149">Выключение через 2 ч.</string>
+ <string id="20148">Выключение через 60 мин.</string>
+ <string id="20149">Выключение через 120 мин.</string>
<string id="20150">Выключение по таймеру</string>
<string id="20151">Отменить таймер выключения</string>
<string id="20152">Заблокировать предпочтения для %s</string>
@@ -1709,14 +1710,14 @@
<string id="20171">Сеть Windows (SMB)</string>
<string id="20172">XBMSP-сервер</string>
<string id="20173">FTP-сервер</string>
- <string id="20174">iTunes (DAAP)</string>
+ <string id="20174">Ресурс iTunes (DAAP)</string>
<string id="20175">UPnP-сервер</string>
<string id="20176">Показывать сведения о видео</string>
<string id="20177">Готово</string>
<string id="20178">Shift</string>
<string id="20179">Caps Lock</string>
<string id="20180">Символы</string>
- <string id="20181">← Backspace</string>
+ <string id="20181">&#60;- Backspace</string>
<string id="20182">Пробел</string>
<string id="20183">Обновить обложку</string>
<string id="20184">Поворачивать фото по информации из EXIF</string>
@@ -1742,7 +1743,7 @@
<string id="20252">Наполнение бокалов (видео)</string>
<string id="20253">WebDAV-сервер (HTTP)</string>
<string id="20254">WebDAV-сервер (HTTPS)</string>
- <string id="20255">Первый вход, настройте свой профиль</string>
+ <string id="20255">Первый вход; настройте свой профиль</string>
<string id="20256">Клиент HTS Tvheadend</string>
<string id="20257">Клиент VDR Streamdev</string>
<string id="20258">Клиент MythTV</string>
@@ -1756,21 +1757,21 @@
<string id="20303">Пропустить и продолжить?</string>
<string id="20304">RSS-лента</string>
- <string id="20307">Вторичный DNS</string>
+ <string id="20307">Дополнительный DNS</string>
<string id="20308">Сервер DHCP:</string>
<string id="20309">Создать новую папку</string>
- <string id="20310">Пригасить LCD-экран при проигрывании</string>
+ <string id="20310">Затемнять LCD-экран при проигрывании</string>
<string id="20311">Неизвестный или встроенный (защищенный)</string>
- <string id="20312">Пригасить LCD-экран при паузе</string>
+ <string id="20312">Затемнять LCD-экран на паузе</string>
<string id="20314">Видео - Медиатека</string>
- <string id="20316">Сорт. по: ID</string>
+ <string id="20316">Сорт. по ID</string>
<string id="20324">Играть часть…</string>
<string id="20325">Сброс калибровки</string>
<string id="20326">Это сбросит калибровочные значения для %s</string>
- <string id="20327">на значения по умолчанию</string>
+ <string id="20327">до значений по умолчанию</string>
<string id="20328">Укажите назначение</string>
<string id="20330">Использовать имена папок для поиска</string>
@@ -1798,7 +1799,7 @@
<string id="20352">Сведения о серии</string>
<string id="20353">Загрузка сведений о сериале…</string>
<string id="20354">Получение расписания серий…</string>
- <string id="20355">Загрузка данных о сериях в папке…</string>
+ <string id="20355">Загрузка сведений о сериях в папке…</string>
<string id="20356">Выберите сериал:</string>
<string id="20357">Введите название сериала</string>
<string id="20358">Сезон %i</string>
@@ -1820,13 +1821,13 @@
<string id="20374">Загрузка сведений о фильме…</string>
<string id="20375">Не указывать содержимое</string>
<string id="20376">Оригинальное название</string>
- <string id="20377">Обновить информацию о сериале</string>
- <string id="20378">Обновить информацию о всех сериях?</string>
+ <string id="20377">Обновить сведения о сериале</string>
+ <string id="20378">Обновить сведения обо всех сериях?</string>
<string id="20379">Указанная папка содержит отдельный сериал</string>
<string id="20380">Не сканировать выбранную папку</string>
<string id="20381">Дополнения</string>
- <string id="20382">Автоматически создавать эскизы для сезонов</string>
- <string id="20383">Указанная папка содержит отдельное видео</string>
+ <string id="20382">Автоматически загружать эскизы для сезонов</string>
+ <string id="20383">Указанная папка содержит отдельный видеофайл</string>
<string id="20384">Связать с сериалом</string>
<string id="20385">Убрать связь с сериалом</string>
<string id="20386">Последние фильмы</string>
@@ -1869,7 +1870,7 @@
<string id="20422">Всегда</string>
<string id="20423">Есть трейлер</string>
<string id="20424">Нет</string>
- <string id="20425">Слайдшоу фанартов</string>
+ <string id="20425">Слайд-шоу фанартов</string>
<string id="20426">Экспортировать одним файлом или разделять</string>
<string id="20427">на отдельные файлы для каждой записи?</string>
<string id="20428">Одним файлом</string>
@@ -1888,20 +1889,21 @@
<string id="20441">Внешний фанарт</string>
<string id="20442">Изменить тип содержимого</string>
<string id="20443">Обновить сведения для всех</string>
- <string id="20444">элементов в данной папке?</string>
+ <string id="20444">объектов в данной папке?</string>
<string id="20445">Фанарт</string>
- <string id="20446">Найдена локальная информация.</string>
+ <string id="20446">Найдены локальные сведения.</string>
<string id="20447">Игнорировать и обновить из Интернета?</string>
- <string id="20448">Не удалось загрузить информацию</string>
- <string id="20449">Сервер недоступен</string>
+ <string id="20448">Не удалось загрузить сведения</string>
+ <string id="20449">Сервер недоступен.</string>
<string id="20450">Продолжить сканирование?</string>
<string id="20451">Страны</string>
<string id="20452">серия</string>
<string id="20453">серий</string>
<string id="20454">Слушатель</string>
- <string id="20455">Слушатели</string>
+ <string id="20455">Слушателей</string>
<string id="20456">Выбрать фанарт киноцикла</string>
<string id="20457">Киноцикл</string>
+ <string id="20458">Объединять фильмы в циклы</string>
<!-- up to 21329 is reserved for the video db !! !-->
<string id="21330">Показывать скрытые файлы и папки</string>
@@ -1909,7 +1911,7 @@
<string id="21331">Клиент TuxBox</string>
<string id="21332">ВНИМАНИЕ. Целевое устройство TuxBox находится в режиме записи!</string>
<string id="21333">Поток будет остановлен!</string>
- <string id="21334">Переключение каналов: ошибка %s</string>
+ <string id="21334">Не удалось переключиться на канал %s.</string>
<string id="21335">Включить поток?</string>
<string id="21336">Подключение к: %s</string>
<string id="21337">Устройство TuxBox</string>
@@ -1923,7 +1925,7 @@
<string id="21366">Папка субтитров</string>
<string id="21367">Папка для фильмов и альтернативных субтитров</string>
<string id="21368">Игнорировать шрифты субтитров ASS/SSA</string>
-
+
<string id="21369">Включить мышь и сенсорный экран</string>
<string id="21370">Звуки интерфейса во время проигрывания</string>
<string id="21371">Эскизы</string>
@@ -1944,13 +1946,13 @@
<string id="21386">Управление уровнем шума</string>
<string id="21387">Скорость</string>
<string id="21388">Тишина</string>
- <string id="21389">Разрешить свои фоновые изображения</string>
+ <string id="21389">Разрешить выбор фоновых изображений</string>
<string id="21390">Управление питанием</string>
<string id="21391">Полная мощность</string>
<string id="21392">Пониженная мощность</string>
<string id="21393">Полное ожидание</string>
<string id="21394">Пониженное ожидание</string>
- <string id="21395">Невозможно кэшировать файлы размером более 4 ГБ</string>
+ <string id="21395">Не удалось кэшировать файлы размером более 4 ГБ</string>
<string id="21396">Глава</string>
<string id="21397">Качественные пиксельные шейдеры в. 2</string>
<string id="21398">Проигрывать плейлист при запуске</string>
@@ -1961,25 +1963,25 @@
<string id="21403">не</string>
<string id="21404">начинается с</string>
<string id="21405">заканчивается на</string>
- <string id="21406">больше чем</string>
- <string id="21407">меньше чем</string>
+ <string id="21406">больше, чем</string>
+ <string id="21407">меньше, чем</string>
<string id="21408">после</string>
<string id="21409">перед</string>
<string id="21410">в конце</string>
<string id="21411">не в конце</string>
<string id="21412">Инфоресурсы</string>
<string id="21413">Инфоресурс для фильмов по умолчанию</string>
- <string id="21414">Стандартный инфоресурс для сериалов</string>
+ <string id="21414">Инфоресурс для сериалов по умолчанию</string>
<string id="21415">Инфоресурс для клипов по умолчанию</string>
<string id="21416">Использовать язык инфоресурса при недоступности основного</string>
<string id="21417">- Настройки</string>
- <string id="21418">Мультиязычность</string>
+ <string id="21418">Многоязычность</string>
<string id="21419">Инфоресурсы отсутствуют</string>
<string id="21420">Значение для поиска</string>
<string id="21421">Правило смарт-плейлиста</string>
<string id="21422">Выбрать объекты, в которых</string>
<string id="21423">Новое правило…</string>
- <string id="21424">Объекты должны удовлетворять</string>
+ <string id="21424">Объекты должны соответствовать</string>
<string id="21425">всем правилам</string>
<string id="21426">одному или более правилам</string>
<string id="21427">Ограничить до</string>
@@ -1999,16 +2001,18 @@
<string id="21441">Количество просмотров</string>
<string id="21442">Название серии</string>
<string id="21443">Разрешение видео</string>
- <string id="21444">Каналы аудио</string>
+ <string id="21444">Каналов аудио</string>
<string id="21445">Кодек видео</string>
<string id="21446">Кодек аудио</string>
<string id="21447">Язык аудио</string>
<string id="21448">Язык субтитров</string>
<string id="21449">Пульт ДУ посылает коды нажатий клавиш</string>
<string id="21450">- Изменить</string>
- <string id="21451">Требуется соединение с Интернетом.</string>
+ <string id="21451">Требуется подключение к Интернету.</string>
<string id="21452">Еще…</string>
<string id="21453">Корневая ФС</string>
+ <string id="21454">Кэш заполнен</string>
+ <string id="21455">Объем кэша недостаточен для непрерывного проигрывания</string>
<string id="21460">Расположение субтитров</string>
<string id="21461">Фиксированное</string>
@@ -2027,7 +2031,7 @@
<string id="21807">Цвет / Ч-Б</string>
<string id="21808">Алгоритм JPEG</string>
- <string id="21820">Дата съемки</string>
+ <string id="21820">Дата/время</string>
<string id="21821">Описание</string>
<string id="21822">Производитель</string>
<string id="21823">Модель фотоаппарата</string>
@@ -2100,12 +2104,12 @@
<string id="22001">Скрывать состояние обновления медиатеки</string>
<string id="22002">- Суффикс DNS</string>
- <string id="22003">%2.3fс</string>
- <string id="22004">Задержка на: %2.3fс</string>
- <string id="22005">Опережение на: %2.3fс</string>
+ <string id="22003">%2.3f с.</string>
+ <string id="22004">Задержка на %2.3f с.</string>
+ <string id="22005">Опережение на %2.3f с.</string>
<string id="22006">Смещение субтитров</string>
<string id="22007">Производитель OpenGL:</string>
- <string id="22008">Рендерер OpenGL:</string>
+ <string id="22008">Обработчик OpenGL:</string>
<string id="22009">Версия OpenGL:</string>
<string id="22010">Температура GPU:</string>
<string id="22011">Температура CPU:</string>
@@ -2148,15 +2152,15 @@
<string id="23049">Телетекст недоступен</string>
<string id="23050">Активировать телетекст</string>
<string id="23051">Часть %i</string>
- <string id="23052">Буферизация %i байт</string>
+ <string id="23052">Буферизация: %i байт</string>
<string id="23053">Остановка…</string>
<string id="23054">Запуск…</string>
<!-- strings 23100 thru 23150 reserved for external player -->
<string id="23100">Активирован внешний проигрыватель</string>
- <string id="23101">Нажмите ОК, чтобы выйти плеера</string>
+ <string id="23101">Нажмите ОК, чтобы закрыть проигрыватель</string>
- <string id="23104">Нажмите ОК когда проигрывание завершится</string>
+ <string id="23104">Нажмите ОК, когда проигрывание завершится</string>
<!-- strings 24000 thru 24299 reserved for the Add-ons framework -->
<string id="24000">Дополнение</string>
@@ -2165,17 +2169,17 @@
<string id="24003">Сведения о дополнении</string>
<string id="24005">Источники данных</string>
- <string id="24007">Сведения о фильме</string>
+ <string id="24007">Сведения о фильмах</string>
<string id="24008">Заставка</string>
<string id="24009">Скрипт</string>
<string id="24010">Визуализация</string>
<string id="24011">Репозиторий дополнений</string>
<string id="24012">Субтитры</string>
- <string id="24013">Тексты</string>
- <string id="24014">Сведения о сериале</string>
- <string id="24015">Сведения о клипе</string>
- <string id="24016">Сведения об альбоме</string>
- <string id="24017">Сведения об исполнителе</string>
+ <string id="24013">Тексты песен</string>
+ <string id="24014">Сведения о сериалах</string>
+ <string id="24015">Сведения о муз. клипах</string>
+ <string id="24016">Сведения об альбомах</string>
+ <string id="24017">Сведения об исполнителях</string>
<string id="24018">Службы</string>
<string id="24020">Настроить</string>
@@ -2184,7 +2188,7 @@
<string id="24023">Дополнение отключено</string>
<string id="24027">Погода</string>
<string id="24028">Weather.com (стандартно)</string>
- <string id="24030">Данное дополнение не может быть настроено</string>
+ <string id="24030">Невозможно настроить данное дополнение</string>
<string id="24031">Ошибка при загрузке настроек</string>
<string id="24032">Все дополнения</string>
<string id="24033">Загрузить дополнения</string>
@@ -2196,7 +2200,7 @@
<string id="24039">Отключенные дополнения</string>
<string id="24040">(Очистить текущие настройки)</string>
<string id="24041">Установить из файла ZIP</string>
- <string id="24042">Загружается %i%%…</string>
+ <string id="24042">Загружается: %i%%…</string>
<string id="24043">Доступные обновления</string>
<string id="24044">Отсутствуют нужные компоненты</string>
<string id="24045">Неправильная структура дополнения</string>
@@ -2209,8 +2213,8 @@
<string id="24052">Соглашение</string>
<string id="24053">Лицензия:</string>
<string id="24054">Список изменений</string>
- <string id="24059">Включить это Дополнение?</string>
- <string id="24060">Отключить это Дополнение?</string>
+ <string id="24059">Включить это дополнение?</string>
+ <string id="24060">Отключить это дополнение?</string>
<string id="24061">Доступны обновления для дополнений.</string>
<string id="24062">Включенные дополнения</string>
<string id="24063">Автообновление</string>
@@ -2221,10 +2225,10 @@
<string id="24068">Доступно обновление</string>
<string id="24069">Обновить</string>
- <string id="24070">Невозможно загрузить дополнение</string>
+ <string id="24070">Не удалось загрузить дополнение</string>
<string id="24071">Неизвестная ошибка.</string>
<string id="24072">Требуется настройка</string>
- <string id="24073">Невозможно подключиться</string>
+ <string id="24073">Не удалось подключиться</string>
<string id="24074">Требуется перезапуск</string>
<string id="24075">Отключить</string>
<string id="24076">Требуемое дополнение</string>
@@ -2232,8 +2236,8 @@
<string id="24089">Дополнение перезапускается</string>
<string id="24090">Заблокировать менеджер дополнений</string>
- <string id="24094">(текущие)</string>
- <string id="24095">(заблокированные)</string>
+ <string id="24094">(текущ.)</string>
+ <string id="24095">(заблокирован.)</string>
<string id="24096">Дополнение помечено в репозитории как испорченное.</string>
<string id="24097">Отключить его в системе?</string>
<string id="24098">Испорчено</string>
@@ -2245,7 +2249,7 @@
<!-- strings 29800 thru 29998 reserved strings used only in the default Project Mayhem III skin and not c++ code -->
<string id="29800">Режим медиатеки</string>
<string id="29801">Клавиатура QWERTY</string>
- <string id="29802">Прямой вывод аудио</string>
+ <string id="29802">Прямой вывод звука</string>
<!-- strings 30000 thru 30999 reserved for plugins and plugin settings --><!-- strings 31000 thru 31999 reserved for skins --><!-- strings 32000 thru 32999 reserved for scripts --><!-- strings 33000 thru 33999 reserved for common strings used in addons -->
<string id="33001">Качество трейлера</string>
@@ -2256,22 +2260,22 @@
<string id="33006">Сегодня</string>
<string id="33007">Завтра</string>
<string id="33008">Сохранение…</string>
- <string id="33009">Копируем</string>
- <string id="33010">Выбрать путь для загрузки</string>
+ <string id="33009">Копирование…</string>
+ <string id="33010">Выбрать папку для загрузки</string>
<string id="33011">Длительность поиска</string>
<string id="33012">Короткая</string>
<string id="33013">Длинная</string>
<string id="33014">Использовать проигрыватель DVD вместо обычного</string>
- <string id="33015">Предлагать скачать видео перед проигрыванием</string>
+ <string id="33015">Предлагать загрузку видео перед проигрыванием</string>
<string id="33016">Клипы</string>
<string id="33017">Перезапустите дополнение, чтобы включить его</string>
<string id="33018">Сегодня вечером</string>
<string id="33019">Завтра вечером</string>
- <string id="33020">Условие</string>
+ <string id="33020">Условия</string>
<string id="33021">Осадки</string>
<string id="33022">Осадки</string>
<string id="33023">Влажность</string>
- <string id="33024">Ощущается как</string>
+ <string id="33024">Ощущается</string>
<string id="33025">Наблюдается</string>
<string id="33026">Отклонение от нормы</string>
<string id="33027">Восход</string>
@@ -2296,8 +2300,8 @@
<string id="33056">Смотрите</string>
<string id="33057">Слушайте</string>
<string id="33058">Просматривайте</string>
- <string id="33059">Настраивайте</string>
- <string id="33060">Вкл/выкл</string>
+ <string id="33059">Настройте</string>
+ <string id="33060">Вкл./выкл.</string>
<string id="33061">Меню</string>
<string id="33062">Воспроизводите</string>
<string id="33063">Параметры</string>
@@ -2310,8 +2314,8 @@
<string id="33071">Свои фоны</string>
<string id="33072">Просмотреть информацию</string>
<string id="33073">Просмотреть список изменений</string>
- <string id="33074">Данная версия %s требует</string>
- <string id="33075">версию XBMC %s или новее.</string>
+ <string id="33074">Для данной версии %s требуется</string>
+ <string id="33075">версия XBMC %s или новее.</string>
<string id="33076">Обновите XBMC.</string>
<string id="33077">Данных не найдено.</string>
<string id="33078">Следующая страница</string>
@@ -2319,13 +2323,15 @@
<string id="33080">Не нравится</string>
<string id="33081">Составной файл; выберите часть для проигрывания.</string>
<string id="33082">Путь к скрипту</string>
- <string id="33083">Включить свою кнопку скрипта</string>
+ <string id="33083">Включить кнопку выбранного скрипта</string>
<string id="33100">Не удалось запустить</string>
<string id="33101">Веб-сервер</string>
<string id="33102">Сервер событий</string>
<string id="33103">Сервер удаленного доступа</string>
+ <string id="33200">Обнаружено новое подключение</string>
+
<!-- translators: no need to add these to your language files -->
<string id="34000">Lame</string>
<string id="34001">Vorbis</string>
@@ -2347,15 +2353,23 @@
<string id="34110">7.1</string>
<!-- 34112-34200 reserved for future use -->
- <string id="34201">Следующий файл не найден</string>
- <string id="34202">Предыдущий файл не найден</string>
+ <string id="34201">Не удается найти следующий файл</string>
+ <string id="34202">Не удается найти предыдущий файл</string>
+
+ <string id="34300">Не удалось запустить zeroconf</string>
+ <string id="34301">Проверьте, установлена ли служба Apple Bonjour. См. журнал.</string>
+
+ <string id="34400">Обработчик видео</string>
+ <string id="34401">Не удалось активировать фильтры видео. Используется масштабирование bilinear.</string>
+ <string id="34402">Не удалось активировать аудиоустройство</string>
+ <string id="34403">Проверьте настройки аудио</string>
<string id="35000">Периферия</string>
<string id="35001">Типовое HID-устройство</string>
<string id="35002">Типовой сетевой адаптер</string>
<string id="35003">Типовой диск</string>
- <string id="35004">Для этой периферии&#10;нет настроек</string>
+ <string id="35004">Для этой периферии&#10;нет настроек.</string>
<string id="35005">Настроено новое устройство</string>
<string id="35006">Устройство удалено</string>
<string id="35007">Раскладка для этого устройства</string>
@@ -2366,7 +2380,7 @@
<string id="35502">Название</string>
<string id="35503">Производитель</string>
<string id="35504">ID продукта</string>
-
+
<string id="36000">Адаптер Pulse-Eight CEC</string>
<string id="36001">Pulse-Eight Nyxboard</string>
<string id="36002">Включить дополнительные команды клавиатуры</string>
@@ -2378,12 +2392,12 @@
<string id="36008">Выключать устройства при выходе из XBMC</string>
<string id="36009">Переводить устройства в спящий режим при активной заставке</string>
<string id="36010"></string>
- <string id="36011">Не удалось обнаружить порт CEC. Настройте его вручную</string>
+ <string id="36011">Не удалось обнаружить порт CEC. Настройте его вручную.</string>
<string id="36012">Не удалось обнаружить адаптер CEC.</string>
<string id="36013">Неподдерживаемая версия интерфейса libcec. %d выше, чем версия, поддерживаемая XBMC (%d)</string>
- <string id="36014">Переведите этот ПК в режим ожидания при выключении ТВ</string>
+ <string id="36014">Переводить этот ПК в режим ожидания при выключении ТВ</string>
<string id="36015">Номер порта HDMI</string>
- <string id="36016">Подключен</string> <!-- max. 13 characters -->
+ <string id="36016">Подключено</string> <!-- max. 13 characters -->
<string id="36017">Адаптер найден, но libcec недоступен</string>
<string id="36018">Использовать языковые настройки ТВ</string>
</strings>
diff --git a/language/Slovenian/strings.xml b/language/Slovenian/strings.xml
index 883e2ef6b8..8f8d4251ee 100644
--- a/language/Slovenian/strings.xml
+++ b/language/Slovenian/strings.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--Translator: Tadej Novak-->
<!--Email: tadej@tano.si-->
-<!--Date of translation: 20/11/2011-->
+<!--Date of translation: 18/02/2012-->
<!--$Revision$-->
<strings>
<string id="0">Programi</string>
@@ -879,8 +879,11 @@
<string id="10020">Skripte</string>
<string id="10021">Spletni brskalnik</string>
+ <string id="10025">Videi</string>
<string id="10028">Video/Predvajalni seznam</string>
+ <string id="10029">Prijavno okno</string>
<string id="10034">Nastavitve - Profili</string>
+ <string id="10040">Brskalnik dodatkov</string>
<string id="10100">Da/Ne dialog</string>
<string id="10101">Dialog napredka</string>
@@ -1777,6 +1780,7 @@
<string id="20327">na privzete vrednosti.</string>
<string id="20328">Prebrskaj za ciljem</string>
+ <string id="20329">Filmi so v ločenih mapah, ki se ujemajo z naslovom filma</string>
<string id="20330">Uporabi imena map za poizvedbe</string>
<string id="20331">Datoteka</string>
<string id="20332">Uporabi ime datoteke ali mape v poizvedbah?</string>
@@ -1866,7 +1870,7 @@
<string id="20416">Prvič na sporedu</string>
<string id="20417">Scenarist</string>
<string id="20418"></string>
- <string id="20419">Prikaži podrobnosti v pogledu datotek</string>
+ <string id="20419">Zamenjaj imena datotek z naslovi v knjižnici</string>
<string id="20420">Nikoli</string>
<string id="20421">Če vsebuje le eno sezono</string>
@@ -1906,6 +1910,7 @@
<string id="20455">Listeners</string>
<string id="20456">Nastavi ozadje filmske zbirke</string>
<string id="20457">Filmska zbirka</string>
+ <string id="20458">Združi filme v zbirke</string>
<!-- up to 21329 is reserved for the video db !! !-->
<string id="21330">Prikaži skrite datoteke in mape</string>
@@ -2013,6 +2018,8 @@
<string id="21451">Potrebna je internetna povezava.</string>
<string id="21452">Prenesi več...</string>
<string id="21453">Korenski datotečni sistem</string>
+ <string id="21454">Začasni pomnilnik poln</string>
+ <string id="21455">Začasni pomnilnik se je zapolnil, preden je bila dosežen nivo za tekoče predvajanje</string>
<string id="21460">Položaj podnapisov</string>
<string id="21461">Fiksno</string>
@@ -2333,6 +2340,8 @@
<string id="33102">Strežnik dogodkov</string>
<string id="33103">Strežnik oddaljene komunikacije</string>
+ <string id="33200">Zaznana nova povezava</string>
+
<!-- translators: no need to add these to your language files -->
<string id="34000">Lame</string>
<string id="34001">Vorbis</string>
diff --git a/lib/UnrarXLib/os.hpp b/lib/UnrarXLib/os.hpp
index a6889094b3..e48fa0a239 100644
--- a/lib/UnrarXLib/os.hpp
+++ b/lib/UnrarXLib/os.hpp
@@ -200,15 +200,6 @@
#define _stdfunction
-#ifdef _APPLE
- #ifndef BIG_ENDIAN
- #define BIG_ENDIAN
- #endif
- #ifdef LITTLE_ENDIAN
- #undef LITTLE_ENDIAN
- #endif
-#endif
-
#if defined(__sparc) || defined(sparc) || defined(__hpux)
#ifndef BIG_ENDIAN
#define BIG_ENDIAN
diff --git a/lib/ffmpeg/libavcodec/dvbsubdec.c b/lib/ffmpeg/libavcodec/dvbsubdec.c
index 7c37915aaa..e8ef8ce252 100644
--- a/lib/ffmpeg/libavcodec/dvbsubdec.c
+++ b/lib/ffmpeg/libavcodec/dvbsubdec.c
@@ -1409,6 +1409,7 @@ static int dvbsub_decode(AVCodecContext *avctx,
int segment_type;
int page_id;
int segment_length;
+ int got_segment = 0;
#ifdef DEBUG_PACKET_CONTENTS
int i;
@@ -1445,21 +1446,26 @@ static int dvbsub_decode(AVCodecContext *avctx,
switch (segment_type) {
case DVBSUB_PAGE_SEGMENT:
dvbsub_parse_page_segment(avctx, p, segment_length);
+ got_segment |= 1;
break;
case DVBSUB_REGION_SEGMENT:
dvbsub_parse_region_segment(avctx, p, segment_length);
+ got_segment |= 2;
break;
case DVBSUB_CLUT_SEGMENT:
dvbsub_parse_clut_segment(avctx, p, segment_length);
+ got_segment |= 4;
break;
case DVBSUB_OBJECT_SEGMENT:
dvbsub_parse_object_segment(avctx, p, segment_length);
+ got_segment |= 8;
break;
case DVBSUB_DISPLAYDEFINITION_SEGMENT:
dvbsub_parse_display_definition_segment(avctx, p, segment_length);
break;
case DVBSUB_DISPLAY_SEGMENT:
*data_size = dvbsub_display_end_segment(avctx, p, segment_length, sub);
+ got_segment |= 16;
break;
default:
av_dlog(avctx, "Subtitling segment type 0x%x, page id %d, length %d\n",
@@ -1470,6 +1476,10 @@ static int dvbsub_decode(AVCodecContext *avctx,
p += segment_length;
}
+ // Some streams do not send a display segment but if we have all the other
+ // segments then we need no further data.
+ if (got_segment == 15 && sub)
+ *data_size = dvbsub_display_end_segment(avctx, p, 0, sub);
if (p != p_end) {
av_dlog(avctx, "Junk at end of packet\n");
diff --git a/lib/ffmpeg/libavfilter/vf_yadif.c b/lib/ffmpeg/libavfilter/vf_yadif.c
index da91600c95..1ed880790c 100644
--- a/lib/ffmpeg/libavfilter/vf_yadif.c
+++ b/lib/ffmpeg/libavfilter/vf_yadif.c
@@ -56,42 +56,42 @@ typedef struct {
AVFilterBufferRef *out;
void (*filter_line)(uint8_t *dst,
uint8_t *prev, uint8_t *cur, uint8_t *next,
- int w, int refs, int parity, int mode);
+ int w, int prefs, int mrefs, int parity, int mode);
} YADIFContext;
static void filter_line_c(uint8_t *dst,
uint8_t *prev, uint8_t *cur, uint8_t *next,
- int w, int refs, int parity, int mode)
+ int w, int prefs, int mrefs, int parity, int mode)
{
int x;
uint8_t *prev2 = parity ? prev : cur ;
uint8_t *next2 = parity ? cur : next;
for (x = 0; x < w; x++) {
- int c = cur[-refs];
+ int c = cur[mrefs];
int d = (prev2[0] + next2[0])>>1;
- int e = cur[+refs];
+ int e = cur[prefs];
int temporal_diff0 = FFABS(prev2[0] - next2[0]);
- int temporal_diff1 =(FFABS(prev[-refs] - c) + FFABS(prev[+refs] - e) )>>1;
- int temporal_diff2 =(FFABS(next[-refs] - c) + FFABS(next[+refs] - e) )>>1;
+ int temporal_diff1 =(FFABS(prev[mrefs] - c) + FFABS(prev[prefs] - e) )>>1;
+ int temporal_diff2 =(FFABS(next[mrefs] - c) + FFABS(next[prefs] - e) )>>1;
int diff = FFMAX3(temporal_diff0>>1, temporal_diff1, temporal_diff2);
int spatial_pred = (c+e)>>1;
- int spatial_score = FFABS(cur[-refs-1] - cur[+refs-1]) + FFABS(c-e)
- + FFABS(cur[-refs+1] - cur[+refs+1]) - 1;
+ int spatial_score = FFABS(cur[mrefs-1] - cur[prefs-1]) + FFABS(c-e)
+ + FFABS(cur[mrefs+1] - cur[prefs+1]) - 1;
#define CHECK(j)\
- { int score = FFABS(cur[-refs-1+j] - cur[+refs-1-j])\
- + FFABS(cur[-refs +j] - cur[+refs -j])\
- + FFABS(cur[-refs+1+j] - cur[+refs+1-j]);\
+ { int score = FFABS(cur[mrefs-1+j] - cur[prefs-1-j])\
+ + FFABS(cur[mrefs +j] - cur[prefs -j])\
+ + FFABS(cur[mrefs+1+j] - cur[prefs+1-j]);\
if (score < spatial_score) {\
spatial_score= score;\
- spatial_pred= (cur[-refs +j] + cur[+refs -j])>>1;\
+ spatial_pred= (cur[mrefs +j] + cur[prefs -j])>>1;\
CHECK(-1) CHECK(-2) }} }}
CHECK( 1) CHECK( 2) }} }}
if (mode < 2) {
- int b = (prev2[-2*refs] + next2[-2*refs])>>1;
- int f = (prev2[+2*refs] + next2[+2*refs])>>1;
+ int b = (prev2[2*mrefs] + next2[2*mrefs])>>1;
+ int f = (prev2[2*prefs] + next2[2*prefs])>>1;
#if 0
int a = cur[-3*refs];
int g = cur[+3*refs];
@@ -139,7 +139,8 @@ static void filter(AVFilterContext *ctx, AVFilterBufferRef *dstpic,
uint8_t *cur = &yadif->cur ->data[i][y*refs];
uint8_t *next = &yadif->next->data[i][y*refs];
uint8_t *dst = &dstpic->data[i][y*dstpic->linesize[i]];
- yadif->filter_line(dst, prev, cur, next, w, refs, parity ^ tff, yadif->mode);
+ int mode = y==1 || y+2==h ? 2 : yadif->mode;
+ yadif->filter_line(dst, prev, cur, next, w, y+1<h ? refs : -refs, y ? -refs : refs, parity ^ tff, mode);
} else {
memcpy(&dstpic->data[i][y*dstpic->linesize[i]],
&yadif->cur->data[i][y*refs], w);
diff --git a/lib/ffmpeg/libavfilter/x86/yadif_template.c b/lib/ffmpeg/libavfilter/x86/yadif_template.c
index 3e520cb1e8..50ea843ebb 100644
--- a/lib/ffmpeg/libavfilter/x86/yadif_template.c
+++ b/lib/ffmpeg/libavfilter/x86/yadif_template.c
@@ -105,7 +105,7 @@
void RENAME(ff_yadif_filter_line)(uint8_t *dst,
uint8_t *prev, uint8_t *cur, uint8_t *next,
- int w, int refs, int parity, int mode)
+ int w, int prefs, int mrefs, int parity, int mode)
{
DECLARE_ALIGNED(16, uint8_t, tmp0[16]);
DECLARE_ALIGNED(16, uint8_t, tmp1[16]);
@@ -226,8 +226,8 @@ void RENAME(ff_yadif_filter_line)(uint8_t *dst,
:[prev] "r"(prev),\
[cur] "r"(cur),\
[next] "r"(next),\
- [prefs]"r"((x86_reg)refs),\
- [mrefs]"r"((x86_reg)-refs),\
+ [prefs]"r"((x86_reg)prefs),\
+ [mrefs]"r"((x86_reg)mrefs),\
[mode] "g"(mode)\
);\
__asm__ volatile(MOV" "MM"1, %0" :"=m"(*dst));\
diff --git a/lib/ffmpeg/libavfilter/yadif.h b/lib/ffmpeg/libavfilter/yadif.h
index 072812c524..ff574daf49 100644
--- a/lib/ffmpeg/libavfilter/yadif.h
+++ b/lib/ffmpeg/libavfilter/yadif.h
@@ -23,14 +23,14 @@
void ff_yadif_filter_line_mmx(uint8_t *dst,
uint8_t *prev, uint8_t *cur, uint8_t *next,
- int w, int refs, int parity, int mode);
+ int w, int prefs, int mrefs, int parity, int mode);
void ff_yadif_filter_line_sse2(uint8_t *dst,
uint8_t *prev, uint8_t *cur, uint8_t *next,
- int w, int refs, int parity, int mode);
+ int w, int prefs, int mrefs, int parity, int mode);
void ff_yadif_filter_line_ssse3(uint8_t *dst,
uint8_t *prev, uint8_t *cur, uint8_t *next,
- int w, int refs, int parity, int mode);
+ int w, int prefs, int mrefs, int parity, int mode);
#endif /* AVFILTER_YADIF_H */
diff --git a/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltMediaBrowser.h b/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltMediaBrowser.h
index 4c2bb0c44c..6a18c266b6 100644
--- a/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltMediaBrowser.h
+++ b/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltMediaBrowser.h
@@ -95,7 +95,7 @@ public:
NPT_UInt32 start_index,
NPT_UInt32 count = 30, // DLNA recommendations
bool browse_metadata = false,
- const char* filter = "dc:date,upnp:genre,res@duration,res@size,upnp:albumArtURI,upnp:album,upnp:artist,upnp:author",
+ const char* filter = "dc:date,upnp:genre,res,res@duration,res@size,upnp:albumArtURI,upnp:album,upnp:artist,upnp:author",
const char* sort_criteria = "",
void* userdata = NULL);
@@ -104,7 +104,7 @@ public:
const char* search_criteria,
NPT_UInt32 start_index,
NPT_UInt32 count = 30, // DLNA recommendations
- const char* filter = "dc:date,upnp:genre,res@duration,res@size,upnp:albumArtURI,upnp:album,upnp:artist,upnp:author",
+ const char* filter = "dc:date,upnp:genre,res,res@duration,res@size,upnp:albumArtURI,upnp:album,upnp:artist,upnp:author",
void* userdata = NULL);
//BBMOD END
diff --git a/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltSyncMediaBrowser.cpp b/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltSyncMediaBrowser.cpp
index 1d7b20e843..00e3df36dc 100644
--- a/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltSyncMediaBrowser.cpp
+++ b/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltSyncMediaBrowser.cpp
@@ -284,7 +284,7 @@ PLT_SyncMediaBrowser::BrowseSync(PLT_DeviceDataReference& device,
// nothing is returned back by the server.
// Unless we were told to stop after reaching a certain amount to avoid
// length delays
- if ((browse_data->info.tm && browse_data->info.tm == list->GetItemCount()) ||
+ if ((browse_data->info.tm && browse_data->info.tm <= list->GetItemCount()) ||
(max_results && list->GetItemCount() >= max_results))
break;
diff --git a/lib/libid3tag/libid3tag/compat.gperf b/lib/libid3tag/libid3tag/compat.gperf
index 8f023987e4..35cb4f6d55 100644
--- a/lib/libid3tag/libid3tag/compat.gperf
+++ b/lib/libid3tag/libid3tag/compat.gperf
@@ -141,7 +141,7 @@ int translate_APIC(struct id3_frame *frame, char const *oldid,
id3_byte_t const *data, id3_length_t length)
{
id3_byte_t const *end;
- char type[3];
+ char type[4];
enum id3_field_textencoding encoding;
int result = 0;
diff --git a/lib/libid3tag/libid3tag/compat2.c b/lib/libid3tag/libid3tag/compat2.c
index 8b7d43f5a8..bc758f5183 100644
--- a/lib/libid3tag/libid3tag/compat2.c
+++ b/lib/libid3tag/libid3tag/compat2.c
@@ -76,6 +76,7 @@ error "gperf generated tables don't work with this execution character set. Plea
# define TX(id) #id, translate_##id
static id3_compat_func_t translate_TCON;
+static id3_compat_func_t translate_APIC;
#define TOTAL_KEYWORDS 75
#define MIN_WORD_LENGTH 3
@@ -276,7 +277,7 @@ id3_compat_lookup (str, len)
#line 96 "compat.gperf"
{"TIME", OBSOLETE /* Time [obsolete] */},
#line 75 "compat.gperf"
- {"PIC", EQ(APIC) /* Attached picture */},
+ {"PIC", TX(APIC) /* Attached picture */},
#line 127 "compat.gperf"
{"UFI", EQ(UFID) /* Unique file identifier */},
#line 72 "compat.gperf"
@@ -346,7 +347,7 @@ int translate_APIC(struct id3_frame *frame, char const *oldid,
id3_byte_t const *data, id3_length_t length)
{
id3_byte_t const *end;
- char type[3];
+ char type[4];
enum id3_field_textencoding encoding;
int result = 0;
diff --git a/lib/libid3tag/libid3tag/metadata.c b/lib/libid3tag/libid3tag/metadata.c
index 3b03a6a758..7dee1e0f13 100644
--- a/lib/libid3tag/libid3tag/metadata.c
+++ b/lib/libid3tag/libid3tag/metadata.c
@@ -298,8 +298,8 @@ const id3_ucs4_t* id3_metadata_getcomment(const struct id3_tag* tag, enum id3_fi
{
union id3_field const *field;
struct id3_frame const *frame;
- const id3_ucs4_t* ucs4 = id3_ucs4_empty;
int commentNumber = 0;
+ const id3_ucs4_t* ucs4 = 0;
// return the first non-empty comment
do
@@ -332,11 +332,9 @@ const id3_ucs4_t* id3_metadata_getcomment(const struct id3_tag* tag, enum id3_fi
//finally fetch the comment
field = id3_frame_field(frame, 3);
if (field == 0)
- break;
+ continue;
- ucs4 = id3_field_getfullstring(field);
- //done
- break;
+ return id3_field_getfullstring(field);
}
}
}
diff --git a/project/VS2010Express/XBMC.vcxproj b/project/VS2010Express/XBMC.vcxproj
index 6c09174d3a..2609c25ea2 100644
--- a/project/VS2010Express/XBMC.vcxproj
+++ b/project/VS2010Express/XBMC.vcxproj
@@ -743,7 +743,6 @@
<ClCompile Include="..\..\xbmc\SortFileItem.cpp" />
<ClCompile Include="..\..\xbmc\storage\AutorunMediaJob.cpp" />
<ClCompile Include="..\..\xbmc\storage\cdioSupport.cpp" />
- <ClCompile Include="..\..\xbmc\storage\DetectDVDType.cpp" />
<ClCompile Include="..\..\xbmc\storage\IoSupport.cpp" />
<ClCompile Include="..\..\xbmc\storage\MediaManager.cpp" />
<ClCompile Include="..\..\xbmc\storage\windows\Win32StorageProvider.cpp" />
@@ -757,7 +756,6 @@
<ClCompile Include="..\..\xbmc\threads\platform\Implementation.cpp" />
<ClInclude Include="..\..\xbmc\cores\AudioRenderers\IAudioRenderer.h" />
<ClInclude Include="..\..\xbmc\filesystem\FileUPnP.h" />
- <ClInclude Include="..\..\xbmc\storage\DetectDVDType.h" />
<ClInclude Include="..\..\xbmc\threads\platform\win\Implementation.cpp" />
<ClCompile Include="..\..\xbmc\threads\SystemClock.cpp" />
<ClCompile Include="..\..\xbmc\threads\Thread.cpp" />
diff --git a/project/VS2010Express/XBMC.vcxproj.filters b/project/VS2010Express/XBMC.vcxproj.filters
index f1bb61c85f..3e68763199 100644
--- a/project/VS2010Express/XBMC.vcxproj.filters
+++ b/project/VS2010Express/XBMC.vcxproj.filters
@@ -2565,9 +2565,6 @@
<ClCompile Include="..\..\xbmc\filesystem\FileUPnP.cpp">
<Filter>filesystem</Filter>
</ClCompile>
- <ClCompile Include="..\..\xbmc\storage\DetectDVDType.cpp">
- <Filter>storage</Filter>
- </ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\xbmc\win32\pch.h">
@@ -5154,9 +5151,6 @@
<Filter>filesystem</Filter>
</ClInclude>
<ClInclude Include="..\..\xbmc\cores\AudioRenderers\IAudioRenderer.h" />
- <ClInclude Include="..\..\xbmc\storage\DetectDVDType.h">
- <Filter>storage</Filter>
- </ClInclude>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\..\xbmc\win32\XBMC_PC.rc">
diff --git a/tools/Linux/FEH.py b/tools/Linux/FEH.py
index f01e45f161..cd2e09d841 100644
--- a/tools/Linux/FEH.py
+++ b/tools/Linux/FEH.py
@@ -35,7 +35,7 @@ def error(errorLine):
try:
print(errorLine)
except:
- print errorLine
+ print(errorLine)
exit(1)
diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp
index cedda60aaf..f920bdca2c 100644
--- a/xbmc/Application.cpp
+++ b/xbmc/Application.cpp
@@ -269,7 +269,6 @@
#ifdef TARGET_WINDOWS
#include <shlobj.h>
#include "win32util.h"
-#include "storage/DetectDVDType.h"
#endif
#ifdef HAS_XRANDR
#include "windowing/X11/XRandR.h"
@@ -1023,19 +1022,6 @@ bool CApplication::InitDirectoriesWin32()
// Expand the DLL search path with our directories
CWIN32Util::ExtendDllPath();
- // check for a DVD drive
- VECSOURCES vShare;
- CWIN32Util::GetDrivesByType(vShare, DVD_DRIVES);
- if(!vShare.empty())
- g_mediaManager.SetHasOpticalDrive(true);
-
- // Can be removed once the StorageHandler supports optical media
- VECSOURCES::const_iterator it;
- for(it=vShare.begin();it!=vShare.end();++it)
- if(g_mediaManager.GetDriveStatus(it->strPath) == DRIVE_CLOSED_MEDIA_PRESENT)
- CJobManager::GetInstance().AddJob(new CDetectDisc(it->strPath, false), NULL);
- // remove end
-
return true;
#else
return false;
@@ -1269,6 +1255,7 @@ bool CApplication::Initialize()
// reset our screensaver (starts timers etc.)
ResetScreenSaver();
+
return true;
}
@@ -2260,7 +2247,7 @@ bool CApplication::OnKey(const CKey& key)
if (!action.GetID())
{
// keyboard entry - pass the keys through directly
- if (key.GetFromHttpApi())
+ if (key.GetFromService())
action = CAction(key.GetButtonCode() != KEY_INVALID ? key.GetButtonCode() : 0, key.GetUnicode());
else
{ // see if we've got an ascii key
@@ -2277,7 +2264,7 @@ bool CApplication::OnKey(const CKey& key)
return true;
// failed to handle the keyboard action, drop down through to standard action
}
- if (key.GetFromHttpApi())
+ if (key.GetFromService())
{
if (key.GetButtonCode() != KEY_INVALID)
action = CButtonTranslator::GetInstance().GetAction(iWin, key);
@@ -2997,7 +2984,10 @@ bool CApplication::ProcessJsonRpcButtons()
#ifdef HAS_JSONRPC
CKey tempKey(JSONRPC::CInputOperations::GetKey());
if (tempKey.GetButtonCode() != KEY_INVALID)
+ {
+ tempKey.SetFromService(true);
return OnKey(tempKey);
+ }
#endif
return false;
}
@@ -3069,6 +3059,7 @@ bool CApplication::ProcessEventServer(float frameTime)
key = CKey(wKeyID, 0, 0, 0.0, 0.0, 0.0, -fAmount, frameTime);
else
key = CKey(wKeyID);
+ key.SetFromService(true);
return OnKey(key);
}
}
@@ -3689,7 +3680,10 @@ bool CApplication::PlayFile(const CFileItem& item, bool bRestart)
if( item.HasProperty("StartPercent") )
{
- options.startpercent = item.GetProperty("StartPercent").asDouble();
+ double fallback = 0.0f;
+ if(item.GetProperty("StartPercent").isString())
+ fallback = (double)atof(item.GetProperty("StartPercent").asString().c_str());
+ options.startpercent = item.GetProperty("StartPercent").asDouble(fallback);
}
PLAYERCOREID eNewCore = EPC_NONE;
diff --git a/xbmc/FileItem.cpp b/xbmc/FileItem.cpp
index 27a9adf74b..9db1df6b4e 100644
--- a/xbmc/FileItem.cpp
+++ b/xbmc/FileItem.cpp
@@ -2361,6 +2361,8 @@ CStdString CFileItemList::GetDiscCacheFile(int windowID) const
cacheFile.Format("special://temp/mdb-%08x.fi", (unsigned __int32)crc);
else if (IsVideoDb())
cacheFile.Format("special://temp/vdb-%08x.fi", (unsigned __int32)crc);
+ else if (IsSmartPlayList())
+ cacheFile.Format("special://temp/sp-%08x.fi", (unsigned __int32)crc);
else if (windowID)
cacheFile.Format("special://temp/%i-%08x.fi", windowID, (unsigned __int32)crc);
else
diff --git a/xbmc/Util.cpp b/xbmc/Util.cpp
index 9a3cbe99df..6f5326c928 100644
--- a/xbmc/Util.cpp
+++ b/xbmc/Util.cpp
@@ -1576,7 +1576,7 @@ int CUtil::GetMatchingSource(const CStdString& strPath1, VECSOURCES& VECSOURCES,
return GetMatchingSource(strPath, VECSOURCES, bDummy);
}
- CLog::Log(LOGWARNING,"CUtil::GetMatchingSource... no matching source found for [%s]", strPath1.c_str());
+ CLog::Log(LOGDEBUG,"CUtil::GetMatchingSource: no matching source found for [%s]", strPath1.c_str());
}
return iIndex;
}
@@ -1638,11 +1638,13 @@ CStdString CUtil::VideoPlaylistsLocation()
void CUtil::DeleteMusicDatabaseDirectoryCache()
{
CUtil::DeleteDirectoryCache("mdb-");
+ CUtil::DeleteDirectoryCache("sp-"); // overkill as it will delete video smartplaylists, but as we can't differentiate based on URL...
}
void CUtil::DeleteVideoDatabaseDirectoryCache()
{
CUtil::DeleteDirectoryCache("vdb-");
+ CUtil::DeleteDirectoryCache("sp-"); // overkill as it will delete music smartplaylists, but as we can't differentiate based on URL...
}
void CUtil::DeleteDirectoryCache(const CStdString &prefix)
@@ -2173,7 +2175,7 @@ CStdString CUtil::ResolveExecutablePath()
CStdString strExecutablePath;
#ifdef WIN32
wchar_t szAppPathW[MAX_PATH] = L"";
- ::GetModuleFileNameW(0, szAppPathW, sizeof(szAppPathW) - 1);
+ ::GetModuleFileNameW(0, szAppPathW, sizeof(szAppPathW)/sizeof(szAppPathW[0]) - 1);
CStdStringW strPathW = szAppPathW;
g_charsetConverter.wToUTF8(strPathW,strExecutablePath);
#elif defined(__APPLE__)
diff --git a/xbmc/addons/GUIDialogAddonSettings.cpp b/xbmc/addons/GUIDialogAddonSettings.cpp
index fc5f0ea816..a79c8ec6c3 100644
--- a/xbmc/addons/GUIDialogAddonSettings.cpp
+++ b/xbmc/addons/GUIDialogAddonSettings.cpp
@@ -320,9 +320,7 @@ bool CGUIDialogAddonSettings::ShowVirtualKeyboard(int iControl)
{
// setup the shares
VECSOURCES *shares = NULL;
- if (!source || strcmpi(source, "") == 0)
- shares = g_settings.GetSourcesFromType(type);
- else
+ if (source && strcmpi(source, "") != 0)
shares = g_settings.GetSourcesFromType(source);
VECSOURCES localShares;
@@ -331,8 +329,7 @@ bool CGUIDialogAddonSettings::ShowVirtualKeyboard(int iControl)
VECSOURCES networkShares;
g_mediaManager.GetLocalDrives(localShares);
if (!source || strcmpi(source, "local") != 0)
- g_mediaManager.GetNetworkLocations(networkShares);
- localShares.insert(localShares.end(), networkShares.begin(), networkShares.end());
+ g_mediaManager.GetNetworkLocations(localShares);
}
else // always append local drives
{
diff --git a/xbmc/addons/GUIWindowAddonBrowser.cpp b/xbmc/addons/GUIWindowAddonBrowser.cpp
index 8e585780df..7d968a300a 100644
--- a/xbmc/addons/GUIWindowAddonBrowser.cpp
+++ b/xbmc/addons/GUIWindowAddonBrowser.cpp
@@ -212,6 +212,7 @@ bool CGUIWindowAddonBrowser::OnClick(int iItem)
// pop up filebrowser to grab an installed folder
VECSOURCES shares = g_settings.m_fileSources;
g_mediaManager.GetLocalDrives(shares);
+ g_mediaManager.GetNetworkLocations(shares);
CStdString path;
if (CGUIDialogFileBrowser::ShowAndGetFile(shares, "*.zip", g_localizeStrings.Get(24041), path))
CAddonInstaller::Get().InstallFromZip(path);
diff --git a/xbmc/cores/AudioRenderers/ALSADirectSound.cpp b/xbmc/cores/AudioRenderers/ALSADirectSound.cpp
index 1e766c365e..2ebacb3719 100644
--- a/xbmc/cores/AudioRenderers/ALSADirectSound.cpp
+++ b/xbmc/cores/AudioRenderers/ALSADirectSound.cpp
@@ -396,12 +396,20 @@ bool CALSADirectSound::Resume()
if(state == SND_PCM_STATE_PAUSED)
snd_pcm_pause(m_pPlayHandle,0);
- if(state == SND_PCM_STATE_PREPARED)
+ else if(state == SND_PCM_STATE_PREPARED)
{
snd_pcm_sframes_t avail = snd_pcm_avail_update(m_pPlayHandle);
if(avail >= 0 && avail < (snd_pcm_sframes_t)m_uiBufferSize)
snd_pcm_start(m_pPlayHandle);
}
+ else if(state == SND_PCM_STATE_RUNNING)
+ {}
+ else
+ {
+ CLog::Log(LOGWARNING, "CALSADirectSound::Resume - unexpected device state %d flushing", state);
+ Flush();
+ snd_pcm_start(m_pPlayHandle);
+ }
m_bPause = false;
diff --git a/xbmc/cores/AudioRenderers/AudioRendererFactory.cpp b/xbmc/cores/AudioRenderers/AudioRendererFactory.cpp
index 653370ed59..927e8ea8f1 100644
--- a/xbmc/cores/AudioRenderers/AudioRendererFactory.cpp
+++ b/xbmc/cores/AudioRenderers/AudioRendererFactory.cpp
@@ -86,11 +86,30 @@
return new rendererClass(); \
}
+/* windows channel order */
+static const enum PCMChannels dsound_default_channel_layout[][8] =
+{
+ {PCM_FRONT_CENTER},
+ {PCM_FRONT_LEFT, PCM_FRONT_RIGHT},
+ {PCM_FRONT_LEFT, PCM_FRONT_RIGHT, PCM_LOW_FREQUENCY},
+ {PCM_FRONT_LEFT, PCM_FRONT_RIGHT, PCM_BACK_LEFT, PCM_BACK_RIGHT},
+ {PCM_FRONT_LEFT, PCM_FRONT_RIGHT, PCM_LOW_FREQUENCY, PCM_BACK_LEFT, PCM_BACK_RIGHT},
+ {PCM_FRONT_LEFT, PCM_FRONT_RIGHT, PCM_FRONT_CENTER, PCM_LOW_FREQUENCY, PCM_BACK_LEFT, PCM_BACK_RIGHT},
+ {PCM_FRONT_LEFT, PCM_FRONT_RIGHT, PCM_FRONT_CENTER, PCM_LOW_FREQUENCY, PCM_BACK_CENTER, PCM_BACK_LEFT, PCM_BACK_RIGHT},
+ {PCM_FRONT_LEFT, PCM_FRONT_RIGHT, PCM_FRONT_CENTER, PCM_LOW_FREQUENCY, PCM_BACK_LEFT, PCM_BACK_RIGHT, PCM_SIDE_LEFT, PCM_SIDE_RIGHT}
+};
+
IAudioRenderer* CAudioRendererFactory::Create(IAudioCallback* pCallback, int iChannels, enum PCMChannels *channelMap, unsigned int uiSamplesPerSec, unsigned int uiBitsPerSample, bool bResample, bool bIsMusic, IAudioRenderer::EEncoded encoded)
{
IAudioRenderer* audioSink = NULL;
CStdString renderer;
+ if(channelMap == NULL)
+ {
+ CLog::Log(LOGINFO, "CAudioRendererFactory: no input channel map specified assume windows\n");
+ channelMap = (enum PCMChannels *)dsound_default_channel_layout[iChannels - 1];
+ }
+
CStdString deviceString, device;
if (encoded)
{
diff --git a/xbmc/cores/AudioRenderers/CoreAudioRenderer.cpp b/xbmc/cores/AudioRenderers/CoreAudioRenderer.cpp
index 1cd5d5d358..a5b2b6e172 100644
--- a/xbmc/cores/AudioRenderers/CoreAudioRenderer.cpp
+++ b/xbmc/cores/AudioRenderers/CoreAudioRenderer.cpp
@@ -34,6 +34,7 @@
#include "threads/Atomics.h"
#include "windowing/WindowingFactory.h"
#include "utils/log.h"
+#include "utils/SystemInfo.h"
#include "utils/TimeUtils.h"
const AudioChannelLabel g_LabelMap[] =
@@ -58,6 +59,8 @@ const AudioChannelLabel g_LabelMap[] =
kAudioChannelLabel_TopBackCenter // PCM_TOP_BACK_CENTER
};
+#define MAX_AUDIO_CHANNEL_LABEL kAudioChannelLabel_CenterSurroundDirect
+
const AudioChannelLayoutTag g_LayoutMap[] =
{
kAudioChannelLayoutTag_Stereo, // PCM_LAYOUT_2_0 = 0,
@@ -68,7 +71,7 @@ const AudioChannelLayoutTag g_LayoutMap[] =
kAudioChannelLayoutTag_DVD_6, // PCM_LAYOUT_4_1,
kAudioChannelLayoutTag_MPEG_5_0_A, // PCM_LAYOUT_5_0,
kAudioChannelLayoutTag_MPEG_5_1_A, // PCM_LAYOUT_5_1,
- kAudioChannelLayoutTag_AudioUnit_7_0, // PCM_LAYOUT_7_0, ** This layout may be incorrect...no content to testß˚ **
+ kAudioChannelLayoutTag_AudioUnit_7_0, // PCM_LAYOUT_7_0, ** This layout may be incorrect...no content to test **
kAudioChannelLayoutTag_MPEG_7_1_A, // PCM_LAYOUT_7_1
};
@@ -337,16 +340,153 @@ void CCoreAudioPerformance::Reset()
//***********************************************************************************************
// Surround Up/Down Mapping Class
//***********************************************************************************************
+struct ChannelPatch
+{
+ AudioChannelLabel label; // Target Channel
+ Float32 coeff; // Output level
+};
+
+// TODO: There is not a lot of logic behind these mapping coefficients
+// Routings for Explicit Mapping. These are in priority order.
+// g_ChannelRoutings[channel][routing][patch]
+// These are currently all down-mix routings
+#define MAX_CHANNELS sizeof(g_LabelMap)/sizeof(AudioChannelLabel)
+#define NO_ROUTINGS {{{kAudioChannelLabel_Unknown, 0.0f}}}
+ChannelPatch g_ChannelRoutings[MAX_AUDIO_CHANNEL_LABEL+1][MAX_CHANNELS][MAX_CHANNELS] =
+{
+ NO_ROUTINGS, // kAudioChannelLabel_Unknown (0)
+ // kAudioChannelLabel_Left (1)
+ {
+ {{kAudioChannelLabel_Center, 0.707f},{kAudioChannelLabel_Unknown, 0.0f}},
+ {{kAudioChannelLabel_Unknown, 0.0f}}
+ },
+ // kAudioChannelLabel_Right (2)
+ {
+ {{kAudioChannelLabel_Center, 0.707f},{kAudioChannelLabel_Unknown, 0.0f}},
+ {{kAudioChannelLabel_Unknown, 0.0f}}
+ },
+ // kAudioChannelLabel_Center (3)
+ {
+ {{kAudioChannelLabel_Left, 0.707f},{kAudioChannelLabel_Right, 0.707f},{kAudioChannelLabel_Unknown, 0.0f}},
+ {{kAudioChannelLabel_Left, 1.0f},{kAudioChannelLabel_Unknown, 0.0f}},
+ {{kAudioChannelLabel_Right, 1.0f},{kAudioChannelLabel_Unknown, 0.0f}},
+ {{kAudioChannelLabel_Unknown, 0.0f}}
+ },
+ // kAudioChannelLabel_LFEScreen (4)
+ {
+ {{kAudioChannelLabel_Left, 0.707f},{kAudioChannelLabel_Right, 0.707f},{kAudioChannelLabel_Unknown, 0.0f}},
+ {{kAudioChannelLabel_Left, 1.0f},{kAudioChannelLabel_Unknown, 0.0f}},
+ {{kAudioChannelLabel_Right, 1.0f},{kAudioChannelLabel_Unknown, 0.0f}},
+ {{kAudioChannelLabel_Unknown, 0.0f}}
+ },
+ // kAudioChannelLabel_LeftSurround (5)
+ {
+ {{kAudioChannelLabel_LeftSurroundDirect, 1.0f},{kAudioChannelLabel_Unknown, 0.0f}},
+ {{kAudioChannelLabel_Left, 1.0f},{kAudioChannelLabel_Unknown, 0.0f}},
+ {{kAudioChannelLabel_Unknown, 0.0f}}
+ },
+ // kAudioChannelLabel_RightSurround (6)
+ {
+ {{kAudioChannelLabel_RightSurroundDirect, 1.0f},{kAudioChannelLabel_Unknown, 0.0f}},
+ {{kAudioChannelLabel_Right, 1.0f},{kAudioChannelLabel_Unknown, 0.0f}},
+ {{kAudioChannelLabel_Unknown, 0.0f}}
+ },
+ // kAudioChannelLabel_LeftCenter (7)
+ {
+ {{kAudioChannelLabel_Center, 0.707f},{kAudioChannelLabel_Left, 0.707f},{kAudioChannelLabel_Unknown, 0.0f}},
+ {{kAudioChannelLabel_Left, 1.0f},{kAudioChannelLabel_Unknown, 0.0f}},
+ {{kAudioChannelLabel_Unknown, 0.0f}}
+ },
+ // kAudioChannelLabel_RightCenter (8)
+ {
+ {{kAudioChannelLabel_Center, 0.707f},{kAudioChannelLabel_Right, 0.707f},{kAudioChannelLabel_Unknown, 0.0f}},
+ {{kAudioChannelLabel_Right, 1.0f},{kAudioChannelLabel_Unknown, 0.0f}},
+ {{kAudioChannelLabel_Unknown, 0.0f}}
+ },
+ // kAudioChannelLabel_CenterSurround (9)
+ {
+ {{kAudioChannelLabel_LeftSurround, 0.707f},{kAudioChannelLabel_RightSurround, 0.707f},{kAudioChannelLabel_Unknown, 0.0f}},
+ {{kAudioChannelLabel_LeftSurroundDirect, 0.707f},{kAudioChannelLabel_RightSurroundDirect, 0.707f},{kAudioChannelLabel_Unknown, 0.0f}},
+ {{kAudioChannelLabel_Left, 0.707f},{kAudioChannelLabel_Right, 0.707f},{kAudioChannelLabel_Unknown, 0.0f}},
+ {{kAudioChannelLabel_Unknown, 0.0f}}
+ },
+ // kAudioChannelLabel_LeftSurroundDirect (10)
+ {
+ {{kAudioChannelLabel_LeftSurround, 1.0f},{kAudioChannelLabel_Unknown, 0.0f}},
+ {{kAudioChannelLabel_CenterSurround, 0.707f},{kAudioChannelLabel_Unknown, 0.0f}},
+ {{kAudioChannelLabel_CenterSurroundDirect, 0.707f},{kAudioChannelLabel_Unknown, 0.0f}},
+ {{kAudioChannelLabel_Left, 1.0f},{kAudioChannelLabel_Unknown, 0.0f}},
+ {{kAudioChannelLabel_Unknown, 0.0f}}
+ },
+ // kAudioChannelLabel_RightSurroundDirect (11)
+ {
+ {{kAudioChannelLabel_RightSurround, 1.0f},{kAudioChannelLabel_Unknown, 0.0f}},
+ {{kAudioChannelLabel_CenterSurround, 0.707f},{kAudioChannelLabel_Unknown, 0.0f}},
+ {{kAudioChannelLabel_CenterSurroundDirect, 0.707f},{kAudioChannelLabel_Unknown, 0.0f}},
+ {{kAudioChannelLabel_Right, 1.0f},{kAudioChannelLabel_Unknown, 0.0f}},
+ {{kAudioChannelLabel_Unknown, 0.0f}}
+ },
+ NO_ROUTINGS, //kAudioChannelLabel_TopCenterSurround (12)
+ NO_ROUTINGS, //kAudioChannelLabel_VerticalHeightLeft (13)
+ NO_ROUTINGS, //kAudioChannelLabel_VerticalHeightCenter (14)
+ NO_ROUTINGS, //kAudioChannelLabel_VerticalHeightRight (15)
+ NO_ROUTINGS, //kAudioChannelLabel_TopBackLeft (16)
+ NO_ROUTINGS, //kAudioChannelLabel_TopBackCenter (17)
+ NO_ROUTINGS, //kAudioChannelLabel_VerticalHeightRight (18)
+ NO_ROUTINGS, // INVALID LABEL (19)
+ NO_ROUTINGS, // INVALID LABEL (20)
+ NO_ROUTINGS, // INVALID LABEL (21)
+ NO_ROUTINGS, // INVALID LABEL (22)
+ NO_ROUTINGS, // INVALID LABEL (23)
+ NO_ROUTINGS, // INVALID LABEL (24)
+ NO_ROUTINGS, // INVALID LABEL (25)
+ NO_ROUTINGS, // INVALID LABEL (26)
+ NO_ROUTINGS, // INVALID LABEL (27)
+ NO_ROUTINGS, // INVALID LABEL (28)
+ NO_ROUTINGS, // INVALID LABEL (29)
+ NO_ROUTINGS, // INVALID LABEL (30)
+ NO_ROUTINGS, // INVALID LABEL (31)
+ NO_ROUTINGS, // INVALID LABEL (32)
+ // kAudioChannelLabel_RearSurroundLeft (33)
+ {
+ {{kAudioChannelLabel_LeftSurround, 0.707f},{kAudioChannelLabel_Unknown, 0.0f}},
+ {{kAudioChannelLabel_LeftSurroundDirect, 0.707f},{kAudioChannelLabel_Unknown, 0.0f}},
+ {{kAudioChannelLabel_CenterSurround, 0.707f},{kAudioChannelLabel_Unknown, 0.0f}},
+ {{kAudioChannelLabel_CenterSurroundDirect, 0.707f},{kAudioChannelLabel_Unknown, 0.0f}},
+ {{kAudioChannelLabel_Left, 1.0f},{kAudioChannelLabel_Unknown, 0.0f}},
+ {{kAudioChannelLabel_Unknown, 0.0f}}
+ },
+ // kAudioChannelLabel_RearSurroundRight (34)
+ {
+ {{kAudioChannelLabel_RightSurround, 0.707f},{kAudioChannelLabel_Unknown, 0.0f}},
+ {{kAudioChannelLabel_RightSurroundDirect, 0.707f},{kAudioChannelLabel_Unknown, 0.0f}},
+ {{kAudioChannelLabel_CenterSurround, 0.707f},{kAudioChannelLabel_Unknown, 0.0f}},
+ {{kAudioChannelLabel_CenterSurroundDirect, 0.707f},{kAudioChannelLabel_Unknown, 0.0f}},
+ {{kAudioChannelLabel_Right, 1.0f},{kAudioChannelLabel_Unknown, 0.0f}},
+ {{kAudioChannelLabel_Unknown, 0.0f}}
+ },
+ NO_ROUTINGS, // kAudioChannelLabel_LeftWide (35)
+ NO_ROUTINGS, // kAudioChannelLabel_RightWide (36)
+ NO_ROUTINGS, // kAudioChannelLabel_LFE2 (37)
+ NO_ROUTINGS, // kAudioChannelLabel_LeftTotal (38)
+ NO_ROUTINGS, // kAudioChannelLabel_RightTotal (39)
+ NO_ROUTINGS, // kAudioChannelLabel_HearingImpaired (40)
+ NO_ROUTINGS, // kAudioChannelLabel_Narration (41)
+ NO_ROUTINGS, // kAudioChannelLabel_Mono (42)
+ NO_ROUTINGS, // kAudioChannelLabel_DialogCentricMix (43)
+ NO_ROUTINGS // kAudioChannelLabel_CenterSurroundDirect (44)
+};
+
CCoreAudioMixMap::CCoreAudioMixMap() :
m_isValid(false)
{
- m_pMap = (Float32*)calloc(sizeof(AudioChannelLayout), 1);
+ m_pMap = (Float32*)calloc(sizeof(Float32), 2);
}
-CCoreAudioMixMap::CCoreAudioMixMap(AudioChannelLayout& inLayout, AudioChannelLayout& outLayout) :
+CCoreAudioMixMap::CCoreAudioMixMap(AudioChannelLayout& inLayout, AudioChannelLayout& outLayout, bool forceExplicit/*=false*/) :
m_isValid(false)
{
- Rebuild(inLayout, outLayout);
+ Rebuild(inLayout, outLayout, forceExplicit);
}
CCoreAudioMixMap::~CCoreAudioMixMap()
@@ -354,11 +494,10 @@ CCoreAudioMixMap::~CCoreAudioMixMap()
if (m_pMap)
{
free(m_pMap);
- m_pMap = NULL;
}
}
-void CCoreAudioMixMap::Rebuild(AudioChannelLayout& inLayout, AudioChannelLayout& outLayout)
+void CCoreAudioMixMap::Rebuild(AudioChannelLayout& inLayout, AudioChannelLayout& outLayout, bool forceExplicit/*=false*/)
{
// map[in][out] = mix-level of input_channel[in] into output_channel[out]
@@ -371,24 +510,116 @@ void CCoreAudioMixMap::Rebuild(AudioChannelLayout& inLayout, AudioChannelLayout&
m_inChannels = CCoreAudioChannelLayout::GetChannelCountForLayout(inLayout);
m_outChannels = CCoreAudioChannelLayout::GetChannelCountForLayout(outLayout);
- // Try to find a 'well-known' matrix
- const AudioChannelLayout* layouts[] = {&inLayout, &outLayout};
- UInt32 propSize = 0;
- OSStatus ret = AudioFormatGetPropertyInfo(kAudioFormatProperty_MatrixMixMap, sizeof(layouts), layouts, &propSize);
- m_pMap = (Float32*)calloc(1,propSize);
-
- // Try and get a predefined mixmap
- ret = AudioFormatGetProperty(kAudioFormatProperty_MatrixMixMap, sizeof(layouts), layouts, &propSize, m_pMap);
- if (!ret)
+ // If the caller allows it, try to find a 'well-known' matrix
+ if (!forceExplicit)
{
- m_isValid = true;
- return; // Nothing else to do...a map already exists
+ const AudioChannelLayout* layouts[] = {&inLayout, &outLayout};
+ UInt32 propSize = 0;
+ OSStatus ret = AudioFormatGetPropertyInfo(kAudioFormatProperty_MatrixMixMap, sizeof(layouts), layouts, &propSize);
+ m_pMap = (Float32*)calloc(1,propSize);
+ ret = AudioFormatGetProperty(kAudioFormatProperty_MatrixMixMap, sizeof(layouts), layouts, &propSize, m_pMap);
+ if (!ret)
+ {
+ m_isValid = true;
+ CLog::Log(LOGDEBUG, "CCoreAudioMixMap::Rebuild: Unable to locate pre-defined mixing matrix. Trying to build one explicitly...");
+ return; // Nothing else to do...a map already exists
+ }
+
+ // No predefined mixing matrix was available. Going to have to build it manually
+ CLog::Log(LOGDEBUG, "CCoreAudioMixMap::Rebuild: Unable to locate pre-defined mixing matrix. Trying to build one explicitly...");
}
+ else
+ CLog::Log(LOGINFO, "CCoreAudioMixMap::Rebuild: Building explicit mixing matrix [forceExplicit=true]");
+
+ // Try to build a mixing matrix from scratch
+ m_isValid = BuildExplicit(inLayout, outLayout);
+}
+
+bool CCoreAudioMixMap::BuildExplicit(AudioChannelLayout& inLayout, AudioChannelLayout& outLayout)
+{
+ // Initialize map
+ // map[in][out] = mix-level of input_channel[in] into output_channel[out]
+ m_pMap = (Float32*)calloc(sizeof(Float32), inLayout.mNumberChannelDescriptions * outLayout.mNumberChannelDescriptions);
+ int mappedChannels = 0;
+
+ // Initialize array of output channel locations
+ int outPos[MAX_AUDIO_CHANNEL_LABEL + 1];
+ for (UInt32 i = 0; i < (MAX_AUDIO_CHANNEL_LABEL + 1); i++)
+ outPos[i] = -1;
- // No predefined mixmap was available. Going to have to build it manually
- CLog::Log(LOGDEBUG, "CCoreAudioMixMap::CreateMap: Unable to locate pre-defined mixing matrix");
+ // Map output channel order to output layout
+ for (UInt32 channel = 0; channel < outLayout.mNumberChannelDescriptions; channel++)
+ outPos[outLayout.mChannelDescriptions[channel].mChannelLabel] = channel;
- m_isValid = false;
+ CLog::Log(LOGDEBUG, "CCoreAudioMixMap::BuildExplicit: Building mixing matrix [%d input channels, %d output channels]", inLayout.mNumberChannelDescriptions, outLayout.mNumberChannelDescriptions);
+
+ // For each input channel, decide how to route/mix it
+ for (UInt32 channel = 0; channel < inLayout.mNumberChannelDescriptions; channel++)
+ {
+ AudioChannelDescription* pDesc = &inLayout.mChannelDescriptions[channel];
+
+ if (pDesc->mChannelLabel > MAX_AUDIO_CHANNEL_LABEL)
+ {
+ CLog::Log(LOGINFO, "CCoreAudioMixMap::BuildExplicit:\tUnrecognized input channel encountered (label=%d) - skipping.", pDesc->mChannelLabel);
+ continue;
+ }
+
+ // Does the channel exist in the output?
+ int outIndex = outPos[pDesc->mChannelLabel];
+ if (outIndex > -1) // If so, just pass it through
+ {
+ // map[in][out] = map[in * outCount + out]
+ CLog::Log(LOGDEBUG, "CCoreAudioMixMap::BuildExplicit:\tin[%d] -> out[%d] @ %0.02f", channel, outIndex, 1.0f);
+ m_pMap[channel * outLayout.mNumberChannelDescriptions + outIndex] = 1.0f;
+ mappedChannels++;
+ }
+ else // The input channel does not exist in the output layout. Decide where to route it...
+ {
+ // Loop through the pre-defined routings strategies for this channel. Use the first compatible one we find
+ for (UInt32 r = 0; r < MAX_CHANNELS; r++)
+ {
+ // If the first patch's label is kAudioChannelLabel_Unknown, this is the routing list terminator
+ if (g_ChannelRoutings[pDesc->mChannelLabel][r][0].label == kAudioChannelLabel_Unknown)
+ break; // No dice...
+
+ // Check each patch in this routing to see if it is possible. If it is not, give up on this routing
+ bool validRouting = false;
+ for (UInt32 p = 0; ((p < MAX_CHANNELS) && !validRouting); p++)
+ {
+ ChannelPatch* patch = &g_ChannelRoutings[pDesc->mChannelLabel][r][p];
+ if (patch->label == kAudioChannelLabel_Unknown) // End of this routing
+ validRouting = true; // Success...this routing should work.
+ else if (outPos[patch->label] == -1)
+ break; // The specified output channel is not available. Invalidate the whole routing
+ }
+
+ // If this is a valid routing (all output channels are available), apply it...
+ if (validRouting)
+ {
+ for (UInt32 p = 0; p < MAX_CHANNELS; p++)
+ {
+ ChannelPatch* patch = &g_ChannelRoutings[pDesc->mChannelLabel][r][p];
+ if (patch->label == kAudioChannelLabel_Unknown) // List terminator
+ break;
+
+ int outIndex = outPos[patch->label];
+ CLog::Log(LOGDEBUG, "CCoreAudioMixMap::BuildExplicit:\tin[%d] -> out[%d] @ %0.02f", channel, outIndex, patch->coeff);
+ m_pMap[channel * outLayout.mNumberChannelDescriptions + outIndex] = patch->coeff;
+ mappedChannels++;
+ }
+ break;
+ }
+ }
+ }
+ }
+ if (!mappedChannels)
+ {
+ CLog::Log(LOGINFO, "CCoreAudioMixMap::BuildExplicit: No valid patches found.");
+ return false;
+ }
+
+ CLog::Log(LOGINFO, "CCoreAudioMixMap::BuildExplicit: Completed explicit channel map.");
+ return true;
}
//***********************************************************************************************
@@ -977,7 +1208,7 @@ bool CCoreAudioRenderer::InitializePCM(UInt32 channels, UInt32 samplesPerSecond,
hasLFE = true;
}
- // HACK: Fix broken channel layouts coming from some aac sources that include rear channel but no side channels.
+ // HACK: Fix broken channel layouts coming from some aac sources that include rear channels but no side channels.
// 5.1 streams should include front and side channels. Rear channels are added by 6.1 and 7.1, so any 5.1
// source that claims to have rear channels is wrong.
if (inputFormat.mChannelsPerFrame == 6 && hasLFE) // Check for 5.1 configuration (as best we can without getting too silly)
@@ -1010,7 +1241,15 @@ bool CCoreAudioRenderer::InitializePCM(UInt32 channels, UInt32 samplesPerSecond,
// Get User-Configured (XBMC) Speaker Configuration
AudioChannelLayout guiLayout;
- guiLayout.mChannelLayoutTag = g_LayoutMap[(PCMLayout)g_guiSettings.GetInt("audiooutput.channellayout")];
+ if (g_sysinfo.IsAppleTV())
+ {
+ // Force ATV1 to a 2.0 layout (that is all it knows), since it does not provide a usable channel layout
+ CLog::Log(LOGDEBUG, "CCoreAudioRenderer::InitializePCM: AppleTV detected - Forcing channel layout to 2.0 (max available PCM channels)");
+ guiLayout.mChannelLayoutTag = kAudioChannelLayoutTag_Stereo;
+ }
+ else
+ guiLayout.mChannelLayoutTag = g_LayoutMap[(PCMLayout)g_guiSettings.GetInt("audiooutput.channellayout")];
+
CCoreAudioChannelLayout userLayout(guiLayout);
CStdString strUserLayout;
CLog::Log(LOGDEBUG, "CCoreAudioRenderer::InitializePCM: User-Configured Speaker Layout: %s", CCoreAudioChannelLayout::ChannelLayoutToString(*(AudioChannelLayout*)userLayout, strUserLayout));
@@ -1019,7 +1258,39 @@ 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++)
+ {
+ // If this is a known channel, then we can't have an undefined layout
+ if (deviceLayout.GetChannelLabel(c) != kAudioChannelLabel_Unknown)
+ {
+ undefinedLayout = false;
+ break;
+ }
+ }
+ if (undefinedLayout)
+ {
+ if (!g_sysinfo.IsAppleTV()) // 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;
+ }
+ if (!deviceLayout.SetLayout(newLayoutTag))
+ {
+ CLog::Log(LOGERROR, "CCoreAudioRenderer::InitializePCM: Unable to set channel layout from tag.");
+ return false;
+ }
+ }
+
CStdString strOutLayout;
CLog::Log(LOGDEBUG, "CCoreAudioRenderer::InitializePCM: Output Device Layout: %s", CCoreAudioChannelLayout::ChannelLayoutToString(*(AudioChannelLayout*)deviceLayout, strOutLayout));
@@ -1036,7 +1307,7 @@ bool CCoreAudioRenderer::InitializePCM(UInt32 channels, UInt32 samplesPerSecond,
// if (CCoreAudioChannelLayout::GetChannelCountForLayout(guiLayout) < CCoreAudioChannelLayout::GetChannelCountForLayout(deviceLayout))
// deviceLayout.CopyLayout(guiLayout);
- // TODO: Skip matrix mixer if input/output are compatible
+ // TODO: Skip matrix mixer if input/output are compatible -> Add a IsPurePassthrough() method to the CCoreAudioMixMap class
AudioChannelLayout* layoutCandidates[] = {(AudioChannelLayout*)deviceLayout, (AudioChannelLayout*)userLayout, NULL};
@@ -1125,11 +1396,14 @@ bool CCoreAudioRenderer::InitializePCM(UInt32 channels, UInt32 samplesPerSecond,
}
else
{
+ CLog::Log(LOGERROR, "CCoreAudioRenderer::InitializePCM: No matrix mixer configuration available - unmapped channels will be dropped");
outputFormat = inputFormat; // We don't know how to map this...let CoreAudio handle it
}
}
else
{
+ if (allowMixing && !channelMap)
+ CLog::Log(LOGINFO, "CCoreAudioRenderer::InitializePCM: No channel map provided - extra channels will be dropped");
outputFormat = inputFormat;
}
@@ -1327,6 +1601,33 @@ void CCoreAudioRenderer::OnResetDevice()
}
}
}
+
+AudioChannelLayoutTag CCoreAudioRenderer::GetDefaultLayout(UInt32 channelCount)
+{
+ switch(channelCount)
+ {
+ case 1:
+ return kAudioChannelLayoutTag_Mono; // 1.0
+ case 2:
+ return kAudioChannelLayoutTag_Stereo; // 2.0
+ case 3:
+ return kAudioChannelLayoutTag_DVD_4; // 2.1
+ case 4:
+ return kAudioChannelLayoutTag_DVD_10; // 3.1
+ case 5:
+ return kAudioChannelLayoutTag_DVD_6; // 4.1
+ case 6:
+ return kAudioChannelLayoutTag_MPEG_5_1_A; // 5.1
+ case 7:
+ return kAudioChannelLayoutTag_AudioUnit_7_0; // 7.0
+ case 8:
+ return kAudioChannelLayoutTag_MPEG_7_1_A; // 7.1
+ case 0:
+ default:
+ return kAudioChannelLayoutTag_UseChannelBitmap; // Basically 'Undefined'
+ }
+}
+
#endif
#endif
diff --git a/xbmc/cores/AudioRenderers/CoreAudioRenderer.h b/xbmc/cores/AudioRenderers/CoreAudioRenderer.h
index 7d653c3abc..3b06a518fb 100644
--- a/xbmc/cores/AudioRenderers/CoreAudioRenderer.h
+++ b/xbmc/cores/AudioRenderers/CoreAudioRenderer.h
@@ -104,15 +104,16 @@ class CCoreAudioMixMap
{
public:
CCoreAudioMixMap();
- CCoreAudioMixMap(AudioChannelLayout& inLayout, AudioChannelLayout& outLayout);
+ CCoreAudioMixMap(AudioChannelLayout& inLayout, AudioChannelLayout& outLayout, bool forceExplicit=false);
virtual ~CCoreAudioMixMap();
operator Float32*() const {return m_pMap;}
const Float32* GetBuffer() {return m_pMap;}
UInt32 GetInputChannels() {return m_inChannels;}
UInt32 GetOutputChannels() {return m_outChannels;}
bool IsValid() {return m_isValid;}
- void Rebuild(AudioChannelLayout& inLayout, AudioChannelLayout& outLayout);
+ void Rebuild(AudioChannelLayout& inLayout, AudioChannelLayout& outLayout, bool forceExplicit=false);
private:
+ bool BuildExplicit(AudioChannelLayout& inLayout, AudioChannelLayout& outLayout);
Float32* m_pMap;
UInt32 m_inChannels;
UInt32 m_outChannels;
@@ -164,8 +165,7 @@ private:
bool InitializePCM(UInt32 channels, UInt32 samplesPerSecond, UInt32 bitsPerSample, enum PCMChannels *channelMap, bool allowMixing = true);
bool InitializePCMEncoded(UInt32 sampleRate);
- bool CreateMixMap();
-
+ AudioChannelLayoutTag GetDefaultLayout(UInt32 channelCount);
static OSStatus HardwareListenerProc(AudioHardwarePropertyID property, void *clientref);
static OSStatus DeviceListenerProc(AudioDeviceID inDevice, UInt32 inChannel, Boolean isInput, AudioDevicePropertyID inPropertyID, void *clientref);
diff --git a/xbmc/cores/AudioRenderers/Win32DirectSound.cpp b/xbmc/cores/AudioRenderers/Win32DirectSound.cpp
index 48399b000a..1ac873287a 100644
--- a/xbmc/cores/AudioRenderers/Win32DirectSound.cpp
+++ b/xbmc/cores/AudioRenderers/Win32DirectSound.cpp
@@ -87,12 +87,8 @@ bool CWin32DirectSound::Initialize(IAudioCallback* pCallback, const CStdString&
{
m_uiDataChannels = iChannels;
- if(!bAudioPassthrough)
+ if(!bAudioPassthrough && channelMap)
{
- //If no channel map is specified, use the default.
- if(!channelMap)
- channelMap = (PCMChannels *)dsound_default_channel_layout[iChannels - 1];
-
PCMChannels *outLayout = m_remap.SetInputFormat(iChannels, channelMap, uiBitsPerSample / 8, uiSamplesPerSec);
for(iChannels = 0; outLayout[iChannels] != PCM_INVALID;) ++iChannels;
diff --git a/xbmc/cores/AudioRenderers/Win32WASAPI.cpp b/xbmc/cores/AudioRenderers/Win32WASAPI.cpp
index e7faecaf69..d5b383af5e 100644
--- a/xbmc/cores/AudioRenderers/Win32WASAPI.cpp
+++ b/xbmc/cores/AudioRenderers/Win32WASAPI.cpp
@@ -107,12 +107,8 @@ bool CWin32WASAPI::Initialize(IAudioCallback* pCallback, const CStdString& devic
int layoutChannels = 0;
- if(!bAudioPassthrough)
+ if(!bAudioPassthrough && channelMap)
{
- //If no channel map is specified, use the default.
- if(!channelMap)
- channelMap = (PCMChannels *)wasapi_default_channel_layout[iChannels - 1];
-
PCMChannels *outLayout = m_remap.SetInputFormat(iChannels, channelMap, uiBitsPerSample / 8, uiSamplesPerSec);
for(PCMChannels *channel = outLayout; *channel != PCM_INVALID; channel++)
@@ -418,7 +414,7 @@ unsigned int CWin32WASAPI::AddPackets(const void* data, unsigned int len)
{
CSingleLock lock (m_critSection);
- if (!m_bIsAllocated)
+ if (!m_bIsAllocated || m_bPause)
return 0;
DWORD dwFlags = m_bMuting || m_nCurrentVolume == VOLUME_MINIMUM ? AUDCLNT_BUFFERFLAGS_SILENT : 0;
diff --git a/xbmc/cores/DllLoader/dll.cpp b/xbmc/cores/DllLoader/dll.cpp
index fd7ef79077..dee70c10e6 100644
--- a/xbmc/cores/DllLoader/dll.cpp
+++ b/xbmc/cores/DllLoader/dll.cpp
@@ -277,6 +277,7 @@ extern "C" DWORD WINAPI dllGetModuleFileNameA(HMODULE hModule, LPSTR lpFilename,
if (sName)
{
strncpy(lpFilename, sName, nSize);
+ lpFilename[nSize] = 0;
return strlen(lpFilename);
}
diff --git a/xbmc/cores/DllLoader/exports/emu_socket/emu_socket.h b/xbmc/cores/DllLoader/exports/emu_socket/emu_socket.h
index 5f3722b0f5..0558099a35 100644
--- a/xbmc/cores/DllLoader/exports/emu_socket/emu_socket.h
+++ b/xbmc/cores/DllLoader/exports/emu_socket/emu_socket.h
@@ -22,10 +22,6 @@
*
*/
-#ifdef _XBOX
-#include <xtl.h>
-#endif
-
#define SOCK_RAW 3
#define EAFNOSUPPORT WSAEAFNOSUPPORT
@@ -40,21 +36,6 @@ struct mphostent {
char **h_addr_list; /* list of addresses from name server */
};
-#ifdef _XBOX
-typedef struct servent {
- char FAR* s_name;
- char FAR FAR** s_aliases;
- short s_port;
- char FAR* s_proto;
-} servent;
-
-typedef struct protoent {
- char FAR* p_name;
- char FAR FAR** p_aliases;
- short p_proto;
-} protoent;
-#endif
-
#ifndef IN_MULTICAST
#define IN_MULTICAST(i) (((i) & 0xf0000000U) == 0xe0000000U)
#endif
diff --git a/xbmc/cores/DllLoader/exports/emu_socket/getaddrinfo.c b/xbmc/cores/DllLoader/exports/emu_socket/getaddrinfo.c
index 5f0e4291a3..3cd8b1bdb7 100644
--- a/xbmc/cores/DllLoader/exports/emu_socket/getaddrinfo.c
+++ b/xbmc/cores/DllLoader/exports/emu_socket/getaddrinfo.c
@@ -45,12 +45,7 @@
* in ai_flags?
*/
-#ifdef _XBOX
-#include <xtl.h>
-#include <winsockx.h>
-#else
#include <windows.h>
-#endif
#include <stddef.h>
#include "addrinfo.h"
#include "emu_socket.h"
@@ -62,19 +57,6 @@
#include <stdio.h>
#include <errno.h>
-#ifdef _XBOX
-extern struct mphostent* __stdcall dllgethostbyname(const char* name);
-#define gethostbyname(name) dllgethostbyname(name)
-
-extern struct mphostent* __stdcall dllgethostbyaddr(const char* addr, int len, int type);
-#define gethostbyaddr(addr, len, type) dllgethostbyaddr(addr, len, type)
-
-extern struct servent* __stdcall dllgetservbyname(const char* name, const char* proto);
-#define getservbyname(name, proto) dllgetservbyname(name, proto)
-
-#define hostent mphostent
-#endif
-
#ifndef HAVE_U_INT32_T
#include "bittypes.h"
#endif
@@ -333,18 +315,10 @@ getaddrinfo(const char*hostname, const char*servname,
pai->ai_socktype = SOCK_STREAM;
break;
default:
-#ifdef _XBOX
- pai->ai_socktype = SOCK_STREAM;
-#else
pai->ai_socktype = SOCK_RAW;
-#endif //_XBOX
break;
}
break;
-#ifndef _XBOX
- case SOCK_RAW:
- break;
-#endif //_XBOX
case SOCK_DGRAM:
if (pai->ai_protocol != IPPROTO_UDP &&
pai->ai_protocol != GAI_ANY)
diff --git a/xbmc/cores/DllLoader/exports/emu_socket/getnameinfo.c b/xbmc/cores/DllLoader/exports/emu_socket/getnameinfo.c
index 0c8f426040..0df482a679 100644
--- a/xbmc/cores/DllLoader/exports/emu_socket/getnameinfo.c
+++ b/xbmc/cores/DllLoader/exports/emu_socket/getnameinfo.c
@@ -37,12 +37,7 @@
* modified).
*/
-#ifdef _XBOX
-#include <xtl.h>
-#include <winsockx.h>
-#else
#include <windows.h>
-#endif
#include <stddef.h>
#include "addrinfo.h"
#include "emu_socket.h"
@@ -54,14 +49,6 @@
#include <stdio.h>
#include <errno.h>
-#ifdef _XBOX
-extern struct mphostent* __stdcall dllgethostbyname(const char* name);
-#define gethostbyname(name) dllgethostbyname(name)
-
-extern struct mphostent* __stdcall dllgethostbyaddr(const char* addr, int len, int type);
-#define gethostbyaddr(addr, len, type) dllgethostbyaddr(addr, len, type)
-#endif
-
extern struct servent* __stdcall dllgetservbyname(const char* name, const char* proto);
#define getservbyname(name, proto) dllgetservbyname(name, proto)
diff --git a/xbmc/cores/VideoRenderers/RenderManager.cpp b/xbmc/cores/VideoRenderers/RenderManager.cpp
index 7da5eab280..b9178602cd 100644
--- a/xbmc/cores/VideoRenderers/RenderManager.cpp
+++ b/xbmc/cores/VideoRenderers/RenderManager.cpp
@@ -103,6 +103,7 @@ CXBMCRenderManager::CXBMCRenderManager()
m_presentmethod = PRESENT_METHOD_SINGLE;
m_bReconfigured = false;
m_hasCaptures = false;
+ m_displayLatency = 0.0f;
}
CXBMCRenderManager::~CXBMCRenderManager()
@@ -320,6 +321,8 @@ unsigned int CXBMCRenderManager::PreInit()
#endif
}
+ UpdateDisplayLatency();
+
return m_pRenderer->PreInit();
}
@@ -712,6 +715,17 @@ void CXBMCRenderManager::Recover()
#if defined(HAS_GL) && !defined(TARGET_DARWIN)
glFlush(); // attempt to have gpu done with pixmap and vdpau
#endif
+
+ UpdateDisplayLatency();
+}
+
+void CXBMCRenderManager::UpdateDisplayLatency()
+{
+ float refresh = g_graphicsContext.GetFPS();
+ if (g_graphicsContext.GetVideoResolution() == RES_WINDOW)
+ refresh = 0; // No idea about refresh rate when windowed, just get the default latency
+ m_displayLatency = (double) g_advancedSettings.GetDisplayLatency(refresh);
+ CLog::Log(LOGDEBUG, "CRenderManager::UpdateDisplayLatency - Latency set to %1.0f msec", m_displayLatency * 1000.0f);
}
void CXBMCRenderManager::UpdateResolution()
diff --git a/xbmc/cores/VideoRenderers/RenderManager.h b/xbmc/cores/VideoRenderers/RenderManager.h
index 961b19fbd5..7f8dbce85e 100644
--- a/xbmc/cores/VideoRenderers/RenderManager.h
+++ b/xbmc/cores/VideoRenderers/RenderManager.h
@@ -108,6 +108,7 @@ public:
float GetMaximumFPS();
inline bool Paused() { return m_bPauseDrawing; };
inline bool IsStarted() { return m_bIsStarted;}
+ double GetDisplayLatency() { return m_displayLatency; }
bool Supports(ERENDERFEATURE feature)
{
@@ -216,6 +217,8 @@ protected:
PRESENT_METHOD_BOB,
};
+ double m_displayLatency;
+ void UpdateDisplayLatency();
double m_presenttime;
double m_presentcorr;
diff --git a/xbmc/cores/VideoRenderers/VideoShaders/WinVideoFilter.cpp b/xbmc/cores/VideoRenderers/VideoShaders/WinVideoFilter.cpp
index 9763ff2a4a..300cabcf3c 100644
--- a/xbmc/cores/VideoRenderers/VideoShaders/WinVideoFilter.cpp
+++ b/xbmc/cores/VideoRenderers/VideoShaders/WinVideoFilter.cpp
@@ -714,6 +714,27 @@ bool CConvolutionShaderSeparable::CreateIntermediateRenderTarget(unsigned int wi
return true;
}
+bool CConvolutionShaderSeparable::ClearIntermediateRenderTarget()
+{
+ LPDIRECT3DDEVICE9 pD3DDevice = g_Windowing.Get3DDevice();
+
+ LPDIRECT3DSURFACE9 currentRT;
+ pD3DDevice->GetRenderTarget(0, &currentRT);
+
+ LPDIRECT3DSURFACE9 intermediateRT;
+ m_IntermediateTarget.GetSurfaceLevel(0, &intermediateRT);
+
+ pD3DDevice->SetRenderTarget(0, intermediateRT);
+
+ pD3DDevice->Clear(0L, NULL, D3DCLEAR_TARGET, 0L, 1.0f, 0L);
+
+ pD3DDevice->SetRenderTarget(0, currentRT);
+ currentRT->Release();
+ intermediateRT->Release();
+
+ return true;
+}
+
void CConvolutionShaderSeparable::PrepareParameters(unsigned int sourceWidth, unsigned int sourceHeight,
unsigned int destWidth, unsigned int destHeight,
CRect sourceRect,
@@ -723,6 +744,12 @@ void CConvolutionShaderSeparable::PrepareParameters(unsigned int sourceWidth, un
|| m_destWidth != destWidth || m_destHeight != destHeight
|| m_sourceRect != sourceRect || m_destRect != destRect)
{
+ // fixme better: clearing the whole render target when changing the source/dest rect is not optimal.
+ // Problem is that the edges of the final picture may retain content when the rects change.
+ // For example when changing zoom value, the edges can retain content from the previous zoom value.
+ // Playing with coordinates was unsuccessful so far, this is a quick fix for release.
+ ClearIntermediateRenderTarget();
+
m_sourceWidth = sourceWidth;
m_sourceHeight = sourceHeight;
m_destWidth = destWidth;
diff --git a/xbmc/cores/VideoRenderers/VideoShaders/WinVideoFilter.h b/xbmc/cores/VideoRenderers/VideoShaders/WinVideoFilter.h
index aa2a4f2334..d6199e58fc 100644
--- a/xbmc/cores/VideoRenderers/VideoShaders/WinVideoFilter.h
+++ b/xbmc/cores/VideoRenderers/VideoShaders/WinVideoFilter.h
@@ -164,6 +164,7 @@ public:
protected:
virtual bool ChooseIntermediateD3DFormat();
virtual bool CreateIntermediateRenderTarget(unsigned int width, unsigned int height);
+ virtual bool ClearIntermediateRenderTarget();
virtual void PrepareParameters(unsigned int sourceWidth, unsigned int sourceHeight,
unsigned int destWidth, unsigned int destHeight,
CRect sourceRect,
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlaySpu.h b/xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlaySpu.h
index 1dd1e78802..1db47cf12f 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlaySpu.h
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlaySpu.h
@@ -72,7 +72,7 @@ public:
memcpy(alpha , src.alpha , sizeof(alpha));
memcpy(color , src.color , sizeof(color));
memcpy(highlight_alpha, src.highlight_alpha, sizeof(highlight_alpha));
- memcpy(highlight_color, src.highlight_alpha, sizeof(highlight_color));
+ memcpy(highlight_color, src.highlight_color, sizeof(highlight_color));
}
BYTE result[2*65536 + 20]; // rle data
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
index 5bfb733fb5..b4e14511bd 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
@@ -449,8 +449,8 @@ int CDVDVideoCodecFFmpeg::Decode(BYTE* pData, int iSize, double dts, double pts)
avpkt.flags = AV_PKT_FLAG_KEY;
len = m_dllAvCodec.avcodec_decode_video2(m_pCodecContext, m_pFrame, &iGotPicture, &avpkt);
- if(m_iLastKeyframe < m_pCodecContext->has_b_frames + 1)
- m_iLastKeyframe = m_pCodecContext->has_b_frames + 1;
+ if(m_iLastKeyframe < m_pCodecContext->has_b_frames + 2)
+ m_iLastKeyframe = m_pCodecContext->has_b_frames + 2;
if (len < 0)
{
@@ -467,9 +467,17 @@ int CDVDVideoCodecFFmpeg::Decode(BYTE* pData, int iSize, double dts, double pts)
if(m_pFrame->key_frame)
{
m_started = true;
- m_iLastKeyframe = m_pCodecContext->has_b_frames + 1;
+ m_iLastKeyframe = m_pCodecContext->has_b_frames + 2;
}
+ /* put a limit on convergence count to avoid huge mem usage on streams without keyframes */
+ if(m_iLastKeyframe > 300)
+ m_iLastKeyframe = 300;
+
+ /* h264 doesn't always have keyframes + won't output before first keyframe anyway */
+ if(m_pCodecContext->codec_id == CODEC_ID_H264)
+ m_started = true;
+
if(m_pCodecContext->pix_fmt != PIX_FMT_YUV420P
&& m_pCodecContext->pix_fmt != PIX_FMT_YUVJ420P
&& m_pHardware == NULL)
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecVDA.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecVDA.cpp
index 2e885f8574..5b6ce25913 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecVDA.cpp
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecVDA.cpp
@@ -669,6 +669,13 @@ bool CDVDVideoCodecVDA::Open(CDVDStreamInfo &hints, CDVDCodecOptions &options)
extrasize = hints.extrasize;
extradata = (uint8_t*)hints.extradata;
+ if (width <= 0 || height <= 0 || profile <= 0 || level <= 0)
+ {
+ CLog::Log(LOGNOTICE, "%s - bailing with bogus hints, width(%d), height(%d), profile(%d), level(%d)",
+ __FUNCTION__, width, height, profile, level);
+ return false;
+ }
+
if (Cocoa_GPUForDisplayIsNvidiaPureVideo3() && !CDVDCodecUtils::IsVP3CompatibleWidth(width))
{
CLog::Log(LOGNOTICE, "%s - Nvidia 9400 GPU hardware limitation, cannot decode a width of %d", __FUNCTION__, width);
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecVideoToolBox.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecVideoToolBox.cpp
index 703c296293..31b07ee9b6 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecVideoToolBox.cpp
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecVideoToolBox.cpp
@@ -1071,6 +1071,13 @@ bool CDVDVideoCodecVideoToolBox::Open(CDVDStreamInfo &hints, CDVDCodecOptions &o
extrasize = hints.extrasize;
extradata = (uint8_t*)hints.extradata;
+ if (width <= 0 || height <= 0 || profile <= 0 || level <= 0)
+ {
+ CLog::Log(LOGNOTICE, "%s - bailing with bogus hints, width(%d), height(%d), profile(%d), level(%d)",
+ __FUNCTION__, width, height, profile, level);
+ return false;
+ }
+
switch (hints.codec)
{
case CODEC_ID_MPEG4:
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp
index 867f4a7343..ea1f0bda8e 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp
@@ -413,9 +413,11 @@ int CVDPAU::Check(AVCodecContext* avctx)
if (!m_DisplayEvent.WaitMSec(2000))
{
CLog::Log(LOGERROR, "CVDPAU::Check - device didn't reset in reasonable time");
- return VC_ERROR;
+ state = VDPAU_RESET;
}
- { CSharedLock lock(m_DisplaySection);
+ else
+ {
+ CSharedLock lock(m_DisplaySection);
state = m_DisplayState;
}
}
@@ -1612,7 +1614,10 @@ bool CVDPAU::CheckStatus(VdpStatus vdp_st, int line)
if(m_DisplayState == VDPAU_OPEN)
{
if (vdp_st == VDP_STATUS_DISPLAY_PREEMPTED)
+ {
+ m_DisplayEvent.Reset();
m_DisplayState = VDPAU_LOST;
+ }
else
m_DisplayState = VDPAU_ERROR;
}
diff --git a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemux.h b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemux.h
index d717d48550..dd8d977892 100644
--- a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemux.h
+++ b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemux.h
@@ -156,6 +156,7 @@ public:
iLevel = 0;
iProfile = 0;
bPTSInvalid = false;
+ bForcedAspect = false;
type = STREAM_VIDEO;
}
@@ -169,7 +170,7 @@ public:
int iLevel; // encoder level of the stream reported by the decoder. used to qualify hw decoders.
int iProfile; // encoder profile of the stream reported by the decoder. used to qualify hw decoders.
bool bPTSInvalid; // pts cannot be trusted (avi's).
-
+ bool bForcedAspect; // aspect is forced from container
};
class CDemuxStreamAudio : public CDemuxStream
diff --git a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
index a27f052aa0..46287a858c 100644
--- a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
+++ b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
@@ -952,14 +952,16 @@ int CDVDDemuxFFmpeg::GetNrOfStreams()
return i;
}
-static double SelectAspect(AVStream* st)
+static double SelectAspect(AVStream* st, bool* forced)
{
+ *forced = false;
/* if stream aspect is 1:1 or 0:0 use codec aspect */
if((st->sample_aspect_ratio.den == 1 || st->sample_aspect_ratio.den == 0)
&& (st->sample_aspect_ratio.num == 1 || st->sample_aspect_ratio.num == 0)
&& st->codec->sample_aspect_ratio.num != 0)
return av_q2d(st->codec->sample_aspect_ratio);
+ *forced = true;
if(st->sample_aspect_ratio.num != 0)
return av_q2d(st->sample_aspect_ratio);
@@ -1031,7 +1033,7 @@ void CDVDDemuxFFmpeg::AddStream(int iId)
st->iWidth = pStream->codec->width;
st->iHeight = pStream->codec->height;
- st->fAspect = SelectAspect(pStream) * pStream->codec->width / pStream->codec->height;
+ st->fAspect = SelectAspect(pStream, &st->bForcedAspect) * pStream->codec->width / pStream->codec->height;
st->iLevel = pStream->codec->level;
st->iProfile = pStream->codec->profile;
@@ -1188,7 +1190,7 @@ void CDVDDemuxFFmpeg::AddStream(int iId)
std::string CDVDDemuxFFmpeg::GetFileName()
{
- if(m_pInput && m_pInput)
+ if(m_pInput)
return m_pInput->GetFileName();
else
return "";
diff --git a/xbmc/cores/dvdplayer/DVDFileInfo.cpp b/xbmc/cores/dvdplayer/DVDFileInfo.cpp
index 8cc4898a2d..064a76b242 100644
--- a/xbmc/cores/dvdplayer/DVDFileInfo.cpp
+++ b/xbmc/cores/dvdplayer/DVDFileInfo.cpp
@@ -202,7 +202,9 @@ bool CDVDFileInfo::ExtractThumb(const CStdString &strPath, const CStdString &str
{
{
int nWidth = g_advancedSettings.m_thumbSize;
- double aspect = (double)picture.iWidth / (double)picture.iHeight;
+ double aspect = (double)picture.iDisplayWidth / (double)picture.iDisplayHeight;
+ if(hint.forced_aspect)
+ aspect = hint.aspect;
int nHeight = (int)((double)g_advancedSettings.m_thumbSize / aspect);
DllSwScale dllSwScale;
diff --git a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamFile.cpp b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamFile.cpp
index 7780f1c825..9c1e852468 100644
--- a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamFile.cpp
+++ b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamFile.cpp
@@ -44,18 +44,15 @@ bool CDVDInputStreamFile::IsEOF()
bool CDVDInputStreamFile::Open(const char* strFile, const std::string& content)
{
- if (!CDVDInputStream::Open(strFile, content)) return false;
+ if (!CDVDInputStream::Open(strFile, content))
+ return false;
m_pFile = new CFile();
- if (!m_pFile) return false;
-
- unsigned int flags = READ_TRUNCATED | READ_BITRATE | READ_CHUNKED;
-
- if ( URIUtils::IsInternetStream( CStdString(strFile) ) )
- flags |= READ_CACHED;
+ if (!m_pFile)
+ return false;
// open file in binary mode
- if (!m_pFile->Open(strFile, flags))
+ if (!m_pFile->Open(strFile, READ_TRUNCATED | READ_BITRATE | READ_CHUNKED))
{
delete m_pFile;
m_pFile = NULL;
diff --git a/xbmc/cores/dvdplayer/DVDPlayer.cpp b/xbmc/cores/dvdplayer/DVDPlayer.cpp
index a2ca1807b0..b9b271e6b8 100644
--- a/xbmc/cores/dvdplayer/DVDPlayer.cpp
+++ b/xbmc/cores/dvdplayer/DVDPlayer.cpp
@@ -703,6 +703,15 @@ void CDVDPlayer::OpenDefaultStreams()
CLog::Log(LOGWARNING, "%s - failed to restore selected subtitle stream (%d)", __FUNCTION__, g_settings.m_currentVideoSettings.m_SubtitleStream);
}
+ // check if there are external subtitles available
+ for(int i = 0;i<count && !valid; i++)
+ {
+ SelectionStream& s = m_SelectionStreams.Get(STREAM_SUBTITLE, i);
+ if ((s.source == STREAM_SOURCE_DEMUX_SUB || s.source == STREAM_SOURCE_TEXT)
+ && OpenSubtitleStream(s.id, s.source))
+ valid = true;
+ }
+
// select default
if(!valid
&& m_SelectionStreams.Get(STREAM_SUBTITLE, CDemuxStream::FLAG_DEFAULT, st))
@@ -2424,7 +2433,7 @@ void CDVDPlayer::GetGeneralInfo(CStdString& strGeneralInfo)
{
if (!m_bStop)
{
- double dDelay = (double)m_dvdPlayerVideo.GetDelay() / DVD_TIME_BASE;
+ double dDelay = m_dvdPlayerVideo.GetDelay() / DVD_TIME_BASE - g_renderManager.GetDisplayLatency();
double apts = m_dvdPlayerAudio.GetCurrentPts();
double vpts = m_dvdPlayerVideo.GetCurrentPts();
@@ -2731,7 +2740,10 @@ bool CDVDPlayer::OpenVideoStream(int iStream, int source)
/* set aspect ratio as requested by navigator for dvd's */
float aspect = static_cast<CDVDInputStreamNavigator*>(m_pInputStream)->GetVideoAspectRatio();
if(aspect != 0.0)
+ {
hint.aspect = aspect;
+ hint.forced_aspect = true;
+ }
hint.software = true;
hint.stills = static_cast<CDVDInputStreamNavigator*>(m_pInputStream)->IsInMenu();
}
diff --git a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
index 95d47b689e..e28faaf368 100644
--- a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
+++ b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
@@ -220,7 +220,7 @@ void CDVDPlayerVideo::OpenStream(CDVDStreamInfo &hint, CDVDVideoCodec* codec)
m_bFpsInvalid = (hint.fpsrate == 0 || hint.fpsscale == 0);
m_bCalcFrameRate = g_guiSettings.GetBool("videoplayer.usedisplayasclock") ||
- g_guiSettings.GetBool("videoplayer.adjustrefreshrate");
+ g_guiSettings.GetBool("videoplayer.adjustrefreshrate");
ResetFrameRateCalc();
m_iDroppedRequest = 0;
@@ -234,7 +234,10 @@ void CDVDPlayerVideo::OpenStream(CDVDStreamInfo &hint, CDVDVideoCodec* codec)
}
// use aspect in stream if available
- m_fForcedAspectRatio = hint.aspect;
+ if(hint.forced_aspect)
+ m_fForcedAspectRatio = hint.aspect;
+ else
+ m_fForcedAspectRatio = 0.0;
if (m_pVideoCodec)
delete m_pVideoCodec;
@@ -1108,8 +1111,8 @@ int CDVDPlayerVideo::OutputPicture(const DVDVideoPicture* src, double pts)
pts -= DVD_TIME_BASE * interval;
}
- //User set delay
- pts += m_iVideoDelay;
+ // Correct pts by user set delay and rendering delay
+ pts += m_iVideoDelay - DVD_SEC_TO_TIME(g_renderManager.GetDisplayLatency());
// calculate the time we need to delay this picture before displaying
double iSleepTime, iClockSleep, iFrameSleep, iPlayingClock, iCurrentClock, iFrameDuration;
@@ -1464,9 +1467,11 @@ void CDVDPlayerVideo::ResetFrameRateCalc()
{
m_fStableFrameRate = 0.0;
m_iFrameRateCount = 0;
- m_bAllowDrop = !m_bCalcFrameRate && g_settings.m_currentVideoSettings.m_ScalingMethod != VS_SCALINGMETHOD_AUTO;
m_iFrameRateLength = 1;
m_iFrameRateErr = 0;
+
+ m_bAllowDrop = (!m_bCalcFrameRate && g_settings.m_currentVideoSettings.m_ScalingMethod != VS_SCALINGMETHOD_AUTO) ||
+ g_advancedSettings.m_videoFpsDetect == 0;
}
#define MAXFRAMERATEDIFF 0.01
@@ -1474,8 +1479,8 @@ void CDVDPlayerVideo::ResetFrameRateCalc()
void CDVDPlayerVideo::CalcFrameRate()
{
- if (m_iFrameRateLength >= 128)
- return; //we're done calculating
+ if (m_iFrameRateLength >= 128 || g_advancedSettings.m_videoFpsDetect == 0)
+ return; //don't calculate the fps
//only calculate the framerate if sync playback to display is on, adjust refreshrate is on,
//or scaling method is set to auto
@@ -1492,7 +1497,8 @@ void CDVDPlayerVideo::CalcFrameRate()
//and is able to calculate the correct frame duration from it
double frameduration = m_pullupCorrection.GetFrameDuration();
- if (frameduration == DVD_NOPTS_VALUE || m_pullupCorrection.GetPatternLength() > 1)
+ if (frameduration == DVD_NOPTS_VALUE ||
+ (g_advancedSettings.m_videoFpsDetect == 1 && m_pullupCorrection.GetPatternLength() > 1))
{
//reset the stored framerates if no good framerate was detected
m_fStableFrameRate = 0.0;
diff --git a/xbmc/cores/dvdplayer/DVDStreamInfo.cpp b/xbmc/cores/dvdplayer/DVDStreamInfo.cpp
index 70f7021107..d269eac291 100644
--- a/xbmc/cores/dvdplayer/DVDStreamInfo.cpp
+++ b/xbmc/cores/dvdplayer/DVDStreamInfo.cpp
@@ -94,6 +94,7 @@ bool CDVDStreamInfo::Equal(const CDVDStreamInfo& right, bool withextradata)
|| level != right.level
|| profile != right.profile
|| ptsinvalid != right.ptsinvalid
+ || forced_aspect != right.forced_aspect
|| vfr != right.vfr) return false;
// AUDIO
@@ -148,6 +149,7 @@ void CDVDStreamInfo::Assign(const CDVDStreamInfo& right, bool withextradata)
level = right.level;
profile = right.profile;
ptsinvalid = right.ptsinvalid;
+ forced_aspect = right.forced_aspect;
// AUDIO
channels = right.channels;
@@ -196,6 +198,7 @@ void CDVDStreamInfo::Assign(const CDemuxStream& right, bool withextradata)
level = stream->iLevel;
profile = stream->iProfile;
ptsinvalid = stream->bPTSInvalid;
+ forced_aspect = stream->bForcedAspect;
}
else if( right.type == STREAM_SUBTITLE )
{
diff --git a/xbmc/cores/dvdplayer/DVDStreamInfo.h b/xbmc/cores/dvdplayer/DVDStreamInfo.h
index afbf563aa6..9a706581e2 100644
--- a/xbmc/cores/dvdplayer/DVDStreamInfo.h
+++ b/xbmc/cores/dvdplayer/DVDStreamInfo.h
@@ -76,6 +76,7 @@ public:
int level; // encoder level of the stream reported by the decoder. used to qualify hw decoders.
int profile; // encoder profile of the stream reported by the decoder. used to qualify hw decoders.
bool ptsinvalid; // pts cannot be trusted (avi's).
+ bool forced_aspect; // aspect is forced from container
// AUDIO
int channels;
diff --git a/xbmc/dbwrappers/mysqldataset.cpp b/xbmc/dbwrappers/mysqldataset.cpp
index 14c1c490de..458f353261 100644
--- a/xbmc/dbwrappers/mysqldataset.cpp
+++ b/xbmc/dbwrappers/mysqldataset.cpp
@@ -1198,9 +1198,9 @@ MYSQL* MysqlDataset::handle(){
void MysqlDataset::make_query(StringList &_sql) {
string query;
int result = 0;
+ if (db == NULL) throw DbErrors("No Database Connection");
try
{
- if (db == NULL) throw DbErrors("No Database Connection");
if (autocommit) db->start_transaction();
for (list<string>::iterator i =_sql.begin(); i!=_sql.end(); i++)
diff --git a/xbmc/dbwrappers/sqlitedataset.cpp b/xbmc/dbwrappers/sqlitedataset.cpp
index 9d4fa8a866..80ffbc7e8f 100644
--- a/xbmc/dbwrappers/sqlitedataset.cpp
+++ b/xbmc/dbwrappers/sqlitedataset.cpp
@@ -444,10 +444,10 @@ sqlite3* SqliteDataset::handle(){
void SqliteDataset::make_query(StringList &_sql) {
string query;
+ if (db == NULL) throw DbErrors("No Database Connection");
try {
- if (db == NULL) throw DbErrors("No Database Connection");
if (autocommit) db->start_transaction();
diff --git a/xbmc/dialogs/GUIDialogMediaSource.cpp b/xbmc/dialogs/GUIDialogMediaSource.cpp
index a10575cef4..64d9337a87 100644
--- a/xbmc/dialogs/GUIDialogMediaSource.cpp
+++ b/xbmc/dialogs/GUIDialogMediaSource.cpp
@@ -237,30 +237,10 @@ void CGUIDialogMediaSource::OnPathBrowse(int item)
share1.m_ignore = true;
extraShares.push_back(share1);
-#ifdef HAS_FILESYSTEM_SMB
- share1.strPath = "smb://";
- share1.strName = g_localizeStrings.Get(20171);
- extraShares.push_back(share1);
-#endif
-
-#ifdef HAS_FILESYSTEM_NFS
- share1.strPath = "nfs://";
- share1.strName = g_localizeStrings.Get(20259);
- extraShares.push_back(share1);
-#endif// HAS_FILESYSTEM_NFS
-
- share1.strPath = "upnp://";
- share1.strName = "UPnP Devices";
- extraShares.push_back(share1);
-
share1.strPath = "sap://";
share1.strName = "SAP Streams";
extraShares.push_back(share1);
- share1.strPath = "zeroconf://";
- share1.strName = "Zeroconf Browser";
- extraShares.push_back(share1);
-
if (g_guiSettings.GetString("audiocds.recordingpath",false) != "")
{
share1.strPath = "special://recordings/";
@@ -287,18 +267,6 @@ void CGUIDialogMediaSource::OnPathBrowse(int item)
share1.strName = "ReplayTV Devices";
extraShares.push_back(share1);
-#ifdef HAS_FILESYSTEM_SMB
- share1.strPath = "smb://";
- share1.strName = g_localizeStrings.Get(20171);
- extraShares.push_back(share1);
-#endif
-
-#ifdef HAS_FILESYSTEM_NFS
- share1.strPath = "nfs://";
- share1.strName = g_localizeStrings.Get(20259);
- extraShares.push_back(share1);
-#endif// HAS_FILESYSTEM_NFS
-
share1.strPath = "hdhomerun://";
share1.strName = "HDHomerun Devices";
extraShares.push_back(share1);
@@ -306,14 +274,6 @@ void CGUIDialogMediaSource::OnPathBrowse(int item)
share1.strPath = "sap://";
share1.strName = "SAP Streams";
extraShares.push_back(share1);
-
- share1.strPath = "upnp://";
- share1.strName = "UPnP Devices";
- extraShares.push_back(share1);
-
- share1.strPath = "zeroconf://";
- share1.strName = "Zeroconf Browser";
- extraShares.push_back(share1);
}
else if (m_type == "pictures")
{
@@ -325,26 +285,6 @@ void CGUIDialogMediaSource::OnPathBrowse(int item)
share1.strName = g_localizeStrings.Get(20008);
extraShares.push_back(share1);
}
-
-#ifdef HAS_FILESYSTEM_SMB
- share1.strPath = "smb://";
- share1.strName = g_localizeStrings.Get(20171);
- extraShares.push_back(share1);
-#endif
-
-#ifdef HAS_FILESYSTEM_NFS
- share1.strPath = "nfs://";
- share1.strName = g_localizeStrings.Get(20259);
- extraShares.push_back(share1);
-#endif// HAS_FILESYSTEM_NFS
-
- share1.strPath = "upnp://";
- share1.strName = "UPnP Devices";
- extraShares.push_back(share1);
-
- share1.strPath = "zeroconf://";
- share1.strName = "Zeroconf Browser";
- extraShares.push_back(share1);
}
else if (m_type == "programs")
{
diff --git a/xbmc/dialogs/GUIDialogSmartPlaylistRule.cpp b/xbmc/dialogs/GUIDialogSmartPlaylistRule.cpp
index 43e34389f2..8dfe1beeae 100644
--- a/xbmc/dialogs/GUIDialogSmartPlaylistRule.cpp
+++ b/xbmc/dialogs/GUIDialogSmartPlaylistRule.cpp
@@ -185,6 +185,13 @@ void CGUIDialogSmartPlaylistRule::OnBrowse()
if (m_type.Equals("songs") || m_type.Equals("albums"))
path = "special://musicplaylists/";
XFILE::CDirectory::GetDirectory(path, items, ".xsp",false,false,XFILE::DIR_CACHE_ONCE,true,true);
+ for (int i = 0; i < items.Size(); i++)
+ {
+ CFileItemPtr item = items[i];
+ CSmartPlaylist playlist;
+ if (playlist.OpenAndReadName(item->GetPath()))
+ item->SetLabel(playlist.GetName());
+ }
iLabel = 559;
}
else if (m_rule.m_field == CSmartPlaylistRule::FIELD_PATH)
diff --git a/xbmc/filesystem/File.cpp b/xbmc/filesystem/File.cpp
index ef1625526f..6bfe7dac07 100644
--- a/xbmc/filesystem/File.cpp
+++ b/xbmc/filesystem/File.cpp
@@ -227,7 +227,7 @@ bool CFile::Open(const CStdString& strFileName, unsigned int flags)
}
CURL url(URIUtils::SubstitutePath(strFileName));
- if ( (flags & READ_NO_CACHE) == 0 && URIUtils::IsInternetStream(url) && !CUtil::IsPicture(strFileName) )
+ if ( (flags & READ_NO_CACHE) == 0 && URIUtils::IsInternetStream(url, true) && !CUtil::IsPicture(strFileName) )
m_flags |= READ_CACHED;
if (m_flags & READ_CACHED)
@@ -827,8 +827,9 @@ bool CFile::SetHidden(const CStdString& fileName, bool hidden)
int CFile::IoControl(EIoControl request, void* param)
{
int result = -1;
- if (m_pFile)
- result = m_pFile->IoControl(request, param);
+ if (m_pFile == NULL)
+ return -1;
+ result = m_pFile->IoControl(request, param);
if(result == -1 && request == IOCTRL_SEEK_POSSIBLE)
{
diff --git a/xbmc/filesystem/SmartPlaylistDirectory.cpp b/xbmc/filesystem/SmartPlaylistDirectory.cpp
index 449e26b365..aa6668f888 100644
--- a/xbmc/filesystem/SmartPlaylistDirectory.cpp
+++ b/xbmc/filesystem/SmartPlaylistDirectory.cpp
@@ -27,6 +27,7 @@
#include "Directory.h"
#include "File.h"
#include "FileItem.h"
+#include "utils/URIUtils.h"
namespace XFILE
{
@@ -137,15 +138,25 @@ namespace XFILE
CFileItemList list;
bool filesExist = false;
if (playlistType == "songs" || playlistType == "albums")
- filesExist = CDirectory::GetDirectory("special://musicplaylists/", list, "*.xsp");
+ filesExist = CDirectory::GetDirectory("special://musicplaylists/", list, ".xsp", false);
else // all others are video
- filesExist = CDirectory::GetDirectory("special://videoplaylists/", list, "*.xsp");
+ filesExist = CDirectory::GetDirectory("special://videoplaylists/", list, ".xsp", false);
if (filesExist)
{
for (int i = 0; i < list.Size(); i++)
{
CFileItemPtr item = list[i];
- if (item->GetLabel().CompareNoCase(name) == 0)
+ CSmartPlaylist playlist;
+ if (playlist.OpenAndReadName(item->GetPath()))
+ {
+ if (playlist.GetName().CompareNoCase(name) == 0)
+ return item->GetPath();
+ }
+ }
+ for (int i = 0; i < list.Size(); i++)
+ { // check based on filename
+ CFileItemPtr item = list[i];
+ if (URIUtils::GetFileName(item->GetPath()) == name)
{ // found :)
return item->GetPath();
}
diff --git a/xbmc/filesystem/UPnPDirectory.cpp b/xbmc/filesystem/UPnPDirectory.cpp
index fa8a3f25f7..98f95ca85d 100644
--- a/xbmc/filesystem/UPnPDirectory.cpp
+++ b/xbmc/filesystem/UPnPDirectory.cpp
@@ -161,15 +161,21 @@ bool CUPnPDirectory::GetResource(const CURL& path, CFileItem &item)
CURL::Decode(object);
PLT_DeviceDataReference device;
- if(!FindDeviceWait(upnp, uuid.c_str(), device))
+ if(!FindDeviceWait(upnp, uuid.c_str(), device)) {
+ CLog::Log(LOGERROR, "CUPnPDirectory::GetResource - unable to find uuid %s", uuid.c_str());
return false;
+ }
PLT_MediaObjectListReference list;
- if (NPT_FAILED(upnp->m_MediaBrowser->BrowseSync(device, object.c_str(), list, true)))
+ if (NPT_FAILED(upnp->m_MediaBrowser->BrowseSync(device, object.c_str(), list, true))) {
+ CLog::Log(LOGERROR, "CUPnPDirectory::GetResource - unable to find object %s", object.c_str());
return false;
+ }
- if (list.IsNull() || !list->GetItemCount())
+ if (list.IsNull() || !list->GetItemCount()) {
+ CLog::Log(LOGERROR, "CUPnPDirectory::GetResource - no items returned for object %s", object.c_str());
return false;
+ }
PLT_MediaObjectList::Iterator entry = list->GetFirstItem();
if (entry == 0)
@@ -183,8 +189,10 @@ bool CUPnPDirectory::GetResource(const CURL& path, CFileItem &item)
CProtocolFinder("xbmc-get"), resource))) {
if((*entry)->m_Resources.GetItemCount())
resource = (*entry)->m_Resources[0];
- else
+ else {
+ CLog::Log(LOGERROR, "CUPnPDirectory::GetResource - no resources returned for object %s", object.c_str());
return false;
+ }
}
// store original path so we remember it
diff --git a/xbmc/guilib/GUIAction.cpp b/xbmc/guilib/GUIAction.cpp
index da6345f53c..3543f01aef 100644
--- a/xbmc/guilib/GUIAction.cpp
+++ b/xbmc/guilib/GUIAction.cpp
@@ -105,7 +105,7 @@ bool CGUIAction::HasActionsMeetingCondition() const
{
for (ciActions it = m_actions.begin() ; it != m_actions.end() ; it++)
{
- if (it->condition.IsEmpty() || g_infoManager.EvaluateBool(it->action))
+ if (it->condition.IsEmpty() || g_infoManager.EvaluateBool(it->condition))
return true;
}
return false;
diff --git a/xbmc/guilib/GUIBaseContainer.cpp b/xbmc/guilib/GUIBaseContainer.cpp
index c5b390c157..5a5030c24b 100644
--- a/xbmc/guilib/GUIBaseContainer.cpp
+++ b/xbmc/guilib/GUIBaseContainer.cpp
@@ -830,6 +830,8 @@ void CGUIBaseContainer::UpdateVisibility(const CGUIListItem *item)
{ // update our item list with our new content, but only add those items that should
// be visible. Save the previous item and keep it if we are adding that one.
CGUIListItem *lastItem = m_lastItem;
+ int selected = GetSelectedItem();
+ CGUIListItem* selectedItem = (selected >= 0 && (unsigned int)selected < m_items.size()) ? m_items[selected].get() : NULL;
Reset();
bool updateItems = false;
if (!m_staticUpdateTime)
@@ -849,6 +851,9 @@ void CGUIBaseContainer::UpdateVisibility(const CGUIListItem *item)
m_items.push_back(item);
if (item.get() == lastItem)
m_lastItem = lastItem;
+ // if item is selected and it changed position, re-select it
+ if (item.get() == selectedItem && selected != (int)m_items.size() - 1)
+ SelectItem(m_items.size() - 1);
}
// update any properties
if (updateItems)
diff --git a/xbmc/guilib/GUIWindow.cpp b/xbmc/guilib/GUIWindow.cpp
index d50147ae0b..c287ba6274 100644
--- a/xbmc/guilib/GUIWindow.cpp
+++ b/xbmc/guilib/GUIWindow.cpp
@@ -354,9 +354,9 @@ void CGUIWindow::Close_Internal(bool forceClose /*= false*/, int nextWindowID /*
return;
}
+ m_closing = false;
CGUIMessage msg(GUI_MSG_WINDOW_DEINIT, 0, 0);
OnMessage(msg);
- m_closing = false;
}
void CGUIWindow::Close(bool forceClose /*= false*/, int nextWindowID /*= 0*/, bool enableSound /*= true*/)
diff --git a/xbmc/guilib/Key.cpp b/xbmc/guilib/Key.cpp
index a20eb37c13..53be47f2c0 100644
--- a/xbmc/guilib/Key.cpp
+++ b/xbmc/guilib/Key.cpp
@@ -79,7 +79,7 @@ void CKey::Reset()
m_rightThumbX = 0.0f;
m_rightThumbY = 0.0f;
m_repeat = 0.0f;
- m_fromHttpApi = false;
+ m_fromService = false;
m_buttonCode = KEY_INVALID;
m_vkey = 0;
m_unicode = 0;
@@ -98,7 +98,7 @@ const CKey& CKey::operator=(const CKey& key)
m_rightThumbX = key.m_rightThumbX;
m_rightThumbY = key.m_rightThumbY;
m_repeat = key.m_repeat;
- m_fromHttpApi = key.m_fromHttpApi;
+ m_fromService = key.m_fromService;
m_buttonCode = key.m_buttonCode;
m_vkey = key.m_vkey;
m_unicode = key.m_unicode;
@@ -164,19 +164,12 @@ float CKey::GetRepeat() const
return m_repeat;
}
-bool CKey::GetFromHttpApi() const
+void CKey::SetFromService(bool fromService)
{
- return m_fromHttpApi;
-}
-
-void CKey::SetFromHttpApi(bool bFromHttpApi)
-{
- if(bFromHttpApi && (m_buttonCode & KEY_ASCII) )
- {
- m_unicode = m_buttonCode - KEY_ASCII;
- }
+ if (fromService && (m_buttonCode & KEY_ASCII))
+ m_unicode = m_buttonCode - KEY_ASCII;
- m_fromHttpApi = bFromHttpApi;
+ m_fromService = fromService;
}
CAction::CAction(int actionID, float amount1 /* = 1.0f */, float amount2 /* = 0.0f */, const CStdString &name /* = "" */)
diff --git a/xbmc/guilib/Key.h b/xbmc/guilib/Key.h
index aa0e7ae51b..31980847e4 100644
--- a/xbmc/guilib/Key.h
+++ b/xbmc/guilib/Key.h
@@ -543,8 +543,8 @@ public:
bool FromKeyboard() const;
bool IsAnalogButton() const;
bool IsIRRemote() const;
- void SetFromHttpApi(bool);
- bool GetFromHttpApi() const;
+ void SetFromService(bool fromService);
+ bool GetFromService() const { return m_fromService; }
inline uint32_t GetButtonCode() const { return m_buttonCode; }
inline uint8_t GetVKey() const { return m_vkey; }
@@ -578,7 +578,7 @@ private:
float m_rightThumbX;
float m_rightThumbY;
float m_repeat; // time since last keypress
- bool m_fromHttpApi;
+ bool m_fromService;
};
#endif
diff --git a/xbmc/interfaces/Builtins.cpp b/xbmc/interfaces/Builtins.cpp
index 8533669c5c..958692cbdf 100644
--- a/xbmc/interfaces/Builtins.cpp
+++ b/xbmc/interfaces/Builtins.cpp
@@ -824,7 +824,11 @@ int CBuiltins::Execute(const CStdString& execString)
}
else if (execute.Equals("setvolume"))
{
- g_application.SetVolume(atoi(parameter.c_str()));
+ int oldVolume = g_application.GetVolume();
+ int volume = atoi(parameter.c_str());
+
+ g_application.SetVolume(volume);
+ g_application.getApplicationMessenger().ShowVolumeBar(oldVolume < volume);
}
else if (execute.Equals("playlist.playoffset"))
{
diff --git a/xbmc/interfaces/http-api/XBMChttp.cpp b/xbmc/interfaces/http-api/XBMChttp.cpp
index 49b214ae66..6ba71bdd0e 100644
--- a/xbmc/interfaces/http-api/XBMChttp.cpp
+++ b/xbmc/interfaces/http-api/XBMChttp.cpp
@@ -2085,7 +2085,7 @@ int CXbmcHttp::xbmcSetKey(int numParas, CStdString paras[])
}
}
CKey tempKey(buttonCode, leftTrigger, rightTrigger, fLeftThumbX, fLeftThumbY, fRightThumbX, fRightThumbY) ;
- tempKey.SetFromHttpApi(true);
+ tempKey.SetFromService(true);
key = tempKey;
lastKey = key;
return SetResponse(openTag+"OK");
diff --git a/xbmc/interfaces/json-rpc/FileItemHandler.cpp b/xbmc/interfaces/json-rpc/FileItemHandler.cpp
index 097ea31adb..7cc3e4878c 100644
--- a/xbmc/interfaces/json-rpc/FileItemHandler.cpp
+++ b/xbmc/interfaces/json-rpc/FileItemHandler.cpp
@@ -260,8 +260,8 @@ bool CFileItemHandler::FillFileItemList(const CVariant &parameterObject, CFileIt
if (item->IsPicture())
{
CPictureInfoTag picture;
- if (picture.Load(item->GetPath()))
- *item->GetPictureInfoTag() = picture;
+ picture.Load(item->GetPath());
+ *item->GetPictureInfoTag() = picture;
}
if (item->GetLabel().IsEmpty())
item->SetLabel(CUtil::GetTitleFromPath(file, false));
diff --git a/xbmc/interfaces/json-rpc/PlayerOperations.cpp b/xbmc/interfaces/json-rpc/PlayerOperations.cpp
index b05bea023e..0b7da61f43 100644
--- a/xbmc/interfaces/json-rpc/PlayerOperations.cpp
+++ b/xbmc/interfaces/json-rpc/PlayerOperations.cpp
@@ -485,7 +485,7 @@ JSON_STATUS CPlayerOperations::Open(const CStdString &method, ITransportLayer *t
bool slideshow = true;
for (int index = 0; index < list.Size(); index++)
{
- if (!list[index]->HasPictureInfoTag())
+ if (!list[index]->IsPicture())
{
slideshow = false;
break;
@@ -819,7 +819,7 @@ int CPlayerOperations::GetPlaylist(PlayerType player)
JSON_STATUS CPlayerOperations::StartSlideshow()
{
CGUIWindowSlideShow *slideshow = (CGUIWindowSlideShow*)g_windowManager.GetWindow(WINDOW_SLIDESHOW);
- if (!slideshow && slideshow->NumSlides() <= 0)
+ if (!slideshow || slideshow->NumSlides() <= 0)
return FailedToExecute;
if (g_application.IsPlayingVideo())
diff --git a/xbmc/interfaces/json-rpc/ServiceDescription.h b/xbmc/interfaces/json-rpc/ServiceDescription.h
index facaef1d5a..1d68689d14 100644
--- a/xbmc/interfaces/json-rpc/ServiceDescription.h
+++ b/xbmc/interfaces/json-rpc/ServiceDescription.h
@@ -23,8 +23,8 @@
namespace JSONRPC
{
const char* const JSONRPC_SERVICE_ID = "http://www.xbmc.org/jsonrpc/ServiceDescription.json";
- const int JSONRPC_SERVICE_VERSION = 3;
- const char* const JSONRPC_SERVICE_DESCRIPTION = "JSON RPC API of XBMC";
+ const int JSONRPC_SERVICE_VERSION = 4;
+ const char* const JSONRPC_SERVICE_DESCRIPTION = "JSON-RPC API of XBMC";
const char* const JSONRPC_SERVICE_TYPES[] = {
"\"Optional.Boolean\": {"
@@ -645,7 +645,7 @@ namespace JSONRPC
"\"type\": \"object\","
"\"properties\": {"
"\"start\": { \"type\": \"integer\", \"minimum\": 0, \"default\": 0 },"
- "\"end\": { \"type\": \"integer\", \"minimum\": 0, \"default\": -1 }"
+ "\"end\": { \"type\": \"integer\", \"minimum\": 0, \"default\": -1, \"description\": \"The number of items in the list being returned\" }"
"},"
"\"additionalProperties\": false"
"}",
diff --git a/xbmc/interfaces/json-rpc/types.json b/xbmc/interfaces/json-rpc/types.json
index 24fd9f836c..976fc17c55 100644
--- a/xbmc/interfaces/json-rpc/types.json
+++ b/xbmc/interfaces/json-rpc/types.json
@@ -617,7 +617,7 @@
"type": "object",
"properties": {
"start": { "type": "integer", "minimum": 0, "default": 0 },
- "end": { "type": "integer", "minimum": 0, "default": -1 }
+ "end": { "type": "integer", "minimum": 0, "default": -1, "description": "The number of items in the list being returned" }
},
"additionalProperties": false
},
diff --git a/xbmc/interfaces/python/XBPyThread.cpp b/xbmc/interfaces/python/XBPyThread.cpp
index c9f0a12e4c..d3c616f9f5 100644
--- a/xbmc/interfaces/python/XBPyThread.cpp
+++ b/xbmc/interfaces/python/XBPyThread.cpp
@@ -375,6 +375,13 @@ void XBPyThread::Process()
PyThreadState_Swap(NULL);
PyEval_ReleaseLock();
+ //set stopped event - this allows ::stop to run and kill remaining threads
+ //this event has to be fired without holding m_pExecuter->m_critSection
+ //before
+ //Also the GIL (PyEval_AcquireLock) must not be held
+ //if not obeyed there is still no deadlock because ::stop waits with timeout (smart one!)
+ stoppedEvent.Set();
+
{ CSingleLock lock(m_pExecuter->m_critSection);
m_threadState = NULL;
}
@@ -428,6 +435,17 @@ void XBPyThread::stop()
if(!m || PyObject_SetAttrString(m, (char*)"abortRequested", PyBool_FromLong(1)))
CLog::Log(LOGERROR, "XBPyThread::stop - failed to set abortRequested");
+ PyThreadState_Swap(old);
+ PyEval_ReleaseLock();
+
+ if(!stoppedEvent.WaitMSec(5000))//let the script 5 secs for shut stuff down
+ {
+ CLog::Log(LOGERROR, "XBPyThread::stop - script didn't stop in proper time - lets kill it");
+ }
+
+ //everything which didn't exit by now gets killed
+ PyEval_AcquireLock();
+ old = PyThreadState_Swap((PyThreadState*)m_threadState);
for(PyThreadState* state = ((PyThreadState*)m_threadState)->interp->tstate_head; state; state = state->next)
{
Py_XDECREF(state->async_exc);
diff --git a/xbmc/interfaces/python/XBPyThread.h b/xbmc/interfaces/python/XBPyThread.h
index 2b83b52e46..55a6fbd216 100644
--- a/xbmc/interfaces/python/XBPyThread.h
+++ b/xbmc/interfaces/python/XBPyThread.h
@@ -23,6 +23,7 @@
#define XBPYTHREAD_H_
#include "threads/Thread.h"
+#include "threads/Event.h"
#include "addons/IAddon.h"
class XBPython;
@@ -42,6 +43,7 @@ public:
protected:
XBPython *m_pExecuter;
+ CEvent stoppedEvent;
void *m_threadState;
char m_type;
diff --git a/xbmc/music/karaoke/GUIWindowKaraokeLyrics.cpp b/xbmc/music/karaoke/GUIWindowKaraokeLyrics.cpp
index 99db6b498d..dbc604d3c9 100644
--- a/xbmc/music/karaoke/GUIWindowKaraokeLyrics.cpp
+++ b/xbmc/music/karaoke/GUIWindowKaraokeLyrics.cpp
@@ -132,8 +132,7 @@ void CGUIWindowKaraokeLyrics::newSong(CKaraokeLyrics * lyrics)
CSingleLock lock (m_CritSection);
m_Lyrics = lyrics;
- if ( m_Lyrics )
- m_Lyrics->InitGraphics();
+ m_Lyrics->InitGraphics();
// Set up current background mode
if ( m_Lyrics->HasVideo() )
diff --git a/xbmc/music/karaoke/karaokelyricscdg.cpp b/xbmc/music/karaoke/karaokelyricscdg.cpp
index 4b499bc301..0bf10923e0 100644
--- a/xbmc/music/karaoke/karaokelyricscdg.cpp
+++ b/xbmc/music/karaoke/karaokelyricscdg.cpp
@@ -76,7 +76,7 @@ BYTE CKaraokeLyricsCDG::getPixel( int x, int y )
if ( x >= (int) CDG_FULL_WIDTH || y >= (int) CDG_FULL_HEIGHT )
return m_borderColor;
- if ( x < 0 || y < 0 || offset > CDG_FULL_HEIGHT * CDG_FULL_WIDTH )
+ if ( x < 0 || y < 0 || offset >= CDG_FULL_HEIGHT * CDG_FULL_WIDTH )
{
CLog::Log( LOGERROR, "CDG renderer: requested pixel (%d,%d) is out of boundary", x, y );
return 0;
diff --git a/xbmc/music/tags/FlacTag.cpp b/xbmc/music/tags/FlacTag.cpp
index dc9bf591cb..51201094d4 100644
--- a/xbmc/music/tags/FlacTag.cpp
+++ b/xbmc/music/tags/FlacTag.cpp
@@ -182,7 +182,8 @@ int CFlacTag::ReadFlacHeader(void)
m_file->Read(buffer, 8); // read 64 bits of data
int iFreq = (buffer[0] << 12) | (buffer[1] << 4) | (buffer[2] >> 4);
int64_t iNumSamples = ( (int64_t) (buffer[3] & 0x0F) << 32) | ( (int64_t) buffer[4] << 24) | (buffer[5] << 16) | (buffer[6] << 8) | buffer[7];
- m_musicInfoTag.SetDuration((int)((iNumSamples) / iFreq));
+ if (iFreq != 0)
+ m_musicInfoTag.SetDuration((int)((iNumSamples) / iFreq));
return iPos + 38;
}
diff --git a/xbmc/music/windows/GUIWindowMusicNav.cpp b/xbmc/music/windows/GUIWindowMusicNav.cpp
index b8f1a05375..9a8ccef752 100644
--- a/xbmc/music/windows/GUIWindowMusicNav.cpp
+++ b/xbmc/music/windows/GUIWindowMusicNav.cpp
@@ -559,6 +559,9 @@ bool CGUIWindowMusicNav::OnContextButton(int itemNumber, CONTEXT_BUTTON button)
if (idArtist == -1)
return false;
CStdString path; path.Format("musicdb://2/%ld/", idArtist);
+ CArtist artist;
+ m_musicdatabase.GetArtistInfo(idArtist,artist,false);
+ *item = CFileItem(artist);
item->SetPath(path);
CGUIWindowMusicBase::OnContextButton(itemNumber,button);
Update(m_vecItems->GetPath());
@@ -573,6 +576,9 @@ bool CGUIWindowMusicNav::OnContextButton(int itemNumber, CONTEXT_BUTTON button)
if (idAlbum == -1)
return false;
CStdString path; path.Format("musicdb://3/%ld/", idAlbum);
+ CAlbum album;
+ m_musicdatabase.GetAlbumInfo(idAlbum,album,NULL);
+ *item = CFileItem(path,album);
item->SetPath(path);
CGUIWindowMusicBase::OnContextButton(itemNumber,button);
Update(m_vecItems->GetPath());
diff --git a/xbmc/music/windows/GUIWindowMusicPlaylistEditor.cpp b/xbmc/music/windows/GUIWindowMusicPlaylistEditor.cpp
index 3db7d598ac..71cfbf4efc 100644
--- a/xbmc/music/windows/GUIWindowMusicPlaylistEditor.cpp
+++ b/xbmc/music/windows/GUIWindowMusicPlaylistEditor.cpp
@@ -170,6 +170,9 @@ void CGUIWindowMusicPlaylistEditor::OnPrepareFileItems(CFileItemList &items)
{
RetrieveMusicInfo();
+ // set fanart
+ SetupFanart(items);
+
items.SetCachedMusicThumbs();
}
diff --git a/xbmc/network/AirPlayServer.cpp b/xbmc/network/AirPlayServer.cpp
index bfbf1f1041..49f2315459 100644
--- a/xbmc/network/AirPlayServer.cpp
+++ b/xbmc/network/AirPlayServer.cpp
@@ -679,6 +679,31 @@ int CAirPlayServer::CTCPClient::ProcessRequest( CStdString& responseHeader,
}
}
}
+
+ // The volume command is used to change playback volume.
+ // A value argument should be supplied which indicates how loud we should get.
+ // 0.000000 => silent
+ // 1.000000 => loud
+ else if (uri == "/volume")
+ {
+ const char* found = strstr(queryString.c_str(), "volume=");
+ double volume = found ? (double)(atof(found + strlen("volume="))) : 0;
+
+ CLog::Log(LOGDEBUG, "AIRPLAY: got request %s with volume %f", uri.c_str(), volume);
+
+ if (needAuth && !checkAuthorization(authorization, method, uri))
+ {
+ status = AIRPLAY_STATUS_NEED_AUTH;
+ }
+ else if (volume >= 0 && volume <= 1)
+ {
+ int oldVolume = g_application.GetVolume();
+ volume *= 100;
+ g_application.SetVolume(volume);
+ g_application.getApplicationMessenger().ShowVolumeBar(oldVolume < volume);
+ }
+ }
+
// Contains a header like format in the request body which should contain a
// Content-Location and optionally a Start-Position
diff --git a/xbmc/network/AirTunesServer.cpp b/xbmc/network/AirTunesServer.cpp
index 8779c7c85c..f092bb41f2 100644
--- a/xbmc/network/AirTunesServer.cpp
+++ b/xbmc/network/AirTunesServer.cpp
@@ -115,9 +115,6 @@ ao_device* CAirTunesServer::AudioOutputFunctions::ao_open_live(int driver_id, ao
CFileItem item;
item.SetPath(device->pipe->GetName());
item.SetMimeType("audio/x-xbmc-pcm");
- item.SetProperty("isradio", true);
- item.SetProperty("no-skip", true);
- item.SetProperty("no-pause", true);
if (ao_get_option(option, "artist"))
item.GetMusicInfoTag()->SetArtist(ao_get_option(option, "artist"));
diff --git a/xbmc/network/EventPacket.cpp b/xbmc/network/EventPacket.cpp
index 2546b488d8..81ad974c78 100644
--- a/xbmc/network/EventPacket.cpp
+++ b/xbmc/network/EventPacket.cpp
@@ -98,8 +98,8 @@ bool CEventPacket::Parse(int datasize, const void *data)
}
memcpy(m_pPayload, buf, (size_t)m_iPayloadSize);
}
-
- return (m_bValid = true);
+ m_bValid = true;
+ return true;
}
#endif // HAS_EVENT_SERVER
diff --git a/xbmc/network/UPnP.cpp b/xbmc/network/UPnP.cpp
index 8eee7d72d2..7d18ced2bc 100644
--- a/xbmc/network/UPnP.cpp
+++ b/xbmc/network/UPnP.cpp
@@ -929,14 +929,15 @@ CUPnPServer::Build(CFileItemPtr item,
}
}
- // remap Root virtualpath://upnproot/ to id "0"
- if (object->m_ObjectID == "virtualpath://upnproot/")
- object->m_ObjectID = "0";
-
- // remap Parent Root virtualpath://upnproot/ to id "0"
- if (object->m_ParentID == "virtualpath://upnproot/")
- object->m_ParentID = "0";
+ if (object) {
+ // remap Root virtualpath://upnproot/ to id "0"
+ if (object->m_ObjectID == "virtualpath://upnproot/")
+ object->m_ObjectID = "0";
+ // remap Parent Root virtualpath://upnproot/ to id "0"
+ if (object->m_ParentID == "virtualpath://upnproot/")
+ object->m_ParentID = "0";
+ }
return object;
failure:
diff --git a/xbmc/network/cddb.cpp b/xbmc/network/cddb.cpp
index 238111dffd..b517e259a3 100644
--- a/xbmc/network/cddb.cpp
+++ b/xbmc/network/cddb.cpp
@@ -417,12 +417,14 @@ void Xcddb::addTitle(const char *buffer)
{
strncpy(artist, value, index);
artist[index] = '\0';
- strcpy(title, value + index + 3);
+ strncpy(title, value + index + 3, sizeof(title));
+ title[0] = '\0';
}
else
{
artist[0] = '\0';
- strcpy(title, value);
+ strncpy(title, value, sizeof(title));
+ title[0] = '\0';
}
CStdString strArtist=artist;
diff --git a/xbmc/osx/CocoaInterface.mm b/xbmc/osx/CocoaInterface.mm
index a3ef2d3361..2b29cdf755 100644
--- a/xbmc/osx/CocoaInterface.mm
+++ b/xbmc/osx/CocoaInterface.mm
@@ -40,6 +40,8 @@
#import "AutoPool.h"
+#import "CoreAudio.h"
+
// hack for Cocoa_GL_ResizeWindow
//extern "C" void SDL_SetWidthHeight(int w, int h);
@@ -670,170 +672,50 @@ OSStatus SendAppleEventToSystemProcess(AEEventID EventToSend)
return(error);
}
-// All this just to reset all audio devices to default :)
-static AudioStreamBasicDescription* FormatsAudioList(AudioStreamID s)
-{
- OSStatus ret;
- UInt32 listSize;
- AudioDevicePropertyID p;
- AudioStreamBasicDescription *list;
-
- // This is deprecated for kAudioStreamPropertyAvailablePhysicalFormats,
- // but compiling on 10.3 requires the older constant
- p = kAudioStreamPropertyPhysicalFormats;
-
- // Retrieve all the stream formats supported by this output stream
- ret = AudioStreamGetPropertyInfo(s, 0, p, &listSize, NULL);
- if (ret != noErr)
- {
- CLog::Log(LOGERROR, "CCoreAudioHardware::FormatsList: "
- "could not get list size: Error = 0x%08x",
- (unsigned int)ret);
- return NULL;
- }
-
- // Space for a terminating ID:
- listSize += sizeof(AudioStreamBasicDescription);
- list = (AudioStreamBasicDescription *)malloc(listSize);
-
- if (list == NULL)
- {
- CLog::Log(LOGERROR, "CCoreAudioHardware::FormatsList(): out of memory?");
- return NULL;
- }
-
- ret = AudioStreamGetProperty(s, 0, p, &listSize, list);
- if (ret != noErr)
- {
- CLog::Log(LOGERROR, "CCoreAudioHardware::FormatsList: "
- "could not get list: Error = 0x%08x",
- (unsigned int)ret);
- free(list);
- return NULL;
- }
-
- // Add a terminating ID:
- list[listSize/sizeof(AudioStreamID)].mFormatID = 0;
-
- return list;
-}
-
-static void ResetAudioStream(AudioStreamID s)
+void Cocoa_ResetAudioDevices()
{
- OSStatus ret;
- UInt32 paramSize;
- AudioStreamBasicDescription currentFormat;
-
- // Find the streams current physical format
- paramSize = sizeof(currentFormat);
- AudioStreamGetProperty(s, 0,
- kAudioStreamPropertyPhysicalFormat, &paramSize, &currentFormat);
-
- // If it's currently AC-3/SPDIF then reset it to some mixable format
- if (currentFormat.mFormatID == 'IAC3' ||
- currentFormat.mFormatID == kAudioFormat60958AC3)
+ // Reset any devices with an AC3/DTS/SPDIF stream back to a Linear PCM
+ // so that they can become a default output device
+ CoreAudioDeviceList deviceList;
+ CCoreAudioHardware::GetOutputDevices(&deviceList);
+ for (CoreAudioDeviceList::iterator d = deviceList.begin(); d != deviceList.end(); d++)
{
- bool streamReset = false;
- AudioStreamBasicDescription *formats = FormatsAudioList(s);
-
- if (!formats)
- return;
-
- for (int i = 0; !streamReset && formats[i].mFormatID != 0; i++)
+ CCoreAudioDevice device(*d);
+ AudioStreamIdList streamList;
+ if (device.GetStreams(&streamList))
{
- if (formats[i].mFormatID == kAudioFormatLinearPCM)
+ for (AudioStreamIdList::iterator s = streamList.begin(); s != streamList.end(); s++)
{
- ret = AudioStreamSetProperty(s, NULL, 0,
- kAudioStreamPropertyPhysicalFormat, sizeof(formats[i]), &(formats[i]));
- if (ret != noErr)
- {
- CLog::Log(LOGWARNING, "ResetAudioStream: "
- "could not set physical format: Error = 0x%08x",
- (unsigned int)ret);
- continue;
- }
- else
+ CCoreAudioStream stream;
+ if (stream.Open(*s))
{
- streamReset = true;
- sleep(1); // For the change to take effect
+ AudioStreamBasicDescription currentFormat;
+ if (stream.GetPhysicalFormat(&currentFormat))
+ {
+ if (currentFormat.mFormatID == 'IAC3' || currentFormat.mFormatID == kAudioFormat60958AC3)
+ {
+ StreamFormatList formatList;
+ if (stream.GetAvailablePhysicalFormats(&formatList))
+ {
+ for (StreamFormatList::iterator f = formatList.begin(); f != formatList.end(); f++)
+ {
+ if ((*f).mFormat.mFormatID == kAudioFormatLinearPCM)
+ {
+ if (stream.SetPhysicalFormat(&(*f).mFormat))
+ {
+ sleep(1);
+ break;
+ }
+ }
+ }
+ }
+ }
+ }
+ stream.Close();
}
}
}
- free(formats);
- }
-}
-
-static AudioStreamID* AudioStreamsList(AudioDeviceID d)
-{
- OSStatus ret;
- UInt32 listSize;
- AudioStreamID *list;
-
- ret = AudioDeviceGetPropertyInfo(d, 0, FALSE,
- kAudioDevicePropertyStreams, &listSize, NULL);
- if (ret != noErr)
- {
- CLog::Log(LOGERROR, "CCoreAudioHardware::StreamsList: "
- "could not get list size: Error = 0x%08x",
- (unsigned int)ret);
- return NULL;
- }
-
- // Space for a terminating ID:
- listSize += sizeof(AudioStreamID);
- list = (AudioStreamID *)malloc(listSize);
-
- if (list == NULL)
- {
- CLog::Log(LOGERROR, "CCoreAudioHardware::StreamsList(): out of memory?");
- return NULL;
- }
-
- ret = AudioDeviceGetProperty(d, 0, FALSE,
- kAudioDevicePropertyStreams, &listSize, list);
- if (ret != noErr)
- {
- CLog::Log(LOGERROR, "CCoreAudioHardware::StreamsList: "
- "could not get list: Error = 0x%08x",
- (unsigned int)ret);
- return NULL;
- }
- // Add a terminating ID:
- list[listSize/sizeof(AudioStreamID)] = kAudioHardwareBadStreamError;
-
- return list;
-}
-
-void Cocoa_ResetAudioDevices()
-{
- // Reset any devices with an AC3/DTS/SPDIF stream back to a Linear PCM
- // so that they can become a default output device
- UInt32 size;
- int numDevices;
- AudioDeviceID *devices;
-
- AudioHardwareGetPropertyInfo(kAudioHardwarePropertyDevices, &size, NULL);
- devices = (AudioDeviceID*)malloc(size);
- if (!devices)
- {
- CLog::Log(LOGERROR, "ResetAudioDevices: out of memory?");
- return;
- }
- numDevices = size / sizeof(AudioDeviceID);
- AudioHardwareGetProperty(kAudioHardwarePropertyDevices, &size, devices);
-
- for (int i = 0; i < numDevices; i++)
- {
- AudioStreamID *streams;
- streams = AudioStreamsList(devices[i]);
- if (!streams)
- continue;
- for (int j = 0; streams[j] != kAudioHardwareBadStreamError; j++)
- ResetAudioStream(streams[j]);
-
- free(streams);
- }
- free(devices);
+ }
}
#endif
diff --git a/xbmc/osx/CoreAudio.cpp b/xbmc/osx/CoreAudio.cpp
index ca682a0583..81ce999cb8 100644
--- a/xbmc/osx/CoreAudio.cpp
+++ b/xbmc/osx/CoreAudio.cpp
@@ -149,7 +149,25 @@ bool CCoreAudioChannelLayout::CopyLayout(AudioChannelLayout& layout)
return (ret == noErr);
}
-
+
+bool CCoreAudioChannelLayout::SetLayout(AudioChannelLayoutTag layoutTag)
+{
+ UInt32 propSize = 0;
+ AudioFormatGetPropertyInfo(kAudioFormatProperty_ChannelLayoutForTag, sizeof(layoutTag), &layoutTag, &propSize);
+ m_pLayout = (AudioChannelLayout*)malloc(propSize);
+ OSStatus ret = AudioFormatGetProperty(kAudioFormatProperty_ChannelLayoutForTag, sizeof(layoutTag), &layoutTag, &propSize, m_pLayout);
+ m_pLayout->mChannelLayoutTag = kAudioChannelLayoutTag_UseChannelDescriptions;
+ return (ret == noErr);
+}
+
+AudioChannelLabel CCoreAudioChannelLayout::GetChannelLabel(UInt32 index)
+{
+ if (!m_pLayout || (index >= m_pLayout->mNumberChannelDescriptions))
+ return kAudioChannelLabel_Unknown;
+
+ return m_pLayout->mChannelDescriptions[index].mChannelLabel;
+}
+
UInt32 CCoreAudioChannelLayout::GetChannelCountForLayout(AudioChannelLayout& layout)
{
UInt32 channels = 0;
@@ -171,6 +189,13 @@ UInt32 CCoreAudioChannelLayout::GetChannelCountForLayout(AudioChannelLayout& lay
return channels;
}
+UInt32 CCoreAudioChannelLayout::GetChannelCount()
+{
+ if (m_pLayout)
+ return GetChannelCountForLayout(*m_pLayout);
+ return 0;
+}
+
const char* CCoreAudioChannelLayout::ChannelLabelToString(UInt32 label)
{
if (label > MAX_CHANNEL_LABEL)
@@ -501,6 +526,13 @@ const char* CCoreAudioDevice::GetName(CStdString& name)
return name.c_str();
}
+const char* CCoreAudioDevice::GetName()
+{
+ // Use internal storage
+ return GetName(m_Name);
+}
+
+
UInt32 CCoreAudioDevice::GetTotalOutputChannels()
{
if (!m_DeviceId)
diff --git a/xbmc/osx/CoreAudio.h b/xbmc/osx/CoreAudio.h
index d8ff928957..73764a06d9 100644
--- a/xbmc/osx/CoreAudio.h
+++ b/xbmc/osx/CoreAudio.h
@@ -76,6 +76,9 @@ public:
virtual ~CCoreAudioChannelLayout();
operator AudioChannelLayout*() {return m_pLayout;}
bool CopyLayout(AudioChannelLayout& layout);
+ bool SetLayout(AudioChannelLayoutTag layoutTag);
+ UInt32 GetChannelCount();
+ AudioChannelLabel GetChannelLabel(UInt32 index);
static UInt32 GetChannelCountForLayout(AudioChannelLayout& layout);
static const char* ChannelLabelToString(UInt32 label);
static const char* ChannelLayoutToString(AudioChannelLayout& layout, CStdString& str);
@@ -100,6 +103,7 @@ public:
AudioDeviceID GetId() {return m_DeviceId;}
const char* GetName(CStdString& name);
+ const char* GetName();
UInt32 GetTotalOutputChannels();
bool GetStreams(AudioStreamIdList* pList);
bool IsRunning();
@@ -122,6 +126,7 @@ protected:
AudioDeviceIOProc m_IoProc;
Float64 m_SampleRateRestore;
UInt32 m_BufferSizeRestore;
+ CStdString m_Name;
};
typedef std::list<AudioStreamRangedDescription> StreamFormatList;
diff --git a/xbmc/peripherals/devices/Peripheral.cpp b/xbmc/peripherals/devices/Peripheral.cpp
index cc046dc606..d07acaf13e 100644
--- a/xbmc/peripherals/devices/Peripheral.cpp
+++ b/xbmc/peripherals/devices/Peripheral.cpp
@@ -64,7 +64,7 @@ CPeripheral::CPeripheral(void) :
CPeripheral::~CPeripheral(void)
{
- PersistSettings();
+ PersistSettings(true);
for (unsigned int iSubdevicePtr = 0; iSubdevicePtr < m_subDevices.size(); iSubdevicePtr++)
delete m_subDevices.at(iSubdevicePtr);
@@ -323,7 +323,7 @@ void CPeripheral::SetSetting(const CStdString &strKey, bool bValue)
bool bChanged(boolSetting->GetData() != bValue);
boolSetting->SetData(bValue);
if (bChanged && m_bInitialised)
- OnSettingChanged(strKey);
+ m_changedSettings.push_back(strKey);
}
}
}
@@ -339,7 +339,7 @@ void CPeripheral::SetSetting(const CStdString &strKey, int iValue)
bool bChanged(intSetting->GetData() != iValue);
intSetting->SetData(iValue);
if (bChanged && m_bInitialised)
- OnSettingChanged(strKey);
+ m_changedSettings.push_back(strKey);
}
}
}
@@ -355,7 +355,7 @@ void CPeripheral::SetSetting(const CStdString &strKey, float fValue)
bool bChanged(floatSetting->GetData() != fValue);
floatSetting->SetData(fValue);
if (bChanged && m_bInitialised)
- OnSettingChanged(strKey);
+ m_changedSettings.push_back(strKey);
}
}
}
@@ -373,7 +373,7 @@ void CPeripheral::SetSetting(const CStdString &strKey, const CStdString &strValu
bool bChanged(!stringSetting->GetData().Equals(strValue));
stringSetting->SetData(strValue);
if (bChanged && m_bInitialised)
- OnSettingChanged(strKey);
+ m_changedSettings.push_back(strKey);
}
}
else if ((*it).second->GetType() == SETTINGS_TYPE_INT)
@@ -385,7 +385,7 @@ void CPeripheral::SetSetting(const CStdString &strKey, const CStdString &strValu
}
}
-void CPeripheral::PersistSettings(void) const
+void CPeripheral::PersistSettings(bool bExiting /* = false */)
{
TiXmlDocument doc;
TiXmlElement node("settings");
@@ -433,6 +433,13 @@ void CPeripheral::PersistSettings(void) const
}
doc.SaveFile(m_strSettingsFile);
+
+ if (!bExiting)
+ {
+ for (vector<CStdString>::iterator it = m_changedSettings.begin(); it != m_changedSettings.end(); it++)
+ OnSettingChanged(*it);
+ }
+ m_changedSettings.clear();
}
void CPeripheral::LoadPersistedSettings(void)
@@ -456,26 +463,24 @@ void CPeripheral::ResetDefaultSettings(void)
{
ClearSettings();
g_peripherals.GetSettingsFromMapping(*this);
- OnSettingsChanged();
-}
-void CPeripheral::ClearSettings(void)
-{
map<CStdString, CSetting *>::iterator it = m_settings.begin();
while (it != m_settings.end())
{
- delete (*it).second;
+ m_changedSettings.push_back((*it).first);
++it;
}
- m_settings.clear();
+
+ PersistSettings();
}
-void CPeripheral::OnSettingsChanged(void)
+void CPeripheral::ClearSettings(void)
{
map<CStdString, CSetting *>::iterator it = m_settings.begin();
while (it != m_settings.end())
{
- OnSettingChanged((*it).first);
+ delete (*it).second;
++it;
}
+ m_settings.clear();
}
diff --git a/xbmc/peripherals/devices/Peripheral.h b/xbmc/peripherals/devices/Peripheral.h
index e7860e47af..7851554049 100644
--- a/xbmc/peripherals/devices/Peripheral.h
+++ b/xbmc/peripherals/devices/Peripheral.h
@@ -87,11 +87,6 @@ namespace PERIPHERALS
virtual void OnSettingChanged(const CStdString &strChangedSetting) {};
/*!
- * @brief Called when one or more settings changed. Calls OnSettingChanged for every setting.
- */
- virtual void OnSettingsChanged(void);
-
- /*!
* @brief Get all subdevices if this device is multifunctional.
* @param subDevices The subdevices.
*/
@@ -143,7 +138,7 @@ namespace PERIPHERALS
virtual float GetSettingFloat(const CStdString &strKey) const;
virtual void SetSetting(const CStdString &strKey, float fValue);
- virtual void PersistSettings(void) const;
+ virtual void PersistSettings(bool bExiting = false);
virtual void LoadPersistedSettings(void);
virtual void ResetDefaultSettings(void);
@@ -168,5 +163,6 @@ namespace PERIPHERALS
std::vector<PeripheralFeature> m_features;
std::vector<CPeripheral *> m_subDevices;
std::map<CStdString, CSetting *> m_settings;
+ std::vector<CStdString> m_changedSettings;
};
}
diff --git a/xbmc/peripherals/dialogs/GUIDialogPeripheralSettings.cpp b/xbmc/peripherals/dialogs/GUIDialogPeripheralSettings.cpp
index f272d00081..c79f9617cb 100644
--- a/xbmc/peripherals/dialogs/GUIDialogPeripheralSettings.cpp
+++ b/xbmc/peripherals/dialogs/GUIDialogPeripheralSettings.cpp
@@ -176,6 +176,8 @@ void CGUIDialogPeripheralSettings::UpdatePeripheralSettings(void)
peripheral->SetSetting((*stringItr).first, (*stringItr).second);
++stringItr;
}
+
+ peripheral->PersistSettings();
}
bool CGUIDialogPeripheralSettings::OnMessage(CGUIMessage &message)
diff --git a/xbmc/playlists/PlayListM3U.cpp b/xbmc/playlists/PlayListM3U.cpp
index fdf6dae9b4..4aba8d9a5c 100644
--- a/xbmc/playlists/PlayListM3U.cpp
+++ b/xbmc/playlists/PlayListM3U.cpp
@@ -83,7 +83,8 @@ bool CPlayListM3U::Load(const CStdString& strFileName)
while (file.ReadString(szLine, 1024))
{
strLine = szLine;
- StringUtils::RemoveCRLF(strLine);
+ strLine.TrimRight(" \t\r\n");
+ strLine.TrimLeft(" \t");
if (strLine.Left( (int)strlen(M3U_INFO_MARKER) ) == M3U_INFO_MARKER)
{
@@ -105,6 +106,9 @@ bool CPlayListM3U::Load(const CStdString& strFileName)
{
CStdString strFileName = strLine;
+ if (strFileName.size() > 0 && strFileName[0] == '#')
+ continue; // assume a comment or something else we don't support
+
// Skip self - do not load playlist recursively
if (URIUtils::GetFileName(strFileName).Equals(m_strPlayListName))
continue;
diff --git a/xbmc/playlists/SmartPlayList.cpp b/xbmc/playlists/SmartPlayList.cpp
index 37a6755112..f5d1ffa3a2 100644
--- a/xbmc/playlists/SmartPlayList.cpp
+++ b/xbmc/playlists/SmartPlayList.cpp
@@ -663,7 +663,7 @@ CStdString CSmartPlaylistRule::GetDatabaseField(DATABASE_FIELD field, const CStd
else if (field == FIELD_PLOTOUTLINE) result.Format("c%02d", VIDEODB_ID_PLOTOUTLINE);
else if (field == FIELD_TAGLINE) result.Format("c%02d", VIDEODB_ID_TAGLINE);
else if (field == FIELD_VOTES) result.Format("c%02d", VIDEODB_ID_VOTES);
- else if (field == FIELD_RATING) result.Format("c%02d", VIDEODB_ID_RATING);
+ else if (field == FIELD_RATING) result.Format("CAST(c%02d as DECIMAL(5,3))", VIDEODB_ID_RATING);
else if (field == FIELD_TIME) result.Format("c%02d", VIDEODB_ID_RUNTIME);
else if (field == FIELD_WRITER) result.Format("c%02d", VIDEODB_ID_CREDITS); // join required
else if (field == FIELD_PLAYCOUNT) result = "playCount";
diff --git a/xbmc/rendering/gl/RenderSystemGL.cpp b/xbmc/rendering/gl/RenderSystemGL.cpp
index 177bd606d3..be7dfea347 100644
--- a/xbmc/rendering/gl/RenderSystemGL.cpp
+++ b/xbmc/rendering/gl/RenderSystemGL.cpp
@@ -385,6 +385,8 @@ void CRenderSystemGL::CaptureStateBlock()
{
if (!m_bRenderCreated)
return;
+
+ glGetIntegerv(GL_VIEWPORT, m_viewPort);
glMatrixMode(GL_PROJECTION);
glPushMatrix();
@@ -405,6 +407,7 @@ void CRenderSystemGL::ApplyStateBlock()
if (!m_bRenderCreated)
return;
+ glViewport(m_viewPort[0], m_viewPort[1], m_viewPort[2], m_viewPort[3]);
glMatrixMode(GL_PROJECTION);
glPopMatrix();
glMatrixMode(GL_TEXTURE);
diff --git a/xbmc/settings/AdvancedSettings.cpp b/xbmc/settings/AdvancedSettings.cpp
index 63b6a34eef..d14b1396e9 100644
--- a/xbmc/settings/AdvancedSettings.cpp
+++ b/xbmc/settings/AdvancedSettings.cpp
@@ -99,6 +99,7 @@ void CAdvancedSettings::Initialize()
m_DXVACheckCompatibility = false;
m_DXVACheckCompatibilityPresent = false;
m_DXVAForceProcessorRenderer = true;
+ m_videoFpsDetect = 1;
m_musicUseTimeSeeking = true;
m_musicTimeSeekForward = 10;
@@ -537,6 +538,46 @@ void CAdvancedSettings::ParseSettingsFile(const CStdString &file)
m_DXVACheckCompatibilityPresent = XMLUtils::GetBoolean(pElement,"checkdxvacompatibility", m_DXVACheckCompatibility);
XMLUtils::GetBoolean(pElement,"forcedxvarenderer", m_DXVAForceProcessorRenderer);
+ //0 = disable fps detect, 1 = only detect on timestamps with uniform spacing, 2 detect on all timestamps
+ XMLUtils::GetInt(pElement, "fpsdetect", m_videoFpsDetect, 0, 2);
+
+ // Store global display latency settings
+ m_videoDefaultLatency = 0;
+ TiXmlElement* pVideoLatency = pElement->FirstChildElement("latency");
+ if (pVideoLatency)
+ {
+ float refresh, refreshmin, refreshmax, delay;
+ TiXmlElement* pRefreshVideoLatency = pVideoLatency->FirstChildElement("refresh");
+
+ while (pRefreshVideoLatency)
+ {
+ RefreshVideoLatency videolatency = {0};
+
+ if (XMLUtils::GetFloat(pRefreshVideoLatency, "rate", refresh))
+ {
+ videolatency.refreshmin = refresh - 0.01f;
+ videolatency.refreshmax = refresh + 0.01f;
+ }
+ else if (XMLUtils::GetFloat(pRefreshVideoLatency, "min", refreshmin) &&
+ XMLUtils::GetFloat(pRefreshVideoLatency, "max", refreshmax))
+ {
+ videolatency.refreshmin = refreshmin;
+ videolatency.refreshmax = refreshmax;
+ }
+ if (XMLUtils::GetFloat(pRefreshVideoLatency, "delay", delay, -600.0f, 600.0f))
+ videolatency.delay = delay;
+
+ if (videolatency.refreshmin > 0.0f && videolatency.refreshmax >= videolatency.refreshmin)
+ m_videoRefreshLatency.push_back(videolatency);
+ else
+ CLog::Log(LOGWARNING, "Ignoring malformed display latency <refresh> entry, min:%f max:%f", videolatency.refreshmin, videolatency.refreshmax);
+
+ pRefreshVideoLatency = pRefreshVideoLatency->NextSiblingElement("refresh");
+ }
+
+ // Get default global display latency
+ XMLUtils::GetFloat(pVideoLatency, "delay", m_videoDefaultLatency, -600.0f, 600.0f);
+ }
}
pElement = pRootElement->FirstChildElement("musiclibrary");
@@ -1046,3 +1087,16 @@ void CAdvancedSettings::AddSettingsFile(const CStdString &filename)
{
m_settingsFiles.push_back(filename);
}
+
+float CAdvancedSettings::GetDisplayLatency(float refreshrate)
+{
+ float delay = m_videoDefaultLatency / 1000.0f;
+ for (int i = 0; i < (int) m_videoRefreshLatency.size(); i++)
+ {
+ RefreshVideoLatency& videolatency = m_videoRefreshLatency[i];
+ if (refreshrate >= videolatency.refreshmin && refreshrate <= videolatency.refreshmax)
+ delay = videolatency.delay / 1000.0f;
+ }
+
+ return delay; // in seconds
+}
diff --git a/xbmc/settings/AdvancedSettings.h b/xbmc/settings/AdvancedSettings.h
index a232185409..0a8ad03054 100644
--- a/xbmc/settings/AdvancedSettings.h
+++ b/xbmc/settings/AdvancedSettings.h
@@ -59,6 +59,15 @@ struct RefreshOverride
bool fallback;
};
+
+struct RefreshVideoLatency
+{
+ float refreshmin;
+ float refreshmax;
+
+ float delay;
+};
+
typedef std::vector<TVShowRegexp> SETTINGS_TVSHOWLIST;
class CAdvancedSettings
@@ -125,11 +134,14 @@ class CAdvancedSettings
bool m_videoAllowMpeg4VDPAU;
bool m_videoAllowMpeg4VAAPI;
std::vector<RefreshOverride> m_videoAdjustRefreshOverrides;
+ std::vector<RefreshVideoLatency> m_videoRefreshLatency;
+ float m_videoDefaultLatency;
bool m_videoDisableBackgroundDeinterlace;
int m_videoCaptureUseOcclusionQuery;
bool m_DXVACheckCompatibility;
bool m_DXVACheckCompatibilityPresent;
bool m_DXVAForceProcessorRenderer;
+ int m_videoFpsDetect;
CStdString m_videoDefaultPlayer;
CStdString m_videoDefaultDVDPlayer;
@@ -302,6 +314,8 @@ class CAdvancedSettings
bool m_enableMultimediaKeys;
std::vector<CStdString> m_settingsFiles;
void ParseSettingsFile(const CStdString &file);
+
+ float GetDisplayLatency(float refreshrate);
};
XBMC_GLOBAL(CAdvancedSettings,g_advancedSettings);
diff --git a/xbmc/settings/Settings.cpp b/xbmc/settings/Settings.cpp
index eda98f45c9..599b61bf6c 100644
--- a/xbmc/settings/Settings.cpp
+++ b/xbmc/settings/Settings.cpp
@@ -57,6 +57,7 @@
#include "utils/URIUtils.h"
#include "input/MouseStat.h"
#include "filesystem/File.h"
+#include "filesystem/DirectoryCache.h"
using namespace std;
using namespace XFILE;
@@ -979,8 +980,8 @@ bool CSettings::LoadProfile(unsigned int index)
CGUIMessage msg(GUI_MSG_NOTIFY_ALL,0,0,GUI_MSG_WINDOW_RESET);
g_windowManager.SendMessage(msg);
- CUtil::DeleteMusicDatabaseDirectoryCache();
- CUtil::DeleteVideoDatabaseDirectoryCache();
+ CUtil::DeleteDirectoryCache();
+ g_directoryCache.Clear();
return true;
}
diff --git a/xbmc/storage/DetectDVDType.cpp b/xbmc/storage/DetectDVDType.cpp
index 64ba1c54af..f74303795d 100644
--- a/xbmc/storage/DetectDVDType.cpp
+++ b/xbmc/storage/DetectDVDType.cpp
@@ -51,7 +51,6 @@
#include "Application.h"
#include "IoSupport.h"
#include "cdioSupport.h"
-#include "storage/MediaManager.h"
using namespace XFILE;
@@ -529,27 +528,4 @@ const CStdString &CDetectDVDMedia::GetDVDPath()
{
return m_diskPath;
}
-
-CDetectDisc::CDetectDisc(const CStdString &strPath, const bool bautorun)
- : m_strPath(strPath), m_bautorun(bautorun)
-{
-}
-
-bool CDetectDisc::DoWork()
-{
- CMediaSource share;
- share.strPath = m_strPath;
- share.strStatus = g_mediaManager.GetDiskLabel(share.strPath);
- share.strDiskUniqueId = g_mediaManager.GetDiskUniqueId(share.strPath);
- if(g_mediaManager.IsAudio(share.strPath))
- share.strStatus = "Audio-CD";
- else if(share.strStatus == "")
- share.strStatus = g_localizeStrings.Get(446);
- share.strName = share.strPath;
- share.m_ignore = true;
- share.m_iDriveType = CMediaSource::SOURCE_TYPE_DVD;
- g_mediaManager.AddAutoSource(share, m_bautorun);
- return true;
-}
-
#endif
diff --git a/xbmc/storage/DetectDVDType.h b/xbmc/storage/DetectDVDType.h
index c3b444b2d1..250991da4e 100644
--- a/xbmc/storage/DetectDVDType.h
+++ b/xbmc/storage/DetectDVDType.h
@@ -37,7 +37,6 @@
#include "threads/Thread.h"
#include "utils/StdString.h"
-#include "utils/Job.h"
namespace MEDIA_DETECT
{
@@ -93,16 +92,4 @@ private:
CLibcdio* m_cdio;
};
}
-
-class CDetectDisc : public CJob
-{
-public:
- CDetectDisc(const CStdString &strPath, const bool bautorun);
- bool DoWork();
-
-private:
- CStdString m_strPath;
- bool m_bautorun;
-};
-
#endif
diff --git a/xbmc/storage/IoSupport.cpp b/xbmc/storage/IoSupport.cpp
index a1eeaceca5..809273d776 100644
--- a/xbmc/storage/IoSupport.cpp
+++ b/xbmc/storage/IoSupport.cpp
@@ -494,7 +494,7 @@ VOID CIoSupport::GetXbePath(char* szDest)
#if WIN32
wchar_t szAppPathW[MAX_PATH] = L"";
- ::GetModuleFileNameW(0, szAppPathW, sizeof(szAppPathW) - 1);
+ ::GetModuleFileNameW(0, szAppPathW, sizeof(szAppPathW)/sizeof(szAppPathW[0]) - 1);
CStdStringW strPathW = szAppPathW;
CStdString strPath;
g_charsetConverter.wToUTF8(strPathW,strPath);
diff --git a/xbmc/storage/MediaManager.cpp b/xbmc/storage/MediaManager.cpp
index fe918849ca..ced4ad0e7d 100644
--- a/xbmc/storage/MediaManager.cpp
+++ b/xbmc/storage/MediaManager.cpp
@@ -170,7 +170,7 @@ void CMediaManager::GetRemovableDrives(VECSOURCES &removableDrives)
m_platformStorage->GetRemovableDrives(removableDrives);
}
-void CMediaManager::GetNetworkLocations(VECSOURCES &locations)
+void CMediaManager::GetNetworkLocations(VECSOURCES &locations, bool autolocations)
{
// Load our xml file
LoadSources();
@@ -182,6 +182,30 @@ void CMediaManager::GetNetworkLocations(VECSOURCES &locations)
share.strName = url.GetWithoutUserDetails();
locations.push_back(share);
}
+ if (autolocations)
+ {
+ CMediaSource share;
+ share.m_ignore = true;
+#ifdef HAS_FILESYSTEM_SMB
+ share.strPath = "smb://";
+ share.strName = g_localizeStrings.Get(20171);
+ locations.push_back(share);
+#endif
+
+#ifdef HAS_FILESYSTEM_NFS
+ share.strPath = "nfs://";
+ share.strName = g_localizeStrings.Get(20259);
+ locations.push_back(share);
+#endif// HAS_FILESYSTEM_NFS
+
+ share.strPath = "upnp://";
+ share.strName = "UPnP Devices";
+ locations.push_back(share);
+
+ share.strPath = "zeroconf://";
+ share.strName = "Zeroconf Browser";
+ locations.push_back(share);
+ }
}
bool CMediaManager::AddNetworkLocation(const CStdString &path)
diff --git a/xbmc/storage/MediaManager.h b/xbmc/storage/MediaManager.h
index 7b204bdfcb..a5d13456e9 100644
--- a/xbmc/storage/MediaManager.h
+++ b/xbmc/storage/MediaManager.h
@@ -55,7 +55,7 @@ public:
void GetLocalDrives(VECSOURCES &localDrives, bool includeQ = true);
void GetRemovableDrives(VECSOURCES &removableDrives);
- void GetNetworkLocations(VECSOURCES &locations);
+ void GetNetworkLocations(VECSOURCES &locations, bool autolocations = true);
bool AddNetworkLocation(const CStdString &path);
bool HasLocation(const CStdString& path) const;
diff --git a/xbmc/storage/windows/Win32StorageProvider.cpp b/xbmc/storage/windows/Win32StorageProvider.cpp
index 2e5a2bc9fd..c57837d8c8 100644
--- a/xbmc/storage/windows/Win32StorageProvider.cpp
+++ b/xbmc/storage/windows/Win32StorageProvider.cpp
@@ -22,9 +22,27 @@
#include "WIN32Util.h"
#include "guilib/LocalizeStrings.h"
#include "filesystem/SpecialProtocol.h"
+#include "storage/MediaManager.h"
+#include "utils/JobManager.h"
bool CWin32StorageProvider::event = false;
+void CWin32StorageProvider::Initialize()
+{
+ // check for a DVD drive
+ VECSOURCES vShare;
+ CWIN32Util::GetDrivesByType(vShare, DVD_DRIVES);
+ if(!vShare.empty())
+ g_mediaManager.SetHasOpticalDrive(true);
+
+ // Can be removed once the StorageHandler supports optical media
+ VECSOURCES::const_iterator it;
+ for(it=vShare.begin();it!=vShare.end();++it)
+ if(g_mediaManager.GetDriveStatus(it->strPath) == DRIVE_CLOSED_MEDIA_PRESENT)
+ CJobManager::GetInstance().AddJob(new CDetectDisc(it->strPath, false), NULL);
+ // remove end
+}
+
void CWin32StorageProvider::GetLocalDrives(VECSOURCES &localDrives)
{
CMediaSource share;
@@ -62,3 +80,25 @@ bool CWin32StorageProvider::PumpDriveChangeEvents(IStorageEventsCallback *callba
event = false;
return b;
}
+
+CDetectDisc::CDetectDisc(const CStdString &strPath, const bool bautorun)
+ : m_strPath(strPath), m_bautorun(bautorun)
+{
+}
+
+bool CDetectDisc::DoWork()
+{
+ CMediaSource share;
+ share.strPath = m_strPath;
+ share.strStatus = g_mediaManager.GetDiskLabel(share.strPath);
+ share.strDiskUniqueId = g_mediaManager.GetDiskUniqueId(share.strPath);
+ if(g_mediaManager.IsAudio(share.strPath))
+ share.strStatus = "Audio-CD";
+ else if(share.strStatus == "")
+ share.strStatus = g_localizeStrings.Get(446);
+ share.strName = share.strPath;
+ share.m_ignore = true;
+ share.m_iDriveType = CMediaSource::SOURCE_TYPE_DVD;
+ g_mediaManager.AddAutoSource(share, m_bautorun);
+ return true;
+}
diff --git a/xbmc/storage/windows/Win32StorageProvider.h b/xbmc/storage/windows/Win32StorageProvider.h
index be4f2f2670..088a060d99 100644
--- a/xbmc/storage/windows/Win32StorageProvider.h
+++ b/xbmc/storage/windows/Win32StorageProvider.h
@@ -20,13 +20,14 @@
*
*/
#include "storage/IStorageProvider.h"
+#include "utils/Job.h"
class CWin32StorageProvider : public IStorageProvider
{
public:
virtual ~CWin32StorageProvider() { }
- virtual void Initialize() { }
+ virtual void Initialize();
virtual void Stop() { }
virtual void GetLocalDrives(VECSOURCES &localDrives);
@@ -41,3 +42,15 @@ public:
static void SetEvent() { event = true; }
static bool event;
};
+
+class CDetectDisc : public CJob
+{
+public:
+ CDetectDisc(const CStdString &strPath, const bool bautorun);
+ bool DoWork();
+
+private:
+ CStdString m_strPath;
+ bool m_bautorun;
+};
+
diff --git a/xbmc/system.h b/xbmc/system.h
index c838dc8950..b10ebae4bf 100644
--- a/xbmc/system.h
+++ b/xbmc/system.h
@@ -222,8 +222,6 @@
// ARM does not support certain features... disable them here!
#ifdef _ARMEL
-#undef HAS_AVAHI
-#undef HAS_ZEROCONF
#undef HAS_VISUALISATION
#undef HAS_FILESYSTEM_HTSP
#endif
diff --git a/xbmc/utils/LCDFactory.cpp b/xbmc/utils/LCDFactory.cpp
index dd0e7dd956..232e75cb56 100644
--- a/xbmc/utils/LCDFactory.cpp
+++ b/xbmc/utils/LCDFactory.cpp
@@ -31,23 +31,6 @@ CLCDFactory::~CLCDFactory(void)
ILCD* CLCDFactory::Create()
{
-#ifdef _XBOX
- switch (g_guiSettings.GetInt("lcd.modchip"))
- {
- case MODCHIP_XENIUM:
- return new CXeniumLCD();
- break;
-
- case MODCHIP_SMARTXX:
- return new CSmartXXLCD();
- break;
-
- case MODCHIP_XECUTER3:
- return new CX3LCD();
- break;
- }
- return new CSmartXXLCD();
-#endif
#ifdef _LINUX
return new XLCDproc();
#endif
diff --git a/xbmc/utils/URIUtils.cpp b/xbmc/utils/URIUtils.cpp
index b32ab10346..1f2f180460 100644
--- a/xbmc/utils/URIUtils.cpp
+++ b/xbmc/utils/URIUtils.cpp
@@ -361,7 +361,12 @@ CStdString URIUtils::SubstitutePath(const CStdString& strPath)
i != g_advancedSettings.m_pathSubstitutions.end(); i++)
{
if (strncmp(strPath.c_str(), i->first.c_str(), i->first.size()) == 0)
- return URIUtils::AddFileToFolder(i->second, strPath.Mid(i->first.size()));
+ {
+ if (strPath.size() > i->first.size())
+ return URIUtils::AddFileToFolder(i->second, strPath.Mid(i->first.size()));
+ else
+ return i->second;
+ }
}
return strPath;
}
diff --git a/xbmc/utils/log.cpp b/xbmc/utils/log.cpp
index bdfa6be8e6..6f660dbaaf 100644
--- a/xbmc/utils/log.cpp
+++ b/xbmc/utils/log.cpp
@@ -170,7 +170,7 @@ void CLog::MemDump(char *pData, int length)
for (int j=0; j < 4 && i + 4*k + j < length; j++)
{
CStdString strFormat;
- strFormat.Format(" %02x", *pData++);
+ strFormat.Format(" %02x", (unsigned char)*pData++);
strLine += strFormat;
}
strLine += " ";
diff --git a/xbmc/video/GUIViewStateVideo.cpp b/xbmc/video/GUIViewStateVideo.cpp
index 0a0ca9be62..63a94b548f 100644
--- a/xbmc/video/GUIViewStateVideo.cpp
+++ b/xbmc/video/GUIViewStateVideo.cpp
@@ -268,17 +268,20 @@ CGUIViewStateWindowVideoNav::CGUIViewStateWindowVideoNav(const CFileItemList& it
else
AddSortMethod(SORT_METHOD_VIDEO_SORT_TITLE, 551, LABEL_MASKS("%T", "%R"));
- AddSortMethod(SORT_METHOD_VIDEO_RATING, 563, LABEL_MASKS("%T", "%R")); // Filename, Duration | Foldername, empty
- AddSortMethod(SORT_METHOD_MPAA_RATING, 20074, LABEL_MASKS("%T", "%O"));
AddSortMethod(SORT_METHOD_YEAR,562, LABEL_MASKS("%T", "%Y"));
}
+ AddSortMethod(SORT_METHOD_VIDEO_RATING, 563, LABEL_MASKS("%T", "%R")); // Filename, Duration | Foldername, empty
+ AddSortMethod(SORT_METHOD_MPAA_RATING, 20074, LABEL_MASKS("%T", "%O"));
AddSortMethod(SORT_METHOD_VIDEO_RUNTIME,2050, LABEL_MASKS("%T", "%D"));
AddSortMethod(SORT_METHOD_DATEADDED, 570, LABEL_MASKS("%T", "%R"));
if (g_settings.GetWatchMode(items.GetContent()) == VIDEO_SHOW_ALL)
AddSortMethod(SORT_METHOD_PLAYCOUNT, 576, LABEL_MASKS("%T", "%V"));
- SetSortMethod(g_settings.m_viewStateVideoNavTitles.m_sortMethod);
+ if (params.GetSetId() > -1)
+ SetSortMethod(SORT_METHOD_YEAR);
+ else
+ SetSortMethod(g_settings.m_viewStateVideoNavTitles.m_sortMethod);
SetViewAsControl(g_settings.m_viewStateVideoNavTitles.m_viewMode);
@@ -364,6 +367,8 @@ void CGUIViewStateWindowVideoNav::SaveViewState()
if (m_items.IsVideoDb())
{
NODE_TYPE NodeType = CVideoDatabaseDirectory::GetDirectoryChildType(m_items.GetPath());
+ CQueryParams params;
+ CVideoDatabaseDirectory::GetQueryParams(m_items.GetPath(),params);
switch (NodeType)
{
case NODE_TYPE_ACTOR:
@@ -376,7 +381,7 @@ void CGUIViewStateWindowVideoNav::SaveViewState()
SaveViewToDb(m_items.GetPath(), WINDOW_VIDEO_NAV, &g_settings.m_viewStateVideoNavGenres);
break;
case NODE_TYPE_TITLE_MOVIES:
- SaveViewToDb(m_items.GetPath(), WINDOW_VIDEO_NAV, &g_settings.m_viewStateVideoNavTitles);
+ SaveViewToDb(m_items.GetPath(), WINDOW_VIDEO_NAV, params.GetSetId() > -1 ? NULL : &g_settings.m_viewStateVideoNavTitles);
break;
case NODE_TYPE_EPISODES:
SaveViewToDb(m_items.GetPath(), WINDOW_VIDEO_NAV, &g_settings.m_viewStateVideoNavEpisodes);
diff --git a/xbmc/video/VideoDatabase.cpp b/xbmc/video/VideoDatabase.cpp
index 06d6812c59..451ad917f0 100644
--- a/xbmc/video/VideoDatabase.cpp
+++ b/xbmc/video/VideoDatabase.cpp
@@ -468,7 +468,7 @@ bool CVideoDatabase::GetPaths(set<CStdString> &paths)
return false;
}
-bool CVideoDatabase::GetPathsForTvShow(int idShow, vector<int>& paths)
+bool CVideoDatabase::GetPathsForTvShow(int idShow, set<int>& paths)
{
CStdString strSQL;
try
@@ -479,7 +479,7 @@ bool CVideoDatabase::GetPathsForTvShow(int idShow, vector<int>& paths)
m_pDS->query(strSQL.c_str());
while (!m_pDS->eof())
{
- paths.push_back(m_pDS->fv(0).get_asInt());
+ paths.insert(m_pDS->fv(0).get_asInt());
m_pDS->next();
}
m_pDS->close();
@@ -6421,7 +6421,7 @@ void CVideoDatabase::GetMusicVideoDirectorsByName(const CStdString& strSearch, C
}
}
-void CVideoDatabase::CleanDatabase(IVideoInfoScannerObserver* pObserver, const vector<int>* paths)
+void CVideoDatabase::CleanDatabase(IVideoInfoScannerObserver* pObserver, const set<int>* paths)
{
CGUIDialogProgress *progress=NULL;
try
@@ -6445,8 +6445,8 @@ void CVideoDatabase::CleanDatabase(IVideoInfoScannerObserver* pObserver, const v
}
CStdString strPaths;
- for (unsigned int i=0;i<paths->size();++i )
- strPaths.Format("%s,%i",strPaths.Mid(0).c_str(),paths->at(i));
+ for (std::set<int>::const_iterator i = paths->begin(); i != paths->end(); ++i)
+ strPaths.AppendFormat(",%i",*i);
sql = PrepareSQL("select * from files,path where files.idPath=path.idPath and path.idPath in (%s)",strPaths.Mid(1).c_str());
}
else
@@ -6684,13 +6684,12 @@ void CVideoDatabase::CleanDatabase(IVideoInfoScannerObserver* pObserver, const v
while (!m_pDS->eof())
{
if (!CDirectory::Exists(m_pDS->fv("path.strPath").get_asString()))
- strIds.Format("%s %i,",strIds.Mid(0),m_pDS->fv("path.idPath").get_asInt()); // mid since we cannot format the same string
+ strIds.AppendFormat("%i,", m_pDS->fv("path.idPath").get_asInt());
m_pDS->next();
}
m_pDS->close();
if (!strIds.IsEmpty())
{
- strIds.TrimLeft(" ");
strIds.TrimRight(",");
sql = PrepareSQL("delete from path where idPath in (%s)",strIds.c_str());
m_pDS->exec(sql.c_str());
diff --git a/xbmc/video/VideoDatabase.h b/xbmc/video/VideoDatabase.h
index 5b1ec90176..367d882738 100644
--- a/xbmc/video/VideoDatabase.h
+++ b/xbmc/video/VideoDatabase.h
@@ -471,7 +471,7 @@ public:
bool SetPathHash(const CStdString &path, const CStdString &hash);
bool GetPathHash(const CStdString &path, CStdString &hash);
bool GetPaths(std::set<CStdString> &paths);
- bool GetPathsForTvShow(int idShow, std::vector<int>& paths);
+ bool GetPathsForTvShow(int idShow, std::set<int>& paths);
/*! \brief retrieve subpaths of a given path. Assumes a heirarchical folder structure
\param basepath the root path to retrieve subpaths for
@@ -548,7 +548,7 @@ public:
bool HasContent(VIDEODB_CONTENT_TYPE type);
bool HasSets() const;
- void CleanDatabase(VIDEO::IVideoInfoScannerObserver* pObserver=NULL, const std::vector<int>* paths=NULL);
+ void CleanDatabase(VIDEO::IVideoInfoScannerObserver* pObserver=NULL, const std::set<int>* paths=NULL);
/*! \brief Add a file to the database, if necessary
If the file is already in the database, we simply return its id.
diff --git a/xbmc/video/VideoInfoScanner.cpp b/xbmc/video/VideoInfoScanner.cpp
index 5cf75a99a9..1b680f3651 100644
--- a/xbmc/video/VideoInfoScanner.cpp
+++ b/xbmc/video/VideoInfoScanner.cpp
@@ -247,7 +247,7 @@ namespace VIDEO
if (hash.IsEmpty() && !dbHash.IsEmpty())
{
CLog::Log(LOGDEBUG, "VideoInfoScanner: Skipping dir '%s' as it's empty or doesn't exist - adding to clean list", strDirectory.c_str());
- m_pathsToClean.push_back(m_database.GetPathId(strDirectory));
+ m_pathsToClean.insert(m_database.GetPathId(strDirectory));
}
else
CLog::Log(LOGDEBUG, "VideoInfoScanner: Skipping dir '%s' due to no change", strDirectory.c_str());
@@ -296,13 +296,13 @@ namespace VIDEO
if (!m_bStop && (content == CONTENT_MOVIES || content == CONTENT_MUSICVIDEOS))
{
m_database.SetPathHash(strDirectory, hash);
- m_pathsToClean.push_back(m_database.GetPathId(strDirectory));
+ m_pathsToClean.insert(m_database.GetPathId(strDirectory));
CLog::Log(LOGDEBUG, "VideoInfoScanner: Finished adding information from dir %s", strDirectory.c_str());
}
}
else
{
- m_pathsToClean.push_back(m_database.GetPathId(strDirectory));
+ m_pathsToClean.insert(m_database.GetPathId(strDirectory));
CLog::Log(LOGDEBUG, "VideoInfoScanner: No (new) information was found in dir %s", strDirectory.c_str());
}
}
@@ -417,7 +417,7 @@ namespace VIDEO
for (vector<int>::iterator i = libPaths.begin(); i < libPaths.end(); ++i)
{
if (find(seenPaths.begin(), seenPaths.end(), *i) == seenPaths.end())
- m_pathsToClean.push_back(*i);
+ m_pathsToClean.insert(*i);
}
}
if(pDlgProgress)
@@ -651,7 +651,7 @@ namespace VIDEO
}
return;
}
- m_pathsToClean.push_back(m_database.GetPathId(item->GetPath()));
+ m_pathsToClean.insert(m_database.GetPathId(item->GetPath()));
m_database.GetPathsForTvShow(m_database.GetTvShowId(item->GetPath()), m_pathsToClean);
item->SetProperty("hash", hash);
}
diff --git a/xbmc/video/VideoInfoScanner.h b/xbmc/video/VideoInfoScanner.h
index 57e2965b6d..2af3ea5bd0 100644
--- a/xbmc/video/VideoInfoScanner.h
+++ b/xbmc/video/VideoInfoScanner.h
@@ -252,7 +252,7 @@ namespace VIDEO
CVideoDatabase m_database;
std::set<CStdString> m_pathsToScan;
std::set<CStdString> m_pathsToCount;
- std::vector<int> m_pathsToClean;
+ std::set<int> m_pathsToClean;
CNfoFile m_nfoReader;
};
}
diff --git a/xbmc/video/windows/GUIWindowVideoBase.cpp b/xbmc/video/windows/GUIWindowVideoBase.cpp
index c10f68e6fd..86aa5f3632 100644
--- a/xbmc/video/windows/GUIWindowVideoBase.cpp
+++ b/xbmc/video/windows/GUIWindowVideoBase.cpp
@@ -278,7 +278,7 @@ void CGUIWindowVideoBase::OnInfo(CFileItem* pItem, const ADDON::ScraperPtr& scra
if (item.m_bIsFolder && scraper && scraper->Content() != CONTENT_TVSHOWS)
{
CFileItemList items;
- CDirectory::GetDirectory(item.GetPath(), items,"",true,false,DIR_CACHE_ONCE,true,true);
+ CDirectory::GetDirectory(item.GetPath(), items, g_settings.m_videoExtensions,true,false,DIR_CACHE_ONCE,true,true);
items.Stack();
// check for media files
@@ -1127,7 +1127,7 @@ void CGUIWindowVideoBase::GetContextButtons(int itemNumber, CContextButtons &but
{
buttons.Add(CONTEXT_BUTTON_RESUME_ITEM, GetResumeString(*(item.get()))); // Resume Video
}
- if (item->HasVideoInfoTag() && !item->m_bIsFolder && item->GetVideoInfoTag()->m_iEpisode > -1)
+ if (item->HasVideoInfoTag() && !item->m_bIsFolder && m_vecItems->Size() > 1 && itemNumber < m_vecItems->Size()-1)
{
buttons.Add(CONTEXT_BUTTON_PLAY_AND_QUEUE, 13412);
}
@@ -1468,6 +1468,7 @@ void CGUIWindowVideoBase::OnDeleteItem(int iItem)
OnDeleteItem(m_vecItems->Get(iItem));
+ m_vecItems->RemoveDiscCache(GetID());
Update(m_vecItems->GetPath());
m_viewControl.SetSelectedItem(iItem);
}
diff --git a/xbmc/video/windows/GUIWindowVideoNav.cpp b/xbmc/video/windows/GUIWindowVideoNav.cpp
index 7c44ed3fbd..a43b689fd9 100644
--- a/xbmc/video/windows/GUIWindowVideoNav.cpp
+++ b/xbmc/video/windows/GUIWindowVideoNav.cpp
@@ -405,7 +405,8 @@ bool CGUIWindowVideoNav::GetDirectory(const CStdString &strDirectory, CFileItemL
CStdString label;
if (items.GetLabel().IsEmpty() && m_rootDir.IsSource(items.GetPath(), g_settings.GetSourcesFromType("video"), &label))
items.SetLabel(label);
- LoadVideoInfo(items);
+ if (!items.IsSourcesPath())
+ LoadVideoInfo(items);
}
}
return bResult;
@@ -484,10 +485,6 @@ void CGUIWindowVideoNav::LoadVideoInfo(CFileItemList &items)
// set the watched overlay
if (pItem->IsVideo())
pItem->SetOverlayImage(CGUIListItem::ICON_OVERLAY_UNWATCHED, pItem->HasVideoInfoTag() && pItem->GetVideoInfoTag()->m_playCount > 0);
-
- // Since the item is not in our db but the user wants a clean label we should clean it up (stacking may do some cleaning as well)
- if (replaceLabels)
- pItem->CleanString();
}
}
}
@@ -1504,10 +1501,12 @@ CStdString CGUIWindowVideoNav::GetStartFolder(const CStdString &dir)
return "videodb://3/3/";
else if (dir.Equals("MusicVideoArtists"))
return "videodb://3/4/";
- else if (dir.Equals("MusicVideoDirectors"))
+ else if (dir.Equals("MusicVideoAlbums"))
return "videodb://3/5/";
- else if (dir.Equals("MusicVideoStudios"))
+ else if (dir.Equals("MusicVideoDirectors"))
return "videodb://3/6/";
+ else if (dir.Equals("MusicVideoStudios"))
+ return "videodb://3/7/";
else if (dir.Equals("MusicVideos"))
return "videodb://3/";
else if (dir.Equals("RecentlyAddedMovies"))
diff --git a/xbmc/visualizations/XBMCProjectM/Main.cpp b/xbmc/visualizations/XBMCProjectM/Main.cpp
index d4e50194b7..8b2299b07a 100644
--- a/xbmc/visualizations/XBMCProjectM/Main.cpp
+++ b/xbmc/visualizations/XBMCProjectM/Main.cpp
@@ -59,6 +59,7 @@ d4rk@xbmc.org
#include <GL/glew.h>
#include "libprojectM/projectM.hpp"
#include <string>
+#include <utils/log.h>
projectM *globalPM = NULL;
@@ -77,6 +78,7 @@ bool g_UserPackFolder;
char lastPresetDir[1024];
bool lastLockStatus;
int lastPresetIdx;
+int lastLoggedPresetIdx;
//-- Create -------------------------------------------------------------------
// Called once when the visualisation is created by XBMC. Do any setup here.
@@ -99,6 +101,7 @@ extern "C" ADDON_STATUS ADDON_Create(void* hdl, void* props)
g_configPM.easterEgg = 0.0;
g_configPM.windowLeft = visprops->x;
g_configPM.windowBottom = visprops->y;
+ lastLoggedPresetIdx = lastPresetIdx;
return ADDON_STATUS_NEED_SAVEDSETTINGS;
}
@@ -126,7 +129,13 @@ extern "C" void AudioData(const short* pAudioData, int iAudioDataLength, float *
extern "C" void Render()
{
if (globalPM)
+ {
globalPM->renderFrame();
+ unsigned preset;
+ globalPM->selectedPresetIndex(preset);
+ if (lastLoggedPresetIdx != preset) CLog::Log(LOGDEBUG,"PROJECTM - Changed preset to: %s",g_presets[preset]);
+ lastLoggedPresetIdx = preset;
+ }
}
//-- GetInfo ------------------------------------------------------------------
diff --git a/xbmc/windowing/osx/WinEventsIOS.mm b/xbmc/windowing/osx/WinEventsIOS.mm
index b016aa738f..635c9cc362 100644
--- a/xbmc/windowing/osx/WinEventsIOS.mm
+++ b/xbmc/windowing/osx/WinEventsIOS.mm
@@ -73,7 +73,7 @@ bool CWinEventsIOS::MessagePump()
// the user.code will be the keyID to translate using joystick.AppleRemote.xml
std::string joystickName = "AppleRemote";
bool isAxis = false;
- float fAmount = 0.0;
+ float fAmount = 1.0;
unsigned short wKeyID = pumpEvent.user.code;
CLog::Log(LOGDEBUG,"CWinEventsIOS: Button press keyID = %i", wKeyID);
diff --git a/xbmc/windowing/windows/WinEventsWin32.cpp b/xbmc/windowing/windows/WinEventsWin32.cpp
index ece372e878..ae49c88b13 100644
--- a/xbmc/windowing/windows/WinEventsWin32.cpp
+++ b/xbmc/windowing/windows/WinEventsWin32.cpp
@@ -39,7 +39,6 @@
#include "settings/Settings.h"
#include "settings/AdvancedSettings.h"
#include "peripherals/Peripherals.h"
-#include "storage/DetectDVDType.h"
#include "utils/JobManager.h"
#ifdef _WIN32
diff --git a/xbmc/windows/GUIMediaWindow.cpp b/xbmc/windows/GUIMediaWindow.cpp
index 6a9c905613..e0f65cb9b2 100644
--- a/xbmc/windows/GUIMediaWindow.cpp
+++ b/xbmc/windows/GUIMediaWindow.cpp
@@ -217,6 +217,10 @@ bool CGUIMediaWindow::OnMessage(CGUIMessage& message)
m_iSelectedItem = m_viewControl.GetSelectedItem();
m_iLastControl = GetFocusedControlID();
CGUIWindow::OnMessage(message);
+ CGUIDialogContextMenu* pDlg = (CGUIDialogContextMenu*)g_windowManager.GetWindow(WINDOW_DIALOG_CONTEXT_MENU);
+ if (pDlg && pDlg->IsActive())
+ pDlg->Close();
+
// Call ClearFileItems() after our window has finished doing any WindowClose
// animations
ClearFileItems();
diff --git a/xbmc/windows/GUIWindowWeather.cpp b/xbmc/windows/GUIWindowWeather.cpp
index ee6de01455..a172873b60 100644
--- a/xbmc/windows/GUIWindowWeather.cpp
+++ b/xbmc/windows/GUIWindowWeather.cpp
@@ -145,7 +145,7 @@ void CGUIWindowWeather::UpdateLocations()
{
if (!IsActive()) return;
m_maxLocation = strtol(GetProperty("Locations").asString().c_str(),0,10);
-
+ if (m_maxLocation < 1) return;
CGUIMessage msg(GUI_MSG_LABEL_RESET,GetID(),CONTROL_SELECTLOCATION);
g_windowManager.SendMessage(msg);
CGUIMessage msg2(GUI_MSG_LABEL_ADD,GetID(),CONTROL_SELECTLOCATION);