mirror of
https://github.com/correl/Transmission-XBMC.git
synced 2024-11-28 19:19:56 +00:00
Add ability to enable temporary speed limits on video playback
This commit is contained in:
parent
bb4b001fb6
commit
8cba366544
4 changed files with 23 additions and 7 deletions
|
@ -41,7 +41,10 @@
|
||||||
<string id="1002">Port</string>
|
<string id="1002">Port</string>
|
||||||
<string id="1003">User</string>
|
<string id="1003">User</string>
|
||||||
<string id="1004">Password</string>
|
<string id="1004">Password</string>
|
||||||
<string id="1005">Stop all torrents on video playback</string>
|
<string id="1005">Action on video playback</string>
|
||||||
|
<string id="1006">None</string>
|
||||||
|
<string id="1007">Pause all torrents</string>
|
||||||
|
<string id="1008">Enable Temporary Speed Limits</string>
|
||||||
|
|
||||||
<!-- Errors -->
|
<!-- Errors -->
|
||||||
<string id="9000">An unexpected error occurred</string>
|
<string id="9000">An unexpected error occurred</string>
|
||||||
|
|
|
@ -12,7 +12,7 @@ def get_settings():
|
||||||
'port': __settings__.getSetting('rpc_port'),
|
'port': __settings__.getSetting('rpc_port'),
|
||||||
'user': __settings__.getSetting('rpc_user'),
|
'user': __settings__.getSetting('rpc_user'),
|
||||||
'password': __settings__.getSetting('rpc_password'),
|
'password': __settings__.getSetting('rpc_password'),
|
||||||
'stop_all_on_playback': __settings__.getSetting('stop_all_on_playback')
|
'action_on_playback': __settings__.getSetting('action_on_playback')
|
||||||
}
|
}
|
||||||
return params
|
return params
|
||||||
|
|
||||||
|
|
|
@ -21,13 +21,18 @@ class SubstitutePlayer(xbmc.Player):
|
||||||
|
|
||||||
def onPlayBackStarted(self):
|
def onPlayBackStarted(self):
|
||||||
self.refreshSettings()
|
self.refreshSettings()
|
||||||
if self.active and xbmc.Player().isPlayingVideo():
|
if self.mode != '0' and xbmc.Player().isPlayingVideo():
|
||||||
|
if self.mode == '1':
|
||||||
self.stopAllTorrents()
|
self.stopAllTorrents()
|
||||||
|
elif self.mode == '2':
|
||||||
|
self.enableSpeedLimit()
|
||||||
|
|
||||||
def onPlayBackStopped(self):
|
def onPlayBackStopped(self):
|
||||||
self.refreshSettings()
|
self.refreshSettings()
|
||||||
if self.active:
|
if self.mode == '1':
|
||||||
self.startAllTorrents()
|
self.startAllTorrents()
|
||||||
|
elif self.mode == '2':
|
||||||
|
self.disableSpeedLimit()
|
||||||
|
|
||||||
def startAllTorrents(self):
|
def startAllTorrents(self):
|
||||||
if self.transmission:
|
if self.transmission:
|
||||||
|
@ -41,10 +46,18 @@ class SubstitutePlayer(xbmc.Player):
|
||||||
for tid, torrent in torrents.iteritems():
|
for tid, torrent in torrents.iteritems():
|
||||||
self.transmission.stop(tid)
|
self.transmission.stop(tid)
|
||||||
|
|
||||||
|
def enableSpeedLimit(self):
|
||||||
|
if self.transmission:
|
||||||
|
self.transmission.set_session(alt_speed_enabled=True)
|
||||||
|
|
||||||
|
def disableSpeedLimit(self):
|
||||||
|
if self.transmission:
|
||||||
|
self.transmission.set_session(alt_speed_enabled=False)
|
||||||
|
|
||||||
def refreshSettings(self):
|
def refreshSettings(self):
|
||||||
settings = common.get_settings()
|
settings = common.get_settings()
|
||||||
if settings != self.prev_settings:
|
if settings != self.prev_settings:
|
||||||
self.active = (settings['stop_all_on_playback'] == 'true')
|
self.mode = settings['action_on_playback']
|
||||||
try:
|
try:
|
||||||
self.transmission = common.get_rpc_client()
|
self.transmission = common.get_rpc_client()
|
||||||
except:
|
except:
|
||||||
|
|
|
@ -5,5 +5,5 @@
|
||||||
<setting id="rpc_port" type="number" label="1002" default="9091" />
|
<setting id="rpc_port" type="number" label="1002" default="9091" />
|
||||||
<setting id="rpc_user" type="text" label="1003" default="" />
|
<setting id="rpc_user" type="text" label="1003" default="" />
|
||||||
<setting id="rpc_password" type="text" option="hidden" label="1004" default="" />
|
<setting id="rpc_password" type="text" option="hidden" label="1004" default="" />
|
||||||
<setting id="stop_all_on_playback" type="bool" label="1005" default="false" />
|
<setting id="action_on_playback" type="enum" label="1005" lvalues="1006|1007|1008" />
|
||||||
</settings>
|
</settings>
|
||||||
|
|
Loading…
Reference in a new issue