The Api Wishlist Thread

Lua or midi access to some of the sample parameters such as snap to beat for selection range. Maximize volume. Reverse sample. Trim etc.

Just my wish list, anyways.renoise is great software!

autofades moved tohttps://forum.renoise.com/t/the-api-wishlist-thread/29285

Something i’d like to have changed is the handling of the “selected_device” and “selected_parameter”… When i put my tool into the menu “DSP Device Automation” and user does a right click, opens the context menu, then the “selected_device” and “selected_parameter” should be updated or otherwise i have no idea for which parameter and device the context menu was triggered. Currently that menu is pretty pointless to have.

Same for the context menu for the track automation parameter list. Opening the context menu for parameters on different devices should also update “selected_device”. If i need the device from the “selected_parameter” i have to do a scan through all devices for it on the “selected_track”, should be unneccessary.

Another small wish would be to have a way to findout which type of automation a parameter uses. so i can use this information to enable/disable menus in my copy automation tool. When a parameter has only envelope automation, then i could disable the pattern command stuff and vice versa.

Would have a use for this too.

“Keep/Mute” API switch for #send and #Multisend moved tohttps://forum.renoise.com/t/the-api-wishlist-thread/29285

Would be kindly proved wrong but I don’t think this is possible currently.

A way to set cursor position and centre view of the Sample Editor screen.

For me this would be very useful for the Previous/Next Marker little script I have been trying to do (although I do hope to see the shortcuts native.)

I also believe it would be very useful for the MPE tool and possibly some others, where you may want to do sample editing via a MIDI interface, rather than computer mouse and keyboard.

Also the Preview Selection (Return key) function in the Sample Editor, which I believe I have seen mentioned elsewhere.

Sorry missed this before.

It sounds reasonable also.

It doesn’t seem possible to set the focus. This would be very valuable.

Suggestion:

renoise.app().window.selected_focus_index = 0

Will set focus to pattern editor. (You will need to handle elements in disabled frames, maybe by returning an error. Also if lock_keyboard_focus is true.)

Or some other solution. Basically I want to be able to cycle thru available focuses using a single keybind (and not by the available “focus next view”).

I too would love to set TrackDSP_focus, TrackDSP_loader_focus, DiskBrowserFiles_focus, DiskBrowserFolders_focus, InstrumentBox_Focus, PatternMatrix_Focus… and many others.

Another wishlist item from myself:

The ability to add items to the ‘automatable parameters’ items that link back into a script.

i.e. A script could add an item into this list:

This came about because of this thread about a proposal for a hardware synth editor tool: The editor tool could add a function to a/some track list automation section, this could then be automated as any other parameter, but instead of affecting a track DSP, the value is passed to the function and the Lua script handles what to do.

This may be a ‘simple’ and ‘obvious’ (from the users perspective) way to allow Renoise tools to be automatable from songs?

Improve “midi_mapping” API stuff.

Currently:

  
-- Returns true when the given mapping already exists, otherwise false.  
renoise.tool():has_midi_mapping(midi_mapping_name)  
 -> [boolean]  
  
-- Add a new midi_mapping entry as described above.  
renoise.tool():add_midi_mapping(midi_mapping_definition_table)  
  
-- Remove a previously added midi mapping by specifying its name.  
renoise.tool():remove_midi_mapping(midi_mapping_name)  
  

I would like to see something like (smarter function names/implementations welcome!):

  
-- Dump mapping  
-- Outputs: nil, "CH1|E-3", whatever the user has mapped.  
  
renoise.tool():get_midi_mapping(midi_mapping_name)  
 -> [table, string?]  
  
  
-- Set mapping  
-- Whatever is returned in the previous function can be set here.  
-- I imagine, for example, saving a table of mappings to a file, then loading   
-- that file as mappings into a new song.  
  
renoise.tool():set_midi_mapping(midi_mapping_name, ...)  
  
  
-- Get device  
-- Eg, this should return the same thing as:  
-- `midi_device = renoise.Midi.create_output_device(device_name)`  
-- Ideally, this function is optimized and prevents me from opening the same   
-- device 1000 times. Whatever is most intelligent, do it here.  
  
renoise.tool():get_midi_output_device(midi_mapping_name)  
 -> [midi_device]  
  
  
  

Thank you for your consideration.

I would like to have a focus per DSP parameter. This focus could be available renoise.song().selected_parameter_index and should always be set to the latest clicked/changed dsp parameter.

This way I would be able to use my jog-wheel (or keybind) browsing thru parameters before changing them.

Here is a related suggestion on how to display this selection, but it should probably be designed much less obtrusive. Dsp Keyboard Navigation

+1 if you think this would be natural :)

EDIT: I see that selected_parameter_index is already taken for the automation view, so maybe selected_parameter_focus or something then.

DC Offset Auto On / Off moved tohttps://forum.renoise.com/t/the-api-wishlist-thread/29285

moved dsp chain load&save and instrument load&save to

https://forum.renoise.com/t/the-api-wishlist-thread/29285

Another ‘simple’ request:

  • A viewbuilder ‘tabbed dialog’ control

The control would contain other controls (which could be arranged with row{} and column{} etc), but would have a list of tabs to select which ‘group’ of controls would be visible.

e.g. something like:

  
ViewBuilder:tabbed_group{  
 names = ["Tab1", "Tab2", "Tab3"], -- List of tab names  
 location = "top", -- Where the tabs are shown  
 tabs[[], [], []], -- A table which contains another table, one for each tab named in 'tab_names'  
}  
  

It would be useful with ‘control-rich’ Tools (e.g. ReSynth) as I could have one tab for oscillators, another for mixer settings, another for filters etc without taking over the whole screen.

You do can simulate this using the switchbutton and then use the “.visible” or “.enable” options for each group of objects…

set/get instrument envelopes settings.
undo/redo.
trigger drum kit function in sample mapping editor.
access last take data.
cut/copy/paste.

trigger anything that’s keyboard shortcut triggerable.

moved to here

moved to here

Dunno if it has been suggested before, but:

Imho a vb:button should trigger the same notifiers when clicked as when midi mapped and hit, and also provide visual feedback for midi action by default.
It’s rather unlikely that a button is supposed to do different things when clicked as when triggerd by midi.
(atm one has to setup a notifier for the button being pressed, and the same once again for the midi mapping, while visual feedback has to be coded manually (and the button might not even be accesible at the construction time of the midi mapping) … correct me if i’m wrong).

also:

BIG +1
cheers

I can see this being useful.

If a midi mappable function is not mapped the function would return nil

If it is mapped however, it would return the following table:

  
midi_map.map_mode = ENUM (Renoise.Midi_Map[.Trigger, .Gate, .Value, .Absolute7bit, .RelativeSignedBit, .RelativeSignedBit2, .RelativeBinOffset, .RelativeTwosComplement])  
midi_map.min = 0..1  
midi_map.max = 0..1  
midi_map.channel = 1..16  
midi_map.note = 0..128  
midi_map.cc_number = 0..128  
  

Thoughts?