When renoise.app():show_warning is used in a notifier for a parameter that has a drop-down menu, it will be triggered twice. This doesn’t happen for any other code in the notifier nor does this happen with any other type of parameter.
It only happens when manually changed by the user though; doing it through the API only triggers once. I notice when changing manually that the drop-down menu is still open on the first warning, but has closed for the second. Perhaps there’s some priority issue there?
Check it out:
a = renoise.song():track(1):insert_device_at("Audio/Effects/Native/Cabinet Simulator", 2)
a:parameter(1).value_observable:add_notifier(function() renoise.app():show_warning("Cabinet change.") end)
a:parameter(3).value_observable:add_notifier(function() renoise.app():show_warning("Gain change.") end)