since renoise.song().transport.playing is observable I actually don’t understand why
renoise.song().transport.loop_pattern is not.
Background: I’d like to observe both for propagating state to FaderPort Controller
Or have I overseen something ?
All the realtime, playback states are hard to make observable, thats why some of them are not - yet. This is in my TODO queue and I’ll try to add them till the end of the 2.6 beta.
For now you can poll them manually in the idle_notifier - observe them by your own:
local last_loop_pattern_mode = nil
local loop_pattern_mode = renoise.song().transport.loop_pattern
if (last_loop_pattern_mode ~= loop_pattern_mode) then
last_loop_pattern_mode = loop_pattern_mode
-- loop mode changed...
oki …very helpfull
Duplex FaderPort development makes progress and really is fun to do .
Devel speed could be higher, but I just can’t spend more time right now. I’ll release another alpha/beta ASAP.
Came back to this one.
What about observable-support for renoise.song().transport.edit_pos and maybe renoise.song().transport.playback_pos ?
Right now I’m polling edit_pos in on_idle() handler for recording fader values into automation envelopes (no CPU intensive operations I guess ?). I support write and latch modes and it works great despite one thing: when speed or LPB setting is high some positions are omitted / jumped over. For the first draft I can live with that, but observer support would really be cool.
Maybe a stupid question, but is this why my loop button doesn’t work on my Novation Nocturn 25?
all the other MMC controls seem to function fine.
I think it actually should work at least in “control->Renoise direction”. Means: if you press loop-button etc. off the Novation the state should be toggled inside Renoise. BTW: this should work for any midi controller.
My problem/request was related to the opposite “renoise->control direction”. The FaderPort has a LED light which should alway be enabled whenever loop pattern is activated. Right now this only works by continuously polling the state via idle() function.