The Api Wishlist Thread

Hi,

I’m still a novice regarding the tools building, so sorry if this was already addressed, but I don’t think that currently it’s possible to access the Sample Recorder parameters, except for the start and stop recording. It would be really nice if all other recorder parameters would be exposed, and some (sample rate, bit rate etc).

Also one technical question regarding sample recording in Renoise: I can see for a brief second that the status bar shows a lots of messages once the recording was done (recording stopped). My assumption is that the sample is recorded to disk, and then loaded to either a sample or a new sample slot. Which is just fine way to wrap up the recording, since HD space is still much bigger than the memory space.

But, I believe it would be really great if Renoise could have an option to record samples directly to memory. I assume that’s not that simple to implement currently, but it would be great to have as an alternative.

Also, one FR regarding recording is that when recording is engaged and option to record to new instrument should create a new instrument before the recording is done.

What I currently want to accomplish while recording a new take is to automatically set the Autoseek and insert a C4 for a currently selected (newly recorded) instrument in the selected track, basically simulating the tape recorder once recording was done. I might hack it around since I understand that the next instrument will be occupied with the recording of a track, but would like to have a cleaner path to what I want to accomplish.

Thanks

I would really appreciate being able to write to macromappings.

-- Macro mappings, target parameters.
renoise.song().instruments[].macros[].mappings[], _observable
  -> [read-only, array of renoise.InstrumentMacroMapping objects]

this seems to be read-only, unfortunately.

The ability to assign pitchbend to the virtual keyboard’s pitchbend is a hassle because it requires manual setting with the mouse every time, despite the fact that it seems to be a very standard use case.
I originally requested this from @esaruoho to solve this issue.

1 Like

a method for outputting “currently selected folder” from disk browser to API.

this would help in f.ex. running “os.execute Terminal.app (Disk Browser Path)”, as that would be pretty hot.
i.e. a need for a way to communicate the selected sample path.+ filename (or “folder you are in” path) to external apps.

next

i really need “copy samples from note-on layer to note-off layer” API functions back.

next

SampleModulationDevice Target snooping - i.e. "which Modulation is selected (Volume, Panning, Pitch, Cutoff, Resonance, Drive). "
I need to be able to tell my shortcuts that load modulation devices, where to load them to. I can’t currently do it, and don’t feel like writing 8*6 shortcuts - i’d be happier with just having 8 shortcuts that are context/selection aware.

next

ditto, i would also like to modify the Slicing Sensitivity aka Transition Detection.


next

i need a method for opening these OS dialogs in a specific user-defined folder from API.

i.e. file-extensions, open_in_path, dialog_title
thanks!

-- Opens a modal dialog to query an existing directory from the user.
renoise.app():prompt_for_path(dialog_title)
  -> [valid path or empty string]

-- Opens a modal dialog to query a filename and path to read from a file.
-- The given extension(s) should be something  like {"wav", "aiff"
-- or "*" (any file) }
renoise.app():prompt_for_filename_to_read({file_extensions}, dialog_title)
  -> [filename or empty string]

-- Same as 'prompt_for_filename_to_read' but allows the user to select
-- more than one file.
renoise.app():prompt_for_multiple_filenames_to_read({file_extensions}, dialog_title)
  -> [list of filenames or empty list]
1 Like

a method for toggling Instrument Properties (below the Instrument Box)
a method for closing Disk Browser and instead having the Instrument Box take up the whole vertical space.

a method for resizing Disk Browser / Instrument Box sizes

and for turning these instrument properties things on/off
Screenshot 2024-04-30 at 16.26.25

EDIT:

Automation stuff:

  • a method for selecting a device within the Track Automation List
  • a method for selecting a parameter within the device within the Track Automation List.

We can already do this with Track DSP (well at least the device selection), just missing it from the Automation List.

This would be pretty magical. I have a script that would really benefit from this.

EDIT:

-- When true, the middle frame views (like the pattern editor) will
-- stay focused unless alt or middle mouse is clicked.
renoise.app().window.lock_keyboard_focus
  -> [boolean]

while this exists, give the same lock keyboard focus for Track Automation. or a way to make the Track Automation focused, maybe not even lock.

Import of Keybindings.xml

Importing Keybindings.xml is a standard feature.
It would actually be very helpful if this could be done with the API.
The only argument required might be the file path.

Renoise has a problem that the key operation system tends to be complex.
For example, if it were possible to import Keybindings.xml by key bindings, it would be possible to change the key bindings set at the same time as switching to the pattern editor, mixer, sample editor, etc., like vim in the editor.

Other application possibilities should be quite wide.
If someone created a key binding set so that Renoise can use a simple operation system like Dirtywave M8, it would also be easy to switch to it.
Even simple additions to functionality have a wide range of applicability, and I believe the impact that can be brought to Renoise through extensions will be very significant.

@taktik Sorry to ping you and make a brazen request. I hope you will consider it. My guess is that it should be relatively hassle-free. Sorry if I am wrong.

I am discussing with @esaruoho in this way in anticipation of those.

1 Like
renoise.song().phrase_selected_line_index
renoise.song().phrase_selected_note_column_index
renoise.song().phrase_selected_effect_column_index
1 Like

need a way of finding out which modulation am in - i.e. Volume, Panning, Pitch, Cutoff, Resonance, Drive

A fully working, full feature XML lib would be very cool, with support for attributes, searching, just like mentioned here. Or an extension of the Document API with attributes and searching…

renoise.song().phrases[].color_blend
renoise.song().selected_phrase.color_blend
renoise.song().scopes[renoise.song().selected_track_index].color_blend

and

renoise.app():load_keybindings("path/to/keybindings.xml")
renoise.app():save_keybindings("path/to/keybindings.xml")
renoise.app():reset_keybindings
renoise.app().clipboards[].paste
renoise.app().clipboards[].copy

so basically a method of using the API to provide content to the pattern iterator

EDIT:
Sample Navigator keybindings. currently not available for binding.

EDIT2:

renoise.song().selected_sample.sample_buffer.selection_range.play

this would play the selection_range

Selecting Sync Format

Add API to select the following sync format

  • Internal
  • MIDI Clock
  • Ableton Link
  • Jack Transport
    image
1 Like

Sample Playback

To automatically play samples after rendering, for example.
Pressing Enter in the sample editor will play it, but I would like to do that with the API.

Screencast:

Retrieving selected text

It would be useful to be able to reuse selected text within the text editor.

add initial_path to all prompt_for_filename etc - so you can set where it should go

renoise.app():prompt_for_filename_to_read({"*.XRNI"}, "Dialog", initial_path)

EDIT: add “initial filename” so

renoise.app():prompt_for_filename_to_write(file_extension, dialog_title)
  -> [filename or empty string]

would also have “initial_filename”

this would let me, via script, put in an automatically generated name, such as sample.name or instrument.name

Sample Editor buttons available via API.

1st:

renoise.app():sample_mouse_draw

for setting this:

2nd:
add API control for triggering buttons like Normalize and DC Offset, Fade In, Fade out. i.e. just "API command for running the command, as if you pressed it)

Method for opening a dialog in a specific x-y position, querying dialog position, and saving the x-y position in tool preferences. thank you so very much!

EDIT:
since i’m at my limit of 3 posts again before can post more, here’s one more.

“Play Current Line” API function. a few flavors.

Play Current Line in Current Column of Selected Track
Play Current Line in Selected Track
Play Current Line of all Tracks
Play Current Line of Selection in Pattern in Song

I just found some repositories related to Renoise are updated. It’s very intering. I think Renoise Scripting Development Book is very useful to develop Renoise tools for us. BTW, old issues and pull requests are deleted,
and we cannot confirm them. Is that no problem?

https://renoise.github.io/xrnx/start/index.html

Name of the window and area currently in focus

  • Notification (Pull operation from tool)
  • Event when changed (Push operation to tool)
1 Like

They got moved to:

The documentation and tools simply got separate repositories now.

1 Like