backend support for configurable dynamic history and future sizes
This commit is contained in:
parent
8ac548ce88
commit
491e273c33
1 changed files with 8 additions and 4 deletions
|
|
@ -13,11 +13,15 @@ exports.Plugin = class DynamicMode extends Plugin
|
|||
restoreState: (state) =>
|
||||
@is_on = state.status.dynamic_mode ? false
|
||||
@random_ids = state.status.random_ids ? {}
|
||||
@history_size = state.status.dynamic_history ? 10
|
||||
@future_size = state.status.dynamic_future ? 10
|
||||
|
||||
saveState: (state) =>
|
||||
state.status.dynamic_mode = @is_on
|
||||
state.status.dynamic_mode_enabled = @is_enabled
|
||||
state.status.random_ids = @random_ids
|
||||
state.status.dynamic_history = @history_size
|
||||
state.status.dynamic_future = @future_size
|
||||
|
||||
setConf: (conf, conf_path) =>
|
||||
@is_enabled = true
|
||||
|
|
@ -33,14 +37,14 @@ exports.Plugin = class DynamicMode extends Plugin
|
|||
|
||||
onSocketConnection: (socket) =>
|
||||
socket.on 'DynamicMode', (data) =>
|
||||
value = JSON.parse data.toString()
|
||||
return unless @is_enabled
|
||||
value = JSON.parse data.toString()
|
||||
return if @is_on == value
|
||||
@log.debug "DynamicMode is being turned #{value}"
|
||||
@is_on = value
|
||||
@checkDynamicMode()
|
||||
@onStatusChanged()
|
||||
|
||||
|
||||
checkDynamicMode: =>
|
||||
return unless @is_enabled
|
||||
return unless @mpd.library.artists.length
|
||||
|
|
@ -69,10 +73,10 @@ exports.Plugin = class DynamicMode extends Plugin
|
|||
|
||||
if @is_on
|
||||
commands = []
|
||||
delete_count = Math.max(current_index - 10, 0)
|
||||
delete_count = Math.max(current_index - @history_size, 0)
|
||||
for i in [0...delete_count]
|
||||
commands.push "deleteid #{item_list[i].id}"
|
||||
add_count = Math.max(11 - (item_list.length - current_index), 0)
|
||||
add_count = Math.max(@future_size + 1 - (item_list.length - current_index), 0)
|
||||
|
||||
commands = commands.concat ("addid #{JSON.stringify file}" for file in @getRandomSongFiles add_count)
|
||||
@mpd.sendCommands commands, (msg) =>
|
||||
|
|
|
|||
Loading…
Reference in a new issue