So far I seem to have a form of understanding that goes roughly like this:
There can be added keybinds which run functions, which are fired everytime the keyboard is run. it’s a one-stop shop, press a button, function runs and ends.
then there’s this, far more obscure “run always” type thing which seems to be run when Renoise starts. This of course dies the minute you restart renoise and it tries to set locals or call locals that access renoise.song() - firing an error when the script is run and it discovers that no song exists. I don’t really know how to make them go, so to speak, without shooting errors and forcing me to ditch them.
now, i’m not sure, but it seems that the notifiers and observables are better called via a GUI - i.e. then you have a button that toggles something on, and that something which has been toggled on, can be toggled off. the user knows that okay, now the button is pressed, now it’s not – and, as expected, a notifier is created which fires a function when an observable item changes. obviously a notifier to run a function is created when the button is pressed - and it will stay as a notifier, tied to that observable, ready to be run when that observable item changes.
and the button press in the gui will then check if there’s a notifier, and remove it. the first button press will of course check and remove a notifier and then add a notifier, to make sure there’s only 1 notifier by that name (functionname), for that observable. so far, so good.
now, here’s the thing i don’t get.
when you don’t use a gui, and instead use keyboard shortcuts. the only visibility is that when a mode is on, the show_status says “this is on” or then “this is off”. what i really do not grasp is, is the concept to actually put the notifier creation into the add_keybinding directly? and then when the function is run, it does exactly what it should, i.e., what it does?
so far i have been using a keybinding to call a function, which does a few things, then clears&adds a notifier to a specific observable, which then runs a function (or, more like it, doesn’t, at all), and then i hope for the best. it seems to me that an instrument change observable for autofade would be one of those “autoexec.bat” type things, which shoot those renoise.song()=doesntexisterr0rrs at me on start of renoise. but maybe not.
i just have a really hard time figuring out how to fit this whole notifier thing into what i kind-of know how to manipulate, after so much help from everyone on the forums and elsewhere.