The branch, frodo has been updated via 26125b5b0b09d8f04417f0472e576a144ba2cc07 (commit) from ce70dbb7e389e7ff6a349b129176c7548b3989ea (commit)
- Log ----------------------------------------------------------------- http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/scripts;a=commit;h=26125b5b0b09d8f04417f0472e576a144ba2cc07 commit 26125b5b0b09d8f04417f0472e576a144ba2cc07 Author: kibje <k...@xbmc.org> Date: Mon Jul 1 12:44:56 2013 +0200 [service.script.isyevents] updated to version 0.2.1 diff --git a/service.script.isyevents/ISYevents.py b/service.script.isyevents/ISYevents.py index e4a4b5a..3b83ac3 100644 --- a/service.script.isyevents/ISYevents.py +++ b/service.script.isyevents/ISYevents.py @@ -29,7 +29,7 @@ # CONSTANTS __author__ = 'Humble Robot' -__version__ = '0.2.0' +__version__ = '0.2.1' __url__ = 'https://code.google.com/p/isy-events/' __date__ = '4/2013' @@ -38,6 +38,7 @@ __date__ = '4/2013' import sys # xbmc import xbmcaddon +import xbmcgui # fetch addon information isy_events = xbmcaddon.Addon('service.script.isyevents') @@ -61,7 +62,7 @@ password = isy_browse.getSetting('password') host = isy_browse.getSetting('host') port = int(isy_browse.getSetting('port')) usehttps = isy_browse.getSetting('usehttps') == 'true' - + # open isy connection isy = pyisy.open(username, password, host, port, usehttps) # verify isy opened correctly @@ -70,32 +71,44 @@ if isy.__dummy__: message = log.translator(35002) xbmc.executebuiltin('Notification(' + header + ',' + message + ', 15000)') +# check last version run +last_ver = isy_events.getSetting('last_run_ver') +if last_ver != __version__: + header = log.translator(36000) + message = [log.translator(36001), log.translator(36002), log.translator(36003)] + xbmcgui.Dialog().ok(header, message[0], message[1], message[2]) + isy_events.setSetting('last_run_ver', __version__) + # create xbmc event handler xEvents = xb_events.xbmcEvents() # add handlers node_events = { - 'onStart': event_actions.ParseActionSettings(isy, isy_events.getSetting('dev_xbmc_start'), isy_events.getSetting('devact_xbmc_start')), - 'onQuit': event_actions.ParseActionSettings(isy, isy_events.getSetting('dev_xbmc_quit'), isy_events.getSetting('devact_xbmc_quit')), - 'onPlayMovie': event_actions.ParseActionSettings(isy, isy_events.getSetting('dev_video_start'), isy_events.getSetting('devact_video_start')), - 'onStopMovie': event_actions.ParseActionSettings(isy, isy_events.getSetting('dev_video_end'), isy_events.getSetting('devact_video_end')), - 'onPauseMovie': event_actions.ParseActionSettings(isy, isy_events.getSetting('dev_video_pause'), isy_events.getSetting('devact_video_pause')), - 'onResumeMovie': event_actions.ParseActionSettings(isy, isy_events.getSetting('dev_video_resume'), isy_events.getSetting('devact_video_resume')), - 'onPlayMusic': event_actions.ParseActionSettings(isy, isy_events.getSetting('dev_audio_start'), isy_events.getSetting('devact_audio_start')), - 'onStopMusic': event_actions.ParseActionSettings(isy, isy_events.getSetting('dev_audio_end'), isy_events.getSetting('devact_audio_end')), - 'onPauseMusic': event_actions.ParseActionSettings(isy, isy_events.getSetting('dev_audio_pause'), isy_events.getSetting('devact_audio_pause')), - 'onResumeMusic': event_actions.ParseActionSettings(isy, isy_events.getSetting('dev_audio_resume'), isy_events.getSetting('devact_audio_resume'))} + 'onStart': event_actions.ParseDeviceSetting(isy, isy_events, 'dev_xbmc_start'), + 'onQuit': event_actions.ParseDeviceSetting(isy, isy_events, 'dev_xbmc_quit'), + 'onScreenSaverOn': event_actions.ParseDeviceSetting(isy, isy_events, 'dev_xbmc_sson'), + 'onScreenSaverOff': event_actions.ParseDeviceSetting(isy, isy_events, 'dev_xbmc_ssoff'), + 'onPlayMovie': event_actions.ParseDeviceSetting(isy, isy_events, 'dev_video_start'), + 'onStopMovie': event_actions.ParseDeviceSetting(isy, isy_events, 'dev_video_end'), + 'onPauseMovie': event_actions.ParseDeviceSetting(isy, isy_events, 'dev_video_pause'), + 'onResumeMovie': event_actions.ParseDeviceSetting(isy, isy_events, 'dev_video_resume'), + 'onPlayMusic': event_actions.ParseDeviceSetting(isy, isy_events, 'dev_audio_start'), + 'onStopMusic': event_actions.ParseDeviceSetting(isy, isy_events, 'dev_audio_end'), + 'onPauseMusic': event_actions.ParseDeviceSetting(isy, isy_events, 'dev_audio_pause'), + 'onResumeMusic': event_actions.ParseDeviceSetting(isy, isy_events, 'dev_audio_resume')} xEvents.AddHandlers(node_events) program_events ={ - 'onStart': event_actions.ParseActionSettings(isy, isy_events.getSetting('prog_xbmc_start'), isy_events.getSetting('progact_xbmc_start')), - 'onQuit': event_actions.ParseActionSettings(isy, isy_events.getSetting('prog_xbmc_quit'), isy_events.getSetting('progact_xbmc_quit')), - 'onPlayMovie': event_actions.ParseActionSettings(isy, isy_events.getSetting('prog_video_start'), isy_events.getSetting('progact_video_start')), - 'onStopMovie': event_actions.ParseActionSettings(isy, isy_events.getSetting('prog_video_end'), isy_events.getSetting('progact_video_end')), - 'onPauseMovie': event_actions.ParseActionSettings(isy, isy_events.getSetting('prog_video_pause'), isy_events.getSetting('progact_video_pause')), - 'onResumeMovie': event_actions.ParseActionSettings(isy, isy_events.getSetting('prog_video_resume'), isy_events.getSetting('progact_video_resume')), - 'onPlayMusic': event_actions.ParseActionSettings(isy, isy_events.getSetting('prog_audio_start'), isy_events.getSetting('progact_audio_start')), - 'onStopMusic': event_actions.ParseActionSettings(isy, isy_events.getSetting('prog_audio_end'), isy_events.getSetting('progact_audio_end')), - 'onPauseMusic': event_actions.ParseActionSettings(isy, isy_events.getSetting('prog_audio_pause'), isy_events.getSetting('progact_audio_pause')), - 'onResumeMusic': event_actions.ParseActionSettings(isy, isy_events.getSetting('prog_audio_resume'), isy_events.getSetting('progact_audio_resume'))} + 'onStart': event_actions.ParseProgramSetting(isy, isy_events, 'prog_xbmc_start'), + 'onQuit': event_actions.ParseProgramSetting(isy, isy_events, 'prog_xbmc_quit'), + 'onScreenSaverOn': event_actions.ParseProgramSetting(isy, isy_events, 'prog_xbmc_sson'), + 'onScreenSaverOff': event_actions.ParseProgramSetting(isy, isy_events, 'prog_xbmc_ssoff'), + 'onPlayMovie': event_actions.ParseProgramSetting(isy, isy_events, 'prog_video_start'), + 'onStopMovie': event_actions.ParseProgramSetting(isy, isy_events, 'prog_video_end'), + 'onPauseMovie': event_actions.ParseProgramSetting(isy, isy_events, 'prog_video_pause'), + 'onResumeMovie': event_actions.ParseProgramSetting(isy, isy_events, 'prog_video_resume'), + 'onPlayMusic': event_actions.ParseProgramSetting(isy, isy_events, 'prog_audio_start'), + 'onStopMusic': event_actions.ParseProgramSetting(isy, isy_events, 'prog_audio_end'), + 'onPauseMusic': event_actions.ParseProgramSetting(isy, isy_events, 'prog_audio_pause'), + 'onResumeMusic': event_actions.ParseProgramSetting(isy, isy_events, 'prog_audio_resume')} xEvents.AddHandlers(program_events) # start events engine xEvents.RunMainLoop() \ No newline at end of file diff --git a/service.script.isyevents/addon.xml b/service.script.isyevents/addon.xml index df13c71..6fd94c5 100644 --- a/service.script.isyevents/addon.xml +++ b/service.script.isyevents/addon.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<addon id="service.script.isyevents" name="ISY Event Handler" version="0.2.0" provider-name="Humble Robot"> +<addon id="service.script.isyevents" name="ISY Event Handler" version="0.2.1" provider-name="Humble Robot"> <requires> <import addon="xbmc.python" version="2.1.0"/> <import addon="plugin.program.isybrowse" version="0.1.0"/> diff --git a/service.script.isyevents/changelog.txt b/service.script.isyevents/changelog.txt index 06be86d..2b8535a 100644 --- a/service.script.isyevents/changelog.txt +++ b/service.script.isyevents/changelog.txt @@ -1,3 +1,4 @@ +0.2.1 - Redesigned settings menu to allow custom dim settings on devices (Issue 7) and reduce clutter, Added Screen Saver events 0.2.0 - Addressed isue that printed excessive messages to the XBMC log (Issue 4), Updated pause detection to use JSON (Issue 5) 0.1.0 - First Release to XBMC Repository 0.0.1 - Alpha Release diff --git a/service.script.isyevents/resources/Lib/event_actions.py b/service.script.isyevents/resources/Lib/event_actions.py index 32f39b1..80cd847 100644 --- a/service.script.isyevents/resources/Lib/event_actions.py +++ b/service.script.isyevents/resources/Lib/event_actions.py @@ -25,27 +25,32 @@ # dictionary to translate actions __act_names__ = { - 'On': 'NodeOn', - 'Off': 'NodeOff', - 'Toggle': 'NodeToggle', - 'Fast On': 'NodeFastOn', - 'Fast Off': 'NodeFastOff', - 'Bright': 'NodeBright', - 'Dim': 'NodeDim', - 'On To 25%': 'NodeOn25', - 'On To 50%': 'NodeOn50', - 'On To 75%': 'NodeOn75', - 'On To 100%': 'NodeOn100', 'Run': 'ProgramRun', 'Run Then': 'ProgramRunThen', 'Run Else': 'ProgramRunElse' } -def ParseActionSettings(isy, addr, action): - if addr == '': - return None - elif action == 'None': +def ParseDeviceSetting(isy, isy_events, name): + enable = isy_events.getSetting(name + '_bool') + addr = isy_events.getSetting(name) + perc = int(float(isy_events.getSetting(name + '_perc'))) + + if enable == 'true': + if perc > 0: + return lambda: isy.NodeOn(addr, val=perc*255/100) + else: + return lambda: isy.NodeOff(addr) + else: return None + +def ParseProgramSetting(isy, isy_events, name): + enable = isy_events.getSetting(name + '_bool') + addr = isy_events.getSetting(name) + act = isy_events.getSetting(name + '_act') + action = __act_names__[act] + + if enable == 'true': + fun = getattr(isy, action) + return lambda: fun(addr) else: - fun = getattr(isy, __act_names__[action]) - return lambda: fun(addr) \ No newline at end of file + return None \ No newline at end of file diff --git a/service.script.isyevents/resources/Lib/xb_events.py b/service.script.isyevents/resources/Lib/xb_events.py index 6c0261e..b12da8e 100644 --- a/service.script.isyevents/resources/Lib/xb_events.py +++ b/service.script.isyevents/resources/Lib/xb_events.py @@ -45,12 +45,15 @@ class xbmcEvents(object): 'onPauseMovie': [], \ 'onPauseMusic': [], \ 'onResumeMovie': [], \ - 'onResumeMusic':[]} + 'onResumeMusic':[], \ + 'onScreenSaverOn': [], \ + 'onScreenSaverOff': []} # current status _playingMovie = mc.histlist(False) _playingMusic = mc.histlist(False) _paused = mc.histlist(False) + _screenSaver = mc.histlist(False) def __init__(self): pass @@ -92,6 +95,9 @@ class xbmcEvents(object): self.RaiseEvent('onStart') while(not xbmc.abortRequested): + # check screen saver status + self._screenSaver.set(bool(xbmc.getCondVisibility("System.ScreenSaverActive"))) + # check movie playing status self._playingMovie.set(player.isPlayingVideo()) @@ -109,6 +115,12 @@ class xbmcEvents(object): self._paused.set(False) # check for events + if self._screenSaver.step_on(): + # raise screen saver on event + self.RaiseEvent('onScreenSaverOn') + if self._screenSaver.step_off(): + # raise screen saver off event + self.RaiseEvent('onScreenSaverOff') if self._playingMovie.step_on(): # raise started playing movie self.RaiseEvent('onPlayMovie') diff --git a/service.script.isyevents/resources/language/English/strings.xml b/service.script.isyevents/resources/language/English/strings.xml index 736a68a..b47561d 100644 --- a/service.script.isyevents/resources/language/English/strings.xml +++ b/service.script.isyevents/resources/language/English/strings.xml @@ -6,34 +6,23 @@ <string id="30003">Audio</string> <!-- SETTINGS --> - <!-- NODES --> - <string id="32000">Node Events</string> - <string id="32001">Starting Device Address</string> - <string id="32002">Starting Device Action</string> - <string id="32003">Quitting Device Address</string> - <string id="32004">Quitting Device Action</string> - <string id="32005">Started Device Address</string> - <string id="32006">Started Device Action</string> - <string id="32007">Ended Device Address</string> - <string id="32008">Ended Device Action</string> - <string id="32009">Paused Device Address</string> - <string id="32010">Paused Device Action</string> - <string id="32011">Resumed Device Address</string> - <string id="32012">Resumed Device Action</string> - <!-- PROGRAMS --> - <string id="32100">Program Events</string> - <string id="32101">Starting Program Address</string> - <string id="32102">Starting Program Action</string> - <string id="32103">Quitting Program Address</string> - <string id="32104">Quitting Program Action</string> - <string id="32105">Started Program Address</string> - <string id="32106">Started Program Action</string> - <string id="32107">Ended Program Address</string> - <string id="32108">Ended Program Action</string> - <string id="32109">Paused Program Address</string> - <string id="32110">Paused Program Action</string> - <string id="32111">Resumed Program Address</string> - <string id="32112">Resumed Program Action</string> + <!-- HEADER --> + <string id="31000">Node Events</string> + <string id="31001">Program Events</string> + <!-- ENABLE TAGS--> + <string id="32001">Enable Starting Event</string> + <string id="32002">Enable Quitting Event</string> + <string id="32003">Enable Ended Event</string> + <string id="32004">Enable Paused Event</string> + <string id="32005">Enable Resume Event</string> + <string id="32006">Enable Screen Saver On Event</string> + <string id="32007">Enable Screen Saver Off Event</string> + <!-- NODE SUBOPTIONS --> + <string id="32101">Device Address</string> + <string id="32102">Set Device To (%)</string> + <!-- PROGRAM SUBOPTIONS --> + <string id="32201">Program Address</string> + <string id="32202">Command</string> <!-- MESSAGES --> <string id="33001">XBMC Event - </string> @@ -41,4 +30,10 @@ <!-- ERROR MESSAGES --> <string id="35001">ISY Connection Issue</string> <string id="35002">Could not connect to ISY. Check Settings. Using dummy ISY results.</string> + + <!-- UPDATE WARNING --> + <string id="36000">ISY-Events Update</string> + <string id="36001">The ISY Events addon has recently been updated</string> + <string id="36002">or installed. As a result some of your settings</string> + <string id="36003">may need to be checked before it will work properly.</string> </strings> \ No newline at end of file diff --git a/service.script.isyevents/resources/settings.xml b/service.script.isyevents/resources/settings.xml index 2a4e694..65edc56 100644 --- a/service.script.isyevents/resources/settings.xml +++ b/service.script.isyevents/resources/settings.xml @@ -1,58 +1,92 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <settings> - <category label="32000"> + <setting id="last_run_ver" type="text" default="" visible="false"/> + + <category label="31000"> <setting label="30001" type="lsep"/> - <setting label="32001" id="dev_xbmc_start" type="text" default=""/> - <setting label="32002" id="devact_xbmc_start" type="labelenum" values="None|On|Off|Fast On|Fast Off|Bright|Dim|On To 25%|On To 50%|On To 75%|On To 100%" default="None"/> - <setting label="32003" id="dev_xbmc_quit" type="text" default=""/> - <setting label="32004" id="devact_xbmc_quit" type="labelenum" values="None|On|Off|Fast On|Fast Off|Bright|Dim|On To 25%|On To 50%|On To 75%|On To 100%" default="None"/> + <setting label="32001" id="dev_xbmc_start_bool" type="bool" default="false"/> + <setting label="32101" id="dev_xbmc_start" type="text" default="" subsetting="true" visible="eq(-1,true)"/> + <setting label="32102" id="dev_xbmc_start_perc" type="slider" range="0,5,100" option="int" default="25" subsetting="true" visible="eq(-2,true)"/> + <setting label="32002" id="dev_xbmc_quit_bool" type="bool" default="false"/> + <setting label="32101" id="dev_xbmc_quit" type="text" default="" subsetting="true" visible="eq(-1,true)"/> + <setting label="32102" id="dev_xbmc_quit_perc" type="slider" range="0,5,100" option="int" default="25" subsetting="true" visible="eq(-2,true)"/> + <setting label="32006" id="dev_xbmc_sson_bool" type="bool" default="false"/> + <setting label="32101" id="dev_xbmc_sson" type="text" default="" subsetting="true" visible="eq(-1,true)"/> + <setting label="32102" id="dev_xbmc_sson_perc" type="slider" range="0,5,100" option="int" default="25" subsetting="true" visible="eq(-2,true)"/> + <setting label="32007" id="dev_xbmc_ssoff_bool" type="bool" default="false"/> + <setting label="32101" id="dev_xbmc_ssoff" type="text" default="" subsetting="true" visible="eq(-1,true)"/> + <setting label="32102" id="dev_xbmc_ssoff_perc" type="slider" range="0,5,100" option="int" default="25" subsetting="true" visible="eq(-2,true)"/> <setting label="30002" type="lsep"/> - <setting label="32005" id="dev_video_start" type="text" default=""/> - <setting label="32006" id="devact_video_start" type="labelenum" values="None|On|Off|Fast On|Fast Off|Bright|Dim|On To 25%|On To 50%|On To 75%|On To 100%" default="None"/> - <setting label="32007" id="dev_video_end" type="text" default=""/> - <setting label="32008" id="devact_video_end" type="labelenum" values="None|On|Off|Fast On|Fast Off|Bright|Dim|On To 25%|On To 50%|On To 75%|On To 100%" default="None"/> - <setting label="32009" id="dev_video_pause" type="text" default=""/> - <setting label="32010" id="devact_video_pause" type="labelenum" values="None|On|Off|Fast On|Fast Off|Bright|Dim|On To 25%|On To 50%|On To 75%|On To 100%" default="None"/> - <setting label="32011" id="dev_video_resume" type="text" default=""/> - <setting label="32012" id="devact_video_resume" type="labelenum" values="None|On|Off|Fast On|Fast Off|Bright|Dim|On To 25%|On To 50%|On To 75%|On To 100%" default="None"/> - + <setting label="32001" id="dev_video_start_bool" type="bool" default="false"/> + <setting label="32101" id="dev_video_start" type="text" default="" subsetting="true" visible="eq(-1,true)"/> + <setting label="32102" id="dev_video_start_perc" type="slider" range="0,5,100" option="int" default="25" subsetting="true" visible="eq(-2,true)"/> + <setting label="32003" id="dev_video_end_bool" type="bool" default="false"/> + <setting label="32101" id="dev_video_end" type="text" default="" subsetting="true" visible="eq(-1,true)"/> + <setting label="32102" id="dev_video_end_perc" type="slider" range="0,5,100" option="int" default="25" subsetting="true" visible="eq(-2,true)"/> + <setting label="32004" id="dev_video_pause_bool" type="bool" default="false"/> + <setting label="32101" id="dev_video_pause" type="text" default="" subsetting="true" visible="eq(-1,true)"/> + <setting label="32102" id="dev_video_pause_perc" type="slider" range="0,5,100" option="int" default="25" subsetting="true" visible="eq(-2,true)"/> + <setting label="32005" id="dev_video_resume_bool" type="bool" default="false"/> + <setting label="32101" id="dev_video_resume" type="text" default="" subsetting="true" visible="eq(-1,true)"/> + <setting label="32102" id="dev_video_resume_perc" type="slider" range="0,5,100" option="int" default="25" subsetting="true" visible="eq(-2,true)"/> + <setting label="30003" type="lsep"/> - <setting label="32005" id="dev_audio_start" type="text" default=""/> - <setting label="32006" id="devact_audio_start" type="labelenum" values="None|On|Off|Fast On|Fast Off|Bright|Dim|On To 25%|On To 50%|On To 75%|On To 100%" default="None"/> - <setting label="32007" id="dev_audio_end" type="text" default=""/> - <setting label="32008" id="devact_audio_end" type="labelenum" values="None|On|Off|Fast On|Fast Off|Bright|Dim|On To 25%|On To 50%|On To 75%|On To 100%" default="None"/> - <setting label="32009" id="dev_audio_pause" type="text" default=""/> - <setting label="32010" id="devact_audio_pause" type="labelenum" values="None|On|Off|Fast On|Fast Off|Bright|Dim|On To 25%|On To 50%|On To 75%|On To 100%" default="None"/> - <setting label="32011" id="dev_audio_resume" type="text" default=""/> - <setting label="32012" id="devact_audio_resume" type="labelenum" values="None|On|Off|Fast On|Fast Off|Bright|Dim|On To 25%|On To 50%|On To 75%|On To 100%" default="None"/> + <setting label="32001" id="dev_audio_start_bool" type="bool" default="false"/> + <setting label="32101" id="dev_audio_start" type="text" default="" subsetting="true" visible="eq(-1,true)"/> + <setting label="32102" id="dev_audio_start_perc" type="slider" range="0,5,100" option="int" default="25" subsetting="true" visible="eq(-2,true)"/> + <setting label="32003" id="dev_audio_end_bool" type="bool" default="false"/> + <setting label="32101" id="dev_audio_end" type="text" default="" subsetting="true" visible="eq(-1,true)"/> + <setting label="32102" id="dev_audio_end_perc" type="slider" range="0,5,100" option="int" default="25" subsetting="true" visible="eq(-2,true)"/> + <setting label="32004" id="dev_audio_pause_bool" type="bool" default="false"/> + <setting label="32101" id="dev_audio_pause" type="text" default="" subsetting="true" visible="eq(-1,true)"/> + <setting label="32102" id="dev_audio_pause_perc" type="slider" range="0,5,100" option="int" default="25" subsetting="true" visible="eq(-2,true)"/> + <setting label="32005" id="dev_audio_resume_bool" type="bool" default="false"/> + <setting label="32101" id="dev_audio_resume" type="text" default="" subsetting="true" visible="eq(-1,true)"/> + <setting label="32102" id="dev_audio_resume_perc" type="slider" range="0,5,100" option="int" default="25" subsetting="true" visible="eq(-2,true)"/> </category> - <category label="32100"> + <category label="31001"> <setting label="30001" type="lsep"/> - <setting label="32101" id="prog_xbmc_start" type="text" default=""/> - <setting label="32102" id="progact_xbmc_start" type="labelenum" values="None|Run|Run Then|Run Else" default="None"/> - <setting label="32103" id="prog_xbmc_quit" type="text" default=""/> - <setting label="32104" id="progact_xbmc_quit" type="labelenum" values="None|Run|Run Then|Run Else" default="None"/> + <setting label="32001" id="prog_xbmc_start_bool" type="bool" default="false"/> + <setting label="32201" id="prog_xbmc_start" type="text" default="" subsetting="true" visible="eq(-1,true)"/> + <setting label="32202" id="prog_xbmc_start_act" type="labelenum" values="Run|Run Then|Run Else" default="Run" subsetting="true" visible="eq(-2,true)"/> + <setting label="32002" id="prog_xbmc_quit_bool" type="bool" default="false"/> + <setting label="32201" id="prog_xbmc_quit" type="text" default="" subsetting="true" visible="eq(-1,true)"/> + <setting label="32202" id="prog_xbmc_quit_act" type="labelenum" values="Run|Run Then|Run Else" default="Run" subsetting="true" visible="eq(-2,true)"/> + <setting label="32006" id="prog_xbmc_sson_bool" type="bool" default="false"/> + <setting label="32201" id="prog_xbmc_sson" type="text" default="" subsetting="true" visible="eq(-1,true)"/> + <setting label="32202" id="prog_xbmc_sson_act" type="labelenum" values="Run|Run Then|Run Else" default="Run" subsetting="true" visible="eq(-2,true)"/> + <setting label="32007" id="prog_xbmc_ssoff_bool" type="bool" default="false"/> + <setting label="32201" id="prog_xbmc_ssoff" type="text" default="" subsetting="true" visible="eq(-1,true)"/> + <setting label="32202" id="prog_xbmc_ssoff_act" type="labelenum" values="Run|Run Then|Run Else" default="Run" subsetting="true" visible="eq(-2,true)"/> <setting label="30002" type="lsep"/> - <setting label="32105" id="prog_video_start" type="text" default=""/> - <setting label="32106" id="progact_video_start" type="labelenum" values="None|Run|Run Then|Run Else" default="None"/> - <setting label="32107" id="prog_video_end" type="text" default=""/> - <setting label="32108" id="progact_video_end" type="labelenum" values="None|Run|Run Then|Run Else" default="None"/> - <setting label="32109" id="prog_video_pause" type="text" default=""/> - <setting label="32110" id="progact_video_pause" type="labelenum" values="None|Run|Run Then|Run Else" default="None"/> - <setting label="32111" id="prog_video_resume" type="text" default=""/> - <setting label="32112" id="progact_video_resume" type="labelenum" values="None|Run|Run Then|Run Else" default="None"/> - + <setting label="32001" id="prog_video_start_bool" type="bool" default="false"/> + <setting label="32201" id="prog_video_start" type="text" default="" subsetting="true" visible="eq(-1,true)"/> + <setting label="32202" id="prog_video_start_act" type="labelenum" values="Run|Run Then|Run Else" default="Run" subsetting="true" visible="eq(-2,true)"/> + <setting label="32003" id="prog_video_end_bool" type="bool" default="false"/> + <setting label="32201" id="prog_video_end" type="text" default="" subsetting="true" visible="eq(-1,true)"/> + <setting label="32202" id="prog_video_end_act" type="labelenum" values="Run|Run Then|Run Else" default="Run" subsetting="true" visible="eq(-2,true)"/> + <setting label="32004" id="prog_video_pause_bool" type="bool" default="false"/> + <setting label="32201" id="prog_video_pause" type="text" default="" subsetting="true" visible="eq(-1,true)"/> + <setting label="32202" id="prog_video_pause_act" type="labelenum" values="Run|Run Then|Run Else" default="Run" subsetting="true" visible="eq(-2,true)"/> + <setting label="32005" id="prog_video_resume_bool" type="bool" default="false"/> + <setting label="32201" id="prog_video_resume" type="text" default="" subsetting="true" visible="eq(-1,true)"/> + <setting label="32202" id="prog_video_resume_act" type="labelenum" values="Run|Run Then|Run Else" default="Run" subsetting="true" visible="eq(-2,true)"/> + <setting label="30003" type="lsep"/> - <setting label="32105" id="prog_audio_start" type="text" default=""/> - <setting label="32106" id="progact_audio_start" type="labelenum" values="None|Run|Run Then|Run Else" default="None"/> - <setting label="32107" id="prog_audio_end" type="text" default=""/> - <setting label="32108" id="progact_audio_end" type="labelenum" values="None|Run|Run Then|Run Else" default="None"/> - <setting label="32109" id="prog_audio_pause" type="text" default=""/> - <setting label="32110" id="progact_audio_pause" type="labelenum" values="None|Run|Run Then|Run Else" default="None"/> - <setting label="32111" id="prog_audio_resume" type="text" default=""/> - <setting label="32112" id="progact_audio_resume" type="labelenum" values="None|Run|Run Then|Run Else" default="None"/> + <setting label="32001" id="prog_audio_start_bool" type="bool" default="false"/> + <setting label="32201" id="prog_audio_start" type="text" default="" subsetting="true" visible="eq(-1,true)"/> + <setting label="32202" id="prog_audio_start_act" type="labelenum" values="Run|Run Then|Run Else" default="Run" subsetting="true" visible="eq(-2,true)"/> + <setting label="32003" id="prog_audio_end_bool" type="bool" default="false"/> + <setting label="32201" id="prog_audio_end" type="text" default="" subsetting="true" visible="eq(-1,true)"/> + <setting label="32202" id="prog_audio_end_act" type="labelenum" values="Run|Run Then|Run Else" default="Run" subsetting="true" visible="eq(-2,true)"/> + <setting label="32004" id="prog_audio_pause_bool" type="bool" default="false"/> + <setting label="32201" id="prog_audio_pause" type="text" default="" subsetting="true" visible="eq(-1,true)"/> + <setting label="32202" id="prog_audio_pause_act" type="labelenum" values="Run|Run Then|Run Else" default="Run" subsetting="true" visible="eq(-2,true)"/> + <setting label="32005" id="prog_audio_resume_bool" type="bool" default="false"/> + <setting label="32201" id="prog_audio_resume" type="text" default="" subsetting="true" visible="eq(-1,true)"/> + <setting label="32202" id="prog_audio_resume_act" type="labelenum" values="Run|Run Then|Run Else" default="Run" subsetting="true" visible="eq(-2,true)"/> </category> </settings> \ No newline at end of file ----------------------------------------------------------------------- Summary of changes: service.script.isyevents/ISYevents.py | 57 ++++++---- service.script.isyevents/addon.xml | 2 +- service.script.isyevents/changelog.txt | 1 + .../resources/Lib/event_actions.py | 39 ++++--- .../resources/Lib/xb_events.py | 14 ++- .../resources/language/English/strings.xml | 51 ++++----- service.script.isyevents/resources/settings.xml | 122 +++++++++++++------- 7 files changed, 173 insertions(+), 113 deletions(-) hooks/post-receive -- Scripts ------------------------------------------------------------------------------ This SF.net email is sponsored by Windows: Build for Windows Store. http://p.sf.net/sfu/windows-dev2dev _______________________________________________ Xbmc-addons mailing list Xbmc-addons@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xbmc-addons