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
function on_idle()
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...
end
end
renoise.tool().app_idle_observable:add_notifier(on_idle)
BTW:
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.
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.
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.