The Api Wishlist Thread

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

please add to textfield this placeholder filter stuff

i need to be able to create shortcuts in the Sample Navigator context. i.e. i focus sample navigator, and specific shortcuts can be made. Currently I try to put in Sample Navigator:Paketti:something and nothing shows in the KeyBinds because the Sample Navigator section is not available for shortcutting.

Focus move to the following area

  • Pattern Sequencer
  • Pattern Matrix
  • Track Effects
  • Instrument Selector
  • Disk Browser - Songs - Folder Panel
  • Disk Browser - Songs - File Panel
  • Disk Browser - Instr. - Folder Panel
  • Disk Browser - Instr. - File Panel
  • Disk Browser - Samples - Folder Panel
  • Disk Browser - Samples - File Panel
  • Disk Browser - Other - Folder Panel
  • Disk Browser - Other - File Panel
  • Sample List
  • Phrase Controls

DC Filter/Soft Clipping/Auto Gain

It would be useful to be able to set this with a API, as it is always unset when playing *.xm, *.mod, *.it .

  • DC Filter
  • Soft Clipping
  • Auto Gain

Displaying the Song options

1 Like

EDIT: OOPS:

3373:renoise.song().transport.record_parameter_mode

already exists.

“Toggle Record to Envelopes/Pattern”

control over toggling this:
Screenshot 2024-09-10 at 7.33.24

  • Read OS Resolution (width / height) (for better resizing Dialogs)

  • Add Scrollbar features to LUA GUI API

Currently, it seems difficult to properly display information when a large amount of information may be displayed in a dialog.

please pretty please add

API function for setting Cursor to Sub Column (Panning, Delay, Volume, Sample FX, Instrument, Note)

renoise.song().selected_sub_column_index

this would allow me to jump to current note column’s specific sub_column.

Load Track Device Chain should allow for not overwriting current TrackDSP content, instead appending

renoise.app():load_track_device_chain(filename) 
  -> [boolean]

when triggering this, currently, it overwrites what’s there!

Slice: Automatically insert markers

  • Enable/Disable the Slice Marker Tool
  • Automatically insert markers

This is the same content as clicking here.
image

Example of use

The following routine, which is performed when creating a drum set by slicing drum phrases, etc., is executed by key bind.

  1. Enable the Slice Marker Tool
  2. Automatically insert markers
  3. Disable the Slice Marker Tool

Apply the following to the first slice source:

  • Loop set: Percussion
    4. Beatsync: Enable
    5. Mode: Percussion
    6. Loop: Forward
    7. Mute Group: Group1
    8. Playback: Autoseek

  • Loop set: Texture
    4. Beatsync: Enable
    5. Mode: Texture
    6. Loop: Forward
    7. Mute Group: Group1
    8. Playback: Autoseek

Apply the following to all sliced samples (other than the first slice source):

  1. Beatsync: Disable
  2. Trigger: One-Shot
  3. Playback: Autofade

Example of API Expression

renoise.song().selected_sample.slice_marker_tool_enabled = true
renoise.song().selected_sample.slice_marker_tool_enabled = false
renoise.song().selected_sample:slice_transient_detect()
renoise.song().selected_sample.slice_transient_detection_percentage = 0.5

Play Current Line

The Play Current Line has great potential.
This is a rather unique feature that Renoise has.
I have not heard of it in other DAWs.
In that sense, I would even say it is a selling point of Renoise.

Example of use

Hand crank music box playback

It would be interesting to have the following key bindings and MIDI Map to enable semi-manual playback like a hand-cranked music box.

Play Current Line (2nd)

  1. Play Current Line
  2. Go to Next Line

Play Previous Line

  1. Go to Previous Line
  2. Play Current Line

This is intended for use, for example

  • Assigning the mouse wheel to output any key bindings by input device remapping software
  • Operate with a MIDI knob on a rotary encoder

Furthermore, this kind of functionality can be implemented.
This is like assigning playback of a specified line to a MIDI keyboard or MPC-type pad.

This will be a unique way of playing, somewhere between a sampler and a sequencer, and will offer a new way of musical expression with Renoise.

However, it seems that without an API, some parts of the system will not work as expected, like this.

Please consider implementing this API.


Get the path of the currently selected file in the disk browser

Example of use

After correcting a sample with a misaligned loop seam, it would be useful to be able to render it immediately to the file under selection in the Disk Browser.

However, the current V3.4.4 does not seem to be able to implement this as there is no API to get the path of the currently selected file in the disk browser.
In addition, please consider implementing the following APIs.

  • which file is selected in disk browser
  • which folder are you in
  • is disk browser focused
  • which tab in disk browser are you in

config.xml definable stuff moved to API control

    <RecordSyncMode>Pattern</RecordSyncMode>
    <RecordCreateNewInstrument>false</RecordCreateNewInstrument>
    <RecordPrehear>false</RecordPrehear>
    <RecordDry>false</RecordDry>
    <RecordInputChannel>-1</RecordInputChannel>
    <RecordInputChannelMode>L+R</RecordInputChannelMode>
    <RecordExtraInputLatency>0</RecordExtraInputLatency>
    <RecordCompensateLatency>true</RecordCompensateLatency>
    <MetronomeVolume>0.707945764</MetronomeVolume>

if this is too much, then please pretty please make “RecordCreateNewInstrument” & “RecordSyncMode” API configurable

Enable/disable multiple switch elements (buttons/checkboxes/etc.) by mouse dragging

In Groovebox’s operation system, it is often the case that a series of buttons are stroked with a finger to enable or disable them all together.
It would be useful if such operation could be performed by some expression.

Example of use


Activate Keyzones > Drum Kit

This puts the key zones of the pre-recorded sample into drum kit format.

The reason why this simple API is important is that setting different samples to the same instrument is a very primitive need for a sampler.

In other words, unfortunately, the current V3.4.4 Renoise does not provide the simple yet powerful legacy workflow in 1980s hip-hop of the SP-12, MPC60, etc. in an intuitive way.
Most operators will forget what they were trying to do while using the mouse to navigate the myriad branches of complexity.
I believe that it would be easier to attract people from the vast hip-hop culture to Renoise as customers if they existed in an easy-to-use form in Renoise’s standard functionality, but I would be happy if you would consider making them API’s first.

Example of use

1 Like