Added:
-
List for renoise.DocumentNodes + a more OO approach to complex doc structures:
[added] renoise.document.document.create(“DocumentModelName”) -> acts as document constructor now
[added] renoise.document.document.instantiate(“DocumentModelName”) -> create new instance of document model “DocumentModelName”
[added] renoise.document.DocumentNode can be used as super class (inherit from it to create document nodes with Lua classes)
[added] renoise.document.DocumentList (create dynamic lists of renoise.document.DocumentNode’s - can hold any document nodes created via document.create or Lua classes which inherit from renoise.document.DocumentNode) -
Key handlers get virtual key repeats passed
[added] renoise.tool():add_keybinding: “invoke” function now gets a boolean argument passed -> “repeated”. which indicates if the key event is a virtual key repeat (auto-repeat when holding down the key a bit)
[added] renoise.Views.Dialog key_handler. key argument in the keyhandler now has boolean property -> “repeated”. which indicates if the key event is a virtual key repeat (auto-repeat when holding down the key a bit) -
MIDI mapping in XRNX tools
[added] renoise.tool():has_midi_mapping, add_midi_mapping, remove_midi_mapping -> create new MIDI mappings with XRNX tools.
[added] renoise.Views.Control: midi_mapping -> add custom or Renoise default MIDI mappings to GUIs created with scripts -
External plugin editior changes/additions:
[added] renoise.song().tracks[].devices[].external_editor_available, external_editor_visible -> open/close/check for DSP device plugin editors -
A few new observables:
[added] renoise.tool().app_release_document_observable -> fired right before a song gets released (new one will be loaded or created soon)
[added] renoise.tool().app_saved_document_observable -> fired right after a song was successfully saved
[added] renoise.song().transport.loop_pattern_observable
Changes:
-
Doc related
[changed] renoise.document.DocumentNode: “add”/“remove” is deprecated now, use “add_property”/“remove_property” instead
[changed] renoise.document.document.create() { } is deprecated now, use renoise.document.document.create(“DocumentModeName”) { } instead
[changed] renoise.document.DocumentNode.load_from/save_to no longer have a document_type argument (the model name or Lua class name is used as doc_type) -
plugin_device.external_editor
[changed] renoise.song().instruments[].plugin_properties.plugin_device.external_editor_available (moved from plugin_properties to plugin_properties.plugin_device)
Examples:
-
MIDI Mapping for tools
https://code.google…unk#trunk/Tools -> com.renoise.ExampleTool.xrnx and com.renoise.ExampleToolGui.xrnx -
Document Lists & Stuff
https://code.google…k/Documentation -> Renoise.document.API.lua
Important backward compatibility notes:
A few changes have been made which are NOT backwards compatible to the previous betas. In future we have a renoise.API_VERSION const to deal with such changes, but for now, as we are still in beta, I think its OK if we manually fix them now “by hand”. Not many tools will be affected. Here’s an overview of what changed in detail:
If your tool uses key handlers (either key_bindings or dialog key handler functions), check if the new “repeated” arguments do the right thing for your tool.
That’s it.
Sorry for the few non backward compatible changes, but this was the last chance to do so, get things straight. I don’t think many tools need to be updated at all. If you have any questions, need any help, let us know please!