From 4e9cb43928abbddd5d683cb5d9d66c72b3bbf88e Mon Sep 17 00:00:00 2001 From: Lars Op den Kamp Date: Sat, 1 Sep 2012 17:12:07 +0200 Subject: [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 --- addons/library.xbmc.addon/dlfcn-win32.cpp | 263 +++ addons/library.xbmc.addon/dlfcn-win32.h | 46 + addons/library.xbmc.addon/libXBMC_addon.h | 182 ++ addons/library.xbmc.gui/libXBMC_gui.h | 310 +++ addons/library.xbmc.pvr/libXBMC_pvr.h | 170 ++ addons/skin.confluence/720p/DialogButtonMenu.xml | 40 +- .../720p/DialogExtendedProgressBar.xml | 48 + .../720p/DialogPVRChannelManager.xml | 560 +++++ .../skin.confluence/720p/DialogPVRChannelsOSD.xml | 359 +++ .../skin.confluence/720p/DialogPVRGroupManager.xml | 433 ++++ addons/skin.confluence/720p/DialogPVRGuideInfo.xml | 226 ++ addons/skin.confluence/720p/DialogPVRGuideOSD.xml | 253 +++ .../skin.confluence/720p/DialogPVRGuideSearch.xml | 456 ++++ .../720p/DialogPVRRecordingInfo.xml | 267 +++ .../720p/DialogPVRTimerSettings.xml | 155 ++ addons/skin.confluence/720p/Home.xml | 454 +++- .../720p/IncludesBackgroundBuilding.xml | 99 +- .../skin.confluence/720p/IncludesHomeMenuItems.xml | 44 +- addons/skin.confluence/720p/MusicOSD.xml | 6 +- addons/skin.confluence/720p/MyPVR.xml | 258 +++ addons/skin.confluence/720p/PlayerControls.xml | 149 +- addons/skin.confluence/720p/Settings.xml | 18 +- addons/skin.confluence/720p/SettingsSystemInfo.xml | 15 + addons/skin.confluence/720p/VideoFullScreen.xml | 324 ++- addons/skin.confluence/720p/VideoOSD.xml | 207 +- addons/skin.confluence/720p/ViewsPVR.xml | 2392 ++++++++++++++++++++ addons/skin.confluence/720p/defaults.xml | 1 + addons/skin.confluence/720p/includes.xml | 82 +- addons/skin.confluence/backgrounds/tv.jpg | Bin 0 -> 576461 bytes addons/skin.confluence/language/Dutch/strings.po | 40 + addons/skin.confluence/language/English/strings.po | 51 +- addons/skin.confluence/language/Finnish/strings.po | 44 + addons/skin.confluence/media/OSDChannelDownFO.png | Bin 0 -> 4693 bytes addons/skin.confluence/media/OSDChannelDownNF.png | Bin 0 -> 3686 bytes addons/skin.confluence/media/OSDChannelListFO.png | Bin 0 -> 4766 bytes addons/skin.confluence/media/OSDChannelListNF.png | Bin 0 -> 3654 bytes addons/skin.confluence/media/OSDChannelUPFO.png | Bin 0 -> 4643 bytes addons/skin.confluence/media/OSDChannelUPNF.png | Bin 0 -> 3698 bytes addons/skin.confluence/media/OSDRecord2.png | Bin 5389 -> 0 bytes addons/skin.confluence/media/OSDRecordFO.png | Bin 5416 -> 0 bytes addons/skin.confluence/media/OSDRecordNF.png | Bin 865 -> 0 bytes addons/skin.confluence/media/OSDRecordOff.png | Bin 829 -> 0 bytes addons/skin.confluence/media/OSDRecordOffFO.png | Bin 0 -> 5416 bytes addons/skin.confluence/media/OSDRecordOffNF.png | Bin 0 -> 865 bytes addons/skin.confluence/media/OSDRecordOnFO.png | Bin 0 -> 5389 bytes addons/skin.confluence/media/OSDRecordOnNF.png | Bin 0 -> 1861 bytes addons/skin.confluence/media/OSDTeleTextFO.png | Bin 0 -> 4838 bytes addons/skin.confluence/media/OSDTeleTextNF.png | Bin 0 -> 3654 bytes addons/skin.confluence/media/OSDepgFO.png | Bin 0 -> 4842 bytes addons/skin.confluence/media/OSDepgNF.png | Bin 0 -> 3648 bytes addons/skin.confluence/media/PVR-HasTimer.png | Bin 0 -> 3138 bytes addons/skin.confluence/media/PVR-IsRecording.png | Bin 0 -> 3655 bytes addons/skin.confluence/media/StackNF.png | Bin 2894 -> 2897 bytes addons/skin.confluence/media/epg-genres/0.png | Bin 0 -> 2849 bytes addons/skin.confluence/media/epg-genres/112.png | Bin 0 -> 2849 bytes addons/skin.confluence/media/epg-genres/128.png | Bin 0 -> 2849 bytes addons/skin.confluence/media/epg-genres/144.png | Bin 0 -> 2849 bytes addons/skin.confluence/media/epg-genres/16.png | Bin 0 -> 2849 bytes addons/skin.confluence/media/epg-genres/160.png | Bin 0 -> 2849 bytes addons/skin.confluence/media/epg-genres/176.png | Bin 0 -> 2849 bytes addons/skin.confluence/media/epg-genres/192.png | Bin 0 -> 2849 bytes addons/skin.confluence/media/epg-genres/208.png | Bin 0 -> 2849 bytes addons/skin.confluence/media/epg-genres/224.png | Bin 0 -> 2849 bytes addons/skin.confluence/media/epg-genres/240.png | Bin 0 -> 2849 bytes addons/skin.confluence/media/epg-genres/32.png | Bin 0 -> 2847 bytes addons/skin.confluence/media/epg-genres/48.png | Bin 0 -> 2849 bytes addons/skin.confluence/media/epg-genres/64.png | Bin 0 -> 2849 bytes addons/skin.confluence/media/epg-genres/80.png | Bin 0 -> 2849 bytes addons/skin.confluence/media/epg-genres/96.png | Bin 0 -> 2849 bytes .../media/epg-genres/genre-numbers.txt | 18 + addons/skin.confluence/media/gradient.png | Bin 0 -> 3585 bytes .../media/home-power-inhibit-FO.png | Bin 0 -> 7098 bytes .../skin.confluence/media/home-power-inhibit.png | Bin 0 -> 6502 bytes 73 files changed, 7848 insertions(+), 122 deletions(-) create mode 100644 addons/library.xbmc.addon/dlfcn-win32.cpp create mode 100644 addons/library.xbmc.addon/dlfcn-win32.h create mode 100644 addons/library.xbmc.addon/libXBMC_addon.h create mode 100644 addons/library.xbmc.gui/libXBMC_gui.h create mode 100644 addons/library.xbmc.pvr/libXBMC_pvr.h create mode 100644 addons/skin.confluence/720p/DialogExtendedProgressBar.xml create mode 100644 addons/skin.confluence/720p/DialogPVRChannelManager.xml create mode 100644 addons/skin.confluence/720p/DialogPVRChannelsOSD.xml create mode 100644 addons/skin.confluence/720p/DialogPVRGroupManager.xml create mode 100644 addons/skin.confluence/720p/DialogPVRGuideInfo.xml create mode 100644 addons/skin.confluence/720p/DialogPVRGuideOSD.xml create mode 100644 addons/skin.confluence/720p/DialogPVRGuideSearch.xml create mode 100644 addons/skin.confluence/720p/DialogPVRRecordingInfo.xml create mode 100644 addons/skin.confluence/720p/DialogPVRTimerSettings.xml create mode 100644 addons/skin.confluence/720p/MyPVR.xml create mode 100644 addons/skin.confluence/720p/ViewsPVR.xml create mode 100644 addons/skin.confluence/backgrounds/tv.jpg create mode 100644 addons/skin.confluence/media/OSDChannelDownFO.png create mode 100644 addons/skin.confluence/media/OSDChannelDownNF.png create mode 100644 addons/skin.confluence/media/OSDChannelListFO.png create mode 100644 addons/skin.confluence/media/OSDChannelListNF.png create mode 100644 addons/skin.confluence/media/OSDChannelUPFO.png create mode 100644 addons/skin.confluence/media/OSDChannelUPNF.png delete mode 100644 addons/skin.confluence/media/OSDRecord2.png delete mode 100644 addons/skin.confluence/media/OSDRecordFO.png delete mode 100644 addons/skin.confluence/media/OSDRecordNF.png delete mode 100644 addons/skin.confluence/media/OSDRecordOff.png create mode 100644 addons/skin.confluence/media/OSDRecordOffFO.png create mode 100644 addons/skin.confluence/media/OSDRecordOffNF.png create mode 100644 addons/skin.confluence/media/OSDRecordOnFO.png create mode 100644 addons/skin.confluence/media/OSDRecordOnNF.png create mode 100644 addons/skin.confluence/media/OSDTeleTextFO.png create mode 100644 addons/skin.confluence/media/OSDTeleTextNF.png create mode 100644 addons/skin.confluence/media/OSDepgFO.png create mode 100644 addons/skin.confluence/media/OSDepgNF.png create mode 100644 addons/skin.confluence/media/PVR-HasTimer.png create mode 100644 addons/skin.confluence/media/PVR-IsRecording.png create mode 100644 addons/skin.confluence/media/epg-genres/0.png create mode 100644 addons/skin.confluence/media/epg-genres/112.png create mode 100644 addons/skin.confluence/media/epg-genres/128.png create mode 100644 addons/skin.confluence/media/epg-genres/144.png create mode 100644 addons/skin.confluence/media/epg-genres/16.png create mode 100644 addons/skin.confluence/media/epg-genres/160.png create mode 100644 addons/skin.confluence/media/epg-genres/176.png create mode 100644 addons/skin.confluence/media/epg-genres/192.png create mode 100644 addons/skin.confluence/media/epg-genres/208.png create mode 100644 addons/skin.confluence/media/epg-genres/224.png create mode 100644 addons/skin.confluence/media/epg-genres/240.png create mode 100644 addons/skin.confluence/media/epg-genres/32.png create mode 100644 addons/skin.confluence/media/epg-genres/48.png create mode 100644 addons/skin.confluence/media/epg-genres/64.png create mode 100644 addons/skin.confluence/media/epg-genres/80.png create mode 100644 addons/skin.confluence/media/epg-genres/96.png create mode 100644 addons/skin.confluence/media/epg-genres/genre-numbers.txt create mode 100644 addons/skin.confluence/media/gradient.png create mode 100644 addons/skin.confluence/media/home-power-inhibit-FO.png create mode 100644 addons/skin.confluence/media/home-power-inhibit.png (limited to 'addons') 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 +#include + +#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: + * "": + */ + 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 */ + 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 +#include +#include +#include +#include + +#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 // 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 +#include +#include +#include +#include +#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 +#include +#include +#include +#include +#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 @@ PreviousMenu DialogCloseButton-focus.png DialogCloseButton.png - 13 + 2 13 - 9 + 13 2 system.getbool(input.enablemouse) @@ -222,7 +222,7 @@ font13 System.HasLocks - + 340 70 System.HasAlarm(shutdowntimer) @@ -246,7 +246,39 @@ - + + Inhibit idle shutdown + 340 + 40 + grey2 + white + center + 290 + ShutdownButtonFocus.png + ShutdownButtonNoFocus.png + XBMC.InhibitIdleShutdown(true) + no + font13 + + System.HasShutdown +!System.IsInhibit + + + Allow idle shutdown + 340 + 40 + grey2 + white + center + 290 + ShutdownButtonFocus.png + ShutdownButtonNoFocus.png + XBMC.InhibitIdleShutdown(false) + no + font13 + + System.HasShutdown + System.IsInhibit + + background bottom image 0 340 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 @@ + + + WindowOpen + WindowClose + + + 720 + 0 + conditional + conditional + + 0 + -10 + 400 + 70 + InfoMessagePanel.png + + + Header Label + 15 + 4 + 370 + 18 + font10_title + selected + left + center + + + Title Label + 15 + 20 + 370 + 20 + font10 + left + center + + + progress control + 15 + 42 + 370 + 8 + + + + \ 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 @@ + + 20 + no + + 1 + 190 + 30 + + dialogeffect + + + + 0 + 0 + 900 + 660 + DialogBack.png + + + Dialog Header image + 40 + 16 + 820 + 40 + dialogheader.png + + + header label + 40 + 20 + 820 + 30 + font13_title + + center + center + selected + black + IsEmpty(Window.Property(IsRadio)) + + + header label + 40 + 20 + 820 + 30 + font13_title + + center + center + selected + black + !IsEmpty(Window.Property(IsRadio)) + + + Close Window button + 810 + 15 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 10 + 10 + 10 + 10 + system.getbool(input.enablemouse) + + + 20 + 70 + + 0 + 5 + 25 + 470 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 9002 + 20 + false + vertical + + + 25 + 0 + 430 + 475 + button-nofocus.png + + + 30 + 5 + 420 + 470 + 20 + 20 + 60 + 9002 + 60 + 200 + + + 0 + 0 + 420 + 40 + button-nofocus.png + + + 5 + 5 + 30 + 30 + $INFO[ListItem.Property(Icon)] + ListItem.Property(ActiveChannel) + + + 5 + 5 + 30 + 30 + 77FFFFFF + $INFO[ListItem.Property(Icon)] + !ListItem.Property(ActiveChannel) + + + 45 + 0 + 335 + 40 + font12 + left + center + white + selected + + ListItem.Property(ActiveChannel) + + + 45 + 0 + 335 + 40 + font12 + left + center + grey3 + selected + + !ListItem.Property(ActiveChannel) + + + 390 + 10 + 20 + 20 + OverlayWatched.png + ListItem.Property(Changed) + + + + + 0 + 0 + 420 + 60 + button-focus2.png + conditional + + + 5 + 5 + 30 + 30 + $INFO[ListItem.Property(Icon)] + ListItem.Property(ActiveChannel) + + + 5 + 5 + 30 + 30 + 77FFFFFF + $INFO[ListItem.Property(Icon)] + !ListItem.Property(ActiveChannel) + + + 45 + 0 + 335 + 40 + font12 + left + center + white + selected + + ListItem.Property(ActiveChannel) + + + 45 + 0 + 335 + 40 + font12 + left + center + grey3 + selected + + !ListItem.Property(ActiveChannel) + + + 390 + 10 + 20 + 20 + OverlayWatched.png + ListItem.Property(Changed) + + + 5 + 30 + 410 + 30 + font12 + left + center + grey2 + selected + + + + + + Page Count Label + 30 + 485 + 420 + 20 + font12 + grey + false + center + center + + + + + + 490 + 70 + + channel options Header + 0 + 0 + 380 + 20 + font12 + + left + center + blue + black + + + Channel activated + 0 + 25 + 380 + 35 + font12 + white + white + black + left + center + button-focus2.png + button-nofocus.png + no + + 20 + 60 + 9000 + 8 + + + Channel name + 0 + 65 + 380 + 35 + font12 + white + white + black + button-focus2.png + button-nofocus.png + + 60 + 20 + 7 + 9 + + + Channel logo Button + 0 + 105 + 380 + 35 + font12 + button-focus2.png + button-nofocus.png + + 20 + 60 + 8 + 12 + + + Current Channel Icon + 345 + 107 + 30 + 30 + keep + ListItem.Property(Icon) + + + EPG activated + 0 + 145 + 380 + 35 + font12 + white + white + black + left + center + button-focus2.png + button-nofocus.png + no + + 20 + 60 + 9 + 13 + + + EPG source + 0 + 185 + 380 + 35 + font12 + button-focus2.png + button-nofocus.png + + 60 + 20 + 12 + 14 + + + Parental locked + 0 + 225 + 380 + 35 + font12 + white + white + black + left + center + button-focus2.png + button-nofocus.png + no + + 20 + 60 + 13 + 30 + + + + 490 + 360 + + channel options Header + 0 + 0 + 380 + 20 + font12 + + left + center + blue + black + + + Group Manager Button + 0 + 25 + 190 + 35 + font12 + button-focus2.png + button-nofocus.png + center + + 20 + 34 + 14 + 31 + + + TV/Radio Button + 195 + 25 + 185 + 35 + font12 + IsEmpty(Window.Property(IsRadio)) + button-focus2.png + button-nofocus.png + center + + 30 + 60 + 14 + 31 + + + TV/Radio Button + 195 + 25 + 185 + 35 + font12 + !IsEmpty(Window.Property(IsRadio)) + button-focus2.png + button-nofocus.png + center + + 30 + 60 + 14 + 31 + + + Edit channel Button + 0 + 65 + 380 + 35 + font12 + button-focus2.png + button-nofocus.png + center + + 20 + 60 + 30 + 32 + + + Delete channel Button + 0 + 105 + 380 + 35 + font12 + button-focus2.png + button-nofocus.png + center + + 20 + 60 + 31 + 33 + + + New channel Button + 0 + 145 + 380 + 35 + font12 + button-focus2.png + button-nofocus.png + center + + 20 + 60 + 32 + 9000 + + + + + 70 + 590 + + OK Button + 0 + 0 + 250 + 40 + + font12_title + center + center + 6 + 5 + 33 + 7 + + + Apply changes Button + 260 + 0 + 250 + 40 + + font12_title + center + center + 4 + 6 + 33 + 7 + + + Cancel Button + 520 + 0 + 250 + 40 + + font12_title + center + center + 5 + 4 + 33 + 7 + + + + 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 @@ + + 11 + + 1 + 780 + 30 + + dialogeffect + + + + background image + 0 + 0 + 480 + 660 + DialogBack2.png + + + Close Window button + 390 + 15 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 2 + 2 + 2 + 2 + system.getbool(input.enablemouse) + + + Dialog Header image + 40 + 16 + 400 + 50 + dialogheader.png + + + header label + 40 + 16 + 430 + 40 + font12_title + + center + center + blue + black + !pvr.IsPlayingRadio + + + header label + 40 + 16 + 430 + 40 + font12_title + + center + center + blue + black + pvr.IsPlayingRadio + + + header label + 40 + -7 + 430 + 120 + font10_title + + center + center + grey + black + + + 30 + 70 + 410 + 520 + 60 + 60 + 11 + 11 + list + 60 + 200 + + + 0 + 0 + 410 + 65 + button-nofocus.png + VisibleFadeEffect + + + 5 + 0 + 40 + 30 + font12 + left + center + grey + grey + ListItem.ChannelNumber + + + 5 + 35 + 30 + 20 + PVR-IsRecording.png + ListItem.IsRecording + + + 50 + 0 + 350 + 25 + font13 + white + selected + left + center + + + + 50 + 25 + 350 + 20 + font12 + grey + grey + left + center + + IsEmpty(Listitem.Icon) + + + 50 + 25 + 300 + 20 + font12 + grey + grey + left + center + + !IsEmpty(Listitem.Icon) + + + 50 + 44 + 60 + 20 + font10_title + blue + blue + center + + ListItem.HasEpg + + + Progressbar + 110 + 53 + 230 + 6 + 88FFFFFF + ListItem.Progress + ListItem.HasEpg + + + 355 + 44 + 60 + 20 + font10_title + blue + blue + center + + ListItem.HasEpg + + + 360 + 4 + 40 + 40 + $INFO[ListItem.Icon] + + + + + 0 + 0 + 410 + 65 + button-nofocus.png + !Control.HasFocus(11) + VisibleFadeEffect + + + 0 + 0 + 410 + 65 + button-focus2.png + Control.HasFocus(11) + VisibleFadeEffect + + + 5 + 0 + 40 + 30 + font12 + left + center + grey + grey + ListItem.ChannelNumber + + + 5 + 35 + 30 + 20 + PVR-IsRecording.png + ListItem.IsRecording + + + 50 + 0 + 350 + 25 + font13 + white + selected + left + center + + + + 50 + 25 + 350 + 20 + font12 + grey + grey + left + center + + IsEmpty(Listitem.Icon) + + + 50 + 25 + 300 + 20 + font12 + grey + grey + left + center + + !IsEmpty(Listitem.Icon) + + + 50 + 44 + 60 + 20 + font10_title + blue + blue + center + + ListItem.HasEpg + + + Progressbar + 110 + 53 + 230 + 6 + 88FFFFFF + ListItem.Progress + ListItem.HasEpg + + + 355 + 44 + 60 + 20 + font10_title + blue + blue + center + + ListItem.HasEpg + + + 360 + 4 + 40 + 40 + $INFO[ListItem.Icon] + + + + + 440 + 70 + 25 + 520 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 11 + 11 + 61 + 61 + false + vertical + + + Page Count Label + 450 + 610 + 400 + 20 + font12 + grey + false + right + center + + Window_OpenClose_Animation + + + + \ 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 @@ + + 29 + + + !Window.IsVisible(FileBrowser) + WindowOpen + WindowClose + + 130 + 0 + 1150 + 720 + MediaBladeSub.png + + + Close Window button + 180 + 0 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 9000 + 9000 + 9000 + 9000 + system.getbool(input.enablemouse) + + + WindowOpen + WindowClose + + header label + 160 + 40 + 1080 + 30 + font24_title + + center + center + selected + black + + + Group list + 160 + 80 + + name label + 0 + 0 + 340 + 70 + font13 + + center + center + blue + + + 0 + 75 + 340 + 460 + button-nofocus.png + + + 5 + 80 + 330 + 450 + 13 + 13 + 29 + 73 + 73 + 200 + + + 0 + 0 + 330 + 40 + button-nofocus.png + + + 10 + 0 + 310 + 40 + font12 + left + center + grey2 + selected + ListItem.Label + + + + + 0 + 0 + 330 + 40 + button-nofocus.png + !Control.HasFocus(13) + + + 0 + 0 + 330 + 40 + button-focus2.png + Control.HasFocus(13) + + + 10 + 0 + 310 + 40 + font12 + left + center + white + selected + ListItem.Label + + + + + 340 + 75 + 25 + 460 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 13 + 11 + 73 + 73 + false + vertical + + + + Channels list + 525 + 80 + + name label + 0 + 0 + 340 + 70 + font13 + center + center + blue + + + 0 + 75 + 340 + 460 + button-nofocus.png + + + 5 + 85 + 330 + 450 + 11 + 11 + 73 + 71 + 71 + 200 + + + 0 + 0 + 330 + 40 + button-nofocus.png + + + 32 + 32 + 5 + 4 + $INFO[ListItem.Icon] + + + 40 + 0 + 280 + 40 + font12 + left + center + grey2 + selected + + + + + + 0 + 0 + 330 + 40 + button-nofocus.png + !Control.HasFocus(11) + + + 0 + 0 + 330 + 40 + button-focus2.png + Control.HasFocus(11) + + + 32 + 32 + 5 + 4 + $INFO[ListItem.Icon] + + + 40 + 0 + 280 + 40 + font12 + left + center + white + selected + + + + + + 340 + 75 + 25 + 460 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 11 + 12 + 71 + 71 + false + vertical + + + + Grouped Channels list + 890 + 80 + + name label + 0 + 0 + 340 + 70 + font13 + center + center + blue + + + 0 + 75 + 340 + 460 + button-nofocus.png + + + 5 + 85 + 330 + 450 + 12 + 12 + 71 + 72 + 72 + 200 + + + 0 + 0 + 330 + 40 + button-nofocus.png + + + 32 + 32 + 5 + 4 + $INFO[ListItem.Icon] + + + 40 + 0 + 280 + 40 + font12 + left + center + grey2 + selected + + + + + + 0 + 0 + 330 + 40 + button-nofocus.png + !Control.HasFocus(12) + + + 0 + 0 + 330 + 40 + button-focus2.png + Control.HasFocus(12) + + + 32 + 32 + 5 + 4 + $INFO[ListItem.Icon] + + + 40 + 0 + 280 + 40 + font12 + left + center + white + selected + + + + + + 340 + 75 + 25 + 460 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 12 + 26 + 72 + 72 + false + vertical + + + + 160 + 660 + 1080 + 40 + 2 + center + horizontal + 72 + 13 + 9000 + 9000 + + Add Group + 230 + ButtonInfoDialogsCommonValues + + + + Rename Group + 230 + ButtonInfoDialogsCommonValues + + + + Delete Group + 230 + ButtonInfoDialogsCommonValues + + + + OK + 230 + ButtonInfoDialogsCommonValues + + + + + + SideBladeRight + Clock + + + Fake Label used to pass on name label + false + + + \ 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 @@ + + 7 + + 1 + 20 + 30 + ![Window.IsVisible(FullscreenVideo) | Window.IsVisible(Visualisation)] + + dialogeffect + + + + background image + 0 + 0 + 730 + 660 + DialogBack2.png + Window.IsVisible(FullscreenVideo) | Window.IsVisible(Visualisation) + + + background image + 0 + 0 + 730 + 660 + DialogBack.png + ![Window.IsVisible(FullscreenVideo) | Window.IsVisible(Visualisation)] + + + Dialog Header image + 40 + 16 + 650 + 40 + dialogheader.png + + + header label + 40 + 20 + 650 + 30 + font13_title + + center + center + selected + black + + + Close Window button + 640 + 15 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 10 + 10 + 10 + 10 + system.getbool(input.enablemouse) + + + Title label + 40 + 70 + 650 + 30 + font13_title + + center + center + blue + black + + + + 40 + 120 + + Time description + 170 + 0 + 170 + 25 + right + center + font13 + blue + + + + Time value + 180 + 0 + 470 + 25 + left + center + font13 + white + + + + Duration + 170 + 35 + 170 + 25 + right + center + font13 + blue + + + + Duration value + 180 + 35 + 470 + 25 + left + center + font13 + white + + + + Channel Name + 170 + 70 + 170 + 25 + right + center + font13 + blue + + + + Channel Value + 180 + 70 + 470 + 25 + left + center + font13 + white + + + + Genre + 170 + 105 + 170 + 25 + right + center + font13 + blue + + + + Genre value + 180 + 105 + 470 + + left + font13 + true + + + + Plot value + 40 + 275 + 650 + 295 + font12 + justify + white + black + - + true + + + + 40 + 590 + 640 + 40 + 5 + center + horizontal + 9000 + 9000 + 60 + 60 + + Switch to Channel + ButtonInfoDialogsCommonValues + + + + Record + ButtonInfoDialogsCommonValues + + + + OK + ButtonInfoDialogsCommonValues + + + + + + SideBladeRight + + \ 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 @@ + + 11 + + 1 + 780 + 30 + + dialogeffect + + + + background image + 0 + 0 + 480 + 660 + DialogBack2.png + + + Close Window button + 390 + 15 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 2 + 2 + 2 + 2 + system.getbool(input.enablemouse) + + + Dialog Header image + 40 + 16 + 400 + 40 + dialogheader.png + + + header label + 40 + 16 + 430 + 40 + font12_title + + center + center + blue + black + + + Selected item's date + 40 + 60 + 430 + 30 + font11 + grey2 + + center + center + + + 30 + 100 + 410 + 490 + 60 + 60 + 11 + 11 + list + 60 + 200 + + + 0 + 0 + 410 + 30 + button-nofocus.png + VisibleFadeEffect + + + 10 + 0 + 100 + 30 + font13 + grey2 + selected + left + center + + + + 120 + 5 + 30 + 20 + PVR-IsRecording.png + ListItem.IsRecording + + + 120 + 5 + 20 + 20 + PVR-HasTimer.png + ListItem.HasTimer + !ListItem.IsRecording + + + 400 + 0 + 300 + 30 + font12 + grey2 + selected + right + center + + ![ListItem.IsRecording | ListItem.HasTimer] + + + 400 + 0 + 250 + 30 + font12 + grey2 + selected + right + center + + ListItem.IsRecording | ListItem.HasTimer + + + + + 0 + 0 + 410 + 30 + button-nofocus.png + !Control.HasFocus(11) + VisibleFadeEffect + + + 0 + 0 + 410 + 30 + button-focus2.png + Control.HasFocus(11) + VisibleFadeEffect + + + 10 + 0 + 100 + 30 + font13 + grey2 + selected + left + center + + + + 120 + 5 + 30 + 20 + PVR-IsRecording.png + ListItem.IsRecording + + + 120 + 5 + 20 + 20 + PVR-HasTimer.png + ListItem.HasTimer + !ListItem.IsRecording + + + 400 + 0 + 300 + 30 + font12 + grey2 + selected + right + center + + ![ListItem.IsRecording | ListItem.HasTimer] + + + 400 + 0 + 250 + 30 + font12 + grey2 + selected + right + center + + ListItem.IsRecording | ListItem.HasTimer + + + + + 440 + 100 + 25 + 490 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 11 + 11 + 61 + 61 + false + vertical + + + Page Count Label + 450 + 610 + 400 + 20 + font12 + grey + false + right + center + + Window_OpenClose_Animation + + + + 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 @@ + + 9 + + 1 + 210 + 65 + + dialogeffect + + + background image + 0 + 0 + 865 + 605 + DialogBack.png + + + Dialog Header image + 40 + 16 + 785 + 40 + dialogheader.png + + + header label + 40 + 20 + 785 + 30 + font13_title + + center + center + selected + black + !pvr.IsPlayingRadio + + + Close Window button + 775 + 15 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 3 + 3 + 3 + 3 + system.getbool(input.enablemouse) + + + Search string + 30 + 60 + 320 + 40 + font12caps + + left + center + blue + black + + + 30 + 100 + 800 + 50 + stretch + KeyboardEditArea.png + + + Search string + 35 + 105 + 790 + 40 + font13 + white + black + - + - + left + 9 + 9 + 26 + 10 + + + Search help + 30 + 155 + 800 + 70 + left + font12 + grey2 + + + + 30 + 230 + + Include Description + 0 + 0 + 35 + 400 + font12 + white + white + black + button-focus2.png + button-nofocus.png + left + center + + 12 + 12 + 9 + 11 + + + Case Sensitive + 0 + 35 + 35 + 400 + font12 + white + white + black + button-focus2.png + button-nofocus.png + left + center + + 13 + 13 + 10 + 14 + + + Start Date + 0 + 70 + 400 + 35 + font12 + white + white + black + button-focus2.png + button-nofocus.png + + 16 + 16 + 11 + 15 + + + Stop Date + 0 + 105 + 400 + 35 + font12 + white + white + black + button-focus2.png + button-nofocus.png + + 17 + 17 + 14 + 18 + + + Genre + 0 + 140 + 400 + 35 + font12 + button-focus2.png + button-nofocus.png + + 19 + 19 + 15 + 20 + + + Include unknown Genres + 0 + 175 + 35 + 400 + font12 + white + white + black + left + center + button-focus2.png + button-nofocus.png + no + + 21 + 21 + 18 + 22 + + + FTA only + 0 + 210 + 35 + 400 + font12 + white + white + black + left + center + button-focus2.png + button-nofocus.png + no + + 23 + 23 + 20 + 24 + + + Ignore Timers + 0 + 245 + 35 + 400 + font12 + white + white + black + left + center + button-focus2.png + button-nofocus.png + no + + 27 + 27 + 22 + 26 + + + + 440 + 230 + + Min Duration + 0 + 0 + 400 + 35 + font12 + button-focus2.png + button-nofocus.png + + 10 + 10 + 9 + 13 + + + Max Duration + 0 + 35 + 400 + 35 + font12 + button-focus2.png + button-nofocus.png + + 11 + 11 + 12 + 16 + + + Start time + 0 + 70 + 400 + 35 + font12 + white + white + black + button-focus2.png + button-nofocus.png + + 14 + 14 + 13 + 17 + + + Stop time + 0 + 105 + 400 + 35 + font12 + white + white + black + button-focus2.png + button-nofocus.png + + 15 + 15 + 16 + 19 + + + avoid repeats + 0 + 140 + 400 + 35 + font12 + white + white + black + left + center + button-focus2.png + button-nofocus.png + no + + 18 + 18 + 17 + 21 + + + Groups + 0 + 175 + 400 + 35 + font12 + button-focus2.png + button-nofocus.png + + 20 + 20 + 19 + 23 + + + Channels + 0 + 210 + 400 + 35 + font12 + button-focus2.png + button-nofocus.png + + 22 + 22 + 21 + 27 + + + Ignore Recordings + 0 + 245 + 35 + 400 + font12 + white + white + black + left + center + button-focus2.png + button-nofocus.png + no + + 24 + 24 + 23 + 26 + + + + 540 + 125 + + Defaults Button + 0 + 0 + 200 + 40 + center + center + font12_title + + 26 + 25 + 24 + 9 + + + Cancel Button + 210 + 0 + 200 + 40 + center + center + font12_title + + 28 + 26 + 27 + 9 + + + Search Button + 420 + 0 + 200 + 40 + center + center + font12_title + + 25 + 28 + 27 + 9 + + + + \ 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 @@ + + 10 + + 1 + 275 + 30 + + dialogeffect + + + background image + 0 + 0 + 730 + 660 + DialogBack2.png + Window.IsVisible(FullscreenVideo) | Window.IsVisible(Visualisation) + + + background image + 0 + 0 + 730 + 660 + DialogBack.png + ![Window.IsVisible(FullscreenVideo) | Window.IsVisible(Visualisation)] + + + Dialog Header image + 40 + 16 + 650 + 40 + dialogheader.png + + + header label + 40 + 20 + 650 + 30 + font13_title + + center + center + selected + black + + + Close Window button + 640 + 15 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 10 + 10 + 10 + 10 + system.getbool(input.enablemouse) + + + Title label + 40 + 70 + 650 + 30 + font13_title + + center + center + blue + black + + + 40 + 140 + + Start Date + 170 + 0 + 160 + 25 + right + center + font13 + blue + + + + Start date value + 180 + 0 + 470 + 25 + left + center + font13 + white + + + + Start time + 170 + 35 + 160 + 25 + right + center + font13 + blue + + + + Start Time value + 180 + 35 + 470 + 25 + left + center + font13 + white + + + + Channel Name + 170 + 70 + 160 + 25 + right + center + font13 + blue + + + + Channel Value + 180 + 70 + 470 + 25 + left + center + font13 + white + + + + Duration + 170 + 105 + 160 + 25 + right + center + font13 + blue + + + + Duration value + 180 + 105 + 470 + + left + font13 + true + + + Genre + 170 + 140 + 160 + 25 + right + center + font13 + blue + + + + Genre value + 180 + 140 + 470 + + left + font13 + true + + + Subtitle value + 40 + 185 + 650 + + center + font13 + blue + true + !IsEmpty(ListItem.PlotOutline) + + + + 610 + 370 + 400 + 30 + font12 + grey + black + true + right + center + + + + Next page button + 620 + 375 + page + - + 60 + 60 + 9000 + 9000 + - + true + + + PLOT + 40 + 400 + 650 + 180 + font12 + justify + 60 + + + + 40 + 590 + 640 + 40 + 5 + center + horizontal + 9000 + 9000 + 60 + 60 + + OK + ButtonInfoDialogsCommonValues + + + + + \ 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 @@ + + 29 + + 1 + 275 + 30 + + dialogeffect + + + background image + 0 + 0 + 730 + 660 + DialogBack.png + + + Dialog Header image + 40 + 16 + 650 + 40 + dialogheader.png + + + header label + 40 + 20 + 650 + 30 + font13_title + + center + center + selected + black + + + Close Window button + 640 + 15 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 10 + 10 + 10 + 10 + system.getbool(input.enablemouse) + + + control area + 30 + 70 + 670 + 510 + 5 + 9001 + 9001 + 9001 + 9001 + + + 160 + 590 + + OK Button + 0 + 0 + 200 + 40 + center + center + font12_title + + 29 + 29 + 5 + 5 + + + Cancel Button + 210 + 0 + 200 + 40 + center + center + font12_title + + 28 + 28 + 5 + 5 + + + + Default Button + 40 + font13 + grey2 + white + button-focus2.png + button-nofocus.png + + + Default RadioButton + 40 + font13 + grey2 + white + button-focus2.png + button-nofocus.png + + + Default spincontrolex + 40 + grey2 + white + button-focus2.png + button-nofocus.png + font13 + center + yes + + + Default Slider + 40 + button-focus2.png + button-nofocus.png + font13 + grey2 + white + + + Default Seperator + 2 + separator2.png + + + Default Edit + 40 + font13 + grey2 + white + button-focus2.png + button-nofocus.png + + + \ 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 @@ black + + + 490r + 70 + Container(9000).HasFocus(12) + [PVR.IsRecording | PVR.HasNonRecordingTimer] + VisibleFadeEffect + Window_OpenClose_Animation + conditional + + conditional + PVR.HasNonRecordingTimer + + 0 + -5 + 490 + 90 + gradient.png + + + 400 + 0 + 80 + 80 + keep + $INFO[PVR.NextRecordingChannelIcon] + ThumbBorder.png + 4 + + + 365 + 5 + 25 + 25 + keep + PVR-HasTimer.png + + + Next Timer Header label + 355 + 5 + 25 + 400 + + right + center + font12_title + blue + black + + + NextRecordingDateTime + 390 + 30 + 25 + 400 + + right + center + font12 + true + black + + + NextRecordingTitle Channel + 390 + 50 + 25 + 800 + + right + center + font12_title + black + true + + + + PVR.IsRecording + + 0 + -5 + 490 + 90 + gradient.png + + + 400 + 0 + 80 + 80 + keep + $INFO[PVR.NowRecordingChannelIcon] + ThumbBorder.png + 4 + + + 360 + 5 + 30 + 25 + keep + PVR-IsRecording.png + + + Is Recording Header label + 350 + 5 + 25 + 400 + + right + center + font12_title + blue + black + + + NextRecordingDateTime + 390 + 30 + 25 + 400 + + right + center + font12 + true + black + + + NextRecordingTitle Channel + 390 + 50 + 30 + 800 + + right + center + font12_title + black + true + + + 0 @@ -92,7 +236,47 @@ VisibleFadeEffect Window_OpenClose_Animation - !VideoPlayer.Content(Movies) + !VideoPlayer.Content(Episodes) + !VideoPlayer.Content(Movies) + !VideoPlayer.Content(Episodes) + !VideoPlayer.Content(LiveTV) + + Cover image + 20 + 45 + 150 + 300 + keep + $INFO[VideoPlayer.Cover] + ThumbBorder.png + 5 + + + Title label + 190 + 285 + 30 + 1000 + + left + center + font13_title + white + black + + + Time Label + 190 + 310 + 30 + 300 + + left + center + font12 + white + black + + + + VideoPlayer.Content(LiveTV) Cover image 20 @@ -104,6 +288,19 @@ ThumbBorder.png 5 + + Channel label + 160 + 265 + 25 + 660 + + left + center + font12 + white + black + Title label 160 @@ -320,93 +517,156 @@ HomeSubNF.png CCFFFFFF - - 10 - 2 - 30 - 30 - - OSDPrevTrackFO.png - OSDPrevTrackNF.png - 608 - 602 - 9003 - 9000 - XBMC.PlayerControl(Previous) - - - 40 - 2 - 30 - 30 - - OSDRewindFO.png - OSDRewindNF.png - 601 - 603 - 9003 - 9000 - XBMC.PlayerControl(Rewind) - - - 70 - 2 - 30 - 30 - - OSDPauseFO.png - OSDPauseNF.png - Player.Paused | Player.Forwarding | Player.Rewinding - OSDPlayFO.png - OSDPlayNF.png - 602 - 604 - 9003 - 9000 - XBMC.PlayerControl(Play) - - - 100 - 2 - 30 - 30 - - OSDStopFO.png - OSDStopNF.png - 603 - 605 - 9003 - 9000 - down - XBMC.PlayerControl(Stop) - - - 130 - 2 - 30 - 30 - - OSDForwardFO.png - OSDForwardNF.png - 604 - 606 - 9003 - 9000 - XBMC.PlayerControl(Forward) - - - 160 - 2 - 30 - 30 - - OSDNextTrackFO.png - OSDNextTrackNF.png - 605 - 607 - 9003 - 9000 - XBMC.PlayerControl(Next) + + !VideoPlayer.Content(LiveTV) + + 10 + 2 + 30 + 30 + + OSDPrevTrackFO.png + OSDPrevTrackNF.png + 608 + 602 + 9003 + 9000 + XBMC.PlayerControl(Previous) + + + 40 + 2 + 30 + 30 + + OSDRewindFO.png + OSDRewindNF.png + 601 + 603 + 9003 + 9000 + XBMC.PlayerControl(Rewind) + + + 70 + 2 + 30 + 30 + + OSDPauseFO.png + OSDPauseNF.png + Player.Paused | Player.Forwarding | Player.Rewinding + OSDPlayFO.png + OSDPlayNF.png + 602 + 604 + 9003 + 9000 + XBMC.PlayerControl(Play) + + + 100 + 2 + 30 + 30 + + OSDStopFO.png + OSDStopNF.png + 603 + 605 + 9003 + 9000 + down + XBMC.PlayerControl(Stop) + + + 130 + 2 + 30 + 30 + + OSDForwardFO.png + OSDForwardNF.png + 604 + 606 + 9003 + 9000 + XBMC.PlayerControl(Forward) + + + 160 + 2 + 30 + 30 + + OSDNextTrackFO.png + OSDNextTrackNF.png + 605 + 607 + 9003 + 9000 + XBMC.PlayerControl(Next) + + + + VideoPlayer.Content(LiveTV) + + 10 + 2 + 30 + 30 + + OSDChannelUPFO.png + OSDChannelUPNF.png + 608 + 602 + 9003 + 9000 + XBMC.PlayerControl(Previous) + + + 40 + 2 + 30 + 30 + + OSDChannelDownFO.png + OSDChannelDownNF.png + 601 + 603 + 9003 + 9000 + XBMC.PlayerControl(Next) + + + 70 + 2 + 30 + 30 + + OSDStopFO.png + OSDStopNF.png + 602 + 606 + 9003 + 9000 + down + XBMC.PlayerControl(Stop) + + + 130 + 2 + 30 + 30 + + OSDRecordOffFO.png + OSDRecordOffNF.png + 603 + 607 + 9003 + 9000 + XBMC.PlayerControl(record) + @@ -495,6 +755,13 @@ HomeSubMenuPlayDisc + HomeSubMenuCommonValues + 9014 + 9014 + Container(9000).HasFocus(12) + HomeSubMenuLiveTV + + HomeSubMenuCommonValues 9013 9013 @@ -609,10 +876,17 @@ ActivateWindow(Pictures) - special://skin/backgrounds/pictures.jpg - $INFO[Skin.String(Home_Custom_Back_Pictures_Folder)] + - + - !Skin.HasSetting(HomeMenuNoPicturesButton) + + + ActivateWindow(PVR) + - + - + System.GetBool(pvrmanager.enabled) + ActivateWindow(Videos) 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 @@ - \ No newline at end of file + + + 0 + 100r + 1280 + 100 + floor.png + WindowOpen + WindowClose + + + Window_OpenClose_Animation + + VisibleFadeEffect + Control.IsVisible(10) | Control.IsVisible(14) | Control.IsVisible(15) | Control.IsVisible(16) | Control.IsVisible(17) + + 55 + 60 + 1170 + 600 + ContentPanel.png + + + 55 + 652 + 1170 + 64 + ContentPanelMirror.png + + + + VisibleFadeEffect + Control.IsVisible(11) | Control.IsVisible(12) + + 50 + 60 + 450 + 600 + ContentPanel.png + + + 50 + 652 + 450 + 64 + ContentPanelMirror.png + + + 510 + 60 + 730 + 600 + ContentPanel.png + + + 510 + 652 + 730 + 64 + ContentPanelMirror.png + + + + VisibleFadeEffect + Control.IsVisible(13) + + 50 + 60 + 840 + 600 + ContentPanel.png + + + 50 + 652 + 840 + 64 + ContentPanelMirror.png + + + 900 + 60 + 330 + 600 + ContentPanel.png + + + 900 + 652 + 330 + 64 + ContentPanelMirror.png + + + + + + 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 @@ - + 35 35 HomeSubEnd.png - + ButtonHomeSubCommonValues ActivateWindow(Pictures,Addons,return) + + 35 + 35 + HomeSubEnd.png + + + + + 35 + 35 + HomeSubEnd.png + + + ButtonHomeSubCommonValues + + ActivateWindow(PVR) + Setfocus(32) + Setfocus(11) + + + ButtonHomeSubCommonValues + + ActivateWindow(PVR) + Setfocus(33) + Setfocus(12) + + + ButtonHomeSubCommonValues + + ActivateWindow(PVR) + Setfocus(34) + Setfocus(13) + + + ButtonHomeSubCommonValues + + ActivateWindow(PVR) + Setfocus(35) + Setfocus(14) + 35 35 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 @@ 45 - - OSDRecordFO.png - OSDRecordNF.png + OSDRecordOffFO.png + OSDRecordOffNF.png 703 600 1000 @@ -318,4 +318,4 @@ - \ No newline at end of file + 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 @@ + + 32 + no + + + Normal Default Background Image + 0 + 0 + 1280 + 720 + scale + $INFO[Skin.CurrentTheme,special://skin/backgrounds/,.jpg] + ![Skin.HasSetting(UseCustomBackground) + !IsEmpty(Skin.String(CustomBackgroundPath))] + VisibleFadeEffect + + + User Set Background Image + 0 + 0 + 1280 + 720 + scale + $INFO[Skin.String(CustomBackgroundPath)] + Skin.HasSetting(UseCustomBackground) + !IsEmpty(Skin.String(CustomBackgroundPath)) + VisibleFadeEffect + + + !Control.IsVisible(11) + !Control.IsVisible(12) + + 0 + 0 + 1280 + 720 + special://skin/backgrounds/media-overlay.png + Player.HasVideo + !Skin.HasSetting(ShowBackgroundVideo) + + + 0 + 0 + 1280 + 720 + Player.HasAudio + !Skin.HasSetting(ShowBackgroundVis) + + + 0 + 0 + 1280 + 720 + Player.HasVideo + !Skin.HasSetting(ShowBackgroundVideo) + + + ContentPanelBackgroundsPVR + MainWindowMouseButtons + + Section header image + 20 + 3 + 35 + 35 + keep + icon_video.png + + + 65 + 5 + 1000 + 30 + horizontal + left + 5 + + WindowTitleCommons + + + + WindowTitleCommons + + + + WindowTitleCommons + + + + + Empty so we can pass the values up one level + False + + + Empty so we can pass the values up one level + False + + + Small Media Window + 530 + 80 + Control.IsVisible(11) | Control.IsVisible(12) + VisibleFadeEffect + Window_OpenClose_Animation + + 0 + 0 + 690 + 400 + button-nofocus.png + + + 5 + 5 + 680 + 390 + $INFO[Skin.String(Home_Custom_Back_TV_Folder)] + VisibleFadeEffect + !Player.HasVideo + + + 5 + 5 + 680 + 390 + Player.HasVideo + WindowClose + + + 1 + 1 + 688 + 35 + black-back.png + DDFFFFFF + Player.HasVideo + + + Current Video label + 30 + 1 + 650 + 35 + font12 + grey2 + center + center + + Player.HasVideo + + + + + + Window_OpenClose_Animation + EPGTimelineView--> + LiveTVChannelView + LiveRadioChannelView + LiveTVRecordingsView + LiveTVTimersView + LiveTVGuideChannelView + LiveTVGuideNowNextView + LiveTVSearchView + + CommonNowPlaying + BehindDialogFadeOut + ScrollOffsetLabel + + + 0 + 0 + 1280 + 720 + black-back.png + Visible + Hidden + Window.IsActive(FileBrowser) | Window.IsActive(PVRGuideInfo) | Window.IsActive(PVRRecordingInfo) | Window.IsActive(PVRTimerSetting) | Window.IsActive(PVRGroupManager) | Window.IsActive(PVRGuideSearch) + + + + -250 + SideBladeLeft + + 0 + 110 + 250 + 600 + 9000 + 50 + 9000 + 9000 + 0 + + 250 + 35 + font12caps + + blue + center + center + + + TV Channels + 0 + 0 + 235 + ButtonCommonValues + + + + Radio Channels + 0 + 40 + 235 + ButtonCommonValues + + 12 + 12 + + + TV Guide + 0 + 80 + 235 + ButtonCommonValues + + + + Recordings + 0 + 120 + 235 + ButtonCommonValues + + + + Timers + 0 + 160 + 235 + ButtonCommonValues + + + + Search + 0 + 200 + 235 + ButtonCommonValues + + + CommonNowPlaying_Controls + + + + Clock + + 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 @@ - 603 + 100 dialogeffect Player.HasMedia + Window.IsActive(PlayerControls) + !Window.IsActive(FullscreenVideo) + !Window.IsActive(Visualisation) @@ -18,6 +18,8 @@ 25 162 + 603 + !VideoPlayer.Content(LiveTV) 0 0 @@ -31,6 +33,7 @@ 300 200 XBMC.PlayerControl(Previous) + !VideoPlayer.Content(LiveTV) 40 @@ -45,6 +48,7 @@ 300 200 XBMC.PlayerControl(Rewind) + !VideoPlayer.Content(LiveTV) 80 @@ -62,6 +66,7 @@ 300 200 XBMC.PlayerControl(Play) + !VideoPlayer.Content(LiveTV) 120 @@ -77,6 +82,7 @@ 200 down XBMC.PlayerControl(Stop) + !VideoPlayer.Content(LiveTV) 160 @@ -91,6 +97,7 @@ 300 200 XBMC.PlayerControl(Forward) + !VideoPlayer.Content(LiveTV) 200 @@ -105,6 +112,7 @@ 300 200 XBMC.PlayerControl(Next) + !VideoPlayer.Content(LiveTV) 240 @@ -112,8 +120,8 @@ 40 40 - OSDRecordFO.png - OSDRecordNF.png + OSDRecordOffFO.png + OSDRecordOffNF.png 605 607 300 @@ -121,6 +129,7 @@ XBMC.PlayerControl(record) Player.CanRecord Conditional + !VideoPlayer.Content(LiveTV) Conditional @@ -137,6 +146,7 @@ 608 100 100 + !VideoPlayer.Content(LiveTV) 325 @@ -146,6 +156,7 @@ OSDRepeatNF.png !Playlist.IsRepeat + !Playlist.IsRepeatOne !Control.HasFocus(607) + !VideoPlayer.Content(LiveTV) 325 @@ -155,6 +166,7 @@ OSDRepeatFO.png !Playlist.IsRepeat + !Playlist.IsRepeatOne Control.HasFocus(607) + !VideoPlayer.Content(LiveTV) 325 @@ -164,6 +176,7 @@ OSDRepeatOneNF.png Playlist.IsRepeatOne !Control.HasFocus(607) + !VideoPlayer.Content(LiveTV) 325 @@ -173,6 +186,7 @@ OSDRepeatOneFO.png Playlist.IsRepeatOne Control.HasFocus(607) + !VideoPlayer.Content(LiveTV) 325 @@ -182,6 +196,7 @@ OSDRepeatAllNF.png Playlist.IsRepeat !Control.HasFocus(607) + !VideoPlayer.Content(LiveTV) 325 @@ -191,6 +206,7 @@ OSDRepeatAllFO.png Playlist.IsRepeat Control.HasFocus(607) + !VideoPlayer.Content(LiveTV) 365 @@ -208,6 +224,7 @@ 609 100 100 + !VideoPlayer.Content(LiveTV) 405 @@ -231,9 +248,133 @@ XBMC.RunScript($INFO[Skin.String(LyricScript_Path)]) IsEmpty(Skin.String(LyricScript_Path)) Player.HasAudio + !VideoPlayer.Content(LiveTV) + + 25 + 162 + 700 + VideoPlayer.Content(LiveTV) + + 0 + 0 + 40 + 40 + + OSDRewindFO.png + OSDRewindNF.png + 706 + 702 + 300 + 200 + XBMC.PlayerControl(Rewind) + VideoPlayer.Content(LiveTV) + false + Conditional + + + 40 + 0 + 40 + 40 + + OSDStopFO.png + OSDStopNF.png + 701 + 703 + 300 + 200 + down + XBMC.PlayerControl(Stop) + VideoPlayer.Content(LiveTV) + + + 80 + 0 + 40 + 40 + + OSDPauseFO.png + OSDPauseNF.png + Player.Paused | Player.Forwarding | Player.Rewinding + OSDPlayFO.png + OSDPlayNF.png + 702 + 704 + 300 + 200 + XBMC.PlayerControl(Play) + VideoPlayer.Content(LiveTV) + false + Conditional + + + 120 + 0 + 40 + 40 + + OSDForwardFO.png + OSDForwardNF.png + 703 + 700 + 300 + 200 + XBMC.PlayerControl(Forward) + VideoPlayer.Content(LiveTV) + false + Conditional + + + 200 + 0 + 40 + 40 + + OSDChannelUPFO.png + OSDChannelUPNF.png + 704 + 705 + 300 + 200 + XBMC.PlayerControl(Previous) + VideoPlayer.Content(LiveTV) + + + 240 + 0 + 40 + 40 + + OSDChannelDownFO.png + OSDChannelDownNF.png + 700 + 706 + 300 + 200 + XBMC.PlayerControl(Next) + VideoPlayer.Content(LiveTV) + + + 280 + 0 + 40 + 40 + + OSDRecordOffFO.png + OSDRecordOffNF.png + 705 + 701 + 300 + 200 + XBMC.PlayerControl(record) + Player.CanRecord + Conditional + VideoPlayer.Content(LiveTV) + + gradient @@ -272,4 +413,4 @@ system.getbool(input.enablemouse) - \ No newline at end of file + 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 @@ - + + 31409 + ActivateWindow(PVRSettings) + special://skin/backgrounds/tv.jpg + + 31402 ActivateWindow(MusicSettings) - - + 31403 ActivateWindow(PicturesSettings) - - + 31404 ActivateWindow(WeatherSettings) - - + 31408 ActivateWindow(AddonBrowser) - - + 31409 ActivateWindow(ServiceSettings) - - + 31406 ActivateWindow(SystemSettings) - - + 31407 ActivateWindow(1111) 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 @@ false + + Button PVR + 60 + 241 + 0 + right + center + font13_title + grey2 + white + MenuItemFO.png + MenuItemNF.png + false + + 268 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 @@ - [Player.ShowInfo | Window.IsActive(VideoOSD)] + ![Window.IsVisible(123) | Window.IsVisible(124) | Window.IsVisible(125)] + [Player.ShowInfo | Window.IsActive(VideoOSD)] + ![Window.IsVisible(123) | Window.IsVisible(124) | Window.IsVisible(125) | Window.IsVisible(PVROSDChannels) | Window.IsVisible(PVROSDGuide)] VisibleChange 0 @@ -24,7 +24,21 @@ white black - Player.ChapterCount + Player.ChapterCount + !VideoPlayer.Content(LiveTV) + + + Channel Group label + 30 + 5 + 1000 + 25 + left + center + font13 + white + black + + VideoPlayer.Content(LiveTV) Clock label @@ -81,11 +95,35 @@ 910 25 left + center font13 white black - conditional + ![VideoPlayer.Content(LiveTV) + Player.Recording] + conditional + + + 0 + 50 + 25 + keep + PVR-IsRecording.png + VideoPlayer.Content(LiveTV) + Player.Recording + + + Heading label + 50 + 0 + 860 + 25 + left + center + font13 + + white + black + VideoPlayer.Content(LiveTV) + Player.Recording Studio label @@ -126,6 +164,19 @@ black VideoPlayer.Content(MusicVideos) + + LiveTV Info label + 20 + 30 + 910 + 25 + left + font12 + + grey2 + black + VideoPlayer.Content(LiveTV) + 20 60 @@ -176,13 +227,28 @@ font12 grey true - !Window.IsVisible(VideoOSD) + !Window.IsVisible(VideoOSD) + !VideoPlayer.Content(LiveTV) + VisibleChange + + + 0 + 120 + 910 + 25 + + center + center + font12 + grey + true + !Window.IsVisible(VideoOSD) + VideoPlayer.Content(LiveTV) VisibleChange 330 85r + !VideoPlayer.Content(LiveTV) | [VideoPlayer.Content(LiveTV) + VideoPlayer.HasEpg] 0 0 @@ -233,7 +299,6 @@ 0 1280 140 - AAFFFFFF black-back.png @@ -270,5 +335,252 @@ + + 440 + 100 + 400 + 100 + font13caps + TV Channel Group Select Button + OverlayDialogBackground.png + 503 + 503 + 500 + 500 + VisibleFadeEffect + + + Player.ShowCodec + VideoPlayer.Content(LiveTV) + system.getbool(pvrplayback.signalquality) + 165 + + media info background image + 0 + 0 + 1280 + 220 + black-back.png + + + Header + 50 + 5 + 1200 + 25 + + left + center + font13_title + blue + + + Backend + 50 + 40 + 165 + 25 + + left + center + font12 + grey2 + + + Backend value + 220 + 40 + 1000 + 25 + + left + center + font12 + white + + + Device + 50 + 65 + 165 + 25 + + left + center + font12 + grey2 + + + Device value + 220 + 65 + 1000 + 25 + + left + center + font12 + white + + + Status + 50 + 90 + 165 + 25 + + left + center + font12 + grey2 + + + Status value + 220 + 90 + 1000 + 25 + + left + center + font12 + white + + + Signal + 50 + 115 + 165 + 25 + + left + center + font12 + grey2 + + + Progressbar + 220 + 122 + 910 + 14 + PVR.ActStreamProgrSignal + + + Signal value + 1200 + 115 + 180 + 25 + + left + center + font12 + white + + + SNR + 50 + 140 + 165 + 25 + + left + center + font12 + grey2 + + + Progressbar + 220 + 147 + 910 + 14 + - + PVR.ActStreamProgrSNR + + + SNR value + 1200 + 140 + 180 + 25 + + left + center + font12 + white + + + BER + 50 + 165 + 165 + 25 + + left + center + font12 + grey2 + + + BER value + 220 + 165 + 1000 + 25 + + left + center + font12 + white + + + UNC + 430 + 165 + 165 + 25 + + left + center + font12 + grey2 + + + UNC value + 600 + 165 + 1000 + 25 + + left + center + font12 + white + + + Encryption + 50 + 190 + 165 + 25 + + left + center + font12 + grey2 + + + Encryption value + 220 + 190 + 1000 + 25 + + left + center + font12 + white + + - \ No newline at end of file + 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 @@ - 602 + 100 dialogeffect 1 @@ -39,13 +39,16 @@ osd_slider_nibNF.png osd_slider_nib.png VisibleChange - ![Window.IsVisible(SliderDialog) | Window.IsVisible(OSDVideoSettings) | Window.IsVisible(OSDAudioSettings) | Window.IsVisible(VideoBookmarks)] + ![Window.IsVisible(SliderDialog) | Window.IsVisible(OSDVideoSettings) | Window.IsVisible(OSDAudioSettings) | Window.IsVisible(VideoBookmarks) | VideoPlayer.Content(LiveTV)] + 325 50r + 602 VisibleChange ![Window.IsVisible(SliderDialog) | Window.IsVisible(OSDVideoSettings) | Window.IsVisible(OSDAudioSettings) | Window.IsVisible(VideoBookmarks)] + !VideoPlayer.Content(LiveTV) 0 0 @@ -141,11 +144,134 @@ PlayerControl(Next) + + + + 325 + 50r + 601 + VisibleChange + ![Window.IsVisible(SliderDialog) | Window.IsVisible(OSDVideoSettings) | Window.IsVisible(OSDAudioSettings) | Window.IsVisible(VideoBookmarks) | Window.IsVisible(PVROSDChannels) | Window.IsVisible(PVROSDGuide)] + VideoPlayer.Content(LiveTV) + + 0 + 0 + 45 + 45 + + - + OSDChannelUPFO.png + OSDChannelUPNF.png + 704 + 601 + 1000 + 1000 + PlayerControl(Previous) + + + 45 + 0 + 45 + 45 + + - + OSDChannelDownFO.png + OSDChannelDownNF.png + 600 + 602 + 1000 + 1000 + PlayerControl(Next) + + + 90 + 0 + 45 + 45 + + 208 + - + OSDPauseFO.png + OSDPauseNF.png + Player.Paused | Player.Forwarding | Player.Rewinding + OSDPlayFO.png + OSDPlayNF.png + 601 + 603 + 1000 + 1000 + PlayerControl(Play) + False + + + 135 + 0 + 45 + 45 + + 208 + - + OSDStopFO.png + OSDStopNF.png + 602 + 604 + 1000 + 1000 + PlayerControl(Stop) + + + 180 + 0 + 45 + 45 + + - + OSDChannelListFO.png + OSDChannelListNF.png + 603 + 605 + 1000 + 1000 + ActivateWindow(PVROSDChannels) + Dialog.Close(VideoOSD) + + + 225 + 0 + 45 + 45 + + - + OSDepgFO.png + OSDepgNF.png + 604 + 701 + 1000 + 1000 + ActivateWindow(PVROSDGuide) + Dialog.Close(VideoOSD) + + + 290 + 0 + 450 + 45 + + center + center + font12 + grey + false + + + + 250r 50r VisibleChange ![Window.IsVisible(SliderDialog) | Window.IsVisible(OSDVideoSettings) | Window.IsVisible(OSDAudioSettings) | Window.IsVisible(VideoBookmarks)] + !VideoPlayer.Content(LiveTV) 0 0 @@ -231,5 +357,80 @@ Conditional + + + + 200r + 50r + VisibleChange + ![Window.IsVisible(SliderDialog) | Window.IsVisible(OSDVideoSettings) | Window.IsVisible(OSDAudioSettings) | Window.IsVisible(VideoBookmarks) | Window.IsVisible(PVROSDChannels) | Window.IsVisible(PVROSDGuide)] + VideoPlayer.Content(LiveTV) + + 0 + 0 + 45 + 45 + + - + OSDTeleTextFO.png + OSDTeleTextNF.png + 605 + 702 + 1000 + 1000 + ActivateWindow(Teletext) + + + 45 + 0 + 45 + 45 + + - + OSDVideoFO.png + OSDVideoNF.png + 701 + 703 + 1000 + 1000 + ActivateWindow(OSDVideoSettings) + + + 90 + 0 + 45 + 45 + + - + OSDAudioFO.png + OSDAudioNF.png + 702 + 704 + 1000 + 1000 + ActivateWindow(OSDAudioSettings) + + + 135 + 0 + 45 + 45 + + 208 + - + OSDRecordOffFO.png + OSDRecordOffNF.png + Player.Recording + OSDRecordOnFO.png + OSDRecordOnNF.png + 703 + 600 + 1000 + 1000 + PlayerControl(Record) + Player.CanRecord + Conditional + + - \ No newline at end of file + 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 @@ + + + + TV Channels group + Control.IsVisible(11) + VisibleFadeEffect + + 530 + 490 + + 0 + 0 + 690 + 20 + font13 + white + black + true + center + center + + + + 80 + 22 + 80 + 20 + right + center + font10_title + blue + Container(11).ListItem.HasEpg + + + + Progressbar + 85 + 30 + 510 + 8 + Container(11).ListItem.HasEpg + Container(11).ListItem.Progress + + + 600 + 22 + 80 + 20 + left + center + font10_title + blue + Container(11).ListItem.HasEpg + + + + Plot Value for TVShow + 0 + 43 + 690 + 80 + font12 + justify + white + black + - + + true + + + 690 + 140 + 690 + 20 + font12 + grey2 + right + center + false + !IsEmpty(Container(11).ListItem.NextTitle) + + + + + 70 + 85 + 390 + 541 + 32 + 70 + 11 + 11 + list + 70 + 200 + + + 0 + 0 + 390 + 61 + MenuItemNF.png + VisibleFadeEffect + + + 5 + -4 + 40 + 35 + font12 + left + center + grey + grey + ListItem.ChannelNumber + + + 50 + 0 + 270 + 25 + font13 + white + selected + left + center + + + + 50 + 25 + 330 + 20 + font12 + grey + grey + left + center + + IsEmpty(Listitem.Icon) + + + 50 + 25 + 280 + 20 + font12 + grey + grey + left + center + + !IsEmpty(Listitem.Icon) + + + Progressbar + 50 + 48 + 280 + 6 + 88FFFFFF + ListItem.HasEpg + ListItem.Progress + + + 340 + 4 + 50 + 50 + $INFO[ListItem.Icon] + + + 5 + 37 + 30 + 20 + PVR-IsRecording.png + ListItem.IsRecording + + + + + 0 + 0 + 390 + 61 + MenuItemNF.png + !Control.HasFocus(11) + VisibleFadeEffect + + + 0 + 0 + 390 + 61 + MenuItemFO.png + Control.HasFocus(11) + VisibleFadeEffect + + + 5 + -4 + 40 + 35 + font12 + left + center + grey + grey + ListItem.ChannelNumber + + + 50 + 0 + 270 + 25 + font13 + white + selected + left + center + + + + 50 + 25 + 330 + 20 + font12 + grey + grey + left + center + + IsEmpty(Listitem.Icon) + + + 50 + 25 + 280 + 20 + font12 + grey + grey + left + center + + !IsEmpty(Listitem.Icon) + + + Progressbar + 50 + 48 + 280 + 6 + 88FFFFFF + ListItem.HasEpg + ListItem.Progress + + + 340 + 4 + 50 + 50 + $INFO[ListItem.Icon] + + + 5 + 37 + 30 + 20 + PVR-IsRecording.png + ListItem.IsRecording + + + + + 465 + 85 + 25 + 540 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 11 + 32 + false + vertical + + + Conditional + Page Count Label + 40r + 53r + 500 + 20 + font12 + grey + false + right + center + + Window_OpenClose_Animation + + + + + + + Radio Channels group + Control.IsVisible(12) + VisibleFadeEffect + + 530 + 490 + + 0 + 0 + 690 + 20 + font13 + white + black + true + center + center + + + + 80 + 22 + 80 + 20 + right + center + font10_title + blue + Container(12).ListItem.HasEpg + + + + Progressbar + 85 + 30 + 510 + 8 + Container(12).ListItem.HasEpg + Container(12).ListItem.Progress + + + 600 + 22 + 80 + 20 + left + center + font10_title + blue + Container(12).ListItem.HasEpg + + + + Plot Value for TVShow + 0 + 43 + 690 + 80 + font12 + justify + white + black + - + + true + + + 690 + 140 + 690 + 20 + font12 + grey2 + right + center + false + !IsEmpty(Container(12).ListItem.NextTitle) + + + + + 70 + 85 + 390 + 541 + 33 + 71 + 12 + 12 + list + 71 + 200 + + + 0 + 0 + 390 + 61 + MenuItemNF.png + VisibleFadeEffect + + + 5 + -4 + 40 + 35 + font12 + left + center + grey + grey + ListItem.ChannelNumber + + + 50 + 0 + 270 + 25 + font13 + white + selected + left + center + + + + 50 + 25 + 330 + 20 + font12 + grey + grey + left + center + + IsEmpty(Listitem.Icon) + + + 50 + 25 + 280 + 20 + font12 + grey + grey + left + center + + !IsEmpty(Listitem.Icon) + + + Progressbar + 50 + 48 + 280 + 6 + 88FFFFFF + ListItem.Progress + ListItem.HasEpg + + + 340 + 4 + 50 + 50 + $INFO[ListItem.Icon] + + + 5 + 37 + 30 + 20 + PVR-IsRecording.png + ListItem.IsRecording + + + + + 0 + 0 + 390 + 61 + MenuItemNF.png + !Control.HasFocus(12) + VisibleFadeEffect + + + 0 + 0 + 390 + 61 + MenuItemFO.png + Control.HasFocus(12) + VisibleFadeEffect + + + 5 + -4 + 40 + 35 + font12 + left + center + grey + grey + ListItem.ChannelNumber + + + 50 + 0 + 270 + 25 + font13 + white + selected + left + center + + + + 50 + 25 + 330 + 20 + font12 + grey + grey + left + center + + IsEmpty(Listitem.Icon) + + + 50 + 25 + 280 + 20 + font12 + grey + grey + left + center + + !IsEmpty(Listitem.Icon) + + + Progressbar + 50 + 48 + 280 + 6 + 88FFFFFF + ListItem.Progress + ListItem.HasEpg + + + 340 + 4 + 50 + 50 + $INFO[ListItem.Icon] + + + 5 + 37 + 30 + 20 + PVR-IsRecording.png + ListItem.IsRecording + + + + + 465 + 85 + 25 + 540 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 12 + 33 + false + vertical + + + Conditional + Page Count Label + 40r + 53r + 500 + 20 + font12 + grey + false + right + center + + Window_OpenClose_Animation + + + + + + + Recordings group + Control.IsVisible(13) + VisibleFadeEffect + + 70 + 75 + 760 + 561 + 34 + 72 + 13 + 13 + list + 72 + 200 + + + 0 + 0 + 760 + 41 + MenuItemNF.png + VisibleFadeEffect + + + 10 + 5 + 30 + 30 + $INFO[ListItem.Icon] + + + 50 + 0 + 605 + 40 + font13 + grey2 + selected + left + center + + + + 725 + 0 + 500 + 40 + font12 + grey2 + selected + right + center + + + + 730 + 14 + 20 + 16 + $INFO[ListItem.Overlay] + + + + + 0 + 0 + 760 + 41 + MenuItemFO.png + Control.HasFocus(13) + VisibleFadeEffect + + + 0 + 0 + 760 + 41 + MenuItemNF.png + VisibleFadeEffect + !Control.HasFocus(13) + + + 560 + 5 + 200 + 31 + MediaItemDetailBG.png + Control.HasFocus(13) + !IsEmpty(ListItem.Date) + + + 10 + 5 + 30 + 30 + $INFO[ListItem.Icon] + + + 50 + 0 + 630 + 40 + font13 + white + selected + left + center + + + + 725 + 0 + 500 + 40 + font12 + grey2 + selected + right + center + + + + 730 + 14 + 20 + 16 + $INFO[ListItem.Overlay] + + + + + 850 + 78 + 25 + 560 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 13 + 34 + false + vertical + + + Conditional + Page Count Label + 40r + 53r + 500 + 20 + font12 + grey + false + right + center + + Window_OpenClose_Animation + + + 910 + 80 + + 10 + 0 + 290 + 230 + keep + IconCrossfadeTime + $INFO[Container(13).ListItem.Icon] + ThumbShadow.png + 8 + + + 10 + 230 + 290 + 25 + + center + center + font13 + blue + black + false + 1000 + + + Description Value for TV Show + 10 + 270 + 290 + 280 + font12 + justify + white + + Skin.HasSetting(AutoScroll) + + + + + + + + TV Guide Timeline + Control.IsVisible(10) + VisibleFadeEffect + + EPG Grid + 80 + 81 + 1120 + 555 + 10 + 350 + 40 + 6 + 31 + 31 + 10 + 10 + + + 40 + 29 + 0 + 0 + button-nofocus.png + + + 10 + 0 + 34 + 29 + font12 + center + selected + left + + + + + UnFocus + + 0 + 0 + 270 + 52 + button-nofocus.png + + + 5 + 5 + 40 + 35 + font12 + left + center + grey + grey + ListItem.ChannelNumber + + + 45 + 4 + 45 + 44 + $INFO[ListItem.Icon] + + + 94 + 0 + 160 + 52 + special12 + center + selected + left + + + + + OnFocus + + 0 + 0 + 270 + 52 + button-focus.png + + + 5 + 5 + 40 + 35 + font12 + left + center + grey + grey + ListItem.ChannelNumber + + + 45 + 4 + 45 + 44 + $INFO[ListItem.Icon] + + + 94 + 0 + 160 + 52 + special12 + center + selected + left + + + + + + 40 + 52 + 0 + 0 + stretch + epg-genres/$INFO[ListItem.Property(GenreType)].png + + + 6 + 3 + 30 + 25 + font12 + center + selected + left + ListItem.Label + + + 5 + 28 + 30 + 20 + PVR-IsRecording.png + ListItem.IsRecording + + + 5 + 28 + 20 + 20 + PVR-HasTimer.png + ListItem.HasTimer + !ListItem.IsRecording + + + + + 40 + 52 + 0 + 0 + folder-focus.png + + + 40 + 52 + 0 + 0 + stretch + epg-genres/$INFO[ListItem.Property(GenreType)].png + + + 6 + 3 + 30 + 25 + font12 + center + selected + left + ListItem.Label + + + 5 + 28 + 30 + 20 + PVR-IsRecording.png + ListItem.IsRecording + + + 5 + 28 + 20 + 20 + PVR-HasTimer.png + ListItem.HasTimer + !ListItem.IsRecording + + + + + + + + + Timers group + Control.IsVisible(14) + VisibleFadeEffect + + 80 + 60 + + Channel header label + 0 + 20 + 220 + 20 + font13_title + white + black + center + center + + + + Title header label + 220 + 20 + 300 + 20 + font13_title + white + black + center + center + + + + Schedule Time header label + 580 + 20 + 300 + 20 + font13_title + white + black + center + center + + + + Status header label + 940 + 20 + 150 + 20 + font13_title + white + black + center + center + + + + separator image + 0 + 50 + 1100 + 1 + 88FFFFFF + separator2.png + + + 0 + 55 + 1100 + 480 + 14 + 14 + 35 + 73 + 73 + 200 + + + 0 + 0 + 1100 + 41 + MenuItemNF.png + + + 220 + 0 + 300 + 40 + 33FFFFFF + StackFO.png + + + 940 + 0 + 155 + 40 + 33FFFFFF + StackFO.png + + + 0 + 8 + 50 + 26 + !IsEmpty(ListItem.Date) + $INFO[ListItem.Icon] + + + 50 + 0 + 150 + 40 + font12 + left + center + selected + ListItem.ChannelName + + + 370 + 0 + 290 + 40 + font12 + center + center + selected + ListItem.Label + + + 730 + 0 + 400 + 40 + font12 + center + center + selected + ListItem.Date + + + 1018 + 0 + 170 + 40 + font12 + center + center + selected + ListItem.Comment + + + + + 0 + 0 + 1100 + 41 + MenuItemNF.png + + + 220 + 0 + 300 + 40 + 33FFFFFF + StackFO.png + !Control.HasFocus(14) + + + 940 + 0 + 155 + 40 + 33FFFFFF + StackFO.png + !Control.HasFocus(14) + + + 220 + 0 + 300 + 40 + 88FFFFFF + StackFO.png + Control.HasFocus(14) + + + 940 + 0 + 155 + 40 + 88FFFFFF + StackFO.png + Control.HasFocus(14) + + + 0 + 8 + 50 + 26 + !IsEmpty(ListItem.Date) + $INFO[ListItem.Icon] + + + 50 + 0 + 150 + 40 + font12 + left + center + selected + ListItem.ChannelName + + + 370 + 0 + 290 + 40 + font12 + center + center + selected + ListItem.Label + + + 730 + 0 + 400 + 40 + font12 + center + center + selected + ListItem.Date + + + 1018 + 0 + 150 + 40 + font12 + center + center + selected + ListItem.Comment + + + + + 1105 + 50 + 25 + 480 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 11 + 35 + false + vertical + + + separator image + 55 + 540 + 1010 + 1 + 88FFFFFF + separator2.png + + + Next timer date + 55 + 545 + 1010 + 30 + font13 + center + center + true + white + + PVR.HasTimer + + + + Conditional + Page Count Label + 40r + 53r + 500 + 20 + font12 + grey + false + right + center + + Window_OpenClose_Animation + + + + + + + TV Search group + Control.IsVisible(17) + VisibleFadeEffect + + 80 + 60 + + Channel label + 0 + 20 + 250 + 20 + font13_title + white + black + center + center + + + + Title + 290 + 20 + 350 + 20 + font13_title + white + black + left + center + + + + Time label + 920 + 20 + 300 + 20 + font13_title + white + black + right + center + + + + Status header label + 960 + 20 + 140 + 20 + font13_title + white + black + center + center + + + + separator image + 0 + 50 + 1100 + 1 + 88FFFFFF + separator2.png + + + 0 + 55 + 1100 + 520 + 17 + 17 + 36 + 77 + 77 + 200 + + + 0 + 0 + 1100 + 41 + MenuItemNF.png + + + 0 + 0 + 250 + 40 + 33FFFFFF + StackFO.png + + + 960 + 0 + 140 + 40 + 33FFFFFF + StackFO.png + + + 10 + 5 + 30 + 30 + ListItem.Icon + + + 50 + 0 + 190 + 35 + font12 + left + center + grey2 + selected + ListItem.ChannelName + + + 260 + 0 + 650 + 35 + font13 + left + center + grey2 + selected + ListItem.Label + + + 950 + 0 + 500 + 40 + font12 + right + center + grey2 + selected + ListItem.Date + + + 970 + 10 + 30 + 20 + PVR-IsRecording.png + ListItem.IsRecording + + + 1005 + 0 + 80 + 40 + font10 + left + center + grey2 + selected + + ListItem.IsRecording + + + 970 + 10 + 20 + 20 + PVR-HasTimer.png + ListItem.HasTimer + !ListItem.IsRecording + + + 1000 + 0 + 80 + 40 + font10 + left + center + grey2 + selected + + ListItem.HasTimer + + + + + 0 + 0 + 1100 + 41 + MenuItemNF.png + + + 0 + 0 + 250 + 40 + 33FFFFFF + StackFO.png + !Control.HasFocus(17) + + + 960 + 0 + 140 + 40 + 33FFFFFF + StackFO.png + !Control.HasFocus(17) + + + 0 + 0 + 250 + 40 + 88FFFFFF + StackFO.png + Control.HasFocus(17) + + + 960 + 0 + 140 + 40 + 88FFFFFF + StackFO.png + Control.HasFocus(17) + + + 10 + 5 + 30 + 30 + ListItem.Icon + + + 50 + 0 + 190 + 35 + font12 + left + center + grey2 + selected + ListItem.ChannelName + + + 260 + 0 + 650 + 35 + font13 + left + center + white + selected + ListItem.Label + + + 950 + 0 + 500 + 40 + font12 + right + center + white + selected + ListItem.Date + + + 970 + 10 + 30 + 20 + PVR-IsRecording.png + ListItem.IsRecording + + + 1005 + 0 + 80 + 40 + font10 + left + center + grey2 + selected + + ListItem.IsRecording + + + 970 + 10 + 20 + 20 + PVR-HasTimer.png + ListItem.HasTimer + !ListItem.IsRecording + + + 1000 + 0 + 80 + 40 + font10 + left + center + grey2 + selected + + ListItem.HasTimer + + + + + 1105 + 50 + 25 + 520 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 16 + 36 + false + vertical + + + + Conditional + Page Count Label + 40r + 53r + 500 + 20 + font12 + grey + false + right + center + + + + + + + + TV Guide Channel + Control.IsVisible(15) + VisibleFadeEffect + + 80 + 60 + + Date Time label + 0 + 20 + 300 + 20 + font13_title + white + black + center + center + + + + Title + 300 + 20 + 600 + 20 + font13_title + white + black + center + center + + + + Status header label + 960 + 20 + 140 + 20 + font13_title + white + black + center + center + + + + separator image + 0 + 50 + 1100 + 1 + 88FFFFFF + separator2.png + + + 0 + 60 + 1100 + 500 + 15 + 15 + 31 + 75 + 75 + 200 + + + 0 + 0 + 1100 + 41 + MenuItemNF.png + + + 0 + 0 + 300 + 40 + 33FFFFFF + StackFO.png + + + 960 + 0 + 140 + 40 + 33FFFFFF + StackFO.png + + + 150 + 0 + 280 + 40 + font12 + center + center + grey2 + selected + ListItem.Label2 + + + 310 + 0 + 640 + 40 + font13 + left + center + grey2 + selected + ListItem.Label + + + 970 + 10 + 30 + 20 + PVR-IsRecording.png + ListItem.IsRecording + + + 1005 + 0 + 80 + 40 + font10 + left + center + grey2 + selected + + ListItem.IsRecording + + + 970 + 10 + 20 + 20 + PVR-HasTimer.png + ListItem.HasTimer + !ListItem.IsRecording + + + 1000 + 0 + 80 + 40 + font10 + left + center + grey2 + selected + + ListItem.HasTimer + + + + + 0 + 1 + 1100 + 98 + AAFFFFFF + black-back2.png + + + 0 + 0 + 1100 + 101 + MenuItemNF.png + + + 0 + 0 + 300 + 40 + AAFFFFFF + StackFO.png + !Control.HasFocus(15) + + + 960 + 0 + 140 + 40 + AAFFFFFF + StackFO.png + !Control.HasFocus(15) + + + 0 + 0 + 300 + 40 + 88FFFFFF + StackFO.png + Control.HasFocus(15) + + + 960 + 0 + 140 + 40 + 88FFFFFF + StackFO.png + Control.HasFocus(15) + + + 150 + 0 + 280 + 40 + font12 + center + center + white + selected + ListItem.Label2 + + + 310 + 0 + 640 + 40 + font13 + left + center + white + selected + ListItem.Label + + + Plot Value for TVShow + 50 + 40 + 1000 + 60 + font12 + justify + grey2 + black + - + + + + 970 + 10 + 30 + 20 + PVR-IsRecording.png + ListItem.IsRecording + + + 1005 + 0 + 80 + 40 + font10 + left + center + grey2 + selected + + ListItem.IsRecording + + + 970 + 10 + 20 + 20 + PVR-HasTimer.png + ListItem.HasTimer + !ListItem.IsRecording + + + 1000 + 0 + 80 + 40 + font10 + left + center + grey2 + selected + + ListItem.HasTimer + + + + + 1105 + 60 + 25 + 500 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 15 + 31 + false + vertical + + + + Conditional + Page Count Label + 40r + 53r + 500 + 20 + font12 + grey + false + right + center + + + + + + + + TV Guide Now/Next + Control.IsVisible(16) + VisibleFadeEffect + + 80 + 60 + + Time label + 0 + 20 + 100 + 20 + font13_title + white + black + center + center + + + + Channel label + 100 + 20 + 250 + 20 + font13_title + white + black + center + center + + + + Title + 350 + 20 + 550 + 20 + font13_title + white + black + center + center + + + + Status header label + 960 + 20 + 140 + 20 + font13_title + white + black + center + center + + + + separator image + 0 + 50 + 1100 + 1 + 88FFFFFF + separator2.png + + + 0 + 60 + 1100 + 500 + 16 + 16 + 31 + 76 + 76 + 200 + + + 0 + 0 + 1100 + 41 + MenuItemNF.png + + + 100 + 0 + 250 + 40 + 33FFFFFF + StackFO.png + + + 960 + 0 + 140 + 40 + 33FFFFFF + StackFO.png + + + 50 + 0 + 100 + 40 + font12 + center + center + grey2 + selected + ListItem.StartTime + + + 110 + 5 + 30 + 30 + ListItem.Icon + + + 150 + 0 + 190 + 35 + font12 + left + center + grey2 + selected + ListItem.ChannelName + + + 360 + 0 + 590 + 35 + font13 + left + center + grey2 + selected + ListItem.Label + + + 970 + 10 + 30 + 20 + PVR-IsRecording.png + ListItem.IsRecording + + + 1005 + 0 + 80 + 40 + font10 + left + center + grey2 + selected + + ListItem.IsRecording + + + 970 + 10 + 20 + 20 + PVR-HasTimer.png + ListItem.HasTimer + !ListItem.IsRecording + + + 1000 + 0 + 80 + 40 + font10 + left + center + grey2 + selected + + ListItem.HasTimer + + + + + 0 + 1 + 1100 + 98 + AAFFFFFF + black-back2.png + + + 0 + 0 + 1100 + 100 + MenuItemNF.png + + + 100 + 0 + 250 + 40 + AAFFFFFF + StackFO.png + !Control.HasFocus(16) + + + 960 + 0 + 140 + 40 + AAFFFFFF + StackFO.png + !Control.HasFocus(16) + + + 100 + 0 + 250 + 40 + 88FFFFFF + StackFO.png + Control.HasFocus(16) + + + 960 + 0 + 140 + 40 + 88FFFFFF + StackFO.png + Control.HasFocus(16) + + + 50 + 0 + 100 + 40 + font12 + center + center + white + selected + ListItem.StartTime + + + 110 + 5 + 30 + 30 + ListItem.Icon + + + 150 + 0 + 190 + 35 + font12 + left + center + white + selected + ListItem.ChannelName + + + 360 + 0 + 590 + 35 + font13 + left + center + white + selected + ListItem.Label + + + Plot Value for TVShow + 50 + 40 + 1000 + 60 + font12 + justify + grey2 + black + - + + + + 970 + 10 + 30 + 20 + PVR-IsRecording.png + ListItem.IsRecording + + + 1005 + 0 + 80 + 40 + font10 + left + center + grey2 + selected + + ListItem.IsRecording + + + 970 + 10 + 20 + 20 + PVR-HasTimer.png + ListItem.HasTimer + !ListItem.IsRecording + + + 1000 + 0 + 80 + 40 + font10 + left + center + grey2 + selected + + ListItem.HasTimer + + + + + 1105 + 60 + 25 + 500 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 16 + 31 + false + vertical + + + + Conditional + Page Count Label + 40r + 53r + 500 + 20 + font12 + grey + false + right + center + + + + + \ 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 @@ grey3 7 center + no 490 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 @@ + @@ -28,7 +29,7 @@ black-back.png Visible Hidden - 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(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) @@ -302,6 +303,19 @@ black Player.HasVideo + VideoPlayer.Content(MusicVideos) + + 85 + 30r + 700 + 20 + + left + center + font12 + grey + black + Player.HasVideo + VideoPlayer.Content(LiveTV) + @@ -572,8 +586,74 @@ Fake Button to fix Player Controls Navigation false + + 250 + 45 + VideoPlayer.Content(LiveTV) + VisibleFadeEffect + + 20 + 2 + 39 + 39 + + OSDChannelUPFO.png + OSDChannelUPNF.png + 50 + 601 + 610 + 611 + XBMC.PlayerControl(Previous) + + + 60 + 2 + 39 + 39 + + OSDChannelDownFO.png + OSDChannelDownNF.png + 600 + 603 + 610 + 611 + XBMC.PlayerControl(Next) + + + 100 + 2 + 39 + 39 + + OSDStopFO.png + OSDStopNF.png + 601 + 604 + 610 + 611 + down + XBMC.PlayerControl(Stop) + + + 180 + 2 + 39 + 39 + + OSDRecordOffFO.png + OSDRecordOffNF.png + 603 + 50 + 610 + 611 + XBMC.PlayerControl(record) + Player.CanRecord + Conditional + + [Player.HasAudio | Player.HasVideo] + !VideoPlayer.Content(LiveTV) VisibleFadeEffect 250 45 diff --git a/addons/skin.confluence/backgrounds/tv.jpg b/addons/skin.confluence/backgrounds/tv.jpg new file mode 100644 index 0000000000..9414690563 Binary files /dev/null and b/addons/skin.confluence/backgrounds/tv.jpg 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 Binary files /dev/null and b/addons/skin.confluence/media/OSDChannelDownFO.png differ diff --git a/addons/skin.confluence/media/OSDChannelDownNF.png b/addons/skin.confluence/media/OSDChannelDownNF.png new file mode 100644 index 0000000000..6795c43328 Binary files /dev/null and b/addons/skin.confluence/media/OSDChannelDownNF.png differ diff --git a/addons/skin.confluence/media/OSDChannelListFO.png b/addons/skin.confluence/media/OSDChannelListFO.png new file mode 100644 index 0000000000..a08bc13a7d Binary files /dev/null and b/addons/skin.confluence/media/OSDChannelListFO.png differ diff --git a/addons/skin.confluence/media/OSDChannelListNF.png b/addons/skin.confluence/media/OSDChannelListNF.png new file mode 100644 index 0000000000..8339fdced4 Binary files /dev/null and b/addons/skin.confluence/media/OSDChannelListNF.png differ diff --git a/addons/skin.confluence/media/OSDChannelUPFO.png b/addons/skin.confluence/media/OSDChannelUPFO.png new file mode 100644 index 0000000000..a3e6dbad5f Binary files /dev/null and b/addons/skin.confluence/media/OSDChannelUPFO.png differ diff --git a/addons/skin.confluence/media/OSDChannelUPNF.png b/addons/skin.confluence/media/OSDChannelUPNF.png new file mode 100644 index 0000000000..47e6e331bc Binary files /dev/null and b/addons/skin.confluence/media/OSDChannelUPNF.png differ diff --git a/addons/skin.confluence/media/OSDRecord2.png b/addons/skin.confluence/media/OSDRecord2.png deleted file mode 100644 index cb4fcf9edf..0000000000 Binary files a/addons/skin.confluence/media/OSDRecord2.png and /dev/null differ diff --git a/addons/skin.confluence/media/OSDRecordFO.png b/addons/skin.confluence/media/OSDRecordFO.png deleted file mode 100644 index fd2bb18fa9..0000000000 Binary files a/addons/skin.confluence/media/OSDRecordFO.png and /dev/null differ diff --git a/addons/skin.confluence/media/OSDRecordNF.png b/addons/skin.confluence/media/OSDRecordNF.png deleted file mode 100644 index db3d5753e1..0000000000 Binary files a/addons/skin.confluence/media/OSDRecordNF.png and /dev/null differ diff --git a/addons/skin.confluence/media/OSDRecordOff.png b/addons/skin.confluence/media/OSDRecordOff.png deleted file mode 100644 index cb73c77605..0000000000 Binary files a/addons/skin.confluence/media/OSDRecordOff.png and /dev/null differ diff --git a/addons/skin.confluence/media/OSDRecordOffFO.png b/addons/skin.confluence/media/OSDRecordOffFO.png new file mode 100644 index 0000000000..fd2bb18fa9 Binary files /dev/null and b/addons/skin.confluence/media/OSDRecordOffFO.png differ diff --git a/addons/skin.confluence/media/OSDRecordOffNF.png b/addons/skin.confluence/media/OSDRecordOffNF.png new file mode 100644 index 0000000000..db3d5753e1 Binary files /dev/null and b/addons/skin.confluence/media/OSDRecordOffNF.png differ diff --git a/addons/skin.confluence/media/OSDRecordOnFO.png b/addons/skin.confluence/media/OSDRecordOnFO.png new file mode 100644 index 0000000000..cb4fcf9edf Binary files /dev/null and b/addons/skin.confluence/media/OSDRecordOnFO.png differ diff --git a/addons/skin.confluence/media/OSDRecordOnNF.png b/addons/skin.confluence/media/OSDRecordOnNF.png new file mode 100644 index 0000000000..b3358180db Binary files /dev/null and b/addons/skin.confluence/media/OSDRecordOnNF.png differ diff --git a/addons/skin.confluence/media/OSDTeleTextFO.png b/addons/skin.confluence/media/OSDTeleTextFO.png new file mode 100644 index 0000000000..53eb5762fd Binary files /dev/null and b/addons/skin.confluence/media/OSDTeleTextFO.png differ diff --git a/addons/skin.confluence/media/OSDTeleTextNF.png b/addons/skin.confluence/media/OSDTeleTextNF.png new file mode 100644 index 0000000000..111c0685b2 Binary files /dev/null and b/addons/skin.confluence/media/OSDTeleTextNF.png differ diff --git a/addons/skin.confluence/media/OSDepgFO.png b/addons/skin.confluence/media/OSDepgFO.png new file mode 100644 index 0000000000..141f7adfc7 Binary files /dev/null and b/addons/skin.confluence/media/OSDepgFO.png differ diff --git a/addons/skin.confluence/media/OSDepgNF.png b/addons/skin.confluence/media/OSDepgNF.png new file mode 100644 index 0000000000..cf9a86b656 Binary files /dev/null and b/addons/skin.confluence/media/OSDepgNF.png 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 Binary files /dev/null and b/addons/skin.confluence/media/PVR-HasTimer.png 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 Binary files /dev/null and b/addons/skin.confluence/media/PVR-IsRecording.png differ diff --git a/addons/skin.confluence/media/StackNF.png b/addons/skin.confluence/media/StackNF.png index 17e5052671..0cbcd832fc 100644 Binary files a/addons/skin.confluence/media/StackNF.png and b/addons/skin.confluence/media/StackNF.png 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 Binary files /dev/null and b/addons/skin.confluence/media/epg-genres/0.png 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 Binary files /dev/null and b/addons/skin.confluence/media/epg-genres/112.png 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 Binary files /dev/null and b/addons/skin.confluence/media/epg-genres/128.png 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 Binary files /dev/null and b/addons/skin.confluence/media/epg-genres/144.png 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 Binary files /dev/null and b/addons/skin.confluence/media/epg-genres/16.png 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 Binary files /dev/null and b/addons/skin.confluence/media/epg-genres/160.png 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 Binary files /dev/null and b/addons/skin.confluence/media/epg-genres/176.png 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 Binary files /dev/null and b/addons/skin.confluence/media/epg-genres/192.png 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 Binary files /dev/null and b/addons/skin.confluence/media/epg-genres/208.png 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 Binary files /dev/null and b/addons/skin.confluence/media/epg-genres/224.png 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 Binary files /dev/null and b/addons/skin.confluence/media/epg-genres/240.png 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 Binary files /dev/null and b/addons/skin.confluence/media/epg-genres/32.png 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 Binary files /dev/null and b/addons/skin.confluence/media/epg-genres/48.png 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 Binary files /dev/null and b/addons/skin.confluence/media/epg-genres/64.png 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 Binary files /dev/null and b/addons/skin.confluence/media/epg-genres/80.png 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 Binary files /dev/null and b/addons/skin.confluence/media/epg-genres/96.png 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 Binary files /dev/null and b/addons/skin.confluence/media/gradient.png 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 Binary files /dev/null and b/addons/skin.confluence/media/home-power-inhibit-FO.png 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 Binary files /dev/null and b/addons/skin.confluence/media/home-power-inhibit.png differ -- cgit v1.2.3