aboutsummaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
Diffstat (limited to 'addons')
-rw-r--r--addons/library.xbmc.addon/dlfcn-win32.cpp263
-rw-r--r--addons/library.xbmc.addon/dlfcn-win32.h46
-rw-r--r--addons/library.xbmc.addon/libXBMC_addon.h150
-rw-r--r--addons/library.xbmc.gui/libXBMC_gui.h325
-rw-r--r--addons/library.xbmc.pvr/libXBMC_pvr.h165
-rw-r--r--addons/pvr.hts/addon.xml22
-rw-r--r--addons/pvr.hts/icon.pngbin0 -> 21031 bytes
-rw-r--r--addons/pvr.hts/pthreadVC2.dllbin0 -> 30720 bytes
-rw-r--r--addons/pvr.hts/pthreadVC2d.dllbin0 -> 79360 bytes
-rw-r--r--addons/pvr.hts/resources/language/Dutch/strings.xml11
-rw-r--r--addons/pvr.hts/resources/language/English/strings.xml11
-rw-r--r--addons/pvr.hts/resources/language/German/strings.xml9
-rw-r--r--addons/pvr.hts/resources/settings.xml10
-rw-r--r--addons/pvr.mythtv/addon.xml23
-rw-r--r--addons/pvr.mythtv/resources/language/English/strings.xml7
-rw-r--r--addons/pvr.mythtv/resources/settings.xml6
-rw-r--r--addons/pvr.team-mediaportal.tvserver/addon.xml22
-rw-r--r--addons/pvr.team-mediaportal.tvserver/icon.jpgbin0 -> 9461 bytes
-rw-r--r--addons/pvr.team-mediaportal.tvserver/resources/language/Dutch/strings.xml14
-rw-r--r--addons/pvr.team-mediaportal.tvserver/resources/language/English/strings.xml14
-rw-r--r--addons/pvr.team-mediaportal.tvserver/resources/language/German/strings.xml14
-rw-r--r--addons/pvr.team-mediaportal.tvserver/resources/settings.xml13
-rw-r--r--addons/pvr.vdr.streamdev/addon.xml23
-rw-r--r--addons/pvr.vdr.streamdev/icon.jpgbin0 -> 14359 bytes
-rw-r--r--addons/pvr.vdr.streamdev/pthreadVC2.dllbin0 -> 30720 bytes
-rw-r--r--addons/pvr.vdr.streamdev/pthreadVC2d.dllbin0 -> 79360 bytes
-rw-r--r--addons/pvr.vdr.streamdev/resources/data/noSignal.mpgbin0 -> 25207 bytes
-rw-r--r--addons/pvr.vdr.streamdev/resources/language/Dutch/strings.xml15
-rw-r--r--addons/pvr.vdr.streamdev/resources/language/English/strings.xml15
-rw-r--r--addons/pvr.vdr.streamdev/resources/language/German/strings.xml15
-rw-r--r--addons/pvr.vdr.streamdev/resources/settings.xml14
-rw-r--r--addons/pvr.vdr.vnsi/addon.xml23
-rw-r--r--addons/pvr.vdr.vnsi/icon.jpgbin0 -> 17133 bytes
-rw-r--r--addons/pvr.vdr.vnsi/pthreadVC2.dllbin0 -> 30720 bytes
-rw-r--r--addons/pvr.vdr.vnsi/pthreadVC2d.dllbin0 -> 79360 bytes
-rw-r--r--addons/pvr.vdr.vnsi/resources/language/Dutch/strings.xml48
-rw-r--r--addons/pvr.vdr.vnsi/resources/language/English/strings.xml48
-rw-r--r--addons/pvr.vdr.vnsi/resources/language/German/strings.xml48
-rw-r--r--addons/pvr.vdr.vnsi/resources/settings.xml11
-rw-r--r--addons/pvr.vdr.vnsi/resources/skins/Confluence/720p/ChannelScan.xml733
-rw-r--r--addons/skin.confluence/720p/DialogFullScreenInfo.xml59
-rw-r--r--addons/skin.confluence/720p/DialogPVRChannelManager.xml604
-rw-r--r--addons/skin.confluence/720p/DialogPVRChannelsOSD.xml263
-rw-r--r--addons/skin.confluence/720p/DialogPVRGroupManager.xml435
-rw-r--r--addons/skin.confluence/720p/DialogPVRGuideInfo.xml274
-rw-r--r--addons/skin.confluence/720p/DialogPVRGuideOSD.xml266
-rw-r--r--addons/skin.confluence/720p/DialogPVRGuideSearch.xml461
-rw-r--r--addons/skin.confluence/720p/DialogPVRRecordingInfo.xml261
-rw-r--r--addons/skin.confluence/720p/DialogPVRTimerSettings.xml159
-rw-r--r--addons/skin.confluence/720p/DialogPVRUpdateProgressBar.xml48
-rw-r--r--addons/skin.confluence/720p/Home.xml242
-rw-r--r--addons/skin.confluence/720p/MyTV.xml2813
-rw-r--r--addons/skin.confluence/720p/PlayerControls.xml144
-rw-r--r--addons/skin.confluence/720p/Settings.xml18
-rw-r--r--addons/skin.confluence/720p/SettingsSystemInfo.xml15
-rw-r--r--addons/skin.confluence/720p/VideoFullScreen.xml249
-rw-r--r--addons/skin.confluence/720p/VideoOSD.xml304
-rw-r--r--addons/skin.confluence/720p/custom_SkinSetting_1111.xml67
-rw-r--r--addons/skin.confluence/720p/defaults.xml1
-rw-r--r--addons/skin.confluence/720p/includes.xml30
-rw-r--r--addons/skin.confluence/backgrounds/tv.jpgbin0 -> 576461 bytes
-rw-r--r--addons/skin.confluence/language/English/strings.xml14
-rw-r--r--addons/skin.confluence/language/German/strings.xml17
-rw-r--r--addons/skin.confluence/media/Makefile1
-rw-r--r--addons/skin.confluence/media/OSDChannelDownFO.pngbin0 -> 4693 bytes
-rw-r--r--addons/skin.confluence/media/OSDChannelDownNF.pngbin0 -> 3686 bytes
-rw-r--r--addons/skin.confluence/media/OSDChannelListFO.pngbin0 -> 4766 bytes
-rw-r--r--addons/skin.confluence/media/OSDChannelListNF.pngbin0 -> 3654 bytes
-rw-r--r--addons/skin.confluence/media/OSDChannelUPFO.pngbin0 -> 4643 bytes
-rw-r--r--addons/skin.confluence/media/OSDChannelUPNF.pngbin0 -> 3698 bytes
-rw-r--r--addons/skin.confluence/media/OSDRecordNF2.pngbin0 -> 1883 bytes
-rw-r--r--addons/skin.confluence/media/OSDTeleTextFO.pngbin0 -> 4838 bytes
-rw-r--r--addons/skin.confluence/media/OSDTeleTextNF.pngbin0 -> 3654 bytes
-rw-r--r--addons/skin.confluence/media/OSDepgFO.pngbin0 -> 4842 bytes
-rw-r--r--addons/skin.confluence/media/OSDepgNF.pngbin0 -> 3648 bytes
-rw-r--r--addons/skin.confluence/media/PVR-HasTimer.pngbin0 -> 3138 bytes
-rw-r--r--addons/skin.confluence/media/PVR-IsRecording.pngbin0 -> 3655 bytes
-rw-r--r--addons/skin.confluence/media/StackNF.pngbin2894 -> 2897 bytes
-rw-r--r--addons/skin.confluence/media/genre-a-moviedrama.pngbin0 -> 2849 bytes
-rw-r--r--addons/skin.confluence/media/genre-b-news.pngbin0 -> 2846 bytes
-rw-r--r--addons/skin.confluence/media/genre-c-show.pngbin0 -> 2849 bytes
-rw-r--r--addons/skin.confluence/media/genre-d-sports.pngbin0 -> 2849 bytes
-rw-r--r--addons/skin.confluence/media/genre-e-child.pngbin0 -> 2849 bytes
-rw-r--r--addons/skin.confluence/media/genre-f-music.pngbin0 -> 2849 bytes
-rw-r--r--addons/skin.confluence/media/genre-g-arts.pngbin0 -> 2849 bytes
-rw-r--r--addons/skin.confluence/media/genre-h-social.pngbin0 -> 2849 bytes
-rw-r--r--addons/skin.confluence/media/genre-i-science.pngbin0 -> 2849 bytes
-rw-r--r--addons/skin.confluence/media/genre-j-hobby.pngbin0 -> 2849 bytes
-rw-r--r--addons/skin.confluence/media/genre-k-special.pngbin0 -> 2849 bytes
-rw-r--r--addons/skin.confluence/media/genre-l-unknown.pngbin0 -> 2849 bytes
90 files changed, 8839 insertions, 24 deletions
diff --git a/addons/library.xbmc.addon/dlfcn-win32.cpp b/addons/library.xbmc.addon/dlfcn-win32.cpp
new file mode 100644
index 0000000000..a6cf2c28ff
--- /dev/null
+++ b/addons/library.xbmc.addon/dlfcn-win32.cpp
@@ -0,0 +1,263 @@
+/*
+ * dlfcn-win32
+ * Copyright (c) 2007 Ramiro Polla
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include <windows.h>
+#include <stdio.h>
+
+#include "dlfcn-win32.h"
+
+/* Note:
+ * MSDN says these functions are not thread-safe. We make no efforts to have
+ * any kind of thread safety.
+ */
+
+/* I have no special reason to have set MAX_GLOBAL_OBJECTS to this value. Any
+ * comments are welcome.
+ */
+#define MAX_OBJECTS 255
+
+static HMODULE global_objects[MAX_OBJECTS];
+
+/* This function adds an object to the list of global objects.
+ * The implementation is very simple and slow.
+ * TODO: should failing this function be enough to fail the call to dlopen( )?
+ */
+static void global_object_add( HMODULE hModule )
+{
+ int i;
+
+ for( i = 0 ; i < MAX_OBJECTS ; i++ )
+ {
+ if( !global_objects[i] )
+ {
+ global_objects[i] = hModule;
+ break;
+ }
+ }
+}
+
+static void global_object_rem( HMODULE hModule )
+{
+ int i;
+
+ for( i = 0 ; i < MAX_OBJECTS ; i++ )
+ {
+ if( global_objects[i] == hModule )
+ {
+ global_objects[i] = 0;
+ break;
+ }
+ }
+}
+
+/* Argument to last function. Used in dlerror( ) */
+static char last_name[MAX_PATH];
+
+static int copy_string( char *dest, int dest_size, const char *src )
+{
+ int i = 0;
+
+ if( src && dest )
+ {
+ for( i = 0 ; i < dest_size-1 ; i++ )
+ {
+ if( !src[i] )
+ break;
+ else
+ dest[i] = src[i];
+ }
+ }
+ dest[i] = '\0';
+
+ return i;
+}
+
+void *dlopen( const char *file, int mode )
+{
+ HMODULE hModule;
+ UINT uMode;
+
+ /* Do not let Windows display the critical-error-handler message box */
+ uMode = SetErrorMode( SEM_FAILCRITICALERRORS );
+
+ if( file == 0 )
+ {
+ /* Save NULL pointer for error message */
+ _snprintf_s( last_name, MAX_PATH, MAX_PATH, "0x%p", file );
+
+ /* POSIX says that if the value of file is 0, a handle on a global
+ * symbol object must be provided. That object must be able to access
+ * all symbols from the original program file, and any objects loaded
+ * with the RTLD_GLOBAL flag.
+ * The return value from GetModuleHandle( ) allows us to retrieve
+ * symbols only from the original program file. For objects loaded with
+ * the RTLD_GLOBAL flag, we create our own list later on.
+ */
+ hModule = GetModuleHandle( NULL );
+ }
+ else
+ {
+ char lpFileName[MAX_PATH];
+ int i;
+
+ /* MSDN says backslashes *must* be used instead of forward slashes. */
+ for( i = 0 ; i < sizeof(lpFileName)-1 ; i++ )
+ {
+ if( !file[i] )
+ break;
+ else if( file[i] == '/' )
+ lpFileName[i] = '\\';
+ else
+ lpFileName[i] = file[i];
+ }
+ lpFileName[i] = '\0';
+
+ /* Save file name for error message */
+ copy_string( last_name, sizeof(last_name), lpFileName );
+
+ /* POSIX says the search path is implementation-defined.
+ * LOAD_WITH_ALTERED_SEARCH_PATH is used to make it behave more closely
+ * to UNIX's search paths (start with system folders instead of current
+ * folder).
+ */
+ hModule = LoadLibraryEx( (LPSTR) lpFileName, NULL,
+ LOAD_WITH_ALTERED_SEARCH_PATH );
+ /* If the object was loaded with RTLD_GLOBAL, add it to list of global
+ * objects, so that its symbols may be retrieved even if the handle for
+ * the original program file is passed. POSIX says that if the same
+ * file is specified in multiple invocations, and any of them are
+ * RTLD_GLOBAL, even if any further invocations use RTLD_LOCAL, the
+ * symbols will remain global.
+ */
+
+ if( hModule && (mode & RTLD_GLOBAL) )
+ global_object_add( hModule );
+ }
+
+ /* Return to previous state of the error-mode bit flags. */
+ SetErrorMode( uMode );
+
+ return (void *) hModule;
+}
+
+int dlclose( void *handle )
+{
+ HMODULE hModule = (HMODULE) handle;
+ BOOL ret;
+
+ /* Save handle for error message */
+ _snprintf_s( last_name, MAX_PATH, MAX_PATH, "0x%p", handle );
+
+ ret = FreeLibrary( hModule );
+
+ /* If the object was loaded with RTLD_GLOBAL, remove it from list of global
+ * objects.
+ */
+ if( ret )
+ global_object_rem( hModule );
+
+ /* dlclose's return value in inverted in relation to FreeLibrary's. */
+ ret = !ret;
+
+ return (int) ret;
+}
+
+void *dlsym( void *handle, const char *name )
+{
+ FARPROC symbol;
+ HMODULE myhandle = (HMODULE) handle;
+
+ /* Save symbol name for error message */
+ copy_string( last_name, sizeof(last_name), name );
+
+ symbol = GetProcAddress( myhandle, name );
+#if 0
+ if( symbol == NULL )
+ {
+ HMODULE hModule;
+
+ /* If the handle for the original program file is passed, also search
+ * in all globally loaded objects.
+ */
+
+ hModule = GetModuleHandle( NULL );
+
+ if( hModule == handle )
+ {
+ int i;
+
+ for( i = 0 ; i < MAX_OBJECTS ; i++ )
+ {
+ if( global_objects[i] != 0 )
+ {
+ symbol = GetProcAddress( global_objects[i], name );
+ if( symbol != NULL )
+ break;
+ }
+ }
+ }
+
+
+ CloseHandle( hModule );
+ }
+#endif
+ return (void*) symbol;
+}
+
+char *dlerror( void )
+{
+ DWORD dwMessageId;
+ /* POSIX says this function doesn't have to be thread-safe, so we use one
+ * static buffer.
+ * MSDN says the buffer cannot be larger than 64K bytes, so we set it to
+ * the limit.
+ */
+ static char lpBuffer[65535];
+ DWORD ret;
+
+ dwMessageId = GetLastError( );
+
+ if( dwMessageId == 0 )
+ return NULL;
+
+ /* Format error message to:
+ * "<argument to function that failed>": <Windows localized error message>
+ */
+ ret = copy_string( lpBuffer, sizeof(lpBuffer), "\"" );
+ ret += copy_string( lpBuffer+ret, sizeof(lpBuffer)-ret, last_name );
+ ret += copy_string( lpBuffer+ret, sizeof(lpBuffer)-ret, "\": " );
+ ret += FormatMessage( FORMAT_MESSAGE_FROM_SYSTEM, NULL, dwMessageId,
+ MAKELANGID( LANG_NEUTRAL, SUBLANG_DEFAULT ),
+ lpBuffer+ret, sizeof(lpBuffer)-ret, NULL );
+
+ if( ret > 1 )
+ {
+ /* POSIX says the string must not have trailing <newline> */
+ if( lpBuffer[ret-2] == '\r' && lpBuffer[ret-1] == '\n' )
+ lpBuffer[ret-2] = '\0';
+ }
+
+ /* POSIX says that invoking dlerror( ) a second time, immediately following
+ * a prior invocation, shall result in NULL being returned.
+ */
+ SetLastError(0);
+
+ return lpBuffer;
+}
+
diff --git a/addons/library.xbmc.addon/dlfcn-win32.h b/addons/library.xbmc.addon/dlfcn-win32.h
new file mode 100644
index 0000000000..f906343a96
--- /dev/null
+++ b/addons/library.xbmc.addon/dlfcn-win32.h
@@ -0,0 +1,46 @@
+#pragma once
+/*
+ * dlfcn-win32
+ * Copyright (c) 2007 Ramiro Polla
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef DLFCN_H
+#define DLFCN_H
+
+/* POSIX says these are implementation-defined.
+ * To simplify use with Windows API, we treat them the same way.
+ */
+
+#define RTLD_LAZY 0
+#define RTLD_NOW 0
+
+#define RTLD_GLOBAL (1 << 1)
+#define RTLD_LOCAL (1 << 2)
+
+/* These two were added in The Open Group Base Specifications Issue 6.
+ * Note: All other RTLD_* flags in any dlfcn.h are not standard compliant.
+ */
+
+#define RTLD_DEFAULT 0
+#define RTLD_NEXT 0
+
+void *dlopen ( const char *file, int mode );
+int dlclose( void *handle );
+void *dlsym ( void *handle, const char *name );
+char *dlerror( void );
+
+#endif /* DLFCN-WIN32_H */
diff --git a/addons/library.xbmc.addon/libXBMC_addon.h b/addons/library.xbmc.addon/libXBMC_addon.h
new file mode 100644
index 0000000000..7af0d1cf7d
--- /dev/null
+++ b/addons/library.xbmc.addon/libXBMC_addon.h
@@ -0,0 +1,150 @@
+#pragma once
+/*
+ * Copyright (C) 2005-2010 Team XBMC
+ * http://www.xbmc.org
+ *
+ * This Program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * This Program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with XBMC; see the file COPYING. If not, write to
+ * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ */
+
+#include <string>
+#include <vector>
+#include <string.h>
+#include <stdlib.h>
+#include <stdio.h>
+
+#ifndef _LINUX
+#include "dlfcn-win32.h"
+#define ADDON_DLL "\\library.xbmc.addon\\libXBMC_addon.dll"
+#else
+#include <dlfcn.h>
+#if defined(__APPLE__)
+#if defined(__POWERPC__)
+#define ADDON_DLL "/library.xbmc.addon/libXBMC_addon-powerpc-osx.so"
+#else
+#define ADDON_DLL "/library.xbmc.addon/libXBMC_addon-x86-osx.so"
+#endif
+#elif defined(__x86_64__)
+#define ADDON_DLL "/library.xbmc.addon/libXBMC_addon-x86_64-linux.so"
+#elif defined(_POWERPC)
+#define ADDON_DLL "/library.xbmc.addon/libXBMC_addon-powerpc-linux.so"
+#elif defined(_POWERPC64)
+#define ADDON_DLL "/library.xbmc.addon/libXBMC_addon-powerpc64-linux.so"
+#else /* !__x86_64__ && !__powerpc__ */
+#define ADDON_DLL "/library.xbmc.addon/libXBMC_addon-i486-linux.so"
+#endif /* __x86_64__ */
+#endif /* _LINUX */
+
+typedef enum addon_log {
+ LOG_DEBUG,
+ LOG_INFO,
+ LOG_NOTICE,
+ LOG_ERROR
+} addon_log_t;
+
+typedef enum queue_msg {
+ QUEUE_INFO,
+ QUEUE_WARNING,
+ QUEUE_ERROR
+} queue_msg_t;
+
+class cHelper_libXBMC_addon
+{
+public:
+ cHelper_libXBMC_addon()
+ {
+ m_libXBMC_addon = NULL;
+ m_Handle = NULL;
+ }
+
+ ~cHelper_libXBMC_addon()
+ {
+ if (m_libXBMC_addon)
+ {
+ XBMC_unregister_me();
+ dlclose(m_libXBMC_addon);
+ }
+ }
+
+ bool RegisterMe(void *Handle)
+ {
+ m_Handle = Handle;
+
+ std::string libBasePath;
+ libBasePath = ((cb_array*)m_Handle)->libPath;
+ libBasePath += ADDON_DLL;
+
+ m_libXBMC_addon = dlopen(libBasePath.c_str(), RTLD_LAZY);
+ if (m_libXBMC_addon == NULL)
+ {
+ fprintf(stderr, "Unable to load %s\n", dlerror());
+ return false;
+ }
+
+ XBMC_register_me = (int (*)(void *HANDLE))
+ dlsym(m_libXBMC_addon, "XBMC_register_me");
+ if (XBMC_register_me == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; }
+
+ XBMC_unregister_me = (void (*)())
+ dlsym(m_libXBMC_addon, "XBMC_unregister_me");
+ if (XBMC_unregister_me == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; }
+
+ Log = (void (*)(const addon_log_t loglevel, const char *format, ... ))
+ dlsym(m_libXBMC_addon, "XBMC_log");
+ if (Log == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; }
+
+ GetSetting = (bool (*)(std::string settingName, void *settingValue))
+ dlsym(m_libXBMC_addon, "XBMC_get_setting");
+ if (GetSetting == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; }
+
+ QueueNotification = (void (*)(const queue_msg_t loglevel, const char *format, ... ))
+ dlsym(m_libXBMC_addon, "XBMC_queue_notification");
+ if (QueueNotification == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; }
+
+ UnknownToUTF8 = (void (*)(std::string &str))
+ dlsym(m_libXBMC_addon, "XBMC_unknown_to_utf8");
+ if (UnknownToUTF8 == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; }
+
+ GetLocalizedString = (std::string (*)(int dwCode))
+ dlsym(m_libXBMC_addon, "XBMC_get_localized_string");
+ if (GetLocalizedString == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; }
+
+ GetDVDMenuLanguage = (std::string (*)())
+ dlsym(m_libXBMC_addon, "XBMC_get_dvd_menu_language");
+ if (GetDVDMenuLanguage == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; }
+
+ return XBMC_register_me(m_Handle) > 0;
+ }
+
+ void (*Log)(const addon_log_t loglevel, const char *format, ... );
+ bool (*GetSetting)(std::string settingName, void *settingValue);
+ void (*QueueNotification)(const queue_msg_t type, const char *format, ... );
+ void (*UnknownToUTF8)(std::string &str);
+ std::string (*GetLocalizedString)(int dwCode);
+ std::string (*GetDVDMenuLanguage)();
+
+protected:
+ int (*XBMC_register_me)(void *HANDLE);
+ void (*XBMC_unregister_me)();
+
+private:
+ void *m_libXBMC_addon;
+ void *m_Handle;
+ struct cb_array
+ {
+ const char* libPath;
+ };
+};
diff --git a/addons/library.xbmc.gui/libXBMC_gui.h b/addons/library.xbmc.gui/libXBMC_gui.h
new file mode 100644
index 0000000000..8d9c33d032
--- /dev/null
+++ b/addons/library.xbmc.gui/libXBMC_gui.h
@@ -0,0 +1,325 @@
+#pragma once
+/*
+ * Copyright (C) 2005-2010 Team XBMC
+ * http://www.xbmc.org
+ *
+ * This Program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * This Program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with XBMC; see the file COPYING. If not, write to
+ * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ */
+
+#include <string>
+#include <vector>
+#include <string.h>
+#include <stdlib.h>
+#include <stdio.h>
+
+typedef void* GUIHANDLE;
+
+#ifndef _LINUX
+#include "../library.xbmc.addon/dlfcn-win32.h"
+#define GUI_HELPER_DLL "\\library.xbmc.gui\\libXBMC_gui.dll"
+#else
+#include <dlfcn.h>
+#if defined(__APPLE__)
+#if defined(__POWERPC__)
+#define GUI_HELPER_DLL "/library.xbmc.gui/libXBMC_gui-powerpc-osx.so"
+#else
+#define GUI_HELPER_DLL "/library.xbmc.gui/libXBMC_gui-x86-osx.so"
+#endif
+#elif defined(__x86_64__)
+#define GUI_HELPER_DLL "/library.xbmc.gui/libXBMC_gui-x86_64-linux.so"
+#elif defined(_POWERPC)
+#define GUI_HELPER_DLL "/library.xbmc.gui/libXBMC_gui-powerpc-linux.so"
+#elif defined(_POWERPC64)
+#define GUI_HELPER_DLL "/library.xbmc.gui/libXBMC_gui-powerpc64-linux.so"
+#else /* !__x86_64__ && !__powerpc__ */
+#define GUI_HELPER_DLL "/library.xbmc.gui/libXBMC_gui-i486-linux.so"
+#endif /* __x86_64__ */
+#endif /* _LINUX */
+
+#define ADDON_ACTION_PREVIOUS_MENU 10
+#define ADDON_ACTION_CLOSE_DIALOG 51
+
+class cGUIWindow;
+class cGUISpinControl;
+class cGUIRadioButton;
+class cGUIProgressControl;
+class cListItem;
+
+class cHelper_libXBMC_gui
+{
+public:
+ cHelper_libXBMC_gui()
+ {
+ m_libXBMC_gui = NULL;
+ m_Handle = NULL;
+ }
+
+ ~cHelper_libXBMC_gui()
+ {
+ if (m_libXBMC_gui)
+ {
+ GUI_unregister_me();
+ dlclose(m_libXBMC_gui);
+ }
+ }
+
+ bool RegisterMe(void *Handle)
+ {
+ m_Handle = Handle;
+
+ std::string libBasePath;
+ libBasePath = ((cb_array*)m_Handle)->libPath;
+ libBasePath += GUI_HELPER_DLL;
+
+ m_libXBMC_gui = dlopen(libBasePath.c_str(), RTLD_LAZY);
+ if (m_libXBMC_gui == NULL)
+ {
+ fprintf(stderr, "Unable to load %s\n", dlerror());
+ return false;
+ }
+
+ GUI_register_me = (int (*)(void *HANDLE))
+ dlsym(m_libXBMC_gui, "GUI_register_me");
+ if (GUI_register_me == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; }
+
+ GUI_unregister_me = (void (*)())
+ dlsym(m_libXBMC_gui, "GUI_unregister_me");
+ if (GUI_unregister_me == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; }
+
+ Lock = (void (*)())
+ dlsym(m_libXBMC_gui, "GUI_lock");
+ if (Lock == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; }
+
+ Unlock = (void (*)())
+ dlsym(m_libXBMC_gui, "GUI_unlock");
+ if (Unlock == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; }
+
+ GetScreenHeight = (int (*)())
+ dlsym(m_libXBMC_gui, "GUI_get_screen_height");
+ if (GetScreenHeight == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; }
+
+ GetScreenWidth = (int (*)())
+ dlsym(m_libXBMC_gui, "GUI_get_screen_width");
+ if (GetScreenWidth == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; }
+
+ GetVideoResolution = (int (*)())
+ dlsym(m_libXBMC_gui, "GUI_get_video_resolution");
+ if (GetVideoResolution == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; }
+
+ Window_create = (cGUIWindow* (*)(const char *xmlFilename, const char *defaultSkin, bool forceFallback, bool asDialog))
+ dlsym(m_libXBMC_gui, "GUI_Window_create");
+ if (Window_create == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; }
+
+ Window_destroy = (void (*)(cGUIWindow* p))
+ dlsym(m_libXBMC_gui, "GUI_Window_destroy");
+ if (Window_destroy == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; }
+
+ Control_getSpin = (cGUISpinControl* (*)(cGUIWindow *window, int controlId))
+ dlsym(m_libXBMC_gui, "GUI_control_get_spin");
+ if (Control_getSpin == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; }
+
+ Control_releaseSpin = (void (*)(cGUISpinControl* p))
+ dlsym(m_libXBMC_gui, "GUI_control_release_spin");
+ if (Control_releaseSpin == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; }
+
+ Control_getRadioButton = (cGUIRadioButton* (*)(cGUIWindow *window, int controlId))
+ dlsym(m_libXBMC_gui, "GUI_control_get_radiobutton");
+ if (Control_getRadioButton == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; }
+
+ Control_releaseRadioButton = (void (*)(cGUIRadioButton* p))
+ dlsym(m_libXBMC_gui, "GUI_control_release_radiobutton");
+ if (Control_releaseRadioButton == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; }
+
+ Control_getProgress = (cGUIProgressControl* (*)(cGUIWindow *window, int controlId))
+ dlsym(m_libXBMC_gui, "GUI_control_get_progress");
+ if (Control_getProgress == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; }
+
+ Control_releaseProgress = (void (*)(cGUIProgressControl* p))
+ dlsym(m_libXBMC_gui, "GUI_control_release_progress");
+ if (Control_releaseProgress == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; }
+
+ ListItem_create = (cListItem* (*)(const char *label, const char *label2, const char *iconImage, const char *thumbnailImage, const char *path))
+ dlsym(m_libXBMC_gui, "GUI_ListItem_create");
+ if (ListItem_create == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; }
+
+ ListItem_destroy = (void (*)(cListItem* p))
+ dlsym(m_libXBMC_gui, "GUI_ListItem_destroy");
+ if (ListItem_destroy == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; }
+
+
+ return GUI_register_me(m_Handle) > 0;
+ }
+
+ void (*Lock)();
+ void (*Unlock)();
+ int (*GetScreenHeight)();
+ int (*GetScreenWidth)();
+ int (*GetVideoResolution)();
+ cGUIWindow* (*Window_create)(const char *xmlFilename, const char *defaultSkin, bool forceFallback, bool asDialog);
+ void (*Window_destroy)(cGUIWindow* p);
+ cGUISpinControl* (*Control_getSpin)(cGUIWindow *window, int controlId);
+ void (*Control_releaseSpin)(cGUISpinControl* p);
+ cGUIRadioButton* (*Control_getRadioButton)(cGUIWindow *window, int controlId);
+ void (*Control_releaseRadioButton)(cGUIRadioButton* p);
+ cGUIProgressControl* (*Control_getProgress)(cGUIWindow *window, int controlId);
+ void (*Control_releaseProgress)(cGUIProgressControl* p);
+ cListItem* (*ListItem_create)(const char *label, const char *label2, const char *iconImage, const char *thumbnailImage, const char *path);
+ void (*ListItem_destroy)(cListItem* p);
+
+protected:
+ int (*GUI_register_me)(void *HANDLE);
+ void (*GUI_unregister_me)();
+
+private:
+ void *m_libXBMC_gui;
+ void *m_Handle;
+ struct cb_array
+ {
+ const char* libPath;
+ };
+};
+
+class cGUISpinControl
+{
+public:
+ cGUISpinControl(cGUIWindow *window, int controlId);
+ virtual ~cGUISpinControl(void) {}
+
+ virtual void SetVisible(bool yesNo);
+ virtual void SetText(const char *label);
+ virtual void Clear();
+ virtual void AddLabel(const char *label, int iValue);
+ virtual int GetValue();
+ virtual void SetValue(int iValue);
+
+private:
+ cGUIWindow *m_Window;
+ int m_ControlId;
+ GUIHANDLE m_SpinHandle;
+};
+
+class cGUIRadioButton
+{
+public:
+ cGUIRadioButton(cGUIWindow *window, int controlId);
+ ~cGUIRadioButton() {}
+
+ virtual void SetVisible(bool yesNo);
+ virtual void SetText(const char *label);
+ virtual void SetSelected(bool yesNo);
+ virtual bool IsSelected();
+
+private:
+ cGUIWindow *m_Window;
+ int m_ControlId;
+ GUIHANDLE m_ButtonHandle;
+};
+
+class cGUIProgressControl
+{
+public:
+ cGUIProgressControl(cGUIWindow *window, int controlId);
+ virtual ~cGUIProgressControl(void) {}
+
+ virtual void SetPercentage(float fPercent);
+ virtual float GetPercentage() const;
+ virtual void SetInfo(int iInfo);
+ virtual int GetInfo() const;
+ virtual std::string GetDescription() const;
+
+private:
+ cGUIWindow *m_Window;
+ int m_ControlId;
+ GUIHANDLE m_ProgressHandle;
+};
+
+class cListItem
+{
+friend class cGUIWindow;
+
+public:
+ cListItem(const char *label, const char *label2, const char *iconImage, const char *thumbnailImage, const char *path);
+ virtual ~cListItem(void) {}
+
+ virtual const char *GetLabel();
+ virtual void SetLabel(const char *label);
+ virtual const char *GetLabel2();
+ virtual void SetLabel2(const char *label);
+ virtual void SetIconImage(const char *image);
+ virtual void SetThumbnailImage(const char *image);
+ virtual void SetInfo(const char *Info);
+ virtual void SetProperty(const char *key, const char *value);
+ virtual const char *GetProperty(const char *key) const;
+ virtual void SetPath(const char *Path);
+
+// {(char*)"select();
+// {(char*)"isSelected();
+protected:
+ GUIHANDLE m_ListItemHandle;
+};
+
+class cGUIWindow
+{
+friend class cGUISpinControl;
+friend class cGUIRadioButton;
+friend class cGUIProgressControl;
+
+public:
+ cGUIWindow(const char *xmlFilename, const char *defaultSkin, bool forceFallback, bool asDialog);
+ ~cGUIWindow();
+
+ virtual bool Show();
+ virtual void Close();
+ virtual void DoModal();
+ virtual bool SetFocusId(int iControlId);
+ virtual int GetFocusId();
+ virtual bool SetCoordinateResolution(int res);
+ virtual void SetProperty(const char *key, const char *value);
+ virtual void SetPropertyInt(const char *key, int value);
+ virtual void SetPropertyBool(const char *key, bool value);
+ virtual void SetPropertyDouble(const char *key, double value);
+ virtual const char *GetProperty(const char *key) const;
+ virtual int GetPropertyInt(const char *key) const;
+ virtual bool GetPropertyBool(const char *key) const;
+ virtual double GetPropertyDouble(const char *key) const;
+ virtual void ClearProperties();
+ virtual int GetListSize();
+ virtual void ClearList();
+ virtual GUIHANDLE AddStringItem(const char *name, int itemPosition = -1);
+ virtual void AddItem(GUIHANDLE item, int itemPosition = -1);
+ virtual void AddItem(cListItem *item, int itemPosition = -1);
+ virtual void RemoveItem(int itemPosition);
+ virtual GUIHANDLE GetListItem(int listPos);
+ virtual void SetCurrentListPosition(int listPos);
+ virtual int GetCurrentListPosition();
+ virtual void SetControlLabel(int controlId, const char *label);
+
+ virtual bool OnClick(int controlId);
+ virtual bool OnFocus(int controlId);
+ virtual bool OnInit();
+ virtual bool OnAction(int actionId);
+
+ GUIHANDLE m_cbhdl;
+ bool (*CBOnInit)(GUIHANDLE cbhdl);
+ bool (*CBOnFocus)(GUIHANDLE cbhdl, int controlId);
+ bool (*CBOnClick)(GUIHANDLE cbhdl, int controlId);
+ bool (*CBOnAction)(GUIHANDLE cbhdl, int actionId);
+
+protected:
+ GUIHANDLE m_WindowHandle;
+};
+
diff --git a/addons/library.xbmc.pvr/libXBMC_pvr.h b/addons/library.xbmc.pvr/libXBMC_pvr.h
new file mode 100644
index 0000000000..69c531bf6a
--- /dev/null
+++ b/addons/library.xbmc.pvr/libXBMC_pvr.h
@@ -0,0 +1,165 @@
+#pragma once
+/*
+ * Copyright (C) 2005-2010 Team XBMC
+ * http://www.xbmc.org
+ *
+ * This Program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * This Program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with XBMC; see the file COPYING. If not, write to
+ * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ */
+
+#include <string>
+#include <vector>
+#include <string.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include "xbmc_pvr_types.h"
+
+#ifndef _LINUX
+#include "../library.xbmc.addon/dlfcn-win32.h"
+#define PVR_HELPER_DLL "\\library.xbmc.pvr\\libXBMC_pvr.dll"
+#else
+#include <dlfcn.h>
+#if defined(__APPLE__)
+#if defined(__POWERPC__)
+#define PVR_HELPER_DLL "/library.xbmc.pvr/libXBMC_pvr-powerpc-osx.so"
+#else
+#define PVR_HELPER_DLL "/library.xbmc.pvr/libXBMC_pvr-x86-osx.so"
+#endif
+#elif defined(__x86_64__)
+#define PVR_HELPER_DLL "/library.xbmc.pvr/libXBMC_pvr-x86_64-linux.so"
+#elif defined(_POWERPC)
+#define PVR_HELPER_DLL "/library.xbmc.pvr/libXBMC_pvr-powerpc-linux.so"
+#elif defined(_POWERPC64)
+#define PVR_HELPER_DLL "/library.xbmc.pvr/libXBMC_pvr-powerpc64-linux.so"
+#else /* !__x86_64__ && !__powerpc__ */
+#define PVR_HELPER_DLL "/library.xbmc.pvr/libXBMC_pvr-i486-linux.so"
+#endif /* __x86_64__ */
+#endif /* _LINUX */
+
+#define DVD_TIME_BASE 1000000
+#define DVD_NOPTS_VALUE (-1LL<<52) // should be possible to represent in both double and __int64
+
+class cHelper_libXBMC_pvr
+{
+public:
+ cHelper_libXBMC_pvr()
+ {
+ m_libXBMC_pvr = NULL;
+ m_Handle = NULL;
+ }
+
+ ~cHelper_libXBMC_pvr()
+ {
+ if (m_libXBMC_pvr)
+ {
+ PVR_unregister_me();
+ dlclose(m_libXBMC_pvr);
+ }
+ }
+
+ bool RegisterMe(void *Handle)
+ {
+ m_Handle = Handle;
+
+ std::string libBasePath;
+ libBasePath = ((cb_array*)m_Handle)->libPath;
+ libBasePath += PVR_HELPER_DLL;
+
+ m_libXBMC_pvr = dlopen(libBasePath.c_str(), RTLD_LAZY);
+ if (m_libXBMC_pvr == NULL)
+ {
+ fprintf(stderr, "Unable to load %s\n", dlerror());
+ return false;
+ }
+
+ PVR_register_me = (int (*)(void *HANDLE))
+ dlsym(m_libXBMC_pvr, "PVR_register_me");
+ if (PVR_register_me == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; }
+
+ PVR_unregister_me = (void (*)())
+ dlsym(m_libXBMC_pvr, "PVR_unregister_me");
+ if (PVR_unregister_me == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; }
+
+ TransferEpgEntry = (void (*)(const PVRHANDLE handle, const PVR_PROGINFO *epgentry))
+ dlsym(m_libXBMC_pvr, "PVR_transfer_epg_entry");
+ if (TransferEpgEntry == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; }
+
+ TransferChannelEntry = (void (*)(const PVRHANDLE handle, const PVR_CHANNEL *chan))
+ dlsym(m_libXBMC_pvr, "PVR_transfer_channel_entry");
+ if (TransferChannelEntry == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; }
+
+ TransferTimerEntry = (void (*)(const PVRHANDLE handle, const PVR_TIMERINFO *timer))
+ dlsym(m_libXBMC_pvr, "PVR_transfer_timer_entry");
+ if (TransferTimerEntry == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; }
+
+ TransferRecordingEntry = (void (*)(const PVRHANDLE handle, const PVR_RECORDINGINFO *recording))
+ dlsym(m_libXBMC_pvr, "PVR_transfer_recording_entry");
+ if (TransferRecordingEntry == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; }
+
+ AddMenuHook = (void (*)(PVR_MENUHOOK *hook))
+ dlsym(m_libXBMC_pvr, "PVR_add_menu_hook");
+ if (AddMenuHook == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; }
+
+ Recording = (void (*)(const char *Name, const char *FileName, bool On))
+ dlsym(m_libXBMC_pvr, "PVR_recording");
+ if (Recording == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; }
+
+ TriggerTimerUpdate = (void (*)())
+ dlsym(m_libXBMC_pvr, "PVR_trigger_timer_update");
+ if (TriggerTimerUpdate == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; }
+
+ TriggerRecordingUpdate = (void (*)())
+ dlsym(m_libXBMC_pvr, "PVR_trigger_recording_update");
+ if (TriggerRecordingUpdate == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; }
+
+#ifdef USE_DEMUX
+ FreeDemuxPacket = (void (*)(DemuxPacket* pPacket))
+ dlsym(m_libXBMC_pvr, "PVR_free_demux_packet");
+ if (FreeDemuxPacket == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; }
+
+ AllocateDemuxPacket = (DemuxPacket* (*)(int iDataSize))
+ dlsym(m_libXBMC_pvr, "PVR_allocate_demux_packet");
+ if (AllocateDemuxPacket == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; }
+#endif
+
+ return PVR_register_me(m_Handle) > 0;
+ }
+
+ void (*TransferEpgEntry)(const PVRHANDLE handle, const PVR_PROGINFO *epgentry);
+ void (*TransferChannelEntry)(const PVRHANDLE handle, const PVR_CHANNEL *chan);
+ void (*TransferTimerEntry)(const PVRHANDLE handle, const PVR_TIMERINFO *timer);
+ void (*TransferRecordingEntry)(const PVRHANDLE handle, const PVR_RECORDINGINFO *recording);
+ void (*AddMenuHook)(PVR_MENUHOOK *hook);
+ void (*Recording)(const char *Name, const char *FileName, bool On);
+ void (*TriggerTimerUpdate)();
+ void (*TriggerRecordingUpdate)();
+#ifdef USE_DEMUX
+ void (*FreeDemuxPacket)(DemuxPacket* pPacket);
+ DemuxPacket* (*AllocateDemuxPacket)(int iDataSize);
+#endif
+
+protected:
+ int (*PVR_register_me)(void *HANDLE);
+ void (*PVR_unregister_me)();
+
+private:
+ void *m_libXBMC_pvr;
+ void *m_Handle;
+ struct cb_array
+ {
+ const char* libPath;
+ };
+};
diff --git a/addons/pvr.hts/addon.xml b/addons/pvr.hts/addon.xml
new file mode 100644
index 0000000000..66cf72b0da
--- /dev/null
+++ b/addons/pvr.hts/addon.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<addon
+ id="pvr.hts"
+ version="1.0.0"
+ name="Tvheadend HTSP Client"
+ provider-name="Alwin Esch, Team XBMC">
+ <requires>
+ <c-pluff version="0.1"/>
+ </requires>
+ <extension
+ point="xbmc.pvrclient"
+ library_linux="XBMC_Tvheadend.pvr"
+ library_osx="XBMC_Tvheadend.pvr"
+ library_wingl="XBMC_Tvheadend_win32.pvr"
+ library_windx="XBMC_Tvheadend_win32.pvr"/>
+ <extension point="xbmc.addon.metadata">
+ <summary>XBMC's frontend for Tvheadend</summary>
+ <description>Tvheadend frontend; supporting streaming of Live TV &amp; Recordings, EPG, Timers</description>
+ <disclaimer>This is unstable software! The authors are in no way responsible for failed recordings, incorrect timers, wasted hours, or any other undesirable effects..</disclaimer>
+ <platform>all</platform>
+ </extension>
+</addon>
diff --git a/addons/pvr.hts/icon.png b/addons/pvr.hts/icon.png
new file mode 100644
index 0000000000..874edccfec
--- /dev/null
+++ b/addons/pvr.hts/icon.png
Binary files differ
diff --git a/addons/pvr.hts/pthreadVC2.dll b/addons/pvr.hts/pthreadVC2.dll
new file mode 100644
index 0000000000..fdea6760d6
--- /dev/null
+++ b/addons/pvr.hts/pthreadVC2.dll
Binary files differ
diff --git a/addons/pvr.hts/pthreadVC2d.dll b/addons/pvr.hts/pthreadVC2d.dll
new file mode 100644
index 0000000000..6fffdc45d4
--- /dev/null
+++ b/addons/pvr.hts/pthreadVC2d.dll
Binary files differ
diff --git a/addons/pvr.hts/resources/language/Dutch/strings.xml b/addons/pvr.hts/resources/language/Dutch/strings.xml
new file mode 100644
index 0000000000..840e485c94
--- /dev/null
+++ b/addons/pvr.hts/resources/language/Dutch/strings.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<strings>
+ <!-- settings labels -->
+ <string id="30000">Tvheadend server naam of IP</string>
+ <string id="30001">HTTP Poort</string>
+ <string id="30002">HTSP Poort</string>
+ <string id="30003">Gebruikersnaam</string>
+ <string id="30004">Wachtwoord</string>
+ <string id="30005">Sla eerste I-frame over</string>
+ <string id="30006">Gids tijdscorrectie</string>
+</strings>
diff --git a/addons/pvr.hts/resources/language/English/strings.xml b/addons/pvr.hts/resources/language/English/strings.xml
new file mode 100644
index 0000000000..17c523d05a
--- /dev/null
+++ b/addons/pvr.hts/resources/language/English/strings.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<strings>
+ <!-- settings labels -->
+ <string id="30000">Tvheadend Hostname or IP</string>
+ <string id="30001">HTTP Port</string>
+ <string id="30002">HTSP Port</string>
+ <string id="30003">Username</string>
+ <string id="30004">Password</string>
+ <string id="30005">Skip First I-frame</string>
+ <string id="30006">EPG offset correction</string>
+</strings>
diff --git a/addons/pvr.hts/resources/language/German/strings.xml b/addons/pvr.hts/resources/language/German/strings.xml
new file mode 100644
index 0000000000..31d407162f
--- /dev/null
+++ b/addons/pvr.hts/resources/language/German/strings.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<strings>
+ <!-- settings labels -->
+ <string id="30000">Tvheadend Hostname oder IP</string>
+ <string id="30001">HTTP Port</string>
+ <string id="30002">HTSP Port</string>
+ <string id="30003">Benutzername</string>
+ <string id="30004">Passwort</string>
+</strings>
diff --git a/addons/pvr.hts/resources/settings.xml b/addons/pvr.hts/resources/settings.xml
new file mode 100644
index 0000000000..539b988f59
--- /dev/null
+++ b/addons/pvr.hts/resources/settings.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<settings>
+ <setting id="host" type="text" label="30000" default="127.0.0.1" />
+ <setting id="http_port" type="integer" label="30001" default="9981" />
+ <setting id="htsp_port" type="integer" label="30002" default="9982" />
+ <setting id="user" type="text" label="30003" default="" />
+ <setting id="pass" type="text" label="30004" option="hidden" default="" />
+ <setting id="skip_I_frame" type="bool" label="30005" default="true" />
+ <setting id="epg_offset_correction" type="enum" label="30006" values="-12|-11|-10|-9|-8|-7|-6|-5|-4|-3|-2|-1|0|1|2|3|4|5|6|7|8|9|10|11|12" default="12" />
+</settings>
diff --git a/addons/pvr.mythtv/addon.xml b/addons/pvr.mythtv/addon.xml
new file mode 100644
index 0000000000..dac8f16356
--- /dev/null
+++ b/addons/pvr.mythtv/addon.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<addon
+ id="pvr.mythtv"
+ version="1.0.0"
+ name="MythTV PVR Client"
+ provider-name="Miscelleaneous People">
+ <requires>
+ <c-pluff version="0.1"/>
+ </requires>
+ <extension
+ point="xbmc.pvrclient"
+ library_linux="XBMC_MythTV.pvr"
+ library_osx="XBMC_MythTV.pvr"
+ library_wingl="XBMC_MythTV_win32.pvr"
+ library_windx="XBMC_MythTV_win32.pvr"/>
+ <extension point="xbmc.addon.metadata">
+ <summary>XBMC's frontend for MythTV</summary>
+ <description>MythTV frontend; supporting streaming of Live TV &amp; Recordings, EPG, Timers</description>
+ <disclaimer>This is unstable software! The authors are in no way responsible for failed recordings, incorrect timers, wasted hours, or any other undesirable effects..</disclaimer>
+ <platform>all</platform>
+ </extension>
+</addon>
+
diff --git a/addons/pvr.mythtv/resources/language/English/strings.xml b/addons/pvr.mythtv/resources/language/English/strings.xml
new file mode 100644
index 0000000000..bb3167c523
--- /dev/null
+++ b/addons/pvr.mythtv/resources/language/English/strings.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<strings>
+ <!-- settings labels -->
+ <string id="30000">MythTV Backend Hostname or IP</string>
+ <string id="30001">MythXML Port</string>
+</strings>
+
diff --git a/addons/pvr.mythtv/resources/settings.xml b/addons/pvr.mythtv/resources/settings.xml
new file mode 100644
index 0000000000..f50e749cfa
--- /dev/null
+++ b/addons/pvr.mythtv/resources/settings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<settings>
+ <setting id="host" type="text" label="30000" option="urlencoded" default="127.0.0.1" />
+ <setting id="mythXMLPort" type="integer" label="30001" default="6544" />
+</settings>
+
diff --git a/addons/pvr.team-mediaportal.tvserver/addon.xml b/addons/pvr.team-mediaportal.tvserver/addon.xml
new file mode 100644
index 0000000000..cd5593ce53
--- /dev/null
+++ b/addons/pvr.team-mediaportal.tvserver/addon.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<addon
+ id="pvr.team-mediaportal.tvserver"
+ version="1.0.0"
+ name="MediaPortal PVR Client"
+ provider-name="Marcel Groothuis">
+ <requires>
+ <c-pluff version="0.1"/>
+ </requires>
+ <extension
+ point="xbmc.pvrclient"
+ library_linux="XBMC_MPTV.pvr"
+ library_osx="XBMC_MPTV.pvr"
+ library_wingl="XBMC_MPTV_WIN32.pvr"
+ library_windx="XBMC_MPTV_WIN32.pvr"/>
+ <extension point="xbmc.addon.metadata">
+ <summary>XBMC frontend for the MediaPortal TV Server</summary>
+ <description>MediaPortal TV Server frontend; supporting streaming of Live TV &amp; Recordings, EPG, Timers.</description>
+ <disclaimer>This is unstable software! The authors are in no way responsible for failed recordings, incorrect timers, wasted hours, or any other undesirable effects..</disclaimer>
+ <platform>all</platform>
+ </extension>
+</addon>
diff --git a/addons/pvr.team-mediaportal.tvserver/icon.jpg b/addons/pvr.team-mediaportal.tvserver/icon.jpg
new file mode 100644
index 0000000000..dbc561e6ff
--- /dev/null
+++ b/addons/pvr.team-mediaportal.tvserver/icon.jpg
Binary files differ
diff --git a/addons/pvr.team-mediaportal.tvserver/resources/language/Dutch/strings.xml b/addons/pvr.team-mediaportal.tvserver/resources/language/Dutch/strings.xml
new file mode 100644
index 0000000000..7bbf986e37
--- /dev/null
+++ b/addons/pvr.team-mediaportal.tvserver/resources/language/Dutch/strings.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<strings>
+ <!-- settings labels -->
+ <string id="30000">Mediaportal hostnaam</string>
+ <string id="30001">Mediaportal XBMC plugin poort</string>
+ <string id="30002">Alleen vrij te ontvangen kanalen</string>
+ <string id="30003">Toon radio</string>
+ <string id="30004">Tekenset conversie (UTF-8)</string>
+ <string id="30005">Verbindingstimeout (s)</string>
+ <string id="30006">Importeer alleen TV kanalen uit groep</string>
+ <string id="30007">Importeer alleen radio kanalen uit groep</string>
+ <string id="30008">Converteer hostnaam naar IP adres</string>
+ <string id="30009">EPG: Genre tekst inlezen (traag)</string>
+</strings>
diff --git a/addons/pvr.team-mediaportal.tvserver/resources/language/English/strings.xml b/addons/pvr.team-mediaportal.tvserver/resources/language/English/strings.xml
new file mode 100644
index 0000000000..4c681c13f4
--- /dev/null
+++ b/addons/pvr.team-mediaportal.tvserver/resources/language/English/strings.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<strings>
+ <!-- settings labels -->
+ <string id="30000">Mediaportal Hostname</string>
+ <string id="30001">Mediaportal XBMC plugin Port</string>
+ <string id="30002">Free-to-air only</string>
+ <string id="30003">Include Radio</string>
+ <string id="30004">Character Set Conversion</string>
+ <string id="30005">Connect timeout (s)</string>
+ <string id="30006">Import only TV Channels from group</string>
+ <string id="30007">Import only Radio Channels from group</string>
+ <string id="30008">Convert hostname to IP-adress</string>
+ <string id="30009">EPG: Read genre strings (slow)</string>
+</strings>
diff --git a/addons/pvr.team-mediaportal.tvserver/resources/language/German/strings.xml b/addons/pvr.team-mediaportal.tvserver/resources/language/German/strings.xml
new file mode 100644
index 0000000000..d995e187a7
--- /dev/null
+++ b/addons/pvr.team-mediaportal.tvserver/resources/language/German/strings.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<strings>
+ <!-- settings labels -->
+ <string id="30000">Mediaportal Hostname oder IP</string>
+ <string id="30001">Mediaportal Port</string>
+ <string id="30002">Nur frei empfangbare Kanäle</string>
+ <string id="30003">Zeige Radiokanäle</string>
+ <string id="30004">Textkonvertierung (UTF-8)</string>
+ <string id="30005">Verbindungszeitüberlauf (s)</string>
+ <string id="30006">Importiere nur TV Kanäle aus Gruppe</string>
+ <string id="30007">Importiere nur Radiokanäle aus Gruppe</string>
+ <string id="30008">Konvertiere Hostname nach IP-Adresse</string>
+ <string id="30009">EPG: Genre Texte hochladen (langsam)</string>
+</strings>
diff --git a/addons/pvr.team-mediaportal.tvserver/resources/settings.xml b/addons/pvr.team-mediaportal.tvserver/resources/settings.xml
new file mode 100644
index 0000000000..523da8fab4
--- /dev/null
+++ b/addons/pvr.team-mediaportal.tvserver/resources/settings.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<settings>
+ <setting id="host" type="ipaddress" label="30000" default="127.0.0.1" />
+ <setting id="port" type="integer" label="30001" default="9596" />
+ <setting id="ftaonly" type="bool" label="30002" default="false" />
+ <setting id="useradio" type="bool" label="30003" default="true" />
+ <setting id="convertchar" type="bool" label="30004" default="false" />
+ <setting id="timeout" type="enum" label="30005" values="0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15" default="3"/>
+ <setting id="tvgroup" type="text" label="30006" default="" />
+ <setting id="radiogroup" type="text" label="30007" default="" />
+ <setting id="resolvertsphostname" type="bool" label="30008" default="false" />
+ <setting id="readgenre" type="bool" label="30009" default="false" />
+</settings>
diff --git a/addons/pvr.vdr.streamdev/addon.xml b/addons/pvr.vdr.streamdev/addon.xml
new file mode 100644
index 0000000000..3367c23844
--- /dev/null
+++ b/addons/pvr.vdr.streamdev/addon.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<addon
+ id="pvr.vdr.streamdev"
+ version="1.0.0"
+ name="VDR Streamdev Client"
+ provider-name="Alwin Esch, Team XBMC">
+ <requires>
+ <c-pluff version="0.1"/>
+ </requires>
+ <extension
+ point="xbmc.pvrclient"
+ library_linux="XBMC_VDR.pvr"
+ library_osx="XBMC_VDR.pvr"
+ library_wingl="XBMC_VDR_WIN32.pvr"
+ library_windx="XBMC_VDR_WIN32.pvr"/>
+ <extension point="xbmc.addon.metadata">
+ <summary>PVR client to connect VDR to XBMC over the Streamdev interface</summary>
+ <description>VDR frontend; supporting streaming of Live TV &amp; Recordings, EPG, Timers over the VNSI plugin</description>
+ <description lang="de">Erlaubt das wiedergeben von Live TV und Aufnahmen mittels VDR auf XBMC. Des weiteren werden EPG, Kanalsuche und Timer unterstützt.</description>
+ <disclaimer>This is unstable software! The authors are in no way responsible for failed recordings, incorrect timers, wasted hours, or any other undesirable effects..</disclaimer>
+ <platform>all</platform>
+ </extension>
+</addon>
diff --git a/addons/pvr.vdr.streamdev/icon.jpg b/addons/pvr.vdr.streamdev/icon.jpg
new file mode 100644
index 0000000000..37be1c9240
--- /dev/null
+++ b/addons/pvr.vdr.streamdev/icon.jpg
Binary files differ
diff --git a/addons/pvr.vdr.streamdev/pthreadVC2.dll b/addons/pvr.vdr.streamdev/pthreadVC2.dll
new file mode 100644
index 0000000000..fdea6760d6
--- /dev/null
+++ b/addons/pvr.vdr.streamdev/pthreadVC2.dll
Binary files differ
diff --git a/addons/pvr.vdr.streamdev/pthreadVC2d.dll b/addons/pvr.vdr.streamdev/pthreadVC2d.dll
new file mode 100644
index 0000000000..6fffdc45d4
--- /dev/null
+++ b/addons/pvr.vdr.streamdev/pthreadVC2d.dll
Binary files differ
diff --git a/addons/pvr.vdr.streamdev/resources/data/noSignal.mpg b/addons/pvr.vdr.streamdev/resources/data/noSignal.mpg
new file mode 100644
index 0000000000..ebf1ff1140
--- /dev/null
+++ b/addons/pvr.vdr.streamdev/resources/data/noSignal.mpg
Binary files differ
diff --git a/addons/pvr.vdr.streamdev/resources/language/Dutch/strings.xml b/addons/pvr.vdr.streamdev/resources/language/Dutch/strings.xml
new file mode 100644
index 0000000000..cb648d0c35
--- /dev/null
+++ b/addons/pvr.vdr.streamdev/resources/language/Dutch/strings.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<strings>
+ <!-- settings labels -->
+ <string id="30000">VDR Hostnaam</string>
+ <string id="30001">Streamdev Poort</string>
+ <string id="30002">Alleen Free-to-air</string>
+ <string id="30003">Radio zenders laten zien</string>
+ <string id="30004">Karakter set conversie</string>
+ <string id="30005">Connectie timeout (s)</string>
+ <string id="30006">Negeer kanalen zonder VPID and APID</string>
+ <string id="30007">Berichten vanuit VDR toestaan</string>
+ <string id="30008">Prioriteit</string>
+ <string id="30009">Lees opnames van directory</string>
+ <string id="30010">VDR opname directory</string>
+</strings>
diff --git a/addons/pvr.vdr.streamdev/resources/language/English/strings.xml b/addons/pvr.vdr.streamdev/resources/language/English/strings.xml
new file mode 100644
index 0000000000..11b6614a8d
--- /dev/null
+++ b/addons/pvr.vdr.streamdev/resources/language/English/strings.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<strings>
+ <!-- settings labels -->
+ <string id="30000">VDR Hostname</string>
+ <string id="30001">Streamdev Port</string>
+ <string id="30002">Free-to-air only</string>
+ <string id="30003">Include Radio</string>
+ <string id="30004">Character Set Conversion</string>
+ <string id="30005">Connect timeout (s)</string>
+ <string id="30006">Ignore Channels without VPID and APID</string>
+ <string id="30007">Allow VDR Messages</string>
+ <string id="30008">Priority</string>
+ <string id="30009">Read recordings from directory</string>
+ <string id="30010">VDR recordings directory</string>
+</strings>
diff --git a/addons/pvr.vdr.streamdev/resources/language/German/strings.xml b/addons/pvr.vdr.streamdev/resources/language/German/strings.xml
new file mode 100644
index 0000000000..cbea98d42e
--- /dev/null
+++ b/addons/pvr.vdr.streamdev/resources/language/German/strings.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<strings>
+ <!-- settings labels -->
+ <string id="30000">VDR Hostname oder IP</string>
+ <string id="30001">Streamdev Port</string>
+ <string id="30002">Nur frei empfangbare Kanäle</string>
+ <string id="30003">Zeige Radiokanäle</string>
+ <string id="30004">Textkonvertierung (UTF-8)</string>
+ <string id="30005">Verbindungszeitüberlauf (s)</string>
+ <string id="30006">Ignoriere Känale ohne VPID und APID</string>
+ <string id="30007">VDR Nachrichten erlauben</string>
+ <string id="30008">Priorität</string>
+ <string id="30009">Aufnahmen aus Ordner lesen</string>
+ <string id="30010">VDR Aufnahmeordner</string>
+</strings>
diff --git a/addons/pvr.vdr.streamdev/resources/settings.xml b/addons/pvr.vdr.streamdev/resources/settings.xml
new file mode 100644
index 0000000000..15162922cb
--- /dev/null
+++ b/addons/pvr.vdr.streamdev/resources/settings.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<settings>
+ <setting id="host" type="text" label="30000" default="127.0.0.1" />
+ <setting id="port" type="integer" label="30001" default="2004" />
+ <setting id="priority" type="enum" label="30008" values="-1|0|5|10|15|20|25|30|35|40|45|50|55|60|65|70|75|80|85|90|95|99|100" default="99"/>
+ <setting id="ftaonly" type="bool" label="30002" default="false" />
+ <setting id="useradio" type="bool" label="30003" default="true" />
+ <setting id="convertchar" type="bool" label="30004" default="true" />
+ <setting id="timeout" type="enum" label="30005" values="0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15" default="3"/>
+ <setting id="ignorechannels" type="bool" label="30006" default="true" />
+ <setting id="handlemessages" type="bool" label="30007" default="true" />
+ <setting id="usedirectory" type="bool" label="30009" default="false" />
+ <setting id="recordingdir" type="folder" label="30010" default="/" />
+</settings>
diff --git a/addons/pvr.vdr.vnsi/addon.xml b/addons/pvr.vdr.vnsi/addon.xml
new file mode 100644
index 0000000000..a0b1e0383c
--- /dev/null
+++ b/addons/pvr.vdr.vnsi/addon.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<addon
+ id="pvr.vdr.vnsi"
+ version="1.0.0"
+ name="VDR VNSI Client"
+ provider-name="Alwin Esch, Team XBMC">
+ <requires>
+ <c-pluff version="0.1"/>
+ </requires>
+ <extension
+ point="xbmc.pvrclient"
+ library_linux="XBMC_VDR_vnsi.pvr"
+ library_osx="XBMC_VDR_vnsi.pvr"
+ library_wingl="XBMC_VDR_vnsi_WIN32.pvr"
+ library_windx="XBMC_VDR_vnsi_WIN32.pvr"/>
+ <extension point="xbmc.addon.metadata">
+ <summary>PVR client to connect VDR to XBMC over the VNSI interface</summary>
+ <description>VDR frontend; supporting streaming of Live TV &amp; Recordings, EPG, Timers over the VNSI plugin</description>
+ <description lang="de">Erlaubt das wiedergeben von Live TV und Aufnahmen mittels VDR auf XBMC. Des weiteren werden EPG, Kanalsuche und Timer unterstützt.</description>
+ <disclaimer>This is unstable software! The authors are in no way responsible for failed recordings, incorrect timers, wasted hours, or any other undesirable effects..</disclaimer>
+ <platform>all</platform>
+ </extension>
+</addon>
diff --git a/addons/pvr.vdr.vnsi/icon.jpg b/addons/pvr.vdr.vnsi/icon.jpg
new file mode 100644
index 0000000000..d021160874
--- /dev/null
+++ b/addons/pvr.vdr.vnsi/icon.jpg
Binary files differ
diff --git a/addons/pvr.vdr.vnsi/pthreadVC2.dll b/addons/pvr.vdr.vnsi/pthreadVC2.dll
new file mode 100644
index 0000000000..fdea6760d6
--- /dev/null
+++ b/addons/pvr.vdr.vnsi/pthreadVC2.dll
Binary files differ
diff --git a/addons/pvr.vdr.vnsi/pthreadVC2d.dll b/addons/pvr.vdr.vnsi/pthreadVC2d.dll
new file mode 100644
index 0000000000..6fffdc45d4
--- /dev/null
+++ b/addons/pvr.vdr.vnsi/pthreadVC2d.dll
Binary files differ
diff --git a/addons/pvr.vdr.vnsi/resources/language/Dutch/strings.xml b/addons/pvr.vdr.vnsi/resources/language/Dutch/strings.xml
new file mode 100644
index 0000000000..7a8883148a
--- /dev/null
+++ b/addons/pvr.vdr.vnsi/resources/language/Dutch/strings.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<strings>
+ <!-- settings labels -->
+ <string id="30000">VDR hostnaam of IP adres</string>
+ <string id="30001">VNSI Poort</string>
+ <string id="30002">Prioriteit</string>
+ <string id="30003">Character Set Conversie</string>
+ <string id="30004">Connectie timeout (s)</string>
+ <string id="30005">Berichten vanuit VDR toestaan</string>
+ <string id="30006">Lees opnames van directory</string>^M
+ <string id="30007">VDR opname directory</string>^M
+ <string id="30008">Kanalen scannen</string>
+ <string id="30009">Kanalen scan - opties</string>
+ <string id="30010">kanalen scan starten</string>
+ <string id="30011">Bron Type</string>
+ <string id="30012">TV kanalen</string>
+ <string id="30013">Radio kanalen</string>
+ <string id="30014">FTA kanalen</string>
+ <string id="30015">Gecodeerde kanalen</string>
+ <string id="30016">HD kanalen</string>
+ <string id="30017">Land</string>
+ <string id="30018">Kabel Inversion</string>
+ <string id="30019">Kabel Symbolrate</string>
+ <string id="30020">Kabel modulation</string>
+ <string id="30021">Antenne Inversion</string>
+ <string id="30022">Sateliet</string>
+ <string id="30023">ATSC type</string>
+ <string id="30024">Terug</string>
+ <string id="30025">Kanalen zoeken - bezig... %i %%</string>
+ <string id="30026">Type:</string>
+ <string id="30027">Device:</string>
+ <string id="30028">Scan: %i</string>
+ <string id="30029">Signaal: %i %%</string>
+ <string id="30030">Nieuwe kanalen: %i</string>
+ <string id="30031">Alle kanalen: %i</string>
+ <string id="30032">Analoge TV</string>
+ <string id="30033">Analoge Radio</string>
+ <string id="30034">Transponder:</string>
+ <string id="30035">Nieuwe kanalen</string>
+ <string id="30036">Kanalen zoeken - Klaar</string>
+ <string id="30037">Geen device beschikbaar - exiting</string>
+ <string id="30038">Geen DVB-S2 apparaat beschikbaar - We vallen terug op DVB-S</string>
+ <string id="30039">Bezig</string>
+ <string id="30040">Gestopt</string>
+ <string id="30041">Klaar</string>
+ <string id="30042">Kanalen scan - Geanuleerd</string>
+ <string id="30043">Kanalen scan - Fout</string>
+</strings>
diff --git a/addons/pvr.vdr.vnsi/resources/language/English/strings.xml b/addons/pvr.vdr.vnsi/resources/language/English/strings.xml
new file mode 100644
index 0000000000..19006dc8c3
--- /dev/null
+++ b/addons/pvr.vdr.vnsi/resources/language/English/strings.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<strings>
+ <!-- settings labels -->
+ <string id="30000">VDR Hostname or IP</string>
+ <string id="30001">VNSI Port</string>
+ <string id="30002">Priority</string>
+ <string id="30003">Character Set Conversion</string>
+ <string id="30004">Connect timeout (s)</string>
+ <string id="30005">Allow VDR Messages</string>
+ <string id="30006">Read recordings from directory</string>
+ <string id="30007">VDR recordings directory</string>
+ <string id="30008">Channel search</string>
+ <string id="30009">Channel search - Settings</string>
+ <string id="30010">Start Channel search</string>
+ <string id="30011">Source Type</string>
+ <string id="30012">TV channels</string>
+ <string id="30013">Radio channels</string>
+ <string id="30014">FTA channels</string>
+ <string id="30015">Scrambled channels</string>
+ <string id="30016">HD channels</string>
+ <string id="30017">Country</string>
+ <string id="30018">Cable Inversion</string>
+ <string id="30019">Cable Symbolrate</string>
+ <string id="30020">Cable modulation</string>
+ <string id="30021">Terr Inversion</string>
+ <string id="30022">Satellite</string>
+ <string id="30023">ATSC Type</string>
+ <string id="30024">Back</string>
+ <string id="30025">Channel search - running... %i %%</string>
+ <string id="30026">Type:</string>
+ <string id="30027">Device:</string>
+ <string id="30028">Scan: %i</string>
+ <string id="30029">Signal: %i %%</string>
+ <string id="30030">New channels: %i</string>
+ <string id="30031">All channels: %i</string>
+ <string id="30032">Analog TV</string>
+ <string id="30033">Analog Radio</string>
+ <string id="30034">Transponder:</string>
+ <string id="30035">New channels</string>
+ <string id="30036">Channel search - Finished</string>
+ <string id="30037">No device available - exiting</string>
+ <string id="30038">No DVB-S2 device available - trying fallback to DVB-S</string>
+ <string id="30039">Running</string>
+ <string id="30040">Stopped</string>
+ <string id="30041">Finished</string>
+ <string id="30042">Channel search - Canceled</string>
+ <string id="30043">Channel search - Error</string>
+</strings>
diff --git a/addons/pvr.vdr.vnsi/resources/language/German/strings.xml b/addons/pvr.vdr.vnsi/resources/language/German/strings.xml
new file mode 100644
index 0000000000..99f1435c6a
--- /dev/null
+++ b/addons/pvr.vdr.vnsi/resources/language/German/strings.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<strings>
+ <!-- settings labels -->
+ <string id="30000">VDR Hostname oder IP</string>
+ <string id="30001">VNSI Port</string>
+ <string id="30002">Priorität</string>
+ <string id="30003">Textkonvertierung (UTF-8)</string>
+ <string id="30004">Verbindungszeitüberlauf (s)</string>
+ <string id="30005">VDR Nachrichten erlauben</string>
+ <string id="30006">Aufnahmen aus Ordner lesen</string>
+ <string id="30007">VDR Aufnahmeordner</string>
+ <string id="30008">Kanalsuche</string>
+ <string id="30009">Kanalsuche - Einstellungen</string>
+ <string id="30010">Kanalsuche starten</string>
+ <string id="30011">Empfangsart</string>
+ <string id="30012">TV Kanäle</string>
+ <string id="30013">Radio Kanäle</string>
+ <string id="30014">Frei empfangbare Kanäle</string>
+ <string id="30015">Verschlüsselte Kanäle</string>
+ <string id="30016">HD Kanäle</string>
+ <string id="30017">Land</string>
+ <string id="30018">Kabel Inversion</string>
+ <string id="30019">Kabel Symbolrate</string>
+ <string id="30020">Kabel Modulation</string>
+ <string id="30021">Terrestrisch Inversion</string>
+ <string id="30022">Satellit</string>
+ <string id="30023">ATSC Type</string>
+ <string id="30024">Zurück</string>
+ <string id="30025">Kanalsuche - läuft... %i %%</string>
+ <string id="30026">Empfangsart:</string>
+ <string id="30027">Gerät:</string>
+ <string id="30028">Fortschritt: %i</string>
+ <string id="30029">Signal: %i %%</string>
+ <string id="30030">Neue Kanäle: %i</string>
+ <string id="30031">Alle Kanäle: %i</string>
+ <string id="30032">Analog TV</string>
+ <string id="30033">Analog Radio</string>
+ <string id="30034">Transponder:</string>
+ <string id="30035">Neue Kanäle</string>
+ <string id="30036">Kanalsuche - Abgeschlossen</string>
+ <string id="30037">Kein Empfangsgerät verfügbar</string>
+ <string id="30038">Kein DVB-S2 Empfangsgerät verfügbar - versuche DVB-S</string>
+ <string id="30039">Läuft...</string>
+ <string id="30040">Angehalten</string>
+ <string id="30041">Fertig</string>
+ <string id="30042">Kanalsuche - Abgebrochen</string>
+ <string id="30043">Kanalsuche - Fehler</string>
+</strings>
diff --git a/addons/pvr.vdr.vnsi/resources/settings.xml b/addons/pvr.vdr.vnsi/resources/settings.xml
new file mode 100644
index 0000000000..d557cab22d
--- /dev/null
+++ b/addons/pvr.vdr.vnsi/resources/settings.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<settings>
+ <setting id="host" type="text" label="30000" default="127.0.0.1" />
+ <setting id="port" type="integer" label="30001" default="34890" />
+ <setting id="priority" type="enum" label="30002" values="-1|0|5|10|15|20|25|30|35|40|45|50|55|60|65|70|75|80|85|90|95|99|100" default="99"/>
+ <setting id="convertchar" type="bool" label="30003" default="true" />
+ <setting id="timeout" type="enum" label="30004" values="0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15" default="3"/>
+ <setting id="handlemessages" type="bool" label="30005" default="true" />
+ <setting id="usedirectory" type="bool" label="30006" default="false" />
+ <setting id="recordingdir" type="folder" label="30007" default="/" />
+</settings>
diff --git a/addons/pvr.vdr.vnsi/resources/skins/Confluence/720p/ChannelScan.xml b/addons/pvr.vdr.vnsi/resources/skins/Confluence/720p/ChannelScan.xml
new file mode 100644
index 0000000000..e4f6338255
--- /dev/null
+++ b/addons/pvr.vdr.vnsi/resources/skins/Confluence/720p/ChannelScan.xml
@@ -0,0 +1,733 @@
+<window>
+ <defaultcontrol always="true">5</defaultcontrol>
+ <allowoverlay>no</allowoverlay>
+ <views>2</views>
+ <controls>
+ <include>CommonSettingsBackground</include>
+ <include>CommonMediaPlayingBackground</include>
+ <control type="group">
+ <posx>90</posx>
+ <posy>50</posy>
+ <animation type="WindowOpen" reversible="false">
+ <effect type="zoom" start="80" end="100" center="640,360" easing="out" tween="back" time="300" />
+ <effect type="fade" start="0" end="100" time="300" />
+ </animation>
+ <animation type="WindowClose" reversible="false">
+ <effect type="zoom" start="100" end="80" center="640,360" easing="in" tween="back" time="300" />
+ <effect type="fade" start="100" end="0" time="300" />
+ </animation>
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>1100</width>
+ <height>640</height>
+ <texture border="20">DialogBack.png</texture>
+ </control>
+ <control type="image">
+ <description>LOGO</description>
+ <posx>30</posx>
+ <posy>15</posy>
+ <width>220</width>
+ <height>80</height>
+ <aspectratio>keep</aspectratio>
+ <texture>Confluence_Logo.png</texture>
+ </control>
+ <control type="image">
+ <posx>268</posx>
+ <posy>10</posy>
+ <width>790</width>
+ <height>618</height>
+ <texture border="5">black-back2.png</texture>
+ </control>
+ <control type="image">
+ <posx>268</posx>
+ <posy>10</posy>
+ <width>804</width>
+ <height>70</height>
+ <aspectratio>stretch</aspectratio>
+ <texture>GlassTitleBar.png</texture>
+ </control>
+ <control type="label" id ="8">
+ <description>header label</description>
+ <posx>300</posx>
+ <posy>20</posy>
+ <width>740</width>
+ <height>30</height>
+ <font>font16caps</font>
+ <label>$ADDON[pvr.vdr.vnsi 30009]</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ </control>
+ <control type="button" id ="5">
+ <description>Start/Stop Channel search</description>
+ <posx>10</posx>
+ <posy>90</posy>
+ <width>260</width>
+ <height>60</height>
+ <textoffsety>13</textoffsety>
+ <label>$ADDON[pvr.vdr.vnsi 30010]</label>
+ <font>font13_title</font>
+ <align>right</align>
+ <aligny>center</aligny>
+ <texturenofocus border="5">MenuItemNF.png</texturenofocus>
+ <texturefocus border="5">MenuItemFO.png</texturefocus>
+ <onleft>2</onleft>
+ <onright>10</onright>
+ <onup>6</onup>
+ <ondown>6</ondown>
+ </control>
+ <control type="button" id ="6">
+ <description>Cancel</description>
+ <posx>10</posx>
+ <posy>150</posy>
+ <width>260</width>
+ <height>60</height>
+ <textoffsety>13</textoffsety>
+ <label>$ADDON[pvr.vdr.vnsi 30024]</label>
+ <font>font13_title</font>
+ <align>right</align>
+ <aligny>center</aligny>
+ <texturenofocus border="5">MenuItemNF.png</texturenofocus>
+ <texturefocus border="5">MenuItemFO.png</texturefocus>
+ <onleft>10</onleft>
+ <onright>10</onright>
+ <onup>5</onup>
+ <ondown>5</ondown>
+ <visible>IsEmpty(Window.Property(Scanning))</visible>
+ </control>
+ <control type="group">
+ <visible>IsEmpty(Window.Property(Scanning))</visible>
+ <control type="spincontrolex" id="10">
+ <description>Source Type</description>
+ <posx>268</posx>
+ <posy>80</posy>
+ <width>790</width>
+ <height>40</height>
+ <font>font13</font>
+ <textcolor>grey2</textcolor>
+ <focusedcolor>white</focusedcolor>
+ <texturefocus border="0,2,0,2">MenuItemFO.png</texturefocus>
+ <texturenofocus border="0,2,0,2">MenuItemNF.png</texturenofocus>
+ <aligny>center</aligny>
+ <label>$ADDON[pvr.vdr.vnsi 30011]</label>
+ <onright>5</onright>
+ <onleft>5</onleft>
+ <onup>22</onup>
+ <ondown>11</ondown>
+ </control>
+ <control type="radiobutton" id="11">
+ <description>Default RadioButton</description>
+ <posx>268</posx>
+ <posy>120</posy>
+ <width>790</width>
+ <height>40</height>
+ <font>font13</font>
+ <textcolor>grey2</textcolor>
+ <focusedcolor>white</focusedcolor>
+ <texturefocus border="0,2,0,2">MenuItemFO.png</texturefocus>
+ <texturenofocus border="0,2,0,2">MenuItemNF.png</texturenofocus>
+ <label>$ADDON[pvr.vdr.vnsi 30012]</label>
+ <onright>5</onright>
+ <onleft>5</onleft>
+ <onup>10</onup>
+ <ondown>12</ondown>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(10)">Conditional</animation>
+ </control>
+ <control type="radiobutton" id="12">
+ <description>Default RadioButton</description>
+ <posx>268</posx>
+ <posy>160</posy>
+ <width>790</width>
+ <height>40</height>
+ <font>font13</font>
+ <textcolor>grey2</textcolor>
+ <focusedcolor>white</focusedcolor>
+ <texturefocus border="0,2,0,2">MenuItemFO.png</texturefocus>
+ <texturenofocus border="0,2,0,2">MenuItemNF.png</texturenofocus>
+ <label>$ADDON[pvr.vdr.vnsi 30013]</label>
+ <onright>5</onright>
+ <onleft>5</onleft>
+ <onup>11</onup>
+ <ondown>13</ondown>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(10)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(11)">Conditional</animation>
+ </control>
+ <control type="radiobutton" id="13">
+ <description>Default RadioButton</description>
+ <posx>268</posx>
+ <posy>200</posy>
+ <width>790</width>
+ <height>40</height>
+ <font>font13</font>
+ <textcolor>grey2</textcolor>
+ <focusedcolor>white</focusedcolor>
+ <texturefocus border="0,2,0,2">MenuItemFO.png</texturefocus>
+ <texturenofocus border="0,2,0,2">MenuItemNF.png</texturenofocus>
+ <label>$ADDON[pvr.vdr.vnsi 30014]</label>
+ <onright>5</onright>
+ <onleft>5</onleft>
+ <onup>12</onup>
+ <ondown>14</ondown>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(10)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(11)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(12)">Conditional</animation>
+ </control>
+ <control type="radiobutton" id="14">
+ <description>Default RadioButton</description>
+ <posx>268</posx>
+ <posy>240</posy>
+ <width>790</width>
+ <height>40</height>
+ <font>font13</font>
+ <textcolor>grey2</textcolor>
+ <focusedcolor>white</focusedcolor>
+ <texturefocus border="0,2,0,2">MenuItemFO.png</texturefocus>
+ <texturenofocus border="0,2,0,2">MenuItemNF.png</texturenofocus>
+ <label>$ADDON[pvr.vdr.vnsi 30015]</label>
+ <onright>5</onright>
+ <onleft>5</onleft>
+ <onup>13</onup>
+ <ondown>15</ondown>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(10)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(11)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(12)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(13)">Conditional</animation>
+ </control>
+ <control type="radiobutton" id="15">
+ <description>Default RadioButton</description>
+ <posx>268</posx>
+ <posy>280</posy>
+ <width>790</width>
+ <height>40</height>
+ <font>font13</font>
+ <textcolor>grey2</textcolor>
+ <focusedcolor>white</focusedcolor>
+ <texturefocus border="0,2,0,2">MenuItemFO.png</texturefocus>
+ <texturenofocus border="0,2,0,2">MenuItemNF.png</texturenofocus>
+ <label>$ADDON[pvr.vdr.vnsi 30016]</label>
+ <onright>5</onright>
+ <onleft>5</onleft>
+ <onup>14</onup>
+ <ondown>16</ondown>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(10)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(11)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(12)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(13)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(14)">Conditional</animation>
+ </control>
+ <control type="spincontrolex" id="16">
+ <description>Country selection</description>
+ <posx>268</posx>
+ <posy>320</posy>
+ <width>790</width>
+ <height>40</height>
+ <font>font13</font>
+ <textcolor>grey2</textcolor>
+ <focusedcolor>white</focusedcolor>
+ <texturefocus border="0,2,0,2">MenuItemFO.png</texturefocus>
+ <texturenofocus border="0,2,0,2">MenuItemNF.png</texturenofocus>
+ <aligny>center</aligny>
+ <label>$ADDON[pvr.vdr.vnsi 30017]</label>
+ <onright>5</onright>
+ <onleft>5</onleft>
+ <onup>15</onup>
+ <ondown>17</ondown>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(10)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(11)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(12)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(13)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(14)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(15)">Conditional</animation>
+ </control>
+ <control type="spincontrolex" id="17">
+ <description>Satellite selection</description>
+ <posx>268</posx>
+ <posy>360</posy>
+ <width>790</width>
+ <height>40</height>
+ <font>font13</font>
+ <textcolor>grey2</textcolor>
+ <focusedcolor>white</focusedcolor>
+ <texturefocus border="0,2,0,2">MenuItemFO.png</texturefocus>
+ <texturenofocus border="0,2,0,2">MenuItemNF.png</texturenofocus>
+ <aligny>center</aligny>
+ <label>$ADDON[pvr.vdr.vnsi 30022]</label>
+ <onright>5</onright>
+ <onleft>5</onleft>
+ <onup>16</onup>
+ <ondown>18</ondown>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(10)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(11)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(12)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(13)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(14)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(15)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(16)">Conditional</animation>
+ </control>
+ <control type="spincontrolex" id="18">
+ <description>DVB-C Inversion</description>
+ <posx>268</posx>
+ <posy>400</posy>
+ <width>790</width>
+ <height>40</height>
+ <font>font13</font>
+ <textcolor>grey2</textcolor>
+ <focusedcolor>white</focusedcolor>
+ <texturefocus border="0,2,0,2">MenuItemFO.png</texturefocus>
+ <texturenofocus border="0,2,0,2">MenuItemNF.png</texturenofocus>
+ <aligny>center</aligny>
+ <label>$ADDON[pvr.vdr.vnsi 30018]</label>
+ <onright>5</onright>
+ <onleft>5</onleft>
+ <onup>17</onup>
+ <ondown>29</ondown>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(10)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(11)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(12)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(13)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(14)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(15)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(16)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(17)">Conditional</animation>
+ </control>
+ <control type="spincontrolex" id="29">
+ <description>DVB-C Symbolrate</description>
+ <posx>268</posx>
+ <posy>440</posy>
+ <width>790</width>
+ <height>40</height>
+ <font>font13</font>
+ <textcolor>grey2</textcolor>
+ <focusedcolor>white</focusedcolor>
+ <texturefocus border="0,2,0,2">MenuItemFO.png</texturefocus>
+ <texturenofocus border="0,2,0,2">MenuItemNF.png</texturenofocus>
+ <aligny>center</aligny>
+ <label>$ADDON[pvr.vdr.vnsi 30019]</label>
+ <onright>5</onright>
+ <onleft>5</onleft>
+ <onup>18</onup>
+ <ondown>20</ondown>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(10)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(11)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(12)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(13)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(14)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(15)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(16)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(17)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(18)">Conditional</animation>
+ </control>
+ <control type="spincontrolex" id="20">
+ <description>DVB-C QAM</description>
+ <posx>268</posx>
+ <posy>480</posy>
+ <width>790</width>
+ <height>40</height>
+ <font>font13</font>
+ <textcolor>grey2</textcolor>
+ <focusedcolor>white</focusedcolor>
+ <texturefocus border="0,2,0,2">MenuItemFO.png</texturefocus>
+ <texturenofocus border="0,2,0,2">MenuItemNF.png</texturenofocus>
+ <aligny>center</aligny>
+ <label>$ADDON[pvr.vdr.vnsi 30020]</label>
+ <onright>5</onright>
+ <onleft>5</onleft>
+ <onup>29</onup>
+ <ondown>21</ondown>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(10)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(11)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(12)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(13)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(14)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(15)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(16)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(17)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(18)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(29)">Conditional</animation>
+ </control>
+ <control type="spincontrolex" id="21">
+ <description>DVB-T Inversion</description>
+ <posx>268</posx>
+ <posy>520</posy>
+ <width>790</width>
+ <height>40</height>
+ <font>font13</font>
+ <textcolor>grey2</textcolor>
+ <focusedcolor>white</focusedcolor>
+ <texturefocus border="0,2,0,2">MenuItemFO.png</texturefocus>
+ <texturenofocus border="0,2,0,2">MenuItemNF.png</texturenofocus>
+ <aligny>center</aligny>
+ <label>$ADDON[pvr.vdr.vnsi 30021]</label>
+ <onright>5</onright>
+ <onleft>5</onleft>
+ <onup>20</onup>
+ <ondown>22</ondown>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(10)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(11)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(12)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(13)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(14)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(15)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(16)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(17)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(18)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(29)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(20)">Conditional</animation>
+ </control>
+ <control type="spincontrolex" id="22">
+ <description>ATSC Type</description>
+ <posx>268</posx>
+ <posy>560</posy>
+ <width>790</width>
+ <height>40</height>
+ <font>font13</font>
+ <textcolor>grey2</textcolor>
+ <focusedcolor>white</focusedcolor>
+ <texturefocus border="0,2,0,2">MenuItemFO.png</texturefocus>
+ <texturenofocus border="0,2,0,2">MenuItemNF.png</texturenofocus>
+ <aligny>center</aligny>
+ <label>$ADDON[pvr.vdr.vnsi 30023]</label>
+ <onright>5</onright>
+ <onleft>5</onleft>
+ <onup>21</onup>
+ <ondown>10</ondown>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(10)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(11)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(12)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(13)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(14)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(15)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(16)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(17)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(18)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(29)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(20)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-40" time="100" condition="!Control.IsVisible(21)">Conditional</animation>
+ </control>
+ </control>
+ <control type="group">
+ <visible>!IsEmpty(Window.Property(Scanning))</visible>
+ <control type="progress" id ="32">
+ <description>Progressbar</description>
+ <posx>275</posx>
+ <posy>60</posy>
+ <width>780</width>
+ <height>14</height>
+ </control>
+ <control type="label">
+ <description>type label</description>
+ <posx>275</posx>
+ <posy>85</posy>
+ <width>250</width>
+ <height>30</height>
+ <font>font13</font>
+ <label>$ADDON[pvr.vdr.vnsi 30026]</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>grey</textcolor>
+ <shadowcolor>black</shadowcolor>
+ </control>
+ <control type="label" id ="30">
+ <description>type value</description>
+ <posx>1040</posx>
+ <posy>85</posy>
+ <width>500</width>
+ <height>30</height>
+ <font>font13</font>
+ <label>-</label>
+ <align>right</align>
+ <aligny>center</aligny>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ </control>
+ <control type="label">
+ <description>device label</description>
+ <posx>275</posx>
+ <posy>115</posy>
+ <width>250</width>
+ <height>30</height>
+ <font>font13</font>
+ <label>$ADDON[pvr.vdr.vnsi 30027]</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ </control>
+ <control type="label" id ="31">
+ <description>device value</description>
+ <posx>1040</posx>
+ <posy>115</posy>
+ <width>500</width>
+ <height>30</height>
+ <font>font13</font>
+ <label>-</label>
+ <align>right</align>
+ <aligny>center</aligny>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ </control>
+ <control type="label">
+ <description>transponder label</description>
+ <posx>275</posx>
+ <posy>145</posy>
+ <width>250</width>
+ <height>30</height>
+ <font>font13</font>
+ <label>$ADDON[pvr.vdr.vnsi 30034]</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ </control>
+ <control type="label" id ="33">
+ <description>transponder value</description>
+ <posx>1040</posx>
+ <posy>145</posy>
+ <width>500</width>
+ <height>30</height>
+ <font>font13</font>
+ <label>-</label>
+ <align>right</align>
+ <aligny>center</aligny>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ </control>
+ <control type="progress" id ="35">
+ <description>Progressbar</description>
+ <posx>30</posx>
+ <posy>160</posy>
+ <width>220</width>
+ <height>50</height>
+ </control>
+ <control type="label" id ="34">
+ <description>Signal label</description>
+ <posx>40</posx>
+ <posy>168</posy>
+ <width>250</width>
+ <height>30</height>
+ <font>font13</font>
+ <label>-</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ </control>
+ <control type="image">
+ <posx>215</posx>
+ <posy>170</posy>
+ <width>30</width>
+ <height>30</height>
+ <aspectratio>stretch</aspectratio>
+ <texture>amt-overlay-watched.png</texture>
+ <visible>!IsEmpty(Window.Property(Locked))</visible>
+ </control>
+ <control type="list" id="2">
+ <posx>290</posx>
+ <posy>180</posy>
+ <width>750</width>
+ <height>400</height>
+ <onup>2</onup>
+ <ondown>2</ondown>
+ <onleft>10</onleft>
+ <onright>60</onright>
+ <pagecontrol>60</pagecontrol>
+ <scrolltime>200</scrolltime>
+ <itemlayout height="40" width="750">
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>750</width>
+ <height>40</height>
+ <aspectratio>stretch</aspectratio>
+ <texture border="5">MenuItemNF.png</texture>
+ </control>
+ <control type="image">
+ <posx>710</posx>
+ <posy>5</posy>
+ <width>40</width>
+ <height>30</height>
+ <aspectratio>stretch</aspectratio>
+ <texture>OverlayLocked.png</texture>
+ <visible>!IsEmpty(ListItem.Property(IsEncrypted))</visible>
+ </control>
+ <control type="image">
+ <posx>690</posx>
+ <posy>7</posy>
+ <width>60</width>
+ <height>25</height>
+ <aspectratio>stretch</aspectratio>
+ <texture>OverlayHD.png</texture>
+ <animation effect="slide" start="0,0" end="-45,0" time="100" condition="!IsEmpty(ListItem.Property(IsEncrypted))">Conditional</animation>
+ <visible>!IsEmpty(ListItem.Property(IsHD))</visible>
+ </control>
+ <control type="image">
+ <posx>0</posx>
+ <posy>2</posy>
+ <width>36</width>
+ <height>36</height>
+ <aspectratio>stretch</aspectratio>
+ <texture>DefaultVideoCover.png</texture>
+ <visible>IsEmpty(ListItem.Property(IsRadio))</visible>
+ </control>
+ <control type="image">
+ <posx>0</posx>
+ <posy>2</posy>
+ <width>36</width>
+ <height>36</height>
+ <aspectratio>stretch</aspectratio>
+ <texture>DefaultAlbumCover.png</texture>
+ <visible>!IsEmpty(ListItem.Property(IsRadio))</visible>
+ </control>
+ <control type="label">
+ <posx>45</posx>
+ <posy>0</posy>
+ <width>500</width>
+ <height>40</height>
+ <font>font14</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>grey2</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <info>ListItem.Label</info>
+ </control>
+ </itemlayout>
+ <focusedlayout height="40" width="750">
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>750</width>
+ <height>40</height>
+ <aspectratio>stretch</aspectratio>
+ <texture border="5">MenuItemNF.png</texture>
+ <visible>!Control.HasFocus(2)</visible>
+ <include>VisibleFadeEffect</include>
+ </control>
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>750</width>
+ <height>40</height>
+ <aspectratio>stretch</aspectratio>
+ <texture border="5">MenuItemFO.png</texture>
+ <visible>Control.HasFocus(2)</visible>
+ <include>VisibleFadeEffect</include>
+ </control>
+ <control type="image">
+ <posx>710</posx>
+ <posy>5</posy>
+ <width>40</width>
+ <height>30</height>
+ <aspectratio>stretch</aspectratio>
+ <texture>OverlayLocked.png</texture>
+ <visible>!IsEmpty(ListItem.Property(IsEncrypted))</visible>
+ </control>
+ <control type="image">
+ <posx>690</posx>
+ <posy>7</posy>
+ <width>60</width>
+ <height>25</height>
+ <aspectratio>stretch</aspectratio>
+ <texture>OverlayHD.png</texture>
+ <animation effect="slide" start="0,0" end="-45,0" time="100" condition="!IsEmpty(ListItem.Property(IsEncrypted))">Conditional</animation>
+ <visible>!IsEmpty(ListItem.Property(IsHD))</visible>
+ </control>
+ <control type="image">
+ <posx>0</posx>
+ <posy>2</posy>
+ <width>36</width>
+ <height>36</height>
+ <aspectratio>stretch</aspectratio>
+ <texture>DefaultVideoCover.png</texture>
+ <visible>IsEmpty(ListItem.Property(IsRadio))</visible>
+ </control>
+ <control type="image">
+ <posx>0</posx>
+ <posy>2</posy>
+ <width>36</width>
+ <height>36</height>
+ <aspectratio>stretch</aspectratio>
+ <texture>DefaultAlbumCover.png</texture>
+ <visible>!IsEmpty(ListItem.Property(IsRadio))</visible>
+ </control>
+ <control type="label">
+ <posx>45</posx>
+ <posy>0</posy>
+ <width>500</width>
+ <height>40</height>
+ <font>font14</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>grey2</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <info>ListItem.Label</info>
+ </control>
+ </focusedlayout>
+ </control>
+ <control type="scrollbar" id="60">
+ <posx>1060</posx>
+ <posy>180</posy>
+ <width>25</width>
+ <height>410</height>
+ <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
+ <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar>
+ <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus>
+ <textureslidernib>ScrollBarNib.png</textureslidernib>
+ <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
+ <onleft>2</onleft>
+ <onright>10</onright>
+ <showonepage>true</showonepage>
+ <orientation>vertical</orientation>
+ </control>
+ <control type="label">
+ <description>Page Count Label</description>
+ <posx>1040</posx>
+ <posy>600</posy>
+ <width>500</width>
+ <height>20</height>
+ <font>font12</font>
+ <textcolor>grey</textcolor>
+ <scroll>false</scroll>
+ <align>right</align>
+ <aligny>center</aligny>
+ <label>([COLOR=blue]$INFO[Container(2).NumItems][/COLOR]) $LOCALIZE[19019] - $LOCALIZE[31024] ([COLOR=blue]$INFO[Container(2).CurrentPage]/$INFO[Container(2).NumPages][/COLOR])</label>
+ </control>
+ <control type="label" id="36">
+ <description>Status Label</description>
+ <posx>275</posx>
+ <posy>590</posy>
+ <width>500</width>
+ <height>20</height>
+ <font>font14</font>
+ <textcolor>yellow</textcolor>
+ <scroll>false</scroll>
+ <align>left</align>
+ <aligny>center</aligny>
+ <label>-</label>
+ </control>
+ </control>
+ </control>
+ <include>BehindDialogFadeOut</include>
+ <control type="group">
+ <posx>60</posx>
+ <posy>0</posy>
+ <animation effect="slide" end="-310,0" time="400" tween="quadratic" easing="out">WindowClose</animation>
+ <animation effect="slide" start="-310,0" time="400" tween="quadratic" easing="out">WindowOpen</animation>
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>250</width>
+ <height>35</height>
+ <texture border="0,0,32,0">header.png</texture>
+ </control>
+ <control type="label">
+ <include>WindowTitleCommons</include>
+ <posx>220</posx>
+ <label>$ADDON[pvr.vdr.vnsi 30008]</label>
+ </control>
+ </control>
+ <include>WindowTitleHomeButton</include>
+ <include>Clock</include>
+ </controls>
+</window>
diff --git a/addons/skin.confluence/720p/DialogFullScreenInfo.xml b/addons/skin.confluence/720p/DialogFullScreenInfo.xml
index 484ebf4547..5b6be02c07 100644
--- a/addons/skin.confluence/720p/DialogFullScreenInfo.xml
+++ b/addons/skin.confluence/720p/DialogFullScreenInfo.xml
@@ -33,7 +33,7 @@
<aspectratio aligny="bottom">keep</aspectratio>
<bordertexture border="8">ThumbShadow.png</bordertexture>
<bordersize>8</bordersize>
- <visible>!VideoPlayer.Content(Movies)</visible>
+ <visible>!VideoPlayer.Content(Movies) + !VideoPlayer.Content(LiveTV)</visible>
</control>
<control type="image">
<description>Movie cover image</description>
@@ -48,6 +48,17 @@
<bordersize>8</bordersize>
<visible>VideoPlayer.Content(Movies)</visible>
</control>
+ <control type="image">
+ <description>Live TV Channel Logo image</description>
+ <posx>30</posx>
+ <posy>290r</posy>
+ <width>280</width>
+ <height>260</height>
+ <fadetime>200</fadetime>
+ <texture background="true">$INFO[VideoPlayer.Cover]</texture>
+ <aspectratio aligny="bottom">keep</aspectratio>
+ <visible>VideoPlayer.Content(LiveTV)</visible>
+ </control>
<control type="progress">
<description>Progressbar</description>
<posx>10</posx>
@@ -163,6 +174,19 @@
<posy>35</posy>
<width>880</width>
<height>30</height>
+ <label>$INFO[VideoPlayer.ChannelNumber,[COLOR=blue]([/COLOR],[COLOR=blue])[/COLOR]] $INFO[VideoPlayer.ChannelName]</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <font>font13</font>
+ <textcolor>grey</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <visible>VideoPlayer.Content(LiveTV)</visible>
+ </control>
+ <control type="label">
+ <posx>10</posx>
+ <posy>35</posy>
+ <width>880</width>
+ <height>30</height>
<label>$INFO[VideoPlayer.Artist]$INFO[VideoPlayer.Album, - ]</label>
<align>left</align>
<aligny>center</aligny>
@@ -198,6 +222,7 @@
<textcolor>grey2</textcolor>
<shadowcolor>black</shadowcolor>
<visible>Player.ChapterCount</visible>
+ <visible>!VideoPlayer.Content(LiveTV)</visible>
</control>
<control type="label">
<description>Chapter Name</description>
@@ -211,6 +236,21 @@
<font>font12_title</font>
<textcolor>grey2</textcolor>
<shadowcolor>black</shadowcolor>
+ <visible>!VideoPlayer.Content(LiveTV)</visible>
+ </control>
+ <control type="label">
+ <description>Live TV Channel Group</description>
+ <posx>0</posx>
+ <posy>110</posy>
+ <width>300</width>
+ <height>20</height>
+ <label>$INFO[VideoPlayer.ChannelGroup,[COLOR=blue]$LOCALIZE[31509]:[/COLOR] ]</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <font>font12_title</font>
+ <textcolor>grey2</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <visible>VideoPlayer.Content(LiveTV)</visible>
</control>
<control type="label">
<description>Player Times</description>
@@ -237,9 +277,24 @@
<font>font12_title</font>
<textcolor>grey2</textcolor>
<shadowcolor>black</shadowcolor>
+ <visible>!VideoPlayer.Content(LiveTV)</visible>
+ </control>
+ <control type="label">
+ <description>Next Live TV Name</description>
+ <posx>890</posx>
+ <posy>150</posy>
+ <width>890</width>
+ <height>20</height>
+ <label>[COLOR=blue]$LOCALIZE[19113] :[/COLOR] $INFO[VideoPlayer.NextTitle]</label>
+ <align>right</align>
+ <aligny>center</aligny>
+ <font>font12_title</font>
+ <textcolor>grey2</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <visible>VideoPlayer.Content(LiveTV)</visible>
</control>
</control>
</control>
<include>Clock</include>
</controls>
-</window> \ No newline at end of file
+</window>
diff --git a/addons/skin.confluence/720p/DialogPVRChannelManager.xml b/addons/skin.confluence/720p/DialogPVRChannelManager.xml
new file mode 100644
index 0000000000..5eae1f2cb7
--- /dev/null
+++ b/addons/skin.confluence/720p/DialogPVRChannelManager.xml
@@ -0,0 +1,604 @@
+<window id="605">
+ <defaultcontrol always="true">6</defaultcontrol>
+ <allowoverlay>no</allowoverlay>
+ <controls>
+ <include>CommonSettingsBackground</include>
+ <include>CommonMediaPlayingBackground</include>
+ <control type="group">
+ <posx>90</posx>
+ <posy>50</posy>
+ <animation type="WindowOpen" reversible="false">
+ <effect type="zoom" start="80" end="100" center="640,360" easing="out" tween="back" time="300" />
+ <effect type="fade" start="0" end="100" time="300" />
+ </animation>
+ <animation type="WindowClose" reversible="false">
+ <effect type="zoom" start="100" end="80" center="640,360" easing="in" tween="back" time="300" />
+ <effect type="fade" start="100" end="0" time="300" />
+ </animation>
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>1100</width>
+ <height>640</height>
+ <texture border="20">DialogBack.png</texture>
+ </control>
+ <control type="image">
+ <description>LOGO</description>
+ <posx>30</posx>
+ <posy>15</posy>
+ <width>220</width>
+ <height>80</height>
+ <aspectratio>keep</aspectratio>
+ <texture>Confluence_Logo.png</texture>
+ </control>
+ <control type="button" id ="4">
+ <description>OK Button</description>
+ <posx>10</posx>
+ <posy>90</posy>
+ <width>260</width>
+ <height>60</height>
+ <textoffsety>13</textoffsety>
+ <label>186</label>
+ <font>font13_title</font>
+ <align>right</align>
+ <aligny>top</aligny>
+ <texturenofocus border="5">MenuItemNF.png</texturenofocus>
+ <texturefocus border="5">MenuItemFO.png</texturefocus>
+ <onleft>60</onleft>
+ <onright>7</onright>
+ <onup>6</onup>
+ <ondown>5</ondown>
+ </control>
+ <control type="button" id ="5">
+ <description>Apply changes Button</description>
+ <posx>10</posx>
+ <posy>150</posy>
+ <width>260</width>
+ <height>60</height>
+ <textoffsety>13</textoffsety>
+ <label>14070</label>
+ <font>font13_title</font>
+ <align>right</align>
+ <aligny>top</aligny>
+ <texturenofocus border="5">MenuItemNF.png</texturenofocus>
+ <texturefocus border="5">MenuItemFO.png</texturefocus>
+ <onleft>60</onleft>
+ <onright>7</onright>
+ <onup>4</onup>
+ <ondown>6</ondown>
+ </control>
+ <control type="button" id ="6">
+ <description>Cancel Button</description>
+ <posx>10</posx>
+ <posy>210</posy>
+ <width>260</width>
+ <height>60</height>
+ <textoffsety>13</textoffsety>
+ <label>222</label>
+ <font>font13_title</font>
+ <align>right</align>
+ <aligny>top</aligny>
+ <texturenofocus border="5">MenuItemNF.png</texturenofocus>
+ <texturefocus border="5">MenuItemFO.png</texturefocus>
+ <onleft>60</onleft>
+ <onright>7</onright>
+ <onup>5</onup>
+ <ondown>4</ondown>
+ </control>
+ <control type="radiobutton" id ="7">
+ <description>Channel activated</description>
+ <posx>268</posx>
+ <posy>80</posy>
+ <width>380</width>
+ <height>35</height>
+ <font>font12</font>
+ <textcolor>white</textcolor>
+ <focusedcolor>white</focusedcolor>
+ <shadowcolor>black</shadowcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <texturefocus border="5">button-focus.png</texturefocus>
+ <texturenofocus border="5">button-nofocus.png</texturenofocus>
+ <pulseonselect>no</pulseonselect>
+ <label>19074</label>
+ <onleft>4</onleft>
+ <onright>20</onright>
+ <onup>33</onup>
+ <ondown>8</ondown>
+ </control>
+ <control type="edit" id ="8">
+ <description>Channel name</description>
+ <posx>268</posx>
+ <posy>115</posy>
+ <width>380</width>
+ <height>35</height>
+ <font>font12</font>
+ <textcolor>white</textcolor>
+ <focusedcolor>white</focusedcolor>
+ <shadowcolor>black</shadowcolor>
+ <texturefocus border="5">button-focus.png</texturefocus>
+ <texturenofocus border="5">button-nofocus.png</texturenofocus>
+ <label>19201</label>
+ <onright>20</onright>
+ <onleft>4</onleft>
+ <onup>7</onup>
+ <ondown>9</ondown>
+ </control>
+ <control type="button" id ="9">
+ <description>Channellogo Button</description>
+ <posx>268</posx>
+ <posy>150</posy>
+ <width>380</width>
+ <height>35</height>
+ <font>font12</font>
+ <texturefocus border="5">button-focus.png</texturefocus>
+ <texturenofocus border="5">button-nofocus.png</texturenofocus>
+ <label>19202</label>
+ <onleft>4</onleft>
+ <onright>20</onright>
+ <onup>8</onup>
+ <ondown>11</ondown>
+ </control>
+ <control type="image" id ="10">
+ <description>LOGO</description>
+ <posx>613</posx>
+ <posy>150</posy>
+ <width>35</width>
+ <height>35</height>
+ <aspectratio>keep</aspectratio>
+ <info>ListItem.Property(Icon)</info>
+ </control>
+ <control type="spincontrolex" id ="11">
+ <description>Group selection</description>
+ <posx>268</posx>
+ <posy>185</posy>
+ <width>380</width>
+ <height>35</height>
+ <font>font12</font>
+ <texturefocus border="5">button-focus.png</texturefocus>
+ <texturenofocus border="5">button-nofocus.png</texturenofocus>
+ <label>19207</label>
+ <onright>20</onright>
+ <onleft>4</onleft>
+ <onup>9</onup>
+ <ondown>12</ondown>
+ </control>
+ <control type="radiobutton" id ="12">
+ <description>EPG activated</description>
+ <posx>268</posx>
+ <posy>220</posy>
+ <width>380</width>
+ <height>35</height>
+ <font>font12</font>
+ <textcolor>white</textcolor>
+ <focusedcolor>white</focusedcolor>
+ <shadowcolor>black</shadowcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <texturefocus border="5">button-focus.png</texturefocus>
+ <texturenofocus border="5">button-nofocus.png</texturenofocus>
+ <pulseonselect>no</pulseonselect>
+ <label>19206</label>
+ <onleft>4</onleft>
+ <onright>20</onright>
+ <onup>11</onup>
+ <ondown>13</ondown>
+ </control>
+ <control type="spincontrolex" id ="13">
+ <description>EPG source</description>
+ <posx>268</posx>
+ <posy>255</posy>
+ <width>380</width>
+ <height>35</height>
+ <font>font12</font>
+ <texturefocus border="5">button-focus.png</texturefocus>
+ <texturenofocus border="5">button-nofocus.png</texturenofocus>
+ <label>19200</label>
+ <onright>20</onright>
+ <onleft>4</onleft>
+ <onup>12</onup>
+ <ondown>30</ondown>
+ </control>
+ <control type="button" id ="30">
+ <description>Group Manager Button</description>
+ <posx>268</posx>
+ <posy>425</posy>
+ <width>190</width>
+ <height>35</height>
+ <font>font12</font>
+ <texturefocus border="5">button-focus.png</texturefocus>
+ <texturenofocus border="5">button-nofocus.png</texturenofocus>
+ <align>center</align>
+ <label>19205</label>
+ <onleft>4</onleft>
+ <onright>34</onright>
+ <onup>13</onup>
+ <ondown>31</ondown>
+ </control>
+ <control type="button" id ="34">
+ <description>TV/Radio Button</description>
+ <posx>458</posx>
+ <posy>425</posy>
+ <width>190</width>
+ <height>35</height>
+ <font>font12</font>
+ <visible>IsEmpty(Window.Property(IsRadio))</visible>
+ <texturefocus border="5">button-focus.png</texturefocus>
+ <texturenofocus border="5">button-nofocus.png</texturenofocus>
+ <align>center</align>
+ <label>19024</label>
+ <onleft>30</onleft>
+ <onright>20</onright>
+ <onup>13</onup>
+ <ondown>31</ondown>
+ </control>
+ <control type="button" id ="34">
+ <description>TV/Radio Button</description>
+ <posx>458</posx>
+ <posy>425</posy>
+ <width>190</width>
+ <height>35</height>
+ <font>font12</font>
+ <visible>!IsEmpty(Window.Property(IsRadio))</visible>
+ <texturefocus border="5">button-focus.png</texturefocus>
+ <texturenofocus border="5">button-nofocus.png</texturenofocus>
+ <align>center</align>
+ <label>19023</label>
+ <onleft>30</onleft>
+ <onright>20</onright>
+ <onup>13</onup>
+ <ondown>31</ondown>
+ </control>
+ <control type="button" id ="31">
+ <description>Edit channel Button</description>
+ <posx>268</posx>
+ <posy>460</posy>
+ <width>380</width>
+ <height>35</height>
+ <font>font12</font>
+ <texturefocus border="5">button-focus.png</texturefocus>
+ <texturenofocus border="5">button-nofocus.png</texturenofocus>
+ <align>center</align>
+ <label>19203</label>
+ <onleft>4</onleft>
+ <onright>20</onright>
+ <onup>30</onup>
+ <ondown>32</ondown>
+ </control>
+ <control type="button" id ="32">
+ <description>Delete channel Button</description>
+ <posx>268</posx>
+ <posy>495</posy>
+ <width>380</width>
+ <height>35</height>
+ <font>font12</font>
+ <texturefocus border="5">button-focus.png</texturefocus>
+ <texturenofocus border="5">button-nofocus.png</texturenofocus>
+ <align>center</align>
+ <label>19211</label>
+ <onleft>4</onleft>
+ <onright>20</onright>
+ <onup>31</onup>
+ <ondown>33</ondown>
+ </control>
+ <control type="button" id ="33">
+ <description>New channel Button</description>
+ <posx>268</posx>
+ <posy>530</posy>
+ <width>380</width>
+ <height>35</height>
+ <font>font12</font>
+ <texturefocus border="5">button-focus.png</texturefocus>
+ <texturenofocus border="5">button-nofocus.png</texturenofocus>
+ <align>center</align>
+ <label>19204</label>
+ <onleft>4</onleft>
+ <onright>20</onright>
+ <onup>32</onup>
+ <ondown>7</ondown>
+ </control>
+ <control type="image">
+ <posx>670</posx>
+ <posy>60</posy>
+ <width>380</width>
+ <height>530</height>
+ <texture>ContentPanel.png</texture>
+ </control>
+ <control type="list" id="20">
+ <posx>680</posx>
+ <posy>70</posy>
+ <width>350</width>
+ <height>500</height>
+ <onup>20</onup>
+ <ondown>20</ondown>
+ <onleft>7</onleft>
+ <onright>60</onright>
+ <pagecontrol>60</pagecontrol>
+ <scrolltime>200</scrolltime>
+ <itemlayout height="40">
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>350</width>
+ <height>40</height>
+ <texture border="5">MenuItemNF.png</texture>
+ </control>
+ <control type="image">
+ <posx>0</posx>
+ <posy>5</posy>
+ <width>30</width>
+ <height>30</height>
+ <info>ListItem.Property(Icon)</info>
+ </control>
+ <control type="image">
+ <posx>0</posx>
+ <posy>5</posy>
+ <width>30</width>
+ <height>30</height>
+ <texture>black-back2.png</texture>
+ <visible>!ListItem.Property(ActiveChannel)</visible>
+ </control>
+ <control type="image">
+ <posx>320</posx>
+ <posy>5</posy>
+ <width>30</width>
+ <height>30</height>
+ <texture border="5">amt-overlay-saved.png</texture>
+ <visible>ListItem.Property(Changed)</visible>
+ </control>
+ <control type="label">
+ <posx>35</posx>
+ <posy>0</posy>
+ <width>50</width>
+ <height>35</height>
+ <font>font12</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>gray</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <info>ListItem.Property(Number)</info>
+ <visible>!ListItem.Property(ActiveChannel)</visible>
+ </control>
+ <control type="label">
+ <posx>35</posx>
+ <posy>0</posy>
+ <width>50</width>
+ <height>35</height>
+ <font>font12</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>white</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <info>ListItem.Property(Number)</info>
+ <visible>ListItem.Property(ActiveChannel)</visible>
+ </control>
+ <control type="label">
+ <posx>85</posx>
+ <posy>0</posy>
+ <width>190</width>
+ <height>35</height>
+ <font>font12</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>gray</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <info>ListItem.Property(Name)</info>
+ <visible>!ListItem.Property(ActiveChannel)</visible>
+ </control>
+ <control type="label">
+ <posx>85</posx>
+ <posy>0</posy>
+ <width>190</width>
+ <height>35</height>
+ <font>font12</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>white</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <info>ListItem.Property(Name)</info>
+ <visible>ListItem.Property(ActiveChannel)</visible>
+ </control>
+ </itemlayout>
+ <focusedlayout height="60">
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>350</width>
+ <height>60</height>
+ <texture border="5">MenuItemNF.png</texture>
+ <visible>!Control.HasFocus(20)</visible>
+ <include>VisibleFadeEffect</include>
+ </control>
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>350</width>
+ <height>60</height>
+ <texture border="5">MenuItemFO.png</texture>
+ <visible>Control.HasFocus(20)</visible>
+ <include>VisibleFadeEffect</include>
+ </control>
+ <control type="image">
+ <posx>0</posx>
+ <posy>5</posy>
+ <width>30</width>
+ <height>30</height>
+ <info>ListItem.Property(Icon)</info>
+ </control>
+ <control type="image">
+ <posx>320</posx>
+ <posy>5</posy>
+ <width>30</width>
+ <height>30</height>
+ <texture border="5">amt-overlay-saved.png</texture>
+ <visible>ListItem.Property(Changed)</visible>
+ </control>
+ <control type="label">
+ <posx>35</posx>
+ <posy>0</posy>
+ <width>50</width>
+ <height>35</height>
+ <font>font12</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>gray</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <info>ListItem.Property(Number)</info>
+ <visible>!ListItem.Property(ActiveChannel)</visible>
+ </control>
+ <control type="label">
+ <posx>35</posx>
+ <posy>0</posy>
+ <width>50</width>
+ <height>35</height>
+ <font>font12</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>white</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <info>ListItem.Property(Number)</info>
+ <visible>ListItem.Property(ActiveChannel)</visible>
+ </control>
+ <control type="label">
+ <posx>85</posx>
+ <posy>0</posy>
+ <width>190</width>
+ <height>35</height>
+ <font>font12</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>gray</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <info>ListItem.Property(Name)</info>
+ <visible>!ListItem.Property(ActiveChannel)</visible>
+ </control>
+ <control type="label">
+ <posx>85</posx>
+ <posy>0</posy>
+ <width>190</width>
+ <height>35</height>
+ <font>font12</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>white</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <info>ListItem.Property(Name)</info>
+ <visible>ListItem.Property(ActiveChannel)</visible>
+ </control>
+ <control type="label">
+ <posx>0</posx>
+ <posy>30</posy>
+ <width>350</width>
+ <height>35</height>
+ <font>font10</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>grey2</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <label>$LOCALIZE[19210]: $INFO[ListItem.Property(ClientName)]</label>
+ </control>
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>350</width>
+ <height>60</height>
+ <texture border="5">black-back2.png</texture>
+ <visible>!ListItem.Property(ActiveChannel)</visible>
+ </control>
+ </focusedlayout>
+ </control>
+ <control type="scrollbar" id="60">
+ <posx>1060</posx>
+ <posy>60</posy>
+ <width>25</width>
+ <height>530</height>
+ <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
+ <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar>
+ <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus>
+ <textureslidernib>ScrollBarNib.png</textureslidernib>
+ <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
+ <onleft>20</onleft>
+ <onright>4</onright>
+ <showonepage>false</showonepage>
+ <orientation>vertical</orientation>
+ </control>
+ <control type="label">
+ <description>Page Count Label</description>
+ <posx>1040</posx>
+ <posy>600</posy>
+ <width>500</width>
+ <height>20</height>
+ <font>font12</font>
+ <textcolor>grey</textcolor>
+ <scroll>false</scroll>
+ <align>right</align>
+ <aligny>center</aligny>
+ <label>([COLOR=blue]$INFO[Container(20).NumItems][/COLOR]) $LOCALIZE[19019] - $LOCALIZE[31024] ([COLOR=blue]$INFO[Container(20).CurrentPage]/$INFO[Container(20).NumPages][/COLOR])</label>
+ </control>
+ <control type="image">
+ <posx>268</posx>
+ <posy>10</posy>
+ <width>790</width>
+ <height>618</height>
+ <texture border="5">black-back2.png</texture>
+ </control>
+ <control type="image">
+ <posx>268</posx>
+ <posy>10</posy>
+ <width>804</width>
+ <height>70</height>
+ <aspectratio>stretch</aspectratio>
+ <texture>GlassTitleBar.png</texture>
+ </control>
+ <control type="label">
+ <description>header label</description>
+ <posx>300</posx>
+ <posy>20</posy>
+ <width>740</width>
+ <height>30</height>
+ <font>font16caps</font>
+ <label>$LOCALIZE[19199] - $LOCALIZE[19023]</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <visible>IsEmpty(Window.Property(IsRadio))</visible>
+ </control>
+ <control type="label">
+ <description>header label</description>
+ <posx>300</posx>
+ <posy>20</posy>
+ <width>740</width>
+ <height>30</height>
+ <font>font16caps</font>
+ <label>$LOCALIZE[19199] - $LOCALIZE[19024]</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <visible>!IsEmpty(Window.Property(IsRadio))</visible>
+ </control>
+ </control>
+ <include>BehindDialogFadeOut</include>
+ <control type="group">
+ <posx>60</posx>
+ <posy>0</posy>
+ <animation effect="slide" end="-310,0" time="400" tween="quadratic" easing="out">WindowClose</animation>
+ <animation effect="slide" start="-310,0" time="400" tween="quadratic" easing="out">WindowOpen</animation>
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>250</width>
+ <height>35</height>
+ <texture border="0,0,32,0">header.png</texture>
+ </control>
+ <control type="label">
+ <include>WindowTitleCommons</include>
+ <posx>220</posx>
+ <label>$LOCALIZE[19199]</label>
+ </control>
+ </control>
+ <include>WindowTitleHomeButton</include>
+ <include>Clock</include>
+ </controls>
+</window>
diff --git a/addons/skin.confluence/720p/DialogPVRChannelsOSD.xml b/addons/skin.confluence/720p/DialogPVRChannelsOSD.xml
new file mode 100644
index 0000000000..2a54c01893
--- /dev/null
+++ b/addons/skin.confluence/720p/DialogPVRChannelsOSD.xml
@@ -0,0 +1,263 @@
+<window id="609">
+ <defaultcontrol always="true">11</defaultcontrol>
+ <coordinates>
+ <system>1</system>
+ <posx>780</posx>
+ <posy>30</posy>
+ </coordinates>
+ <include>dialogeffect</include>
+ <controls>
+ <control type="group">
+ <control type="image">
+ <description>background image</description>
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>480</width>
+ <height>660</height>
+ <colordiffuse>EEFFFFFF</colordiffuse>
+ <texture border="40">DialogBack.png</texture>
+ </control>
+ <control type="button">
+ <description>Close Window button</description>
+ <posx>400</posx>
+ <posy>9</posy>
+ <width>64</width>
+ <height>32</height>
+ <label>-</label>
+ <font>-</font>
+ <onclick>PreviousMenu</onclick>
+ <texturefocus>DialogCloseButton-focus.png</texturefocus>
+ <texturenofocus>DialogCloseButton.png</texturenofocus>
+ <onleft>2</onleft>
+ <onright>2</onright>
+ <onup>2</onup>
+ <ondown>2</ondown>
+ <visible>system.getbool(input.enablemouse)</visible>
+ </control>
+ <control type="image">
+ <posx>40</posx>
+ <posy>10</posy>
+ <width>430</width>
+ <height>90</height>
+ <aspectratio>stretch</aspectratio>
+ <texture>GlassTitleBar.png</texture>
+ </control>
+ <control type="label">
+ <description>header label</description>
+ <posx>40</posx>
+ <posy>18</posy>
+ <width>430</width>
+ <height>30</height>
+ <font>font12_title</font>
+ <label>$LOCALIZE[19023] - $INFO[VideoPlayer.ChannelGroup]</label>
+ <align>center</align>
+ <aligny>center</aligny>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <visible>pvr.IsPlayingTV</visible>
+ </control>
+ <control type="label">
+ <description>header label</description>
+ <posx>40</posx>
+ <posy>18</posy>
+ <width>430</width>
+ <height>30</height>
+ <font>font12_title</font>
+ <label>$LOCALIZE[19024] - $INFO[MusicPlayer.ChannelGroup]</label>
+ <align>center</align>
+ <aligny>center</aligny>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <visible>pvr.IsPlayingRadio</visible>
+ </control>
+ <control type="list" id="11">
+ <posx>40</posx>
+ <posy>64</posy>
+ <width>390</width>
+ <height>541</height>
+ <onleft>60</onleft>
+ <onright>60</onright>
+ <onup>11</onup>
+ <ondown>11</ondown>
+ <viewtype label="535">list</viewtype>
+ <pagecontrol>60</pagecontrol>
+ <scrolltime>200</scrolltime>
+ <itemlayout height="60" width="400">
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>390</width>
+ <height>61</height>
+ <texture border="2">MenuItemNF.png</texture>
+ <include>VisibleFadeEffect</include>
+ </control>
+ <control type="label">
+ <posx>5</posx>
+ <posy>-4</posy>
+ <width>40</width>
+ <height>35</height>
+ <font>font10</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>grey</textcolor>
+ <selectedcolor>grey</selectedcolor>
+ <info>ListItem.ChannelNumber</info>
+ </control>
+ <control type="label">
+ <posx>50</posx>
+ <posy>0</posy>
+ <width>270</width>
+ <height>30</height>
+ <font>font13</font>
+ <textcolor>white</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <label>$INFO[ListItem.Label]</label>
+ </control>
+ <control type="label">
+ <posx>50</posx>
+ <posy>30</posy>
+ <width>330</width>
+ <height>30</height>
+ <font>font12</font>
+ <textcolor>grey</textcolor>
+ <selectedcolor>grey</selectedcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <visible>IsEmpty(Listitem.Icon)</visible>
+ <label>$INFO[ListItem.Title]</label>
+ </control>
+ <control type="label">
+ <posx>50</posx>
+ <posy>30</posy>
+ <width>270</width>
+ <height>30</height>
+ <font>font12</font>
+ <textcolor>grey</textcolor>
+ <selectedcolor>grey</selectedcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <visible>!IsEmpty(Listitem.Icon)</visible>
+ <label>$INFO[ListItem.Title]</label>
+ </control>
+ <control type="image">
+ <posx>330</posx>
+ <posy>4</posy>
+ <width>50</width>
+ <height>50</height>
+ <texture>$INFO[ListItem.Icon]</texture>
+ </control>
+ </itemlayout>
+ <focusedlayout height="60" width="500">
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>390</width>
+ <height>61</height>
+ <texture border="2">MenuItemNF.png</texture>
+ <visible>!Control.HasFocus(11)</visible>
+ <include>VisibleFadeEffect</include>
+ </control>
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>390</width>
+ <height>61</height>
+ <texture border="2">MenuItemFO.png</texture>
+ <visible>Control.HasFocus(11)</visible>
+ <include>VisibleFadeEffect</include>
+ </control>
+ <control type="label">
+ <posx>5</posx>
+ <posy>-4</posy>
+ <width>40</width>
+ <height>35</height>
+ <font>font10</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>grey</textcolor>
+ <selectedcolor>grey</selectedcolor>
+ <info>ListItem.ChannelNumber</info>
+ </control>
+ <control type="label">
+ <posx>50</posx>
+ <posy>0</posy>
+ <width>270</width>
+ <height>30</height>
+ <font>font13</font>
+ <textcolor>white</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <label>$INFO[ListItem.Label]</label>
+ </control>
+ <control type="label">
+ <posx>50</posx>
+ <posy>30</posy>
+ <width>330</width>
+ <height>30</height>
+ <font>font12</font>
+ <textcolor>grey</textcolor>
+ <selectedcolor>grey</selectedcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <visible>IsEmpty(Listitem.Icon)</visible>
+ <label>$INFO[ListItem.Title]</label>
+ </control>
+ <control type="label">
+ <posx>50</posx>
+ <posy>30</posy>
+ <width>270</width>
+ <height>30</height>
+ <font>font12</font>
+ <textcolor>grey</textcolor>
+ <selectedcolor>grey</selectedcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <visible>!IsEmpty(Listitem.Icon)</visible>
+ <label>$INFO[ListItem.Title]</label>
+ </control>
+ <control type="image">
+ <posx>330</posx>
+ <posy>4</posy>
+ <width>50</width>
+ <height>50</height>
+ <texture>$INFO[ListItem.Icon]</texture>
+ </control>
+ </focusedlayout>
+ </control>
+ <control type="scrollbar" id="60">
+ <posx>435</posx>
+ <posy>65</posy>
+ <width>25</width>
+ <height>541</height>
+ <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
+ <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar>
+ <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus>
+ <textureslidernib>ScrollBarNib.png</textureslidernib>
+ <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
+ <onleft>11</onleft>
+ <onright>11</onright>
+ <ondown>61</ondown>
+ <onup>61</onup>
+ <showonepage>false</showonepage>
+ <orientation>vertical</orientation>
+ </control>
+ <control type="label">
+ <description>Page Count Label</description>
+ <posx>450</posx>
+ <posy>615</posy>
+ <width>400</width>
+ <height>20</height>
+ <font>font12</font>
+ <textcolor>grey</textcolor>
+ <scroll>false</scroll>
+ <align>right</align>
+ <aligny>center</aligny>
+ <label>([COLOR=blue]$INFO[Container(11).NumItems][/COLOR]) $LOCALIZE[19019] - $LOCALIZE[31024] ([COLOR=blue]$INFO[Container(11).CurrentPage]/$INFO[Container(11).NumPages][/COLOR])</label>
+ <include>Window_OpenClose_Animation</include>
+ </control>
+ </control>
+ </controls>
+</window> \ No newline at end of file
diff --git a/addons/skin.confluence/720p/DialogPVRGroupManager.xml b/addons/skin.confluence/720p/DialogPVRGroupManager.xml
new file mode 100644
index 0000000000..f64deec78b
--- /dev/null
+++ b/addons/skin.confluence/720p/DialogPVRGroupManager.xml
@@ -0,0 +1,435 @@
+<window id="604">
+ <defaultcontrol always="true">29</defaultcontrol>
+ <controls>
+ <control type="group">
+ <visible>!Window.IsVisible(FileBrowser)</visible>
+ <animation effect="slide" start="1150,0" end="0,0" time="400" tween="quadratic" easing="out">WindowOpen</animation>
+ <animation effect="slide" start="0,0" end="1150,0" time="400" tween="quadratic" easing="out">WindowClose</animation>
+ <control type="image">
+ <posx>130</posx>
+ <posy>0</posy>
+ <width>1150</width>
+ <height>720</height>
+ <texture border="15,0,0,0" flipx="true">MediaBladeSub.png</texture>
+ </control>
+ <control type="button">
+ <description>Close Window button</description>
+ <posx>180</posx>
+ <posy>0</posy>
+ <width>64</width>
+ <height>32</height>
+ <label>-</label>
+ <font>-</font>
+ <onclick>PreviousMenu</onclick>
+ <texturefocus>DialogCloseButton-focus.png</texturefocus>
+ <texturenofocus>DialogCloseButton.png</texturenofocus>
+ <onleft>9000</onleft>
+ <onright>9000</onright>
+ <onup>9000</onup>
+ <ondown>9000</ondown>
+ <visible>system.getbool(input.enablemouse)</visible>
+ </control>
+ <control type="group">
+ <animation effect="fade" delay="400" start="0" end="100" time="200">WindowOpen</animation>
+ <animation effect="fade" start="100" end="0" time="200">WindowClose</animation>
+ <control type="label">
+ <description>header label</description>
+ <posx>160</posx>
+ <posy>50</posy>
+ <width>1080</width>
+ <height>30</height>
+ <font>font24_title</font>
+ <label>19143</label>
+ <align>center</align>
+ <aligny>center</aligny>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ </control>
+ <control type="group">
+ <description>Group list</description>
+ <posx>160</posx>
+ <posy>90</posy>
+ <control type="label">
+ <description>name label</description>
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>340</width>
+ <height>70</height>
+ <font>font13_title</font>
+ <label>31506</label>
+ <align>center</align>
+ <aligny>center</aligny>
+ <textcolor>blue</textcolor>
+ </control>
+ <control type="image">
+ <posx>0</posx>
+ <posy>75</posy>
+ <width>340</width>
+ <height>460</height>
+ <texture border="5">button-nofocus.png</texture>
+ </control>
+ <control type="list" id="13">
+ <posx>5</posx>
+ <posy>85</posy>
+ <width>330</width>
+ <height>440</height>
+ <onup>13</onup>
+ <ondown>13</ondown>
+ <onleft>29</onleft>
+ <onright>73</onright>
+ <pagecontrol>73</pagecontrol>
+ <scrolltime>200</scrolltime>
+ <itemlayout height="40">
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>330</width>
+ <height>41</height>
+ <texture border="3">MenuItemNF.png</texture>
+ </control>
+ <control type="label">
+ <posx>10</posx>
+ <posy>0</posy>
+ <width>310</width>
+ <height>40</height>
+ <font>font12</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>grey2</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <info>ListItem.Label</info>
+ </control>
+ </itemlayout>
+ <focusedlayout height="40">
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>330</width>
+ <height>41</height>
+ <visible>!Control.HasFocus(13)</visible>
+ <texture border="3">MenuItemNF.png</texture>
+ </control>
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>330</width>
+ <height>41</height>
+ <visible>Control.HasFocus(13)</visible>
+ <texture border="3">MenuItemFO.png</texture>
+ </control>
+ <control type="label">
+ <posx>10</posx>
+ <posy>0</posy>
+ <width>310</width>
+ <height>40</height>
+ <font>font12</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>white</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <info>ListItem.Label</info>
+ </control>
+ </focusedlayout>
+ </control>
+ <control type="scrollbar" id="73">
+ <posx>340</posx>
+ <posy>75</posy>
+ <width>25</width>
+ <height>460</height>
+ <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
+ <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar>
+ <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus>
+ <textureslidernib>ScrollBarNib.png</textureslidernib>
+ <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
+ <onleft>13</onleft>
+ <onright>11</onright>
+ <ondown>73</ondown>
+ <onup>73</onup>
+ <showonepage>false</showonepage>
+ <orientation>vertical</orientation>
+ </control>
+ </control>
+ <control type="group">
+ <description>Channels list</description>
+ <posx>525</posx>
+ <posy>90</posy>
+ <control type="label">
+ <description>name label</description>
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>340</width>
+ <height>70</height>
+ <font>font13_title</font>
+ <label>31507</label>
+ <align>center</align>
+ <aligny>center</aligny>
+ <textcolor>blue</textcolor>
+ </control>
+ <control type="image">
+ <posx>0</posx>
+ <posy>75</posy>
+ <width>340</width>
+ <height>460</height>
+ <texture border="5">button-nofocus.png</texture>
+ </control>
+ <control type="list" id="11">
+ <posx>5</posx>
+ <posy>85</posy>
+ <width>330</width>
+ <height>440</height>
+ <onup>11</onup>
+ <ondown>11</ondown>
+ <onleft>73</onleft>
+ <onright>71</onright>
+ <pagecontrol>71</pagecontrol>
+ <scrolltime>200</scrolltime>
+ <itemlayout height="40">
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>330</width>
+ <height>41</height>
+ <texture border="3">MenuItemNF.png</texture>
+ </control>
+ <control type="image">
+ <width>32</width>
+ <height>32</height>
+ <posx>5</posx>
+ <posy>4</posy>
+ <texture>$INFO[ListItem.Icon]</texture>
+ </control>
+ <control type="label">
+ <posx>40</posx>
+ <posy>0</posy>
+ <width>280</width>
+ <height>40</height>
+ <font>font12</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>grey2</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <label>$INFO[ListItem.ChannelNumber,(,) - ]$INFO[ListItem.ChannelName]</label>
+ </control>
+ </itemlayout>
+ <focusedlayout height="40">
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>330</width>
+ <height>41</height>
+ <visible>!Control.HasFocus(11)</visible>
+ <texture border="3">MenuItemNF.png</texture>
+ </control>
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>330</width>
+ <height>41</height>
+ <visible>Control.HasFocus(11)</visible>
+ <texture border="3">MenuItemFO.png</texture>
+ </control>
+ <control type="image">
+ <width>32</width>
+ <height>32</height>
+ <posx>5</posx>
+ <posy>4</posy>
+ <texture>$INFO[ListItem.Icon]</texture>
+ </control>
+ <control type="label">
+ <posx>40</posx>
+ <posy>0</posy>
+ <width>280</width>
+ <height>40</height>
+ <font>font12</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>white</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <label>$INFO[ListItem.ChannelNumber,(,) - ]$INFO[ListItem.ChannelName]</label>
+ </control>
+ </focusedlayout>
+ </control>
+ <control type="scrollbar" id="71">
+ <posx>340</posx>
+ <posy>75</posy>
+ <width>25</width>
+ <height>460</height>
+ <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
+ <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar>
+ <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus>
+ <textureslidernib>ScrollBarNib.png</textureslidernib>
+ <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
+ <onleft>11</onleft>
+ <onright>12</onright>
+ <ondown>71</ondown>
+ <onup>71</onup>
+ <showonepage>false</showonepage>
+ <orientation>vertical</orientation>
+ </control>
+ </control>
+ <control type="group">
+ <description>Grouped Channels list</description>
+ <posx>890</posx>
+ <posy>90</posy>
+ <control type="label">
+ <description>name label</description>
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>340</width>
+ <height>70</height>
+ <font>font13_title</font>
+ <label>$LOCALIZE[31508][CR]$INFO[Control.GetLabel(20)]</label>
+ <align>center</align>
+ <aligny>center</aligny>
+ <textcolor>blue</textcolor>
+ </control>
+ <control type="image">
+ <posx>0</posx>
+ <posy>75</posy>
+ <width>340</width>
+ <height>460</height>
+ <texture border="5">button-nofocus.png</texture>
+ </control>
+ <control type="list" id="12">
+ <posx>5</posx>
+ <posy>85</posy>
+ <width>330</width>
+ <height>440</height>
+ <onup>12</onup>
+ <ondown>12</ondown>
+ <onleft>71</onleft>
+ <onright>72</onright>
+ <pagecontrol>72</pagecontrol>
+ <scrolltime>200</scrolltime>
+ <itemlayout height="40">
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>330</width>
+ <height>41</height>
+ <texture border="3">MenuItemNF.png</texture>
+ </control>
+ <control type="image">
+ <width>32</width>
+ <height>32</height>
+ <posx>5</posx>
+ <posy>4</posy>
+ <texture>$INFO[ListItem.Icon]</texture>
+ </control>
+ <control type="label">
+ <posx>40</posx>
+ <posy>0</posy>
+ <width>280</width>
+ <height>40</height>
+ <font>font12</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>grey2</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <label>$INFO[ListItem.ChannelNumber,(,) - ]$INFO[ListItem.ChannelName]</label>
+ </control>
+ </itemlayout>
+ <focusedlayout height="40">
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>330</width>
+ <height>41</height>
+ <visible>!Control.HasFocus(12)</visible>
+ <texture border="3">MenuItemNF.png</texture>
+ </control>
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>330</width>
+ <height>41</height>
+ <visible>Control.HasFocus(12)</visible>
+ <texture border="3">MenuItemFO.png</texture>
+ </control>
+ <control type="image">
+ <width>32</width>
+ <height>32</height>
+ <posx>5</posx>
+ <posy>4</posy>
+ <texture>$INFO[ListItem.Icon]</texture>
+ </control>
+ <control type="label">
+ <posx>40</posx>
+ <posy>0</posy>
+ <width>280</width>
+ <height>40</height>
+ <font>font12</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>white</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <label>$INFO[ListItem.ChannelNumber,(,) - ]$INFO[ListItem.ChannelName]</label>
+ </control>
+ </focusedlayout>
+ </control>
+ <control type="scrollbar" id="72">
+ <posx>340</posx>
+ <posy>75</posy>
+ <width>25</width>
+ <height>460</height>
+ <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
+ <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar>
+ <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus>
+ <textureslidernib>ScrollBarNib.png</textureslidernib>
+ <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
+ <onleft>12</onleft>
+ <onright>26</onright>
+ <ondown>72</ondown>
+ <onup>72</onup>
+ <showonepage>false</showonepage>
+ <orientation>vertical</orientation>
+ </control>
+ </control>
+ <control type="grouplist" id="9000">
+ <posx>160</posx>
+ <posy>660</posy>
+ <width>1080</width>
+ <height>40</height>
+ <itemgap>2</itemgap>
+ <align>center</align>
+ <orientation>horizontal</orientation>
+ <onleft>72</onleft>
+ <onright>13</onright>
+ <onup>9000</onup>
+ <ondown>9000</ondown>
+ <control type="button" id="26">
+ <description>Add Group</description>
+ <width>210</width>
+ <include>ButtonInfoDialogsCommonValues</include>
+ <label>31503</label>
+ </control>
+ <control type="button" id="27">
+ <description>Rename Group</description>
+ <width>210</width>
+ <include>ButtonInfoDialogsCommonValues</include>
+ <label>31504</label>
+ </control>
+ <control type="button" id="28">
+ <description>Delete Group</description>
+ <width>210</width>
+ <include>ButtonInfoDialogsCommonValues</include>
+ <label>31505</label>
+ </control>
+ <control type="button" id="29">
+ <description>OK</description>
+ <width>210</width>
+ <include>ButtonInfoDialogsCommonValues</include>
+ <label>186</label>
+ </control>
+ </control>
+ </control>
+ </control>
+ <include>SideBladeRight</include>
+ <include>Clock</include>
+
+ <control type="label" id="20">
+ <description>Fake Label used to pass on name label</description>
+ <visible>false</visible>
+ </control>
+ </controls>
+</window> \ No newline at end of file
diff --git a/addons/skin.confluence/720p/DialogPVRGuideInfo.xml b/addons/skin.confluence/720p/DialogPVRGuideInfo.xml
new file mode 100644
index 0000000000..938becb8b0
--- /dev/null
+++ b/addons/skin.confluence/720p/DialogPVRGuideInfo.xml
@@ -0,0 +1,274 @@
+<window id="601">
+ <defaultcontrol always="true">7</defaultcontrol>
+ <coordinates>
+ <system>1</system>
+ <posx>20</posx>
+ <posy>30</posy>
+ <origin x="275" y="30">![Window.IsVisible(FullscreenVideo) | Window.IsVisible(Visualisation)]</origin>
+ </coordinates>
+ <include>dialogeffect</include>
+ <controls>
+ <control type="group">
+ <control type="image">
+ <description>background image</description>
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>730</width>
+ <height>660</height>
+ <colordiffuse>EEFFFFFF</colordiffuse>
+ <texture border="40">DialogBack.png</texture>
+ </control>
+ <control type="button">
+ <description>Close Window button</description>
+ <posx>650</posx>
+ <posy>9</posy>
+ <width>64</width>
+ <height>32</height>
+ <label>-</label>
+ <font>-</font>
+ <onclick>PreviousMenu</onclick>
+ <texturefocus>DialogCloseButton-focus.png</texturefocus>
+ <texturenofocus>DialogCloseButton.png</texturenofocus>
+ <onleft>2</onleft>
+ <onright>2</onright>
+ <onup>2</onup>
+ <ondown>2</ondown>
+ <visible>system.getbool(input.enablemouse)</visible>
+ </control>
+ <control type="image">
+ <posx>80</posx>
+ <posy>10</posy>
+ <width>570</width>
+ <height>90</height>
+ <aspectratio>stretch</aspectratio>
+ <texture>GlassTitleBar.png</texture>
+ </control>
+ <control type="label">
+ <description>header label</description>
+ <posx>40</posx>
+ <posy>18</posy>
+ <width>650</width>
+ <height>30</height>
+ <font>font13_title</font>
+ <label>$LOCALIZE[19047]</label>
+ <align>center</align>
+ <aligny>center</aligny>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ </control>
+ <control type="label">
+ <description>Title label</description>
+ <posx>40</posx>
+ <posy>70</posy>
+ <width>650</width>
+ <height>30</height>
+ <font>font13caps</font>
+ <label>$INFO[ListItem.Title]</label>
+ <align>center</align>
+ <aligny>center</aligny>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ </control>
+ <control type="group">
+ <control type="group">
+ <posx>40</posx>
+ <posy>140</posy>
+ <control type="label">
+ <description>Start Date</description>
+ <posx>170</posx>
+ <posy>0</posy>
+ <width>170</width>
+ <height>25</height>
+ <align>right</align>
+ <aligny>center</aligny>
+ <font>font13_title</font>
+ <textcolor>blue</textcolor>
+ <label>$LOCALIZE[552]:</label>
+ </control>
+ <control type="label">
+ <description>Start date value</description>
+ <posx>180</posx>
+ <posy>0</posy>
+ <width>470</width>
+ <height>25</height>
+ <align>left</align>
+ <aligny>center</aligny>
+ <font>font13</font>
+ <textcolor>white</textcolor>
+ <label>$INFO[ListItem.StartDate]</label>
+ </control>
+ <control type="label">
+ <description>Start time</description>
+ <posx>170</posx>
+ <posy>35</posy>
+ <width>170</width>
+ <height>25</height>
+ <align>right</align>
+ <aligny>center</aligny>
+ <font>font13_title</font>
+ <textcolor>blue</textcolor>
+ <label>$LOCALIZE[142]</label>
+ </control>
+ <control type="label">
+ <description>Start Time value</description>
+ <posx>180</posx>
+ <posy>35</posy>
+ <width>470</width>
+ <height>25</height>
+ <align>left</align>
+ <aligny>center</aligny>
+ <font>font13</font>
+ <textcolor>white</textcolor>
+ <label>$INFO[ListItem.StartTime]</label>
+ </control>
+ <control type="label">
+ <description>Channel Name</description>
+ <posx>170</posx>
+ <posy>70</posy>
+ <width>170</width>
+ <height>25</height>
+ <align>right</align>
+ <aligny>center</aligny>
+ <font>font13_title</font>
+ <textcolor>blue</textcolor>
+ <label>$LOCALIZE[19148]:</label>
+ </control>
+ <control type="fadelabel">
+ <description>Channel Value</description>
+ <posx>180</posx>
+ <posy>70</posy>
+ <width>470</width>
+ <height>25</height>
+ <align>left</align>
+ <aligny>center</aligny>
+ <font>font13</font>
+ <textcolor>white</textcolor>
+ <label>$INFO[ListItem.ChannelName]</label>
+ </control>
+ <control type="label">
+ <description>Duration</description>
+ <posx>170</posx>
+ <posy>105</posy>
+ <width>170</width>
+ <height>25</height>
+ <align>right</align>
+ <aligny>center</aligny>
+ <font>font13_title</font>
+ <textcolor>blue</textcolor>
+ <label>$LOCALIZE[180]:</label>
+ </control>
+ <control type="label">
+ <description>Duration value</description>
+ <posx>180</posx>
+ <posy>105</posy>
+ <width>470</width>
+ <label>$INFO[ListItem.Duration]</label>
+ <align>left</align>
+ <font>font13</font>
+ <scroll>true</scroll>
+ </control>
+ <control type="label">
+ <description>Genre</description>
+ <posx>170</posx>
+ <posy>140</posy>
+ <width>170</width>
+ <height>25</height>
+ <align>right</align>
+ <aligny>center</aligny>
+ <font>font13_title</font>
+ <textcolor>blue</textcolor>
+ <label>$LOCALIZE[135]:</label>
+ </control>
+ <control type="label">
+ <description>Genre value</description>
+ <posx>180</posx>
+ <posy>140</posy>
+ <width>470</width>
+ <label fallback="161">$INFO[ListItem.Genre]</label>
+ <align>left</align>
+ <font>font13</font>
+ <scroll>true</scroll>
+ </control>
+ <control type="label">
+ <description>Subtitle value</description>
+ <posx>0</posx>
+ <posy>185</posy>
+ <width>650</width>
+ <label>$INFO[ListItem.PlotOutline]</label>
+ <align>center</align>
+ <font>font13caps</font>
+ <textcolor>blue</textcolor>
+ <scroll>true</scroll>
+ <visible>!IsEmpty(ListItem.PlotOutline)</visible>
+ </control>
+ </control>
+ <control type="label">
+ <posx>610</posx>
+ <posy>370</posy>
+ <width>400</width>
+ <height>30</height>
+ <font>font13_title</font>
+ <textcolor>grey2</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <scroll>true</scroll>
+ <align>right</align>
+ <aligny>center</aligny>
+ <label>[COLOR=blue]$LOCALIZE[207][/COLOR]$INFO[Container(400).CurrentPage, ( $LOCALIZE[31024] ]$INFO[Container(400).NumPages,/, )]</label>
+ </control>
+ <control type="spincontrol" id="60">
+ <description>Next page button</description>
+ <posx>620</posx>
+ <posy>375</posy>
+ <subtype>page</subtype>
+ <font>-</font>
+ <onleft>60</onleft>
+ <onright>60</onright>
+ <ondown>9000</ondown>
+ <onup>9000</onup>
+ <textcolor>-</textcolor>
+ <showonepage>true</showonepage>
+ </control>
+ <control type="textbox" id="400">
+ <description>PLOT</description>
+ <posx>40</posx>
+ <posy>400</posy>
+ <width>650</width>
+ <height>180</height>
+ <font>font12</font>
+ <align>justify</align>
+ <pagecontrol>60</pagecontrol>
+ <label fallback="161">$INFO[ListItem.Plot]</label>
+ </control>
+ <control type="grouplist" id="9000">
+ <posx>40</posx>
+ <posy>590</posy>
+ <width>650</width>
+ <height>40</height>
+ <itemgap>5</itemgap>
+ <align>center</align>
+ <orientation>horizontal</orientation>
+ <onleft>9000</onleft>
+ <onright>9000</onright>
+ <onup>60</onup>
+ <ondown>60</ondown>
+ <control type="button" id="5">
+ <description>Switch to Channel</description>
+ <include>ButtonInfoDialogsCommonValues</include>
+ <label>19165</label>
+ </control>
+ <control type="button" id="6">
+ <description>Record</description>
+ <include>ButtonInfoDialogsCommonValues</include>
+ <label>-</label>
+ </control>
+ <control type="button" id="7">
+ <description>OK</description>
+ <include>ButtonInfoDialogsCommonValues</include>
+ <label>186</label>
+ </control>
+ </control>
+ </control>
+ </control>
+ <include>SideBladeRight</include>
+ </controls>
+</window> \ No newline at end of file
diff --git a/addons/skin.confluence/720p/DialogPVRGuideOSD.xml b/addons/skin.confluence/720p/DialogPVRGuideOSD.xml
new file mode 100644
index 0000000000..6f6c3f43ad
--- /dev/null
+++ b/addons/skin.confluence/720p/DialogPVRGuideOSD.xml
@@ -0,0 +1,266 @@
+<window id="610">
+ <defaultcontrol always="true">11</defaultcontrol>
+ <coordinates>
+ <system>1</system>
+ <posx>780</posx>
+ <posy>30</posy>
+ </coordinates>
+ <include>dialogeffect</include>
+ <controls>
+ <control type="group">
+ <control type="image">
+ <description>background image</description>
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>480</width>
+ <height>660</height>
+ <colordiffuse>EEFFFFFF</colordiffuse>
+ <texture border="40">DialogBack.png</texture>
+ </control>
+ <control type="button">
+ <description>Close Window button</description>
+ <posx>400</posx>
+ <posy>9</posy>
+ <width>64</width>
+ <height>32</height>
+ <label>-</label>
+ <font>-</font>
+ <onclick>PreviousMenu</onclick>
+ <texturefocus>DialogCloseButton-focus.png</texturefocus>
+ <texturenofocus>DialogCloseButton.png</texturenofocus>
+ <onleft>2</onleft>
+ <onright>2</onright>
+ <onup>2</onup>
+ <ondown>2</ondown>
+ <visible>system.getbool(input.enablemouse)</visible>
+ </control>
+ <control type="image">
+ <posx>40</posx>
+ <posy>10</posy>
+ <width>430</width>
+ <height>90</height>
+ <aspectratio>stretch</aspectratio>
+ <texture>GlassTitleBar.png</texture>
+ </control>
+ <control type="label">
+ <description>header label</description>
+ <posx>40</posx>
+ <posy>18</posy>
+ <width>430</width>
+ <height>30</height>
+ <font>font12_title</font>
+ <label>$LOCALIZE[19029] - $INFO[VideoPlayer.ChannelName]</label>
+ <align>center</align>
+ <aligny>center</aligny>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ </control>
+ <control type="list" id="11">
+ <posx>40</posx>
+ <posy>64</posy>
+ <width>390</width>
+ <height>541</height>
+ <onleft>60</onleft>
+ <onright>60</onright>
+ <onup>11</onup>
+ <ondown>11</ondown>
+ <viewtype label="535">list</viewtype>
+ <pagecontrol>60</pagecontrol>
+ <scrolltime>200</scrolltime>
+ <itemlayout height="60" width="400">
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>390</width>
+ <height>61</height>
+ <texture border="2">MenuItemNF.png</texture>
+ <include>VisibleFadeEffect</include>
+ </control>
+ <control type="label">
+ <posx>5</posx>
+ <posy>0</posy>
+ <width>200</width>
+ <height>30</height>
+ <font>font13</font>
+ <textcolor>blue</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <label>$INFO[ListItem.StartTime]</label>
+ </control>
+ <control type="label">
+ <posx>390</posx>
+ <posy>0</posy>
+ <width>370</width>
+ <height>30</height>
+ <font>font12</font>
+ <textcolor>grey2</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <align>right</align>
+ <aligny>center</aligny>
+ <label>$INFO[ListItem.StartDate]</label>
+ </control>
+ <control type="label">
+ <posx>5</posx>
+ <posy>30</posy>
+ <width>390</width>
+ <height>30</height>
+ <font>font12</font>
+ <textcolor>grey</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <label>$INFO[ListItem.Label]</label>
+ <visible>![ListItem.IsRecording | ListItem.HasTimer]</visible>
+ </control>
+ <control type="label">
+ <posx>5</posx>
+ <posy>30</posy>
+ <width>350</width>
+ <height>30</height>
+ <font>font12</font>
+ <textcolor>grey</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <label>$INFO[ListItem.Label]</label>
+ <visible>ListItem.IsRecording | ListItem.HasTimer</visible>
+ </control>
+ <control type="image">
+ <posx>360</posx>
+ <posy>30</posy>
+ <width>30</width>
+ <height>20</height>
+ <texture>PVR-IsRecording.png</texture>
+ <visible>ListItem.IsRecording</visible>
+ </control>
+ <control type="image">
+ <posx>370</posx>
+ <posy>30</posy>
+ <width>20</width>
+ <height>20</height>
+ <texture>PVR-HasTimer.png</texture>
+ <visible>ListItem.HasTimer</visible>
+ </control>
+ </itemlayout>
+ <focusedlayout height="60" width="500">
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>390</width>
+ <height>61</height>
+ <texture border="2">MenuItemNF.png</texture>
+ <visible>!Control.HasFocus(11)</visible>
+ <include>VisibleFadeEffect</include>
+ </control>
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>390</width>
+ <height>61</height>
+ <texture border="2">MenuItemFO.png</texture>
+ <visible>Control.HasFocus(11)</visible>
+ <include>VisibleFadeEffect</include>
+ </control>
+ <control type="label">
+ <posx>5</posx>
+ <posy>0</posy>
+ <width>200</width>
+ <height>30</height>
+ <font>font13</font>
+ <textcolor>selected</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <label>$INFO[ListItem.StartTime]</label>
+ </control>
+ <control type="label">
+ <posx>390</posx>
+ <posy>0</posy>
+ <width>370</width>
+ <height>30</height>
+ <font>font12</font>
+ <textcolor>selected</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <align>right</align>
+ <aligny>center</aligny>
+ <label>$INFO[ListItem.StartDate]</label>
+ </control>
+ <control type="label">
+ <posx>5</posx>
+ <posy>30</posy>
+ <width>390</width>
+ <height>30</height>
+ <font>font12</font>
+ <textcolor>white</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <label>[B]$INFO[ListItem.Label][/B]</label>
+ <visible>![ListItem.IsRecording | ListItem.HasTimer]</visible>
+ </control>
+ <control type="label">
+ <posx>5</posx>
+ <posy>30</posy>
+ <width>350</width>
+ <height>30</height>
+ <font>font12</font>
+ <textcolor>white</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <label>[B]$INFO[ListItem.Label][/B]</label>
+ <visible>ListItem.IsRecording | ListItem.HasTimer</visible>
+ </control>
+ <control type="image">
+ <posx>360</posx>
+ <posy>30</posy>
+ <width>30</width>
+ <height>20</height>
+ <texture>PVR-IsRecording.png</texture>
+ <visible>ListItem.IsRecording</visible>
+ </control>
+ <control type="image">
+ <posx>370</posx>
+ <posy>30</posy>
+ <width>20</width>
+ <height>20</height>
+ <texture>PVR-HasTimer.png</texture>
+ <visible>ListItem.HasTimer</visible>
+ </control>
+ </focusedlayout>
+ </control>
+ <control type="scrollbar" id="60">
+ <posx>435</posx>
+ <posy>65</posy>
+ <width>25</width>
+ <height>541</height>
+ <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
+ <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar>
+ <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus>
+ <textureslidernib>ScrollBarNib.png</textureslidernib>
+ <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
+ <onleft>11</onleft>
+ <onright>11</onright>
+ <ondown>61</ondown>
+ <onup>61</onup>
+ <showonepage>false</showonepage>
+ <orientation>vertical</orientation>
+ </control>
+ <control type="label">
+ <description>Page Count Label</description>
+ <posx>450</posx>
+ <posy>615</posy>
+ <width>400</width>
+ <height>20</height>
+ <font>font12</font>
+ <textcolor>grey</textcolor>
+ <scroll>false</scroll>
+ <align>right</align>
+ <aligny>center</aligny>
+ <label>([COLOR=blue]$INFO[Container(11).NumItems][/COLOR]) $LOCALIZE[31025] - $LOCALIZE[31024] ([COLOR=blue]$INFO[Container(11).CurrentPage]/$INFO[Container(11).NumPages][/COLOR])</label>
+ <include>Window_OpenClose_Animation</include>
+ </control>
+ </control>
+ </controls>
+</window>
diff --git a/addons/skin.confluence/720p/DialogPVRGuideSearch.xml b/addons/skin.confluence/720p/DialogPVRGuideSearch.xml
new file mode 100644
index 0000000000..39537997e3
--- /dev/null
+++ b/addons/skin.confluence/720p/DialogPVRGuideSearch.xml
@@ -0,0 +1,461 @@
+<window id="606">
+ <defaultcontrol always="true">9</defaultcontrol>
+ <coordinates>
+ <system>1</system>
+ <posx>210</posx>
+ <posy>65</posy>
+ </coordinates>
+ <include>dialogeffect</include>
+ <controls>
+ <control type="image">
+ <description>background image</description>
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>865</width>
+ <height>605</height>
+ <texture border="40">DialogBack.png</texture>
+ </control>
+ <control type="image">
+ <posx>80</posx>
+ <posy>10</posy>
+ <width>700</width>
+ <height>90</height>
+ <aspectratio>stretch</aspectratio>
+ <texture>GlassTitleBar.png</texture>
+ </control>
+ <control type="label">
+ <description>header label</description>
+ <posx>80</posx>
+ <posy>18</posy>
+ <width>700</width>
+ <height>30</height>
+ <font>font13_title</font>
+ <label>$LOCALIZE[19142]</label>
+ <align>center</align>
+ <aligny>center</aligny>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ </control>
+ <control type="button">
+ <description>Close Window button</description>
+ <posx>770</posx>
+ <posy>9</posy>
+ <width>64</width>
+ <height>32</height>
+ <label>-</label>
+ <font>-</font>
+ <onclick>PreviousMenu</onclick>
+ <texturefocus>DialogCloseButton-focus.png</texturefocus>
+ <texturenofocus>DialogCloseButton.png</texturenofocus>
+ <onleft>3</onleft>
+ <onright>3</onright>
+ <onup>3</onup>
+ <ondown>3</ondown>
+ <visible>system.getbool(input.enablemouse)</visible>
+ </control>
+ <control type="label">
+ <description>Search string</description>
+ <posx>30</posx>
+ <posy>60</posy>
+ <width>320</width>
+ <height>40</height>
+ <font>font12caps</font>
+ <label>$LOCALIZE[19133]</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>blue</textcolor>
+ <shadowcolor>black</shadowcolor>
+ </control>
+ <control type="image">
+ <posx>30</posx>
+ <posy>100</posy>
+ <width>800</width>
+ <height>50</height>
+ <aspectratio>stretch</aspectratio>
+ <texture border="20">KeyboardEditArea.png</texture>
+ </control>
+ <control type="edit" id="9">
+ <description>Search string</description>
+ <posx>35</posx>
+ <posy>105</posy>
+ <width>790</width>
+ <height>40</height>
+ <font>font13</font>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <texturefocus>-</texturefocus>
+ <texturenofocus>-</texturenofocus>
+ <align>left</align>
+ <onleft>9</onleft>
+ <onright>9</onright>
+ <onup>26</onup>
+ <ondown>10</ondown>
+ </control>
+ <control type="textbox">
+ <description>Search help</description>
+ <posx>30</posx>
+ <posy>155</posy>
+ <width>800</width>
+ <height>70</height>
+ <align>left</align>
+ <font>font12</font>
+ <textcolor>grey2</textcolor>
+ <label>$LOCALIZE[19001] $LOCALIZE[19002]</label>
+ </control>
+ <control type="group">
+ <posx>30</posx>
+ <posy>230</posy>
+ <control type="radiobutton" id="10">
+ <description>Include Description</description>
+ <posx>0</posx>
+ <posy>0</posy>
+ <height>35</height>
+ <width>400</width>
+ <font>font12</font>
+ <textcolor>white</textcolor>
+ <focusedcolor>white</focusedcolor>
+ <shadowcolor>black</shadowcolor>
+ <texturefocus border="5">button-focus.png</texturefocus>
+ <texturenofocus border="5">button-nofocus.png</texturenofocus>
+ <align>left</align>
+ <aligny>center</aligny>
+ <label>19134</label>
+ <onleft>12</onleft>
+ <onright>12</onright>
+ <onup>9</onup>
+ <ondown>11</ondown>
+ </control>
+ <control type="radiobutton" id="11">
+ <description>Case Sensitive</description>
+ <posx>0</posx>
+ <posy>35</posy>
+ <height>35</height>
+ <width>400</width>
+ <font>font12</font>
+ <textcolor>white</textcolor>
+ <focusedcolor>white</focusedcolor>
+ <shadowcolor>black</shadowcolor>
+ <texturefocus border="5">button-focus.png</texturefocus>
+ <texturenofocus border="5">button-nofocus.png</texturenofocus>
+ <align>left</align>
+ <aligny>center</aligny>
+ <label>19135</label>
+ <onleft>13</onleft>
+ <onright>13</onright>
+ <onup>10</onup>
+ <ondown>14</ondown>
+ </control>
+ <control type="edit" id="14">
+ <description>Start Date</description>
+ <posx>0</posx>
+ <posy>70</posy>
+ <width>400</width>
+ <height>35</height>
+ <font>font12</font>
+ <textcolor>white</textcolor>
+ <focusedcolor>white</focusedcolor>
+ <shadowcolor>black</shadowcolor>
+ <texturefocus border="5">button-focus.png</texturefocus>
+ <texturenofocus border="5">button-nofocus.png</texturenofocus>
+ <label>19128</label>
+ <onright>16</onright>
+ <onleft>16</onleft>
+ <onup>11</onup>
+ <ondown>15</ondown>
+ </control>
+ <control type="edit" id="15">
+ <description>Stop Date</description>
+ <posx>0</posx>
+ <posy>105</posy>
+ <width>400</width>
+ <height>35</height>
+ <font>font12</font>
+ <textcolor>white</textcolor>
+ <focusedcolor>white</focusedcolor>
+ <shadowcolor>black</shadowcolor>
+ <texturefocus border="5">button-focus.png</texturefocus>
+ <texturenofocus border="5">button-nofocus.png</texturenofocus>
+ <label>19129</label>
+ <onright>17</onright>
+ <onleft>17</onleft>
+ <onup>14</onup>
+ <ondown>18</ondown>
+ </control>
+ <control type="spincontrolex" id="18">
+ <description>Genre</description>
+ <posx>0</posx>
+ <posy>140</posy>
+ <width>400</width>
+ <height>35</height>
+ <font>font12</font>
+ <texturefocus border="5">button-focus.png</texturefocus>
+ <texturenofocus border="5">button-nofocus.png</texturenofocus>
+ <label>515</label>
+ <onright>19</onright>
+ <onleft>19</onleft>
+ <onup>15</onup>
+ <ondown>20</ondown>
+ </control>
+ <control type="radiobutton" id="20">
+ <description>Include unknown Genres</description>
+ <posx>0</posx>
+ <posy>175</posy>
+ <height>35</height>
+ <width>400</width>
+ <font>font12</font>
+ <textcolor>white</textcolor>
+ <focusedcolor>white</focusedcolor>
+ <shadowcolor>black</shadowcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <texturefocus border="5">button-focus.png</texturefocus>
+ <texturenofocus border="5">button-nofocus.png</texturenofocus>
+ <pulseonselect>no</pulseonselect>
+ <label>19132</label>
+ <onleft>21</onleft>
+ <onright>21</onright>
+ <onup>18</onup>
+ <ondown>22</ondown>
+ </control>
+ <control type="radiobutton" id="22">
+ <description>FTA only</description>
+ <posx>0</posx>
+ <posy>210</posy>
+ <height>35</height>
+ <width>400</width>
+ <font>font12</font>
+ <textcolor>white</textcolor>
+ <focusedcolor>white</focusedcolor>
+ <shadowcolor>black</shadowcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <texturefocus border="5">button-focus.png</texturefocus>
+ <texturenofocus border="5">button-nofocus.png</texturenofocus>
+ <pulseonselect>no</pulseonselect>
+ <label>19123</label>
+ <onleft>23</onleft>
+ <onright>23</onright>
+ <onup>20</onup>
+ <ondown>24</ondown>
+ </control>
+ <control type="radiobutton" id="24">
+ <description>Ignore Timers</description>
+ <posx>0</posx>
+ <posy>245</posy>
+ <height>35</height>
+ <width>400</width>
+ <font>font12</font>
+ <textcolor>white</textcolor>
+ <focusedcolor>white</focusedcolor>
+ <shadowcolor>black</shadowcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <texturefocus border="5">button-focus.png</texturefocus>
+ <texturenofocus border="5">button-nofocus.png</texturenofocus>
+ <pulseonselect>no</pulseonselect>
+ <label>19124</label>
+ <onleft>27</onleft>
+ <onright>27</onright>
+ <onup>22</onup>
+ <ondown>26</ondown>
+ </control>
+ </control>
+ <control type="group">
+ <posx>440</posx>
+ <posy>230</posy>
+ <control type="spincontrolex" id="12">
+ <description>Min Duration</description>
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>400</width>
+ <height>35</height>
+ <font>font12</font>
+ <texturefocus border="5">button-focus.png</texturefocus>
+ <texturenofocus border="5">button-nofocus.png</texturenofocus>
+ <label>19130</label>
+ <onright>10</onright>
+ <onleft>10</onleft>
+ <onup>9</onup>
+ <ondown>13</ondown>
+ </control>
+ <control type="spincontrolex" id="13">
+ <description>Max Duration</description>
+ <posx>0</posx>
+ <posy>35</posy>
+ <width>400</width>
+ <height>35</height>
+ <font>font12</font>
+ <texturefocus border="5">button-focus.png</texturefocus>
+ <texturenofocus border="5">button-nofocus.png</texturenofocus>
+ <label>19131</label>
+ <onright>11</onright>
+ <onleft>11</onleft>
+ <onup>12</onup>
+ <ondown>16</ondown>
+ </control>
+ <control type="edit" id="16">
+ <description>Start time</description>
+ <posx>0</posx>
+ <posy>70</posy>
+ <width>400</width>
+ <height>35</height>
+ <font>font12</font>
+ <textcolor>white</textcolor>
+ <focusedcolor>white</focusedcolor>
+ <shadowcolor>black</shadowcolor>
+ <texturefocus border="5">button-focus.png</texturefocus>
+ <texturenofocus border="5">button-nofocus.png</texturenofocus>
+ <label>19126</label>
+ <onright>14</onright>
+ <onleft>14</onleft>
+ <onup>13</onup>
+ <ondown>17</ondown>
+ </control>
+ <control type="edit" id="17">
+ <description>Stop time</description>
+ <posx>0</posx>
+ <posy>105</posy>
+ <width>400</width>
+ <height>35</height>
+ <font>font12</font>
+ <textcolor>white</textcolor>
+ <focusedcolor>white</focusedcolor>
+ <shadowcolor>black</shadowcolor>
+ <texturefocus border="5">button-focus.png</texturefocus>
+ <texturenofocus border="5">button-nofocus.png</texturenofocus>
+ <label>19127</label>
+ <onright>15</onright>
+ <onleft>15</onleft>
+ <onup>16</onup>
+ <ondown>19</ondown>
+ </control>
+ <control type="radiobutton" id="19">
+ <description>avoid repeats</description>
+ <posx>0</posx>
+ <posy>140</posy>
+ <width>400</width>
+ <height>35</height>
+ <font>font12</font>
+ <textcolor>white</textcolor>
+ <focusedcolor>white</focusedcolor>
+ <shadowcolor>black</shadowcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <texturefocus border="5">button-focus.png</texturefocus>
+ <texturenofocus border="5">button-nofocus.png</texturenofocus>
+ <pulseonselect>no</pulseonselect>
+ <label>19121</label>
+ <onright>18</onright>
+ <onleft>18</onleft>
+ <onup>17</onup>
+ <ondown>21</ondown>
+ </control>
+ <control type="spincontrolex" id="21">
+ <description>Groups</description>
+ <posx>0</posx>
+ <posy>175</posy>
+ <width>400</width>
+ <height>35</height>
+ <font>font12</font>
+ <texturefocus border="5">button-focus.png</texturefocus>
+ <texturenofocus border="5">button-nofocus.png</texturenofocus>
+ <label>19141</label>
+ <onright>20</onright>
+ <onleft>20</onleft>
+ <onup>19</onup>
+ <ondown>23</ondown>
+ </control>
+ <control type="spincontrolex" id="23">
+ <description>Channels</description>
+ <posx>0</posx>
+ <posy>210</posy>
+ <width>400</width>
+ <height>35</height>
+ <font>font12</font>
+ <texturefocus border="5">button-focus.png</texturefocus>
+ <texturenofocus border="5">button-nofocus.png</texturenofocus>
+ <label>19148</label>
+ <onleft>22</onleft>
+ <onright>22</onright>
+ <onup>21</onup>
+ <ondown>27</ondown>
+ </control>
+ <control type="radiobutton" id="27">
+ <description>Ignore Recordings</description>
+ <posx>0</posx>
+ <posy>245</posy>
+ <height>35</height>
+ <width>400</width>
+ <font>font12</font>
+ <textcolor>white</textcolor>
+ <focusedcolor>white</focusedcolor>
+ <shadowcolor>black</shadowcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <texturefocus border="5">button-focus.png</texturefocus>
+ <texturenofocus border="5">button-nofocus.png</texturenofocus>
+ <pulseonselect>no</pulseonselect>
+ <label>19125</label>
+ <onleft>24</onleft>
+ <onright>24</onright>
+ <onup>23</onup>
+ <ondown>26</ondown>
+ </control>
+ </control>
+ <control type="group" id="9000">
+ <posy>540</posy>
+ <posx>125</posx>
+ <control type="button" id="28">
+ <description>Defaults Button</description>
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>200</width>
+ <height>40</height>
+ <align>center</align>
+ <aligny>center</aligny>
+ <texturenofocus border="5">MenuItemNF.png</texturenofocus>
+ <texturefocus border="5">button-focus.png</texturefocus>
+ <font>font12_title</font>
+ <label>409</label>
+ <onleft>26</onleft>
+ <onright>25</onright>
+ <onup>24</onup>
+ <ondown>9</ondown>
+ </control>
+ <control type="button" id="25">
+ <description>Cancel Button</description>
+ <posx>210</posx>
+ <posy>0</posy>
+ <width>200</width>
+ <height>40</height>
+ <align>center</align>
+ <aligny>center</aligny>
+ <texturenofocus border="5">MenuItemNF.png</texturenofocus>
+ <texturefocus border="5">button-focus.png</texturefocus>
+ <font>font12_title</font>
+ <label>222</label>
+ <onleft>28</onleft>
+ <onright>26</onright>
+ <onup>27</onup>
+ <ondown>9</ondown>
+ </control>
+ <control type="button" id="26">
+ <description>Search Button</description>
+ <posx>420</posx>
+ <posy>0</posy>
+ <width>200</width>
+ <height>40</height>
+ <align>center</align>
+ <aligny>center</aligny>
+ <texturenofocus border="5">MenuItemNF.png</texturenofocus>
+ <texturefocus border="5">button-focus.png</texturefocus>
+ <font>font12_title</font>
+ <label>137</label>
+ <onleft>25</onleft>
+ <onright>28</onright>
+ <onup>27</onup>
+ <ondown>9</ondown>
+ </control>
+ </control>
+ </controls>
+</window> \ No newline at end of file
diff --git a/addons/skin.confluence/720p/DialogPVRRecordingInfo.xml b/addons/skin.confluence/720p/DialogPVRRecordingInfo.xml
new file mode 100644
index 0000000000..e824e8a763
--- /dev/null
+++ b/addons/skin.confluence/720p/DialogPVRRecordingInfo.xml
@@ -0,0 +1,261 @@
+<window id="602">
+ <defaultcontrol always="true">10</defaultcontrol>
+ <controls>
+ <control type="group">
+ <posx>580</posx>
+ <animation effect="slide" start="700,0" end="0,0" time="400" tween="quadratic" easing="out">WindowOpen</animation>
+ <animation effect="slide" start="0,0" end="700,0" time="400" tween="quadratic" easing="out">WindowClose</animation>
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>1100</width>
+ <height>720</height>
+ <texture border="15,0,0,0" flipx="true">MediaBladeSub.png</texture>
+ </control>
+ <control type="button">
+ <description>Close Window button</description>
+ <posx>20</posx>
+ <posy>0</posy>
+ <width>64</width>
+ <height>32</height>
+ <label>-</label>
+ <font>-</font>
+ <onclick>PreviousMenu</onclick>
+ <texturefocus>DialogCloseButton-focus.png</texturefocus>
+ <texturenofocus>DialogCloseButton.png</texturenofocus>
+ <onleft>450</onleft>
+ <onright>450</onright>
+ <onup>450</onup>
+ <ondown>450</ondown>
+ <visible>system.getbool(input.enablemouse)</visible>
+ </control>
+ <control type="image">
+ <description>media info background image</description>
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>800</width>
+ <height>720</height>
+ <texture border="20,0,0,0" flipx="true">VisOsdPanel.png</texture>
+ <visible>Window.IsVisible(124)</visible>
+ </control>
+ <control type="group">
+ <animation effect="fade" delay="400" start="0" end="100" time="200">WindowOpen</animation>
+ <animation effect="fade" start="100" end="0" time="200">WindowClose</animation>
+ <control type="label" id="411">
+ <description>header label</description>
+ <posx>660</posx>
+ <posy>40</posy>
+ <width>630</width>
+ <height>30</height>
+ <font>font30_title</font>
+ <label>19053</label>
+ <align>right</align>
+ <aligny>center</aligny>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ </control>
+ <control type="label">
+ <description>Title label</description>
+ <posx>660</posx>
+ <posy>70</posy>
+ <width>630</width>
+ <height>30</height>
+ <font>font13caps</font>
+ <label>$INFO[ListItem.Title]</label>
+ <align>right</align>
+ <aligny>center</aligny>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ </control>
+ <control type="group">
+ <posx>0</posx>
+ <posy>140</posy>
+ <control type="label">
+ <description>Start Date</description>
+ <posx>190</posx>
+ <posy>0</posy>
+ <width>160</width>
+ <height>25</height>
+ <align>right</align>
+ <aligny>center</aligny>
+ <font>font13_title</font>
+ <textcolor>blue</textcolor>
+ <label>$LOCALIZE[552]:</label>
+ </control>
+ <control type="label">
+ <description>Start date value</description>
+ <posx>200</posx>
+ <posy>0</posy>
+ <width>450</width>
+ <height>25</height>
+ <align>left</align>
+ <aligny>center</aligny>
+ <font>font13</font>
+ <textcolor>white</textcolor>
+ <label>$INFO[ListItem.StartDate]</label>
+ </control>
+ <control type="label">
+ <description>Start time</description>
+ <posx>190</posx>
+ <posy>35</posy>
+ <width>160</width>
+ <height>25</height>
+ <align>right</align>
+ <aligny>center</aligny>
+ <font>font13_title</font>
+ <textcolor>blue</textcolor>
+ <label>$LOCALIZE[142]</label>
+ </control>
+ <control type="label">
+ <description>Start Time value</description>
+ <posx>200</posx>
+ <posy>35</posy>
+ <width>450</width>
+ <height>25</height>
+ <align>left</align>
+ <aligny>center</aligny>
+ <font>font13</font>
+ <textcolor>white</textcolor>
+ <label>$INFO[ListItem.StartTime]</label>
+ </control>
+ <control type="label">
+ <description>Channel Name</description>
+ <posx>190</posx>
+ <posy>70</posy>
+ <width>160</width>
+ <height>25</height>
+ <align>right</align>
+ <aligny>center</aligny>
+ <font>font13_title</font>
+ <textcolor>blue</textcolor>
+ <label>$LOCALIZE[19148]:</label>
+ </control>
+ <control type="fadelabel">
+ <description>Channel Value</description>
+ <posx>200</posx>
+ <posy>70</posy>
+ <width>450</width>
+ <height>25</height>
+ <align>left</align>
+ <aligny>center</aligny>
+ <font>font13</font>
+ <textcolor>white</textcolor>
+ <label>$INFO[ListItem.ChannelName]</label>
+ </control>
+ <control type="label">
+ <description>Duration</description>
+ <posx>190</posx>
+ <posy>105</posy>
+ <width>160</width>
+ <height>25</height>
+ <align>right</align>
+ <aligny>center</aligny>
+ <font>font13_title</font>
+ <textcolor>blue</textcolor>
+ <label>$LOCALIZE[180]:</label>
+ </control>
+ <control type="label">
+ <description>Duration value</description>
+ <posx>200</posx>
+ <posy>105</posy>
+ <width>450</width>
+ <label>$INFO[ListItem.Duration]</label>
+ <align>left</align>
+ <font>font13</font>
+ <scroll>true</scroll>
+ </control>
+ <control type="label">
+ <description>Genre</description>
+ <posx>190</posx>
+ <posy>140</posy>
+ <width>160</width>
+ <height>25</height>
+ <align>right</align>
+ <aligny>center</aligny>
+ <font>font13_title</font>
+ <textcolor>blue</textcolor>
+ <label>$LOCALIZE[135]:</label>
+ </control>
+ <control type="label">
+ <description>Genre value</description>
+ <posx>200</posx>
+ <posy>140</posy>
+ <width>450</width>
+ <label fallback="161">$INFO[ListItem.Genre]</label>
+ <align>left</align>
+ <font>font13</font>
+ <scroll>true</scroll>
+ </control>
+ <control type="label">
+ <description>Subtitle value</description>
+ <posx>40</posx>
+ <posy>185</posy>
+ <width>610</width>
+ <label>$INFO[ListItem.PlotOutline]</label>
+ <align>center</align>
+ <font>font13caps</font>
+ <textcolor>blue</textcolor>
+ <scroll>true</scroll>
+ <visible>!IsEmpty(ListItem.PlotOutline)</visible>
+ </control>
+ </control>
+ <control type="label">
+ <posx>570</posx>
+ <posy>370</posy>
+ <width>400</width>
+ <height>30</height>
+ <font>font13_title</font>
+ <textcolor>grey2</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <scroll>true</scroll>
+ <align>right</align>
+ <aligny>center</aligny>
+ <label>[COLOR=blue]$LOCALIZE[207][/COLOR]$INFO[Container(400).CurrentPage, ( $LOCALIZE[31024] ]$INFO[Container(400).NumPages,/, )]</label>
+ </control>
+ <control type="spincontrol" id="60">
+ <description>Next page button</description>
+ <posx>580</posx>
+ <posy>375</posy>
+ <subtype>page</subtype>
+ <font>-</font>
+ <onleft>7</onleft>
+ <onright>5</onright>
+ <ondown>9000</ondown>
+ <onup>9000</onup>
+ <textcolor>-</textcolor>
+ <showonepage>true</showonepage>
+ </control>
+ <control type="textbox" id="400">
+ <description>PLOT</description>
+ <posx>40</posx>
+ <posy>400</posy>
+ <width>610</width>
+ <height>220</height>
+ <font>font12</font>
+ <align>justify</align>
+ <pagecontrol>60</pagecontrol>
+ <label fallback="161">$INFO[ListItem.Plot]</label>
+ </control>
+ <control type="grouplist" id="9000">
+ <posx>40</posx>
+ <posy>660</posy>
+ <width>620</width>
+ <height>40</height>
+ <itemgap>5</itemgap>
+ <align>center</align>
+ <orientation>horizontal</orientation>
+ <onleft>60</onleft>
+ <onright>60</onright>
+ <onup>9000</onup>
+ <ondown>9000</ondown>
+ <control type="button" id="10">
+ <description>OK</description>
+ <include>ButtonInfoDialogsCommonValues</include>
+ <label>186</label>
+ </control>
+ </control>
+ </control>
+ </control>
+ <include>SideBladeRight</include>
+ </controls>
+</window> \ No newline at end of file
diff --git a/addons/skin.confluence/720p/DialogPVRTimerSettings.xml b/addons/skin.confluence/720p/DialogPVRTimerSettings.xml
new file mode 100644
index 0000000000..3675f72863
--- /dev/null
+++ b/addons/skin.confluence/720p/DialogPVRTimerSettings.xml
@@ -0,0 +1,159 @@
+<window id="603">
+ <defaultcontrol>29</defaultcontrol>
+ <coordinates>
+ <system>1</system>
+ <posx>240</posx>
+ <posy>55</posy>
+ </coordinates>
+ <include>dialogeffect</include>
+ <controls>
+ <control type="image">
+ <description>background image</description>
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>800</width>
+ <height>620</height>
+ <texture border="40">DialogBack.png</texture>
+ </control>
+ <control type="image">
+ <posx>80</posx>
+ <posy>10</posy>
+ <width>640</width>
+ <height>90</height>
+ <aspectratio>stretch</aspectratio>
+ <texture>GlassTitleBar.png</texture>
+ </control>
+ <control type="button">
+ <description>Close Window button</description>
+ <posx>710</posx>
+ <posy>9</posy>
+ <width>64</width>
+ <height>32</height>
+ <label>-</label>
+ <font>-</font>
+ <onclick>PreviousMenu</onclick>
+ <texturefocus>DialogCloseButton-focus.png</texturefocus>
+ <texturenofocus>DialogCloseButton.png</texturenofocus>
+ <onleft>2</onleft>
+ <onright>2</onright>
+ <onup>2</onup>
+ <ondown>2</ondown>
+ <visible>system.getbool(input.enablemouse)</visible>
+ </control>
+ <control type="label" id="2">
+ <description>header label</description>
+ <posx>20</posx>
+ <posy>18</posy>
+ <width>760</width>
+ <height>30</height>
+ <font>font13_title</font>
+ <label>-</label>
+ <align>center</align>
+ <aligny>center</aligny>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ </control>
+ <control type="grouplist" id="5">
+ <description>control area</description>
+ <posx>30</posx>
+ <posy>80</posy>
+ <width>740</width>
+ <height>440</height>
+ <itemgap>-1</itemgap>
+ <onup>9001</onup>
+ <ondown>9001</ondown>
+ <onleft>9001</onleft>
+ <onright>9001</onright>
+ </control>
+ <control type="button" id="7">
+ <description>Default Button</description>
+ <height>40</height>
+ <font>font13</font>
+ <textcolor>grey2</textcolor>
+ <focusedcolor>white</focusedcolor>
+ <texturefocus border="0,2,0,2">MenuItemFO.png</texturefocus>
+ <texturenofocus border="0,2,0,2">MenuItemNF.png</texturenofocus>
+ </control>
+ <control type="radiobutton" id="8">
+ <description>Default RadioButton</description>
+ <height>40</height>
+ <font>font13</font>
+ <textcolor>grey2</textcolor>
+ <focusedcolor>white</focusedcolor>
+ <texturefocus border="0,2,0,2">MenuItemFO.png</texturefocus>
+ <texturenofocus border="0,2,0,2">MenuItemNF.png</texturenofocus>
+ </control>
+ <control type="spincontrolex" id="9">
+ <description>Default spincontrolex</description>
+ <height>40</height>
+ <textcolor>grey2</textcolor>
+ <focusedcolor>white</focusedcolor>
+ <texturefocus border="0,2,0,2">MenuItemFO.png</texturefocus>
+ <texturenofocus border="0,2,0,2">MenuItemNF.png</texturenofocus>
+ <font>font13</font>
+ <aligny>center</aligny>
+ <reverse>yes</reverse>
+ </control>
+ <control type="sliderex" id="10">
+ <description>Default Slider</description>
+ <height>40</height>
+ <texturefocus border="0,2,0,2">MenuItemFO.png</texturefocus>
+ <texturenofocus border="0,2,0,2">MenuItemNF.png</texturenofocus>
+ <font>font13</font>
+ <textcolor>grey2</textcolor>
+ <focusedcolor>white</focusedcolor>
+ </control>
+ <control type="image" id="11">
+ <description>Default Seperator</description>
+ <height>2</height>
+ <texture>separator2.png</texture>
+ </control>
+ <control type="edit" id="12">
+ <description>Default Edit</description>
+ <height>40</height>
+ <font>font13</font>
+ <textcolor>grey2</textcolor>
+ <focusedcolor>white</focusedcolor>
+ <texturefocus border="0,2,0,2">MenuItemFO.png</texturefocus>
+ <texturenofocus border="0,2,0,2">MenuItemNF.png</texturenofocus>
+ </control>
+ <control type="group" id="9001">
+ <posx>200</posx>
+ <posy>550</posy>
+ <control type="button" id="28">
+ <description>OK Button</description>
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>200</width>
+ <height>40</height>
+ <align>center</align>
+ <aligny>center</aligny>
+ <texturenofocus border="5">MenuItemNF.png</texturenofocus>
+ <texturefocus border="5">button-focus.png</texturefocus>
+ <font>font12_title</font>
+ <label>186</label>
+ <onleft>29</onleft>
+ <onright>29</onright>
+ <onup>5</onup>
+ <ondown>5</ondown>
+ </control>
+ <control type="button" id="29">
+ <description>Cancel Button</description>
+ <posx>200</posx>
+ <posy>0</posy>
+ <width>200</width>
+ <height>40</height>
+ <align>center</align>
+ <aligny>center</aligny>
+ <texturenofocus border="5">MenuItemNF.png</texturenofocus>
+ <texturefocus border="5">button-focus.png</texturefocus>
+ <font>font12_title</font>
+ <label>222</label>
+ <onleft>28</onleft>
+ <onright>28</onright>
+ <onup>5</onup>
+ <ondown>5</ondown>
+ </control>
+ </control>
+ </controls>
+</window> \ No newline at end of file
diff --git a/addons/skin.confluence/720p/DialogPVRUpdateProgressBar.xml b/addons/skin.confluence/720p/DialogPVRUpdateProgressBar.xml
new file mode 100644
index 0000000000..412d92c894
--- /dev/null
+++ b/addons/skin.confluence/720p/DialogPVRUpdateProgressBar.xml
@@ -0,0 +1,48 @@
+<window id="614">
+ <defaultcontrol></defaultcontrol>
+ <animation effect="slide" start="0,-70" end="0,0" time="100">WindowOpen</animation>
+ <animation effect="slide" start="0,0" end="0,-70" delay="400" time="100">WindowClose</animation>
+ <controls>
+ <control type="group">
+ <posx>720</posx>
+ <posy>0</posy>
+ <animation effect="slide" end="-400,0" time="200" condition="Window.IsVisible(133)">conditional</animation>
+ <animation effect="slide" end="0,-80" time="200" condition="Window.IsVisible(FullscreenVideo) | Window.IsVisible(Visualisation)">conditional</animation>
+ <control type="image">
+ <posx>0</posx>
+ <posy>-10</posy>
+ <width>400</width>
+ <height>70</height>
+ <texture flipy="true" border="20,20,20,2">InfoMessagePanel.png</texture>
+ </control>
+ <control type="label" id="30">
+ <description>Header Label</description>
+ <posx>15</posx>
+ <posy>4</posy>
+ <width>370</width>
+ <height>18</height>
+ <font>font10_title</font>
+ <textcolor>selected</textcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ </control>
+ <control type="label" id="31">
+ <description>Title Label</description>
+ <posx>15</posx>
+ <posy>20</posy>
+ <width>370</width>
+ <height>20</height>
+ <font>font10</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ </control>
+ <control type="progress" id="32">
+ <description>progress control</description>
+ <posx>15</posx>
+ <posy>42</posy>
+ <width>370</width>
+ <height>8</height>
+ </control>
+ </control>
+ </controls>
+</window> \ No newline at end of file
diff --git a/addons/skin.confluence/720p/Home.xml b/addons/skin.confluence/720p/Home.xml
index f1ac013fa1..f08a0c8b82 100644
--- a/addons/skin.confluence/720p/Home.xml
+++ b/addons/skin.confluence/720p/Home.xml
@@ -133,6 +133,158 @@
<shadowcolor>black</shadowcolor>
</control>
</control>
+ <!-- LiveTV Info -->
+ <control type="group">
+ <posx>490r</posx>
+ <posy>40</posy>
+ <visible>Container(9000).HasFocus(12) + [PVR.IsRecording | PVR.HasTimer]</visible>
+ <animation type="Visible" reversible="false">
+ <effect type="zoom" start="80" end="100" center="640,360" easing="out" tween="back" time="300" />
+ <effect type="fade" start="0" end="100" time="300" />
+ </animation>
+ <animation type="Hidden" reversible="false">
+ <effect type="zoom" start="100" end="80" center="640,360" easing="in" tween="back" time="300" />
+ <effect type="fade" start="100" end="0" time="300" />
+ </animation>
+ <animation type="WindowOpen" reversible="false">
+ <effect type="zoom" start="80" end="100" center="640,360" easing="out" tween="back" time="300" />
+ <effect type="fade" start="0" end="100" time="300" />
+ </animation>
+ <animation type="WindowClose" reversible="false">
+ <effect type="zoom" start="100" end="80" center="640,360" easing="in" tween="back" time="300" />
+ <effect type="fade" start="100" end="0" time="300" />
+ </animation>
+ <animation effect="fade" start="100" end="0" time="200" condition="Window.IsActive(Favourites)">conditional</animation>
+ <control type="image">
+ <description>background</description>
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>480</width>
+ <height>135</height>
+ <colordiffuse>DDFFFFFF</colordiffuse>
+ <texture border="20">OverlayDialogBackground.png</texture>
+ </control>
+ <control type="group">
+ <visible>!PVR.IsRecording + PVR.HasTimer</visible>
+ <control type="image">
+ <posx>435</posx>
+ <posy>15</posy>
+ <width>25</width>
+ <height>25</height>
+ <texture>PVR-HasTimer.png</texture>
+ </control>
+ <control type="label">
+ <description>Next Timer Header label</description>
+ <posx>420</posx>
+ <posy>15</posy>
+ <height>25</height>
+ <width>400</width>
+ <label>$LOCALIZE[19157]</label>
+ <align>right</align>
+ <aligny>center</aligny>
+ <font>font12_title</font>
+ <textcolor>blue</textcolor>
+ <shadowcolor>black</shadowcolor>
+ </control>
+ <control type="label">
+ <description>NextRecordingTitle</description>
+ <posx>460</posx>
+ <posy>40</posy>
+ <height>30</height>
+ <width>440</width>
+ <label>$INFO[PVR.NextRecordingTitle]</label>
+ <align>right</align>
+ <aligny>center</aligny>
+ <font>font13</font>
+ <shadowcolor>black</shadowcolor>
+ <scroll>true</scroll>
+ </control>
+ <control type="label">
+ <description>NextRecordingChannel</description>
+ <posx>460</posx>
+ <posy>70</posy>
+ <height>25</height>
+ <width>440</width>
+ <label>$INFO[PVR.NextRecordingChannel]</label>
+ <align>right</align>
+ <aligny>center</aligny>
+ <font>font12</font>
+ <shadowcolor>black</shadowcolor>
+ </control>
+ <control type="label">
+ <description>NextRecordingDateTime</description>
+ <posx>460</posx>
+ <posy>95</posy>
+ <height>25</height>
+ <width>440</width>
+ <label>$INFO[PVR.NextRecordingDateTime,$LOCALIZE[19126] - ]</label>
+ <align>right</align>
+ <aligny>center</aligny>
+ <font>font12</font>
+ <shadowcolor>black</shadowcolor>
+ </control>
+ </control>
+ <control type="group">
+ <visible>PVR.IsRecording</visible>
+ <control type="image">
+ <posx>423</posx>
+ <posy>15</posy>
+ <width>37</width>
+ <height>25</height>
+ <texture>PVR-IsRecording.png</texture>
+ </control>
+ <control type="label">
+ <description>Is Recording Header label</description>
+ <posx>410</posx>
+ <posy>15</posy>
+ <height>25</height>
+ <width>390</width>
+ <label>$LOCALIZE[19158]</label>
+ <align>right</align>
+ <aligny>center</aligny>
+ <font>font12_title</font>
+ <textcolor>blue</textcolor>
+ <shadowcolor>black</shadowcolor>
+ </control>
+ <control type="label">
+ <description>NextRecordingTitle</description>
+ <posx>460</posx>
+ <posy>40</posy>
+ <height>30</height>
+ <width>440</width>
+ <label>$INFO[PVR.NowRecordingTitle]</label>
+ <align>right</align>
+ <aligny>center</aligny>
+ <font>font13</font>
+ <shadowcolor>black</shadowcolor>
+ <scroll>true</scroll>
+ </control>
+ <control type="label">
+ <description>NextRecordingChannel</description>
+ <posx>460</posx>
+ <posy>70</posy>
+ <height>25</height>
+ <width>440</width>
+ <label>$INFO[PVR.NowRecordingChannel]</label>
+ <align>right</align>
+ <aligny>center</aligny>
+ <font>font12</font>
+ <shadowcolor>black</shadowcolor>
+ </control>
+ <control type="label">
+ <description>NextRecordingDateTime</description>
+ <posx>460</posx>
+ <posy>95</posy>
+ <height>25</height>
+ <width>440</width>
+ <label>$INFO[PVR.NowRecordingDateTime,$LOCALIZE[19126] - ]</label>
+ <align>right</align>
+ <aligny>center</aligny>
+ <font>font12</font>
+ <shadowcolor>black</shadowcolor>
+ </control>
+ </control>
+ </control>
<!-- Video Info -->
<control type="group">
<posx>0</posx>
@@ -149,7 +301,7 @@
<texture>HomeNowPlayingBack.png</texture>
</control>
<control type="group">
- <visible>!VideoPlayer.Content(Movies) + !VideoPlayer.Content(Episodes)</visible>
+ <visible>!VideoPlayer.Content(Movies) + !VideoPlayer.Content(Episodes) + !VideoPlayer.Content(LiveTV)</visible>
<control type="image">
<description>Cover image</description>
<posx>200r</posx>
@@ -202,6 +354,85 @@
</control>
</control>
<control type="group">
+ <visible>VideoPlayer.Content(LiveTV)</visible>
+ <control type="image">
+ <description>Cover image</description>
+ <posx>200r</posx>
+ <posy>0</posy>
+ <width>180</width>
+ <height>340</height>
+ <aspectratio aligny="bottom">keep</aspectratio>
+ <texture>$INFO[VideoPlayer.Cover]</texture>
+ <bordertexture border="8">ThumbBorder.png</bordertexture>
+ <bordersize>5</bordersize>
+ </control>
+ <control type="label">
+ <description>NowPlaying label</description>
+ <posx>210r</posx>
+ <posy>210</posy>
+ <height>30</height>
+ <width>660</width>
+ <label>$LOCALIZE[31040] ($LOCALIZE[31502])</label>
+ <align>right</align>
+ <aligny>center</aligny>
+ <font>font12_title</font>
+ <textcolor>blue</textcolor>
+ <shadowcolor>black</shadowcolor>
+ </control>
+ <control type="label">
+ <description>Channel label</description>
+ <posx>210r</posx>
+ <posy>235</posy>
+ <height>30</height>
+ <width>660</width>
+ <label>$INFO[VideoPlayer.ChannelName]</label>
+ <align>right</align>
+ <aligny>center</aligny>
+ <font>font12_title</font>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ </control>
+ <control type="label">
+ <description>Title label</description>
+ <posx>210r</posx>
+ <posy>260</posy>
+ <height>30</height>
+ <width>660</width>
+ <label>$INFO[VideoPlayer.Title]</label>
+ <align>right</align>
+ <aligny>center</aligny>
+ <font>font13_title</font>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ </control>
+ <control type="label">
+ <description>Next Label</description>
+ <posx>210r</posx>
+ <posy>285</posy>
+ <height>30</height>
+ <width>660</width>
+ <label>$LOCALIZE[209] : $INFO[VideoPlayer.NextTitle]</label>
+ <align>right</align>
+ <aligny>center</aligny>
+ <font>font12</font>
+ <textcolor>grey2</textcolor>
+ <shadowcolor>black</shadowcolor>
+ </control>
+ <control type="label">
+ <description>Time Label</description>
+ <posx>210r</posx>
+ <posy>310</posy>
+ <height>30</height>
+ <width>325</width>
+ <label>$INFO[Player.Time]$INFO[Player.Duration, / ]</label>
+ <align>right</align>
+ <aligny>center</aligny>
+ <font>font12</font>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ </control>
+ </control>
+ <control type="group">
<visible>VideoPlayer.Content(Movies)</visible>
<control type="image">
<description>Cover image</description>
@@ -593,6 +824,13 @@
<thumb>$INFO[Skin.String(Home_Custom_Back_Video_Folder)]</thumb>
<visible>!Skin.HasSetting(HomeMenuNoVideosButton) + ![Skin.HasSetting(HomeMenuNoMoviesButton) + Skin.HasSetting(HomeMenuNoTVShowsButton)]</visible>
</item>
+ <item id="12">
+ <label>31502</label>
+ <onclick>ActivateWindow(TV)</onclick>
+ <icon>special://skin/backgrounds/tv.jpg</icon>
+ <thumb>$INFO[Skin.String(Home_Custom_Back_TV_Folder)]</thumb>
+ <visible>System.GetBool(pvrmanager.enabled)</visible>
+ </item>
<item id="2">
<label>3</label>
<onclick>ActivateWindow(VideoFiles)</onclick>
@@ -830,4 +1068,4 @@
</control>
</control>
</controls>
-</window> \ No newline at end of file
+</window>
diff --git a/addons/skin.confluence/720p/MyTV.xml b/addons/skin.confluence/720p/MyTV.xml
new file mode 100644
index 0000000000..6f2fda001d
--- /dev/null
+++ b/addons/skin.confluence/720p/MyTV.xml
@@ -0,0 +1,2813 @@
+<window id="600">
+ <defaultcontrol>32</defaultcontrol>
+ <allowoverlay>no</allowoverlay>
+ <controls>
+ <include>CommonTVBackground</include>
+ <control type="group">
+ <visible>!Control.IsVisible(11) + !Control.IsVisible(12)</visible>
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>1280</width>
+ <height>720</height>
+ <texture>special://skin/backgrounds/media-overlay.png</texture>
+ <visible>Player.HasVideo + !Skin.HasSetting(ShowBackgroundVideo)</visible>
+ </control>
+ <control type="visualisation">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>1280</width>
+ <height>720</height>
+ <visible>Player.HasAudio + !Skin.HasSetting(ShowBackgroundVis)</visible>
+ </control>
+ <control type="videowindow">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>1280</width>
+ <height>720</height>
+ <visible>Player.HasVideo + !Skin.HasSetting(ShowBackgroundVideo)</visible>
+ </control>
+ </control>
+ <control type="group">
+ <include>Window_OpenClose_Animation</include>
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>1280</width>
+ <height>720</height>
+ <texture border="20">black-back.png</texture>
+ <include>VisibleFadeEffect</include>
+ </control>
+ <control type="image">
+ <posx>0</posx>
+ <posy>128r</posy>
+ <width>1280</width>
+ <height>128</height>
+ <texture>floor.png</texture>
+ </control>
+ <control type="image">
+ <posx>55</posx>
+ <posy>60</posy>
+ <width>1170</width>
+ <height>600</height>
+ <texture border="20">ContentPanel.png</texture>
+ </control>
+ <control type="image">
+ <posx>55</posx>
+ <posy>645</posy>
+ <width>1170</width>
+ <height>600</height>
+ <aspectratio aligny="top">keep</aspectratio>
+ <texture diffuse="diffuse_mirror3.png" flipy="true" border="20">ContentPanel.png</texture>
+ </control>
+ </control>
+ <control type="group">
+ <description>Small Media Window</description>
+ <visible>Control.IsVisible(11) | Control.IsVisible(12)</visible>
+ <include>VisibleFadeEffect</include>
+ <include>Window_OpenClose_Animation</include>
+ <control type="image">
+ <posx>80</posx>
+ <posy>80</posy>
+ <width>710</width>
+ <height>400</height>
+ <texture border="5">button-nofocus.png</texture>
+ </control>
+ <control type="image">
+ <posx>85</posx>
+ <posy>85</posy>
+ <width>700</width>
+ <height>390</height>
+ <texture fallback="special://skin/backgrounds/tv.jpg">$INFO[Skin.String(Home_Custom_Back_TV_Folder)]</texture>
+ <include>VisibleFadeEffect</include>
+ <visible>!Player.HasVideo</visible>
+ </control>
+ <control type="videowindow">
+ <posx>85</posx>
+ <posy>85</posy>
+ <width>700</width>
+ <height>390</height>
+ <visible>Player.HasVideo</visible>
+ </control>
+ <!-- control type="visualisation">
+ <posx>85</posx>
+ <posy>85</posy>
+ <width>700</width>
+ <height>390</height>
+ <visible>Player.HasAudio</visible>
+ </control -->
+ </control>
+ <control type="label">
+ <posx>40</posx>
+ <posy>30r</posy>
+ <width>700</width>
+ <height>20</height>
+ <label>([COLOR=blue]$INFO[Player.Time] / $INFO[Player.Duration,][/COLOR]) - $INFO[MusicPlayer.Title]$INFO[VideoPlayer.Title]</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <font>font12</font>
+ <textcolor>grey2</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <visible>Player.HasMedia + !Control.IsVisible(10)</visible>
+ <include>VisibleFadeEffect</include>
+ <include>Window_OpenClose_Animation</include>
+ </control>
+ <control type="group">
+ <include>Window_OpenClose_Animation</include>
+ <control type="group">
+ <description>TV Guide Channel</description>
+ <visible>Control.IsVisible(15)</visible>
+ <include>VisibleFadeEffect</include>
+ <control type="group">
+ <posx>80</posx>
+ <posy>60</posy>
+ <control type="label">
+ <description>Date Time label</description>
+ <posx>0</posx>
+ <posy>20</posy>
+ <width>300</width>
+ <height>20</height>
+ <font>font13_title</font>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <align>center</align>
+ <aligny>center</aligny>
+ <label>21820</label>
+ </control>
+ <control type="label">
+ <description>Title</description>
+ <posx>300</posx>
+ <posy>20</posy>
+ <width>600</width>
+ <height>20</height>
+ <font>font13_title</font>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <align>center</align>
+ <aligny>center</aligny>
+ <label>369</label>
+ </control>
+ <control type="label">
+ <description>Status header label</description>
+ <posx>960</posx>
+ <posy>20</posy>
+ <width>140</width>
+ <height>20</height>
+ <font>font13_title</font>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <align>center</align>
+ <aligny>center</aligny>
+ <label>126</label>
+ </control>
+ <control type="image">
+ <description>separator image</description>
+ <posx>0</posx>
+ <posy>50</posy>
+ <width>1100</width>
+ <height>1</height>
+ <colordiffuse>88FFFFFF</colordiffuse>
+ <texture>separator2.png</texture>
+ </control>
+ <control type="list" id="15">
+ <posx>0</posx>
+ <posy>55</posy>
+ <width>1100</width>
+ <height>520</height>
+ <onup>15</onup>
+ <ondown>15</ondown>
+ <onleft>31</onleft>
+ <onright>75</onright>
+ <pagecontrol>75</pagecontrol>
+ <scrolltime>200</scrolltime>
+ <itemlayout height="40">
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>1100</width>
+ <height>41</height>
+ <texture border="5">MenuItemNF.png</texture>
+ </control>
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>300</width>
+ <height>40</height>
+ <colordiffuse>33FFFFFF</colordiffuse>
+ <texture border="5">StackFO.png</texture>
+ </control>
+ <control type="image">
+ <posx>960</posx>
+ <posy>0</posy>
+ <width>140</width>
+ <height>40</height>
+ <colordiffuse>33FFFFFF</colordiffuse>
+ <texture border="5">StackFO.png</texture>
+ </control>
+ <control type="label">
+ <posx>150</posx>
+ <posy>0</posy>
+ <width>280</width>
+ <height>40</height>
+ <font>font12</font>
+ <align>center</align>
+ <aligny>center</aligny>
+ <textcolor>grey2</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <info>ListItem.Label2</info>
+ </control>
+ <control type="label">
+ <posx>310</posx>
+ <posy>0</posy>
+ <width>640</width>
+ <height>40</height>
+ <font>font13</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>grey2</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <info>ListItem.Label</info>
+ </control>
+ <control type="image">
+ <posx>970</posx>
+ <posy>10</posy>
+ <width>30</width>
+ <height>20</height>
+ <texture>PVR-IsRecording.png</texture>
+ <visible>ListItem.IsRecording</visible>
+ </control>
+ <control type="label">
+ <posx>1005</posx>
+ <posy>0</posy>
+ <width>80</width>
+ <height>40</height>
+ <font>font10</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>grey2</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <label>19043</label>
+ <visible>ListItem.IsRecording</visible>
+ </control>
+ <control type="image">
+ <posx>970</posx>
+ <posy>10</posy>
+ <width>20</width>
+ <height>20</height>
+ <texture>PVR-HasTimer.png</texture>
+ <visible>ListItem.HasTimer</visible>
+ </control>
+ <control type="label">
+ <posx>1000</posx>
+ <posy>0</posy>
+ <width>80</width>
+ <height>40</height>
+ <font>font10</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>grey2</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <label>31510</label>
+ <visible>ListItem.HasTimer</visible>
+ </control>
+ </itemlayout>
+ <focusedlayout height="40">
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>1100</width>
+ <height>41</height>
+ <texture border="5">MenuItemNF.png</texture>
+ </control>
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>300</width>
+ <height>40</height>
+ <colordiffuse>33FFFFFF</colordiffuse>
+ <texture border="5">StackFO.png</texture>
+ <visible>!Control.HasFocus(15)</visible>
+ </control>
+ <control type="image">
+ <posx>960</posx>
+ <posy>0</posy>
+ <width>140</width>
+ <height>40</height>
+ <colordiffuse>33FFFFFF</colordiffuse>
+ <texture border="5">StackFO.png</texture>
+ <visible>!Control.HasFocus(15)</visible>
+ </control>
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>300</width>
+ <height>40</height>
+ <colordiffuse>88FFFFFF</colordiffuse>
+ <texture border="5">StackFO.png</texture>
+ <visible>Control.HasFocus(15)</visible>
+ </control>
+ <control type="image">
+ <posx>960</posx>
+ <posy>0</posy>
+ <width>140</width>
+ <height>40</height>
+ <colordiffuse>88FFFFFF</colordiffuse>
+ <texture border="5">StackFO.png</texture>
+ <visible>Control.HasFocus(15)</visible>
+ </control>
+ <control type="label">
+ <posx>150</posx>
+ <posy>0</posy>
+ <width>280</width>
+ <height>40</height>
+ <font>font12</font>
+ <align>center</align>
+ <aligny>center</aligny>
+ <textcolor>white</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <info>ListItem.Label2</info>
+ </control>
+ <control type="label">
+ <posx>310</posx>
+ <posy>0</posy>
+ <width>640</width>
+ <height>40</height>
+ <font>font13</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>white</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <info>ListItem.Label</info>
+ </control>
+ <control type="image">
+ <posx>970</posx>
+ <posy>10</posy>
+ <width>30</width>
+ <height>20</height>
+ <texture>PVR-IsRecording.png</texture>
+ <visible>ListItem.IsRecording</visible>
+ </control>
+ <control type="label">
+ <posx>1005</posx>
+ <posy>0</posy>
+ <width>80</width>
+ <height>40</height>
+ <font>font10</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>grey2</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <label>19043</label>
+ <visible>ListItem.IsRecording</visible>
+ </control>
+ <control type="image">
+ <posx>970</posx>
+ <posy>10</posy>
+ <width>20</width>
+ <height>20</height>
+ <texture>PVR-HasTimer.png</texture>
+ <visible>ListItem.HasTimer</visible>
+ </control>
+ <control type="label">
+ <posx>1000</posx>
+ <posy>0</posy>
+ <width>80</width>
+ <height>40</height>
+ <font>font10</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>grey2</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <label>31510</label>
+ <visible>ListItem.HasTimer</visible>
+ </control>
+ </focusedlayout>
+ </control>
+ <control type="scrollbar" id="75">
+ <posx>1105</posx>
+ <posy>50</posy>
+ <width>25</width>
+ <height>520</height>
+ <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
+ <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar>
+ <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus>
+ <textureslidernib>ScrollBarNib.png</textureslidernib>
+ <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
+ <onleft>15</onleft>
+ <onright>31</onright>
+ <ondown>75</ondown>
+ <onup>75</onup>
+ <showonepage>false</showonepage>
+ <orientation>vertical</orientation>
+ <visible>Control.IsVisible(15)</visible>
+ </control>
+ </control>
+ <control type="label">
+ <description>Page Count Label</description>
+ <posx>40r</posx>
+ <posy>30r</posy>
+ <width>500</width>
+ <height>20</height>
+ <font>font12</font>
+ <textcolor>grey</textcolor>
+ <scroll>false</scroll>
+ <align>right</align>
+ <aligny>center</aligny>
+ <label>([COLOR=blue]$INFO[Container(15).NumItems][/COLOR]) $LOCALIZE[31025] - $LOCALIZE[31024] ([COLOR=blue]$INFO[Container(15).CurrentPage]/$INFO[Container(15).NumPages][/COLOR])</label>
+ </control>
+ </control>
+ <control type="group">
+ <description>TV Guide Now/Next</description>
+ <visible>Control.IsVisible(16)</visible>
+ <include>VisibleFadeEffect</include>
+ <control type="group">
+ <posx>80</posx>
+ <posy>60</posy>
+ <control type="label">
+ <description>Time label</description>
+ <posx>0</posx>
+ <posy>20</posy>
+ <width>100</width>
+ <height>20</height>
+ <font>font13_title</font>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <align>center</align>
+ <aligny>center</aligny>
+ <label>555</label>
+ </control>
+ <control type="label">
+ <description>Channel label</description>
+ <posx>100</posx>
+ <posy>20</posy>
+ <width>250</width>
+ <height>20</height>
+ <font>font13_title</font>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <align>center</align>
+ <aligny>center</aligny>
+ <label>19148</label>
+ </control>
+ <control type="label">
+ <description>Title</description>
+ <posx>350</posx>
+ <posy>20</posy>
+ <width>550</width>
+ <height>20</height>
+ <font>font13_title</font>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <align>center</align>
+ <aligny>center</aligny>
+ <label>369</label>
+ </control>
+ <control type="label">
+ <description>Status header label</description>
+ <posx>960</posx>
+ <posy>20</posy>
+ <width>140</width>
+ <height>20</height>
+ <font>font13_title</font>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <align>center</align>
+ <aligny>center</aligny>
+ <label>126</label>
+ </control>
+ <control type="image">
+ <description>separator image</description>
+ <posx>0</posx>
+ <posy>50</posy>
+ <width>1100</width>
+ <height>1</height>
+ <colordiffuse>88FFFFFF</colordiffuse>
+ <texture>separator2.png</texture>
+ </control>
+ <control type="list" id="16">
+ <posx>0</posx>
+ <posy>55</posy>
+ <width>1100</width>
+ <height>520</height>
+ <onup>16</onup>
+ <ondown>16</ondown>
+ <onleft>31</onleft>
+ <onright>76</onright>
+ <pagecontrol>76</pagecontrol>
+ <scrolltime>200</scrolltime>
+ <itemlayout height="40">
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>1100</width>
+ <height>41</height>
+ <texture border="5">MenuItemNF.png</texture>
+ </control>
+ <control type="image">
+ <posx>100</posx>
+ <posy>0</posy>
+ <width>250</width>
+ <height>40</height>
+ <colordiffuse>33FFFFFF</colordiffuse>
+ <texture border="5">StackFO.png</texture>
+ </control>
+ <control type="image">
+ <posx>960</posx>
+ <posy>0</posy>
+ <width>140</width>
+ <height>40</height>
+ <colordiffuse>33FFFFFF</colordiffuse>
+ <texture border="5">StackFO.png</texture>
+ </control>
+ <control type="label">
+ <posx>50</posx>
+ <posy>0</posy>
+ <width>100</width>
+ <height>40</height>
+ <font>font12</font>
+ <align>center</align>
+ <aligny>center</aligny>
+ <textcolor>grey2</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <info>ListItem.StartTime</info>
+ </control>
+ <control type="image">
+ <posx>110</posx>
+ <posy>5</posy>
+ <width>30</width>
+ <height>30</height>
+ <info>ListItem.Icon</info>
+ </control>
+ <control type="label">
+ <posx>150</posx>
+ <posy>0</posy>
+ <width>190</width>
+ <height>35</height>
+ <font>font12</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>grey2</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <info>ListItem.ChannelName</info>
+ </control>
+ <control type="label">
+ <posx>360</posx>
+ <posy>0</posy>
+ <width>590</width>
+ <height>35</height>
+ <font>font13</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>grey2</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <info>ListItem.Label</info>
+ </control>
+ <control type="image">
+ <posx>970</posx>
+ <posy>10</posy>
+ <width>30</width>
+ <height>20</height>
+ <texture>PVR-IsRecording.png</texture>
+ <visible>ListItem.IsRecording</visible>
+ </control>
+ <control type="label">
+ <posx>1005</posx>
+ <posy>0</posy>
+ <width>80</width>
+ <height>40</height>
+ <font>font10</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>grey2</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <label>19043</label>
+ <visible>ListItem.IsRecording</visible>
+ </control>
+ <control type="image">
+ <posx>970</posx>
+ <posy>10</posy>
+ <width>20</width>
+ <height>20</height>
+ <texture>PVR-HasTimer.png</texture>
+ <visible>ListItem.HasTimer</visible>
+ </control>
+ <control type="label">
+ <posx>1000</posx>
+ <posy>0</posy>
+ <width>80</width>
+ <height>40</height>
+ <font>font10</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>grey2</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <label>31510</label>
+ <visible>ListItem.HasTimer</visible>
+ </control>
+ </itemlayout>
+ <focusedlayout height="40">
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>1100</width>
+ <height>41</height>
+ <texture border="5">MenuItemNF.png</texture>
+ </control>
+ <control type="image">
+ <posx>100</posx>
+ <posy>0</posy>
+ <width>250</width>
+ <height>40</height>
+ <colordiffuse>33FFFFFF</colordiffuse>
+ <texture border="5">StackFO.png</texture>
+ <visible>!Control.HasFocus(16)</visible>
+ </control>
+ <control type="image">
+ <posx>960</posx>
+ <posy>0</posy>
+ <width>140</width>
+ <height>40</height>
+ <colordiffuse>33FFFFFF</colordiffuse>
+ <texture border="5">StackFO.png</texture>
+ <visible>!Control.HasFocus(16)</visible>
+ </control>
+ <control type="image">
+ <posx>100</posx>
+ <posy>0</posy>
+ <width>250</width>
+ <height>40</height>
+ <colordiffuse>88FFFFFF</colordiffuse>
+ <texture border="5">StackFO.png</texture>
+ <visible>Control.HasFocus(16)</visible>
+ </control>
+ <control type="image">
+ <posx>960</posx>
+ <posy>0</posy>
+ <width>140</width>
+ <height>40</height>
+ <colordiffuse>88FFFFFF</colordiffuse>
+ <texture border="5">StackFO.png</texture>
+ <visible>Control.HasFocus(16)</visible>
+ </control>
+ <control type="label">
+ <posx>50</posx>
+ <posy>0</posy>
+ <width>100</width>
+ <height>40</height>
+ <font>font12</font>
+ <align>center</align>
+ <aligny>center</aligny>
+ <textcolor>grey2</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <info>ListItem.StartTime</info>
+ </control>
+ <control type="image">
+ <posx>110</posx>
+ <posy>5</posy>
+ <width>30</width>
+ <height>30</height>
+ <info>ListItem.Icon</info>
+ </control>
+ <control type="label">
+ <posx>150</posx>
+ <posy>0</posy>
+ <width>190</width>
+ <height>35</height>
+ <font>font12</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>grey2</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <info>ListItem.ChannelName</info>
+ </control>
+ <control type="label">
+ <posx>360</posx>
+ <posy>0</posy>
+ <width>590</width>
+ <height>35</height>
+ <font>font13</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>white</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <info>ListItem.Label</info>
+ </control>
+ <control type="image">
+ <posx>970</posx>
+ <posy>10</posy>
+ <width>30</width>
+ <height>20</height>
+ <texture>PVR-IsRecording.png</texture>
+ <visible>ListItem.IsRecording</visible>
+ </control>
+ <control type="label">
+ <posx>1005</posx>
+ <posy>0</posy>
+ <width>80</width>
+ <height>40</height>
+ <font>font10</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>grey2</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <label>19043</label>
+ <visible>ListItem.IsRecording</visible>
+ </control>
+ <control type="image">
+ <posx>970</posx>
+ <posy>10</posy>
+ <width>20</width>
+ <height>20</height>
+ <texture>PVR-HasTimer.png</texture>
+ <visible>ListItem.HasTimer</visible>
+ </control>
+ <control type="label">
+ <posx>1000</posx>
+ <posy>0</posy>
+ <width>80</width>
+ <height>40</height>
+ <font>font10</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>grey2</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <label>31510</label>
+ <visible>ListItem.HasTimer</visible>
+ </control>
+ </focusedlayout>
+ </control>
+ <control type="scrollbar" id="76">
+ <posx>1105</posx>
+ <posy>50</posy>
+ <width>25</width>
+ <height>520</height>
+ <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
+ <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar>
+ <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus>
+ <textureslidernib>ScrollBarNib.png</textureslidernib>
+ <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
+ <onleft>16</onleft>
+ <onright>31</onright>
+ <ondown>76</ondown>
+ <onup>76</onup>
+ <showonepage>false</showonepage>
+ <orientation>vertical</orientation>
+ <visible>Control.IsVisible(16)</visible>
+ </control>
+ </control>
+ <control type="label">
+ <description>Page Count Label</description>
+ <posx>40r</posx>
+ <posy>30r</posy>
+ <width>500</width>
+ <height>20</height>
+ <font>font12</font>
+ <textcolor>grey</textcolor>
+ <scroll>false</scroll>
+ <align>right</align>
+ <aligny>center</aligny>
+ <label>([COLOR=blue]$INFO[Container(16).NumItems][/COLOR]) $LOCALIZE[31025] - $LOCALIZE[31024] ([COLOR=blue]$INFO[Container(16).CurrentPage]/$INFO[Container(16).NumPages][/COLOR])</label>
+ </control>
+ </control>
+ <control type="group">
+ <description>TV Guide Timeline</description>
+ <visible>Control.IsVisible(10)</visible>
+ <include>VisibleFadeEffect</include>
+ <control type="epggrid" id="10">
+ <description>EPG Grid</description>
+ <posx>80</posx>
+ <posy>81</posy>
+ <width>1120</width>
+ <height>550</height>
+ <pagecontrol>10</pagecontrol>
+ <scrolltime>350</scrolltime>
+ <timeblocks>40</timeblocks>
+ <rulerunit>6</rulerunit>
+ <onleft>31</onleft>
+ <onright>31</onright>
+ <onup>10</onup>
+ <ondown>10</ondown>
+ <rulerlayout height="30" width="40">
+ <control type="image" id="1">
+ <width>40</width>
+ <height>29</height>
+ <posx>0</posx>
+ <posy>0</posy>
+ <texture border="5">button-nofocus.png</texture>
+ </control>
+ <control type="label" id="2">
+ <posx>10</posx>
+ <posy>0</posy>
+ <width>34</width>
+ <height>29</height>
+ <font>font12</font>
+ <aligny>center</aligny>
+ <selectedcolor>selected</selectedcolor>
+ <align>left</align>
+ <label>$INFO[ListItem.Label]</label>
+ </control>
+ </rulerlayout>
+ <channellayout height="52" width="220">
+ <animation effect="fade" start="110" time="200">UnFocus</animation>
+ <control type="image" id="1">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>220</width>
+ <height>52</height>
+ <texture border="5">button-nofocus.png</texture>
+ </control>
+ <control type="image">
+ <posx>5</posx>
+ <posy>4</posy>
+ <width>45</width>
+ <height>44</height>
+ <texture>$INFO[ListItem.Icon]</texture>
+ </control>
+ <control type="label" id="1">
+ <posx>54</posx>
+ <posy>0</posy>
+ <width>160</width>
+ <height>52</height>
+ <font>special12</font>
+ <aligny>center</aligny>
+ <selectedcolor>selected</selectedcolor>
+ <align>left</align>
+ <label>$INFO[ListItem.ChannelName]</label>
+ </control>
+ </channellayout>
+ <focusedchannellayout height="52" width="220">
+ <animation effect="fade" start="110" time="200">OnFocus</animation>
+ <control type="image" id="1">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>220</width>
+ <height>52</height>
+ <texture border="5">button-focus.png</texture>
+ </control>
+ <control type="image">
+ <posx>5</posx>
+ <posy>4</posy>
+ <width>45</width>
+ <height>44</height>
+ <texture>$INFO[ListItem.Icon]</texture>
+ </control>
+ <control type="label" id="1">
+ <posx>54</posx>
+ <posy>0</posy>
+ <width>160</width>
+ <height>52</height>
+ <font>special12</font>
+ <aligny>center</aligny>
+ <selectedcolor>selected</selectedcolor>
+ <align>left</align>
+ <label>$INFO[ListItem.ChannelName]</label>
+ </control>
+ </focusedchannellayout>
+ <itemlayout height="52" width="40">
+ <control type="image" id="2">
+ <width>40</width>
+ <height>52</height>
+ <posx>0</posx>
+ <posy>0</posy>
+ <visible>stringcompare(ListItem.Property(GenreType),16)</visible>
+ <texture border="3">genre-a-moviedrama.png</texture>
+ </control>
+ <control type="image" id="3">
+ <width>40</width>
+ <height>52</height>
+ <posx>0</posx>
+ <posy>0</posy>
+ <visible>stringcompare(ListItem.Property(GenreType),32)</visible>
+ <texture border="3">genre-b-news.png</texture>
+ </control>
+ <control type="image" id="4">
+ <width>40</width>
+ <height>52</height>
+ <posx>0</posx>
+ <posy>0</posy>
+ <visible>stringcompare(ListItem.Property(GenreType),48)</visible>
+ <texture border="3">genre-c-show.png</texture>
+ </control>
+ <control type="image" id="5">
+ <width>40</width>
+ <height>52</height>
+ <posx>0</posx>
+ <posy>0</posy>
+ <visible>stringcompare(ListItem.Property(GenreType),64)</visible>
+ <texture border="3">genre-d-sports.png</texture>
+ </control>
+ <control type="image" id="6">
+ <width>40</width>
+ <height>52</height>
+ <posx>0</posx>
+ <posy>0</posy>
+ <visible>stringcompare(ListItem.Property(GenreType),80)</visible>
+ <texture border="3">genre-e-child.png</texture>
+ </control>
+ <control type="image" id="7">
+ <width>40</width>
+ <height>52</height>
+ <posx>0</posx>
+ <posy>0</posy>
+ <visible>stringcompare(ListItem.Property(GenreType),96)</visible>
+ <texture border="3">genre-f-music.png</texture>
+ </control>
+ <control type="image" id="8">
+ <width>40</width>
+ <height>52</height>
+ <posx>0</posx>
+ <posy>0</posy>
+ <visible>stringcompare(ListItem.Property(GenreType),112)</visible>
+ <texture border="3">genre-g-arts.png</texture>
+ </control>
+ <control type="image" id="9">
+ <width>40</width>
+ <height>52</height>
+ <posx>0</posx>
+ <posy>0</posy>
+ <visible>stringcompare(ListItem.Property(GenreType),128)</visible>
+ <texture border="3">genre-h-social.png</texture>
+ </control>
+ <control type="image" id="10">
+ <width>40</width>
+ <height>52</height>
+ <posx>0</posx>
+ <posy>0</posy>
+ <visible>stringcompare(ListItem.Property(GenreType),144)</visible>
+ <texture border="3">genre-i-science.png</texture>
+ </control>
+ <control type="image" id="11">
+ <width>40</width>
+ <height>52</height>
+ <posx>0</posx>
+ <posy>0</posy>
+ <visible>stringcompare(ListItem.Property(GenreType),160)</visible>
+ <texture border="3">genre-j-hobby.png</texture>
+ </control>
+ <control type="image" id="12">
+ <width>40</width>
+ <height>52</height>
+ <posx>0</posx>
+ <posy>0</posy>
+ <visible>stringcompare(ListItem.Property(GenreType),176)</visible>
+ <texture border="3">genre-k-special.png</texture>
+ </control>
+ <control type="image" id="13">
+ <width>40</width>
+ <height>52</height>
+ <posx>0</posx>
+ <posy>0</posy>
+ <visible>stringcompare(ListItem.Property(GenreType),0) | stringcompare(ListItem.Property(GenreType),240)</visible>
+ <texture border="3">genre-l-unknown.png</texture>
+ </control>
+ <control type="label" id="1">
+ <posx>6</posx>
+ <posy>3</posy>
+ <width>30</width>
+ <height>25</height>
+ <font>font12</font>
+ <aligny>center</aligny>
+ <selectedcolor>selected</selectedcolor>
+ <align>left</align>
+ <info>ListItem.Label</info>
+ </control>
+ <control type="image">
+ <posx>5</posx>
+ <posy>28</posy>
+ <width>30</width>
+ <height>20</height>
+ <texture>PVR-IsRecording.png</texture>
+ <visible>ListItem.IsRecording</visible>
+ </control>
+ <control type="image">
+ <posx>5</posx>
+ <posy>28</posy>
+ <width>20</width>
+ <height>20</height>
+ <texture>PVR-HasTimer.png</texture>
+ <visible>ListItem.HasTimer</visible>
+ </control>
+ </itemlayout>
+ <focusedlayout height="52" width="40">
+ <control type="image" id="14">
+ <width>40</width>
+ <height>52</height>
+ <posx>0</posx>
+ <posy>0</posy>
+ <texture border="5">folder-focus.png</texture>
+ </control>
+ <control type="image" id="2">
+ <width>40</width>
+ <height>52</height>
+ <posx>0</posx>
+ <posy>0</posy>
+ <visible>stringcompare(ListItem.Property(GenreType),16)</visible>
+ <texture border="3">genre-a-moviedrama.png</texture>
+ </control>
+ <control type="image" id="3">
+ <width>40</width>
+ <height>52</height>
+ <posx>0</posx>
+ <posy>0</posy>
+ <visible>stringcompare(ListItem.Property(GenreType),32)</visible>
+ <texture border="3">genre-b-news.png</texture>
+ </control>
+ <control type="image" id="4">
+ <width>40</width>
+ <height>52</height>
+ <posx>0</posx>
+ <posy>0</posy>
+ <visible>stringcompare(ListItem.Property(GenreType),48)</visible>
+ <texture border="3">genre-c-show.png</texture>
+ </control>
+ <control type="image" id="5">
+ <width>40</width>
+ <height>52</height>
+ <posx>0</posx>
+ <posy>0</posy>
+ <visible>stringcompare(ListItem.Property(GenreType),64)</visible>
+ <texture border="3">genre-d-sports.png</texture>
+ </control>
+ <control type="image" id="6">
+ <width>40</width>
+ <height>52</height>
+ <posx>0</posx>
+ <posy>0</posy>
+ <visible>stringcompare(ListItem.Property(GenreType),80)</visible>
+ <texture border="3">genre-e-child.png</texture>
+ </control>
+ <control type="image" id="7">
+ <width>40</width>
+ <height>52</height>
+ <posx>0</posx>
+ <posy>0</posy>
+ <visible>stringcompare(ListItem.Property(GenreType),96)</visible>
+ <texture border="3">genre-f-music.png</texture>
+ </control>
+ <control type="image" id="8">
+ <width>40</width>
+ <height>52</height>
+ <posx>0</posx>
+ <posy>0</posy>
+ <visible>stringcompare(ListItem.Property(GenreType),112)</visible>
+ <texture border="3">genre-g-arts.png</texture>
+ </control>
+ <control type="image" id="9">
+ <width>40</width>
+ <height>52</height>
+ <posx>0</posx>
+ <posy>0</posy>
+ <visible>stringcompare(ListItem.Property(GenreType),128)</visible>
+ <texture border="3">genre-h-social.png</texture>
+ </control>
+ <control type="image" id="10">
+ <width>40</width>
+ <height>52</height>
+ <posx>0</posx>
+ <posy>0</posy>
+ <visible>stringcompare(ListItem.Property(GenreType),144)</visible>
+ <texture border="3">genre-i-science.png</texture>
+ </control>
+ <control type="image" id="11">
+ <width>40</width>
+ <height>52</height>
+ <posx>0</posx>
+ <posy>0</posy>
+ <visible>stringcompare(ListItem.Property(GenreType),160)</visible>
+ <texture border="3">genre-j-hobby.png</texture>
+ </control>
+ <control type="image" id="12">
+ <width>40</width>
+ <height>52</height>
+ <posx>0</posx>
+ <posy>0</posy>
+ <visible>stringcompare(ListItem.Property(GenreType),176)</visible>
+ <texture border="3">genre-k-special.png</texture>
+ </control>
+ <control type="image" id="13">
+ <width>40</width>
+ <height>52</height>
+ <posx>0</posx>
+ <posy>0</posy>
+ <visible>stringcompare(ListItem.Property(GenreType),0) | stringcompare(ListItem.Property(GenreType),240)</visible>
+ <texture border="3">genre-l-unknown.png</texture>
+ </control>
+ <control type="label" id="1">
+ <posx>6</posx>
+ <posy>3</posy>
+ <width>30</width>
+ <height>25</height>
+ <font>font12</font>
+ <aligny>center</aligny>
+ <selectedcolor>selected</selectedcolor>
+ <align>left</align>
+ <info>ListItem.Label</info>
+ </control>
+ <control type="image">
+ <posx>5</posx>
+ <posy>28</posy>
+ <width>30</width>
+ <height>20</height>
+ <texture>PVR-IsRecording.png</texture>
+ <visible>ListItem.IsRecording</visible>
+ </control>
+ <control type="image">
+ <posx>5</posx>
+ <posy>28</posy>
+ <width>20</width>
+ <height>20</height>
+ <texture>PVR-HasTimer.png</texture>
+ <visible>ListItem.HasTimer</visible>
+ </control>
+ </focusedlayout>
+ </control>
+ <control type="group">
+ <posx>200</posx>
+ <posy>62r</posy>
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>15</width>
+ <height>15</height>
+ <texture>genre-b-news.png</texture>
+ </control>
+ <control type="label">
+ <description>News Genre</description>
+ <posx>20</posx>
+ <posy>0</posy>
+ <width>225</width>
+ <height>15</height>
+ <font>font10</font>
+ <label>19516</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>white</textcolor>
+ </control>
+ <control type="image">
+ <posx>250</posx>
+ <posy>0</posy>
+ <width>15</width>
+ <height>15</height>
+ <texture>genre-a-moviedrama.png</texture>
+ </control>
+ <control type="label">
+ <description>Movie Genre</description>
+ <posx>270</posx>
+ <posy>0</posy>
+ <width>225</width>
+ <height>15</height>
+ <font>font10</font>
+ <label>19500</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>white</textcolor>
+ </control>
+ <control type="image">
+ <posx>500</posx>
+ <posy>0</posy>
+ <width>15</width>
+ <height>15</height>
+ <texture>genre-k-special.png</texture>
+ </control>
+ <control type="label">
+ <description>Special Genre</description>
+ <posx>520</posx>
+ <posy>0</posy>
+ <width>225</width>
+ <height>15</height>
+ <font>font10</font>
+ <label>19549</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>white</textcolor>
+ </control>
+ <control type="image">
+ <posx>750</posx>
+ <posy>0</posy>
+ <width>15</width>
+ <height>15</height>
+ <texture>genre-c-show.png</texture>
+ </control>
+ <control type="label">
+ <description>News Genre</description>
+ <posx>770</posx>
+ <posy>0</posy>
+ <width>225</width>
+ <height>15</height>
+ <font>font10</font>
+ <label>19532</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>white</textcolor>
+ </control>
+
+ <control type="image">
+ <posx>0</posx>
+ <posy>19</posy>
+ <width>15</width>
+ <height>15</height>
+ <texture>genre-d-sports.png</texture>
+ </control>
+ <control type="label">
+ <description>Sports Genre</description>
+ <posx>20</posx>
+ <posy>19</posy>
+ <width>225</width>
+ <height>15</height>
+ <font>font10</font>
+ <label>19548</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>white</textcolor>
+ </control>
+ <control type="image">
+ <posx>250</posx>
+ <posy>19</posy>
+ <width>15</width>
+ <height>15</height>
+ <texture>genre-e-child.png</texture>
+ </control>
+ <control type="label">
+ <description>Children Genre</description>
+ <posx>270</posx>
+ <posy>19</posy>
+ <width>225</width>
+ <height>15</height>
+ <font>font10</font>
+ <label>19564</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>white</textcolor>
+ </control>
+ <control type="image">
+ <posx>500</posx>
+ <posy>19</posy>
+ <width>15</width>
+ <height>15</height>
+ <texture>genre-i-science.png</texture>
+ </control>
+ <control type="label">
+ <description>Educational/Science Genre</description>
+ <posx>520</posx>
+ <posy>19</posy>
+ <width>225</width>
+ <height>15</height>
+ <font>font10</font>
+ <label>19628</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>white</textcolor>
+ </control>
+ <control type="image">
+ <posx>750</posx>
+ <posy>19</posy>
+ <width>15</width>
+ <height>15</height>
+ <texture>genre-f-music.png</texture>
+ </control>
+ <control type="label">
+ <description>Music Genre</description>
+ <posx>770</posx>
+ <posy>19</posy>
+ <width>225</width>
+ <height>15</height>
+ <font>font10</font>
+ <label>19580</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>white</textcolor>
+ </control>
+
+ <control type="image">
+ <posx>0</posx>
+ <posy>38</posy>
+ <width>15</width>
+ <height>15</height>
+ <texture>genre-g-arts.png</texture>
+ </control>
+ <control type="label">
+ <description>Arts Genre</description>
+ <posx>20</posx>
+ <posy>38</posy>
+ <width>225</width>
+ <height>15</height>
+ <font>font10</font>
+ <label>19596</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>white</textcolor>
+ </control>
+ <control type="image">
+ <posx>250</posx>
+ <posy>38</posy>
+ <width>15</width>
+ <height>15</height>
+ <texture>genre-j-hobby.png</texture>
+ </control>
+ <control type="label">
+ <description>Leisure/Hobbies Genre</description>
+ <posx>270</posx>
+ <posy>38</posy>
+ <width>225</width>
+ <height>15</height>
+ <font>font10</font>
+ <label>19644</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>white</textcolor>
+ </control>
+ <control type="image">
+ <posx>500</posx>
+ <posy>38</posy>
+ <width>15</width>
+ <height>15</height>
+ <texture>genre-h-social.png</texture>
+ </control>
+ <control type="label">
+ <description>Social Genre</description>
+ <posx>520</posx>
+ <posy>38</posy>
+ <width>225</width>
+ <height>15</height>
+ <font>font10</font>
+ <label>19612</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>white</textcolor>
+ </control>
+ <control type="image">
+ <posx>750</posx>
+ <posy>38</posy>
+ <width>15</width>
+ <height>15</height>
+ <texture>genre-l-unknown.png</texture>
+ </control>
+ <control type="label">
+ <description>Other/Unknown Genre</description>
+ <posx>770</posx>
+ <posy>38</posy>
+ <width>225</width>
+ <height>15</height>
+ <font>font10</font>
+ <label>19499</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>white</textcolor>
+ </control>
+ </control>
+ </control>
+
+ <!-- TV Channels group -->
+ <control type="group">
+ <description>TV Channels group</description>
+ <visible>Control.IsVisible(11)</visible>
+ <include>VisibleFadeEffect</include>
+ <control type="group">
+ <posx>85</posx>
+ <posy>490</posy>
+ <control type="label">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>700</width>
+ <height>30</height>
+ <font>font13caps</font>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <scroll>true</scroll>
+ <align>center</align>
+ <aligny>center</aligny>
+ <label>$INFO[Container(11).ListItem.Title]</label>
+ </control>
+ <control type="textbox">
+ <description>Plot Value for TVShow</description>
+ <posx>0</posx>
+ <posy>30</posy>
+ <width>700</width>
+ <height>90</height>
+ <font>font12</font>
+ <align>justify</align>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <pagecontrol>-</pagecontrol>
+ <label>$INFO[Container(11).ListItem.Plot]</label>
+ <autoscroll time="2000" delay="3000" repeat="5000">true</autoscroll>
+ </control>
+ </control>
+ <control type="list" id="11">
+ <posx>800</posx>
+ <posy>85</posy>
+ <width>390</width>
+ <height>541</height>
+ <onleft>32</onleft>
+ <onright>70</onright>
+ <onup>11</onup>
+ <ondown>11</ondown>
+ <viewtype label="535">list</viewtype>
+ <pagecontrol>70</pagecontrol>
+ <scrolltime>200</scrolltime>
+ <itemlayout height="60" width="400">
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>390</width>
+ <height>61</height>
+ <texture border="2">MenuItemNF.png</texture>
+ <include>VisibleFadeEffect</include>
+ </control>
+ <control type="label">
+ <posx>5</posx>
+ <posy>-4</posy>
+ <width>40</width>
+ <height>35</height>
+ <font>font10</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>grey</textcolor>
+ <selectedcolor>grey</selectedcolor>
+ <info>ListItem.ChannelNumber</info>
+ </control>
+ <control type="label">
+ <posx>50</posx>
+ <posy>0</posy>
+ <width>270</width>
+ <height>30</height>
+ <font>font13</font>
+ <textcolor>white</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <label>$INFO[ListItem.Label]</label>
+ </control>
+ <control type="label">
+ <posx>50</posx>
+ <posy>30</posy>
+ <width>330</width>
+ <height>30</height>
+ <font>font12</font>
+ <textcolor>grey</textcolor>
+ <selectedcolor>grey</selectedcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <visible>IsEmpty(Listitem.Icon)</visible>
+ <label>$INFO[ListItem.Title]</label>
+ </control>
+ <control type="label">
+ <posx>50</posx>
+ <posy>30</posy>
+ <width>270</width>
+ <height>30</height>
+ <font>font12</font>
+ <textcolor>grey</textcolor>
+ <selectedcolor>grey</selectedcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <visible>!IsEmpty(Listitem.Icon)</visible>
+ <label>$INFO[ListItem.Title]</label>
+ </control>
+ <control type="image">
+ <posx>330</posx>
+ <posy>4</posy>
+ <width>50</width>
+ <height>50</height>
+ <texture>$INFO[ListItem.Icon]</texture>
+ </control>
+ </itemlayout>
+ <focusedlayout height="60" width="500">
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>390</width>
+ <height>61</height>
+ <texture border="2">MenuItemNF.png</texture>
+ <visible>!Control.HasFocus(11)</visible>
+ <include>VisibleFadeEffect</include>
+ </control>
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>390</width>
+ <height>61</height>
+ <texture border="2">MenuItemFO.png</texture>
+ <visible>Control.HasFocus(11)</visible>
+ <include>VisibleFadeEffect</include>
+ </control>
+ <control type="label">
+ <posx>5</posx>
+ <posy>-4</posy>
+ <width>40</width>
+ <height>35</height>
+ <font>font10</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>grey</textcolor>
+ <selectedcolor>grey</selectedcolor>
+ <info>ListItem.ChannelNumber</info>
+ </control>
+ <control type="label">
+ <posx>50</posx>
+ <posy>0</posy>
+ <width>270</width>
+ <height>30</height>
+ <font>font13</font>
+ <textcolor>white</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <label>$INFO[ListItem.Label]</label>
+ </control>
+ <control type="label">
+ <posx>50</posx>
+ <posy>30</posy>
+ <width>330</width>
+ <height>30</height>
+ <font>font12</font>
+ <textcolor>grey</textcolor>
+ <selectedcolor>grey</selectedcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <visible>IsEmpty(Listitem.Icon)</visible>
+ <label>$INFO[ListItem.Title]</label>
+ </control>
+ <control type="label">
+ <posx>50</posx>
+ <posy>30</posy>
+ <width>270</width>
+ <height>30</height>
+ <font>font12</font>
+ <textcolor>grey</textcolor>
+ <selectedcolor>grey</selectedcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <visible>!IsEmpty(Listitem.Icon)</visible>
+ <label>$INFO[ListItem.Title]</label>
+ </control>
+ <control type="image">
+ <posx>330</posx>
+ <posy>4</posy>
+ <width>50</width>
+ <height>50</height>
+ <texture>$INFO[ListItem.Icon]</texture>
+ </control>
+ </focusedlayout>
+ </control>
+ <control type="scrollbar" id="70">
+ <posx>1190</posx>
+ <posy>85</posy>
+ <width>25</width>
+ <height>540</height>
+ <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
+ <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar>
+ <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus>
+ <textureslidernib>ScrollBarNib.png</textureslidernib>
+ <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
+ <onleft>11</onleft>
+ <onright>32</onright>
+ <ondown>70</ondown>
+ <onup>70</onup>
+ <showonepage>false</showonepage>
+ <orientation>vertical</orientation>
+ <visible>Control.IsVisible(11)</visible>
+ </control>
+ <control type="label">
+ <description>Page Count Label</description>
+ <posx>40r</posx>
+ <posy>30r</posy>
+ <width>500</width>
+ <height>20</height>
+ <font>font12</font>
+ <textcolor>grey</textcolor>
+ <scroll>false</scroll>
+ <align>right</align>
+ <aligny>center</aligny>
+ <label>([COLOR=blue]$INFO[Container(11).NumItems][/COLOR]) $LOCALIZE[19019] - $LOCALIZE[31024] ([COLOR=blue]$INFO[Container(11).CurrentPage]/$INFO[Container(11).NumPages][/COLOR])</label>
+ <include>Window_OpenClose_Animation</include>
+ </control>
+ </control>
+ <!-- Radio Channels group -->
+ <control type="group">
+ <description>Radio Channels group</description>
+ <visible>Control.IsVisible(12)</visible>
+ <include>VisibleFadeEffect</include>
+ <control type="group">
+ <posx>85</posx>
+ <posy>490</posy>
+ <control type="label">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>700</width>
+ <height>30</height>
+ <font>font13caps</font>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <scroll>true</scroll>
+ <align>center</align>
+ <aligny>center</aligny>
+ <label>$INFO[Container(12).ListItem.Title]</label>
+ </control>
+ <control type="textbox">
+ <description>Plot Value for TVShow</description>
+ <posx>0</posx>
+ <posy>30</posy>
+ <width>700</width>
+ <height>90</height>
+ <font>font12</font>
+ <align>justify</align>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <pagecontrol>-</pagecontrol>
+ <label>$INFO[Container(12).ListItem.Plot]</label>
+ <autoscroll time="2000" delay="3000" repeat="5000">true</autoscroll>
+ </control>
+ </control>
+ <control type="list" id="12">
+ <posx>800</posx>
+ <posy>85</posy>
+ <width>390</width>
+ <height>541</height>
+ <onleft>33</onleft>
+ <onright>71</onright>
+ <onup>12</onup>
+ <ondown>12</ondown>
+ <viewtype label="535">list</viewtype>
+ <pagecontrol>71</pagecontrol>
+ <scrolltime>200</scrolltime>
+ <itemlayout height="60" width="400">
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>390</width>
+ <height>61</height>
+ <texture border="2">MenuItemNF.png</texture>
+ <include>VisibleFadeEffect</include>
+ </control>
+ <control type="label">
+ <posx>5</posx>
+ <posy>-4</posy>
+ <width>40</width>
+ <height>35</height>
+ <font>font10</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>grey</textcolor>
+ <selectedcolor>grey</selectedcolor>
+ <info>ListItem.ChannelNumber</info>
+ </control>
+ <control type="label">
+ <posx>50</posx>
+ <posy>0</posy>
+ <width>270</width>
+ <height>30</height>
+ <font>font13</font>
+ <textcolor>white</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <label>$INFO[ListItem.Label]</label>
+ </control>
+ <control type="label">
+ <posx>50</posx>
+ <posy>30</posy>
+ <width>330</width>
+ <height>30</height>
+ <font>font12</font>
+ <textcolor>grey</textcolor>
+ <selectedcolor>grey</selectedcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <visible>IsEmpty(Listitem.Icon)</visible>
+ <label>$INFO[ListItem.Title]</label>
+ </control>
+ <control type="label">
+ <posx>50</posx>
+ <posy>30</posy>
+ <width>270</width>
+ <height>30</height>
+ <font>font12</font>
+ <textcolor>grey</textcolor>
+ <selectedcolor>grey</selectedcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <visible>!IsEmpty(Listitem.Icon)</visible>
+ <label>$INFO[ListItem.Title]</label>
+ </control>
+ <control type="image">
+ <posx>330</posx>
+ <posy>4</posy>
+ <width>50</width>
+ <height>50</height>
+ <texture>$INFO[ListItem.Icon]</texture>
+ </control>
+ </itemlayout>
+ <focusedlayout height="60" width="500">
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>390</width>
+ <height>61</height>
+ <texture border="2">MenuItemNF.png</texture>
+ <visible>!Control.HasFocus(12)</visible>
+ <include>VisibleFadeEffect</include>
+ </control>
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>390</width>
+ <height>61</height>
+ <texture border="2">MenuItemFO.png</texture>
+ <visible>Control.HasFocus(12)</visible>
+ <include>VisibleFadeEffect</include>
+ </control>
+ <control type="label">
+ <posx>5</posx>
+ <posy>-4</posy>
+ <width>40</width>
+ <height>35</height>
+ <font>font10</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>grey</textcolor>
+ <selectedcolor>grey</selectedcolor>
+ <info>ListItem.ChannelNumber</info>
+ </control>
+ <control type="label">
+ <posx>50</posx>
+ <posy>0</posy>
+ <width>270</width>
+ <height>30</height>
+ <font>font13</font>
+ <textcolor>white</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <label>$INFO[ListItem.Label]</label>
+ </control>
+ <control type="label">
+ <posx>50</posx>
+ <posy>30</posy>
+ <width>330</width>
+ <height>30</height>
+ <font>font12</font>
+ <textcolor>grey</textcolor>
+ <selectedcolor>grey</selectedcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <visible>IsEmpty(Listitem.Icon)</visible>
+ <label>$INFO[ListItem.Title]</label>
+ </control>
+ <control type="label">
+ <posx>50</posx>
+ <posy>30</posy>
+ <width>270</width>
+ <height>30</height>
+ <font>font12</font>
+ <textcolor>grey</textcolor>
+ <selectedcolor>grey</selectedcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <visible>!IsEmpty(Listitem.Icon)</visible>
+ <label>$INFO[ListItem.Title]</label>
+ </control>
+ <control type="image">
+ <posx>330</posx>
+ <posy>4</posy>
+ <width>50</width>
+ <height>50</height>
+ <texture>$INFO[ListItem.Icon]</texture>
+ </control>
+ </focusedlayout>
+ </control>
+ <control type="scrollbar" id="71">
+ <posx>1190</posx>
+ <posy>85</posy>
+ <width>25</width>
+ <height>540</height>
+ <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
+ <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar>
+ <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus>
+ <textureslidernib>ScrollBarNib.png</textureslidernib>
+ <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
+ <onleft>11</onleft>
+ <onright>32</onright>
+ <ondown>71</ondown>
+ <onup>71</onup>
+ <showonepage>false</showonepage>
+ <orientation>vertical</orientation>
+ <visible>Control.IsVisible(12)</visible>
+ </control>
+ <control type="label">
+ <description>Page Count Label</description>
+ <posx>40r</posx>
+ <posy>30r</posy>
+ <width>500</width>
+ <height>20</height>
+ <font>font12</font>
+ <textcolor>grey</textcolor>
+ <scroll>false</scroll>
+ <align>right</align>
+ <aligny>center</aligny>
+ <label>([COLOR=blue]$INFO[Container(12).NumItems][/COLOR]) $LOCALIZE[19019] - $LOCALIZE[31024] ([COLOR=blue]$INFO[Container(12).CurrentPage]/$INFO[Container(12).NumPages][/COLOR])</label>
+ <include>Window_OpenClose_Animation</include>
+ </control>
+ </control>
+ <!-- Recordings group -->
+ <control type="group">
+ <description>Recordings group</description>
+ <visible>Control.IsVisible(13)</visible>
+ <include>VisibleFadeEffect</include>
+ <control type="list" id="13">
+ <posx>490</posx>
+ <posy>100</posy>
+ <width>700</width>
+ <height>521</height>
+ <onleft>34</onleft>
+ <onright>72</onright>
+ <onup>13</onup>
+ <ondown>13</ondown>
+ <viewtype label="535">list</viewtype>
+ <pagecontrol>72</pagecontrol>
+ <scrolltime>200</scrolltime>
+ <itemlayout height="40" width="700">
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>700</width>
+ <height>41</height>
+ <texture border="2">MenuItemNF.png</texture>
+ <include>VisibleFadeEffect</include>
+ </control>
+ <control type="image">
+ <posx>10</posx>
+ <posy>5</posy>
+ <width>30</width>
+ <height>30</height>
+ <texture background="true" fallback="DefaultVideoCover.png">$INFO[ListItem.Icon]</texture>
+ </control>
+ <control type="label">
+ <posx>50</posx>
+ <posy>0</posy>
+ <width>630</width>
+ <height>40</height>
+ <font>font13</font>
+ <textcolor>grey2</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <label>$INFO[ListItem.Label]</label>
+ </control>
+ <control type="label">
+ <posx>690</posx>
+ <posy>0</posy>
+ <width>500</width>
+ <height>40</height>
+ <font>font12</font>
+ <textcolor>grey2</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <align>right</align>
+ <aligny>center</aligny>
+ <label>$INFO[ListItem.Date]</label>
+ </control>
+ </itemlayout>
+ <focusedlayout height="40" width="700">
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>700</width>
+ <height>41</height>
+ <texture border="2">MenuItemFO.png</texture>
+ <visible>Control.HasFocus(13)</visible>
+ <include>VisibleFadeEffect</include>
+ </control>
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>700</width>
+ <height>41</height>
+ <texture border="2">MenuItemNF.png</texture>
+ <include>VisibleFadeEffect</include>
+ <visible>!Control.HasFocus(13)</visible>
+ </control>
+ <control type="image">
+ <posx>500</posx>
+ <posy>5</posy>
+ <width>200</width>
+ <height>31</height>
+ <texture border="0,0,14,0">MediaItemDetailBG.png</texture>
+ <visible>Control.HasFocus(13) + !IsEmpty(ListItem.Date)</visible>
+ </control>
+ <control type="image">
+ <posx>10</posx>
+ <posy>5</posy>
+ <width>30</width>
+ <height>30</height>
+ <texture background="true" fallback="DefaultVideoCover.png">$INFO[ListItem.Icon]</texture>
+ </control>
+ <control type="label">
+ <posx>50</posx>
+ <posy>0</posy>
+ <width>630</width>
+ <height>40</height>
+ <font>font13</font>
+ <textcolor>white</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <label>$INFO[ListItem.Label]</label>
+ </control>
+ <control type="label">
+ <posx>690</posx>
+ <posy>0</posy>
+ <width>500</width>
+ <height>40</height>
+ <font>font12</font>
+ <textcolor>grey2</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <align>right</align>
+ <aligny>center</aligny>
+ <label>$INFO[ListItem.Date]</label>
+ </control>
+ </focusedlayout>
+ </control>
+ <control type="scrollbar" id="72">
+ <posx>1190</posx>
+ <posy>100</posy>
+ <width>25</width>
+ <height>521</height>
+ <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
+ <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar>
+ <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus>
+ <textureslidernib>ScrollBarNib.png</textureslidernib>
+ <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
+ <onleft>12</onleft>
+ <onright>34</onright>
+ <ondown>72</ondown>
+ <onup>72</onup>
+ <showonepage>false</showonepage>
+ <orientation>vertical</orientation>
+ <visible>Control.IsVisible(13)</visible>
+ </control>
+ <control type="label">
+ <description>Page Count Label</description>
+ <posx>40r</posx>
+ <posy>30r</posy>
+ <width>500</width>
+ <height>20</height>
+ <font>font12</font>
+ <textcolor>grey</textcolor>
+ <scroll>false</scroll>
+ <align>right</align>
+ <aligny>center</aligny>
+ <label>([COLOR=blue]$INFO[Container(13).NumItems][/COLOR]) $LOCALIZE[19163] - $LOCALIZE[31024] ([COLOR=blue]$INFO[Container(13).CurrentPage]/$INFO[Container(13).NumPages][/COLOR])</label>
+ <include>Window_OpenClose_Animation</include>
+ </control>
+ <control type="group">
+ <posx>80</posx>
+ <posy>100</posy>
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>380</width>
+ <height>270</height>
+ <aspectratio aligny="bottom">keep</aspectratio>
+ <fadetime>IconCrossfadeTime</fadetime>
+ <texture fallback="DefaultVideoCover.png">$INFO[Container(13).ListItem.Icon]</texture>
+ <bordertexture border="8">ThumbShadow.png</bordertexture>
+ <bordersize>8</bordersize>
+ </control>
+ <control type="image">
+ <posx>0</posx>
+ <posy>263</posy>
+ <width>380</width>
+ <height>80</height>
+ <aspectratio>stretch</aspectratio>
+ <texture>GlassTitleBar.png</texture>
+ <colordiffuse>AAFFFFFF</colordiffuse>
+ </control>
+ <control type="label">
+ <posx>0</posx>
+ <posy>290</posy>
+ <width>380</width>
+ <height>25</height>
+ <label>$INFO[Container(13).ListItem.Title]</label>
+ <scroll>true</scroll>
+ <align>center</align>
+ <aligny>center</aligny>
+ <font>font24_title</font>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ </control>
+ <control type="textbox">
+ <description>Plot Value for TVShow</description>
+ <posx>0</posx>
+ <posy>330</posy>
+ <width>380</width>
+ <height>190</height>
+ <font>font12</font>
+ <align>justify</align>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <pagecontrol>9999999999</pagecontrol>
+ <label>$INFO[Container(13).ListItem.Plot]</label>
+ <autoscroll time="2000" delay="3000" repeat="5000">true</autoscroll>
+ </control>
+ </control>
+ </control>
+ <!-- Timers group -->
+ <control type="group">
+ <description>Timers group</description>
+ <visible>Control.IsVisible(14)</visible>
+ <include>VisibleFadeEffect</include>
+ <control type="group">
+ <posx>80</posx>
+ <posy>60</posy>
+ <control type="label">
+ <description>Title header label</description>
+ <posx>0</posx>
+ <posy>20</posy>
+ <width>300</width>
+ <height>20</height>
+ <font>font13_title</font>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <align>center</align>
+ <aligny>center</aligny>
+ <label>369</label>
+ </control>
+ <control type="label">
+ <description>Schedule Time header label</description>
+ <posx>300</posx>
+ <posy>20</posy>
+ <width>600</width>
+ <height>20</height>
+ <font>font13_title</font>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <align>center</align>
+ <aligny>center</aligny>
+ <label>31501</label>
+ </control>
+ <control type="label">
+ <description>Status header label</description>
+ <posx>900</posx>
+ <posy>20</posy>
+ <width>200</width>
+ <height>20</height>
+ <font>font13_title</font>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <align>center</align>
+ <aligny>center</aligny>
+ <label>126</label>
+ </control>
+ <control type="image">
+ <description>separator image</description>
+ <posx>0</posx>
+ <posy>50</posy>
+ <width>1100</width>
+ <height>1</height>
+ <colordiffuse>88FFFFFF</colordiffuse>
+ <texture>separator2.png</texture>
+ </control>
+ <control type="list" id="14">
+ <posx>0</posx>
+ <posy>55</posy>
+ <width>1100</width>
+ <height>480</height>
+ <onup>14</onup>
+ <ondown>14</ondown>
+ <onleft>35</onleft>
+ <onright>73</onright>
+ <pagecontrol>73</pagecontrol>
+ <scrolltime>200</scrolltime>
+ <itemlayout height="40">
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>1100</width>
+ <height>41</height>
+ <texture border="5">MenuItemNF.png</texture>
+ </control>
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>300</width>
+ <height>40</height>
+ <colordiffuse>33FFFFFF</colordiffuse>
+ <texture border="5">StackFO.png</texture>
+ </control>
+ <control type="image">
+ <posx>900</posx>
+ <posy>0</posy>
+ <width>200</width>
+ <height>40</height>
+ <colordiffuse>33FFFFFF</colordiffuse>
+ <texture border="5">StackFO.png</texture>
+ </control>
+ <control type="label">
+ <posx>150</posx>
+ <posy>0</posy>
+ <width>290</width>
+ <height>40</height>
+ <font>font12</font>
+ <align>center</align>
+ <aligny>center</aligny>
+ <selectedcolor>selected</selectedcolor>
+ <info>ListItem.Label</info>
+ </control>
+ <control type="label">
+ <posx>600</posx>
+ <posy>0</posy>
+ <width>590</width>
+ <height>40</height>
+ <font>font12</font>
+ <align>center</align>
+ <aligny>center</aligny>
+ <selectedcolor>selected</selectedcolor>
+ <info>ListItem.Date</info>
+ </control>
+ <control type="label">
+ <posx>1000</posx>
+ <posy>0</posy>
+ <width>190</width>
+ <height>40</height>
+ <font>font12</font>
+ <align>center</align>
+ <aligny>center</aligny>
+ <selectedcolor>selected</selectedcolor>
+ <info>ListItem.Comment</info>
+ </control>
+ </itemlayout>
+ <focusedlayout height="40">
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>1100</width>
+ <height>41</height>
+ <texture border="5">MenuItemNF.png</texture>
+ </control>
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>300</width>
+ <height>40</height>
+ <colordiffuse>33FFFFFF</colordiffuse>
+ <texture border="5">StackFO.png</texture>
+ <visible>!Control.HasFocus(14)</visible>
+ </control>
+ <control type="image">
+ <posx>900</posx>
+ <posy>0</posy>
+ <width>200</width>
+ <height>40</height>
+ <colordiffuse>33FFFFFF</colordiffuse>
+ <texture border="5">StackFO.png</texture>
+ <visible>!Control.HasFocus(14)</visible>
+ </control>
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>300</width>
+ <height>40</height>
+ <colordiffuse>88FFFFFF</colordiffuse>
+ <texture border="5">StackFO.png</texture>
+ <visible>Control.HasFocus(14)</visible>
+ </control>
+ <control type="image">
+ <posx>900</posx>
+ <posy>0</posy>
+ <width>200</width>
+ <height>40</height>
+ <colordiffuse>88FFFFFF</colordiffuse>
+ <texture border="5">StackFO.png</texture>
+ <visible>Control.HasFocus(14)</visible>
+ </control>
+ <control type="label">
+ <posx>150</posx>
+ <posy>0</posy>
+ <width>290</width>
+ <height>40</height>
+ <font>font12</font>
+ <align>center</align>
+ <aligny>center</aligny>
+ <selectedcolor>selected</selectedcolor>
+ <info>ListItem.Label</info>
+ </control>
+ <control type="label">
+ <posx>600</posx>
+ <posy>0</posy>
+ <width>590</width>
+ <height>40</height>
+ <font>font12</font>
+ <align>center</align>
+ <aligny>center</aligny>
+ <selectedcolor>selected</selectedcolor>
+ <info>ListItem.Date</info>
+ </control>
+ <control type="label">
+ <posx>1000</posx>
+ <posy>0</posy>
+ <width>190</width>
+ <height>40</height>
+ <font>font12</font>
+ <align>center</align>
+ <aligny>center</aligny>
+ <selectedcolor>selected</selectedcolor>
+ <info>ListItem.Comment</info>
+ </control>
+ </focusedlayout>
+ </control>
+ <control type="scrollbar" id="73">
+ <posx>1105</posx>
+ <posy>50</posy>
+ <width>25</width>
+ <height>480</height>
+ <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
+ <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar>
+ <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus>
+ <textureslidernib>ScrollBarNib.png</textureslidernib>
+ <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
+ <onleft>11</onleft>
+ <onright>35</onright>
+ <ondown>73</ondown>
+ <onup>73</onup>
+ <showonepage>false</showonepage>
+ <orientation>vertical</orientation>
+ <visible>Control.IsVisible(14)</visible>
+ </control>
+ <control type="image">
+ <description>separator image</description>
+ <posx>55</posx>
+ <posy>540</posy>
+ <width>1010</width>
+ <height>1</height>
+ <colordiffuse>88FFFFFF</colordiffuse>
+ <texture>separator2.png</texture>
+ </control>
+ <control type="label">
+ <description>Next timer date</description>
+ <posx>55</posx>
+ <posy>545</posy>
+ <width>1010</width>
+ <height>30</height>
+ <font>font13</font>
+ <align>center</align>
+ <aligny>center</aligny>
+ <scroll>true</scroll>
+ <textcolor>white</textcolor>
+ <label>$INFO[PVR.NextTimer]</label>
+ <visible>PVR.HasTimer</visible>
+ </control>
+ </control>
+ <control type="label">
+ <description>Page Count Label</description>
+ <posx>40r</posx>
+ <posy>30r</posy>
+ <width>500</width>
+ <height>20</height>
+ <font>font12</font>
+ <textcolor>grey</textcolor>
+ <scroll>false</scroll>
+ <align>right</align>
+ <aligny>center</aligny>
+ <label>([COLOR=blue]$INFO[Container(14).NumItems][/COLOR]) $LOCALIZE[19040] - $LOCALIZE[31024] ([COLOR=blue]$INFO[Container(14).CurrentPage]/$INFO[Container(14).NumPages][/COLOR])</label>
+ <include>Window_OpenClose_Animation</include>
+ </control>
+ </control>
+ <!-- EGP search group -->
+ <control type="group">
+ <description>TV Search group</description>
+ <visible>Control.IsVisible(17)</visible>
+ <include>VisibleFadeEffect</include>
+ <control type="group">
+ <posx>80</posx>
+ <posy>60</posy>
+ <control type="label">
+ <description>Time label</description>
+ <posx>0</posx>
+ <posy>20</posy>
+ <width>300</width>
+ <height>20</height>
+ <font>font13_title</font>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <align>center</align>
+ <aligny>center</aligny>
+ <label>21820</label>
+ </control>
+ <control type="label">
+ <description>Channel label</description>
+ <posx>300</posx>
+ <posy>20</posy>
+ <width>250</width>
+ <height>20</height>
+ <font>font13_title</font>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <align>center</align>
+ <aligny>center</aligny>
+ <label>19148</label>
+ </control>
+ <control type="label">
+ <description>Title</description>
+ <posx>550</posx>
+ <posy>20</posy>
+ <width>350</width>
+ <height>20</height>
+ <font>font13_title</font>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <align>center</align>
+ <aligny>center</aligny>
+ <label>369</label>
+ </control>
+ <control type="label">
+ <description>Status header label</description>
+ <posx>960</posx>
+ <posy>20</posy>
+ <width>140</width>
+ <height>20</height>
+ <font>font13_title</font>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <align>center</align>
+ <aligny>center</aligny>
+ <label>126</label>
+ </control>
+ <control type="image">
+ <description>separator image</description>
+ <posx>0</posx>
+ <posy>50</posy>
+ <width>1100</width>
+ <height>1</height>
+ <colordiffuse>88FFFFFF</colordiffuse>
+ <texture>separator2.png</texture>
+ </control>
+ <control type="list" id="17">
+ <posx>0</posx>
+ <posy>55</posy>
+ <width>1100</width>
+ <height>520</height>
+ <onup>17</onup>
+ <ondown>17</ondown>
+ <onleft>36</onleft>
+ <onright>77</onright>
+ <pagecontrol>77</pagecontrol>
+ <scrolltime>200</scrolltime>
+ <itemlayout height="40">
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>1100</width>
+ <height>41</height>
+ <texture border="5">MenuItemNF.png</texture>
+ </control>
+ <control type="image">
+ <posx>300</posx>
+ <posy>0</posy>
+ <width>250</width>
+ <height>40</height>
+ <colordiffuse>33FFFFFF</colordiffuse>
+ <texture border="5">StackFO.png</texture>
+ </control>
+ <control type="image">
+ <posx>960</posx>
+ <posy>0</posy>
+ <width>140</width>
+ <height>40</height>
+ <colordiffuse>33FFFFFF</colordiffuse>
+ <texture border="5">StackFO.png</texture>
+ </control>
+ <control type="label">
+ <posx>150</posx>
+ <posy>0</posy>
+ <width>300</width>
+ <height>40</height>
+ <font>font12</font>
+ <align>center</align>
+ <aligny>center</aligny>
+ <textcolor>grey2</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <info>ListItem.Date</info>
+ </control>
+ <control type="image">
+ <posx>310</posx>
+ <posy>5</posy>
+ <width>30</width>
+ <height>30</height>
+ <info>ListItem.Icon</info>
+ </control>
+ <control type="label">
+ <posx>350</posx>
+ <posy>0</posy>
+ <width>190</width>
+ <height>35</height>
+ <font>font12</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>grey2</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <info>ListItem.ChannelName</info>
+ </control>
+ <control type="label">
+ <posx>560</posx>
+ <posy>0</posy>
+ <width>390</width>
+ <height>35</height>
+ <font>font13</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>grey2</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <info>ListItem.Label</info>
+ </control>
+ <control type="image">
+ <posx>970</posx>
+ <posy>10</posy>
+ <width>30</width>
+ <height>20</height>
+ <texture>PVR-IsRecording.png</texture>
+ <visible>ListItem.IsRecording</visible>
+ </control>
+ <control type="label">
+ <posx>1005</posx>
+ <posy>0</posy>
+ <width>80</width>
+ <height>40</height>
+ <font>font10</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>grey2</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <label>19043</label>
+ <visible>ListItem.IsRecording</visible>
+ </control>
+ <control type="image">
+ <posx>970</posx>
+ <posy>10</posy>
+ <width>20</width>
+ <height>20</height>
+ <texture>PVR-HasTimer.png</texture>
+ <visible>ListItem.HasTimer</visible>
+ </control>
+ <control type="label">
+ <posx>1000</posx>
+ <posy>0</posy>
+ <width>80</width>
+ <height>40</height>
+ <font>font10</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>grey2</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <label>31510</label>
+ <visible>ListItem.HasTimer</visible>
+ </control>
+ </itemlayout>
+ <focusedlayout height="40">
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>1100</width>
+ <height>41</height>
+ <texture border="5">MenuItemNF.png</texture>
+ </control>
+ <control type="image">
+ <posx>300</posx>
+ <posy>0</posy>
+ <width>250</width>
+ <height>40</height>
+ <colordiffuse>33FFFFFF</colordiffuse>
+ <texture border="5">StackFO.png</texture>
+ <visible>!Control.HasFocus(17)</visible>
+ </control>
+ <control type="image">
+ <posx>960</posx>
+ <posy>0</posy>
+ <width>140</width>
+ <height>40</height>
+ <colordiffuse>33FFFFFF</colordiffuse>
+ <texture border="5">StackFO.png</texture>
+ <visible>!Control.HasFocus(17)</visible>
+ </control>
+ <control type="image">
+ <posx>300</posx>
+ <posy>0</posy>
+ <width>250</width>
+ <height>40</height>
+ <colordiffuse>88FFFFFF</colordiffuse>
+ <texture border="5">StackFO.png</texture>
+ <visible>Control.HasFocus(17)</visible>
+ </control>
+ <control type="image">
+ <posx>960</posx>
+ <posy>0</posy>
+ <width>140</width>
+ <height>40</height>
+ <colordiffuse>88FFFFFF</colordiffuse>
+ <texture border="5">StackFO.png</texture>
+ <visible>Control.HasFocus(17)</visible>
+ </control>
+ <control type="label">
+ <posx>150</posx>
+ <posy>0</posy>
+ <width>300</width>
+ <height>40</height>
+ <font>font12</font>
+ <align>center</align>
+ <aligny>center</aligny>
+ <textcolor>grey2</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <info>ListItem.Date</info>
+ </control>
+ <control type="image">
+ <posx>310</posx>
+ <posy>5</posy>
+ <width>30</width>
+ <height>30</height>
+ <info>ListItem.Icon</info>
+ </control>
+ <control type="label">
+ <posx>350</posx>
+ <posy>0</posy>
+ <width>190</width>
+ <height>35</height>
+ <font>font12</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>grey2</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <info>ListItem.ChannelName</info>
+ </control>
+ <control type="label">
+ <posx>560</posx>
+ <posy>0</posy>
+ <width>390</width>
+ <height>35</height>
+ <font>font13</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>white</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <info>ListItem.Label</info>
+ </control>
+ <control type="image">
+ <posx>970</posx>
+ <posy>10</posy>
+ <width>30</width>
+ <height>20</height>
+ <texture>PVR-IsRecording.png</texture>
+ <visible>ListItem.IsRecording</visible>
+ </control>
+ <control type="label">
+ <posx>1005</posx>
+ <posy>0</posy>
+ <width>80</width>
+ <height>40</height>
+ <font>font10</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>grey2</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <label>19043</label>
+ <visible>ListItem.IsRecording</visible>
+ </control>
+ <control type="image">
+ <posx>970</posx>
+ <posy>10</posy>
+ <width>20</width>
+ <height>20</height>
+ <texture>PVR-HasTimer.png</texture>
+ <visible>ListItem.HasTimer</visible>
+ </control>
+ <control type="label">
+ <posx>1000</posx>
+ <posy>0</posy>
+ <width>80</width>
+ <height>40</height>
+ <font>font10</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>grey2</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <label>31510</label>
+ <visible>ListItem.HasTimer</visible>
+ </control>
+ </focusedlayout>
+ </control>
+ <control type="scrollbar" id="77">
+ <posx>1105</posx>
+ <posy>50</posy>
+ <width>25</width>
+ <height>520</height>
+ <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
+ <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar>
+ <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus>
+ <textureslidernib>ScrollBarNib.png</textureslidernib>
+ <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
+ <onleft>16</onleft>
+ <onright>31</onright>
+ <ondown>77</ondown>
+ <onup>77</onup>
+ <showonepage>false</showonepage>
+ <orientation>vertical</orientation>
+ <visible>Control.IsVisible(17)</visible>
+ </control>
+ </control>
+ <control type="label">
+ <description>Page Count Label</description>
+ <posx>40r</posx>
+ <posy>30r</posy>
+ <width>500</width>
+ <height>20</height>
+ <font>font12</font>
+ <textcolor>grey</textcolor>
+ <scroll>false</scroll>
+ <align>right</align>
+ <aligny>center</aligny>
+ <label>([COLOR=blue]$INFO[Container(17).NumItems][/COLOR]) $LOCALIZE[31025] - $LOCALIZE[31024] ([COLOR=blue]$INFO[Container(17).CurrentPage]/$INFO[Container(17).NumPages][/COLOR])</label>
+ </control>
+ </control>
+ </control>
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>1280</width>
+ <height>720</height>
+ <texture>black-back.png</texture>
+ <animation effect="fade" time="400">Visible</animation>
+ <animation effect="fade" time="200">Hidden</animation>
+ <visible>Window.IsActive(FileBrowser) | Window.IsActive(601) | Window.IsActive(602) | Window.IsActive(603) | Window.IsActive(604) | Window.IsActive(606)</visible>
+ </control>
+ <control type="group">
+ <animation effect="slide" start="0,0" end="250,0" time="400" tween="quadratic" easing="out" condition="[ControlGroup(9000).HasFocus | Control.HasFocus(8999)] + !Window.IsActive(606)">Conditional</animation>
+ <animation effect="slide" start="-250,0" end="0,0" time="400" tween="quadratic" easing="out" condition="ControlGroup(9000).HasFocus">WindowOpen</animation>
+ <animation effect="slide" start="0,0" end="-250,0" time="400" tween="quadratic" easing="out" condition="ControlGroup(9000).HasFocus">WindowClose</animation>
+ <control type="button" id="8999">
+ <description>Fake button for mouse control</description>
+ <posx>-250</posx>
+ <posy>0</posy>
+ <width>265</width>
+ <height>720</height>
+ <label>-</label>
+ <font>-</font>
+ <texturenofocus>-</texturenofocus>
+ <texturefocus>-</texturefocus>
+ <visible>true</visible>
+ </control>
+ <include>SideBladeLeft</include>
+ <control type="image">
+ <description>LOGO</description>
+ <posx>-230</posx>
+ <posy>50</posy>
+ <width>220</width>
+ <height>80</height>
+ <aspectratio>keep</aspectratio>
+ <texture>Confluence_Logo.png</texture>
+ </control>
+ <control type="group" id="9000">
+ <posx>-250</posx>
+ <posy>130</posy>
+ <include>CommonNowPlaying</include>
+ <control type="button" id="32">
+ <description>TV Channels</description>
+ <posx>0</posx>
+ <posy>0</posy>
+ <include>ButtonCommonValues</include>
+ <label>19023</label>
+ <onleft>11</onleft>
+ <onright>11</onright>
+ <onup>611</onup>
+ <ondown>33</ondown>
+ </control>
+ <control type="button" id="33">
+ <description>Radio Channels</description>
+ <posx>0</posx>
+ <posy>40</posy>
+ <include>ButtonCommonValues</include>
+ <label>19024</label>
+ <onleft>12</onleft>
+ <onright>12</onright>
+ <onup>32</onup>
+ <ondown>31</ondown>
+ </control>
+ <control type="button" id="31">
+ <description>TV Guide</description>
+ <posx>0</posx>
+ <posy>80</posy>
+ <include>ButtonCommonValues</include>
+ <label>19029</label>
+ <onleft>10</onleft>
+ <onright>10</onright>
+ <onup>33</onup>
+ <ondown>34</ondown>
+ </control>
+ <control type="button" id="34">
+ <description>Recordings</description>
+ <posx>0</posx>
+ <posy>120</posy>
+ <include>ButtonCommonValues</include>
+ <label>19163</label>
+ <onleft>13</onleft>
+ <onright>13</onright>
+ <onup>31</onup>
+ <ondown>35</ondown>
+ </control>
+ <control type="button" id="35">
+ <description>Timers</description>
+ <posx>0</posx>
+ <posy>160</posy>
+ <include>ButtonCommonValues</include>
+ <label>19040</label>
+ <onleft>14</onleft>
+ <onright>14</onright>
+ <onup>34</onup>
+ <ondown>36</ondown>
+ </control>
+ <control type="button" id="36">
+ <description>Search</description>
+ <posx>0</posx>
+ <posy>200</posy>
+ <include>ButtonCommonValues</include>
+ <label>137</label>
+ <onleft>17</onleft>
+ <onright>17</onright>
+ <onup>35</onup>
+ <ondown>610</ondown>
+ </control>
+ <control type="button" id="610">
+ <description>Fake Button to fix Player Controls Navigation</description>
+ <onup>36</onup>
+ <ondown>603</ondown>
+ <visible>false</visible>
+ </control>
+ <control type="group">
+ <posx>0</posx>
+ <posy>260</posy>
+ <include>CommonNowPlaying_Controls</include>
+ </control>
+ <control type="button" id="611">
+ <description>Fake Button to fix Player Controls Navigation</description>
+ <onup>608</onup>
+ <ondown>32</ondown>
+ <visible>false</visible>
+ </control>
+ </control>
+ </control>
+ <control type="group">
+ <posx>440</posx>
+ <posy>0</posy>
+ <visible>!IsEmpty(Control.GetLabel(30)) + [Control.IsVisible(10) | Control.IsVisible(11) | Control.IsVisible(12) | Control.IsVisible(15) | Control.IsVisible(16)]</visible>
+ <include>VisibleFadeEffect</include>
+ <animation effect="slide" end="-710,0" time="400" tween="quadratic" easing="out">WindowClose</animation>
+ <animation effect="slide" start="-710,0" time="400" tween="quadratic" easing="out">WindowOpen</animation>
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>250</width>
+ <height>35</height>
+ <texture border="0,0,32,0">header.png</texture>
+ </control>
+ <control type="label" id="30">
+ <include>WindowTitleCommons</include>
+ <posx>220</posx>
+ </control>
+ </control>
+ <control type="group">
+ <posx>240</posx>
+ <posy>0</posy>
+ <animation effect="slide" end="-510,0" time="400" tween="quadratic" easing="out">WindowClose</animation>
+ <animation effect="slide" start="-510,0" time="400" tween="quadratic" easing="out">WindowOpen</animation>
+ <animation effect="slide" end="70,0" time="200" tween="quadratic" easing="out" condition="Control.IsVisible(14)">Conditional</animation>
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>250</width>
+ <height>35</height>
+ <texture border="0,0,32,0">header.png</texture>
+ </control>
+ <control type="label" id="29">
+ <include>WindowTitleCommons</include>
+ <posx>220</posx>
+ </control>
+ </control>
+ <control type="group">
+ <posx>60</posx>
+ <posy>0</posy>
+ <animation effect="slide" end="-310,0" time="400" tween="quadratic" easing="out">WindowClose</animation>
+ <animation effect="slide" start="-310,0" time="400" tween="quadratic" easing="out">WindowOpen</animation>
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>250</width>
+ <height>35</height>
+ <texture border="0,0,32,0">header.png</texture>
+ </control>
+ <control type="label">
+ <include>WindowTitleCommons</include>
+ <posx>220</posx>
+ <label>$LOCALIZE[31502]</label>
+ </control>
+ </control>
+ <include>WindowTitleHomeButton</include>
+ <include>Clock</include>
+ </controls>
+</window> \ No newline at end of file
diff --git a/addons/skin.confluence/720p/PlayerControls.xml b/addons/skin.confluence/720p/PlayerControls.xml
index 7f1899e238..d03e55cc50 100644
--- a/addons/skin.confluence/720p/PlayerControls.xml
+++ b/addons/skin.confluence/720p/PlayerControls.xml
@@ -1,5 +1,5 @@
<window type="dialog" id="114">
- <defaultcontrol always="true">603</defaultcontrol>
+ <defaultcontrol always="true">100</defaultcontrol>
<include>dialogeffect</include>
<visible>Player.HasMedia + Window.IsActive(PlayerControls) + !Window.IsActive(FullscreenVideo) + !Window.IsActive(Visualisation)</visible>
<coordinates>
@@ -18,6 +18,8 @@
<control type="group" id="100">
<posx>25</posx>
<posy>162</posy>
+ <defaultcontrol always="true">603</defaultcontrol>
+ <visible>!VideoPlayer.Content(LiveTV)</visible>
<control type="button" id="600">
<posx>0</posx>
<posy>0</posy>
@@ -31,6 +33,7 @@
<onup>300</onup>
<ondown>200</ondown>
<onclick>XBMC.PlayerControl(Previous)</onclick>
+ <visible>!VideoPlayer.Content(LiveTV)</visible>
</control>
<control type="button" id="601">
<posx>40</posx>
@@ -45,6 +48,7 @@
<onup>300</onup>
<ondown>200</ondown>
<onclick>XBMC.PlayerControl(Rewind)</onclick>
+ <visible>!VideoPlayer.Content(LiveTV)</visible>
</control>
<control type="togglebutton" id="603">
<posx>80</posx>
@@ -62,6 +66,7 @@
<onup>300</onup>
<ondown>200</ondown>
<onclick>XBMC.PlayerControl(Play)</onclick>
+ <visible>!VideoPlayer.Content(LiveTV)</visible>
</control>
<control type="button" id="602">
<posx>120</posx>
@@ -77,6 +82,7 @@
<ondown>200</ondown>
<onclick>down</onclick>
<onclick>XBMC.PlayerControl(Stop)</onclick>
+ <visible>!VideoPlayer.Content(LiveTV)</visible>
</control>
<control type="button" id="604">
<posx>160</posx>
@@ -91,6 +97,7 @@
<onup>300</onup>
<ondown>200</ondown>
<onclick>XBMC.PlayerControl(Forward)</onclick>
+ <visible>!VideoPlayer.Content(LiveTV)</visible>
</control>
<control type="button" id="605">
<posx>200</posx>
@@ -105,6 +112,7 @@
<onup>300</onup>
<ondown>200</ondown>
<onclick>XBMC.PlayerControl(Next)</onclick>
+ <visible>!VideoPlayer.Content(LiveTV)</visible>
</control>
<control type="button" id="606">
<posx>240</posx>
@@ -121,6 +129,7 @@
<onclick>XBMC.PlayerControl(record)</onclick>
<enable>Player.CanRecord</enable>
<animation effect="fade" start="100" end="30" time="100" condition="!Player.CanRecord">Conditional</animation>
+ <visible>!VideoPlayer.Content(LiveTV)</visible>
</control>
<control type="button" id="607">
<posx>365</posx>
@@ -135,6 +144,7 @@
<onright>608</onright>
<onup>100</onup>
<ondown>100</ondown>
+ <visible>!VideoPlayer.Content(LiveTV)</visible>
</control>
<control type="image">
<posx>365</posx>
@@ -144,6 +154,7 @@
<texture>OSDRepeatNF.png</texture>
<visible>!Playlist.IsRepeat + !Playlist.IsRepeatOne</visible>
<visible>!Control.HasFocus(607)</visible>
+ <visible>!VideoPlayer.Content(LiveTV)</visible>
</control>
<control type="image">
<posx>365</posx>
@@ -153,6 +164,7 @@
<texture>OSDRepeatFO.png</texture>
<visible>!Playlist.IsRepeat + !Playlist.IsRepeatOne</visible>
<visible>Control.HasFocus(607)</visible>
+ <visible>!VideoPlayer.Content(LiveTV)</visible>
</control>
<control type="image">
<posx>365</posx>
@@ -162,6 +174,7 @@
<texture>OSDRepeatOneNF.png</texture>
<visible>Playlist.IsRepeatOne</visible>
<visible>!Control.HasFocus(607)</visible>
+ <visible>!VideoPlayer.Content(LiveTV)</visible>
</control>
<control type="image">
<posx>365</posx>
@@ -171,6 +184,7 @@
<texture>OSDRepeatOneFO.png</texture>
<visible>Playlist.IsRepeatOne</visible>
<visible>Control.HasFocus(607)</visible>
+ <visible>!VideoPlayer.Content(LiveTV)</visible>
</control>
<control type="image">
<posx>365</posx>
@@ -180,6 +194,7 @@
<texture>OSDRepeatAllNF.png</texture>
<visible>Playlist.IsRepeat</visible>
<visible>!Control.HasFocus(607)</visible>
+ <visible>!VideoPlayer.Content(LiveTV)</visible>
</control>
<control type="image">
<posx>365</posx>
@@ -189,6 +204,7 @@
<texture>OSDRepeatAllFO.png</texture>
<visible>Playlist.IsRepeat</visible>
<visible>Control.HasFocus(607)</visible>
+ <visible>!VideoPlayer.Content(LiveTV)</visible>
</control>
<control type="togglebutton" id="608">
<posx>405</posx>
@@ -206,6 +222,130 @@
<onright>600</onright>
<onup>100</onup>
<ondown>100</ondown>
+ <visible>!VideoPlayer.Content(LiveTV)</visible>
+ </control>
+ </control>
+ <control type="group" id="100">
+ <posx>25</posx>
+ <posy>162</posy>
+ <defaultcontrol always="true">700</defaultcontrol>
+ <visible>VideoPlayer.Content(LiveTV)</visible>
+ <control type="button" id="701">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>40</width>
+ <height>40</height>
+ <label>-</label>
+ <texturefocus>OSDRewindFO.png</texturefocus>
+ <texturenofocus>OSDRewindNF.png</texturenofocus>
+ <onleft>706</onleft>
+ <onright>702</onright>
+ <onup>300</onup>
+ <ondown>200</ondown>
+ <onclick>XBMC.PlayerControl(Rewind)</onclick>
+ <visible>VideoPlayer.Content(LiveTV)</visible>
+ <enable>false</enable>
+ <animation effect="fade" start="100" end="50" time="100" condition="true">Conditional</animation>
+ </control>
+ <control type="button" id="702">
+ <posx>40</posx>
+ <posy>0</posy>
+ <width>40</width>
+ <height>40</height>
+ <label>-</label>
+ <texturefocus>OSDStopFO.png</texturefocus>
+ <texturenofocus>OSDStopNF.png</texturenofocus>
+ <onleft>701</onleft>
+ <onright>703</onright>
+ <onup>300</onup>
+ <ondown>200</ondown>
+ <onclick>down</onclick>
+ <onclick>XBMC.PlayerControl(Stop)</onclick>
+ <visible>VideoPlayer.Content(LiveTV)</visible>
+ </control>
+ <control type="togglebutton" id="703">
+ <posx>80</posx>
+ <posy>0</posy>
+ <width>40</width>
+ <height>40</height>
+ <label>-</label>
+ <texturefocus>OSDPauseFO.png</texturefocus>
+ <texturenofocus>OSDPauseNF.png</texturenofocus>
+ <usealttexture>Player.Paused | Player.Forwarding | Player.Rewinding</usealttexture>
+ <alttexturefocus>OSDPlayFO.png</alttexturefocus>
+ <alttexturenofocus>OSDPlayNF.png</alttexturenofocus>
+ <onleft>702</onleft>
+ <onright>704</onright>
+ <onup>300</onup>
+ <ondown>200</ondown>
+ <onclick>XBMC.PlayerControl(Play)</onclick>
+ <visible>VideoPlayer.Content(LiveTV)</visible>
+ <enable>false</enable>
+ <animation effect="fade" start="100" end="50" time="100" condition="true">Conditional</animation>
+ </control>
+ <control type="button" id="704">
+ <posx>120</posx>
+ <posy>0</posy>
+ <width>40</width>
+ <height>40</height>
+ <label>-</label>
+ <texturefocus>OSDForwardFO.png</texturefocus>
+ <texturenofocus>OSDForwardNF.png</texturenofocus>
+ <onleft>703</onleft>
+ <onright>700</onright>
+ <onup>300</onup>
+ <ondown>200</ondown>
+ <onclick>XBMC.PlayerControl(Forward)</onclick>
+ <visible>VideoPlayer.Content(LiveTV)</visible>
+ <enable>false</enable>
+ <animation effect="fade" start="100" end="50" time="100" condition="true">Conditional</animation>
+ </control>
+ <control type="button" id="700">
+ <posx>200</posx>
+ <posy>0</posy>
+ <width>40</width>
+ <height>40</height>
+ <label>-</label>
+ <texturefocus>OSDChannelUPFO.png</texturefocus>
+ <texturenofocus>OSDChannelUPNF.png</texturenofocus>
+ <onleft>704</onleft>
+ <onright>705</onright>
+ <onup>300</onup>
+ <ondown>200</ondown>
+ <onclick>XBMC.PlayerControl(Previous)</onclick>
+ <visible>VideoPlayer.Content(LiveTV)</visible>
+ </control>
+ <control type="button" id="705">
+ <posx>240</posx>
+ <posy>0</posy>
+ <width>40</width>
+ <height>40</height>
+ <label>-</label>
+ <texturefocus>OSDChannelDownFO.png</texturefocus>
+ <texturenofocus>OSDChannelDownNF.png</texturenofocus>
+ <onleft>700</onleft>
+ <onright>706</onright>
+ <onup>300</onup>
+ <ondown>200</ondown>
+ <onclick>XBMC.PlayerControl(Next)</onclick>
+ <visible>VideoPlayer.Content(LiveTV)</visible>
+ </control>
+ <control type="button" id="706">
+ <posx>280</posx>
+ <posy>0</posy>
+ <width>40</width>
+ <height>40</height>
+ <label>-</label>
+ <texturefocus>OSDRecordFO.png</texturefocus>
+ <texturenofocus>OSDRecordNF.png</texturenofocus>
+ <onleft>705</onleft>
+ <onright>701</onright>
+ <onup>300</onup>
+ <ondown>200</ondown>
+ <onclick>XBMC.PlayerControl(record)</onclick>
+ <enable>Player.CanRecord</enable>
+ <animation effect="fade" start="100" end="30" time="100" condition="!Player.CanRecord">Conditional</animation>
+ <visible>VideoPlayer.Content(LiveTV)</visible>
</control>
</control>
<!-- Music Info -->
@@ -229,4 +369,4 @@
<include>SmallVideoInfo</include>
</control>
</controls>
-</window> \ No newline at end of file
+</window>
diff --git a/addons/skin.confluence/720p/Settings.xml b/addons/skin.confluence/720p/Settings.xml
index a1982a1bbc..00b0fd4529 100644
--- a/addons/skin.confluence/720p/Settings.xml
+++ b/addons/skin.confluence/720p/Settings.xml
@@ -96,42 +96,48 @@
<icon>special://skin/backgrounds/videos.jpg</icon>
</item>
<item id="3">
+ <label>19180</label>
+ <label2>31409</label2>
+ <onclick>ActivateWindow(MyTVSettings)</onclick>
+ <icon>special://skin/backgrounds/tv.jpg</icon>
+ </item>
+ <item id="4">
<label>2</label>
<label2>31402</label2>
<onclick>ActivateWindow(MusicSettings)</onclick>
<icon>special://skin/backgrounds/music.jpg</icon>
</item>
- <item id="4">
+ <item id="5">
<label>1</label>
<label2>31403</label2>
<onclick>ActivateWindow(PicturesSettings)</onclick>
<icon>special://skin/backgrounds/pictures.jpg</icon>
</item>
- <item id="5">
+ <item id="6">
<label>8</label>
<label2>31404</label2>
<onclick>ActivateWindow(WeatherSettings)</onclick>
<icon>special://skin/backgrounds/weather.jpg</icon>
</item>
- <item id="6">
+ <item id="7">
<label>24001</label>
<label2>31408</label2>
<onclick>ActivateWindow(AddonBrowser)</onclick>
<icon>special://skin/backgrounds/addons.jpg</icon>
</item>
- <item id="7">
+ <item id="8">
<label>705</label>
<label2>31405</label2>
<onclick>ActivateWindow(NetworkSettings)</onclick>
<icon>special://skin/backgrounds/network.jpg</icon>
</item>
- <item id="8">
+ <item id="9">
<label>13000</label>
<label2>31406</label2>
<onclick>ActivateWindow(SystemSettings)</onclick>
<icon>special://skin/backgrounds/system.jpg</icon>
</item>
- <item id="9">
+ <item id="10">
<label>166</label>
<label2>31407</label2>
<onclick>ActivateWindow(1111)</onclick>
diff --git a/addons/skin.confluence/720p/SettingsSystemInfo.xml b/addons/skin.confluence/720p/SettingsSystemInfo.xml
index fb04f0fc50..2116dfc511 100644
--- a/addons/skin.confluence/720p/SettingsSystemInfo.xml
+++ b/addons/skin.confluence/720p/SettingsSystemInfo.xml
@@ -146,6 +146,21 @@
<pulseonselect>false</pulseonselect>
<label>13281</label>
</control>
+ <control type="button" id="99">
+ <description>Button PVR</description>
+ <height>60</height>
+ <width>241</width>
+ <textoffsetx>0</textoffsetx>
+ <align>right</align>
+ <aligny>center</aligny>
+ <font>font13_title</font>
+ <textcolor>grey2</textcolor>
+ <focusedcolor>white</focusedcolor>
+ <texturefocus border="5">MenuItemFO.png</texturefocus>
+ <texturenofocus border="5">MenuItemNF.png</texturenofocus>
+ <pulseonselect>false</pulseonselect>
+ <label>19191</label>
+ </control>
</control>
<control type="image">
<posx>268</posx>
diff --git a/addons/skin.confluence/720p/VideoFullScreen.xml b/addons/skin.confluence/720p/VideoFullScreen.xml
index e3c0e35019..a96df70eb9 100644
--- a/addons/skin.confluence/720p/VideoFullScreen.xml
+++ b/addons/skin.confluence/720p/VideoFullScreen.xml
@@ -37,5 +37,252 @@
<font>font12</font>
<include>VisibleFadeEffect</include>
</control>
+ <control type="selectbutton" id="503">
+ <posx>440</posx>
+ <posy>100</posy>
+ <width>400</width>
+ <height>100</height>
+ <font>font13caps</font>
+ <description>TV Channel Group Select Button</description>
+ <texturebg border="20">OverlayDialogBackground.png</texturebg>
+ <onleft>503</onleft>
+ <onright>503</onright>
+ <onup>500</onup>
+ <ondown>500</ondown>
+ <include>VisibleFadeEffect</include>
+ </control>
+ <control type="group">
+ <visible>Player.ShowCodec + VideoPlayer.Content(LiveTV) + system.getbool(pvrplayback.signalquality)</visible>
+ <posy>160</posy>
+ <control type="image">
+ <description>media info background image</description>
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>1280</width>
+ <height>220</height>
+ <texture>black-back.png</texture>
+ </control>
+ <control type="label">
+ <description>Header</description>
+ <posx>50</posx>
+ <posy>5</posy>
+ <width>1200</width>
+ <height>25</height>
+ <label>$LOCALIZE[19005]</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <font>font13_title</font>
+ <textcolor>blue</textcolor>
+ </control>
+ <control type="label">
+ <description>Backend</description>
+ <posx>50</posx>
+ <posy>40</posy>
+ <width>165</width>
+ <height>25</height>
+ <label>$LOCALIZE[19012]:</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <font>font12</font>
+ <textcolor>grey2</textcolor>
+ </control>
+ <control type="label">
+ <description>Backend value</description>
+ <posx>220</posx>
+ <posy>40</posy>
+ <width>1000</width>
+ <height>25</height>
+ <label>$INFO[PVR.ActStreamClient]</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <font>font12</font>
+ <textcolor>white</textcolor>
+ </control>
+ <control type="label">
+ <description>Device</description>
+ <posx>50</posx>
+ <posy>65</posy>
+ <width>165</width>
+ <height>25</height>
+ <label>$LOCALIZE[19006]:</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <font>font12</font>
+ <textcolor>grey2</textcolor>
+ </control>
+ <control type="label">
+ <description>Device value</description>
+ <posx>220</posx>
+ <posy>65</posy>
+ <width>1000</width>
+ <height>25</height>
+ <label>$INFO[PVR.ActStreamDevice]</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <font>font12</font>
+ <textcolor>white</textcolor>
+ </control>
+ <control type="label">
+ <description>Status</description>
+ <posx>50</posx>
+ <posy>90</posy>
+ <width>165</width>
+ <height>25</height>
+ <label>$LOCALIZE[19007]:</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <font>font12</font>
+ <textcolor>grey2</textcolor>
+ </control>
+ <control type="label">
+ <description>Status value</description>
+ <posx>220</posx>
+ <posy>90</posy>
+ <width>1000</width>
+ <height>25</height>
+ <label>$INFO[PVR.ActStreamStatus]</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <font>font12</font>
+ <textcolor>white</textcolor>
+ </control>
+ <control type="label">
+ <description>Signal</description>
+ <posx>50</posx>
+ <posy>115</posy>
+ <width>165</width>
+ <height>25</height>
+ <label>$LOCALIZE[19008]:</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <font>font12</font>
+ <textcolor>grey2</textcolor>
+ </control>
+ <control type="progress">
+ <description>Progressbar</description>
+ <posx>220</posx>
+ <posy>122</posy>
+ <width>910</width>
+ <height>14</height>
+ <info>PVR.ActStreamProgrSignal</info>
+ </control>
+ <control type="label">
+ <description>Signal value</description>
+ <posx>1200</posx>
+ <posy>115</posy>
+ <width>180</width>
+ <height>25</height>
+ <label>$INFO[PVR.ActStreamSignal]</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <font>font12</font>
+ <textcolor>white</textcolor>
+ </control>
+ <control type="label">
+ <description>SNR</description>
+ <posx>50</posx>
+ <posy>140</posy>
+ <width>165</width>
+ <height>25</height>
+ <label>$LOCALIZE[19009]:</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <font>font12</font>
+ <textcolor>grey2</textcolor>
+ </control>
+ <control type="progress">
+ <description>Progressbar</description>
+ <posx>220</posx>
+ <posy>147</posy>
+ <width>910</width>
+ <height>14</height>
+ <overlaytexture>-</overlaytexture>
+ <info>PVR.ActStreamProgrSNR</info>
+ </control>
+ <control type="label">
+ <description>SNR value</description>
+ <posx>1200</posx>
+ <posy>140</posy>
+ <width>180</width>
+ <height>25</height>
+ <label>$INFO[PVR.ActStreamSNR]</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <font>font12</font>
+ <textcolor>white</textcolor>
+ </control>
+ <control type="label">
+ <description>BER</description>
+ <posx>50</posx>
+ <posy>165</posy>
+ <width>165</width>
+ <height>25</height>
+ <label>$LOCALIZE[19010]:</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <font>font12</font>
+ <textcolor>grey2</textcolor>
+ </control>
+ <control type="label">
+ <description>BER value</description>
+ <posx>220</posx>
+ <posy>165</posy>
+ <width>1000</width>
+ <height>25</height>
+ <label>$INFO[PVR.ActStreamBER]</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <font>font12</font>
+ <textcolor>white</textcolor>
+ </control>
+ <control type="label">
+ <description>UNC</description>
+ <posx>430</posx>
+ <posy>165</posy>
+ <width>165</width>
+ <height>25</height>
+ <label>$LOCALIZE[19011]:</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <font>font12</font>
+ <textcolor>grey2</textcolor>
+ </control>
+ <control type="label">
+ <description>UNC value</description>
+ <posx>600</posx>
+ <posy>165</posy>
+ <width>1000</width>
+ <height>25</height>
+ <label>$INFO[PVR.ActStreamUNC]</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <font>font12</font>
+ <textcolor>white</textcolor>
+ </control>
+ <control type="label">
+ <description>Encryption</description>
+ <posx>50</posx>
+ <posy>190</posy>
+ <width>165</width>
+ <height>25</height>
+ <label>$LOCALIZE[19015]:</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <font>font12</font>
+ <textcolor>grey2</textcolor>
+ </control>
+ <control type="label">
+ <description>Encryption value</description>
+ <posx>220</posx>
+ <posy>190</posy>
+ <width>1000</width>
+ <height>25</height>
+ <label>$INFO[PVR.ActStreamEncryptionName]</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <font>font12</font>
+ <textcolor>white</textcolor>
+ </control>
+ </control>
</controls>
-</window> \ No newline at end of file
+</window>
diff --git a/addons/skin.confluence/720p/VideoOSD.xml b/addons/skin.confluence/720p/VideoOSD.xml
index 2d517f2c53..f725ddb73e 100644
--- a/addons/skin.confluence/720p/VideoOSD.xml
+++ b/addons/skin.confluence/720p/VideoOSD.xml
@@ -4,7 +4,9 @@
<control type="group">
<animation effect="slide" start="0,-145" end="0,0" time="300" tween="quadratic" easing="out">WindowOpen</animation>
<animation effect="slide" start="0,0" end="0,-145" time="300" delay="150" tween="quadratic" easing="out">WindowClose</animation>
- <animation effect="slide" start="0,0" end="0,-145" time="300" tween="quadratic" easing="out" condition="Window.IsVisible(SliderDialog) | Window.IsVisible(OSDVideoSettings) | Window.IsVisible(OSDAudioSettings) | Window.IsVisible(VideoBookmarks)">Conditional</animation>
+ <animation effect="slide" start="0,0" end="0,-145" time="300" tween="quadratic" easing="out" condition="Window.IsVisible(SliderDialog) | Window.IsVisible(OSDVideoSettings) | Window.IsVisible(OSDAudioSettings) | Window.IsVisible(VideoBookmarks) | Window.IsVisible(PVROSDChannels) | Window.IsVisible(PVROSDGuide)">Conditional</animation>
+
+ <!-- background image -->
<control type="image">
<description>media info background image</description>
<posx>0</posx>
@@ -13,6 +15,9 @@
<height>256</height>
<texture>MediaInfoBackUpper.png</texture>
</control>
+
+ <!-- bookmarks, audio, video -->
+ <!-- !LiveTV -->
<control type="group" id="200">
<posx>417</posx>
<posy>4</posy>
@@ -30,6 +35,7 @@
<onup>600</onup>
<ondown>600</ondown>
<onclick>ActivateWindow(125)</onclick>
+ <visible>!VideoPlayer.Content(LiveTV)</visible>
</control>
<control type="button" id="701">
<posx>50</posx>
@@ -45,6 +51,7 @@
<onup>600</onup>
<ondown>600</ondown>
<onclick>ActivateWindow(124)</onclick>
+ <visible>!VideoPlayer.Content(LiveTV)</visible>
</control>
<control type="button" id="702">
<posx>100</posx>
@@ -60,8 +67,51 @@
<onup>601</onup>
<ondown>601</ondown>
<onclick>ActivateWindow(123)</onclick>
+ <visible>!VideoPlayer.Content(LiveTV)</visible>
</control>
+ <visible>!VideoPlayer.Content(LiveTV)</visible>
</control>
+ <!-- LiveTV -->
+ <control type="group" id="200">
+ <posx>417</posx>
+ <posy>4</posy>
+ <control type="button" id="700">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>45</width>
+ <height>45</height>
+ <label>13396</label>
+ <font>-</font>
+ <texturefocus>OSDAudioFO.png</texturefocus>
+ <texturenofocus>OSDAudioNF.png</texturenofocus>
+ <onleft>705</onleft>
+ <onright>701</onright>
+ <onup>100</onup>
+ <ondown>100</ondown>
+ <onclick>ActivateWindow(124)</onclick>
+ <visible>VideoPlayer.Content(LiveTV)</visible>
+ </control>
+ <control type="button" id="701">
+ <posx>50</posx>
+ <posy>0</posy>
+ <width>45</width>
+ <height>45</height>
+ <label>13395</label>
+ <font>-</font>
+ <texturefocus>OSDVideoFO.png</texturefocus>
+ <texturenofocus>OSDVideoNF.png</texturenofocus>
+ <onleft>700</onleft>
+ <onright>702</onright>
+ <onup>100</onup>
+ <ondown>100</ondown>
+ <onclick>ActivateWindow(123)</onclick>
+ <visible>VideoPlayer.Content(LiveTV)</visible>
+ </control>
+ <visible>VideoPlayer.Content(LiveTV)</visible>
+ </control>
+
+ <!-- separator -->
+ <!-- !LiveTV -->
<control type="image" id="11">
<description>separator image</description>
<posx>567</posx>
@@ -70,11 +120,26 @@
<height>1</height>
<colordiffuse>66FFFFFF</colordiffuse>
<texture>separator2.png</texture>
+ <visible>!VideoPlayer.Content(LiveTV)</visible>
</control>
+ <!-- LiveTV -->
+ <control type="image" id="11">
+ <description>separator image</description>
+ <posx>517</posx>
+ <posy>25</posy>
+ <width>200</width>
+ <height>1</height>
+ <colordiffuse>66FFFFFF</colordiffuse>
+ <texture>separator2.png</texture>
+ <visible>VideoPlayer.Content(LiveTV)</visible>
+ </control>
+
+ <!-- subtitles, dvd, record -->
+ <!-- !LiveTV -->
<control type="group" id="201">
<posx>718</posx>
<posy>4</posy>
- <control type="togglebutton" id="703">
+ <control type="button" id="703">
<posx>0</posx>
<posy>0</posy>
<width>45</width>
@@ -83,18 +148,15 @@
<font>-</font>
<texturefocus>OSDSubtitlesFO.png</texturefocus>
<texturenofocus>OSDSubtitlesNF.png</texturenofocus>
- <alttexturefocus>OSDSubtitlesFO.png</alttexturefocus>
- <alttexturenofocus>OSDSubtitlesNF.png</alttexturenofocus>
<onleft>702</onleft>
<onright>704</onright>
<onup>604</onup>
<ondown>604</ondown>
<onclick>Close</onclick>
<onclick>XBMC.RunScript($INFO[Skin.String(SubtitleScript_Path)])</onclick>
- <altclick>Skin.SetAddon(SubtitleScript_Path,xbmc.python.subtitles)</altclick>
- <altclick>Close</altclick>
- <altclick>XBMC.RunScript($INFO[Skin.String(SubtitleScript_Path)])</altclick>
- <usealttexture>IsEmpty(Skin.String(SubtitleScript_Path))</usealttexture>
+ <enable>Skin.HasSetting(SubtitleDownload_Enable) + !IsEmpty(Skin.String(SubtitleScript_Path))</enable>
+ <animation effect="fade" start="100" end="50" time="100" condition="![Skin.HasSetting(SubtitleDownload_Enable) + !IsEmpty(Skin.String(SubtitleScript_Path))]">Conditional</animation>
+ <visible>!VideoPlayer.Content(LiveTV)</visible>
</control>
<control type="button" id="704">
<posx>50</posx>
@@ -112,6 +174,7 @@
<onclick>PlayerControl(ShowVideoMenu)</onclick>
<enable>VideoPlayer.HasMenu</enable>
<animation effect="fade" start="100" end="50" time="100" condition="!VideoPlayer.HasMenu">Conditional</animation>
+ <visible>!VideoPlayer.Content(LiveTV)</visible>
</control>
<control type="button" id="705">
<posx>100</posx>
@@ -129,8 +192,68 @@
<onclick>XBMC.PlayerControl(record)</onclick>
<enable>Player.CanRecord</enable>
<animation effect="fade" start="100" end="50" time="100" condition="!Player.CanRecord">Conditional</animation>
+ <visible>!VideoPlayer.Content(LiveTV)</visible>
+ </control>
+ <visible>!VideoPlayer.Content(LiveTV)</visible>
+ </control>
+ <!-- LiveTV -->
+ <control type="group" id="201">
+ <posx>718</posx>
+ <posy>4</posy>
+ <control type="button" id="703">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>45</width>
+ <height>45</height>
+ <label>19019</label>
+ <font>-</font>
+ <texturefocus>OSDChannelListFO.png</texturefocus>
+ <texturenofocus>OSDChannelListNF.png</texturenofocus>
+ <onleft>702</onleft>
+ <onright>704</onright>
+ <onup>602</onup>
+ <ondown>602</ondown>
+ <onclick>ActivateWindow(PVROSDChannels)</onclick>
+ <onclick>Dialog.Close(VideoOSD)</onclick>
+ <visible>VideoPlayer.Content(LiveTV)</visible>
+ </control>
+ <control type="button" id="704">
+ <posx>50</posx>
+ <posy>0</posy>
+ <width>45</width>
+ <height>45</height>
+ <label>$LOCALIZE[19029]$INFO[VideoPlayer.ChannelName, - ]</label>
+ <font>-</font>
+ <texturefocus>OSDepgFO.png</texturefocus>
+ <texturenofocus>OSDepgNF.png</texturenofocus>
+ <onleft>703</onleft>
+ <onright>705</onright>
+ <onup>605</onup>
+ <ondown>605</ondown>
+ <onclick>ActivateWindow(PVROSDGuide)</onclick>
+ <visible>VideoPlayer.Content(LiveTV)</visible>
</control>
+ <control type="button" id="705">
+ <posx>100</posx>
+ <posy>0</posy>
+ <width>45</width>
+ <height>45</height>
+ <label>23050</label>
+ <font>-</font>
+ <texturefocus>OSDTeleTextFO.png</texturefocus>
+ <texturenofocus>OSDTeleTextNF.png</texturenofocus>
+ <onleft>704</onleft>
+ <onright>700</onright>
+ <onup>606</onup>
+ <ondown>606</ondown>
+ <onclick>ActivateWindow(Teletext)</onclick>
+ <visible>VideoPlayer.Content(LiveTV)</visible>
+ </control>
+ <visible>VideoPlayer.Content(LiveTV)</visible>
</control>
+
+ <!-- player controls -->
+ <!-- !LiveTV -->
<control type="group" id="100">
<posx>490</posx>
<posy>40</posy>
@@ -148,6 +271,7 @@
<onup>701</onup>
<ondown>701</ondown>
<onclick>PlayerControl(Previous)</onclick>
+ <visible>!VideoPlayer.Content(LiveTV)</visible>
</control>
<control type="button" id="601">
<posx>50</posx>
@@ -163,6 +287,7 @@
<onup>702</onup>
<ondown>702</ondown>
<onclick>PlayerControl(Rewind)</onclick>
+ <visible>!VideoPlayer.Content(LiveTV)</visible>
</control>
<control type="togglebutton" id="602">
<posx>100</posx>
@@ -182,6 +307,7 @@
<onup>702</onup>
<ondown>702</ondown>
<onclick>PlayerControl(Play)</onclick>
+ <visible>!VideoPlayer.Content(LiveTV)</visible>
</control>
<control type="button" id="603">
<posx>150</posx>
@@ -197,6 +323,7 @@
<onup>703</onup>
<ondown>703</ondown>
<onclick>PlayerControl(Stop)</onclick>
+ <visible>!VideoPlayer.Content(LiveTV)</visible>
</control>
<control type="button" id="604">
<posx>200</posx>
@@ -212,6 +339,7 @@
<onup>703</onup>
<ondown>703</ondown>
<onclick>PlayerControl(Forward)</onclick>
+ <visible>!VideoPlayer.Content(LiveTV)</visible>
</control>
<control type="button" id="605">
<posx>250</posx>
@@ -227,8 +355,159 @@
<onup>704</onup>
<ondown>704</ondown>
<onclick>PlayerControl(Next)</onclick>
+ <visible>!VideoPlayer.Content(LiveTV)</visible>
+ </control>
+ <visible>!VideoPlayer.Content(LiveTV)</visible>
+ </control>
+ <!-- LiveTV -->
+ <control type="group" id="100">
+ <posx>440</posx>
+ <posy>40</posy>
+ <control type="button" id="600">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>50</width>
+ <height>50</height>
+ <label>31354</label>
+ <font>-</font>
+ <texturefocus>OSDRewindFO.png</texturefocus>
+ <texturenofocus>OSDRewindNF.png</texturenofocus>
+ <onleft>606</onleft>
+ <onright>601</onright>
+ <onup>700</onup>
+ <ondown>700</ondown>
+ <onclick>PlayerControl(Rewind)</onclick>
+ <enable>false</enable>
+ <animation effect="fade" start="100" end="50" time="100" condition="true">Conditional</animation>
+ <visible>VideoPlayer.Content(LiveTV)</visible>
+ </control>
+ <control type="togglebutton" id="601">
+ <posx>50</posx>
+ <posy>0</posy>
+ <width>50</width>
+ <height>50</height>
+ <label>31351</label>
+ <altlabel>208</altlabel>
+ <font>-</font>
+ <texturefocus>OSDPauseFO.png</texturefocus>
+ <texturenofocus>OSDPauseNF.png</texturenofocus>
+ <usealttexture>Player.Paused | Player.Forwarding | Player.Rewinding</usealttexture>
+ <alttexturefocus>OSDPlayFO.png</alttexturefocus>
+ <alttexturenofocus>OSDPlayNF.png</alttexturenofocus>
+ <onleft>600</onleft>
+ <onright>603</onright>
+ <onup>700</onup>
+ <ondown>700</ondown>
+ <onclick>PlayerControl(Play)</onclick>
+ <enable>false</enable>
+ <animation effect="fade" start="100" end="50" time="100" condition="true">Conditional</animation>
+ <visible>VideoPlayer.Content(LiveTV)</visible>
+ </control>
+ <control type="button" id="603">
+ <posx>100</posx>
+ <posy>0</posy>
+ <width>50</width>
+ <height>50</height>
+ <label>31352</label>
+ <font>-</font>
+ <texturefocus>OSDStopFO.png</texturefocus>
+ <texturenofocus>OSDStopNF.png</texturenofocus>
+ <onleft>601</onleft>
+ <onright>604</onright>
+ <onup>700</onup>
+ <ondown>700</ondown>
+ <onclick>PlayerControl(Stop)</onclick>
+ <visible>VideoPlayer.Content(LiveTV)</visible>
+ </control>
+ <control type="button" id="604">
+ <posx>150</posx>
+ <posy>0</posy>
+ <width>50</width>
+ <height>50</height>
+ <label>31353</label>
+ <font>-</font>
+ <texturefocus>OSDForwardFO.png</texturefocus>
+ <texturenofocus>OSDForwardNF.png</texturenofocus>
+ <onleft>603</onleft>
+ <onright>602</onright>
+ <onup>70</onup>
+ <ondown>700</ondown>
+ <onclick>PlayerControl(Forward)</onclick>
+ <enable>false</enable>
+ <animation effect="fade" start="100" end="50" time="100" condition="true">Conditional</animation>
+ <visible>VideoPlayer.Content(LiveTV)</visible>
+ </control>
+ <control type="button" id="602">
+ <posx>250</posx>
+ <posy>0</posy>
+ <width>50</width>
+ <height>50</height>
+ <label>210</label>
+ <font>-</font>
+ <texturefocus>OSDChannelUPFO.png</texturefocus>
+ <texturenofocus>OSDChannelUPNF.png</texturenofocus>
+ <onleft>604</onleft>
+ <onright>605</onright>
+ <onup>703</onup>
+ <ondown>703</ondown>
+ <onclick>PlayerControl(Previous)</onclick>
+ <visible>VideoPlayer.Content(LiveTV)</visible>
+ </control>
+ <control type="button" id="605">
+ <posx>300</posx>
+ <posy>0</posy>
+ <width>50</width>
+ <height>50</height>
+ <label>209</label>
+ <font>-</font>
+ <texturefocus>OSDChannelDownFO.png</texturefocus>
+ <texturenofocus>OSDChannelDownNF.png</texturenofocus>
+ <onleft>602</onleft>
+ <onright>606</onright>
+ <onup>704</onup>
+ <ondown>704</ondown>
+ <onclick>PlayerControl(Next)</onclick>
+ <visible>VideoPlayer.Content(LiveTV)</visible>
+ </control>
+ <control type="button" id="606">
+ <posx>350</posx>
+ <posy>0</posy>
+ <width>50</width>
+ <height>50</height>
+ <label>264</label>
+ <font>-</font>
+ <texturefocus>OSDRecordFO.png</texturefocus>
+ <texturenofocus>OSDRecordNF.png</texturenofocus>
+ <onleft>605</onleft>
+ <onright>600</onright>
+ <onup>705</onup>
+ <ondown>705</ondown>
+ <onclick>XBMC.PlayerControl(record)</onclick>
+ <enable>Player.CanRecord</enable>
+ <animation effect="fade" start="100" end="50" time="100" condition="!Player.CanRecord">Conditional</animation>
+ <visible>VideoPlayer.Content(LiveTV) + Player.CanRecord + !Player.Recording</visible>
+ </control>
+ <control type="button" id="606">
+ <posx>350</posx>
+ <posy>0</posy>
+ <width>50</width>
+ <height>50</height>
+ <label>264</label>
+ <font>-</font>
+ <texturefocus>OSDRecord2.png</texturefocus>
+ <texturenofocus>OSDRecordNF2.png</texturenofocus>
+ <onleft>605</onleft>
+ <onright>600</onright>
+ <onup>705</onup>
+ <ondown>705</ondown>
+ <onclick>XBMC.PlayerControl(record)</onclick>
+ <animation effect="fade" start="100" end="50" time="100" condition="!Player.CanRecord">Conditional</animation>
+ <visible>VideoPlayer.Content(LiveTV) + Player.CanRecord + Player.Recording</visible>
</control>
+ <visible>VideoPlayer.Content(LiveTV)</visible>
</control>
+
+ <!-- play status -->
<control type="label">
<posx>20</posx>
<posy>60</posy>
@@ -243,6 +522,8 @@
<shadowcolor>black</shadowcolor>
<visible>Window.IsTopmost(VideoOSD)</visible>
</control>
+
+ <!-- timer -->
<control type="label">
<posx>1260</posx>
<posy>60</posy>
@@ -256,6 +537,8 @@
<textcolor>grey</textcolor>
<shadowcolor>black</shadowcolor>
</control>
+
+ <!-- window title -->
<control type="group">
<posx>0</posx>
<posy>0</posy>
@@ -274,7 +557,10 @@
<label>31141</label>
</control>
</control>
+
+ <!-- clock -->
<include>Clock</include>
</control>
</controls>
-</window> \ No newline at end of file
+</window>
+
diff --git a/addons/skin.confluence/720p/custom_SkinSetting_1111.xml b/addons/skin.confluence/720p/custom_SkinSetting_1111.xml
index a58e74bd78..7744b0bcaa 100644
--- a/addons/skin.confluence/720p/custom_SkinSetting_1111.xml
+++ b/addons/skin.confluence/720p/custom_SkinSetting_1111.xml
@@ -693,6 +693,13 @@
<icon>special://skin/backgrounds/videos.jpg</icon>
<thumb>$INFO[Skin.String(Home_Custom_Back_Video_Folder)]</thumb>
</item>
+ <item id="12">
+ <label>31502</label>
+ <onclick>-</onclick>
+ <icon>special://skin/backgrounds/tv.jpg</icon>
+ <thumb>$INFO[Skin.String(Home_Custom_Back_TV_Folder)]</thumb>
+ <visible>System.GetBool(pvrmanager.enabled)</visible>
+ </item>
<item id="10">
<label>20342</label>
<onclick>-</onclick>
@@ -1295,6 +1302,66 @@
<ondown>304</ondown>
</control>
</control>
+ <control type="group">
+ <visible>Container(9003).HasFocus(12)</visible>
+ <control type="button" id="300">
+ <description>Single Image button</description>
+ <posx>5</posx>
+ <posy>0</posy>
+ <width>180</width>
+ <height>40</height>
+ <label>31113</label>
+ <font>font12_title</font>
+ <textcolor>grey2</textcolor>
+ <focusedcolor>white</focusedcolor>
+ <align>center</align>
+ <texturenofocus border="5">button-nofocus.png</texturenofocus>
+ <texturefocus border="5">button-focus.png</texturefocus>
+ <onclick>Skin.SetImage(Home_Custom_Back_TV_Folder)</onclick>
+ <onleft>302</onleft>
+ <onright>301</onright>
+ <onup>304</onup>
+ <ondown>304</ondown>
+ </control>
+ <control type="button" id="301">
+ <description>Multi Image button</description>
+ <posx>190</posx>
+ <posy>0</posy>
+ <width>180</width>
+ <height>40</height>
+ <label>31114</label>
+ <font>font12_title</font>
+ <textcolor>grey2</textcolor>
+ <focusedcolor>white</focusedcolor>
+ <align>center</align>
+ <texturenofocus border="5">button-nofocus.png</texturenofocus>
+ <texturefocus border="5">button-focus.png</texturefocus>
+ <onclick>Skin.SetPath(Home_Custom_Back_TV_Folder)</onclick>
+ <onleft>300</onleft>
+ <onright>302</onright>
+ <onup>304</onup>
+ <ondown>304</ondown>
+ </control>
+ <control type="button" id="302">
+ <description>Default Image button</description>
+ <posx>375</posx>
+ <posy>0</posy>
+ <width>180</width>
+ <height>40</height>
+ <label>571</label>
+ <font>font12_title</font>
+ <textcolor>grey2</textcolor>
+ <focusedcolor>white</focusedcolor>
+ <align>center</align>
+ <texturenofocus border="5">button-nofocus.png</texturenofocus>
+ <texturefocus border="5">button-focus.png</texturefocus>
+ <onclick>Skin.Reset(Home_Custom_Back_TV_Folder)</onclick>
+ <onleft>301</onleft>
+ <onright>300</onright>
+ <onup>304</onup>
+ <ondown>304</ondown>
+ </control>
+ </control>
</control>
<control type="multiimage">
<posx>95</posx>
diff --git a/addons/skin.confluence/720p/defaults.xml b/addons/skin.confluence/720p/defaults.xml
index 5c617c9cba..6b980db6a7 100644
--- a/addons/skin.confluence/720p/defaults.xml
+++ b/addons/skin.confluence/720p/defaults.xml
@@ -132,6 +132,7 @@
<disabledcolor>grey3</disabledcolor>
<textoffsetx>7</textoffsetx>
<aligny>center</aligny>
+ <pulseonselect>no</pulseonselect>
</default>
<default type="selectbutton">
<posx>490</posx>
diff --git a/addons/skin.confluence/720p/includes.xml b/addons/skin.confluence/720p/includes.xml
index d6d17d0006..703bbdb7aa 100644
--- a/addons/skin.confluence/720p/includes.xml
+++ b/addons/skin.confluence/720p/includes.xml
@@ -82,6 +82,18 @@
<include>Window_OpenClose_Animation</include>
</control>
</include>
+ <include name="CommonTVBackground">
+ <control type="multiimage">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>1280</width>
+ <height>720</height>
+ <imagepath fallback="special://skin/backgrounds/tv.jpg" background="true">$INFO[Skin.String(Home_Custom_Back_TV_Folder)]</imagepath>
+ <timeperimage>10000</timeperimage>
+ <randomize>true</randomize>
+ <fadetime>1000</fadetime>
+ </control>
+ </include>
<include name="CommonMusicBackground">
<control type="multiimage">
<posx>0</posx>
@@ -461,7 +473,7 @@
<font>font12_title</font>
<textcolor>grey2</textcolor>
<shadowcolor>black</shadowcolor>
- <visible>!videoplayer.content(episodes) + !videoplayer.content(musicvideos)</visible>
+ <visible>!videoplayer.content(episodes) + !videoplayer.content(musicvideos) + !videoplayer.content(LiveTV)</visible>
</control>
<control type="label">
<description>TV Show Title label</description>
@@ -494,6 +506,22 @@
<pauseatend>2000</pauseatend>
</control>
<control type="fadelabel">
+ <description>Channel label</description>
+ <posx>160</posx>
+ <posy>20</posy>
+ <height>30</height>
+ <width>325</width>
+ <label>$INFO[VideoPlayer.ChannelName]</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <font>font12_title</font>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <visible>videoplayer.content(LiveTV)</visible>
+ <scrollout>false</scrollout>
+ <pauseatend>2000</pauseatend>
+ </control>
+ <control type="fadelabel">
<description>Title label</description>
<posx>160</posx>
<posy>43</posy>
diff --git a/addons/skin.confluence/backgrounds/tv.jpg b/addons/skin.confluence/backgrounds/tv.jpg
new file mode 100644
index 0000000000..9414690563
--- /dev/null
+++ b/addons/skin.confluence/backgrounds/tv.jpg
Binary files differ
diff --git a/addons/skin.confluence/language/English/strings.xml b/addons/skin.confluence/language/English/strings.xml
index 4894ba183c..0bddbc69cb 100644
--- a/addons/skin.confluence/language/English/strings.xml
+++ b/addons/skin.confluence/language/English/strings.xml
@@ -158,6 +158,20 @@
<string id="31406">[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock</string>
<string id="31407">[B]CONFIGURE SKIN SETTINGS[/B][CR][CR]Setup the Confluence skin · Add and remove home menu items[CR]Change skin backgrounds</string>
<string id="31408">[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse for and install Add-ons from xbmc.org[CR]Modify Add-on settings</string>
+ <string id="31409">[B]CONFIGURE TV SETTINGS[/B][CR][CR]Change fullscreen info · Manage EPG data settings</string>
<string id="31421">Select your XBMC user Profile[CR]to login and continue</string>
+
+ <!-- Extra Unified PVR labels -->
+ <string id="31500">Recording Timers</string>
+ <string id="31501">Scheduled Time</string>
+ <string id="31502">Live TV</string>
+ <string id="31503">Add Group</string>
+ <string id="31504">Rename Group</string>
+ <string id="31505">Delete Group</string>
+ <string id="31506">Available[CR]Groups</string>
+ <string id="31507">Ungrouped[CR]Channels</string>
+ <string id="31508">Channels in Group</string>
+ <string id="31509">Channel Group</string>
+ <string id="31510">Timer Set</string>
</strings>
diff --git a/addons/skin.confluence/language/German/strings.xml b/addons/skin.confluence/language/German/strings.xml
index 33edf187e6..33ec2ee363 100644
--- a/addons/skin.confluence/language/German/strings.xml
+++ b/addons/skin.confluence/language/German/strings.xml
@@ -138,6 +138,21 @@
<string id="31405">[B]KONFIGURIERE NETZWERK EINSTELLUNGEN[/B][CR][CR]Einrichten der Steuerung von XBMC via UPnP und HTTP · Konfiguriere Datei Zugriff[CR]Setze Internet Zugriffs Optionen</string>
<string id="31406">[B]KONFIGURIERE SYSTEM EINSTELLUNGEN[/B][CR][CR]Setze und kalibriere Displays · Konfiguriere Audioausgabe · Setze Fernbedienungs Einstellungen · Setze Energiespar Optionen · Aktiviere Debugging · Einrichten Master Sperre</string>
<string id="31407">[B]KONFIGURIERE SKIN EINSTELLUNGEN[/B][CR][CR]Einrichten des Confluence Skin · Hinzufügen und entfernen der Home Menü Einträge[CR]Wechseln der Skin Hintergründe</string>
- <string id="31408">[B]KONFIGURIERE ADD-ONS[/B][CR][CR]Organisiere die installierten Add-ons · Installiere Add-ons von xbmc.org[CR]Add-on Einstellungen anpassen</string>
+ <string id="31408">[B]KONFIGURIERE ERWEITERUNGEN[/B][CR][CR]Organisiere die installierten Add-ons · Installiere Add-ons von xbmc.org[CR]Add-on Einstellungen anpassen</string>
+ <string id="31409">[B]KONFIGURIERE TV EINSTELLUNGEN[/B][CR][CR]Verändere Vollbild Modus · Verwalte EPG Daten Einstellungen</string>
+
<string id="31421">Wähle Dein XBMC Benutzer Profil[CR]Zum Anmelden und Weitermachen</string>
+
+ <!-- Extra Unified PVR labels -->
+ <string id="31500">Recording Timers</string>
+ <string id="31501">Scheduled Time</string>
+ <string id="31502">Live TV</string>
+ <string id="31503">Gruppe hinzufügen</string>
+ <string id="31504">Gruppe umbenennen</string>
+ <string id="31505">Gruppe löschen</string>
+ <string id="31506">Verfügbare[CR]Gruppen</string>
+ <string id="31507">Ungruppierte[CR]Kanäle</string>
+ <string id="31508">Kanäle in Gruppe</string>
+ <string id="31509">Kanalgruppe</string>
+ <string id="31510">Timer Set</string>
</strings>
diff --git a/addons/skin.confluence/media/Makefile b/addons/skin.confluence/media/Makefile
index d8aaf26d1d..35eb7de76f 100644
--- a/addons/skin.confluence/media/Makefile
+++ b/addons/skin.confluence/media/Makefile
@@ -241,6 +241,7 @@ IMAGES= \
OSDRandomOnFO.png \
OSDRandomOnNF.png \
OSDRecord2.png \
+ OSDRecordNF2.png \
OSDRecordFO.png \
OSDRecordNF.png \
OSDRecordOff.png \
diff --git a/addons/skin.confluence/media/OSDChannelDownFO.png b/addons/skin.confluence/media/OSDChannelDownFO.png
new file mode 100644
index 0000000000..5116c327ba
--- /dev/null
+++ b/addons/skin.confluence/media/OSDChannelDownFO.png
Binary files differ
diff --git a/addons/skin.confluence/media/OSDChannelDownNF.png b/addons/skin.confluence/media/OSDChannelDownNF.png
new file mode 100644
index 0000000000..6795c43328
--- /dev/null
+++ b/addons/skin.confluence/media/OSDChannelDownNF.png
Binary files differ
diff --git a/addons/skin.confluence/media/OSDChannelListFO.png b/addons/skin.confluence/media/OSDChannelListFO.png
new file mode 100644
index 0000000000..a08bc13a7d
--- /dev/null
+++ b/addons/skin.confluence/media/OSDChannelListFO.png
Binary files differ
diff --git a/addons/skin.confluence/media/OSDChannelListNF.png b/addons/skin.confluence/media/OSDChannelListNF.png
new file mode 100644
index 0000000000..8339fdced4
--- /dev/null
+++ b/addons/skin.confluence/media/OSDChannelListNF.png
Binary files differ
diff --git a/addons/skin.confluence/media/OSDChannelUPFO.png b/addons/skin.confluence/media/OSDChannelUPFO.png
new file mode 100644
index 0000000000..a3e6dbad5f
--- /dev/null
+++ b/addons/skin.confluence/media/OSDChannelUPFO.png
Binary files differ
diff --git a/addons/skin.confluence/media/OSDChannelUPNF.png b/addons/skin.confluence/media/OSDChannelUPNF.png
new file mode 100644
index 0000000000..47e6e331bc
--- /dev/null
+++ b/addons/skin.confluence/media/OSDChannelUPNF.png
Binary files differ
diff --git a/addons/skin.confluence/media/OSDRecordNF2.png b/addons/skin.confluence/media/OSDRecordNF2.png
new file mode 100644
index 0000000000..10060e73b3
--- /dev/null
+++ b/addons/skin.confluence/media/OSDRecordNF2.png
Binary files differ
diff --git a/addons/skin.confluence/media/OSDTeleTextFO.png b/addons/skin.confluence/media/OSDTeleTextFO.png
new file mode 100644
index 0000000000..53eb5762fd
--- /dev/null
+++ b/addons/skin.confluence/media/OSDTeleTextFO.png
Binary files differ
diff --git a/addons/skin.confluence/media/OSDTeleTextNF.png b/addons/skin.confluence/media/OSDTeleTextNF.png
new file mode 100644
index 0000000000..111c0685b2
--- /dev/null
+++ b/addons/skin.confluence/media/OSDTeleTextNF.png
Binary files differ
diff --git a/addons/skin.confluence/media/OSDepgFO.png b/addons/skin.confluence/media/OSDepgFO.png
new file mode 100644
index 0000000000..141f7adfc7
--- /dev/null
+++ b/addons/skin.confluence/media/OSDepgFO.png
Binary files differ
diff --git a/addons/skin.confluence/media/OSDepgNF.png b/addons/skin.confluence/media/OSDepgNF.png
new file mode 100644
index 0000000000..cf9a86b656
--- /dev/null
+++ b/addons/skin.confluence/media/OSDepgNF.png
Binary files differ
diff --git a/addons/skin.confluence/media/PVR-HasTimer.png b/addons/skin.confluence/media/PVR-HasTimer.png
new file mode 100644
index 0000000000..99c2ee9b44
--- /dev/null
+++ b/addons/skin.confluence/media/PVR-HasTimer.png
Binary files differ
diff --git a/addons/skin.confluence/media/PVR-IsRecording.png b/addons/skin.confluence/media/PVR-IsRecording.png
new file mode 100644
index 0000000000..e64b346327
--- /dev/null
+++ b/addons/skin.confluence/media/PVR-IsRecording.png
Binary files differ
diff --git a/addons/skin.confluence/media/StackNF.png b/addons/skin.confluence/media/StackNF.png
index 17e5052671..0cbcd832fc 100644
--- a/addons/skin.confluence/media/StackNF.png
+++ b/addons/skin.confluence/media/StackNF.png
Binary files differ
diff --git a/addons/skin.confluence/media/genre-a-moviedrama.png b/addons/skin.confluence/media/genre-a-moviedrama.png
new file mode 100644
index 0000000000..22c3f1aead
--- /dev/null
+++ b/addons/skin.confluence/media/genre-a-moviedrama.png
Binary files differ
diff --git a/addons/skin.confluence/media/genre-b-news.png b/addons/skin.confluence/media/genre-b-news.png
new file mode 100644
index 0000000000..12706ffad9
--- /dev/null
+++ b/addons/skin.confluence/media/genre-b-news.png
Binary files differ
diff --git a/addons/skin.confluence/media/genre-c-show.png b/addons/skin.confluence/media/genre-c-show.png
new file mode 100644
index 0000000000..bb944893aa
--- /dev/null
+++ b/addons/skin.confluence/media/genre-c-show.png
Binary files differ
diff --git a/addons/skin.confluence/media/genre-d-sports.png b/addons/skin.confluence/media/genre-d-sports.png
new file mode 100644
index 0000000000..59232f6db5
--- /dev/null
+++ b/addons/skin.confluence/media/genre-d-sports.png
Binary files differ
diff --git a/addons/skin.confluence/media/genre-e-child.png b/addons/skin.confluence/media/genre-e-child.png
new file mode 100644
index 0000000000..cbe5344ce3
--- /dev/null
+++ b/addons/skin.confluence/media/genre-e-child.png
Binary files differ
diff --git a/addons/skin.confluence/media/genre-f-music.png b/addons/skin.confluence/media/genre-f-music.png
new file mode 100644
index 0000000000..848d772315
--- /dev/null
+++ b/addons/skin.confluence/media/genre-f-music.png
Binary files differ
diff --git a/addons/skin.confluence/media/genre-g-arts.png b/addons/skin.confluence/media/genre-g-arts.png
new file mode 100644
index 0000000000..d93345eaac
--- /dev/null
+++ b/addons/skin.confluence/media/genre-g-arts.png
Binary files differ
diff --git a/addons/skin.confluence/media/genre-h-social.png b/addons/skin.confluence/media/genre-h-social.png
new file mode 100644
index 0000000000..9610875eb5
--- /dev/null
+++ b/addons/skin.confluence/media/genre-h-social.png
Binary files differ
diff --git a/addons/skin.confluence/media/genre-i-science.png b/addons/skin.confluence/media/genre-i-science.png
new file mode 100644
index 0000000000..17b46a653e
--- /dev/null
+++ b/addons/skin.confluence/media/genre-i-science.png
Binary files differ
diff --git a/addons/skin.confluence/media/genre-j-hobby.png b/addons/skin.confluence/media/genre-j-hobby.png
new file mode 100644
index 0000000000..29be2db90b
--- /dev/null
+++ b/addons/skin.confluence/media/genre-j-hobby.png
Binary files differ
diff --git a/addons/skin.confluence/media/genre-k-special.png b/addons/skin.confluence/media/genre-k-special.png
new file mode 100644
index 0000000000..e18cd2b987
--- /dev/null
+++ b/addons/skin.confluence/media/genre-k-special.png
Binary files differ
diff --git a/addons/skin.confluence/media/genre-l-unknown.png b/addons/skin.confluence/media/genre-l-unknown.png
new file mode 100644
index 0000000000..80c6192880
--- /dev/null
+++ b/addons/skin.confluence/media/genre-l-unknown.png
Binary files differ