aboutsummaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorLars Op den Kamp <lars@opdenkamp.eu>2012-09-01 17:12:07 +0200
committerLars Op den Kamp <lars@opdenkamp.eu>2012-09-05 00:17:22 +0200
commit4e9cb43928abbddd5d683cb5d9d66c72b3bbf88e (patch)
tree58c59c5d5621c553118edb569e1e815c45567f83 /addons
parentc79dd456775c37963a27d9f563c405d83ee19c5c (diff)
[pvr] added PVR support to XBMC (taken from https://github.com/opdenkamp/xbmc/commit/c576c080532a0e4c4ffc7babd57782f80a6951ba)
add-ons are not included, but can be found here: https://github.com/opdenkamp/xbmc-pvr-addons
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.h182
-rw-r--r--addons/library.xbmc.gui/libXBMC_gui.h310
-rw-r--r--addons/library.xbmc.pvr/libXBMC_pvr.h170
-rw-r--r--addons/skin.confluence/720p/DialogButtonMenu.xml40
-rw-r--r--addons/skin.confluence/720p/DialogExtendedProgressBar.xml48
-rw-r--r--addons/skin.confluence/720p/DialogPVRChannelManager.xml560
-rw-r--r--addons/skin.confluence/720p/DialogPVRChannelsOSD.xml359
-rw-r--r--addons/skin.confluence/720p/DialogPVRGroupManager.xml433
-rw-r--r--addons/skin.confluence/720p/DialogPVRGuideInfo.xml226
-rw-r--r--addons/skin.confluence/720p/DialogPVRGuideOSD.xml253
-rw-r--r--addons/skin.confluence/720p/DialogPVRGuideSearch.xml456
-rw-r--r--addons/skin.confluence/720p/DialogPVRRecordingInfo.xml267
-rw-r--r--addons/skin.confluence/720p/DialogPVRTimerSettings.xml155
-rw-r--r--addons/skin.confluence/720p/Home.xml454
-rw-r--r--addons/skin.confluence/720p/IncludesBackgroundBuilding.xml99
-rw-r--r--addons/skin.confluence/720p/IncludesHomeMenuItems.xml44
-rw-r--r--addons/skin.confluence/720p/MusicOSD.xml6
-rw-r--r--addons/skin.confluence/720p/MyPVR.xml258
-rw-r--r--addons/skin.confluence/720p/PlayerControls.xml149
-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.xml324
-rw-r--r--addons/skin.confluence/720p/VideoOSD.xml207
-rw-r--r--addons/skin.confluence/720p/ViewsPVR.xml2392
-rw-r--r--addons/skin.confluence/720p/defaults.xml1
-rw-r--r--addons/skin.confluence/720p/includes.xml82
-rw-r--r--addons/skin.confluence/backgrounds/tv.jpgbin0 -> 576461 bytes
-rw-r--r--addons/skin.confluence/language/Dutch/strings.po40
-rw-r--r--addons/skin.confluence/language/English/strings.po51
-rw-r--r--addons/skin.confluence/language/Finnish/strings.po44
-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/OSDRecordOff.pngbin829 -> 0 bytes
-rw-r--r--addons/skin.confluence/media/OSDRecordOffFO.png (renamed from addons/skin.confluence/media/OSDRecordFO.png)bin5416 -> 5416 bytes
-rw-r--r--addons/skin.confluence/media/OSDRecordOffNF.png (renamed from addons/skin.confluence/media/OSDRecordNF.png)bin865 -> 865 bytes
-rw-r--r--addons/skin.confluence/media/OSDRecordOnFO.png (renamed from addons/skin.confluence/media/OSDRecord2.png)bin5389 -> 5389 bytes
-rw-r--r--addons/skin.confluence/media/OSDRecordOnNF.pngbin0 -> 1861 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/epg-genres/0.pngbin0 -> 2849 bytes
-rw-r--r--addons/skin.confluence/media/epg-genres/112.pngbin0 -> 2849 bytes
-rw-r--r--addons/skin.confluence/media/epg-genres/128.pngbin0 -> 2849 bytes
-rw-r--r--addons/skin.confluence/media/epg-genres/144.pngbin0 -> 2849 bytes
-rw-r--r--addons/skin.confluence/media/epg-genres/16.pngbin0 -> 2849 bytes
-rw-r--r--addons/skin.confluence/media/epg-genres/160.pngbin0 -> 2849 bytes
-rw-r--r--addons/skin.confluence/media/epg-genres/176.pngbin0 -> 2849 bytes
-rw-r--r--addons/skin.confluence/media/epg-genres/192.pngbin0 -> 2849 bytes
-rw-r--r--addons/skin.confluence/media/epg-genres/208.pngbin0 -> 2849 bytes
-rw-r--r--addons/skin.confluence/media/epg-genres/224.pngbin0 -> 2849 bytes
-rw-r--r--addons/skin.confluence/media/epg-genres/240.pngbin0 -> 2849 bytes
-rw-r--r--addons/skin.confluence/media/epg-genres/32.pngbin0 -> 2847 bytes
-rw-r--r--addons/skin.confluence/media/epg-genres/48.pngbin0 -> 2849 bytes
-rw-r--r--addons/skin.confluence/media/epg-genres/64.pngbin0 -> 2849 bytes
-rw-r--r--addons/skin.confluence/media/epg-genres/80.pngbin0 -> 2849 bytes
-rw-r--r--addons/skin.confluence/media/epg-genres/96.pngbin0 -> 2849 bytes
-rw-r--r--addons/skin.confluence/media/epg-genres/genre-numbers.txt18
-rw-r--r--addons/skin.confluence/media/gradient.pngbin0 -> 3585 bytes
-rw-r--r--addons/skin.confluence/media/home-power-inhibit-FO.pngbin0 -> 7098 bytes
-rw-r--r--addons/skin.confluence/media/home-power-inhibit.pngbin0 -> 6502 bytes
70 files changed, 7848 insertions, 122 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..583992120f
--- /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..b93a029f29
--- /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..75012e9aff
--- /dev/null
+++ b/addons/library.xbmc.addon/libXBMC_addon.h
@@ -0,0 +1,182 @@
+#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>
+
+#ifdef _WIN32 // windows
+#include "dlfcn-win32.h"
+#define ADDON_DLL "\\library.xbmc.addon\\libXBMC_addon" ADDON_HELPER_EXT
+#define ADDON_HELPER_PLATFORM "win32"
+#define ADDON_HELPER_EXT ".dll"
+#else
+#if defined(__APPLE__) // osx
+#define ADDON_HELPER_PLATFORM "osx"
+#if defined(__POWERPC__)
+#define ADDON_HELPER_ARCH "powerpc"
+#elif defined(__arm__)
+#define ADDON_HELPER_ARCH "arm"
+#else
+#define ADDON_HELPER_ARCH "x86"
+#endif
+#else // linux
+#define ADDON_HELPER_PLATFORM "linux"
+#if defined(__x86_64__)
+#define ADDON_HELPER_ARCH "x86_64"
+#elif defined(_POWERPC)
+#define ADDON_HELPER_ARCH "powerpc"
+#elif defined(_POWERPC64)
+#define ADDON_HELPER_ARCH "powerpc64"
+#elif defined(__ARMEL__)
+#define ADDON_HELPER_ARCH "arm"
+#elif defined(_MIPSEL)
+#define ADDON_HELPER_ARCH "mipsel"
+#else
+#define ADDON_HELPER_ARCH "i486"
+#endif
+#endif
+#include <dlfcn.h> // linux+osx
+#define ADDON_HELPER_EXT ".so"
+#define ADDON_DLL "/library.xbmc.addon/libXBMC_addon-" ADDON_HELPER_ARCH "-" ADDON_HELPER_PLATFORM ADDON_HELPER_EXT
+#endif
+
+#ifdef LOG_DEBUG
+#undef LOG_DEBUG
+#endif
+#ifdef LOG_INFO
+#undef LOG_INFO
+#endif
+#ifdef LOG_NOTICE
+#undef LOG_NOTICE
+#endif
+#ifdef LOG_ERROR
+#undef LOG_ERROR
+#endif
+
+namespace ADDON
+{
+ 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 (*)(const char* 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 = (const char* (*)(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 = (const char* (*)())
+ 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)(const char* settingName, void *settingValue);
+ void (*QueueNotification)(const queue_msg_t type, const char *format, ... );
+ void (*UnknownToUTF8)(std::string &str);
+ const char* (*GetLocalizedString)(int dwCode);
+ const char* (*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..afde37814d
--- /dev/null
+++ b/addons/library.xbmc.gui/libXBMC_gui.h
@@ -0,0 +1,310 @@
+#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 "../library.xbmc.addon/libXBMC_addon.h"
+
+typedef void* GUIHANDLE;
+
+#ifdef _WIN32
+#define GUI_HELPER_DLL "\\library.xbmc.gui\\libXBMC_gui" ADDON_HELPER_EXT
+#else
+#define GUI_HELPER_DLL "/library.xbmc.gui/libXBMC_gui-" ADDON_HELPER_ARCH "-" ADDON_HELPER_PLATFORM ADDON_HELPER_EXT
+#endif
+
+#define ADDON_ACTION_PREVIOUS_MENU 10
+#define ADDON_ACTION_CLOSE_DIALOG 51
+
+class CAddonGUIWindow;
+class CAddonGUISpinControl;
+class CAddonGUIRadioButton;
+class CAddonGUIProgressControl;
+class CAddonListItem;
+
+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 = (CAddonGUIWindow* (*)(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 (*)(CAddonGUIWindow* 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 = (CAddonGUISpinControl* (*)(CAddonGUIWindow *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 (*)(CAddonGUISpinControl* 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 = (CAddonGUIRadioButton* (*)(CAddonGUIWindow *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 (*)(CAddonGUIRadioButton* 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 = (CAddonGUIProgressControl* (*)(CAddonGUIWindow *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 (*)(CAddonGUIProgressControl* 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 = (CAddonListItem* (*)(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 (*)(CAddonListItem* 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)();
+ CAddonGUIWindow* (*Window_create)(const char *xmlFilename, const char *defaultSkin, bool forceFallback, bool asDialog);
+ void (*Window_destroy)(CAddonGUIWindow* p);
+ CAddonGUISpinControl* (*Control_getSpin)(CAddonGUIWindow *window, int controlId);
+ void (*Control_releaseSpin)(CAddonGUISpinControl* p);
+ CAddonGUIRadioButton* (*Control_getRadioButton)(CAddonGUIWindow *window, int controlId);
+ void (*Control_releaseRadioButton)(CAddonGUIRadioButton* p);
+ CAddonGUIProgressControl* (*Control_getProgress)(CAddonGUIWindow *window, int controlId);
+ void (*Control_releaseProgress)(CAddonGUIProgressControl* p);
+ CAddonListItem* (*ListItem_create)(const char *label, const char *label2, const char *iconImage, const char *thumbnailImage, const char *path);
+ void (*ListItem_destroy)(CAddonListItem* 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 CAddonGUISpinControl
+{
+public:
+ CAddonGUISpinControl(CAddonGUIWindow *window, int controlId);
+ virtual ~CAddonGUISpinControl(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:
+ CAddonGUIWindow *m_Window;
+ int m_ControlId;
+ GUIHANDLE m_SpinHandle;
+};
+
+class CAddonGUIRadioButton
+{
+public:
+ CAddonGUIRadioButton(CAddonGUIWindow *window, int controlId);
+ ~CAddonGUIRadioButton() {}
+
+ virtual void SetVisible(bool yesNo);
+ virtual void SetText(const char *label);
+ virtual void SetSelected(bool yesNo);
+ virtual bool IsSelected();
+
+private:
+ CAddonGUIWindow *m_Window;
+ int m_ControlId;
+ GUIHANDLE m_ButtonHandle;
+};
+
+class CAddonGUIProgressControl
+{
+public:
+ CAddonGUIProgressControl(CAddonGUIWindow *window, int controlId);
+ virtual ~CAddonGUIProgressControl(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:
+ CAddonGUIWindow *m_Window;
+ int m_ControlId;
+ GUIHANDLE m_ProgressHandle;
+};
+
+class CAddonListItem
+{
+friend class CAddonGUIWindow;
+
+public:
+ CAddonListItem(const char *label, const char *label2, const char *iconImage, const char *thumbnailImage, const char *path);
+ virtual ~CAddonListItem(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 CAddonGUIWindow
+{
+friend class CAddonGUISpinControl;
+friend class CAddonGUIRadioButton;
+friend class CAddonGUIProgressControl;
+
+public:
+ CAddonGUIWindow(const char *xmlFilename, const char *defaultSkin, bool forceFallback, bool asDialog);
+ ~CAddonGUIWindow();
+
+ 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(CAddonListItem *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..a485de302d
--- /dev/null
+++ b/addons/library.xbmc.pvr/libXBMC_pvr.h
@@ -0,0 +1,170 @@
+#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"
+#include "../library.xbmc.addon/libXBMC_addon.h"
+
+#ifdef _WIN32
+#define PVR_HELPER_DLL "\\library.xbmc.pvr\\libXBMC_pvr" ADDON_HELPER_EXT
+#else
+#define PVR_HELPER_DLL "/library.xbmc.pvr/libXBMC_pvr-" ADDON_HELPER_ARCH "-" ADDON_HELPER_PLATFORM ADDON_HELPER_EXT
+#endif
+
+#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 ADDON_HANDLE handle, const EPG_TAG *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 ADDON_HANDLE 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 ADDON_HANDLE handle, const PVR_TIMER *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 ADDON_HANDLE handle, const PVR_RECORDING *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; }
+
+ TriggerChannelUpdate = (void (*)())
+ dlsym(m_libXBMC_pvr, "PVR_trigger_channel_update");
+ if (TriggerChannelUpdate == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; }
+
+ TriggerChannelGroupsUpdate = (void (*)())
+ dlsym(m_libXBMC_pvr, "PVR_trigger_channel_groups_update");
+ if (TriggerChannelGroupsUpdate == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; }
+
+ TransferChannelGroup = (void (*)(const ADDON_HANDLE handle, const PVR_CHANNEL_GROUP *group))
+ dlsym(m_libXBMC_pvr, "PVR_transfer_channel_group");
+ if (TransferChannelGroup == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; }
+
+ TransferChannelGroupMember = (void (*)(const ADDON_HANDLE handle, const PVR_CHANNEL_GROUP_MEMBER *member))
+ dlsym(m_libXBMC_pvr, "PVR_transfer_channel_group_member");
+ if (TransferChannelGroupMember == 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 ADDON_HANDLE handle, const EPG_TAG *epgentry);
+ void (*TransferChannelEntry)(const ADDON_HANDLE handle, const PVR_CHANNEL *chan);
+ void (*TransferTimerEntry)(const ADDON_HANDLE handle, const PVR_TIMER *timer);
+ void (*TransferRecordingEntry)(const ADDON_HANDLE handle, const PVR_RECORDING *recording);
+ void (*AddMenuHook)(PVR_MENUHOOK *hook);
+ void (*Recording)(const char *Name, const char *FileName, bool On);
+ void (*TriggerTimerUpdate)();
+ void (*TriggerRecordingUpdate)();
+ void (*TriggerChannelUpdate)();
+ void (*TriggerChannelGroupsUpdate)();
+ void (*TransferChannelGroup)(const ADDON_HANDLE handle, const PVR_CHANNEL_GROUP *group);
+ void (*TransferChannelGroupMember)(const ADDON_HANDLE handle, const PVR_CHANNEL_GROUP_MEMBER *member);
+#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/skin.confluence/720p/DialogButtonMenu.xml b/addons/skin.confluence/720p/DialogButtonMenu.xml
index 08848834fc..0ae22e8b58 100644
--- a/addons/skin.confluence/720p/DialogButtonMenu.xml
+++ b/addons/skin.confluence/720p/DialogButtonMenu.xml
@@ -63,9 +63,9 @@
<onclick>PreviousMenu</onclick>
<texturefocus>DialogCloseButton-focus.png</texturefocus>
<texturenofocus>DialogCloseButton.png</texturenofocus>
- <onleft>13</onleft>
+ <onleft>2</onleft>
<onright>13</onright>
- <onup>9</onup>
+ <onup>13</onup>
<ondown>2</ondown>
<visible>system.getbool(input.enablemouse)</visible>
</control>
@@ -222,7 +222,7 @@
<font>font13</font>
<visible>System.HasLocks</visible>
</control>
- <control type="group" id="11">
+ <control type="group" id="10">
<width>340</width>
<height>70</height>
<visible>System.HasAlarm(shutdowntimer)</visible>
@@ -246,7 +246,39 @@
<label>$LOCALIZE[31329] [B]$INFO[System.Alarmpos][/B]</label>
</control>
</control>
- <control type="image" id="12">
+ <control type="button" id="11">
+ <description>Inhibit idle shutdown</description>
+ <width>340</width>
+ <height>40</height>
+ <textcolor>grey2</textcolor>
+ <focusedcolor>white</focusedcolor>
+ <align>center</align>
+ <textwidth>290</textwidth>
+ <texturefocus border="25,5,25,5">ShutdownButtonFocus.png</texturefocus>
+ <texturenofocus border="25,5,25,5">ShutdownButtonNoFocus.png</texturenofocus>
+ <onclick>XBMC.InhibitIdleShutdown(true)</onclick>
+ <pulseonselect>no</pulseonselect>
+ <font>font13</font>
+ <label>13017</label>
+ <visible>System.HasShutdown +!System.IsInhibit</visible>
+ </control>
+ <control type="button" id="12">
+ <description>Allow idle shutdown</description>
+ <width>340</width>
+ <height>40</height>
+ <textcolor>grey2</textcolor>
+ <focusedcolor>white</focusedcolor>
+ <align>center</align>
+ <textwidth>290</textwidth>
+ <texturefocus border="25,5,25,5">ShutdownButtonFocus.png</texturefocus>
+ <texturenofocus border="25,5,25,5">ShutdownButtonNoFocus.png</texturenofocus>
+ <onclick>XBMC.InhibitIdleShutdown(false)</onclick>
+ <pulseonselect>no</pulseonselect>
+ <font>font13</font>
+ <label>13018</label>
+ <visible>System.HasShutdown + System.IsInhibit</visible>
+ </control>
+ <control type="image" id="13">
<description>background bottom image</description>
<posx>0</posx>
<width>340</width>
diff --git a/addons/skin.confluence/720p/DialogExtendedProgressBar.xml b/addons/skin.confluence/720p/DialogExtendedProgressBar.xml
new file mode 100644
index 0000000000..412d92c894
--- /dev/null
+++ b/addons/skin.confluence/720p/DialogExtendedProgressBar.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/DialogPVRChannelManager.xml b/addons/skin.confluence/720p/DialogPVRChannelManager.xml
new file mode 100644
index 0000000000..4093206466
--- /dev/null
+++ b/addons/skin.confluence/720p/DialogPVRChannelManager.xml
@@ -0,0 +1,560 @@
+<window id="605">
+ <defaultcontrol always="true">20</defaultcontrol>
+ <allowoverlay>no</allowoverlay>
+ <coordinates>
+ <system>1</system>
+ <posx>190</posx>
+ <posy>30</posy>
+ </coordinates>
+ <include>dialogeffect</include>
+
+ <controls>
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>900</width>
+ <height>660</height>
+ <texture border="40">DialogBack.png</texture>
+ </control>
+ <control type="image">
+ <description>Dialog Header image</description>
+ <posx>40</posx>
+ <posy>16</posy>
+ <width>820</width>
+ <height>40</height>
+ <texture>dialogheader.png</texture>
+ </control>
+ <control type="label">
+ <description>header label</description>
+ <posx>40</posx>
+ <posy>20</posy>
+ <width>820</width>
+ <height>30</height>
+ <font>font13_title</font>
+ <label>$LOCALIZE[19199] - $LOCALIZE[19023]</label>
+ <align>center</align>
+ <aligny>center</aligny>
+ <textcolor>selected</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <visible>IsEmpty(Window.Property(IsRadio))</visible>
+ </control>
+ <control type="label">
+ <description>header label</description>
+ <posx>40</posx>
+ <posy>20</posy>
+ <width>820</width>
+ <height>30</height>
+ <font>font13_title</font>
+ <label>$LOCALIZE[19199] - $LOCALIZE[19024]</label>
+ <align>center</align>
+ <aligny>center</aligny>
+ <textcolor>selected</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <visible>!IsEmpty(Window.Property(IsRadio))</visible>
+ </control>
+ <control type="button">
+ <description>Close Window button</description>
+ <posx>810</posx>
+ <posy>15</posy>
+ <width>64</width>
+ <height>32</height>
+ <label>-</label>
+ <font>-</font>
+ <onclick>PreviousMenu</onclick>
+ <texturefocus>DialogCloseButton-focus.png</texturefocus>
+ <texturenofocus>DialogCloseButton.png</texturenofocus>
+ <onleft>10</onleft>
+ <onright>10</onright>
+ <onup>10</onup>
+ <ondown>10</ondown>
+ <visible>system.getbool(input.enablemouse)</visible>
+ </control>
+ <control type="group">
+ <posx>20</posx>
+ <posy>70</posy>
+ <control type="scrollbar" id="60">
+ <posx>0</posx>
+ <posy>5</posy>
+ <width>25</width>
+ <height>470</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>9002</onleft>
+ <onright>20</onright>
+ <showonepage>false</showonepage>
+ <orientation>vertical</orientation>
+ </control>
+ <control type="image">
+ <posx>25</posx>
+ <posy>0</posy>
+ <width>430</width>
+ <height>475</height>
+ <texture border="5">button-nofocus.png</texture>
+ </control>
+ <control type="list" id="20">
+ <posx>30</posx>
+ <posy>5</posy>
+ <width>420</width>
+ <height>470</height>
+ <onup>20</onup>
+ <ondown>20</ondown>
+ <onleft>60</onleft>
+ <onright>9002</onright>
+ <pagecontrol>60</pagecontrol>
+ <scrolltime>200</scrolltime>
+ <itemlayout height="45" width="420">
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>420</width>
+ <height>40</height>
+ <texture border="5">button-nofocus.png</texture>
+ </control>
+ <control type="image">
+ <posx>5</posx>
+ <posy>5</posy>
+ <width>30</width>
+ <height>30</height>
+ <texture>$INFO[ListItem.Property(Icon)]</texture>
+ <visible>ListItem.Property(ActiveChannel)</visible>
+ </control>
+ <control type="image">
+ <posx>5</posx>
+ <posy>5</posy>
+ <width>30</width>
+ <height>30</height>
+ <colordiffuse>77FFFFFF</colordiffuse>
+ <texture>$INFO[ListItem.Property(Icon)]</texture>
+ <visible>!ListItem.Property(ActiveChannel)</visible>
+ </control>
+ <control type="label">
+ <posx>45</posx>
+ <posy>0</posy>
+ <width>335</width>
+ <height>40</height>
+ <font>font12</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>white</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <label>$INFO[ListItem.Property(Number),(,) - ]$INFO[ListItem.Property(Name)]</label>
+ <visible>ListItem.Property(ActiveChannel)</visible>
+ </control>
+ <control type="label">
+ <posx>45</posx>
+ <posy>0</posy>
+ <width>335</width>
+ <height>40</height>
+ <font>font12</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>grey3</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <label>$INFO[ListItem.Property(Number),(,) - ]$INFO[ListItem.Property(Name)]</label>
+ <visible>!ListItem.Property(ActiveChannel)</visible>
+ </control>
+ <control type="image">
+ <posx>390</posx>
+ <posy>10</posy>
+ <width>20</width>
+ <height>20</height>
+ <texture>OverlayWatched.png</texture>
+ <visible>ListItem.Property(Changed)</visible>
+ </control>
+ </itemlayout>
+ <focusedlayout height="65" width="420">
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>420</width>
+ <height>60</height>
+ <texture border="5">button-focus2.png</texture>
+ <animation effect="fade" start="100" end="30" time="0" condition="!Control.HasFocus(20)">conditional</animation>
+ </control>
+ <control type="image">
+ <posx>5</posx>
+ <posy>5</posy>
+ <width>30</width>
+ <height>30</height>
+ <texture>$INFO[ListItem.Property(Icon)]</texture>
+ <visible>ListItem.Property(ActiveChannel)</visible>
+ </control>
+ <control type="image">
+ <posx>5</posx>
+ <posy>5</posy>
+ <width>30</width>
+ <height>30</height>
+ <colordiffuse>77FFFFFF</colordiffuse>
+ <texture>$INFO[ListItem.Property(Icon)]</texture>
+ <visible>!ListItem.Property(ActiveChannel)</visible>
+ </control>
+ <control type="label">
+ <posx>45</posx>
+ <posy>0</posy>
+ <width>335</width>
+ <height>40</height>
+ <font>font12</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>white</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <label>$INFO[ListItem.Property(Number),(,) - ]$INFO[ListItem.Property(Name)]</label>
+ <visible>ListItem.Property(ActiveChannel)</visible>
+ </control>
+ <control type="label">
+ <posx>45</posx>
+ <posy>0</posy>
+ <width>335</width>
+ <height>40</height>
+ <font>font12</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>grey3</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <label>$INFO[ListItem.Property(Number),(,) - ]$INFO[ListItem.Property(Name)]</label>
+ <visible>!ListItem.Property(ActiveChannel)</visible>
+ </control>
+ <control type="image">
+ <posx>390</posx>
+ <posy>10</posy>
+ <width>20</width>
+ <height>20</height>
+ <texture>OverlayWatched.png</texture>
+ <visible>ListItem.Property(Changed)</visible>
+ </control>
+ <control type="label">
+ <posx>5</posx>
+ <posy>30</posy>
+ <width>410</width>
+ <height>30</height>
+ <font>font12</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>grey2</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <label>$LOCALIZE[19210]: $INFO[ListItem.Property(ClientName)]</label>
+ </control>
+ </focusedlayout>
+ </control>
+ <control type="label">
+ <description>Page Count Label</description>
+ <posx>30</posx>
+ <posy>485</posy>
+ <width>420</width>
+ <height>20</height>
+ <font>font12</font>
+ <textcolor>grey</textcolor>
+ <scroll>false</scroll>
+ <align>center</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>
+ <control type="group" id="9002">
+ <control type="group">
+ <posx>490</posx>
+ <posy>70</posy>
+ <control type="label">
+ <description>channel options Header</description>
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>380</width>
+ <height>20</height>
+ <font>font12</font>
+ <label>$LOCALIZE[31511]</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>blue</textcolor>
+ <shadowcolor>black</shadowcolor>
+ </control>
+ <control type="radiobutton" id ="7">
+ <description>Channel activated</description>
+ <posx>0</posx>
+ <posy>25</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-focus2.png</texturefocus>
+ <texturenofocus border="5">button-nofocus.png</texturenofocus>
+ <pulseonselect>no</pulseonselect>
+ <label>19074</label>
+ <onleft>20</onleft>
+ <onright>60</onright>
+ <onup>9000</onup>
+ <ondown>8</ondown>
+ </control>
+ <control type="edit" id ="8">
+ <description>Channel name</description>
+ <posx>0</posx>
+ <posy>65</posy>
+ <width>380</width>
+ <height>35</height>
+ <font>font12</font>
+ <textcolor>white</textcolor>
+ <focusedcolor>white</focusedcolor>
+ <shadowcolor>black</shadowcolor>
+ <texturefocus border="5">button-focus2.png</texturefocus>
+ <texturenofocus border="5">button-nofocus.png</texturenofocus>
+ <label>19201</label>
+ <onright>60</onright>
+ <onleft>20</onleft>
+ <onup>7</onup>
+ <ondown>9</ondown>
+ </control>
+ <control type="button" id ="9">
+ <description>Channel logo Button</description>
+ <posx>0</posx>
+ <posy>105</posy>
+ <width>380</width>
+ <height>35</height>
+ <font>font12</font>
+ <texturefocus border="5">button-focus2.png</texturefocus>
+ <texturenofocus border="5">button-nofocus.png</texturenofocus>
+ <label>19202</label>
+ <onleft>20</onleft>
+ <onright>60</onright>
+ <onup>8</onup>
+ <ondown>12</ondown>
+ </control>
+ <control type="image" id ="10">
+ <description>Current Channel Icon</description>
+ <posx>345</posx>
+ <posy>107</posy>
+ <width>30</width>
+ <height>30</height>
+ <aspectratio>keep</aspectratio>
+ <info>ListItem.Property(Icon)</info>
+ </control>
+ <control type="radiobutton" id ="12">
+ <description>EPG activated</description>
+ <posx>0</posx>
+ <posy>145</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-focus2.png</texturefocus>
+ <texturenofocus border="5">button-nofocus.png</texturenofocus>
+ <pulseonselect>no</pulseonselect>
+ <label>19206</label>
+ <onleft>20</onleft>
+ <onright>60</onright>
+ <onup>9</onup>
+ <ondown>13</ondown>
+ </control>
+ <control type="spincontrolex" id ="13">
+ <description>EPG source</description>
+ <posx>0</posx>
+ <posy>185</posy>
+ <width>380</width>
+ <height>35</height>
+ <font>font12</font>
+ <texturefocus border="5">button-focus2.png</texturefocus>
+ <texturenofocus border="5">button-nofocus.png</texturenofocus>
+ <label>19200</label>
+ <onright>60</onright>
+ <onleft>20</onleft>
+ <onup>12</onup>
+ <ondown>14</ondown>
+ </control>
+ <control type="radiobutton" id ="14">
+ <description>Parental locked</description>
+ <posx>0</posx>
+ <posy>225</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-focus2.png</texturefocus>
+ <texturenofocus border="5">button-nofocus.png</texturenofocus>
+ <pulseonselect>no</pulseonselect>
+ <label>19267</label>
+ <onleft>20</onleft>
+ <onright>60</onright>
+ <onup>13</onup>
+ <ondown>30</ondown>
+ </control>
+ </control>
+ <control type="group">
+ <posx>490</posx>
+ <posy>360</posy>
+ <control type="label">
+ <description>channel options Header</description>
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>380</width>
+ <height>20</height>
+ <font>font12</font>
+ <label>$LOCALIZE[31026]</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>blue</textcolor>
+ <shadowcolor>black</shadowcolor>
+ </control>
+ <control type="button" id ="30">
+ <description>Group Manager Button</description>
+ <posx>0</posx>
+ <posy>25</posy>
+ <width>190</width>
+ <height>35</height>
+ <font>font12</font>
+ <texturefocus border="5">button-focus2.png</texturefocus>
+ <texturenofocus border="5">button-nofocus.png</texturenofocus>
+ <align>center</align>
+ <label>19205</label>
+ <onleft>20</onleft>
+ <onright>34</onright>
+ <onup>14</onup>
+ <ondown>31</ondown>
+ </control>
+ <control type="button" id ="34">
+ <description>TV/Radio Button</description>
+ <posx>195</posx>
+ <posy>25</posy>
+ <width>185</width>
+ <height>35</height>
+ <font>font12</font>
+ <visible>IsEmpty(Window.Property(IsRadio))</visible>
+ <texturefocus border="5">button-focus2.png</texturefocus>
+ <texturenofocus border="5">button-nofocus.png</texturenofocus>
+ <align>center</align>
+ <label>19024</label>
+ <onleft>30</onleft>
+ <onright>60</onright>
+ <onup>14</onup>
+ <ondown>31</ondown>
+ </control>
+ <control type="button" id ="34">
+ <description>TV/Radio Button</description>
+ <posx>195</posx>
+ <posy>25</posy>
+ <width>185</width>
+ <height>35</height>
+ <font>font12</font>
+ <visible>!IsEmpty(Window.Property(IsRadio))</visible>
+ <texturefocus border="5">button-focus2.png</texturefocus>
+ <texturenofocus border="5">button-nofocus.png</texturenofocus>
+ <align>center</align>
+ <label>19023</label>
+ <onleft>30</onleft>
+ <onright>60</onright>
+ <onup>14</onup>
+ <ondown>31</ondown>
+ </control>
+ <control type="button" id ="31">
+ <description>Edit channel Button</description>
+ <posx>0</posx>
+ <posy>65</posy>
+ <width>380</width>
+ <height>35</height>
+ <font>font12</font>
+ <texturefocus border="5">button-focus2.png</texturefocus>
+ <texturenofocus border="5">button-nofocus.png</texturenofocus>
+ <align>center</align>
+ <label>19203</label>
+ <onleft>20</onleft>
+ <onright>60</onright>
+ <onup>30</onup>
+ <ondown>32</ondown>
+ </control>
+ <control type="button" id ="32">
+ <description>Delete channel Button</description>
+ <posx>0</posx>
+ <posy>105</posy>
+ <width>380</width>
+ <height>35</height>
+ <font>font12</font>
+ <texturefocus border="5">button-focus2.png</texturefocus>
+ <texturenofocus border="5">button-nofocus.png</texturenofocus>
+ <align>center</align>
+ <label>19211</label>
+ <onleft>20</onleft>
+ <onright>60</onright>
+ <onup>31</onup>
+ <ondown>33</ondown>
+ </control>
+ <control type="button" id ="33">
+ <description>New channel Button</description>
+ <posx>0</posx>
+ <posy>145</posy>
+ <width>380</width>
+ <height>35</height>
+ <font>font12</font>
+ <texturefocus border="5">button-focus2.png</texturefocus>
+ <texturenofocus border="5">button-nofocus.png</texturenofocus>
+ <align>center</align>
+ <label>19204</label>
+ <onleft>20</onleft>
+ <onright>60</onright>
+ <onup>32</onup>
+ <ondown>9000</ondown>
+ </control>
+ </control>
+ </control>
+ <control type="group" id="9000">
+ <posx>70</posx>
+ <posy>590</posy>
+ <control type="button" id ="4">
+ <description>OK Button</description>
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>250</width>
+ <height>40</height>
+ <label>186</label>
+ <font>font12_title</font>
+ <align>center</align>
+ <aligny>center</aligny>
+ <onleft>6</onleft>
+ <onright>5</onright>
+ <onup>33</onup>
+ <ondown>7</ondown>
+ </control>
+ <control type="button" id ="5">
+ <description>Apply changes Button</description>
+ <posx>260</posx>
+ <posy>0</posy>
+ <width>250</width>
+ <height>40</height>
+ <label>14070</label>
+ <font>font12_title</font>
+ <align>center</align>
+ <aligny>center</aligny>
+ <onleft>4</onleft>
+ <onright>6</onright>
+ <onup>33</onup>
+ <ondown>7</ondown>
+ </control>
+ <control type="button" id ="6">
+ <description>Cancel Button</description>
+ <posx>520</posx>
+ <posy>0</posy>
+ <width>250</width>
+ <height>40</height>
+ <label>222</label>
+ <font>font12_title</font>
+ <align>center</align>
+ <aligny>center</aligny>
+ <onleft>5</onleft>
+ <onright>4</onright>
+ <onup>33</onup>
+ <ondown>7</ondown>
+ </control>
+ </control>
+ </controls>
+</window>
diff --git a/addons/skin.confluence/720p/DialogPVRChannelsOSD.xml b/addons/skin.confluence/720p/DialogPVRChannelsOSD.xml
new file mode 100644
index 0000000000..fa54573f83
--- /dev/null
+++ b/addons/skin.confluence/720p/DialogPVRChannelsOSD.xml
@@ -0,0 +1,359 @@
+<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>
+ <texture border="40">DialogBack2.png</texture>
+ </control>
+ <control type="button">
+ <description>Close Window button</description>
+ <posx>390</posx>
+ <posy>15</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">
+ <description>Dialog Header image</description>
+ <posx>40</posx>
+ <posy>16</posy>
+ <width>400</width>
+ <height>50</height>
+ <texture>dialogheader.png</texture>
+ </control>
+ <control type="label">
+ <description>header label</description>
+ <posx>40</posx>
+ <posy>16</posy>
+ <width>430</width>
+ <height>40</height>
+ <font>font12_title</font>
+ <label>$LOCALIZE[19023] - $INFO[VideoPlayer.ChannelGroup]</label>
+ <align>center</align>
+ <aligny>center</aligny>
+ <textcolor>blue</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <visible>!pvr.IsPlayingRadio</visible>
+ </control>
+ <control type="label">
+ <description>header label</description>
+ <posx>40</posx>
+ <posy>16</posy>
+ <width>430</width>
+ <height>40</height>
+ <font>font12_title</font>
+ <label>$LOCALIZE[19024] - $INFO[MusicPlayer.ChannelGroup]</label>
+ <align>center</align>
+ <aligny>center</aligny>
+ <textcolor>blue</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <visible>pvr.IsPlayingRadio</visible>
+ </control>
+ <control type="label">
+ <description>header label</description>
+ <posx>40</posx>
+ <posy>-7</posy>
+ <width>430</width>
+ <height>120</height>
+ <font>font10_title</font>
+ <label>$INFO[System.Date(DDD)], $INFO[System.Date(d)] $INFO[System.Date(mmm)] $INFO[System.Date(yyyy)] • $INFO[System.Time]</label>
+ <align>center</align>
+ <aligny>center</aligny>
+ <textcolor>grey</textcolor>
+ <shadowcolor>black</shadowcolor>
+ </control>
+ <control type="list" id="11">
+ <posx>30</posx>
+ <posy>70</posy>
+ <width>410</width>
+ <height>520</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="70" width="410">
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>410</width>
+ <height>65</height>
+ <texture border="5">button-nofocus.png</texture>
+ <include>VisibleFadeEffect</include>
+ </control>
+ <control type="label">
+ <posx>5</posx>
+ <posy>0</posy>
+ <width>40</width>
+ <height>30</height>
+ <font>font12</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>grey</textcolor>
+ <selectedcolor>grey</selectedcolor>
+ <info>ListItem.ChannelNumber</info>
+ </control>
+ <control type="image">
+ <posx>5</posx>
+ <posy>35</posy>
+ <width>30</width>
+ <height>20</height>
+ <texture>PVR-IsRecording.png</texture>
+ <visible>ListItem.IsRecording</visible>
+ </control>
+ <control type="label">
+ <posx>50</posx>
+ <posy>0</posy>
+ <width>350</width>
+ <height>25</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>25</posy>
+ <width>350</width>
+ <height>20</height>
+ <font>font12</font>
+ <textcolor>grey</textcolor>
+ <selectedcolor>grey</selectedcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <label>$INFO[ListItem.Title]</label>
+ <visible>IsEmpty(Listitem.Icon)</visible>
+ </control>
+ <control type="label">
+ <posx>50</posx>
+ <posy>25</posy>
+ <width>300</width>
+ <height>20</height>
+ <font>font12</font>
+ <textcolor>grey</textcolor>
+ <selectedcolor>grey</selectedcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <label>$INFO[ListItem.Title]</label>
+ <visible>!IsEmpty(Listitem.Icon)</visible>
+ </control>
+ <control type="label">
+ <posx>50</posx>
+ <posy>44</posy>
+ <width>60</width>
+ <height>20</height>
+ <font>font10_title</font>
+ <textcolor>blue</textcolor>
+ <selectedcolor>blue</selectedcolor>
+ <aligny>center</aligny>
+ <label>$INFO[ListItem.StartTime]</label>
+ <visible>ListItem.HasEpg</visible>
+ </control>
+ <control type="progress">
+ <description>Progressbar</description>
+ <posx>110</posx>
+ <posy>53</posy>
+ <width>230</width>
+ <height>6</height>
+ <colordiffuse>88FFFFFF</colordiffuse>
+ <info>ListItem.Progress</info>
+ <visible>ListItem.HasEpg</visible>
+ </control>
+ <control type="label">
+ <posx>355</posx>
+ <posy>44</posy>
+ <width>60</width>
+ <height>20</height>
+ <font>font10_title</font>
+ <textcolor>blue</textcolor>
+ <selectedcolor>blue</selectedcolor>
+ <aligny>center</aligny>
+ <label>$INFO[ListItem.EndTime]</label>
+ <visible>ListItem.HasEpg</visible>
+ </control>
+ <control type="image">
+ <posx>360</posx>
+ <posy>4</posy>
+ <width>40</width>
+ <height>40</height>
+ <texture>$INFO[ListItem.Icon]</texture>
+ </control>
+ </itemlayout>
+ <focusedlayout height="70" width="410">
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>410</width>
+ <height>65</height>
+ <texture border="5">button-nofocus.png</texture>
+ <visible>!Control.HasFocus(11)</visible>
+ <include>VisibleFadeEffect</include>
+ </control>
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>410</width>
+ <height>65</height>
+ <texture border="5">button-focus2.png</texture>
+ <visible>Control.HasFocus(11)</visible>
+ <include>VisibleFadeEffect</include>
+ </control>
+ <control type="label">
+ <posx>5</posx>
+ <posy>0</posy>
+ <width>40</width>
+ <height>30</height>
+ <font>font12</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>grey</textcolor>
+ <selectedcolor>grey</selectedcolor>
+ <info>ListItem.ChannelNumber</info>
+ </control>
+ <control type="image">
+ <posx>5</posx>
+ <posy>35</posy>
+ <width>30</width>
+ <height>20</height>
+ <texture>PVR-IsRecording.png</texture>
+ <visible>ListItem.IsRecording</visible>
+ </control>
+ <control type="label">
+ <posx>50</posx>
+ <posy>0</posy>
+ <width>350</width>
+ <height>25</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>25</posy>
+ <width>350</width>
+ <height>20</height>
+ <font>font12</font>
+ <textcolor>grey</textcolor>
+ <selectedcolor>grey</selectedcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <label>$INFO[ListItem.Title]</label>
+ <visible>IsEmpty(Listitem.Icon)</visible>
+ </control>
+ <control type="label">
+ <posx>50</posx>
+ <posy>25</posy>
+ <width>300</width>
+ <height>20</height>
+ <font>font12</font>
+ <textcolor>grey</textcolor>
+ <selectedcolor>grey</selectedcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <label>$INFO[ListItem.Title]</label>
+ <visible>!IsEmpty(Listitem.Icon)</visible>
+ </control>
+ <control type="label">
+ <posx>50</posx>
+ <posy>44</posy>
+ <width>60</width>
+ <height>20</height>
+ <font>font10_title</font>
+ <textcolor>blue</textcolor>
+ <selectedcolor>blue</selectedcolor>
+ <aligny>center</aligny>
+ <label>$INFO[ListItem.StartTime]</label>
+ <visible>ListItem.HasEpg</visible>
+ </control>
+ <control type="progress">
+ <description>Progressbar</description>
+ <posx>110</posx>
+ <posy>53</posy>
+ <width>230</width>
+ <height>6</height>
+ <colordiffuse>88FFFFFF</colordiffuse>
+ <info>ListItem.Progress</info>
+ <visible>ListItem.HasEpg</visible>
+ </control>
+ <control type="label">
+ <posx>355</posx>
+ <posy>44</posy>
+ <width>60</width>
+ <height>20</height>
+ <font>font10_title</font>
+ <textcolor>blue</textcolor>
+ <selectedcolor>blue</selectedcolor>
+ <aligny>center</aligny>
+ <label>$INFO[ListItem.EndTime]</label>
+ <visible>ListItem.HasEpg</visible>
+ </control>
+ <control type="image">
+ <posx>360</posx>
+ <posy>4</posy>
+ <width>40</width>
+ <height>40</height>
+ <texture>$INFO[ListItem.Icon]</texture>
+ </control>
+ </focusedlayout>
+ </control>
+ <control type="scrollbar" id="60">
+ <posx>440</posx>
+ <posy>70</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>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>610</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..5cdaaabcff
--- /dev/null
+++ b/addons/skin.confluence/720p/DialogPVRGroupManager.xml
@@ -0,0 +1,433 @@
+<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>40</posy>
+ <width>1080</width>
+ <height>30</height>
+ <font>font24_title</font>
+ <label>19143</label>
+ <align>center</align>
+ <aligny>center</aligny>
+ <textcolor>selected</textcolor>
+ <shadowcolor>black</shadowcolor>
+ </control>
+ <control type="group">
+ <description>Group list</description>
+ <posx>160</posx>
+ <posy>80</posy>
+ <control type="label">
+ <description>name label</description>
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>340</width>
+ <height>70</height>
+ <font>font13</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>80</posy>
+ <width>330</width>
+ <height>450</height>
+ <onup>13</onup>
+ <ondown>13</ondown>
+ <onleft>29</onleft>
+ <onright>73</onright>
+ <pagecontrol>73</pagecontrol>
+ <scrolltime>200</scrolltime>
+ <itemlayout height="45">
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>330</width>
+ <height>40</height>
+ <texture border="5">button-nofocus.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="45">
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>330</width>
+ <height>40</height>
+ <texture border="5">button-nofocus.png</texture>
+ <visible>!Control.HasFocus(13)</visible>
+ </control>
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>330</width>
+ <height>40</height>
+ <texture border="5">button-focus2.png</texture>
+ <visible>Control.HasFocus(13)</visible>
+ </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>80</posy>
+ <control type="label" id="21">
+ <description>name label</description>
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>340</width>
+ <height>70</height>
+ <font>font13</font>
+ <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>450</height>
+ <onup>11</onup>
+ <ondown>11</ondown>
+ <onleft>73</onleft>
+ <onright>71</onright>
+ <pagecontrol>71</pagecontrol>
+ <scrolltime>200</scrolltime>
+ <itemlayout height="45">
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>330</width>
+ <height>40</height>
+ <texture border="5">button-nofocus.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="45">
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>330</width>
+ <height>40</height>
+ <texture border="5">button-nofocus.png</texture>
+ <visible>!Control.HasFocus(11)</visible>
+ </control>
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>330</width>
+ <height>40</height>
+ <texture border="5">button-focus2.png</texture>
+ <visible>Control.HasFocus(11)</visible>
+ </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>80</posy>
+ <control type="label" id="22">
+ <description>name label</description>
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>340</width>
+ <height>70</height>
+ <font>font13</font>
+ <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>450</height>
+ <onup>12</onup>
+ <ondown>12</ondown>
+ <onleft>71</onleft>
+ <onright>72</onright>
+ <pagecontrol>72</pagecontrol>
+ <scrolltime>200</scrolltime>
+ <itemlayout height="45">
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>330</width>
+ <height>40</height>
+ <texture border="5">button-nofocus.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="45">
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>330</width>
+ <height>40</height>
+ <texture border="5">button-nofocus.png</texture>
+ <visible>!Control.HasFocus(12)</visible>
+ </control>
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>330</width>
+ <height>40</height>
+ <texture border="5">button-focus2.png</texture>
+ <visible>Control.HasFocus(12)</visible>
+ </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>230</width>
+ <include>ButtonInfoDialogsCommonValues</include>
+ <label>31503</label>
+ </control>
+ <control type="button" id="27">
+ <description>Rename Group</description>
+ <width>230</width>
+ <include>ButtonInfoDialogsCommonValues</include>
+ <label>31504</label>
+ </control>
+ <control type="button" id="28">
+ <description>Delete Group</description>
+ <width>230</width>
+ <include>ButtonInfoDialogsCommonValues</include>
+ <label>31505</label>
+ </control>
+ <control type="button" id="29">
+ <description>OK</description>
+ <width>230</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..24cc03cb78
--- /dev/null
+++ b/addons/skin.confluence/720p/DialogPVRGuideInfo.xml
@@ -0,0 +1,226 @@
+<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>
+ <texture border="40">DialogBack2.png</texture>
+ <visible>Window.IsVisible(FullscreenVideo) | Window.IsVisible(Visualisation)</visible>
+ </control>
+ <control type="image">
+ <description>background image</description>
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>730</width>
+ <height>660</height>
+ <texture border="40">DialogBack.png</texture>
+ <visible>![Window.IsVisible(FullscreenVideo) | Window.IsVisible(Visualisation)]</visible>
+ </control>
+ <control type="image">
+ <description>Dialog Header image</description>
+ <posx>40</posx>
+ <posy>16</posy>
+ <width>650</width>
+ <height>40</height>
+ <texture>dialogheader.png</texture>
+ </control>
+ <control type="label">
+ <description>header label</description>
+ <posx>40</posx>
+ <posy>20</posy>
+ <width>650</width>
+ <height>30</height>
+ <font>font13_title</font>
+ <label>$LOCALIZE[19047]</label>
+ <align>center</align>
+ <aligny>center</aligny>
+ <textcolor>selected</textcolor>
+ <shadowcolor>black</shadowcolor>
+ </control>
+ <control type="button">
+ <description>Close Window button</description>
+ <posx>640</posx>
+ <posy>15</posy>
+ <width>64</width>
+ <height>32</height>
+ <label>-</label>
+ <font>-</font>
+ <onclick>PreviousMenu</onclick>
+ <texturefocus>DialogCloseButton-focus.png</texturefocus>
+ <texturenofocus>DialogCloseButton.png</texturenofocus>
+ <onleft>10</onleft>
+ <onright>10</onright>
+ <onup>10</onup>
+ <ondown>10</ondown>
+ <visible>system.getbool(input.enablemouse)</visible>
+ </control>
+ <control type="label">
+ <description>Title label</description>
+ <posx>40</posx>
+ <posy>70</posy>
+ <width>650</width>
+ <height>30</height>
+ <font>font13_title</font>
+ <label>$INFO[ListItem.Title]</label>
+ <align>center</align>
+ <aligny>center</aligny>
+ <textcolor>blue</textcolor>
+ <shadowcolor>black</shadowcolor>
+ </control>
+ <control type="group">
+ <control type="group">
+ <posx>40</posx>
+ <posy>120</posy>
+ <control type="label">
+ <description>Time description</description>
+ <posx>170</posx>
+ <posy>0</posy>
+ <width>170</width>
+ <height>25</height>
+ <align>right</align>
+ <aligny>center</aligny>
+ <font>font13</font>
+ <textcolor>blue</textcolor>
+ <label>$LOCALIZE[142]</label>
+ </control>
+ <control type="label">
+ <description>Time 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.StartTime] - $INFO[ListItem.EndTime] ($INFO[ListItem.StartDate])</label>
+ </control>
+ <control type="label">
+ <description>Duration</description>
+ <posx>170</posx>
+ <posy>35</posy>
+ <width>170</width>
+ <height>25</height>
+ <align>right</align>
+ <aligny>center</aligny>
+ <font>font13</font>
+ <textcolor>blue</textcolor>
+ <label>$LOCALIZE[180]:</label>
+ </control>
+ <control type="label">
+ <description>Duration 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.Duration]</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</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>Genre</description>
+ <posx>170</posx>
+ <posy>105</posy>
+ <width>170</width>
+ <height>25</height>
+ <align>right</align>
+ <aligny>center</aligny>
+ <font>font13</font>
+ <textcolor>blue</textcolor>
+ <label>$LOCALIZE[135]:</label>
+ </control>
+ <control type="label">
+ <description>Genre value</description>
+ <posx>180</posx>
+ <posy>105</posy>
+ <width>470</width>
+ <label fallback="161">$INFO[ListItem.Genre]</label>
+ <align>left</align>
+ <font>font13</font>
+ <scroll>true</scroll>
+ </control>
+ </control>
+ <control type="textbox" id="400">
+ <description>Plot value</description>
+ <posx>40</posx>
+ <posy>275</posy>
+ <width>650</width>
+ <height>295</height>
+ <font>font12</font>
+ <align>justify</align>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <pagecontrol>-</pagecontrol>
+ <autoscroll time="2000" delay="3000" repeat="5000">true</autoscroll>
+ <label fallback="161">$INFO[ListItem.Plot]</label>
+ </control>
+ <control type="grouplist" id="9000">
+ <posx>40</posx>
+ <posy>590</posy>
+ <width>640</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..8cd50eab2a
--- /dev/null
+++ b/addons/skin.confluence/720p/DialogPVRGuideOSD.xml
@@ -0,0 +1,253 @@
+<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>
+ <texture border="40">DialogBack2.png</texture>
+ </control>
+ <control type="button">
+ <description>Close Window button</description>
+ <posx>390</posx>
+ <posy>15</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">
+ <description>Dialog Header image</description>
+ <posx>40</posx>
+ <posy>16</posy>
+ <width>400</width>
+ <height>40</height>
+ <texture>dialogheader.png</texture>
+ </control>
+ <control type="label">
+ <description>header label</description>
+ <posx>40</posx>
+ <posy>16</posy>
+ <width>430</width>
+ <height>40</height>
+ <font>font12_title</font>
+ <label>$LOCALIZE[19222] - $INFO[VideoPlayer.ChannelName]</label>
+ <align>center</align>
+ <aligny>center</aligny>
+ <textcolor>blue</textcolor>
+ <shadowcolor>black</shadowcolor>
+ </control>
+ <control type="label">
+ <description>Selected item's date</description>
+ <posx>40</posx>
+ <posy>60</posy>
+ <width>430</width>
+ <height>30</height>
+ <font>font11</font>
+ <textcolor>grey2</textcolor>
+ <label>$INFO[Container(11).ListItem.StartDate]</label>
+ <align>center</align>
+ <aligny>center</aligny>
+ </control>
+ <control type="list" id="11">
+ <posx>30</posx>
+ <posy>100</posy>
+ <width>410</width>
+ <height>490</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="35" width="410">
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>410</width>
+ <height>30</height>
+ <texture border="5">button-nofocus.png</texture>
+ <include>VisibleFadeEffect</include>
+ </control>
+ <control type="label">
+ <posx>10</posx>
+ <posy>0</posy>
+ <width>100</width>
+ <height>30</height>
+ <font>font13</font>
+ <textcolor>grey2</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <label>$INFO[ListItem.StartTime]</label>
+ </control>
+ <control type="image">
+ <posx>120</posx>
+ <posy>5</posy>
+ <width>30</width>
+ <height>20</height>
+ <texture>PVR-IsRecording.png</texture>
+ <visible>ListItem.IsRecording</visible>
+ </control>
+ <control type="image">
+ <posx>120</posx>
+ <posy>5</posy>
+ <width>20</width>
+ <height>20</height>
+ <texture>PVR-HasTimer.png</texture>
+ <visible>ListItem.HasTimer + !ListItem.IsRecording</visible>
+ </control>
+ <control type="label">
+ <posx>400</posx>
+ <posy>0</posy>
+ <width>300</width>
+ <height>30</height>
+ <font>font12</font>
+ <textcolor>grey2</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <align>right</align>
+ <aligny>center</aligny>
+ <label>$INFO[ListItem.Label]</label>
+ <visible>![ListItem.IsRecording | ListItem.HasTimer]</visible>
+ </control>
+ <control type="label">
+ <posx>400</posx>
+ <posy>0</posy>
+ <width>250</width>
+ <height>30</height>
+ <font>font12</font>
+ <textcolor>grey2</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <align>right</align>
+ <aligny>center</aligny>
+ <label>$INFO[ListItem.Label]</label>
+ <visible>ListItem.IsRecording | ListItem.HasTimer</visible>
+ </control>
+ </itemlayout>
+ <focusedlayout height="35" width="410">
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>410</width>
+ <height>30</height>
+ <texture border="5">button-nofocus.png</texture>
+ <visible>!Control.HasFocus(11)</visible>
+ <include>VisibleFadeEffect</include>
+ </control>
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>410</width>
+ <height>30</height>
+ <texture border="5">button-focus2.png</texture>
+ <visible>Control.HasFocus(11)</visible>
+ <include>VisibleFadeEffect</include>
+ </control>
+ <control type="label">
+ <posx>10</posx>
+ <posy>0</posy>
+ <width>100</width>
+ <height>30</height>
+ <font>font13</font>
+ <textcolor>grey2</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <label>$INFO[ListItem.StartTime]</label>
+ </control>
+ <control type="image">
+ <posx>120</posx>
+ <posy>5</posy>
+ <width>30</width>
+ <height>20</height>
+ <texture>PVR-IsRecording.png</texture>
+ <visible>ListItem.IsRecording</visible>
+ </control>
+ <control type="image">
+ <posx>120</posx>
+ <posy>5</posy>
+ <width>20</width>
+ <height>20</height>
+ <texture>PVR-HasTimer.png</texture>
+ <visible>ListItem.HasTimer + !ListItem.IsRecording</visible>
+ </control>
+ <control type="label">
+ <posx>400</posx>
+ <posy>0</posy>
+ <width>300</width>
+ <height>30</height>
+ <font>font12</font>
+ <textcolor>grey2</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <align>right</align>
+ <aligny>center</aligny>
+ <label>$INFO[ListItem.Label]</label>
+ <visible>![ListItem.IsRecording | ListItem.HasTimer]</visible>
+ </control>
+ <control type="label">
+ <posx>400</posx>
+ <posy>0</posy>
+ <width>250</width>
+ <height>30</height>
+ <font>font12</font>
+ <textcolor>grey2</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <align>right</align>
+ <aligny>center</aligny>
+ <label>$INFO[ListItem.Label]</label>
+ <visible>ListItem.IsRecording | ListItem.HasTimer</visible>
+ </control>
+ </focusedlayout>
+ </control>
+ <control type="scrollbar" id="60">
+ <posx>440</posx>
+ <posy>100</posy>
+ <width>25</width>
+ <height>490</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>610</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..9eda47748b
--- /dev/null
+++ b/addons/skin.confluence/720p/DialogPVRGuideSearch.xml
@@ -0,0 +1,456 @@
+<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">
+ <description>Dialog Header image</description>
+ <posx>40</posx>
+ <posy>16</posy>
+ <width>785</width>
+ <height>40</height>
+ <texture>dialogheader.png</texture>
+ </control>
+ <control type="label">
+ <description>header label</description>
+ <posx>40</posx>
+ <posy>20</posy>
+ <width>785</width>
+ <height>30</height>
+ <font>font13_title</font>
+ <label>$LOCALIZE[19142]</label>
+ <align>center</align>
+ <aligny>center</aligny>
+ <textcolor>selected</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <visible>!pvr.IsPlayingRadio</visible>
+ </control>
+ <control type="button">
+ <description>Close Window button</description>
+ <posx>775</posx>
+ <posy>15</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-focus2.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-focus2.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-focus2.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-focus2.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-focus2.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-focus2.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-focus2.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-focus2.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-focus2.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-focus2.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-focus2.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-focus2.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-focus2.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-focus2.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-focus2.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-focus2.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>
+ <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>
+ <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>
+ <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..83c3d6b590
--- /dev/null
+++ b/addons/skin.confluence/720p/DialogPVRRecordingInfo.xml
@@ -0,0 +1,267 @@
+<window id="602">
+ <defaultcontrol always="true">10</defaultcontrol>
+ <coordinates>
+ <system>1</system>
+ <posx>275</posx>
+ <posy>30</posy>
+ </coordinates>
+ <include>dialogeffect</include>
+ <controls>
+ <control type="image">
+ <description>background image</description>
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>730</width>
+ <height>660</height>
+ <texture border="40">DialogBack2.png</texture>
+ <visible>Window.IsVisible(FullscreenVideo) | Window.IsVisible(Visualisation)</visible>
+ </control>
+ <control type="image">
+ <description>background image</description>
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>730</width>
+ <height>660</height>
+ <texture border="40">DialogBack.png</texture>
+ <visible>![Window.IsVisible(FullscreenVideo) | Window.IsVisible(Visualisation)]</visible>
+ </control>
+ <control type="image">
+ <description>Dialog Header image</description>
+ <posx>40</posx>
+ <posy>16</posy>
+ <width>650</width>
+ <height>40</height>
+ <texture>dialogheader.png</texture>
+ </control>
+ <control type="label">
+ <description>header label</description>
+ <posx>40</posx>
+ <posy>20</posy>
+ <width>650</width>
+ <height>30</height>
+ <font>font13_title</font>
+ <label>$LOCALIZE[19053]</label>
+ <align>center</align>
+ <aligny>center</aligny>
+ <textcolor>selected</textcolor>
+ <shadowcolor>black</shadowcolor>
+ </control>
+ <control type="button">
+ <description>Close Window button</description>
+ <posx>640</posx>
+ <posy>15</posy>
+ <width>64</width>
+ <height>32</height>
+ <label>-</label>
+ <font>-</font>
+ <onclick>PreviousMenu</onclick>
+ <texturefocus>DialogCloseButton-focus.png</texturefocus>
+ <texturenofocus>DialogCloseButton.png</texturenofocus>
+ <onleft>10</onleft>
+ <onright>10</onright>
+ <onup>10</onup>
+ <ondown>10</ondown>
+ <visible>system.getbool(input.enablemouse)</visible>
+ </control>
+ <control type="label">
+ <description>Title label</description>
+ <posx>40</posx>
+ <posy>70</posy>
+ <width>650</width>
+ <height>30</height>
+ <font>font13_title</font>
+ <label>$INFO[ListItem.Title]</label>
+ <align>center</align>
+ <aligny>center</aligny>
+ <textcolor>blue</textcolor>
+ <shadowcolor>black</shadowcolor>
+ </control>
+ <control type="group">
+ <posx>40</posx>
+ <posy>140</posy>
+ <control type="label">
+ <description>Start Date</description>
+ <posx>170</posx>
+ <posy>0</posy>
+ <width>160</width>
+ <height>25</height>
+ <align>right</align>
+ <aligny>center</aligny>
+ <font>font13</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>160</width>
+ <height>25</height>
+ <align>right</align>
+ <aligny>center</aligny>
+ <font>font13</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>160</width>
+ <height>25</height>
+ <align>right</align>
+ <aligny>center</aligny>
+ <font>font13</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>160</width>
+ <height>25</height>
+ <align>right</align>
+ <aligny>center</aligny>
+ <font>font13</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>160</width>
+ <height>25</height>
+ <align>right</align>
+ <aligny>center</aligny>
+ <font>font13</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>40</posx>
+ <posy>185</posy>
+ <width>650</width>
+ <label>$INFO[ListItem.PlotOutline]</label>
+ <align>center</align>
+ <font>font13</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>font12</font>
+ <textcolor>grey</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>640</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="10">
+ <description>OK</description>
+ <include>ButtonInfoDialogsCommonValues</include>
+ <label>186</label>
+ </control>
+ </control>
+ </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..219ac5cd7e
--- /dev/null
+++ b/addons/skin.confluence/720p/DialogPVRTimerSettings.xml
@@ -0,0 +1,155 @@
+<window id="603">
+ <defaultcontrol>29</defaultcontrol>
+ <coordinates>
+ <system>1</system>
+ <posx>275</posx>
+ <posy>30</posy>
+ </coordinates>
+ <include>dialogeffect</include>
+ <controls>
+ <control type="image">
+ <description>background image</description>
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>730</width>
+ <height>660</height>
+ <texture border="40">DialogBack.png</texture>
+ </control>
+ <control type="image">
+ <description>Dialog Header image</description>
+ <posx>40</posx>
+ <posy>16</posy>
+ <width>650</width>
+ <height>40</height>
+ <texture>dialogheader.png</texture>
+ </control>
+ <control type="label" id="2">
+ <description>header label</description>
+ <posx>40</posx>
+ <posy>20</posy>
+ <width>650</width>
+ <height>30</height>
+ <font>font13_title</font>
+ <label>-</label>
+ <align>center</align>
+ <aligny>center</aligny>
+ <textcolor>selected</textcolor>
+ <shadowcolor>black</shadowcolor>
+ </control>
+ <control type="button">
+ <description>Close Window button</description>
+ <posx>640</posx>
+ <posy>15</posy>
+ <width>64</width>
+ <height>32</height>
+ <label>-</label>
+ <font>-</font>
+ <onclick>PreviousMenu</onclick>
+ <texturefocus>DialogCloseButton-focus.png</texturefocus>
+ <texturenofocus>DialogCloseButton.png</texturenofocus>
+ <onleft>10</onleft>
+ <onright>10</onright>
+ <onup>10</onup>
+ <ondown>10</ondown>
+ <visible>system.getbool(input.enablemouse)</visible>
+ </control>
+ <control type="grouplist" id="5">
+ <description>control area</description>
+ <posx>30</posx>
+ <posy>70</posy>
+ <width>670</width>
+ <height>510</height>
+ <itemgap>5</itemgap>
+ <onup>9001</onup>
+ <ondown>9001</ondown>
+ <onleft>9001</onleft>
+ <onright>9001</onright>
+ </control>
+ <control type="group" id="9001">
+ <posx>160</posx>
+ <posy>590</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>
+ <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>210</posx>
+ <posy>0</posy>
+ <width>200</width>
+ <height>40</height>
+ <align>center</align>
+ <aligny>center</aligny>
+ <font>font12_title</font>
+ <label>222</label>
+ <onleft>28</onleft>
+ <onright>28</onright>
+ <onup>5</onup>
+ <ondown>5</ondown>
+ </control>
+ </control>
+ <control type="button" id="7">
+ <description>Default Button</description>
+ <height>40</height>
+ <font>font13</font>
+ <textcolor>grey2</textcolor>
+ <focusedcolor>white</focusedcolor>
+ <texturefocus border="5">button-focus2.png</texturefocus>
+ <texturenofocus border="5">button-nofocus.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="5">button-focus2.png</texturefocus>
+ <texturenofocus border="5">button-nofocus.png</texturenofocus>
+ </control>
+ <control type="spincontrolex" id="9">
+ <description>Default spincontrolex</description>
+ <height>40</height>
+ <textcolor>grey2</textcolor>
+ <focusedcolor>white</focusedcolor>
+ <texturefocus border="5">button-focus2.png</texturefocus>
+ <texturenofocus border="5">button-nofocus.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="5">button-focus2.png</texturefocus>
+ <texturenofocus border="5">button-nofocus.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="5">button-focus2.png</texturefocus>
+ <texturenofocus border="5">button-nofocus.png</texturenofocus>
+ </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 0001a3abd3..fb62336446 100644
--- a/addons/skin.confluence/720p/Home.xml
+++ b/addons/skin.confluence/720p/Home.xml
@@ -84,6 +84,150 @@
<shadowcolor>black</shadowcolor>
</control>
</control>
+ <!-- LiveTV Info -->
+ <control type="group">
+ <posx>490r</posx>
+ <posy>70</posy>
+ <visible>Container(9000).HasFocus(12) + [PVR.IsRecording | PVR.HasNonRecordingTimer]</visible>
+ <include>VisibleFadeEffect</include>
+ <include>Window_OpenClose_Animation</include>
+ <animation effect="fade" start="100" end="0" time="200" condition="Window.IsActive(Favourites)">conditional</animation>
+ <control type="group">
+ <animation effect="slide" start="0,0" end="0,100" time="0" condition="PVR.IsRecording">conditional</animation>
+ <visible>PVR.HasNonRecordingTimer</visible>
+ <control type="image">
+ <posx>0</posx>
+ <posy>-5</posy>
+ <width>490</width>
+ <height>90</height>
+ <texture>gradient.png</texture>
+ </control>
+ <control type="image">
+ <posx>400</posx>
+ <posy>0</posy>
+ <width>80</width>
+ <height>80</height>
+ <aspectratio>keep</aspectratio>
+ <texture background="true" fallback="DefaultVideoCover.png">$INFO[PVR.NextRecordingChannelIcon]</texture>
+ <bordertexture border="8">ThumbBorder.png</bordertexture>
+ <bordersize>4</bordersize>
+ </control>
+ <control type="image">
+ <posx>365</posx>
+ <posy>5</posy>
+ <width>25</width>
+ <height>25</height>
+ <aspectratio>keep</aspectratio>
+ <texture>PVR-HasTimer.png</texture>
+ </control>
+ <control type="label">
+ <description>Next Timer Header label</description>
+ <posx>355</posx>
+ <posy>5</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>NextRecordingDateTime</description>
+ <posx>390</posx>
+ <posy>30</posy>
+ <height>25</height>
+ <width>400</width>
+ <label>$INFO[PVR.NextRecordingDateTime,$LOCALIZE[19126] - ]</label>
+ <align>right</align>
+ <aligny>center</aligny>
+ <font>font12</font>
+ <scroll>true</scroll>
+ <shadowcolor>black</shadowcolor>
+ </control>
+ <control type="label">
+ <description>NextRecordingTitle Channel</description>
+ <posx>390</posx>
+ <posy>50</posy>
+ <height>25</height>
+ <width>800</width>
+ <label>$INFO[PVR.NextRecordingTitle][COLOR=grey]$INFO[PVR.NextRecordingChannel, - [COLOR=blue]([/COLOR],[COLOR=blue])[/COLOR]][/COLOR]</label>
+ <align>right</align>
+ <aligny>center</aligny>
+ <font>font12_title</font>
+ <shadowcolor>black</shadowcolor>
+ <scroll>true</scroll>
+ </control>
+ </control>
+ <control type="group">
+ <visible>PVR.IsRecording</visible>
+ <control type="image">
+ <posx>0</posx>
+ <posy>-5</posy>
+ <width>490</width>
+ <height>90</height>
+ <texture>gradient.png</texture>
+ </control>
+ <control type="image">
+ <posx>400</posx>
+ <posy>0</posy>
+ <width>80</width>
+ <height>80</height>
+ <aspectratio>keep</aspectratio>
+ <texture background="true" fallback="DefaultVideoCover.png">$INFO[PVR.NowRecordingChannelIcon]</texture>
+ <bordertexture border="8">ThumbBorder.png</bordertexture>
+ <bordersize>4</bordersize>
+ </control>
+ <control type="image">
+ <posx>360</posx>
+ <posy>5</posy>
+ <width>30</width>
+ <height>25</height>
+ <aspectratio>keep</aspectratio>
+ <texture>PVR-IsRecording.png</texture>
+ </control>
+ <control type="label">
+ <description>Is Recording Header label</description>
+ <posx>350</posx>
+ <posy>5</posy>
+ <height>25</height>
+ <width>400</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>NextRecordingDateTime</description>
+ <posx>390</posx>
+ <posy>30</posy>
+ <height>25</height>
+ <width>400</width>
+ <label>$INFO[PVR.NowRecordingDateTime,$LOCALIZE[19126] - ]</label>
+ <align>right</align>
+ <aligny>center</aligny>
+ <font>font12</font>
+ <scroll>true</scroll>
+ <shadowcolor>black</shadowcolor>
+ </control>
+ <control type="label">
+ <description>NextRecordingTitle Channel</description>
+ <posx>390</posx>
+ <posy>50</posy>
+ <height>30</height>
+ <width>800</width>
+ <label>$INFO[PVR.NowRecordingTitle][COLOR=grey]$INFO[PVR.NowRecordingChannel, - [COLOR=blue]([/COLOR],[COLOR=blue])[/COLOR]][/COLOR]</label>
+ <align>right</align>
+ <aligny>center</aligny>
+ <font>font12_title</font>
+ <shadowcolor>black</shadowcolor>
+ <scroll>true</scroll>
+ </control>
+ </control>
+ </control>
<!-- Video Info -->
<control type="group">
<posx>0</posx>
@@ -92,7 +236,47 @@
<include>VisibleFadeEffect</include>
<include>Window_OpenClose_Animation</include>
<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>20</posx>
+ <posy>45</posy>
+ <width>150</width>
+ <height>300</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>Title label</description>
+ <posx>190</posx>
+ <posy>285</posy>
+ <height>30</height>
+ <width>1000</width>
+ <label>$INFO[VideoPlayer.Title]</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <font>font13_title</font>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ </control>
+ <control type="label">
+ <description>Time Label</description>
+ <posx>190</posx>
+ <posy>310</posy>
+ <height>30</height>
+ <width>300</width>
+ <label>$INFO[Player.Time]$INFO[Player.Duration,[COLOR=blue] / [/COLOR]]</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <font>font12</font>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ </control>
+ </control>
+ <control type="group">
+ <visible>VideoPlayer.Content(LiveTV)</visible>
<control type="image">
<description>Cover image</description>
<posx>20</posx>
@@ -105,6 +289,19 @@
<bordersize>5</bordersize>
</control>
<control type="label">
+ <description>Channel label</description>
+ <posx>160</posx>
+ <posy>265</posy>
+ <height>25</height>
+ <width>660</width>
+ <label>$INFO[VideoPlayer.ChannelName]</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <font>font12</font>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ </control>
+ <control type="label">
<description>Title label</description>
<posx>160</posx>
<posy>285</posy>
@@ -320,93 +517,156 @@
<texture flipy="true" border="0,5,0,0">HomeSubNF.png</texture>
<colordiffuse>CCFFFFFF</colordiffuse>
</control>
- <control type="button" id="601">
- <posx>10</posx>
- <posy>2</posy>
- <width>30</width>
- <height>30</height>
- <label>-</label>
- <texturefocus>OSDPrevTrackFO.png</texturefocus>
- <texturenofocus>OSDPrevTrackNF.png</texturenofocus>
- <onleft>608</onleft>
- <onright>602</onright>
- <onup>9003</onup>
- <ondown>9000</ondown>
- <onclick>XBMC.PlayerControl(Previous)</onclick>
- </control>
- <control type="button" id="602">
- <posx>40</posx>
- <posy>2</posy>
- <width>30</width>
- <height>30</height>
- <label>-</label>
- <texturefocus>OSDRewindFO.png</texturefocus>
- <texturenofocus>OSDRewindNF.png</texturenofocus>
- <onleft>601</onleft>
- <onright>603</onright>
- <onup>9003</onup>
- <ondown>9000</ondown>
- <onclick>XBMC.PlayerControl(Rewind)</onclick>
- </control>
- <control type="togglebutton" id="603">
- <posx>70</posx>
- <posy>2</posy>
- <width>30</width>
- <height>30</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>602</onleft>
- <onright>604</onright>
- <onup>9003</onup>
- <ondown>9000</ondown>
- <onclick>XBMC.PlayerControl(Play)</onclick>
- </control>
- <control type="button" id="604">
- <posx>100</posx>
- <posy>2</posy>
- <width>30</width>
- <height>30</height>
- <label>-</label>
- <texturefocus>OSDStopFO.png</texturefocus>
- <texturenofocus>OSDStopNF.png</texturenofocus>
- <onleft>603</onleft>
- <onright>605</onright>
- <onup>9003</onup>
- <ondown>9000</ondown>
- <onclick>down</onclick>
- <onclick>XBMC.PlayerControl(Stop)</onclick>
- </control>
- <control type="button" id="605">
- <posx>130</posx>
- <posy>2</posy>
- <width>30</width>
- <height>30</height>
- <label>-</label>
- <texturefocus>OSDForwardFO.png</texturefocus>
- <texturenofocus>OSDForwardNF.png</texturenofocus>
- <onleft>604</onleft>
- <onright>606</onright>
- <onup>9003</onup>
- <ondown>9000</ondown>
- <onclick>XBMC.PlayerControl(Forward)</onclick>
- </control>
- <control type="button" id="606">
- <posx>160</posx>
- <posy>2</posy>
- <width>30</width>
- <height>30</height>
- <label>-</label>
- <texturefocus>OSDNextTrackFO.png</texturefocus>
- <texturenofocus>OSDNextTrackNF.png</texturenofocus>
- <onleft>605</onleft>
- <onright>607</onright>
- <onup>9003</onup>
- <ondown>9000</ondown>
- <onclick>XBMC.PlayerControl(Next)</onclick>
+ <control type="group">
+ <visible>!VideoPlayer.Content(LiveTV)</visible>
+ <control type="button" id="601">
+ <posx>10</posx>
+ <posy>2</posy>
+ <width>30</width>
+ <height>30</height>
+ <label>-</label>
+ <texturefocus>OSDPrevTrackFO.png</texturefocus>
+ <texturenofocus>OSDPrevTrackNF.png</texturenofocus>
+ <onleft>608</onleft>
+ <onright>602</onright>
+ <onup>9003</onup>
+ <ondown>9000</ondown>
+ <onclick>XBMC.PlayerControl(Previous)</onclick>
+ </control>
+ <control type="button" id="602">
+ <posx>40</posx>
+ <posy>2</posy>
+ <width>30</width>
+ <height>30</height>
+ <label>-</label>
+ <texturefocus>OSDRewindFO.png</texturefocus>
+ <texturenofocus>OSDRewindNF.png</texturenofocus>
+ <onleft>601</onleft>
+ <onright>603</onright>
+ <onup>9003</onup>
+ <ondown>9000</ondown>
+ <onclick>XBMC.PlayerControl(Rewind)</onclick>
+ </control>
+ <control type="togglebutton" id="603">
+ <posx>70</posx>
+ <posy>2</posy>
+ <width>30</width>
+ <height>30</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>602</onleft>
+ <onright>604</onright>
+ <onup>9003</onup>
+ <ondown>9000</ondown>
+ <onclick>XBMC.PlayerControl(Play)</onclick>
+ </control>
+ <control type="button" id="604">
+ <posx>100</posx>
+ <posy>2</posy>
+ <width>30</width>
+ <height>30</height>
+ <label>-</label>
+ <texturefocus>OSDStopFO.png</texturefocus>
+ <texturenofocus>OSDStopNF.png</texturenofocus>
+ <onleft>603</onleft>
+ <onright>605</onright>
+ <onup>9003</onup>
+ <ondown>9000</ondown>
+ <onclick>down</onclick>
+ <onclick>XBMC.PlayerControl(Stop)</onclick>
+ </control>
+ <control type="button" id="605">
+ <posx>130</posx>
+ <posy>2</posy>
+ <width>30</width>
+ <height>30</height>
+ <label>-</label>
+ <texturefocus>OSDForwardFO.png</texturefocus>
+ <texturenofocus>OSDForwardNF.png</texturenofocus>
+ <onleft>604</onleft>
+ <onright>606</onright>
+ <onup>9003</onup>
+ <ondown>9000</ondown>
+ <onclick>XBMC.PlayerControl(Forward)</onclick>
+ </control>
+ <control type="button" id="606">
+ <posx>160</posx>
+ <posy>2</posy>
+ <width>30</width>
+ <height>30</height>
+ <label>-</label>
+ <texturefocus>OSDNextTrackFO.png</texturefocus>
+ <texturenofocus>OSDNextTrackNF.png</texturenofocus>
+ <onleft>605</onleft>
+ <onright>607</onright>
+ <onup>9003</onup>
+ <ondown>9000</ondown>
+ <onclick>XBMC.PlayerControl(Next)</onclick>
+ </control>
+ </control>
+ <control type="group" id="600">
+ <visible>VideoPlayer.Content(LiveTV)</visible>
+ <control type="button" id="601">
+ <posx>10</posx>
+ <posy>2</posy>
+ <width>30</width>
+ <height>30</height>
+ <label>-</label>
+ <texturefocus>OSDChannelUPFO.png</texturefocus>
+ <texturenofocus>OSDChannelUPNF.png</texturenofocus>
+ <onleft>608</onleft>
+ <onright>602</onright>
+ <onup>9003</onup>
+ <ondown>9000</ondown>
+ <onclick>XBMC.PlayerControl(Previous)</onclick>
+ </control>
+ <control type="button" id="602">
+ <posx>40</posx>
+ <posy>2</posy>
+ <width>30</width>
+ <height>30</height>
+ <label>-</label>
+ <texturefocus>OSDChannelDownFO.png</texturefocus>
+ <texturenofocus>OSDChannelDownNF.png</texturenofocus>
+ <onleft>601</onleft>
+ <onright>603</onright>
+ <onup>9003</onup>
+ <ondown>9000</ondown>
+ <onclick>XBMC.PlayerControl(Next)</onclick>
+ </control>
+ <control type="button" id="603">
+ <posx>70</posx>
+ <posy>2</posy>
+ <width>30</width>
+ <height>30</height>
+ <label>-</label>
+ <texturefocus>OSDStopFO.png</texturefocus>
+ <texturenofocus>OSDStopNF.png</texturenofocus>
+ <onleft>602</onleft>
+ <onright>606</onright>
+ <onup>9003</onup>
+ <ondown>9000</ondown>
+ <onclick>down</onclick>
+ <onclick>XBMC.PlayerControl(Stop)</onclick>
+ </control>
+ <control type="button" id="606">
+ <posx>130</posx>
+ <posy>2</posy>
+ <width>30</width>
+ <height>30</height>
+ <label>-</label>
+ <texturefocus>OSDRecordOffFO.png</texturefocus>
+ <texturenofocus>OSDRecordOffNF.png</texturenofocus>
+ <onleft>603</onleft>
+ <onright>607</onright>
+ <onup>9003</onup>
+ <ondown>9000</ondown>
+ <onclick>XBMC.PlayerControl(record)</onclick>
+ </control>
</control>
</control>
<control type="radiobutton" id="607">
@@ -496,6 +756,13 @@
</control>
<control type="grouplist" id="9014">
<include>HomeSubMenuCommonValues</include>
+ <onleft>9014</onleft>
+ <onright>9014</onright>
+ <visible>Container(9000).HasFocus(12)</visible>
+ <include>HomeSubMenuLiveTV</include> <!-- Buttons for the grouplist -->
+ </control>
+ <control type="grouplist" id="9015">
+ <include>HomeSubMenuCommonValues</include>
<onleft>9013</onleft>
<onright>9013</onright>
<visible>Container(9000).HasFocus(4)</visible>
@@ -609,10 +876,17 @@
<item id="4">
<label>1</label>
<onclick>ActivateWindow(Pictures)</onclick>
- <icon>special://skin/backgrounds/pictures.jpg</icon>
- <thumb>$INFO[Skin.String(Home_Custom_Back_Pictures_Folder)]</thumb>
+ <icon>-</icon>
+ <thumb>-</thumb>
<visible>!Skin.HasSetting(HomeMenuNoPicturesButton)</visible>
</item>
+ <item id="12">
+ <label>31502</label>
+ <onclick>ActivateWindow(PVR)</onclick>
+ <icon>-</icon>
+ <thumb>-</thumb>
+ <visible>System.GetBool(pvrmanager.enabled)</visible>
+ </item>
<item id="2">
<label>3</label>
<onclick condition="StringCompare(Window.Property(VideosDirectLink),True)">ActivateWindow(Videos)</onclick>
diff --git a/addons/skin.confluence/720p/IncludesBackgroundBuilding.xml b/addons/skin.confluence/720p/IncludesBackgroundBuilding.xml
index 74b202eb37..c583fbc15e 100644
--- a/addons/skin.confluence/720p/IncludesBackgroundBuilding.xml
+++ b/addons/skin.confluence/720p/IncludesBackgroundBuilding.xml
@@ -295,4 +295,101 @@
</control>
</control>
</include>
-</includes> \ No newline at end of file
+ <include name="ContentPanelBackgroundsPVR">
+ <control type="image">
+ <posx>0</posx>
+ <posy>100r</posy>
+ <width>1280</width>
+ <height>100</height>
+ <texture>floor.png</texture>
+ <animation effect="fade" time="250" condition="Window.Previous(Home)">WindowOpen</animation>
+ <animation effect="fade" time="250" condition="Window.Next(Home)">WindowClose</animation>
+ </control>
+ <control type="group">
+ <include>Window_OpenClose_Animation</include>
+ <control type="group">
+ <include>VisibleFadeEffect</include>
+ <visible>Control.IsVisible(10) | Control.IsVisible(14) | Control.IsVisible(15) | Control.IsVisible(16) | Control.IsVisible(17)</visible>
+ <control type="image">
+ <posx>55</posx>
+ <posy>60</posy>
+ <width>1170</width>
+ <height>600</height>
+ <texture border="15">ContentPanel.png</texture>
+ </control>
+ <control type="image">
+ <posx>55</posx>
+ <posy>652</posy>
+ <width>1170</width>
+ <height>64</height>
+ <texture border="15">ContentPanelMirror.png</texture>
+ </control>
+ </control>
+ <control type="group">
+ <include>VisibleFadeEffect</include>
+ <visible>Control.IsVisible(11) | Control.IsVisible(12)</visible>
+ <control type="image">
+ <posx>50</posx>
+ <posy>60</posy>
+ <width>450</width>
+ <height>600</height>
+ <texture border="15">ContentPanel.png</texture>
+ </control>
+ <control type="image">
+ <posx>50</posx>
+ <posy>652</posy>
+ <width>450</width>
+ <height>64</height>
+ <texture border="15">ContentPanelMirror.png</texture>
+ </control>
+ <control type="image">
+ <posx>510</posx>
+ <posy>60</posy>
+ <width>730</width>
+ <height>600</height>
+ <texture border="15">ContentPanel.png</texture>
+ </control>
+ <control type="image">
+ <posx>510</posx>
+ <posy>652</posy>
+ <width>730</width>
+ <height>64</height>
+ <texture border="15">ContentPanelMirror.png</texture>
+ </control>
+ </control>
+ <control type="group">
+ <include>VisibleFadeEffect</include>
+ <visible>Control.IsVisible(13)</visible>
+ <control type="image">
+ <posx>50</posx>
+ <posy>60</posy>
+ <width>840</width>
+ <height>600</height>
+ <texture border="15">ContentPanel.png</texture>
+ </control>
+ <control type="image">
+ <posx>50</posx>
+ <posy>652</posy>
+ <width>840</width>
+ <height>64</height>
+ <texture border="15">ContentPanelMirror.png</texture>
+ </control>
+ <control type="image">
+ <posx>900</posx>
+ <posy>60</posy>
+ <width>330</width>
+ <height>600</height>
+ <texture border="15">ContentPanel.png</texture>
+ </control>
+ <control type="image">
+ <posx>900</posx>
+ <posy>652</posy>
+ <width>330</width>
+ <height>64</height>
+ <texture border="15">ContentPanelMirror.png</texture>
+ </control>
+ </control>
+ </control>
+ </include>
+
+</includes>
diff --git a/addons/skin.confluence/720p/IncludesHomeMenuItems.xml b/addons/skin.confluence/720p/IncludesHomeMenuItems.xml
index 317cd7480c..7bad6f0cbb 100644
--- a/addons/skin.confluence/720p/IncludesHomeMenuItems.xml
+++ b/addons/skin.confluence/720p/IncludesHomeMenuItems.xml
@@ -229,16 +229,56 @@
</control>
</include>
<include name="HomeSubMenuPictures">
- <control type="image" id="90141">
+ <control type="image" id="90147">
<width>35</width>
<height>35</height>
<texture border="0,0,0,3" flipx="true">HomeSubEnd.png</texture>
</control>
- <control type="button" id="90142">
+ <control type="button" id="90148">
<include>ButtonHomeSubCommonValues</include>
<label>24001</label>
<onclick>ActivateWindow(Pictures,Addons,return)</onclick>
</control>
+ <control type="image" id="90149">
+ <width>35</width>
+ <height>35</height>
+ <texture border="0,0,0,3">HomeSubEnd.png</texture>
+ </control>
+ </include>
+ <include name="HomeSubMenuLiveTV">
+ <control type="image" id="90141">
+ <width>35</width>
+ <height>35</height>
+ <texture border="0,0,0,3" flipx="true">HomeSubEnd.png</texture>
+ </control>
+ <control type="button" id="90142">
+ <include>ButtonHomeSubCommonValues</include>
+ <label>19023</label>
+ <onclick>ActivateWindow(PVR)</onclick>
+ <onclick>Setfocus(32)</onclick>
+ <onclick>Setfocus(11)</onclick>
+ </control>
+ <control type="button" id="90143">
+ <include>ButtonHomeSubCommonValues</include>
+ <label>19024</label>
+ <onclick>ActivateWindow(PVR)</onclick>
+ <onclick>Setfocus(33)</onclick>
+ <onclick>Setfocus(12)</onclick>
+ </control>
+ <control type="button" id="90144">
+ <include>ButtonHomeSubCommonValues</include>
+ <label>19163</label>
+ <onclick>ActivateWindow(PVR)</onclick>
+ <onclick>Setfocus(34)</onclick>
+ <onclick>Setfocus(13)</onclick>
+ </control>
+ <control type="button" id="90145">
+ <include>ButtonHomeSubCommonValues</include>
+ <label>19040</label>
+ <onclick>ActivateWindow(PVR)</onclick>
+ <onclick>Setfocus(35)</onclick>
+ <onclick>Setfocus(14)</onclick>
+ </control>
<control type="image" id="90146">
<width>35</width>
<height>35</height>
diff --git a/addons/skin.confluence/720p/MusicOSD.xml b/addons/skin.confluence/720p/MusicOSD.xml
index 9171ff70d0..49fc84ba7b 100644
--- a/addons/skin.confluence/720p/MusicOSD.xml
+++ b/addons/skin.confluence/720p/MusicOSD.xml
@@ -306,8 +306,8 @@
<height>45</height>
<label>264</label>
<font>-</font>
- <texturefocus>OSDRecordFO.png</texturefocus>
- <texturenofocus>OSDRecordNF.png</texturenofocus>
+ <texturefocus>OSDRecordOffFO.png</texturefocus>
+ <texturenofocus>OSDRecordOffNF.png</texturenofocus>
<onleft>703</onleft>
<onright>600</onright>
<onup>1000</onup>
@@ -318,4 +318,4 @@
</control>
</control>
</controls>
- </window> \ No newline at end of file
+ </window>
diff --git a/addons/skin.confluence/720p/MyPVR.xml b/addons/skin.confluence/720p/MyPVR.xml
new file mode 100644
index 0000000000..f0b0d9c4fd
--- /dev/null
+++ b/addons/skin.confluence/720p/MyPVR.xml
@@ -0,0 +1,258 @@
+<window id="600">
+ <defaultcontrol>32</defaultcontrol>
+ <allowoverlay>no</allowoverlay>
+ <controls>
+ <control type="image">
+ <description>Normal Default Background Image</description>
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>1280</width>
+ <height>720</height>
+ <aspectratio>scale</aspectratio>
+ <texture>$INFO[Skin.CurrentTheme,special://skin/backgrounds/,.jpg]</texture>
+ <visible>![Skin.HasSetting(UseCustomBackground) + !IsEmpty(Skin.String(CustomBackgroundPath))]</visible>
+ <include>VisibleFadeEffect</include>
+ </control>
+ <control type="image">
+ <description>User Set Background Image</description>
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>1280</width>
+ <height>720</height>
+ <aspectratio>scale</aspectratio>
+ <texture>$INFO[Skin.String(CustomBackgroundPath)]</texture>
+ <visible>Skin.HasSetting(UseCustomBackground) + !IsEmpty(Skin.String(CustomBackgroundPath))</visible>
+ <include>VisibleFadeEffect</include>
+ </control>
+ <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>
+ <include>ContentPanelBackgroundsPVR</include>
+ <include>MainWindowMouseButtons</include>
+ <control type="image">
+ <description>Section header image</description>
+ <posx>20</posx>
+ <posy>3</posy>
+ <width>35</width>
+ <height>35</height>
+ <aspectratio>keep</aspectratio>
+ <texture>icon_video.png</texture>
+ </control>
+ <control type="grouplist">
+ <posx>65</posx>
+ <posy>5</posy>
+ <width>1000</width>
+ <height>30</height>
+ <orientation>horizontal</orientation>
+ <align>left</align>
+ <itemgap>5</itemgap>
+ <control type="label">
+ <include>WindowTitleCommons</include>
+ <label>$LOCALIZE[31502]</label>
+ </control>
+ <control type="label">
+ <include>WindowTitleCommons</include>
+ <label>$INFO[Control.GetLabel(29),[COLOR=blue] - [/COLOR]]</label>
+ </control>
+ <control type="label">
+ <include>WindowTitleCommons</include>
+ <label>$INFO[Control.GetLabel(30),[COLOR=blue] - [/COLOR]]</label>
+ </control>
+ </control>
+ <control type="label" id="29">
+ <description>Empty so we can pass the values up one level</description>
+ <visible>False</visible>
+ </control>
+ <control type="label" id="30">
+ <description>Empty so we can pass the values up one level</description>
+ <visible>False</visible>
+ </control>
+ <control type="group">
+ <description>Small Media Window</description>
+ <posx>530</posx>
+ <posy>80</posy>
+ <visible>Control.IsVisible(11) | Control.IsVisible(12)</visible>
+ <include>VisibleFadeEffect</include>
+ <include>Window_OpenClose_Animation</include>
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>690</width>
+ <height>400</height>
+ <texture border="5">button-nofocus.png</texture>
+ </control>
+ <control type="image">
+ <posx>5</posx>
+ <posy>5</posy>
+ <width>680</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>5</posx>
+ <posy>5</posy>
+ <width>680</width>
+ <height>390</height>
+ <visible>Player.HasVideo</visible>
+ <animation effect="slide" start="0,0" end="-2000,0" time="0">WindowClose</animation>
+ </control>
+ <control type="image">
+ <posx>1</posx>
+ <posy>1</posy>
+ <width>688</width>
+ <height>35</height>
+ <texture>black-back.png</texture>
+ <colordiffuse>DDFFFFFF</colordiffuse>
+ <visible>Player.HasVideo</visible>
+ </control>
+ <control type="label">
+ <description>Current Video label</description>
+ <posx>30</posx>
+ <posy>1</posy>
+ <width>650</width>
+ <height>35</height>
+ <font>font12</font>
+ <textcolor>grey2</textcolor>
+ <align>center</align>
+ <aligny>center</aligny>
+ <label>$INFO[VideoPlayer.Title]</label>
+ <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="group" id="50">
+ <include>Window_OpenClose_Animation</include>
+ <include>EPGTimelineView</include>--> <!-- view id = 10 -->
+ <include>LiveTVChannelView</include> <!-- view id = 11 -->
+ <include>LiveRadioChannelView</include> <!-- view id = 12 -->
+ <include>LiveTVRecordingsView</include> <!-- view id = 13 -->
+ <include>LiveTVTimersView</include> <!-- view id = 14 -->
+ <include>LiveTVGuideChannelView</include> <!-- view id = 15 -->
+ <include>LiveTVGuideNowNextView</include> <!-- view id = 16 -->
+ <include>LiveTVSearchView</include> <!-- view id = 17 -->
+ </control>
+ <include>CommonNowPlaying</include>
+ <include>BehindDialogFadeOut</include>
+ <include>ScrollOffsetLabel</include>
+
+ <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(PVRGuideInfo) | Window.IsActive(PVRRecordingInfo) | Window.IsActive(PVRTimerSetting) | Window.IsActive(PVRGroupManager) | Window.IsActive(PVRGuideSearch)</visible>
+ </control>
+
+ <control type="group">
+ <posx>-250</posx>
+ <include>SideBladeLeft</include>
+ <control type="grouplist" id="9000">
+ <posx>0</posx>
+ <posy>110</posy>
+ <width>250</width>
+ <height>600</height>
+ <onleft>9000</onleft>
+ <onright>50</onright>
+ <onup>9000</onup>
+ <ondown>9000</ondown>
+ <itemgap>0</itemgap>
+ <control type="label" id="200">
+ <width>250</width>
+ <height>35</height>
+ <font>font12caps</font>
+ <label>31006</label>
+ <textcolor>blue</textcolor>
+ <align>center</align>
+ <aligny>center</aligny>
+ </control>
+ <control type="button" id="32">
+ <description>TV Channels</description>
+ <posx>0</posx>
+ <posy>0</posy>
+ <textwidth>235</textwidth>
+ <include>ButtonCommonValues</include>
+ <label>19023</label>
+ </control>
+ <control type="button" id="33">
+ <description>Radio Channels</description>
+ <posx>0</posx>
+ <posy>40</posy>
+ <textwidth>235</textwidth>
+ <include>ButtonCommonValues</include>
+ <label>19024</label>
+ <onleft>12</onleft>
+ <onright>12</onright>
+ </control>
+ <control type="button" id="31">
+ <description>TV Guide</description>
+ <posx>0</posx>
+ <posy>80</posy>
+ <textwidth>235</textwidth>
+ <include>ButtonCommonValues</include>
+ <label>$LOCALIZE[19222]: $LOCALIZE[19030]</label>
+ </control>
+ <control type="button" id="34">
+ <description>Recordings</description>
+ <posx>0</posx>
+ <posy>120</posy>
+ <textwidth>235</textwidth>
+ <include>ButtonCommonValues</include>
+ <label>19163</label>
+ </control>
+ <control type="button" id="35">
+ <description>Timers</description>
+ <posx>0</posx>
+ <posy>160</posy>
+ <textwidth>235</textwidth>
+ <include>ButtonCommonValues</include>
+ <label>19040</label>
+ </control>
+ <control type="button" id="36">
+ <description>Search</description>
+ <posx>0</posx>
+ <posy>200</posy>
+ <textwidth>235</textwidth>
+ <include>ButtonCommonValues</include>
+ <label>137</label>
+ </control>
+ <include>CommonNowPlaying_Controls</include>
+ </control>
+ </control>
+
+ <include>Clock</include>
+ </controls>
+</window>
diff --git a/addons/skin.confluence/720p/PlayerControls.xml b/addons/skin.confluence/720p/PlayerControls.xml
index 56beee14ca..e6a6241779 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>
@@ -112,8 +120,8 @@
<width>40</width>
<height>40</height>
<label>-</label>
- <texturefocus>OSDRecordFO.png</texturefocus>
- <texturenofocus>OSDRecordNF.png</texturenofocus>
+ <texturefocus>OSDRecordOffFO.png</texturefocus>
+ <texturenofocus>OSDRecordOffNF.png</texturenofocus>
<onleft>605</onleft>
<onright>607</onright>
<onup>300</onup>
@@ -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="group">
<animation effect="slide" start="0,0" end="40,0" time="0" condition="!Player.HasAudio">Conditional</animation>
@@ -137,6 +146,7 @@
<onright>608</onright>
<onup>100</onup>
<ondown>100</ondown>
+ <visible>!VideoPlayer.Content(LiveTV)</visible>
</control>
<control type="image">
<posx>325</posx>
@@ -146,6 +156,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>325</posx>
@@ -155,6 +166,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>325</posx>
@@ -164,6 +176,7 @@
<texture>OSDRepeatOneNF.png</texture>
<visible>Playlist.IsRepeatOne</visible>
<visible>!Control.HasFocus(607)</visible>
+ <visible>!VideoPlayer.Content(LiveTV)</visible>
</control>
<control type="image">
<posx>325</posx>
@@ -173,6 +186,7 @@
<texture>OSDRepeatOneFO.png</texture>
<visible>Playlist.IsRepeatOne</visible>
<visible>Control.HasFocus(607)</visible>
+ <visible>!VideoPlayer.Content(LiveTV)</visible>
</control>
<control type="image">
<posx>325</posx>
@@ -182,6 +196,7 @@
<texture>OSDRepeatAllNF.png</texture>
<visible>Playlist.IsRepeat</visible>
<visible>!Control.HasFocus(607)</visible>
+ <visible>!VideoPlayer.Content(LiveTV)</visible>
</control>
<control type="image">
<posx>325</posx>
@@ -191,6 +206,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>365</posx>
@@ -208,6 +224,7 @@
<onright>609</onright>
<onup>100</onup>
<ondown>100</ondown>
+ <visible>!VideoPlayer.Content(LiveTV)</visible>
</control>
<control type="togglebutton" id="609">
<posx>405</posx>
@@ -231,9 +248,133 @@
<altclick>XBMC.RunScript($INFO[Skin.String(LyricScript_Path)])</altclick>
<usealttexture>IsEmpty(Skin.String(LyricScript_Path))</usealttexture>
<visible>Player.HasAudio</visible>
+ <visible>!VideoPlayer.Content(LiveTV)</visible>
</control>
</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>OSDRecordOffFO.png</texturefocus>
+ <texturenofocus>OSDRecordOffNF.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 -->
<control type="image">
<description>gradient</description>
@@ -272,4 +413,4 @@
<visible>system.getbool(input.enablemouse)</visible>
</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 a34673c7ff..c2328c94e0 100644
--- a/addons/skin.confluence/720p/Settings.xml
+++ b/addons/skin.confluence/720p/Settings.xml
@@ -128,42 +128,48 @@
<icon>-</icon>
</item>
<item id="3">
+ <label>31502</label>
+ <label2>31409</label2>
+ <onclick>ActivateWindow(PVRSettings)</onclick>
+ <icon>special://skin/backgrounds/tv.jpg</icon>
+ </item>
+ <item id="4">
<label>2</label>
<label2>31402</label2>
<onclick>ActivateWindow(MusicSettings)</onclick>
<icon>-</icon>
</item>
- <item id="4">
+ <item id="5">
<label>1</label>
<label2>31403</label2>
<onclick>ActivateWindow(PicturesSettings)</onclick>
<icon>-</icon>
</item>
- <item id="5">
+ <item id="6">
<label>8</label>
<label2>31404</label2>
<onclick>ActivateWindow(WeatherSettings)</onclick>
<icon>-</icon>
</item>
- <item id="6">
+ <item id="7">
<label>24001</label>
<label2>31408</label2>
<onclick>ActivateWindow(AddonBrowser)</onclick>
<icon>-</icon>
</item>
- <item id="7">
+ <item id="8">
<label>14036</label>
<label2>31409</label2>
<onclick>ActivateWindow(ServiceSettings)</onclick>
<icon>-</icon>
</item>
- <item id="8">
+ <item id="9">
<label>13000</label>
<label2>31406</label2>
<onclick>ActivateWindow(SystemSettings)</onclick>
<icon>-</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 0f89b5dcfb..c8748adb4e 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 e12ec819f6..703d424026 100644
--- a/addons/skin.confluence/720p/VideoFullScreen.xml
+++ b/addons/skin.confluence/720p/VideoFullScreen.xml
@@ -3,7 +3,7 @@
<controls>
<!-- media infos -->
<control type="group" id="1">
- <visible>[Player.ShowInfo | Window.IsActive(VideoOSD)] + ![Window.IsVisible(123) | Window.IsVisible(124) | Window.IsVisible(125)]</visible>
+ <visible>[Player.ShowInfo | Window.IsActive(VideoOSD)] + ![Window.IsVisible(123) | Window.IsVisible(124) | Window.IsVisible(125) | Window.IsVisible(PVROSDChannels) | Window.IsVisible(PVROSDGuide)]</visible>
<animation effect="fade" time="200">VisibleChange</animation>
<control type="image" id="1">
<posx>0</posx>
@@ -24,7 +24,21 @@
<textcolor>white</textcolor>
<shadowcolor>black</shadowcolor>
<label>$INFO[Player.Chapter,$LOCALIZE[21396]: ]$INFO[Player.ChapterCount, / ]$INFO[Player.ChapterName,[COLOR=grey] - (,)[/COLOR]]</label>
- <visible>Player.ChapterCount</visible>
+ <visible>Player.ChapterCount + !VideoPlayer.Content(LiveTV)</visible>
+ </control>
+ <control type="label" id="1">
+ <description>Channel Group label</description>
+ <posx>30</posx>
+ <posy>5</posy>
+ <width>1000</width>
+ <height>25</height>
+ <align>left</align>
+ <aligny>center</aligny>
+ <font>font13</font>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <label>$INFO[VideoPlayer.ChannelGroup,$LOCALIZE[31509]: ]</label>
+ <visible>VideoPlayer.Content(LiveTV)</visible>
</control>
<control type="label" id="1">
<description>Clock label</description>
@@ -81,11 +95,35 @@
<width>910</width>
<height>25</height>
<align>left</align>
+ <aligny>center</aligny>
<font>font13</font>
<label>$LOCALIZE[31040]</label>
<textcolor>white</textcolor>
<shadowcolor>black</shadowcolor>
- <animation effect="slide" start="0,0" end="0,25" time="0" condition="!VideoPlayer.Content(Movies) + !VideoPlayer.Content(Episodes) + !VideoPlayer.Content(MusicVideos)">conditional</animation>
+ <visible>![VideoPlayer.Content(LiveTV) + Player.Recording]</visible>
+ <animation effect="slide" start="0,0" end="0,25" time="0" condition="!VideoPlayer.Content(Movies) + !VideoPlayer.Content(Episodes) + !VideoPlayer.Content(MusicVideos) + !VideoPlayer.Content(LiveTV)">conditional</animation>
+ </control>
+ <control type="image" id="1">
+ <posy>0</posy>
+ <width>50</width>
+ <height>25</height>
+ <aspectratio align="center" aligny="center">keep</aspectratio>
+ <texture>PVR-IsRecording.png</texture>
+ <visible>VideoPlayer.Content(LiveTV) + Player.Recording</visible>
+ </control>
+ <control type="label" id="1">
+ <description>Heading label</description>
+ <posx>50</posx>
+ <posy>0</posy>
+ <width>860</width>
+ <height>25</height>
+ <align>left</align>
+ <aligny>center</aligny>
+ <font>font13</font>
+ <label>$LOCALIZE[19158]</label>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <visible>VideoPlayer.Content(LiveTV) + Player.Recording</visible>
</control>
<control type="label" id="1">
<description>Studio label</description>
@@ -126,6 +164,19 @@
<shadowcolor>black</shadowcolor>
<visible>VideoPlayer.Content(MusicVideos)</visible>
</control>
+ <control type="label" id="1">
+ <description>LiveTV Info label</description>
+ <posx>20</posx>
+ <posy>30</posy>
+ <width>910</width>
+ <height>25</height>
+ <align>left</align>
+ <font>font12</font>
+ <label>$INFO[VideoPlayer.ChannelName]$INFO[VideoPlayer.ChannelNumber, - ([COLOR=blue],[/COLOR])]</label>
+ <textcolor>grey2</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <visible>VideoPlayer.Content(LiveTV)</visible>
+ </control>
<control type="grouplist" id="1">
<posx>20</posx>
<posy>60</posy>
@@ -176,13 +227,28 @@
<font>font12</font>
<textcolor>grey</textcolor>
<scroll>true</scroll>
- <visible>!Window.IsVisible(VideoOSD)</visible>
+ <visible>!Window.IsVisible(VideoOSD) + !VideoPlayer.Content(LiveTV)</visible>
+ <animation effect="fade" time="200">VisibleChange</animation>
+ </control>
+ <control type="label" id="1">
+ <posx>0</posx>
+ <posy>120</posy>
+ <width>910</width>
+ <height>25</height>
+ <label>$INFO[VideoPlayer.NextTitle,$LOCALIZE[209]: ]</label>
+ <align>center</align>
+ <aligny>center</aligny>
+ <font>font12</font>
+ <textcolor>grey</textcolor>
+ <scroll>true</scroll>
+ <visible>!Window.IsVisible(VideoOSD) + VideoPlayer.Content(LiveTV)</visible>
<animation effect="fade" time="200">VisibleChange</animation>
</control>
</control>
<control type="group" id="1">
<posx>330</posx>
<posy>85r</posy>
+ <visible>!VideoPlayer.Content(LiveTV) | [VideoPlayer.Content(LiveTV) + VideoPlayer.HasEpg]</visible>
<control type="label" id="1">
<posx>0</posx>
<posy>0</posy>
@@ -233,7 +299,6 @@
<posy>0</posy>
<width>1280</width>
<height>140</height>
- <colordiffuse>AAFFFFFF</colordiffuse>
<texture>black-back.png</texture>
</control>
<control type="label" id="10">
@@ -270,5 +335,252 @@
<label>-</label>
</control>
</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>165</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 3cb999aeb2..2602be6bc6 100644
--- a/addons/skin.confluence/720p/VideoOSD.xml
+++ b/addons/skin.confluence/720p/VideoOSD.xml
@@ -1,5 +1,5 @@
<window id="2901">
- <defaultcontrol always="true">602</defaultcontrol>
+ <defaultcontrol always="true">100</defaultcontrol>
<include>dialogeffect</include>
<coordinates>
<system>1</system>
@@ -39,13 +39,16 @@
<textureslidernib>osd_slider_nibNF.png</textureslidernib>
<textureslidernibfocus>osd_slider_nib.png</textureslidernibfocus>
<animation effect="fade" time="200">VisibleChange</animation>
- <visible>![Window.IsVisible(SliderDialog) | Window.IsVisible(OSDVideoSettings) | Window.IsVisible(OSDAudioSettings) | Window.IsVisible(VideoBookmarks)]</visible>
+ <visible>![Window.IsVisible(SliderDialog) | Window.IsVisible(OSDVideoSettings) | Window.IsVisible(OSDAudioSettings) | Window.IsVisible(VideoBookmarks) | VideoPlayer.Content(LiveTV)]</visible>
</control>
+ <!-- !LiveTV -->
<control type="group" id="100">
<posx>325</posx>
<posy>50r</posy>
+ <defaultcontrol always="true">602</defaultcontrol>
<animation effect="fade" time="200">VisibleChange</animation>
<visible>![Window.IsVisible(SliderDialog) | Window.IsVisible(OSDVideoSettings) | Window.IsVisible(OSDAudioSettings) | Window.IsVisible(VideoBookmarks)]</visible>
+ <visible>!VideoPlayer.Content(LiveTV)</visible>
<control type="button" id="600">
<posx>0</posx>
<posy>0</posy>
@@ -141,11 +144,134 @@
<onclick>PlayerControl(Next)</onclick>
</control>
</control>
+
+ <!-- LiveTV -->
+ <control type="group" id="100">
+ <posx>325</posx>
+ <posy>50r</posy>
+ <defaultcontrol always="true">601</defaultcontrol>
+ <animation effect="fade" time="200">VisibleChange</animation>
+ <visible>![Window.IsVisible(SliderDialog) | Window.IsVisible(OSDVideoSettings) | Window.IsVisible(OSDAudioSettings) | Window.IsVisible(VideoBookmarks) | Window.IsVisible(PVROSDChannels) | Window.IsVisible(PVROSDGuide)]</visible>
+ <visible>VideoPlayer.Content(LiveTV)</visible>
+ <control type="button" id="600">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>45</width>
+ <height>45</height>
+ <label>210</label>
+ <font>-</font>
+ <texturefocus>OSDChannelUPFO.png</texturefocus>
+ <texturenofocus>OSDChannelUPNF.png</texturenofocus>
+ <onleft>704</onleft>
+ <onright>601</onright>
+ <onup>1000</onup>
+ <ondown>1000</ondown>
+ <onclick>PlayerControl(Previous)</onclick>
+ </control>
+ <control type="button" id="601">
+ <posx>45</posx>
+ <posy>0</posy>
+ <width>45</width>
+ <height>45</height>
+ <label>31354</label>
+ <font>-</font>
+ <texturefocus>OSDChannelDownFO.png</texturefocus>
+ <texturenofocus>OSDChannelDownNF.png</texturenofocus>
+ <onleft>600</onleft>
+ <onright>602</onright>
+ <onup>1000</onup>
+ <ondown>1000</ondown>
+ <onclick>PlayerControl(Next)</onclick>
+ </control>
+ <control type="togglebutton" id="602">
+ <posx>90</posx>
+ <posy>0</posy>
+ <width>45</width>
+ <height>45</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>601</onleft>
+ <onright>603</onright>
+ <onup>1000</onup>
+ <ondown>1000</ondown>
+ <onclick>PlayerControl(Play)</onclick>
+ <visible>False</visible>
+ </control>
+ <control type="button" id="603">
+ <posx>135</posx>
+ <posy>0</posy>
+ <width>45</width>
+ <height>45</height>
+ <label>31351</label>
+ <altlabel>208</altlabel>
+ <font>-</font>
+ <texturefocus>OSDStopFO.png</texturefocus>
+ <texturenofocus>OSDStopNF.png</texturenofocus>
+ <onleft>602</onleft>
+ <onright>604</onright>
+ <onup>1000</onup>
+ <ondown>1000</ondown>
+ <onclick>PlayerControl(Stop)</onclick>
+ </control>
+ <control type="button" id="604">
+ <posx>180</posx>
+ <posy>0</posy>
+ <width>45</width>
+ <height>45</height>
+ <label>19019</label>
+ <font>-</font>
+ <texturefocus>OSDChannelListFO.png</texturefocus>
+ <texturenofocus>OSDChannelListNF.png</texturenofocus>
+ <onleft>603</onleft>
+ <onright>605</onright>
+ <onup>1000</onup>
+ <ondown>1000</ondown>
+ <onclick>ActivateWindow(PVROSDChannels)</onclick>
+ <onclick>Dialog.Close(VideoOSD)</onclick>
+ </control>
+ <control type="button" id="605">
+ <posx>225</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>604</onleft>
+ <onright>701</onright>
+ <onup>1000</onup>
+ <ondown>1000</ondown>
+ <onclick>ActivateWindow(PVROSDGuide)</onclick>
+ <onclick>Dialog.Close(VideoOSD)</onclick>
+ </control>
+ <control type="label" id="606">
+ <posx>290</posx>
+ <posy>0</posy>
+ <width>450</width>
+ <height>45</height>
+ <label>$INFO[VideoPlayer.NextTitle,$LOCALIZE[209]: ]</label>
+ <align>center</align>
+ <aligny>center</aligny>
+ <font>font12</font>
+ <textcolor>grey</textcolor>
+ <scroll>false</scroll>
+ </control>
+ </control>
+
+ <!-- !LiveTV -->
<control type="group">
<posx>250r</posx>
<posy>50r</posy>
<animation effect="fade" time="200">VisibleChange</animation>
<visible>![Window.IsVisible(SliderDialog) | Window.IsVisible(OSDVideoSettings) | Window.IsVisible(OSDAudioSettings) | Window.IsVisible(VideoBookmarks)]</visible>
+ <visible>!VideoPlayer.Content(LiveTV)</visible>
<control type="togglebutton" id="701">
<posx>0</posx>
<posy>0</posy>
@@ -231,5 +357,80 @@
<animation effect="fade" start="100" end="50" time="100" condition="!VideoPlayer.HasMenu">Conditional</animation>
</control>
</control>
+
+ <!-- LiveTV -->
+ <control type="group">
+ <posx>200r</posx>
+ <posy>50r</posy>
+ <animation effect="fade" time="200">VisibleChange</animation>
+ <visible>![Window.IsVisible(SliderDialog) | Window.IsVisible(OSDVideoSettings) | Window.IsVisible(OSDAudioSettings) | Window.IsVisible(VideoBookmarks) | Window.IsVisible(PVROSDChannels) | Window.IsVisible(PVROSDGuide)]</visible>
+ <visible>VideoPlayer.Content(LiveTV)</visible>
+ <control type="button" id="701">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>45</width>
+ <height>45</height>
+ <label>31356</label>
+ <font>-</font>
+ <texturefocus>OSDTeleTextFO.png</texturefocus>
+ <texturenofocus>OSDTeleTextNF.png</texturenofocus>
+ <onleft>605</onleft>
+ <onright>702</onright>
+ <onup>1000</onup>
+ <ondown>1000</ondown>
+ <onclick>ActivateWindow(Teletext)</onclick>
+ </control>
+ <control type="button" id="702">
+ <posx>45</posx>
+ <posy>0</posy>
+ <width>45</width>
+ <height>45</height>
+ <label>13395</label>
+ <font>-</font>
+ <texturefocus>OSDVideoFO.png</texturefocus>
+ <texturenofocus>OSDVideoNF.png</texturenofocus>
+ <onleft>701</onleft>
+ <onright>703</onright>
+ <onup>1000</onup>
+ <ondown>1000</ondown>
+ <onclick>ActivateWindow(OSDVideoSettings)</onclick>
+ </control>
+ <control type="button" id="703">
+ <posx>90</posx>
+ <posy>0</posy>
+ <width>45</width>
+ <height>45</height>
+ <label>13396</label>
+ <font>-</font>
+ <texturefocus>OSDAudioFO.png</texturefocus>
+ <texturenofocus>OSDAudioNF.png</texturenofocus>
+ <onleft>702</onleft>
+ <onright>704</onright>
+ <onup>1000</onup>
+ <ondown>1000</ondown>
+ <onclick>ActivateWindow(OSDAudioSettings)</onclick>
+ </control>
+ <control type="togglebutton" id="704">
+ <posx>135</posx>
+ <posy>0</posy>
+ <width>45</width>
+ <height>45</height>
+ <label>31351</label>
+ <altlabel>208</altlabel>
+ <font>-</font>
+ <texturefocus>OSDRecordOffFO.png</texturefocus>
+ <texturenofocus>OSDRecordOffNF.png</texturenofocus>
+ <usealttexture>Player.Recording</usealttexture>
+ <alttexturefocus>OSDRecordOnFO.png</alttexturefocus>
+ <alttexturenofocus>OSDRecordOnNF.png</alttexturenofocus>
+ <onleft>703</onleft>
+ <onright>600</onright>
+ <onup>1000</onup>
+ <ondown>1000</ondown>
+ <onclick>PlayerControl(Record)</onclick>
+ <enable>Player.CanRecord</enable>
+ <animation effect="fade" start="100" end="50" time="100" condition="!Player.CanRecord">Conditional</animation>
+ </control>
+ </control>
</controls>
- </window> \ No newline at end of file
+ </window>
diff --git a/addons/skin.confluence/720p/ViewsPVR.xml b/addons/skin.confluence/720p/ViewsPVR.xml
new file mode 100644
index 0000000000..003009e3bb
--- /dev/null
+++ b/addons/skin.confluence/720p/ViewsPVR.xml
@@ -0,0 +1,2392 @@
+<includes>
+ <include name="LiveTVChannelView">
+ <control type="group">
+ <description>TV Channels group</description>
+ <visible>Control.IsVisible(11)</visible>
+ <include>VisibleFadeEffect</include>
+ <control type="group">
+ <posx>530</posx>
+ <posy>490</posy>
+ <control type="label">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>690</width>
+ <height>20</height>
+ <font>font13</font>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <scroll>true</scroll>
+ <align>center</align>
+ <aligny>center</aligny>
+ <label>[B]$INFO[Container(11).ListItem.Title][/B]</label>
+ </control>
+ <control type="label">
+ <posx>80</posx>
+ <posy>22</posy>
+ <width>80</width>
+ <height>20</height>
+ <align>right</align>
+ <aligny>center</aligny>
+ <font>font10_title</font>
+ <textcolor>blue</textcolor>
+ <visible>Container(11).ListItem.HasEpg</visible>
+ <label>$INFO[Container(11).ListItem.StartTime]</label>
+ </control>
+ <control type="progress">
+ <description>Progressbar</description>
+ <posx>85</posx>
+ <posy>30</posy>
+ <width>510</width>
+ <height>8</height>
+ <visible>Container(11).ListItem.HasEpg</visible>
+ <info>Container(11).ListItem.Progress</info>
+ </control>
+ <control type="label">
+ <posx>600</posx>
+ <posy>22</posy>
+ <width>80</width>
+ <height>20</height>
+ <align>left</align>
+ <aligny>center</aligny>
+ <font>font10_title</font>
+ <textcolor>blue</textcolor>
+ <visible>Container(11).ListItem.HasEpg</visible>
+ <label>$INFO[Container(11).ListItem.EndTime]</label>
+ </control>
+ <control type="textbox">
+ <description>Plot Value for TVShow</description>
+ <posx>0</posx>
+ <posy>43</posy>
+ <width>690</width>
+ <height>80</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 type="label">
+ <posx>690</posx>
+ <posy>140</posy>
+ <width>690</width>
+ <height>20</height>
+ <font>font12</font>
+ <textcolor>grey2</textcolor>
+ <align>right</align>
+ <aligny>center</aligny>
+ <scroll>false</scroll>
+ <visible>!IsEmpty(Container(11).ListItem.NextTitle)</visible>
+ <label>$LOCALIZE[19031]: $INFO[Container(11).ListItem.NextTitle]</label>
+ </control>
+ </control>
+ <control type="list" id="11">
+ <posx>70</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="390">
+ <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>font12</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>25</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>25</posy>
+ <width>330</width>
+ <height>20</height>
+ <font>font12</font>
+ <textcolor>grey</textcolor>
+ <selectedcolor>grey</selectedcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <label>$INFO[ListItem.Title]</label>
+ <visible>IsEmpty(Listitem.Icon)</visible>
+ </control>
+ <control type="label">
+ <posx>50</posx>
+ <posy>25</posy>
+ <width>280</width>
+ <height>20</height>
+ <font>font12</font>
+ <textcolor>grey</textcolor>
+ <selectedcolor>grey</selectedcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <label>$INFO[ListItem.Title]</label>
+ <visible>!IsEmpty(Listitem.Icon)</visible>
+ </control>
+ <control type="progress">
+ <description>Progressbar</description>
+ <posx>50</posx>
+ <posy>48</posy>
+ <width>280</width>
+ <height>6</height>
+ <colordiffuse>88FFFFFF</colordiffuse>
+ <visible>ListItem.HasEpg</visible>
+ <info>ListItem.Progress</info>
+ </control>
+ <control type="image">
+ <posx>340</posx>
+ <posy>4</posy>
+ <width>50</width>
+ <height>50</height>
+ <texture>$INFO[ListItem.Icon]</texture>
+ </control>
+ <control type="image">
+ <posx>5</posx>
+ <posy>37</posy>
+ <width>30</width>
+ <height>20</height>
+ <texture>PVR-IsRecording.png</texture>
+ <visible>ListItem.IsRecording</visible>
+ </control>
+ </itemlayout>
+ <focusedlayout height="60" width="390">
+ <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>font12</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>25</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>25</posy>
+ <width>330</width>
+ <height>20</height>
+ <font>font12</font>
+ <textcolor>grey</textcolor>
+ <selectedcolor>grey</selectedcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <label>$INFO[ListItem.Title]</label>
+ <visible>IsEmpty(Listitem.Icon)</visible>
+ </control>
+ <control type="label">
+ <posx>50</posx>
+ <posy>25</posy>
+ <width>280</width>
+ <height>20</height>
+ <font>font12</font>
+ <textcolor>grey</textcolor>
+ <selectedcolor>grey</selectedcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <label>$INFO[ListItem.Title]</label>
+ <visible>!IsEmpty(Listitem.Icon)</visible>
+ </control>
+ <control type="progress">
+ <description>Progressbar</description>
+ <posx>50</posx>
+ <posy>48</posy>
+ <width>280</width>
+ <height>6</height>
+ <colordiffuse>88FFFFFF</colordiffuse>
+ <visible>ListItem.HasEpg</visible>
+ <info>ListItem.Progress</info>
+ </control>
+ <control type="image">
+ <posx>340</posx>
+ <posy>4</posy>
+ <width>50</width>
+ <height>50</height>
+ <texture>$INFO[ListItem.Icon]</texture>
+ </control>
+ <control type="image">
+ <posx>5</posx>
+ <posy>37</posy>
+ <width>30</width>
+ <height>20</height>
+ <texture>PVR-IsRecording.png</texture>
+ <visible>ListItem.IsRecording</visible>
+ </control>
+ </focusedlayout>
+ </control>
+ <control type="scrollbar" id="70">
+ <posx>465</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>
+ <showonepage>false</showonepage>
+ <orientation>vertical</orientation>
+ </control>
+ <control type="label">
+ <animation effect="slide" start="0,0" end="-90,0" time="0" condition="system.getbool(input.enablemouse)">Conditional</animation>
+ <description>Page Count Label</description>
+ <posx>40r</posx>
+ <posy>53r</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>
+ </include>
+
+ <include name="LiveRadioChannelView">
+ <control type="group">
+ <description>Radio Channels group</description>
+ <visible>Control.IsVisible(12)</visible>
+ <include>VisibleFadeEffect</include>
+ <control type="group">
+ <posx>530</posx>
+ <posy>490</posy>
+ <control type="label">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>690</width>
+ <height>20</height>
+ <font>font13</font>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <scroll>true</scroll>
+ <align>center</align>
+ <aligny>center</aligny>
+ <label>[B]$INFO[Container(12).ListItem.Title][/B]</label>
+ </control>
+ <control type="label">
+ <posx>80</posx>
+ <posy>22</posy>
+ <width>80</width>
+ <height>20</height>
+ <align>right</align>
+ <aligny>center</aligny>
+ <font>font10_title</font>
+ <textcolor>blue</textcolor>
+ <visible>Container(12).ListItem.HasEpg</visible>
+ <label>$INFO[Container(12).ListItem.StartTime]</label>
+ </control>
+ <control type="progress">
+ <description>Progressbar</description>
+ <posx>85</posx>
+ <posy>30</posy>
+ <width>510</width>
+ <height>8</height>
+ <visible>Container(12).ListItem.HasEpg</visible>
+ <info>Container(12).ListItem.Progress</info>
+ </control>
+ <control type="label">
+ <posx>600</posx>
+ <posy>22</posy>
+ <width>80</width>
+ <height>20</height>
+ <align>left</align>
+ <aligny>center</aligny>
+ <font>font10_title</font>
+ <textcolor>blue</textcolor>
+ <visible>Container(12).ListItem.HasEpg</visible>
+ <label>$INFO[Container(12).ListItem.EndTime]</label>
+ </control>
+ <control type="textbox">
+ <description>Plot Value for TVShow</description>
+ <posx>0</posx>
+ <posy>43</posy>
+ <width>690</width>
+ <height>80</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 type="label">
+ <posx>690</posx>
+ <posy>140</posy>
+ <width>690</width>
+ <height>20</height>
+ <font>font12</font>
+ <textcolor>grey2</textcolor>
+ <align>right</align>
+ <aligny>center</aligny>
+ <scroll>false</scroll>
+ <visible>!IsEmpty(Container(12).ListItem.NextTitle)</visible>
+ <label>$LOCALIZE[19031]: $INFO[Container(12).ListItem.NextTitle]</label>
+ </control>
+ </control>
+ <control type="list" id="12">
+ <posx>70</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="390">
+ <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>font12</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>25</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>25</posy>
+ <width>330</width>
+ <height>20</height>
+ <font>font12</font>
+ <textcolor>grey</textcolor>
+ <selectedcolor>grey</selectedcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <label>$INFO[ListItem.Title]</label>
+ <visible>IsEmpty(Listitem.Icon)</visible>
+ </control>
+ <control type="label">
+ <posx>50</posx>
+ <posy>25</posy>
+ <width>280</width>
+ <height>20</height>
+ <font>font12</font>
+ <textcolor>grey</textcolor>
+ <selectedcolor>grey</selectedcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <label>$INFO[ListItem.Title]</label>
+ <visible>!IsEmpty(Listitem.Icon)</visible>
+ </control>
+ <control type="progress">
+ <description>Progressbar</description>
+ <posx>50</posx>
+ <posy>48</posy>
+ <width>280</width>
+ <height>6</height>
+ <colordiffuse>88FFFFFF</colordiffuse>
+ <info>ListItem.Progress</info>
+ <visible>ListItem.HasEpg</visible>
+ </control>
+ <control type="image">
+ <posx>340</posx>
+ <posy>4</posy>
+ <width>50</width>
+ <height>50</height>
+ <texture>$INFO[ListItem.Icon]</texture>
+ </control>
+ <control type="image">
+ <posx>5</posx>
+ <posy>37</posy>
+ <width>30</width>
+ <height>20</height>
+ <texture>PVR-IsRecording.png</texture>
+ <visible>ListItem.IsRecording</visible>
+ </control>
+ </itemlayout>
+ <focusedlayout height="60" width="390">
+ <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>font12</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>25</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>25</posy>
+ <width>330</width>
+ <height>20</height>
+ <font>font12</font>
+ <textcolor>grey</textcolor>
+ <selectedcolor>grey</selectedcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <label>$INFO[ListItem.Title]</label>
+ <visible>IsEmpty(Listitem.Icon)</visible>
+ </control>
+ <control type="label">
+ <posx>50</posx>
+ <posy>25</posy>
+ <width>280</width>
+ <height>20</height>
+ <font>font12</font>
+ <textcolor>grey</textcolor>
+ <selectedcolor>grey</selectedcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <label>$INFO[ListItem.Title]</label>
+ <visible>!IsEmpty(Listitem.Icon)</visible>
+ </control>
+ <control type="progress">
+ <description>Progressbar</description>
+ <posx>50</posx>
+ <posy>48</posy>
+ <width>280</width>
+ <height>6</height>
+ <colordiffuse>88FFFFFF</colordiffuse>
+ <info>ListItem.Progress</info>
+ <visible>ListItem.HasEpg</visible>
+ </control>
+ <control type="image">
+ <posx>340</posx>
+ <posy>4</posy>
+ <width>50</width>
+ <height>50</height>
+ <texture>$INFO[ListItem.Icon]</texture>
+ </control>
+ <control type="image">
+ <posx>5</posx>
+ <posy>37</posy>
+ <width>30</width>
+ <height>20</height>
+ <texture>PVR-IsRecording.png</texture>
+ <visible>ListItem.IsRecording</visible>
+ </control>
+ </focusedlayout>
+ </control>
+ <control type="scrollbar" id="71">
+ <posx>465</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>12</onleft>
+ <onright>33</onright>
+ <showonepage>false</showonepage>
+ <orientation>vertical</orientation>
+ </control>
+ <control type="label">
+ <animation effect="slide" start="0,0" end="-90,0" time="0" condition="system.getbool(input.enablemouse)">Conditional</animation>
+ <description>Page Count Label</description>
+ <posx>40r</posx>
+ <posy>53r</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>
+ </include>
+
+ <include name="LiveTVRecordingsView">
+ <control type="group">
+ <description>Recordings group</description>
+ <visible>Control.IsVisible(13)</visible>
+ <include>VisibleFadeEffect</include>
+ <control type="list" id="13">
+ <posx>70</posx>
+ <posy>75</posy>
+ <width>760</width>
+ <height>561</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="760">
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>760</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>605</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>725</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>
+ <control type="image">
+ <posx>730</posx>
+ <posy>14</posy>
+ <width>20</width>
+ <height>16</height>
+ <texture>$INFO[ListItem.Overlay]</texture>
+ </control>
+ </itemlayout>
+ <focusedlayout height="40" width="760">
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>760</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>760</width>
+ <height>41</height>
+ <texture border="2">MenuItemNF.png</texture>
+ <include>VisibleFadeEffect</include>
+ <visible>!Control.HasFocus(13)</visible>
+ </control>
+ <control type="image">
+ <posx>560</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>725</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>
+ <control type="image">
+ <posx>730</posx>
+ <posy>14</posy>
+ <width>20</width>
+ <height>16</height>
+ <texture>$INFO[ListItem.Overlay]</texture>
+ </control>
+ </focusedlayout>
+ </control>
+ <control type="scrollbar" id="72">
+ <posx>850</posx>
+ <posy>78</posy>
+ <width>25</width>
+ <height>560</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>34</onright>
+ <showonepage>false</showonepage>
+ <orientation>vertical</orientation>
+ </control>
+ <control type="label">
+ <animation effect="slide" start="0,0" end="-90,0" time="0" condition="system.getbool(input.enablemouse)">Conditional</animation>
+ <description>Page Count Label</description>
+ <posx>40r</posx>
+ <posy>53r</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>910</posx>
+ <posy>80</posy>
+ <control type="image">
+ <posx>10</posx>
+ <posy>0</posy>
+ <width>290</width>
+ <height>230</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="fadelabel">
+ <posx>10</posx>
+ <posy>230</posy>
+ <width>290</width>
+ <height>25</height>
+ <label>$INFO[Container(13).ListItem.Title]</label>
+ <align>center</align>
+ <aligny>center</aligny>
+ <font>font13</font>
+ <textcolor>blue</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <scrollout>false</scrollout>
+ <pauseatend>1000</pauseatend>
+ </control>
+ <control type="textbox">
+ <description>Description Value for TV Show</description>
+ <posx>10</posx>
+ <posy>270</posy>
+ <width>290</width>
+ <height>280</height>
+ <font>font12</font>
+ <align>justify</align>
+ <textcolor>white</textcolor>
+ <label>$INFO[Container(13).ListItem.Plot]</label>
+ <autoscroll time="2000" delay="3000" repeat="5000">Skin.HasSetting(AutoScroll)</autoscroll>
+ </control>
+ </control>
+ </control>
+ </include>
+
+ <include name="EPGTimelineView">
+ <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>555</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="35" 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="280">
+ <animation effect="fade" start="110" time="200">UnFocus</animation>
+ <control type="image" id="1">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>270</width>
+ <height>52</height>
+ <texture border="5">button-nofocus.png</texture>
+ </control>
+ <control type="label">
+ <posx>5</posx>
+ <posy>5</posy>
+ <width>40</width>
+ <height>35</height>
+ <font>font12</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>grey</textcolor>
+ <selectedcolor>grey</selectedcolor>
+ <info>ListItem.ChannelNumber</info>
+ </control>
+ <control type="image">
+ <posx>45</posx>
+ <posy>4</posy>
+ <width>45</width>
+ <height>44</height>
+ <texture>$INFO[ListItem.Icon]</texture>
+ </control>
+ <control type="label" id="1">
+ <posx>94</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="280">
+ <animation effect="fade" start="110" time="200">OnFocus</animation>
+ <control type="image" id="1">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>270</width>
+ <height>52</height>
+ <texture border="5">button-focus.png</texture>
+ </control>
+ <control type="label">
+ <posx>5</posx>
+ <posy>5</posy>
+ <width>40</width>
+ <height>35</height>
+ <font>font12</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <textcolor>grey</textcolor>
+ <selectedcolor>grey</selectedcolor>
+ <info>ListItem.ChannelNumber</info>
+ </control>
+ <control type="image">
+ <posx>45</posx>
+ <posy>4</posy>
+ <width>45</width>
+ <height>44</height>
+ <texture>$INFO[ListItem.Icon]</texture>
+ </control>
+ <control type="label" id="1">
+ <posx>94</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>
+ <aspectratio>stretch</aspectratio>
+ <texture border="3">epg-genres/$INFO[ListItem.Property(GenreType)].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 + !ListItem.IsRecording</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>
+ <aspectratio>stretch</aspectratio>
+ <texture border="3">epg-genres/$INFO[ListItem.Property(GenreType)].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 + !ListItem.IsRecording</visible>
+ </control>
+ </focusedlayout>
+ </control>
+ </control>
+ </include>
+
+ <include name="LiveTVTimersView">
+ <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>Channel header label</description>
+ <posx>0</posx>
+ <posy>20</posy>
+ <width>220</width>
+ <height>20</height>
+ <font>font13_title</font>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <align>center</align>
+ <aligny>center</aligny>
+ <label>19029</label>
+ </control>
+ <control type="label">
+ <description>Title header label</description>
+ <posx>220</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>580</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>31501</label>
+ </control>
+ <control type="label">
+ <description>Status header label</description>
+ <posx>940</posx>
+ <posy>20</posy>
+ <width>150</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>220</posx>
+ <posy>0</posy>
+ <width>300</width>
+ <height>40</height>
+ <colordiffuse>33FFFFFF</colordiffuse>
+ <texture border="5">StackFO.png</texture>
+ </control>
+ <control type="image">
+ <posx>940</posx>
+ <posy>0</posy>
+ <width>155</width>
+ <height>40</height>
+ <colordiffuse>33FFFFFF</colordiffuse>
+ <texture border="5">StackFO.png</texture>
+ </control>
+ <control type="image">
+ <posx>0</posx>
+ <posy>8</posy>
+ <width>50</width>
+ <height>26</height>
+ <visible>!IsEmpty(ListItem.Date)</visible>
+ <texture border="1">$INFO[ListItem.Icon]</texture>
+ </control>
+ <control type="label">
+ <posx>50</posx>
+ <posy>0</posy>
+ <width>150</width>
+ <height>40</height>
+ <font>font12</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <selectedcolor>selected</selectedcolor>
+ <info>ListItem.ChannelName</info>
+ </control>
+ <control type="label">
+ <posx>370</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>730</posx>
+ <posy>0</posy>
+ <width>400</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>1018</posx>
+ <posy>0</posy>
+ <width>170</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>220</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>940</posx>
+ <posy>0</posy>
+ <width>155</width>
+ <height>40</height>
+ <colordiffuse>33FFFFFF</colordiffuse>
+ <texture border="5">StackFO.png</texture>
+ <visible>!Control.HasFocus(14)</visible>
+ </control>
+ <control type="image">
+ <posx>220</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>940</posx>
+ <posy>0</posy>
+ <width>155</width>
+ <height>40</height>
+ <colordiffuse>88FFFFFF</colordiffuse>
+ <texture border="5">StackFO.png</texture>
+ <visible>Control.HasFocus(14)</visible>
+ </control>
+ <control type="image">
+ <posx>0</posx>
+ <posy>8</posy>
+ <width>50</width>
+ <height>26</height>
+ <visible>!IsEmpty(ListItem.Date)</visible>
+ <texture border="1">$INFO[ListItem.Icon]</texture>
+ </control>
+ <control type="label">
+ <posx>50</posx>
+ <posy>0</posy>
+ <width>150</width>
+ <height>40</height>
+ <font>font12</font>
+ <align>left</align>
+ <aligny>center</aligny>
+ <selectedcolor>selected</selectedcolor>
+ <info>ListItem.ChannelName</info>
+ </control>
+ <control type="label">
+ <posx>370</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>730</posx>
+ <posy>0</posy>
+ <width>400</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>1018</posx>
+ <posy>0</posy>
+ <width>150</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>
+ <showonepage>false</showonepage>
+ <orientation>vertical</orientation>
+ </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">
+ <animation effect="slide" start="0,0" end="-90,0" time="0" condition="system.getbool(input.enablemouse)">Conditional</animation>
+ <description>Page Count Label</description>
+ <posx>40r</posx>
+ <posy>53r</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>
+ </include>
+
+ <include name="LiveTVSearchView">
+ <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>Channel label</description>
+ <posx>0</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>290</posx>
+ <posy>20</posy>
+ <width>350</width>
+ <height>20</height>
+ <font>font13_title</font>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <align>left</align>
+ <aligny>center</aligny>
+ <label>369</label>
+ </control>
+ <control type="label">
+ <description>Time label</description>
+ <posx>920</posx>
+ <posy>20</posy>
+ <width>300</width>
+ <height>20</height>
+ <font>font13_title</font>
+ <textcolor>white</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <align>right</align>
+ <aligny>center</aligny>
+ <label>21820</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>0</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="image">
+ <posx>10</posx>
+ <posy>5</posy>
+ <width>30</width>
+ <height>30</height>
+ <info>ListItem.Icon</info>
+ </control>
+ <control type="label">
+ <posx>50</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>260</posx>
+ <posy>0</posy>
+ <width>650</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="label">
+ <posx>950</posx>
+ <posy>0</posy>
+ <width>500</width>
+ <height>40</height>
+ <font>font12</font>
+ <align>right</align>
+ <aligny>center</aligny>
+ <textcolor>grey2</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <info>ListItem.Date</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 + !ListItem.IsRecording</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>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>0</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="image">
+ <posx>10</posx>
+ <posy>5</posy>
+ <width>30</width>
+ <height>30</height>
+ <info>ListItem.Icon</info>
+ </control>
+ <control type="label">
+ <posx>50</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>260</posx>
+ <posy>0</posy>
+ <width>650</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="label">
+ <posx>950</posx>
+ <posy>0</posy>
+ <width>500</width>
+ <height>40</height>
+ <font>font12</font>
+ <align>right</align>
+ <aligny>center</aligny>
+ <textcolor>white</textcolor>
+ <selectedcolor>selected</selectedcolor>
+ <info>ListItem.Date</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 + !ListItem.IsRecording</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>36</onright>
+ <showonepage>false</showonepage>
+ <orientation>vertical</orientation>
+ </control>
+ </control>
+ <control type="label">
+ <animation effect="slide" start="0,0" end="-90,0" time="0" condition="system.getbool(input.enablemouse)">Conditional</animation>
+ <description>Page Count Label</description>
+ <posx>40r</posx>
+ <posy>53r</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>
+ </include>
+
+ <include name="LiveTVGuideChannelView">
+ <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>60</posy>
+ <width>1100</width>
+ <height>500</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 + !ListItem.IsRecording</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="100">
+ <control type="image">
+ <posx>0</posx>
+ <posy>1</posy>
+ <width>1100</width>
+ <height>98</height>
+ <colordiffuse>AAFFFFFF</colordiffuse>
+ <texture border="5">black-back2.png</texture>
+ </control>
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>1100</width>
+ <height>101</height>
+ <texture border="5">MenuItemNF.png</texture>
+ </control>
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>300</width>
+ <height>40</height>
+ <colordiffuse>AAFFFFFF</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>AAFFFFFF</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="textbox">
+ <description>Plot Value for TVShow</description>
+ <posx>50</posx>
+ <posy>40</posy>
+ <width>1000</width>
+ <height>60</height>
+ <font>font12</font>
+ <align>justify</align>
+ <textcolor>grey2</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <pagecontrol>-</pagecontrol>
+ <label>$INFO[ListItem.Plot]</label>
+ </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 + !ListItem.IsRecording</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>60</posy>
+ <width>25</width>
+ <height>500</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>
+ <showonepage>false</showonepage>
+ <orientation>vertical</orientation>
+ </control>
+ </control>
+ <control type="label">
+ <animation effect="slide" start="0,0" end="-90,0" time="0" condition="system.getbool(input.enablemouse)">Conditional</animation>
+ <description>Page Count Label</description>
+ <posx>40r</posx>
+ <posy>53r</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>
+ </include>
+
+ <include name="LiveTVGuideNowNextView">
+ <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>60</posy>
+ <width>1100</width>
+ <height>500</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 + !ListItem.IsRecording</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="100">
+ <control type="image">
+ <posx>0</posx>
+ <posy>1</posy>
+ <width>1100</width>
+ <height>98</height>
+ <colordiffuse>AAFFFFFF</colordiffuse>
+ <texture border="5">black-back2.png</texture>
+ </control>
+ <control type="image">
+ <posx>0</posx>
+ <posy>0</posy>
+ <width>1100</width>
+ <height>100</height>
+ <texture border="5">MenuItemNF.png</texture>
+ </control>
+ <control type="image">
+ <posx>100</posx>
+ <posy>0</posy>
+ <width>250</width>
+ <height>40</height>
+ <colordiffuse>AAFFFFFF</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>AAFFFFFF</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>white</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>white</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="textbox">
+ <description>Plot Value for TVShow</description>
+ <posx>50</posx>
+ <posy>40</posy>
+ <width>1000</width>
+ <height>60</height>
+ <font>font12</font>
+ <align>justify</align>
+ <textcolor>grey2</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <pagecontrol>-</pagecontrol>
+ <label>$INFO[ListItem.Plot]</label>
+ </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 + !ListItem.IsRecording</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>60</posy>
+ <width>25</width>
+ <height>500</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>
+ <showonepage>false</showonepage>
+ <orientation>vertical</orientation>
+ </control>
+ </control>
+ <control type="label">
+ <animation effect="slide" start="0,0" end="-90,0" time="0" condition="system.getbool(input.enablemouse)">Conditional</animation>
+ <description>Page Count Label</description>
+ <posx>40r</posx>
+ <posy>53r</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>
+ </include>
+</includes> \ No newline at end of file
diff --git a/addons/skin.confluence/720p/defaults.xml b/addons/skin.confluence/720p/defaults.xml
index ae5c683a64..512b94b181 100644
--- a/addons/skin.confluence/720p/defaults.xml
+++ b/addons/skin.confluence/720p/defaults.xml
@@ -125,6 +125,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 d7606ddd73..6fa3b0cedd 100644
--- a/addons/skin.confluence/720p/includes.xml
+++ b/addons/skin.confluence/720p/includes.xml
@@ -6,6 +6,7 @@
<include file="ViewsPictures.xml" />
<include file="ViewsAddonBrowser.xml" />
<include file="ViewsLiveTV.xml" />
+ <include file="ViewsPVR.xml" />
<include file="IncludesCodecFlagging.xml" />
<include file="IncludesHomeRecentlyAdded.xml" />
<include file="IncludesHomeMenuItems.xml" />
@@ -28,7 +29,7 @@
<texture>black-back.png</texture>
<animation effect="fade" time="400">Visible</animation>
<animation effect="fade" time="200">Hidden</animation>
- <visible>Window.IsActive(MovieInformation) | Window.IsActive(MusicInformation) | Window.IsActive(SongInformation) | Window.IsActive(FileBrowser) | Window.IsActive(TextViewer) | Window.IsActive(AddonSettings) | Window.IsActive(ContentSettings) | Window.IsActive(SelectDialog) | Window.IsActive(FileStackingDialog) | Window.IsActive(MediaSource) | Window.IsActive(PictureInfo) | Window.IsActive(PlayerControls) | Window.IsActive(VirtualKeyboard) | Window.IsActive(NumericInput) | Window.IsActive(ProfileSettings) | Window.IsActive(LockSettings) | Window.IsActive(SmartPlaylistEditor) | Window.IsActive(SmartPlaylistRule) | Window.IsActive(script-RSS_Editor-rssEditor.xml) | Window.IsActive(script-RSS_Editor-setEditor.xml) | Window.IsActive(AddonInformation) | Window.IsActive(Peripherals) | Window.IsActive(PeripheralSettings) | Window.IsActive(script-XBMC_Lyrics-main.xml)</visible>
+ <visible>Window.IsActive(MovieInformation) | Window.IsActive(MusicInformation) | Window.IsActive(SongInformation) | Window.IsActive(FileBrowser) | Window.IsActive(TextViewer) | Window.IsActive(AddonSettings) | Window.IsActive(ContentSettings) | Window.IsActive(SelectDialog) | Window.IsActive(FileStackingDialog) | Window.IsActive(MediaSource) | Window.IsActive(PictureInfo) | Window.IsActive(PlayerControls) | Window.IsActive(VirtualKeyboard) | Window.IsActive(NumericInput) | Window.IsActive(ProfileSettings) | Window.IsActive(LockSettings) | Window.IsActive(SmartPlaylistEditor) | Window.IsActive(SmartPlaylistRule) | Window.IsActive(script-RSS_Editor-rssEditor.xml) | Window.IsActive(script-RSS_Editor-setEditor.xml) | Window.IsActive(AddonInformation) | Window.IsActive(Peripherals) | Window.IsActive(PeripheralSettings) | Window.IsActive(script-XBMC_Lyrics-main.xml) | Window.IsActive(PVRChannelManager)</visible>
</control>
</include>
<include name="WindowTitleCommons">
@@ -302,6 +303,19 @@
<shadowcolor>black</shadowcolor>
<visible>Player.HasVideo + VideoPlayer.Content(MusicVideos)</visible>
</control>
+ <control type="label">
+ <posx>85</posx>
+ <posy>30r</posy>
+ <width>700</width>
+ <height>20</height>
+ <label>$INFO[VideoPlayer.ChannelName]$INFO[VideoPlayer.ChannelNumber, - ([COLOR=blue],[/COLOR])]</label>
+ <align>left</align>
+ <aligny>center</aligny>
+ <font>font12</font>
+ <textcolor>grey</textcolor>
+ <shadowcolor>black</shadowcolor>
+ <visible>Player.HasVideo + VideoPlayer.Content(LiveTV)</visible>
+ </control>
</control>
</include>
<include name="CommonPageCount">
@@ -572,8 +586,74 @@
<description>Fake Button to fix Player Controls Navigation</description>
<visible>false</visible>
</control>
+ <control type="group" id="9006">
+ <width>250</width>
+ <height>45</height>
+ <visible>VideoPlayer.Content(LiveTV)</visible>
+ <include>VisibleFadeEffect</include>
+ <control type="button" id="600">
+ <posx>20</posx>
+ <posy>2</posy>
+ <width>39</width>
+ <height>39</height>
+ <label>-</label>
+ <texturefocus>OSDChannelUPFO.png</texturefocus>
+ <texturenofocus>OSDChannelUPNF.png</texturenofocus>
+ <onleft>50</onleft>
+ <onright>601</onright>
+ <onup>610</onup>
+ <ondown>611</ondown>
+ <onclick>XBMC.PlayerControl(Previous)</onclick>
+ </control>
+ <control type="button" id="601">
+ <posx>60</posx>
+ <posy>2</posy>
+ <width>39</width>
+ <height>39</height>
+ <label>-</label>
+ <texturefocus>OSDChannelDownFO.png</texturefocus>
+ <texturenofocus>OSDChannelDownNF.png</texturenofocus>
+ <onleft>600</onleft>
+ <onright>603</onright>
+ <onup>610</onup>
+ <ondown>611</ondown>
+ <onclick>XBMC.PlayerControl(Next)</onclick>
+ </control>
+ <control type="button" id="603">
+ <posx>100</posx>
+ <posy>2</posy>
+ <width>39</width>
+ <height>39</height>
+ <label>-</label>
+ <texturefocus>OSDStopFO.png</texturefocus>
+ <texturenofocus>OSDStopNF.png</texturenofocus>
+ <onleft>601</onleft>
+ <onright>604</onright>
+ <onup>610</onup>
+ <ondown>611</ondown>
+ <onclick>down</onclick>
+ <onclick>XBMC.PlayerControl(Stop)</onclick>
+ </control>
+ <control type="button" id="604">
+ <posx>180</posx>
+ <posy>2</posy>
+ <width>39</width>
+ <height>39</height>
+ <label>-</label>
+ <texturefocus>OSDRecordOffFO.png</texturefocus>
+ <texturenofocus>OSDRecordOffNF.png</texturenofocus>
+ <onleft>603</onleft>
+ <onright>50</onright>
+ <onup>610</onup>
+ <ondown>611</ondown>
+ <onclick>XBMC.PlayerControl(record)</onclick>
+ <enable>Player.CanRecord</enable>
+ <animation effect="fade" start="100" end="30" time="100" condition="!Player.CanRecord">Conditional</animation>
+ </control>
+ </control>
<control type="group" id="9005">
<visible>[Player.HasAudio | Player.HasVideo]</visible>
+ <visible>!VideoPlayer.Content(LiveTV)</visible>
<include>VisibleFadeEffect</include>
<width>250</width>
<height>45</height>
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/Dutch/strings.po b/addons/skin.confluence/language/Dutch/strings.po
index edbb654da0..d567de4d13 100644
--- a/addons/skin.confluence/language/Dutch/strings.po
+++ b/addons/skin.confluence/language/Dutch/strings.po
@@ -567,6 +567,46 @@ msgctxt "#31421"
msgid "Select your XBMC user Profile[CR]to login and continue"
msgstr "Selecteer uw XBMC-gebruikersprofiel[CR]om in te loggen"
+msgctxt "#31500"
+msgid "Recording Timers"
+msgstr "Geplande opnames"
+
+msgctxt "#31501"
+msgid "Scheduled Time"
+msgstr "Opname starttijd"
+
+msgctxt "#31502"
+msgid "Live TV"
+msgstr "Televisie"
+
+msgctxt "#31503"
+msgid "Add Group"
+msgstr "Groep toevoegen"
+
+msgctxt "#31504"
+msgid "Rename Group"
+msgstr "Groep hernoemen"
+
+msgctxt "#31505"
+msgid "Delete Group"
+msgstr "Groep verwijderen"
+
+msgctxt "#31506"
+msgid "Available[CR]Groups"
+msgstr "Beschikbare[CR]Groepen"
+
+msgctxt "#31509"
+msgid "Channel Group"
+msgstr "Groep"
+
+msgctxt "#31510"
+msgid "Timer Set"
+msgstr "Geplande opname ingesteld"
+
+msgctxt "#31511"
+msgid "Channel Options"
+msgstr "Kanaal opties"
+
msgctxt "#31900"
msgid "Weather Maps"
msgstr "Weer Kaarten"
diff --git a/addons/skin.confluence/language/English/strings.po b/addons/skin.confluence/language/English/strings.po
index 7e51873d12..a074d74351 100644
--- a/addons/skin.confluence/language/English/strings.po
+++ b/addons/skin.confluence/language/English/strings.po
@@ -513,17 +513,64 @@ msgid "[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse f
msgstr ""
msgctxt "#31409"
+msgid "[B]CONFIGURE TV SETTINGS[/B][CR][CR]Change fullscreen info · Manage EPG data settings"
+msgstr ""
+
+msgctxt "#31410"
msgid "[B]CONFIGURE SERVICE SETTINGS[/B][CR][CR]Setup control of XBMC via UPnP and HTTP · Configure file sharing[CR]Enable Zeroconf · Configure AirPlay"
msgstr ""
-#empty strings from id 31410 to 31420
+#empty strings from id 31411 to 31420
msgctxt "#31421"
msgid "Select your XBMC user Profile[CR]to login and continue"
msgstr ""
+#PVR labels
+#empty strings from id 31422 to 31499
+
+msgctxt "#31500"
+msgid "Recording Timers"
+msgstr ""
+
+msgctxt "#31501"
+msgid "Scheduled Time"
+msgstr ""
+
+msgctxt "#31502"
+msgid "Live TV"
+msgstr ""
+
+msgctxt "#31503"
+msgid "Add Group"
+msgstr ""
+
+msgctxt "#31504"
+msgid "Rename Group"
+msgstr ""
+
+msgctxt "#31505"
+msgid "Delete Group"
+msgstr ""
+
+msgctxt "#31506"
+msgid "Available[CR]Groups"
+msgstr ""
+
+msgctxt "#31509"
+msgid "Channel Group"
+msgstr ""
+
+msgctxt "#31510"
+msgid "Timer Set"
+msgstr ""
+
+msgctxt "#31511"
+msgid "Channel Options"
+msgstr ""
+
#Weather plugin
-#empty strings from id 31422 to 31899
+#empty strings from id 31512 to 31899
msgctxt "#31901"
msgid "36 Hour Forecast"
diff --git a/addons/skin.confluence/language/Finnish/strings.po b/addons/skin.confluence/language/Finnish/strings.po
index 133c8685a8..a02ed9a5f9 100644
--- a/addons/skin.confluence/language/Finnish/strings.po
+++ b/addons/skin.confluence/language/Finnish/strings.po
@@ -558,6 +558,10 @@ msgid "[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse f
msgstr "[B]Muokkaa lisäosia[/B][CR][CR]Hallitse asennettuja lisäosia · Valitse ja asenna lisäosia xbmc.org:sta[CR]Muokkaa lisäosien asetuksia"
msgctxt "#31409"
+msgid "[B]CONFIGURE TV SETTINGS[/B][CR][CR]Change fullscreen info · Manage EPG data settings"
+msgstr "[B]Muokkaa TV-asetuksia[/B][CR][CR]Muokkaa kokoruudun tietoja · Hallitse ohjelmaoppaan asetuksia"
+
+msgctxt "#31410"
msgid "[B]CONFIGURE SERVICE SETTINGS[/B][CR][CR]Setup control of XBMC via UPnP and HTTP · Configure file sharing[CR]Enable Zeroconf · Configure AirPlay"
msgstr ""
@@ -565,6 +569,46 @@ msgctxt "#31421"
msgid "Select your XBMC user Profile[CR]to login and continue"
msgstr "Valitse XBMC-käyttäjäprofiili[CR]kirjautuaksesi sisään"
+msgctxt "#31500"
+msgid "Recording Timers"
+msgstr "Nauhoitusajastukset"
+
+msgctxt "#31501"
+msgid "Scheduled Time"
+msgstr "Kellonaika"
+
+msgctxt "#31502"
+msgid "Live TV"
+msgstr "TV-lähetys"
+
+msgctxt "#31503"
+msgid "Add Group"
+msgstr "Lisää ryhmä"
+
+msgctxt "#31504"
+msgid "Rename Group"
+msgstr "Muuta ryhmän nimeä"
+
+msgctxt "#31505"
+msgid "Delete Group"
+msgstr "Poista ryhmä"
+
+msgctxt "#31506"
+msgid "Available[CR]Groups"
+msgstr "Saatavilla olevat[CR]ryhmät"
+
+msgctxt "#31509"
+msgid "Channel Group"
+msgstr "Kanavaryhmä"
+
+msgctxt "#31510"
+msgid "Timer Set"
+msgstr "Ajastettu"
+
+msgctxt "#31511"
+msgid "Channel Options"
+msgstr "Kanavan valinnat"
+
msgctxt "#31900"
msgid "Weather Maps"
msgstr "Sääkartat"
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/OSDRecordOff.png b/addons/skin.confluence/media/OSDRecordOff.png
deleted file mode 100644
index cb73c77605..0000000000
--- a/addons/skin.confluence/media/OSDRecordOff.png
+++ /dev/null
Binary files differ
diff --git a/addons/skin.confluence/media/OSDRecordFO.png b/addons/skin.confluence/media/OSDRecordOffFO.png
index fd2bb18fa9..fd2bb18fa9 100644
--- a/addons/skin.confluence/media/OSDRecordFO.png
+++ b/addons/skin.confluence/media/OSDRecordOffFO.png
Binary files differ
diff --git a/addons/skin.confluence/media/OSDRecordNF.png b/addons/skin.confluence/media/OSDRecordOffNF.png
index db3d5753e1..db3d5753e1 100644
--- a/addons/skin.confluence/media/OSDRecordNF.png
+++ b/addons/skin.confluence/media/OSDRecordOffNF.png
Binary files differ
diff --git a/addons/skin.confluence/media/OSDRecord2.png b/addons/skin.confluence/media/OSDRecordOnFO.png
index cb4fcf9edf..cb4fcf9edf 100644
--- a/addons/skin.confluence/media/OSDRecord2.png
+++ b/addons/skin.confluence/media/OSDRecordOnFO.png
Binary files differ
diff --git a/addons/skin.confluence/media/OSDRecordOnNF.png b/addons/skin.confluence/media/OSDRecordOnNF.png
new file mode 100644
index 0000000000..b3358180db
--- /dev/null
+++ b/addons/skin.confluence/media/OSDRecordOnNF.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/epg-genres/0.png b/addons/skin.confluence/media/epg-genres/0.png
new file mode 100644
index 0000000000..80c6192880
--- /dev/null
+++ b/addons/skin.confluence/media/epg-genres/0.png
Binary files differ
diff --git a/addons/skin.confluence/media/epg-genres/112.png b/addons/skin.confluence/media/epg-genres/112.png
new file mode 100644
index 0000000000..7701fc6fb8
--- /dev/null
+++ b/addons/skin.confluence/media/epg-genres/112.png
Binary files differ
diff --git a/addons/skin.confluence/media/epg-genres/128.png b/addons/skin.confluence/media/epg-genres/128.png
new file mode 100644
index 0000000000..3071d4e6af
--- /dev/null
+++ b/addons/skin.confluence/media/epg-genres/128.png
Binary files differ
diff --git a/addons/skin.confluence/media/epg-genres/144.png b/addons/skin.confluence/media/epg-genres/144.png
new file mode 100644
index 0000000000..a9325a699e
--- /dev/null
+++ b/addons/skin.confluence/media/epg-genres/144.png
Binary files differ
diff --git a/addons/skin.confluence/media/epg-genres/16.png b/addons/skin.confluence/media/epg-genres/16.png
new file mode 100644
index 0000000000..ffaae9eff4
--- /dev/null
+++ b/addons/skin.confluence/media/epg-genres/16.png
Binary files differ
diff --git a/addons/skin.confluence/media/epg-genres/160.png b/addons/skin.confluence/media/epg-genres/160.png
new file mode 100644
index 0000000000..8d825ab34b
--- /dev/null
+++ b/addons/skin.confluence/media/epg-genres/160.png
Binary files differ
diff --git a/addons/skin.confluence/media/epg-genres/176.png b/addons/skin.confluence/media/epg-genres/176.png
new file mode 100644
index 0000000000..7ae6320ab2
--- /dev/null
+++ b/addons/skin.confluence/media/epg-genres/176.png
Binary files differ
diff --git a/addons/skin.confluence/media/epg-genres/192.png b/addons/skin.confluence/media/epg-genres/192.png
new file mode 100644
index 0000000000..80c6192880
--- /dev/null
+++ b/addons/skin.confluence/media/epg-genres/192.png
Binary files differ
diff --git a/addons/skin.confluence/media/epg-genres/208.png b/addons/skin.confluence/media/epg-genres/208.png
new file mode 100644
index 0000000000..80c6192880
--- /dev/null
+++ b/addons/skin.confluence/media/epg-genres/208.png
Binary files differ
diff --git a/addons/skin.confluence/media/epg-genres/224.png b/addons/skin.confluence/media/epg-genres/224.png
new file mode 100644
index 0000000000..80c6192880
--- /dev/null
+++ b/addons/skin.confluence/media/epg-genres/224.png
Binary files differ
diff --git a/addons/skin.confluence/media/epg-genres/240.png b/addons/skin.confluence/media/epg-genres/240.png
new file mode 100644
index 0000000000..80c6192880
--- /dev/null
+++ b/addons/skin.confluence/media/epg-genres/240.png
Binary files differ
diff --git a/addons/skin.confluence/media/epg-genres/32.png b/addons/skin.confluence/media/epg-genres/32.png
new file mode 100644
index 0000000000..be2bc8ee5f
--- /dev/null
+++ b/addons/skin.confluence/media/epg-genres/32.png
Binary files differ
diff --git a/addons/skin.confluence/media/epg-genres/48.png b/addons/skin.confluence/media/epg-genres/48.png
new file mode 100644
index 0000000000..57b4dee631
--- /dev/null
+++ b/addons/skin.confluence/media/epg-genres/48.png
Binary files differ
diff --git a/addons/skin.confluence/media/epg-genres/64.png b/addons/skin.confluence/media/epg-genres/64.png
new file mode 100644
index 0000000000..d85eb051b9
--- /dev/null
+++ b/addons/skin.confluence/media/epg-genres/64.png
Binary files differ
diff --git a/addons/skin.confluence/media/epg-genres/80.png b/addons/skin.confluence/media/epg-genres/80.png
new file mode 100644
index 0000000000..cdd6da3b1d
--- /dev/null
+++ b/addons/skin.confluence/media/epg-genres/80.png
Binary files differ
diff --git a/addons/skin.confluence/media/epg-genres/96.png b/addons/skin.confluence/media/epg-genres/96.png
new file mode 100644
index 0000000000..ba92ae36d7
--- /dev/null
+++ b/addons/skin.confluence/media/epg-genres/96.png
Binary files differ
diff --git a/addons/skin.confluence/media/epg-genres/genre-numbers.txt b/addons/skin.confluence/media/epg-genres/genre-numbers.txt
new file mode 100644
index 0000000000..031732b9d7
--- /dev/null
+++ b/addons/skin.confluence/media/epg-genres/genre-numbers.txt
@@ -0,0 +1,18 @@
+Genre Numbers set internally by XBMC
+
+0 = other/unknown
+16 = moviedrama
+32 = news
+48 = show
+64 = sports
+80 = child
+96 = music
+112 = arts
+128 = social
+144 = science
+160 = hobby
+176 = special
+192 = other/unknown
+208 = other/unknown
+224 = other/unknown
+240 = other/unknown
diff --git a/addons/skin.confluence/media/gradient.png b/addons/skin.confluence/media/gradient.png
new file mode 100644
index 0000000000..7db158f2ea
--- /dev/null
+++ b/addons/skin.confluence/media/gradient.png
Binary files differ
diff --git a/addons/skin.confluence/media/home-power-inhibit-FO.png b/addons/skin.confluence/media/home-power-inhibit-FO.png
new file mode 100644
index 0000000000..3656ffa5de
--- /dev/null
+++ b/addons/skin.confluence/media/home-power-inhibit-FO.png
Binary files differ
diff --git a/addons/skin.confluence/media/home-power-inhibit.png b/addons/skin.confluence/media/home-power-inhibit.png
new file mode 100644
index 0000000000..b90d844202
--- /dev/null
+++ b/addons/skin.confluence/media/home-power-inhibit.png
Binary files differ