Fixed issues are marked with [Fixed B4] in this forum. Beside of the fixes there is:
- [changed B4] scripts can now no longer dead-lock Renoise. Endless loops like
-- silly example
while (true) do
-- nothing
end
or other things in tools that take ages (more than about 10 seconds) will result in a messagebox, giving the user the ability to terminate the script or continue waiting for the script to do its job.
-
[changed B4] new bunch of new default OSC actions (OSC messages that you can send to the OSC server that is created by Renoise by default and can be configured in the Renoise Preferences). Transport should be complete now, there are also a bunch of device (FX parameter), sequencer and track mappings available now. Please let us know what else you miss or share the mappings you maybe already have done by your own.
-
[added B4] ViewBuilder:xypad (XY Pad just like you know it from the XY Pad Device in Renoise) Also supports auto-snapping to a specified value, like a joystick. See the updated ExampleToolGUI.xrnx for examples: https://code.google.com/p/xrnx/source/browse/trunk/Tools/
-
[added B4] List notifiers will also pass a table with information about what happened to the list as first argument to the notifier:
function my_list_changed_notifier(notification)
When a new element got added, "notification" is {
type = "insert",
index = index_where_element_got_added
}
When a element got removed, "notification" is {
type = "remove",
index = index_where_element_got_removed_from
}
When two entries swapped their position, "notification" is {
type = "swap",
index1 = index_swap_pos1,
index2 = index_swap_pos2
}
This will work for any list observables, like renoise.song().tracks_observable or renoise.song().instruments_observable just like for your own created ObservableLists
-
[added B4] observable_list:swap(pos1, pos2)
-
[added B4] renoise.tool():has_menu_entry(menu_entry_name), renoise.tool():has_keybinding(keybinding_name)
-
[added B4] simple timers for tools (based on the idle notifications):
renoise.tool():has_timer(function), renoise.tool():add_timer(function, timer_interval_in_ms), renoise.tool():remove_timer(timer_func) -
[added B4] renoise.song().transport.playing_observable
-
[added B4] Dialog Keyhandlers: When returning the passed key from the key-handler function, the key will be passed back to Renoises key event chain, in order to allow processing global Renoise key-bindings from your dialog. This will not work for modal dialogs. This will also only apply global shortcuts in Renoise, because your dialog will steal the focus from all other Renoise views like e.g.: the pattern editor.