R3.3.1 Win10 x64
I’m not sure about this but the API also not has a way to switch between Note-On Layer and Note-OFF Layer. Something like this
renoise.song().instruments[].layer_note
This not exist!
It is not possible to change both panels, but it is possible to detect which layer the selected sample belongs to:
renoise.Instrument.LAYER_NOTE_DISABLED
renoise.Instrument.LAYER_NOTE_ON
renoise.Instrument.LAYER_NOTE_OFF
-- Access to a sample mapping by index. Use property 'sample_mappings' to
-- iterate over all sample mappings and to query the sample (mapping) count.
renoise.song().instruments[]:sample_mapping(layer, index)
-> [renoise.SampleMapping object]
-- Mapping's layer (triggered via Note-Ons or Note-Offs?).
renoise.song().instruments[].sample_mappings[].layer, _observable
-> [enum = renoise.Instrument.LAYER]
Most of the entries I add in this thread have to do with visual access to the panels.
In general, if the API does not allow the visual change of a specific panel, it is not possible later to select any element that is inside it, losing control from the tool. There are the Note-On Layer & Note-Off Layer panels within the Keyzones or the selection of Vol-Pan-Ptc-Cut-Res-Drv within the Modulation.
On the other hand, if the API does not allow the selection of an object, parameter or member of a list, control is also lost from the tool. There is the lack of selection of the parameters in the list of the automation editor, or the selection of the current line within the phrase editor…
Sorry to insist on it, but it does not make much sense to have access to the change of a multitude of parameters from the API, if you do not previously allow the quoted selections or similar.
In general, almost everything is covered. But there are some details that “are not wishes” to fill this forum, they are things that are really lacking for consistency within the API. They are not new features. They are things that really should be available. Since they are not available, there are other things in the API that are available that cannot be used because they depend on the above to really have control.
…
R3.3.1 Win10 x64
Inconsistency in the API:
renoise.song().instruments[].sample_mappings[].read_only
when this condition is true, the API disable these options:
renoise.song().instruments[].sample_mappings[].base_note, _observable
renoise.song().instruments[].sample_mappings[].note_range, _observable
This should not happen. base_note and note_range should still be available to be able to create distribution functions (as custom Drum Kits) within keyzones when slices exist.
…
Switches activated
On the other hand, these two switches should appear deactivated:
…
Documentation error:
renoise.song().instruments[]:sample_mapping_overlap_mode, observable
Replace with this:
renoise.song().instruments[].sample_mapping_overlap_mode, observable
…
Issue with checking values
Also, I think the API wrongly checks the values of:
renoise.Instrument.OVERLAP_MODE_ALL
renoise.Instrument.OVERLAP_MODE_CYCLED
renoise.Instrument.OVERLAP_MODE_RANDOM
The values are compared with 1, 2 and 3, when it should be 0, 1 and 2.
You can check it in the terminal by printing:
renoise.song().selected_instrument.sample_mapping_overlap_mode=3
*** std::logic_error: ‘invalid overlap_mode enumeration value ‘3’. valid values are {OVERLAP_MODE_ALL = 1, OVERLAP_MODE_CYCLED = 2, OVERLAP_MODE_RANDOM = 3}.’
*** stack traceback:
*** [C]: ?
*** [C]: in function ‘__newindex’
*** [string “do…”]:22: in function <[string “do…”]:9>
*** [string “renoise.song().selected_instrument.sample_m…”]:1: in main chunk