
Welcome
... to the Renoise Lua Scripting Guide! This book is intended for developers who want to write their own scripts & tools for Renoise.
If you are only interested in downloading tools for Renoise and not in developing your own tools, please have a look at the Renoise Tools Page.
If you want to develop your own tools for Renoise, just keep reading.
Possibilities
Before you delve into writing your own scripts and tools, it worth considering what is even possible to do with them. In general, you can automate and manage different aspects Renoise, add or modify song data using algorithms or create interfaces to connect with other software or hardware. You can see some examples below about what you can access inside Renoise, for a complete reference, check out the API Definitions.
Process song data
- Generate, modify or filter notes, patterns or phrases
- Access volume, delays and panning values
- Write effect commands and automation
- Rearrange the pattern matrix and more
Manage tracks and instruments
- Create and modify instruments or tracks
- Add built-in DSP devices to tracks or FX chains and set their parameters
- Generate modulation chains on instruments
- Load samples and configure them
- Manage slices and keyzones
Sample generation and mangling
- Generate new samples and change existing ones
- Chop samples and create slices and intruments based on custom rules
- Implement offline audio effects
Custom graphical interfaces
- Use built-in sliders, buttons, switches and more to compose a GUI
- Listen to keyboard and mouse events to define custom behaviour
- Use bitmaps to create unique buttons
- Hook up the interface to the rest of your tool
Controller support
- Write logic for bidirectional communication between Renoise and MIDI controllers
- Implement custom functionality for MIDI control surfaces
- Control Renoise via customized OSC messages
- Exchange information with other software like VJ tools or web services
Interactions
There are a few ways tool creators can make the functionality they provide available for users, below is a brief summary of the most used methods.
- Define keybindings that can be assigned to shortcuts and executed from certain contexts in Renoise
- Add new entries to menus like the Tools menu or one of the right-click context menus
- Create custom views that do things on button presses, slider drags and so on
- Listen to MIDI, OSC or WebSocket messages to execute actions
- React to events inside Renoise like "do something any time a new song is loaded"
Limitations
Finally, let's look at what is not possible via tools.
-
You cannot override the existing behaviour of Renoise. You can add functionality on top of what's already there, but you can't disable or change how the built-in features work.
For example, you can create a completely custom GUI to compose patterns in a novel way but you cannot change how the built-in pattern editor works or looks like. Similarly, you can add a new shortcut that does something extra to the selected sample block or places new slices but you can't modify how the built-in autoslicing works. -
You cannot write real-time DSP code like synths, effects or modulators (except for scripts inside the Formula device), which is not using the Renoise Tool API. If you want to design your own synths and effects you should look into plugin development (using DISTRHO, nih-plug etc.), you could also use existing plugins that allow you to build your own DSP patches (like plugdata or Cardinal). Of course you can generate and modify samples using your tool, but it will have to be implemented as offline rendering instead of real-time processing.
Setting up your development environment
To start developing Scripts in Renoise, use the following two menu entries inside the Tools
menu on the top bar.
Scripting Terminal & Editor
- This will open the debugging console used to test things and see your tool's outputReload All Tools
- This will force a reload of all installed and running tools. It can be useful when adding new tools by hand or when changing them.
note
In previous versions of Renoise it was necessary to launch the Renoise executable with the --scripting-dev
argument to see the above mentioned menue entries.
Lua
Tools in Renoise are written using the Lua programming language. Lua is a dynamic language with a friendly syntax and good performance. While Renoise itself is written in C++, it has an API layer that exposes all sorts of aspects of the tracker so that tools can implement new functionality without the dangers of crashing Renoise itself or having to worry about low level programming challenges.
note
Teaching you programming is out of the scope of this guide but you can check out the book Programming in Lua to get a complete overview of the language. That said, you will probably be able to pick up a lot of things just by reading through this guide and checking out the examples. If you are the kind of person who learns best by doing stuff, getting straight into tinkering might be right up your alley.
Language Server
Luckily Lua has a language server called LuaLS which - when paired with the definitions for the Renoise API - can help you write code by providing useful hints about functions and variables, autocompletion and code diagnostics. You can even annotate your own code to keep things more explicit and well documented. While you can absolutely write Lua and create tools without any of this, we highly recommend setting it up.
If you are using VSCode you will have to do three things
- Install the Lua extension by sumneko
- Download the Renoise API definitions from Github
- Configure VSCode so that LuaLS knows where to find the definition files. For this you will have to either put this into your workspace's settings in your project folder (as
.vscode/settings.json
), or the global User Settings JSON file. Make sure to fill the paths below according to where you've extracted the previously downloaded definitions.
{
"Lua.workspace.library": [ "PATH/TO/RENOISE_DEFINITION_FOLDER" ],
"Lua.runtime.plugin": "PATH/TO/RENOISE_DEFINITION_FOLDER/plugin.lua"
}
For configuring other editors, you can check out the official docs about installation
Anatomy of a tool
There are a few things that all tools must conform to for Renoise to successfully recognize and load them.
com.domain_of_developer.name_of_tool.xrnx
├── manifest.xml
├── main.lua
├── cover.png
├── thumbnail.png
├── LICENSE
└── README.md
A tool is a folder or a zip file with the extension .xrnx
.
Required files:
main.lua
contains the tool's program.manifest.xml
is an XML file which describes your tool.
Optional files:
cover.png
600x350 px is a large image, used on the tools page overview and on the pages of individual tools.thumbnail.png
120x45 px is a small capsule image, used when tools are shown in a list on the tools website.README.md
is a markdown-formatted file that the website will render on the tool's page.LICENSE
is a raw text license file.
The paths to the cover, thumbnail, readme, and license files can be customized using the ...Path
tags in the manifest. See below for more info.
note
You'll see that the names of tool folders (and Id
field) follow reverse domain notation, but don't worry, you don't have to actually own a domain to create and share your tools. Just use whatever nickname you want, but make sure it's not already taken by other developers to avoid confusion.
If needed, you can split your tool into multiple files and use the "require" function to load them inside your main script, but to start with, you will be fine just using a single main script.
Some tools will also make use of other resources like bitmaps or audio samples; these should all be placed in the same folder (or any subfolders inside it).
Let's look at a basic tool to see what goes into these two files. You can find more elaborate examples by browsing the example tools.
Manifest
The manifest is a short XML file with the name manifest.xml
. It contains a few tag pairs like <Tag>...</Tag>
and some text between them. Renoise reads these and loads your tool based on the information it finds within.
Here is an entire manifest file from a HelloWorld tool:
<?xml version="1.0" encoding="UTF-8"?>
<RenoiseScriptingTool doc_version="0">
<!-- REQUIRED -->
<Id>com.yourDomain.HelloWorld</Id>
<ApiVersion>6.2</ApiVersion>
<Version>1.02</Version>
<Author>Your Name [your@email.com]</Author>
<Name>Hello World</Name>
<!-- OPTIONAL -->
<Category>Development, Workflow</Category>
<Description>
This tool is for printing "Hello World!" to the terminal when loaded.
</Description>
<Platform>Windows, Mac, Linux</Platform>
<License>MIT</License>
<LicensePath>LICENSE.md</LicensePath>
<ThumbnailPath>images/thumbnail.png</ThumbnailPath>
<CoverPath>images/cover.png</CoverPath>
<DocumentationPath>docs/README.md</DocumentationPath>
<Homepage>https://some.url/my-tool</Homepage>
<Documentation>https://some.url/my-tool-docs</Documentation>
<Discussion>https://some.url/my-tool</Discussion>
<Repository>https://git.some.url/my-tool</Repository>
<Donate>https://some.url/donate</Donate>
</RenoiseScriptingTool>
Let's go through what each of these tags means and what you should put inside them.
<?xml>
is the header for the XML file; this will stay the same across all tools.
<RenoiseScriptingTool>
tells Renoise that this XML describes a tool. Don't change this.
<!-- ... -->
is a XML comment, which will be ignored by Renoise.
Required Properties
<Id>
Should match the folder name of your tool exactly, without the.xrnx
at the end.<ApiVersion>
The version of the Renoise API your tool is using. This should be6.2
for the latest version.<Version>
The version of your tool. Whenever you release a new update, you should increase the version. Note that this is a number value and not a semantic version. So1.02
is a valid version, while1.0.2
is not.<Author>
Your name and contact information. Whenever your tool crashes, this information is going to be provided for the user alongside the crash message. You should provide a contact method where you can receive bug reports or questions.<Name>
The human-readable name of your tool. It can be anything you want, and you can change it anytime you feel like it.
Optional Properties
<Category>
One or more categories for your tool, separated via,
, which will be used to categorize your tool on the official Tools page if you ever decide to submit it there. See below for a valid list of categories.<Description>
A short description of your tool which will be displayed inside the Tool Browser in Renoise and on the official Tools page.<License>
The type of license, e.g., MIT or AGPL.<LicensePath>
Relative path to the license file within the XRNX bundle.<ThumbnailPath>
Relative path to the thumbnail icon file for the Tools page.<CoverPath>
Relative path to the cover image file for the Tools page.<DocumentationPath>
Relative path to a plain text or markdown documentation file.<Homepage>
The URL of your tool's homepage.<Discussion>
The URL of your tool's discussion page, e.g., on the Renoise forums.<Repository>
The URL of your tool's source code repository.<Donate>
A URL to a website where donations can be made to support your tool.<Documentation>
A URL to a website where your tool's documentation can be viewed.
Tool Categories
Valid categories are: Analysis
,Automation
,Bridge
,Coding
,Control
,Development
,DSP
,Editing
,Export
,Game
,Generator
,Hardware
,Import
,Instrument
,Integration
,Live
,MIDI
,Mixing
,Modulation
,Networking
,OSC
,Pattern
,Phrase
,Plugin
,Recording
,Rendering
,Sample
,Sequencer
,Slicing
,Tuning
,Workflow
XML Text Encoding
When writing the XML file in a regular text editor, ensure that text content is encoded correctly. Otherwise, the XML file will be invalid.
"
->"
'
->'
<
-><
>
->>
&
->&
main.lua
Now that we have a manifest file, we can get to the exciting part of printing a message to the Renoise console. The contents of the main.lua
file will just have a single line for now:
print("Hello world!")
Done! Now that you have written your first tool, you probably want to install and test it.
Installing tools
You can install any tool by dragging its folder (or a zip file with the .xrnx
extension and the tool's contents) onto Renoise. You can also copy the folder manually into your Tools folder.
note
When creating a zip file you should only zip the contents of the folder, not the folder itself
After you've installed a tool, it will be activated automatically. When in doubt, click the Tools / Reload All Tools.
Debugging
Scripting Terminal
By default, all print
s from all tools are redirected to the Renoise Scripting Terminal. So the easiest way to debug a tool is to add debug prints to your tool.
Since the prints are redirected only when the terminal is open, it doesn't hurt to keep them in distributed tools, but the prints do create some overhead, so remove them if that's relevant - before releasing your tool.
In addition to the standard Lua print
, the Renoise APi offers two other print functions that can help with debugging:
oprint(some_object)
prints all methods/properties of API objects (or your own class objects), e.g.oprint(renoise.song())
.rprint(some_table)
prints tables recursively, which is handy for printing the layout of the renoise module/class, e.g.rprint(renoise)
Autoreloading Tools
When working with Renoise's Scripting Editor, saving a script will automatically reload the tool that belongs to the file. This way you can simply change your files and immediately see/test the changes. When changing any files that are part of the "Libraries" folder, all scripts will get reloaded.
When working with an external text editor, you can enable the following debug option somewhere in the tool's main.lua file:
_AUTO_RELOAD_DEBUG = function()
-- do tests like showing a dialog, prompts whatever, or simply do nothing
end
As soon as you save your script outside of Renoise, and then focus Renoise again (alt-tab to Renoise, for example), your script will instantly get reloaded and the notifier is called.
If you don't need a notifier to be called each time the script reloads, you can also simply set _AUTO_RELOAD_DEBUG to true:
_AUTO_RELOAD_DEBUG = true
Remote Debugging
If printing isn't enough, there is also remote debugging support built into Renoise via Remdebug.
Remdebug is a command line based remote debugger for Lua that comes with Renoise.
Prerequisites
To use the debugger you will need:
-
Renoise's "remdebug" module, which can be found in "Scripts/Libraries/remdebug" (no installation required - included in Renoise)
-
Lua support on your system's command-line with the Lua "socket" module See http://w3.impa.br/~diego/software/luasocket/
Overview
The debugger will be controlled via a command-line Lua interpreter, outside
of Renoise via the remdebug/controller.lua script. To start a local debug
session from within Renoise you can use the function debug.start()
:
-- Opens a debugger controller in a new terminal/cmd window and
-- attaches the debugger to this script. Immediately breaks execution.
debug.start()
You can add this anywhere in any script that runs in Renoise. This will work in a tool's main.lua main() body, just like a local function that you include. It also works in the TestPad.lua script that is used in Renoise's Scripting Editor.
Step By Step Guide
Let's debug the following small test script, paste into RENOISE_PREFERENCES/Scripts/TestPad.lua:
debug.start()
local function sum(a, b)
return a + b
end
local c = sum(1, 2)
print(c)
debug.stop()
-
Launch Renoise's scripting editor, open "TestPad.lua", and hit the "Execute" button to run the script.
If Lua is correctly installed on your system, and remdebug was found, Renoise should be frozen now, with a terminal window opened showing something like:
> "Lua Remote Debugger"
> "Paused at file RENOISE_PREFERENCES_FOLDER/Scripts/TestPad.lua line 5"
>
> 1 debug.start()
> 2
> 3 local function sum(a, b)
> 4 return a + b
> 5*** end
> 6
> 7 local c = sum(1, 2)
> 8 print(c)
> 9
> 10 debug.stop()
>
>>
-
To step through the code, you can use the "s" and "n" commands in the terminal. Let's do so by entering "s" (Return) until we've reached line 8. Anything you type into the debugger, which is not a debugger command, will get evaluated in your running script as an expression. So let's try this by entering:
c=99
-
Then step over the line by entering "n" (Return) to evaluate the "print(c)" on line 9 in the script. You should see a "99" dumped out. To watch the value again, enter for example a
print(c)
. You should again see a "99" dumped out.
You can also set break and watchpoints in the debugger. Type 'help' in the terminal to get more info about this. Those who are familiar with gdb on the command-line may be able to quickly get up to speed when using the most common shortcuts (c,b,q, and so on...).
Please note that although "debug.stop()" is not necessary (you can simply quit the controller at any time to exit), its recommended and will be more comfortable when running a session over and over again.
Remote and Lua Editor debugging
Renoise's remdebug is fully compatible with the original remdebug controller from the kepler project. This means you can, in theory, also use debugger GUIs that use the original remdebug, like Lua Eclipse or SciTE for Lua.
However, this is often a PITA to setup and configure, and might not be worth the trouble. Try at your own risk...
The debugger can also be used to remote debug scripts, scripts running on other computers. To do so, use remdebug.engine.start/stop instead of "debug". debug.start/stop is just a shortcut to remdebug.session.start/stop.
"remdebug.engine.start" will only attach the debugger to your script and break execution. You then have to run the debugger controller manually on another computer. To do so, launch the remdebug.controller.lua file manually in a terminal:
- First we start the debugger controller. To do so, open a command-line on your system and invoke the remdebug/controller.lua script. You should see something like:
lua RENOISE_RESOURCE_FOLDER/Scripts/Libraries/remdebug/controller.lua
"Lua Remote Debugger"
"Run the program you wish to debug with 'remdebug.engine.start()' now"
- Now you can connect to this controller by running a script with
remdebug.engine.start()
, configured to find the controller on another machine (or the same one.)
require "remdebug.engine"
-- default config is "localhost" on port 8171
remdebug.engine.configure { host = "some_host", port = 1234 }
remdebug.engine.start()
Distribution
Eventually you might want to share your work with others, in this case you will have to use the zipped format.
- First, we recommend sharing your tool on the Tools section of the forum to get some feedback and early testing done. If you create a topic there, you can also use it to notify users about updates or discuss potential improvements.
- Later on, you might want to submit your tool to the official Tool library so that users can find it easier and have automatic updates.
Community channels
If you have further questions or just want to discuss tools with fellow devs you can reach out over the following channels
- The official Renoise forum has a dedicated topic
- The Discord server has a room for scripting
- Enter the Matrix at Renoise space on Matrix
- Post on Reddit
- Join the Facebook Group
- Find community channels on the Renoise site
Now that you can write, package and test your tool, you are ready to explore the depths of the API and start implementing your ideas.
Guides to the Renoise API
Welcome to the guides for the Renoise Scripting API.
In this section, you can learn about different aspects of the API through practical examples and explanations. These guides assume you have already read the chapters in our introduction and are familiar with how to package and install tools.
Classes
The Lua language does not have a built-in class
construct. However, the Renoise Lua API provides simple object-oriented programming support via a global class()
function. All Renoise API objects use such classes, and you can use them in your tools as well.
See the luabind documentation for more technical information, and the examples below for how to use them.
Examples
-- abstract class
class 'Animal'
function Animal:__init(name)
self.name = name
self.can_fly = nil
end
function Animal:__tostring()
assert(self.can_fly ~= nil, "I don't know if I can fly or not")
return ("I am a %s (%s) and I %s"):format(self.name, type(self),
(self.can_fly and "can fly" or "cannot fly"))
end
-- derived classes
-- MAMMAL
class 'Mammal' (Animal)
function Mammal:__init(str)
Animal.__init(self, str)
self.can_fly = false
end
-- BIRD
class 'Bird' (Animal)
function Bird:__init(str)
Animal.__init(self, str)
self.can_fly = true
end
-- FISH
class 'Fish' (Animal)
function Fish:__init(str)
Animal.__init(self, str)
self.can_fly = false
end
-- run
local farm = {}
table.insert(farm, Mammal("cow"))
table.insert(farm, Bird("sparrow"))
table.insert(farm, Fish("bass"))
print(("type(Mammal('cow')) -> %s"):format(type(Mammal("cow"))))
print(("type(Mammal) -> %s"):format(type(Mammal)))
for _,animal in ipairs(farm) do
print(animal)
end
Something to keep in mind:
- A constructor,
function MyClass:__init(args)
, must be defined for each class, or the class cannot be used to instantiate objects. - Class definitions are always global, so even locally defined classes will be registered globally.
Class operators
You can overload most operators in Lua for your classes. You do this by simply declaring a member function with the same name as an operator's corresponding metamethod in Lua.
The operators you can overload are:
__add
(addition)__sub
(subtraction)__mul
(multiplication)__div
(division)__pow
(exponentiation)__lt
(less than)__le
(less than or equal to)__eq
(equality)__call
(function call)__unm
(unary minus)__tostring
(serialization)__len
(length operator#
)
Note: __tostring
isn't really an operator, but it's the metamethod that is called by the standard library's tostring()
function.
Observables
The Renoise API makes extensive use of the Observer pattern. In short, many values are wrapped in "Observable" objects. You can register "notifier" functions on these objects, which will be called whenever the underlying value changes. This is a powerful way to react to changes in the application state without constantly polling and comparing values.
When browsing the API documentation, you will find many properties with an _observable
suffix. Let's see how to use this feature by attaching a notifier that runs when the user loads a new song.
local function on_new_document()
renoise.app():show_message("Loaded a new song!")
end
-- Get the tool's new_document observable and add our function as a notifier.
renoise.tool().app_new_document_observable:add_notifier(on_new_document)
A common pattern is to attach notifiers to song-specific properties inside the app_new_document_observable
notifier. This ensures that your notifiers are re-attached whenever a new song is loaded. To listen for changes on a specific value, you typically add _observable
to the property name and add a notifier to it.
Let's extend the previous snippet to also fire a message whenever the name of the song changes.
local function on_song_name_changed()
local song_name = renoise.song().name
renoise.app():show_message("New name was set!\nName: " .. song_name)
end
local function on_new_document()
renoise.app():show_message("Loaded a new song!")
-- When a new song is loaded, attach a notifier to its name_observable
renoise.song().name_observable:add_notifier(on_song_name_changed)
end
renoise.tool().app_new_document_observable:add_notifier(on_new_document)
Now, try changing the song title in the "Song Settings" tab to see your message pop up.
With this technique, you can listen to all sorts of events, which is very useful when you want your tool to react to user actions like selecting a new instrument, track, or sample.
There are different Observables for each primitive type, such as ObservableBoolean
, ObservableNumber
, or ObservableString
, as well as list types like ObservableBooleanList
. You can explore the entire Observables API to see them all.
Renoise Application
The renoise.app()
function is the entry point for interacting with the Renoise application itself. It returns a renoise.Application
object, which provides access to global application states, functions for user interaction like dialogs, and control over the main window.
Controlling the Application Window
The renoise.ApplicationWindow
object, accessed via renoise.app().window
, allows you to query and control the state of the main Renoise UI.
local window = renoise.app().window
-- Toggle fullscreen mode
window.fullscreen = not window.fullscreen
-- Check if the disk browser is visible
if window.disk_browser_is_visible then
print("Disk browser is currently open.")
end
-- Switch the middle frame to the Mixer view
window.active_middle_frame =
renoise.ApplicationWindow.MIDDLE_FRAME_MIXER
You can also attach notifiers to many window properties to react to UI changes made by the user.
local window = renoise.app().window
-- Be notified when the disk browser visibility changes
function disk_browser_visibility_changed()
if window.disk_browser_is_visible then
renoise.app():show_status("Disk browser was opened.")
else
renoise.app():show_status("Disk browser was closed.")
end
end
window.disk_browser_is_visible_observable:add_notifier(
disk_browser_visibility_changed
)
Song and File Handling
The application object provides functions to load, and save songs, instrument and other kinds of components. Note that these operations are not always instantaneous, as Renoise may need to prompt the user to save changes.
To reliably execute code after a new song is created or loaded, you should use notifiers.
local app = renoise.app()
-- This will show a file dialog to the user. The song is not loaded immediately.
app:load_song("/path/to/some/song_file")
-- To run code after a new song is ready, use a notifier.
-- This is typically done in your tool's initialization code.
function handle_new_document()
print("A new song was created or loaded. The new song name is: " ..
renoise.song().name)
end
-- The 'new_document_observable' is fired after a new song is
--- successfully created or loaded.
renoise.tool().app_new_document_observable:add_notifier(handle_new_document)
-- To save a song to a specific file:
app:save_song_as("/path/to/MyNewSong.xrns")
Showing Dialogs and Messages
A common task for tools is to communicate with the user. The application object provides several functions to show different kinds of dialogs and messages.
Simple Messages
For simple notifications, you can use show_message
, show_error
, show_warning
, or show_status
.
local app = renoise.app()
-- Show a message in the status bar
app:show_status("This is a status message.")
-- Show a modal info dialog
app:show_message("This is an informational message.")
-- Show a modal warning dialog
app:show_warning("This is a warning message.")
-- Show a modal error dialog
app:show_error("This is an error message.")
User Prompts
To ask the user for a choice, you can use show_prompt
. It displays a dialog with custom buttons and returns the label of the button that was pressed.
local app = renoise.app()
local pressed_button = app:show_prompt(
"Confirm Action",
"Do you want to proceed?",
{ "Yes", "No", "Cancel" }
)
if pressed_button == "Yes" then
app:show_message("You chose to proceed.")
elseif pressed_button == "No" then
app:show_message("You chose not to proceed.")
else
app:show_message("You canceled the operation.")
end
Custom Dialogs
For more complex user interfaces, you can create custom non-modal dialogs (tool windows) with show_custom_dialog
. This requires using the renoise.ViewBuilder
API to construct the UI.
-- A simple custom dialog example
local vb = renoise.ViewBuilder()
local my_dialog = nil
local my_dialog_content = vb:column {
margin = renoise.ViewBuilder.DEFAULT_DIALOG_MARGIN,
spacing = renoise.ViewBuilder.DEFAULT_DIALOG_SPACING,
views = {
vb:text {
text = "This is a custom dialog."
},
vb:button {
text = "Close Me",
notifier = function()
-- my_dialog is defined when calling show_custom_dialog
my_dialog:close()
end
}
}
}
my_dialog = renoise.app():show_custom_dialog(
"My Tool Window", my_dialog_content
)
File and Path Prompts
Your tool might need to read from or write to files. The API provides functions to open native file browser dialogs.
local app = renoise.app()
-- Prompt the user to select a directory
local dir_path = app:prompt_for_path("Select a Project Folder")
if dir_path and #dir_path > 0 then
app:show_message("You selected the directory: " .. dir_path)
end
-- Prompt the user to select a file to open
local file_to_read = app:prompt_for_filename_to_read(
{ "txt", "lua" },
"Open a Text File"
)
if file_to_read and #file_to_read > 0 then
app:show_message("You selected the file: " .. file_to_read)
end
-- Prompt the user for a filename to save
local file_to_write = app:prompt_for_filename_to_write(
"xml",
"Save Configuration"
)
if file_to_write and #file_to_write > 0 then
app:show_message("File will be saved to: " .. file_to_write)
end
Renoise Song
The renoise.song()
function is the main entry point for scripting in Renoise. It returns a renoise.Song
object that represents the entire project currently loaded in the application.
Here is a simplified tree view of the song object model:
renoise.song()
├── transport (BPM, LPB, playback control)
├── tracks[] (List of all tracks in the song)
│ ├── devices[]
│ │ └── parameters[]
│ └── ...
├── instruments[] (List of all instruments)
│ ├── samples[]
│ │ └── sample_buffer
│ └── ...
├── patterns[] (The pool of all available patterns)
│ └── tracks[]
│ ├── lines[]
│ │ ├── note_columns[]
│ │ └── ...
│ └── automation[]
├── sequencer (The pattern sequence matrix)
│ └── pattern_sequence[]
└── selected_track (And other `selected_...` properties)
Let's look at some important components in more detail.
Transport
The renoise.Transport
object controls global song properties related to timing and playback.
local song = renoise.song()
local transport = song.transport
-- Read properties
print("Current BPM: " .. transport.bpm)
print("Current LinesPerBeat: " .. transport.lpb)
-- Change properties
transport.bpm = 140
-- Start playback
if not transport.playing then
transport:start(renoise.Transport.PLAYMODE_RESTART_PATTERN)
end
Tracks
The renoise.song().tracks
property is a list of all tracks in the song, including sequencer tracks, group tracks, send tracks, the master track. Each renoise.Track
has its own device chain and other properties.
local song = renoise.song()
-- Iterate over all tracks
for _, track in ipairs(song.tracks) do
-- Check the track type
if track.type == renoise.Track.TRACK_TYPE_SEQUENCER then
print("Sequencer Track: " .. track.name)
-- Access the track's device chain
local devices = track.devices
print(" - Devices: " .. #devices)
end
end
-- Access a specific track by its index (1-based)
local first_track = song.tracks[1]
first_track.name = "New Name" -- Set the track's name
Track Devices and Parameters
Once you have a device chain, you can iterate over its devices renoise.AudioDevice
and parameters renoise.DeviceParameter
. The first device in a track's chain is always the "Mixer" device, which contains the track's built-in parameters like volume and panning.
local selected_track = renoise.song().selected_track
local mixer_device = selected_track.devices[1]
print("Parameters for '" .. mixer_device.display_name .. "':")
for _, param in ipairs(mixer_device.parameters) do
print(string.format(" - %s: %s", param.name, param.value_string))
end
Modifying Parameter Values
You can read and write a parameter's value using its .value
(a number from 0.0 to 1.0) or .value_string
(a formatted string like "1.000 dB") properties.
Also, the Mixer device properties can also be accessed directly from the track object.
local selected_track = renoise.song().selected_track
-- Access a parameter by its property name on the track object
local pre_volume = selected_track.prefx_volume
print("Pre-Mixer Volume is: " .. pre_volume.value_string)
-- Set the value using a string
pre_volume.value_string = "1.0 dB"
-- Note: When reading the value back, the string may be formatted differently
assert(pre_volume.value_string == "1.000 dB")
-- Set the value using a normalized number
local pre_width = selected_track.prefx_width
pre_width.value = 1.0 -- 100% wide
assert(pre_width.value == 1.0)
Adding, Removing, and Swapping Devices
You can dynamically manage the devices in a chain. To add a device, you need its identifier path, which you can query via track.available_devices
.
local track = renoise.song().selected_track
print("Available devices:")
-- `rprint` is a Renoise extension which also pretty prints tables
rprint(track.available_devices)
-- Get a random device path (excluding plugins to avoid popups)
local device_path
repeat
device_path = track.available_devices[
math.random(1, #track.available_devices)]
until device_path:find("Native/")
-- Insert the device at the end of the chain
local device_count = #track.devices
local new_device = track:insert_device_at(
device_path, device_count + 1)
assert(#track.devices == device_count + 1)
print("Added device: " .. new_device.display_name)
-- Insert another one
track:insert_device_at(device_path, #track.devices + 1)
-- Swap the last two devices
track:swap_devices_at(#track.devices, #track.devices - 1)
print("Swapped the last two devices.")
-- Remove the last device
track:delete_device_at(#track.devices)
print("Removed the last added device.")
PatternTrack Lines
A renoise.PatternTrack
holds pattern lines and automations for a single track in a single pattern.
The following example writes a C-4
note in the first pattern's track.
local song = renoise.song()
-- Get the first pattern in the song
local pattern = song.patterns[1]
-- Get the first pattern track within that pattern
local pattern_track = pattern.tracks[1]
-- Access a specific line (1-based)
local line = pattern_track:line(1)
-- Access the first note column in that line
local note_column = line.note_columns[1]
if note_column then
-- Set a C-4 note
note_column.note_string = "C-4"
end
For efficiently iterating over pattern data, it's recommended to use the renoise.PatternIterator
.
This example changes all C-4
notes to E-4
within the current selection in the pattern editor.
local song = renoise.song()
local pattern_iter = song.pattern_iterator
local pattern_index = song.selected_pattern_index
for pos,line in pattern_iter:lines_in_pattern(pattern_index) do
for _,note_column in ipairs(line.note_columns) do
if (note_column.is_selected and
note_column.note_string == "C-4") then
note_column.note_string = "E-4"
end
end
end
PatternTrack Automation
A renoise.PatternTrackAutomation
automates track device parameters.
This example accesses the automation for the parameter currently selected in the "Automation" tab in Renoise.
local song = renoise.song()
local selected_parameter = song.selected_automation_parameter
local selected_pattern_track = song.selected_pattern_track
-- Is a parameter selected?
if selected_parameter then
local automation = selected_pattern_track:find_automation(
selected_parameter)
-- Check if automation for the selected parameter already exists
if not automation then
-- If not, create it for the current pattern/track
automation = selected_pattern_track:create_automation(
selected_parameter)
end
---- Do something with the automation ----
-- Iterate over all existing automation points
for _,point in ipairs(automation.points) do
print(("track automation: time=%s, value=%s"):format(
point.time, point.value))
end
-- Clear all points
automation.points = {}
-- Insert a single new point at line 2
automation:add_point_at(2, 0.5)
-- Change its value if it already exists
automation:add_point_at(2, 0.8)
-- Remove it again (a point must exist at this time)
automation:remove_point_at(2)
-- Batch creation/insertion of points
local new_points = {}
for i=1, #selected_pattern_track.lines do
table.insert(new_points, {
time = i,
value = i / automation.length
})
end
-- Assign them (note: new_points must be sorted by time)
automation.points = new_points
-- Change the automation's interpolation mode
automation.playmode =
renoise.PatternTrackAutomation.PLAYMODE_POINTS
end
Instruments
The renoise.song().instruments
property contains a list of all instruments. An renoise.Instrument
may contain phrases, midi in/out properties, plugin devices, samples, sample modulation, and sample DSP FX chains.
local song = renoise.song()
-- Get the selected instrument
local instrument = song.selected_instrument
if instrument then
print("Selected instrument: " .. instrument.name)
-- Access its samples
if #instrument.samples > 0 then
print(" - It has " .. #instrument.samples .. " samples.")
local first_sample = instrument.samples[1]
print(" - First sample name: " .. first_sample.name)
end
end
Samples
The renoise.SampleBuffer
object provides low-level access to the audio data of a sample.
This example inverts the phase of the selected sample data.
local sample = renoise.song().selected_sample
if not sample then
print("No sample selected")
return
end
local sample_buffer = sample.sample_buffer
if not sample_buffer.has_sample_data then
print("No sample buffer present")
return
end
-- Before modifying sample data, let Renoise prepare for undo/redo actions
sample_buffer:prepare_sample_data_changes()
-- Modify sample data in the selection (defaults to the whole sample)
for channel = 1, sample_buffer.number_of_channels do
for frame = sample_buffer.selection_start, sample_buffer.selection_end do
local value = sample_buffer:sample_data(channel, frame)
value = -value -- Invert the sample value
sample_buffer:set_sample_data(channel, frame, value)
end
end
-- Let Renoise know the changes are done. This updates UI overviews,
-- applies bit-depth quantization, and finalizes the undo/redo data.
sample_buffer:finalize_sample_data_changes()
This example creates a new sample from scratch and generates a simple sine wave.
local selected_sample = renoise.song().selected_sample
if not selected_sample then return end
local sample_buffer = selected_sample.sample_buffer
-- Define properties for the new sample data
local sample_rate = 44100
local num_channels = 1
local bit_depth = 32
local num_frames = sample_rate / 2 -- half a second
-- Create new or overwrite existing sample data
local allocation_succeeded = sample_buffer:create_sample_data(
sample_rate, bit_depth, num_channels, num_frames)
-- Check for allocation failures
if not allocation_succeeded then
renoise.app():show_error("Out of memory. Failed to allocate sample data.")
return
end
-- Let Renoise know we are about to change the sample buffer
sample_buffer:prepare_sample_data_changes()
-- Fill the sample data with a sine wave
for frame = 1, num_frames do
-- We only have one channel, so we use 1
local sample_value = math.sin((frame / num_frames) * math.pi * 2)
sample_buffer:set_sample_data(1, frame, sample_value)
end
-- Finalize the changes
sample_buffer:finalize_sample_data_changes()
-- Set up a ping-pong loop for our new sample
selected_sample.loop_mode = renoise.Sample.LOOP_MODE_PING_PONG
selected_sample.loop_start = 1
selected_sample.loop_end = num_frames
Sequencer
The renoise.PatternSequencer
manages the arrangement of patterns in the song.
The pattern_sequence
property is a list of pattern indices that defines the playback order.
local song = renoise.song()
local sequencer = song.sequencer
print("Song sequence:")
for position, pattern_index in ipairs(sequencer.pattern_sequence) do
print(string.format(" Position %d: Pattern %d", position, pattern_index))
end
-- Set a new sequence
sequencer.pattern_sequence = { 1, 1 }
-- Change the sequence: make the second slot play pattern 2
sequencer:set_pattern(2, 2)
-- Add a new slot at the end of the sequence, playing pattern 3
sequencer:insert_sequence_at(#sequencer.pattern_sequence + 1, 3)
Selected Elements
The song object also provides convenient properties to directly access elements that are currently selected in the Renoise user interface. This is very useful for creating tools that operate on the user's current context.
local song = renoise.song()
-- Get the currently selected track object
local selected_track = song.selected_track
print("Selected track: " .. selected_track.name)
-- Get the index of the selected pattern
local selected_pattern_index = song.selected_pattern_index
print("Selected pattern index: " .. selected_pattern_index)
-- Get the selected device in a track's device chain
local selected_device = song.selected_track_device
if selected_device then
print("Selected device: " .. selected_device.display_name)
end
Renoise Tool
The renoise.tool()
function is the entry point for interacting with your tool's own context. It returns a renoise.ScriptingTool
object, which allows you to integrate your tool with Renoise by adding menu entries, keybindings, and MIDI mappings. It also provides ways to handle application-wide events, manage timers, define preferences, and much more.
Menu Entries
You can add new menu entries into any existing context menu or the main application menu in Renoise.
To do so, use the tool's renoise.tool():add_menu_entry
function.
Example
renoise.tool():add_menu_entry {
name = "Main Menu:Tools:My Tool:Show Message...",
invoke = function()
renoise.app():show_prompt(
"Congrats!",
"You've pressed the 'Show Message...' menu entry from the tools menu, " ..
"which was defined by a scripting tool.",
{"OK?"}
)
end
}
Available Menus
You can place your entries in any context menu or window menu in Renoise. To do so, specify the target menu category in the name
property.
For a complete list of available menu locations, see the API documentation for ToolMenuEntry
.
Separating Entries
To divide entries into groups with a separating line, prepend one or more dashes to the name
, like so:
name = "--- Main Menu:Tools:My Tool Group Starts Here"
Entry Sub-Groups
To group entries into a sub-menu, use a common path for them in the name
property:
"Main Menu:Tools:My Tool Group:First Entry"
"Main Menu:Tools:My Tool Group:Second Entry"
"Main Menu:Tools:My Tool Group:Third Entry"
Keybindings
Tools can add custom key bindings to Renoise's existing set of key commands. These new bindings can be activated and mapped by the user just like any other key binding in Renoise.
Keybindings can be global (applied everywhere in the GUI) or local to a specific part of the GUI, like the Pattern Editor.
note
There is no way to define default keyboard shortcuts for your entries. Users must manually bind them in the keyboard preferences pane. As soon as they do, the bindings are saved just like any other key binding in Renoise.
To add a key binding, use the tool's renoise.tool():add_keybinding
function.
Example
renoise.tool():add_keybinding {
name = "Global:Tools:Example Script Shortcut",
invoke = function(repeated)
-- we ignore soft repeated keys here
if (not repeated) then
renoise.app():show_prompt(
"Congrats!",
"You've pressed a magic keyboard combo " ..
"which was defined by a scripting tool.",
{"OK"}
)
end
end
}
Scopes
The scope, topic, and name of the key binding are defined in the name
property, using the format: $scope:$topic_name:$binding_name
.
-
scope
: This is where the shortcut will be applied, corresponding to the categories in the keyboard assignment preference pane. Your key binding will only fire when its scope is focused, unless it's theGlobal
scope. Using an unavailable scope will not cause an error, but it will render the binding useless—it will be listed and mappable, but never invoked. -
topic_name
: This is used for grouping entries in the key assignment pane. Use "Tools" if you can't come up with something more specific. -
binding_name
: This is the display name of the binding.
For a list of available scopes, see the API documentation for ToolKeybindingEntry
.
Separating entries
To divide entries into groups with a separating line, prepend one or more dashes to the name
, like so:
name = "--- Main Menu:Tools:My Tool Group Starts Here"
Custom GUIs
You can create custom dialogs and tool windows for your tools using the renoise.ViewBuilder
and renoise.Application
.
Modal and Non-Modal Dialogs
There are two main ways to show a custom view:
-- Shows a modal dialog with a title, custom content, and custom button labels.
-- It blocks interaction with the main window until closed.
renoise.app():show_custom_prompt(
title, content_view, {button_labels} [, key_handler_func, key_handler_options])
-> [pressed_button_index]
See the API docs for renoise.app():show_custom_prompt
for more info.
-- Shows a non-modal dialog (a floating tool window) with custom content.
renoise.app():show_custom_dialog(
title, content_view [, key_handler_func, key_handler_options])
-> [dialog_object]
See the API docs for renoise.app():show_custom_dialog
for more info.
The optional key_handler_func
allows you to capture keyboard events in the dialog. See the API docs for KeyHandler
for details.
Creating Views with ViewBuilder
Widgets are created with the renoise.ViewBuilder
class.
Hello World
-- We start by instantiating a view builder object.
local vb = renoise.ViewBuilder()
-- We will use a "column" view to stack other views vertically.
-- A column can:
-- 1. Show a background style.
-- 2. Stack child views vertically (vb:column) or horizontally (vb:row).
-- 3. Align child views using margins and spacing.
local dialog_title = "Hello World"
local dialog_buttons = { "OK" }
-- Fetch some constants to make the dialog look like Renoise's native views.
local DEFAULT_MARGIN = renoise.ViewBuilder.DEFAULT_CONTROL_MARGIN
-- Start with a 'column' view to stack other views vertically.
local dialog_content = vb:column {
-- Set a margin around our main content.
margin = DEFAULT_MARGIN,
views = {
-- Create another column to group our text with a different background.
vb:column {
-- A background style that is usually used for "groups".
style = "group",
-- Add some margin inside the group to make it look nice.
margin = DEFAULT_MARGIN,
views = {
-- Finally, add the text to the inner column.
vb:text {
text = "from the Renoise Scripting API\n" ..
"in a vb:column with a background."
},
}
}
}
}
-- Show the custom content in a prompt.
renoise.app():show_custom_prompt(
dialog_title, dialog_content, dialog_buttons)
Dynamic Content
GUIs are usually dynamic. To interact with widgets after they are created, you need a way to reference them. Here's how this works with the ViewBuilder API.
local vb = renoise.ViewBuilder()
-- You can build views step-by-step instead of nesting them all at once.
-- This can be clearer for complex layouts.
-- This step-by-step approach:
local my_column_view = vb:column{}
my_column_view.margin = renoise.ViewBuilder.DEFAULT_DIALOG_MARGIN
my_column_view.style = "group"
local my_text_view = vb:text{}
my_text_view.text = "My text"
my_column_view:add_child(my_text_view)
-- ...is equivalent to this nested approach:
local my_column_view_nested = vb:column {
margin = renoise.ViewBuilder.DEFAULT_DIALOG_MARGIN,
style = "group",
views = {
vb:text {
text = "My text"
}
}
}
-- The nested notation has a problem: you can't easily get references to your
-- views later (e.g., to hide them or change their text). This is what view
-- builder "id"s are for.
-- Let's build a simple view that dynamically reacts to a button press.
local DEFAULT_DIALOG_MARGIN = renoise.ViewBuilder.DEFAULT_DIALOG_MARGIN
local DEFAULT_CONTROL_SPACING = renoise.ViewBuilder.DEFAULT_CONTROL_SPACING
local dialog_title = "ViewBuilder IDs"
local dialog_buttons = {"OK"}
local dialog_content = vb:column {
margin = DEFAULT_DIALOG_MARGIN,
spacing = DEFAULT_CONTROL_SPACING,
views = {
vb:text {
id = "my_text", -- We give the view a unique id here.
text = "Do what you see"
},
vb:button {
text = "Hit Me!",
tooltip = "Hit this button to change the text above.",
notifier = function()
-- Here we resolve the id to get a reference to the text view.
local my_text_view = vb.views.my_text
my_text_view.text = "Button was hit."
end
}
}
}
-- We are doing two things here:
-- 1. We create a vb:text view and give it a unique `id`. This id can be
-- used at any time to access this view via `vb.views.my_text`.
-- 2. We add a `vb:button` control with a `notifier` function. The notifier
-- is called as soon as the button is pressed.
-- Please note that ids are unique per ViewBuilder object. You can create
-- multiple ViewBuilder instances (e.g., one for each component) to manage
-- different sets of ids.
renoise.app():show_custom_prompt(
dialog_title, dialog_content, dialog_buttons)
More Examples
See the com.renoise.ExampleToolGui.xrnx
tool for more examples. This tool can be read as its own little guide and provides many more in-depth examples.
The example tools can be downloaded as part of the XRNX Starter Pack from the official repository's releases page.
MIDI Mappings
You can extend Renoise's default MIDI mapping set or add custom MIDI mappings for your tool using renoise.tool():add_midi_mapping
.
A tool's MIDI mapping can be used just like regular mappings: by manually binding it in the MIDI mapping dialog, or by assigning it to a custom GUI control via the midi_mapping
property.
renoise.tool():add_midi_mapping {
name = "My Tool:Control Something",
invoke = function(message)
-- message is a renoise.ScriptingTool.MidiMessage
if message.is_trigger then
renoise.app():show_status("MIDI trigger received!")
end
if message.is_abs_value then
local value = message.int_value
renoise.app():show_status("MIDI value received: " .. value)
end
end
}
The name
property follows the format $topic_name:$optional_sub_topic_name:$mapping_name
to organize mappings in the list. The invoke
function receives a MidiMessage
object that describes the incoming MIDI data.
File Import Hooks
You can add support for new filetypes in Renoise using renoise.tool():add_file_import_hook
. Registered file types will appear in Renoise's disk browser and can be loaded via drag-and-drop.
renoise.tool():add_file_import_hook {
category = "sample",
extensions = {"txt"},
invoke = function(file_name)
-- This is a dummy example. A real implementation would
-- parse the file and create sample data.
local file = io.open(file_name, "r")
if not file then return false end
local content = file:read("*a")
file:close()
local sample = renoise.song().selected_sample
if not sample then return false end
-- For simplicity, we just show the content in a dialog
-- instead of creating a sample from it.
renoise.app():show_message(
"Imported TXT as Sample",
"File content:\n" .. content
)
-- Return true on success, false on failure.
return true
end
}
Your hook must specify a category
(e.g., "sample", "instrument"), a list of file extensions
, and an invoke
function that performs the import logic.
Timers
Tools can register functions that are called periodically using renoise.tool():add_timer
. This is useful for background tasks or animations in custom GUIs.
local tick_count = 0
local function my_timer_func()
tick_count = tick_count + 1
renoise.app():show_status("Timer tick: " .. tick_count)
if tick_count >= 10 then
-- To create a one-shot timer, remove it when it's no longer needed.
renoise.tool():remove_timer(my_timer_func)
renoise.app():show_status("Timer removed.")
end
end
-- Call my_timer_func every 1000ms (1 second).
renoise.tool():add_timer(my_timer_func, 1000)
Timers are paused when modal dialogs are open. The interval is not guaranteed to be exact, but it's usually accurate to within a few milliseconds.
Application Notifiers
The tool object provides several ..._observable
properties that allow you to react to application-level events, such as loading a new song or the tool being shut down. This is the primary way to manage your tool's lifecycle.
local function on_new_song()
local song_name = renoise.song() and renoise.song().name or "Untitled"
renoise.app():show_status("New song loaded: " .. song_name)
end
-- Called every time a new song is created or loaded.
renoise.tool().app_new_document_observable:add_notifier(on_new_song)
local function on_tool_shutdown()
-- This is a good place to clean up resources.
print("My tool is unloading.")
end
-- Called right before the tool is unloaded.
renoise.tool().tool_will_unload_observable:add_notifier(on_tool_shutdown)
Some important notifiers include:
tool_finished_loading_observable
: Fired when the tool has been successfully loaded.tool_will_unload_observable
: Fired just before the tool is disabled or reloaded.app_new_document_observable
: Fired after a new song has been loaded.app_release_document_observable
: Fired before the current song is closed.app_will_save_document_observable
Fired just before the song is saved.app_idle_observable
: Fired periodically, useful for low-priority background tasks.
Preferences
Tools can have preferences that are saved and loaded by Renoise. To use them, we first need to create a renoise.Document
object which holds the options that we want to store.
Fields in a Renoise Document are defined as Observable types. This is especially handy for settings dialogs, as UI widgets can be directly bound to these observable properties. The UI will automatically update the document, and vice-versa.
Let's see an example of setting up an options
object for a tool. Our goal is to have a few settings managed by a Document and a dialog to change them. The tool will be able to randomize the song's BPM and track count.
We will also define a menu entry to open our tool's settings dialog. See the sections on Menu Entries and Custom GUIs for more details.
-- Create a new renoise.Document by supplying a table of default values.
-- Each field will be wrapped in an Observable type (e.g., ObservableBoolean).
-- * a boolean for whether the tool should randomize the BPM
-- * a boolean for randomizing tracks
-- * an integer for the maximum number of tracks
local options = renoise.Document.create("RandomizerToolPreferences") {
randomize_bpm = true,
randomize_tracks = false,
max_tracks = 16
}
-- Once we have our options, we assign the document to our tool's preferences.
renoise.tool().preferences = options
-- Define a randomizer function.
-- When called, it will set a random BPM and add or remove tracks.
local function randomize_song()
local song = renoise.song()
-- Use .value to access the underlying value of an Observable
if options.randomize_bpm.value then
-- Set BPM to a value between 60 and 180
song.transport.bpm = 60 + math.random() * 120
end
if options.randomize_tracks.value then
-- Figure out how many tracks we want based on the max_tracks option
local target_count = 1 + math.floor(math.random() * options.max_tracks.value)
local current_count = song.sequencer_track_count
if current_count < target_count then
-- Insert new tracks if there aren't enough
for i = 1, target_count - current_count do
song:insert_track_at(current_count)
end
else
-- Remove tracks if there are too many
for i = 1, current_count - target_count do
song:delete_track_at(song.sequencer_track_count)
end
end
end
end
-- Define a function to show a custom dialog for our options.
function show_options()
local vb = renoise.ViewBuilder()
local dialog_content = vb:column {
margin = renoise.ViewBuilder.DEFAULT_DIALOG_MARGIN,
views = {
-- Add randomize BPM option
vb:row {
views = {
-- Bind our observable value directly to this checkbox
vb:checkbox {
bind = options.randomize_bpm
},
vb:text {
text = "Randomize BPM"
}
}
},
-- Add randomize tracks option
vb:row {
views = {
-- Same for the randomize_tracks boolean
vb:checkbox {
bind = options.randomize_tracks
},
vb:text {
text = "Randomize Tracks"
},
}
},
-- Add max tracks row
vb:row {
views = {
-- For max_tracks, create a valuebox and bind it.
-- Restrict it to a range of [1..16].
vb:valuebox {
min = 1,
max = 16,
bind = options.max_tracks
},
vb:text {
text = "Tracks Max"
}
}
},
-- Add some space
vb:space{
height = renoise.ViewBuilder.DEFAULT_DIALOG_SPACING
},
-- Add a button that will execute the randomization
vb:button {
text = "Randomize Now",
notifier = randomize_song
}
}
}
renoise.app():show_custom_dialog(
"Randomizer Options", dialog_content
)
end
-- Finally, add a menu entry to open our options dialog.
renoise.tool():add_menu_entry {
name = "Main Menu:Tools:Randomizer Options...",
invoke = show_options
}
As you can see, all we had to do was assign our observables to the bind
property of the UI controls. Renoise handles the synchronization between the UI and the document automatically.
preferences.xml
When you assign a document to renoise.tool().preferences
, Renoise automatically saves its state to a preferences.xml
file inside your tool's folder. As long as you use simple data types, you don't have to worry about serialization.
Try restarting Renoise to see that the values you've set in your dialog persist between sessions.
Complex Documents
For more complex applications, or if you prefer an object-oriented approach, you can create a class that inherits from renoise.Document.DocumentNode
and register properties in its constructor.
You could rewrite the document creation from the example above like this:
---@class RandomizerToolPreferences : renoise.Document.DocumentNode
---@field randomize_bpm renoise.Document.ObservableBoolean
---@field randomize_tracks renoise.Document.ObservableBoolean
---@field max_tracks renoise.Document.ObservableNumber
class "RandomizerToolPreferences" (renoise.Document.DocumentNode)
function RandomizerToolPreferences:__init()
renoise.Document.DocumentNode.__init(self)
-- Register observable properties which will make up our Document
self:add_property("randomize_bpm", true)
self:add_property("randomize_tracks", false)
self:add_property("max_tracks", 16)
end
---@type RandomizerToolPreferences
local options = RandomizerToolPreferences()
renoise.tool().preferences = options
This approach allows you to build more structured and complex preference documents. See the complete Document API for more details on what you can store and how to manage it.
note
This time we also included type annotations (like ---@class RandomizerToolPreferences
). These can help you with development when using a Lua language server like LuaLS, but they are not required for the script to run.
File IO & Bits
The Renoise API uses Lua's standard io library to read or write external files.
To access the raw bits and bytes of some data, for example, to read or write binary file streams, you can use the bit
library. It's built into the Renoise API, so there's no need to require
it.
See the LuaJIT bit library documentation for more info and examples.
-- Reading integer numbers or raw bytes from a file
local function read_word(file)
local bytes = file:read(2)
if (not bytes or #bytes < 2) then
return nil
else
-- little-endian
return bit.bor(bytes:byte(1),
bit.lshift(bytes:byte(2), 8))
end
end
local function read_dword(file)
local bytes = file:read(4)
if (not bytes or #bytes < 4) then
return nil
else
-- little-endian
return bit.bor(bytes:byte(1),
bit.lshift(bytes:byte(2), 8),
bit.lshift(bytes:byte(3), 16),
bit.lshift(bytes:byte(4), 24))
end
end
-- and so on (adapt as needed to deal with endianness!) ...
local file, err = io.open("some_binary_file.bin", "rb")
if not file then
print("Could not open file: " .. tostring(err))
return
end
local bytes = file:read(512)
if (not bytes or #bytes < 512) then
print("unexpected end of file")
else
for i = 1, #bytes do
print(bytes:byte(i))
end
end
print(read_word(file) or "unexpected end of file")
print(read_dword(file) or "unexpected end of file")
file:close()
Sockets
The Renoise API allows you to create network sockets. This can be used to communicate with other devices and applications via UDP and TCP, for example, to send or receive OSC messages.
See the renoise.Socket
API for more details.
note
There is no built-in support for encrypted connections. Therefore, using protocols like HTTPS is not directly possible with the socket API in Renoise.
HTTP GET Client
This example creates a TCP socket, connects to a web server, and sends a simple HTTP GET request.
-- Connection will give up after 2 seconds
local connection_timeout = 2000
local client, socket_error = renoise.Socket.create_client(
"www.renoise.com", 80, renoise.Socket.PROTOCOL_TCP, connection_timeout)
if socket_error then
renoise.app():show_warning(socket_error)
return
end
-- Request the root document
local succeeded, socket_error =
client:send("GET / HTTP/1.0\r\nHost: www.renoise.com\r\n\r\n")
if (socket_error) then
renoise.app():show_warning(socket_error)
return
end
-- Loop until we get no more data from the server.
-- Note: A robust implementation should parse the HTTP header
-- and use the "Content-Length" to determine when to stop.
local receive_succeeded = false
local receive_content = ""
while (true) do
-- Timeout for receiving data is 500ms
local receive_timeout = 500
local message, socket_error =
client:receive("*line", receive_timeout)
if (message) then
receive_content = receive_content .. message .. "\n"
else
if (socket_error == "timeout" or
socket_error == "disconnected")
then
-- Could retry on timeout, but we'll just stop in this example.
receive_succeeded = true
break
else
renoise.app():show_warning(
"'socket receive' failed with the error: " .. socket_error)
break
end
end
end
-- Close the connection if it was not already closed by the server
if (client and client.is_open) then
client:close()
end
-- Show what we've got
if (receive_succeeded and #receive_content > 0) then
renoise.app():show_prompt(
"HTTP GET Response",
receive_content,
{"OK"}
)
else
renoise.app():show_prompt(
"HTTP GET Response",
"Socket receive timeout or no content.",
{"OK"}
)
end
Echo UDP Server (using a table as notifier)
local server, socket_error = renoise.Socket.create_server(
"localhost", 1025, renoise.Socket.PROTOCOL_UDP)
if socket_error then
renoise.app():show_warning(
"Failed to start the echo server: " .. socket_error)
else
server:run {
---@param socket_error string
socket_error = function(socket_error)
renoise.app():show_warning(socket_error)
end,
---@param socket renoise.Socket.SocketClient
socket_accepted = function(socket)
print(("client %s:%d connected"):format(
socket.peer_address, socket.peer_port))
end,
---@param socket renoise.Socket.SocketClient
---@param message string
socket_message = function(socket, message)
print(("client %s:%d sent '%s'"):format(
socket.peer_address, socket.peer_port, message))
-- Simply send the message back
socket:send(message)
end
}
end
-- This server will run and echo messages as long as the script is active.
Echo TCP Server (using a class as notifier)
This example allows any address to connect by not specifying an address in create_server
.
class "EchoServer"
function EchoServer:__init(port)
-- Create a server socket
local server, socket_error = renoise.Socket.create_server(
"localhost", port, renoise.Socket.PROTOCOL_TCP)
if socket_error then
renoise.app():show_warning(
"Failed to start the echo server: " .. socket_error)
else
-- Start running
self.server = server
self.server:run(self)
end
end
---@param socket_error string
function EchoServer:socket_error(socket_error)
renoise.app():show_warning(socket_error)
end
---@param socket renoise.Socket.SocketClient
function EchoServer:socket_accepted(socket)
print(("client %s:%d connected"):format(
socket.peer_address, socket.peer_port))
end
---@param message string
---@param socket renoise.Socket.SocketClient
function EchoServer:socket_message(socket, message)
print(("client %s:%d sent '%s'"):format(
socket.peer_address, socket.peer_port, message))
-- Simply send the message back
socket:send(message)
end
-- Create and run the echo server on port 1025
local echo_server = EchoServer(1025)
-- The server will run as long as the script is active or the
-- echo_server object is garbage collected.
MIDI
The Renoise API allows you to access raw MIDI input and output devices from within your tool. You can use this to add features like bi-directional MIDI controller support.
See the renoise.Midi
API for more details.
MIDI Input Listener (Function Callback)
-- NOTE: The MIDI device will be closed when this local variable gets garbage
-- collected. Make it global or assign it to a table that is held globally
-- to keep it active.
local midi_device = nil
local inputs = renoise.Midi.available_input_devices()
if not table.is_empty(inputs) then
-- Use the first available device in this example
local device_name = inputs[1]
local function midi_callback(message)
assert(#message == 3)
assert(message[1] >= 0 and message[1] <= 0xff)
assert(message[2] >= 0 and message[2] <= 0xff)
assert(message[3] >= 0 and message[3] <= 0xff)
print(("%s: got MIDI %X %X %X"):format(device_name,
message[1], message[2], message[3]))
end
-- The sysex callback is an optional second argument.
midi_device = renoise.Midi.create_input_device(
device_name, midi_callback)
-- To stop listening, call: midi_device:close()
end
MIDI Input and SysEx Listener (Class Callbacks)
class "MidiDumper"
function MidiDumper:__init(device_name)
self.device_name = device_name
self.device = nil
end
function MidiDumper:start()
self.device = renoise.Midi.create_input_device(
self.device_name,
{ self, self.midi_callback },
{ self, self.sysex_callback }
)
end
function MidiDumper:stop()
if self.device then
self.device:close()
self.device = nil
end
end
function MidiDumper:midi_callback(message)
print(("%s: MidiDumper got MIDI %X %X %X"):format(
self.device_name, message[1], message[2], message[3]))
end
function MidiDumper:sysex_callback(message)
print(("%s: MidiDumper got SYSEX with %d bytes"):format(
self.device_name, #message))
end
-- NOTE: The MIDI device will be closed when this dumper object gets garbage
-- collected. Make it global or assign it to a table that is held globally
-- to keep it active.
local midi_dumper = nil
local inputs = renoise.Midi.available_input_devices()
if not table.is_empty(inputs) then
-- Use the first available device in this example
local device_name = inputs[1]
midi_dumper = MidiDumper(device_name)
-- This will dump MIDI messages until midi_dumper:stop() is called
-- or the MidiDumper object is garbage collected.
midi_dumper:start()
end
MIDI Output
local outputs = renoise.Midi.available_output_devices()
if not table.is_empty(outputs) then
local device_name = outputs[1]
local midi_device = renoise.Midi.create_output_device(device_name)
-- Note On
midi_device:send({ 0x90, 0x10, 0x7F })
-- SysEx (MMC Start)
midi_device:send({ 0xF0, 0x7F, 0x00, 0x06, 0x02, 0xF7 })
-- We no longer need the device in this example, so close it.
midi_device:close()
end
OSC
The Renoise API allows you to create sockets and provides tools to send and receive Open Sound Control (OSC) data. This enables you to connect your tools to other OSC servers and clients, offering an alternative to MIDI for controlling and interacting with devices like a monome.
See the renoise.Osc
and renoise.Socket
APIs for more details.
note
Using TCP instead of UDP as the socket protocol would likely require manual SLIP encoding/decoding of OSC message data. This is not handled automatically, so the examples below will only work with UDP servers/clients.
OSC Server (Receiving OSC)
This example creates a UDP server that listens for OSC messages on port 8008.
-- Create some shortcuts
local OscMessage = renoise.Osc.Message
local OscBundle = renoise.Osc.Bundle
-- Open a socket connection to listen for messages
local server, socket_error = renoise.Socket.create_server(
"localhost", 8008, renoise.Socket.PROTOCOL_UDP)
if (socket_error) then
renoise.app():show_warning(("Failed to start the " ..
"OSC server. Error: '%s'"):format(socket_error))
return
end
server:run {
socket_message = function(socket, data)
-- Decode the binary data to an OSC message or bundle
local message_or_bundle, osc_error = renoise.Osc.from_binary_data(data)
-- Show what we've got
if (message_or_bundle) then
if (type(message_or_bundle) == "Message") then
print(("Got OSC message: '%s'"):format(tostring(message_or_bundle)))
elseif (type(message_or_bundle) == "Bundle") then
print(("Got OSC bundle: '%s'"):format(tostring(message_or_bundle)))
end
-- Send a reply back to the client
local reply_message = OscMessage("/renoise/reply", {
{ tag = "s", value = "Thank you for the message!" }
})
socket:send(reply_message:to_binary_data())
else
print(("Got invalid OSC data, or data which is not " ..
"OSC data at all. Error: '%s'"):format(osc_error))
end
end
}
-- To shut down the server at any time, call:
-- server:close()
OSC Client (Sending OSC)
This example creates a UDP client to send OSC messages to a server on port 8008.
-- Create some shortcuts
local OscMessage = renoise.Osc.Message
local OscBundle = renoise.Osc.Bundle
-- Create a client to send messages to the server
local client, socket_error = renoise.Socket.create_client(
"localhost", 8008, renoise.Socket.PROTOCOL_UDP)
if (socket_error) then
renoise.app():show_warning(("Failed to start the " ..
"OSC client. Error: '%s'"):format(socket_error))
return
end
-- Construct and send a simple message
client:send(
OscMessage("/transport/start"):to_binary_data()
)
-- Construct and send a message with arguments
client:send(
OscMessage("/transport/bpm", {
{ tag = "f", value = 127.5 }
}):to_binary_data()
)
-- Construct and send a bundle of messages
local message1 = OscMessage("/some/message")
local message2 = OscMessage("/another/one", {
{ tag = "b", value = "with some blob data" },
{ tag = "s", value = "and a string" }
})
client:send(
OscBundle(os.clock(), { message1, message2 }):to_binary_data()
)
-- Close the client when done
client:close()
SQLite Databases
The Renoise API allows you to create or load SQLite databases. This can be used to either efficiently deal with large data blobs within your tools or to read existing database files from other applications.
See renoise.SQLite
for more info.
A quick example on how to open and read from an existing database file:
-- create a new database (rwc = read/write/create)
local db, status, error = renoise.SQLite.open("./some_test.db", "rwc")
-- NB: use renoise.SQLite.open() to create a in-memory db instead
print("Create:", db.is_open, db.error_code, db.error_message)
local sql = [[
CREATE TABLE numbers(num1,num2,str);
INSERT INTO numbers VALUES(1,11,"ABC");
INSERT INTO numbers VALUES(2,22,"DEF");
INSERT INTO numbers VALUES(3,33,"UVW");
INSERT INTO numbers VALUES(4,44,"XYZ");
]]
print("Exec:", db:execute(sql))
print("Changes:", db.changes, db.total_changes, db.error_message)
-- read from an existing db using a prepared statement
local db, status, error = renoise.SQLite.open("./test.db", "ro") -- read-only
print("Open:", db.is_open, db.error_code, db.error_message)
local stm = db:prepare("SELECT * from numbers")
print("Read:", stm.columns, stm.unames)
for k in stm:rows() do
rprint(k)
end
Renoise Lua API Overview
The API files in this documentation folder will list all available Lua functions and classes that can be accessed from scripts in Renoise. If you are familiar with Renoise, the names of the classes, functions and properties should be self explanitory.
A note about the general API design:
-
Whatever you do with the API, you should never be able to fatally crash Renoise. If you manage to do this, then please file a bug report in our forums so we can fix it. All errors, as stupid they might be, should always result in a clean error message from Lua.
-
The Renoise Lua API also allows global File IO and external program execution (via
os.execute()
) which can obviously be hazardous. Please be careful with these, as you would with programming in general...
Some notes about the documentation, and a couple of tips:
-
All classes, functions in the API, are nested in the namespace (Lua table)
renoise
. E.g: to get the application object, you will have to typerenoise.app()
-
The API is object-oriented, and thus split into classes. The references will first note the class name (e.g.
renoise.Application
), then list its Constants, Properties, Functions and Operators. All properties and functions are always listed with their full path to make it clear where they belong and how to access them. -
Nearly all functions are actually methods, so you have to invoke them via the colon operator
:
E.g.renoise.app():show_status("Status Message")
If you're new to Lua, this takes a while to get used to. Don't worry, it'll make sense sooner or later. ;) -
Properties are syntactic sugar for get/set functions.
song().comments
will invoke a function which returns comments. But not all properties have setters, and thus can only be used as read-only getters. Those are marked as**READ-ONLY**
. -
All exposed objects are read-only (you can not add new fields, properties). In contrast, the classes are not. This means you can extend the API classes with your own helper functions, if needed, but can not add new properties to objects. Objects, like for example the result of
song()
, are read-only to make it easier to catch typos.song().transport.bmp = 80
will fire an error, because there is no such property 'bmp.' You probably meantsong().transport.bpm = 80
here. If you need to store data somewhere, do it in your own tables, objects instead of using the Renoise API objects. -
some_property, _observable means, that there is also an observer object available for the property. An observable object allows you to attach notifiers (global functions or methods) that will be called as soon as a value has changed. Please see Renoise.Document.API for more info about observables and related classes.
A small example using bpm:
renoise.song().transport.bpm_observable:add_notifier(function()
print("bpm changed")
end)
-- will print "bpm changed", but only if the bpm was not 120 before
renoise.song().transport.bpm = 120
The above notifier is called when anything changes the bpm, including your script, other scripts, or anything else in Renoise (you've automated the BPM in the song, entered a new BPM value in Renoise's GUI, whatever...)
Lists like renoise.song().tracks[]
can also have notifiers. But these will only fire when the list layout has changed: an element was added, removed or elements in the list changed their order. They will not fire when the list values changed. Attach notifiers to the list elements to get such notifications.
- Can't remember what the name of function XYZ was? In the scripting terminal you can list all methods/properties of API objects (or your own class objects) via the global function
oprint(some_object)
- e.g.oprint(renoise.song())
. To dump the renoise module/class layout, userprint(renoise)
.
renoise
Holds all renoise related API functions and classes.
Constants
API_VERSION : number
Currently 6.2. Any changes in the API which are not backwards compatible, will increase the internal API's major version number (e.g. from 1.4 -> 2.0). All other backwards compatible changes, like new functionality, new functions and classes which do not break existing scripts, will increase only the minor version number (e.g. 1.0 -> 1.1).
RENOISE_VERSION : string
Renoise Version "Major.Minor.Revision[AlphaBetaRcVersion][Demo]"
Functions
ViewBuilder()
Construct a new viewbuilder instance you can use to create views.
app()
Global access to the Renoise Application.
song()
Global access to the Renoise Song.
NB: The song instance changes when a new song is loaded or created in Renoise, so tools can not memorize the song instance globally once, but must instead react on the application's
new_document_observable
observable.
tool()
Global access to the Renoise Scripting Tool (your XRNX tool).
This is only valid when getting called from a tool and not when e.g. using the scripting terminal and editor in Renoise.
renoise.Application
The Renoise application.
- Properties
- log_filename :
string
- current_song :
renoise.Song
- recently_loaded_song_files :
string
[] - recently_saved_song_files :
string
[] - installed_tools : table<
string
,string
> - installed_tools_observable :
renoise.Document.Observable
- audio_plugin_effects_observable :
renoise.Document.Observable
- audio_plugin_instruments_observable :
renoise.Document.Observable
- key_modifier_states : table<
string
,string
> - key_modifier_flags :
ModifierFlags
- window :
renoise.ApplicationWindow
- theme :
renoise.ApplicationTheme
- theme_observable :
renoise.Document.Observable
- active_clipboard_index :
1
|2
|3
|4
- log_filename :
- Functions
- show_message(self, message :
string
) - show_error(self, message :
string
) - show_warning(self, message :
string
) - show_status(self, message :
string
) - show_prompt(self, title :
string
, message :string
, button_labels :string
[]?
) - show_custom_prompt(self, title :
string
, content_view :renoise.Views.View
, button_labels :string
[], key_handler :KeyHandler``?
, key_handler_options :KeyHandlerOptions``?
, focus_handler :FocusHandler``?
) - show_custom_dialog(self, title :
DialogTitle
, content_view :renoise.Views.View
, key_handler :KeyHandler``?
, key_handler_options :KeyHandlerOptions``?
, focus_handler :FocusHandler``?
) - show_menu(self, dialog :
renoise.Dialog
, menu_entries :DialogMenuEntry
[], below_view :renoise.Views.View``?
) - prompt_for_path(self, title :
DialogTitle
) - prompt_for_filename_to_read(self, file_extensions :
string
[], title :DialogTitle
) - prompt_for_multiple_filenames_to_read(self, file_extensions :
string
[], title :DialogTitle
) - prompt_for_filename_to_write(self, file_extension :
string
, title :DialogTitle
) - open_url(self, url :
string
) - open_path(self, file_path :
string
) - install_tool(self, file_path :
string
) - uninstall_tool(self, file_path :
string
) - new_song(self)
- new_song_no_template(self)
- load_song(self, filename :
string
) - load_track_device_chain(self, filename :
string
) - load_track_device_preset(self, filename :
string
) - load_instrument(self, filename :
string
) - load_instrument_multi_sample(self, filename :
string
) - load_instrument_device_chain(self, filename :
string
) - load_instrument_device_preset(self, filename :
string
) - load_instrument_modulation_set(self, filename :
string
) - load_instrument_phrase(self, filename :
string
) - load_instrument_sample(self, filename :
string
) - load_theme(self, filename :
string
) - save_song(self)
- save_song_as(self, filename :
string
) - save_track_device_chain(self, filename :
string
) - save_instrument(self, filename :
string
) - save_instrument_multi_sample(self, filename :
string
) - save_instrument_device_chain(self, filename :
string
) - save_instrument_modulation_set(self, filename :
string
) - save_instrument_phrase(self, filename :
string
) - save_instrument_sample(self, filename :
string
) - save_theme(self, filename :
string
)
- show_message(self, message :
- Structs
- DialogMenuEntry
- KeyEvent
- KeyHandlerOptions
Properties
log_filename : string
READ-ONLY Access to the application's full log filename and path. Will already be opened for writing, but you nevertheless should be able to read from it.
current_song : renoise.Song
READ-ONLY Get the apps main document, the song. The global "renoise.song()" function is, in fact, a shortcut to this property.
recently_loaded_song_files : string
[]
READ-ONLY List of recently loaded song files.
recently_saved_song_files : string
[]
READ-ONLY List of recently saved song files.
installed_tools : table<string
, string
>
READ-ONLY Returns information about all currently installed tools.
installed_tools_observable : renoise.Document.Observable
Fired when the list of installed tools changed.
audio_plugin_effects_observable : renoise.Document.Observable
Fired when the list of available audio plugin effects changed, for example when scanning for new plugins in the preferences. Use the component's
available_plugins
oravailable_devices
properties to access currently available devices which are supported by the component such as the track device chains.
audio_plugin_instruments_observable : renoise.Document.Observable
Fired when the list of available audio plugin instruments changed, for example when scanning for new plugins in the preferences.
key_modifier_states : table<string
, string
>
Deprecated. READ-ONLY Use
key_modifier_flags
instead
key_modifier_flags : ModifierFlags
READ-ONLY Access keyboard modifier states.
window : renoise.ApplicationWindow
READ-ONLY Access to the application's window.
theme : renoise.ApplicationTheme
READ-ONLY Access to the application's color theme.
theme_observable : renoise.Document.Observable
Fired, when any theme color changed. e.g. when a new theme got loaded or when theme colors got edited in the theme preferences.
active_clipboard_index : 1
| 2
| 3
| 4
Range: (1 - 4) Get or set globally used clipboard "slots" in the application.
Functions
show_message(self, message : string
)
Shows an info message dialog to the user.
show_error(self, message : string
)
Shows an error dialog to the user.
show_warning(self, message : string
)
Shows a warning dialog to the user.
show_status(self, message : string
)
Shows a message in Renoise's status bar to the user.
show_prompt(self, title : string
, message : string
, button_labels : string
[]?
)
->
label : string
Opens a modal dialog with a title, text and custom button labels. Returns the pressed button label or an empty string when canceled.
show_custom_prompt(self, title : string
, content_view : renoise.Views.View
, button_labels : string
[], key_handler : KeyHandler
?
, key_handler_options : KeyHandlerOptions
?
, focus_handler : FocusHandler
?
)
->
label : string
Opens a modal dialog with a title, custom content and custom button labels. See:
renoise.ViewBuilder
for more info about custom views.
show_custom_dialog(self, title : DialogTitle
, content_view : renoise.Views.View
, key_handler : KeyHandler
?
, key_handler_options : KeyHandlerOptions
?
, focus_handler : FocusHandler
?
)
Shows a non modal dialog (a floating tool window) with custom content. When no key_handler is provided, the Escape key is used to close the dialog. See:
renoise.ViewBuilder
for more info about custom views.
show_menu(self, dialog : renoise.Dialog
, menu_entries : DialogMenuEntry
[], below_view : renoise.Views.View
?
)
Shows a custom context menu on top of the given dialog.
When specifying a view, the menu will be shown below the given view instance. The view instance must be part of the dialog that shows the menu and must be visible. By default the menu will be shown at the current mouse cursor position.
prompt_for_path(self, title : DialogTitle
)
->
path : string
Opens a modal dialog to query an existing directory from the user.
prompt_for_filename_to_read(self, file_extensions : string
[], title : DialogTitle
)
->
path : string
Opens a modal dialog to query a filename and path to read from a file.
prompt_for_multiple_filenames_to_read(self, file_extensions : string
[], title : DialogTitle
)
->
paths : string
[]
Same as 'prompt_for_filename_to_read' but allows the user to select more than one file.
prompt_for_filename_to_write(self, file_extension : string
, title : DialogTitle
)
->
path : string
Open a modal dialog to get a filename and path for writing. When an existing file is selected, the dialog will ask whether or not to overwrite it, so you don't have to take care of this on your own.
open_url(self, url : string
)
Opens the default internet browser with the given URL. The URL can also be a file that browsers can open (like xml, html files...).
open_path(self, file_path : string
)
Opens the default file browser (explorer, finder...) with the given path.
install_tool(self, file_path : string
)
Install order update a tool. Any errors are shown to the user during installation. Installing an already existing tool will upgrade the tool without confirmation. Upgraded tools will automatically be re-enabled, if necessary.
uninstall_tool(self, file_path : string
)
Uninstall an existing tool. Any errors are shown to the user during uninstallation.
new_song(self)
Create a new song document (will ask the user to save changes if needed). The song is not created immediately, but soon after the call was made and the user did not aborted the operation. In order to continue execution with the new song, attach a notifier to 'renoise.app().new_document_observable' See:
renoise.ScriptingTool
for more info.
new_song_no_template(self)
Create a new song document, avoiding template XRNS songs (when present) to be loaded. The song is not created immediately, but soon after the call was made and the user did not aborted the operation. In order to continue execution with the new song, attach a notifier to 'renoise.app().new_document_observable' See:
renoise.ScriptingTool
for more info.
load_song(self, filename : string
)
Load a new song document from the given filename (will ask to save changes if needed, any errors are shown to the user). Just like new_song(), the song is not loaded immediately, but soon after the call was made. See 'renoise.app():new_song()' for details.
load_track_device_chain(self, filename : string
)
->
success : boolean
Load a track device chains into the currently selected track. Any errors during the export are shown to the user.
load_track_device_preset(self, filename : string
)
->
success : boolean
Load a track device devices into the currently selected track. When no device is selected a new device will be created. Any errors during the export are shown to the user.
load_instrument(self, filename : string
)
->
success : boolean
Load an instrument into the currently selected instrument. Any errors during the export are shown to the user.
load_instrument_multi_sample(self, filename : string
)
->
success : boolean
Load an instrument multi sample into the currently selected instrument. Any errors during the export are shown to the user.
load_instrument_device_chain(self, filename : string
)
->
success : boolean
Load an instrument device chain into the currently selected instrument's device chain. When no device chain is selected, a new one will be created. Any errors during the export are shown to the user.
load_instrument_device_preset(self, filename : string
)
->
success : boolean
Load an instrument device into the currently selected instrument's device chain's device. When no device is selected, a new one will be created. Any errors during the export are shown to the user.
load_instrument_modulation_set(self, filename : string
)
->
success : boolean
Load an instrument modulation chain into the currently selected instrument's modulation chain. When no device is selected, a new one will be created. Any errors during the export are shown to the user.
load_instrument_phrase(self, filename : string
)
->
success : boolean
Load an instrument phrase into the currently selected instrument's phrases. When no phrase is selected, a new one will be created. Any errors during the export are shown to the user.
load_instrument_sample(self, filename : string
)
->
success : boolean
Load an instrument sample into the currently selected instrument's sample lists. When no sample is selected, a new one will be created. Any errors during the export are shown to the user.
load_theme(self, filename : string
)
->
success : boolean
Load a new theme file and apply it. Any errors during the export are shown to the user.
save_song(self)
Quicksave or save the current song under a new name. Any errors during the export are shown to the user.
save_song_as(self, filename : string
)
Save the current song under a new name. Any errors during the export are shown to the user.
save_track_device_chain(self, filename : string
)
->
success : boolean
Save a currently selected track device chain to a file with the given name. When no device chain is selected an error is raised. returns success.
save_instrument(self, filename : string
)
->
success : boolean
Save a currently selected instrument to a file with the given name. When no instruemnt is selected an error is raised. returns success.
save_instrument_multi_sample(self, filename : string
)
->
success : boolean
Save a currently selected instrument multi sample file to a file with the given name. When no instrument is selected an error is raised. returns success.
save_instrument_device_chain(self, filename : string
)
->
success : boolean
Save a currently selected instrument's device chain to a file with the given name. When no chain is selected an error is raised. returns success.
save_instrument_modulation_set(self, filename : string
)
->
success : boolean
Save a currently selected instrument's modulation set to a file with the given name. When no modulation is selected an error is raised. returns success.
save_instrument_phrase(self, filename : string
)
->
success : boolean
Save a currently selected instrument's phrase to a file with the given name. When no phrase is selected an error is raised. returns success.
save_instrument_sample(self, filename : string
)
->
success : boolean
Save a currently selected instrument's sample to a file with the given name. When no sample is selected an error is raised. returns success.
save_theme(self, filename : string
)
->
success : boolean
Save a current theme to a file with the given name. returns success.
Structs
DialogMenuEntry
Defines a custom menu entry, shown in custom dialog windows.
Separating entries: To divide entries into groups prepend one or more dashes to the name:
---First Group Item Regular item
To create sub menus, define entries with a common path, using a colon as separator:
Main Menu Item Sub Menu:Sub Menu Item 1 Sub Menu:Sub Menu Item 2
To insert a script menu entry into an existing context menu, see
ToolMenuEntry
.
Properties
name : string
Name and optional path of the menu entry
invoke : fun()
A function that is called as soon as the entry is clicked
active : boolean
?
Default: true. When false, the action will not be invoked and will be "greyed out".
selected : boolean
?
Default: false. When true, the entry will be marked as "this is a selected option"
KeyEvent
Properties
name : string
name of the key, like 'esc' or 'a'
modifiers : ModifierStates
Deprecated. Use
modifier_flags
instead READ-ONLY the held down modifiers as a string
modifier_flags : ModifierFlags
READ-ONLY the held down modifiers as flags
character : string
?
possible character representation of the key
note : integer
?
virtual keyboard piano key value (starting from 0)
state : "pressed"
| "released"
only present if
send_key_release
was set to true
repeated : boolean
?
only present if
send_key_repeat
was set to true
Aliases
ModifierFlags
{ alt : boolean
, control : boolean
, meta : boolean
, shift : boolean
}
The currently pressed/release key's modifiers as platform independent flags. On macOS "control" is their "Command" key and the "meta" keyboard is the "Control" key. On Windows the "meta" key is the "Windows" key and on Linux the "Super" key.
ModifierStates
Deprecated. Use
ModifierFlags
instead.The modifier keys will be provided as a string. Possible keys are dependent on the platform
- Windows : "shift", "alt", "control", "winkey"
- Linux : "shift", "alt", "control", "meta"
- Mac : "shift", "option", "control", "command". If multiple modifiers are held down, the string will be formatted as "
+ " Their order will correspond to the following precedence shift + alt/option + control + winkey/meta/command
If no modifier is pressed, this will be an empty string.
KeyHandlerOptions
Properties
send_key_repeat : boolean
?
Default: true
send_key_release : boolean
?
Default: false
Aliases
DialogTitle
The title that shows up at the title-bar of the dialog.
FocusHandler
(dialogs : renoise.Dialog
, focused : boolean
) ->
KeyEvent
?
Optional focus change notifier for a custom dialog. Will be called when the dialog gains of loses key focus. You maybe want to initialize your dloag's (modifier) keyboard states here.
KeyHandler
(dialog : renoise.Dialog
, key_event : KeyEvent
) ->
KeyEvent
?
Optional keyhandler to process key events on a custom dialog. When returning the passed key from the key-handler function, the key will be passed back to Renoise's key event chain, in order to allow processing global Renoise key-bindings from your dialog. This will not work for modal dialogs. This also only applies to global shortcuts in Renoise, because your dialog will steal the focus from all other Renoise views such as the Pattern Editor, etc.
ModifierFlags
{ alt : boolean
, control : boolean
, meta : boolean
, shift : boolean
}
The currently pressed/release key's modifiers as platform independent flags. On macOS "control" is their "Command" key and the "meta" keyboard is the "Control" key. On Windows the "meta" key is the "Windows" key and on Linux the "Super" key.
ModifierStates
Deprecated. Use
ModifierFlags
instead.The modifier keys will be provided as a string. Possible keys are dependent on the platform
- Windows : "shift", "alt", "control", "winkey"
- Linux : "shift", "alt", "control", "meta"
- Mac : "shift", "option", "control", "command". If multiple modifiers are held down, the string will be formatted as "
+ " Their order will correspond to the following precedence shift + alt/option + control + winkey/meta/command
If no modifier is pressed, this will be an empty string.
renoise.ApplicationTheme
Application's theme colors and other general color theme properties.
Note: All properties and functions of the app theme are read-only, so the theme can't be modified here. Use the app's
renoise.Application:load_theme
function to load and apply new themes instead.Accessing colors and theme properties can be useful in custom viewbuilder widgets.
- Properties
- colors : { [ThemeColor]: RGBColor }
- knob_shade :
number
- knob_shade_observable :
renoise.Document.Observable
- body_shade :
number
- body_shade_observable :
renoise.Document.Observable
- contrast :
number
- contrast_observable :
renoise.Document.Observable
- texture_set :
string
- texture_set_observable :
renoise.Document.Observable
- Functions
- Aliases
Properties
colors : { [ThemeColor]: RGBColor }
READ-ONLY Get all theme colors in a flat list of RGBColors. Color table keys are string identifiers as used in the theme XML file, but in lower case.
Note that if you only need to access a single color from the theme, use
renoise.app().theme.color(color_name)
instead.To get notified of color changes, use
renoise.app().theme_observable
knob_shade : number
READ-ONLY Get theme's knob shade setting. Range: (1 - 2)
knob_shade_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
body_shade : number
READ-ONLY Get theme's body shade setting. Range: (1 - 2)
body_shade_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
contrast : number
READ-ONLY Get theme's contrast setting. Range: (-0.5 - 0.5)
contrast_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
texture_set : string
READ-ONLY Get theme's texture set name
texture_set_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
Functions
color(self, color_name : ThemeColor
)
->
RGBColor
Get a single color from the theme using a color identifier as used in the theme XML file - but in lower case.
e.g. to access the button background color from the theme, use
renoise.app().theme.color("button_back")
To get notified of color changes, use
renoise.app().theme_observable
-- The application theme's colors color_name: | "main_back" | "main_font" | "alternate_main_back" | "alternate_main_font" | "body_back" | "body_font" | "strong_body_font" | "button_back" | "button_font" | "button_highlight_font" | "selected_button_back" | "selected_button_font" | "selection_back" | "selection_font" | "standby_selection_back" | "standby_selection_font" | "midi_mapping_back" | "midi_mapping_font" | "tooltip_back" | "tooltip_font" | "valuebox_back" | "valuebox_font" | "valuebox_font_icons" | "scrollbar" | "slider" | "folder" | "pattern_default_back" | "pattern_default_font" | "pattern_default_font_volume" | "pattern_default_font_panning" | "pattern_default_font_pitch" | "pattern_default_font_delay" | "pattern_default_font_global" | "pattern_default_font_other" | "pattern_default_font_dspfx" | "pattern_default_font_unused" | "pattern_highlighted_back" | "pattern_highlighted_font" | "pattern_highlighted_font_volume" | "pattern_highlighted_font_panning" | "pattern_highlighted_font_pitch" | "pattern_highlighted_font_delay" | "pattern_highlighted_font_global" | "pattern_highlighted_font_other" | "pattern_highlighted_font_dspfx" | "pattern_highlighted_font_unused" | "pattern_playposition_back" | "pattern_playposition_font" | "pattern_centerbar_back" | "pattern_centerbar_font" | "pattern_centerbar_back_standby" | "pattern_centerbar_font_standby" | "pattern_selection" | "pattern_standby_selection" | "pattern_mute_state" | "automation_grid" | "automation_line_edge" | "automation_line_fill" | "automation_point" | "automation_marker_play" | "automation_marker_single" | "automation_marker_pair" | "automation_marker_diamond" | "vumeter_meter" | "vumeter_meter_low" | "vumeter_meter_middle" | "vumeter_meter_high" | "vumeter_peak" | "vumeter_back_normal" | "vumeter_back_clipped" | "default_color_01" | "default_color_02" | "default_color_03" | "default_color_04" | "default_color_05" | "default_color_06" | "default_color_07" | "default_color_08" | "default_color_09" | "default_color_10" | "default_color_11" | "default_color_12" | "default_color_13" | "default_color_14" | "default_color_15" | "default_color_16"
Aliases
RGBColor
{ 1 : integer
, 2 : integer
, 3 : integer
}
A table of 3 bytes (ranging from 0 to 255) representing the red, green and blue channels of a color. {0xFF, 0xFF, 0xFF} is white {165, 73, 35} is the red from the Renoise logo
ThemeColor
"alternate_main_back"
| "alternate_main_font"
| "automation_grid"
| "automation_line_edge"
| "automation_line_fill"
| "automation_marker_diamond"
| "automation_marker_pair"
| "automation_marker_play"
| "automation_marker_single"
| "automation_point"
| "body_back"
| "body_font"
| "button_back"
| "button_font"
| "button_highlight_font"
| "default_color_01"
| "default_color_02"
| "default_color_03"
| "default_color_04"
| "default_color_05"
| "default_color_06"
| "default_color_07"
| "default_color_08"
| "default_color_09"
| "default_color_10"
| "default_color_11"
| "default_color_12"
| "default_color_13"
| "default_color_14"
| "default_color_15"
| "default_color_16"
| "folder"
| "main_back"
| "main_font"
| "midi_mapping_back"
| "midi_mapping_font"
| "pattern_centerbar_back"
| "pattern_centerbar_back_standby"
| "pattern_centerbar_font"
| "pattern_centerbar_font_standby"
| "pattern_default_back"
| "pattern_default_font"
| "pattern_default_font_delay"
| "pattern_default_font_dspfx"
| "pattern_default_font_global"
| "pattern_default_font_other"
| "pattern_default_font_panning"
| "pattern_default_font_pitch"
| "pattern_default_font_unused"
| "pattern_default_font_volume"
| "pattern_highlighted_back"
| "pattern_highlighted_font"
| "pattern_highlighted_font_delay"
| "pattern_highlighted_font_dspfx"
| "pattern_highlighted_font_global"
| "pattern_highlighted_font_other"
| "pattern_highlighted_font_panning"
| "pattern_highlighted_font_pitch"
| "pattern_highlighted_font_unused"
| "pattern_highlighted_font_volume"
| "pattern_mute_state"
| "pattern_playposition_back"
| "pattern_playposition_font"
| "pattern_selection"
| "pattern_standby_selection"
| "scrollbar"
| "selected_button_back"
| "selected_button_font"
| "selection_back"
| "selection_font"
| "slider"
| "standby_selection_back"
| "standby_selection_font"
| "strong_body_font"
| "tooltip_back"
| "tooltip_font"
| "valuebox_back"
| "valuebox_font"
| "valuebox_font_icons"
| "vumeter_back_clipped"
| "vumeter_back_normal"
| "vumeter_meter"
| "vumeter_meter_high"
| "vumeter_meter_low"
| "vumeter_meter_middle"
| "vumeter_peak"
-- The application theme's colors ThemeColor: | "main_back" | "main_font" | "alternate_main_back" | "alternate_main_font" | "body_back" | "body_font" | "strong_body_font" | "button_back" | "button_font" | "button_highlight_font" | "selected_button_back" | "selected_button_font" | "selection_back" | "selection_font" | "standby_selection_back" | "standby_selection_font" | "midi_mapping_back" | "midi_mapping_font" | "tooltip_back" | "tooltip_font" | "valuebox_back" | "valuebox_font" | "valuebox_font_icons" | "scrollbar" | "slider" | "folder" | "pattern_default_back" | "pattern_default_font" | "pattern_default_font_volume" | "pattern_default_font_panning" | "pattern_default_font_pitch" | "pattern_default_font_delay" | "pattern_default_font_global" | "pattern_default_font_other" | "pattern_default_font_dspfx" | "pattern_default_font_unused" | "pattern_highlighted_back" | "pattern_highlighted_font" | "pattern_highlighted_font_volume" | "pattern_highlighted_font_panning" | "pattern_highlighted_font_pitch" | "pattern_highlighted_font_delay" | "pattern_highlighted_font_global" | "pattern_highlighted_font_other" | "pattern_highlighted_font_dspfx" | "pattern_highlighted_font_unused" | "pattern_playposition_back" | "pattern_playposition_font" | "pattern_centerbar_back" | "pattern_centerbar_font" | "pattern_centerbar_back_standby" | "pattern_centerbar_font_standby" | "pattern_selection" | "pattern_standby_selection" | "pattern_mute_state" | "automation_grid" | "automation_line_edge" | "automation_line_fill" | "automation_point" | "automation_marker_play" | "automation_marker_single" | "automation_marker_pair" | "automation_marker_diamond" | "vumeter_meter" | "vumeter_meter_low" | "vumeter_meter_middle" | "vumeter_meter_high" | "vumeter_peak" | "vumeter_back_normal" | "vumeter_back_clipped" | "default_color_01" | "default_color_02" | "default_color_03" | "default_color_04" | "default_color_05" | "default_color_06" | "default_color_07" | "default_color_08" | "default_color_09" | "default_color_10" | "default_color_11" | "default_color_12" | "default_color_13" | "default_color_14" | "default_color_15" | "default_color_16"
renoise.ApplicationWindow
Application window and general UI properties of the Renoise app.
- Constants
- Properties
- fullscreen :
boolean
- is_maximized :
boolean
- is_minimized :
boolean
- lock_keyboard_focus :
boolean
- sample_record_dialog_is_visible :
boolean
- disk_browser_is_visible :
boolean
- disk_browser_is_visible_observable :
renoise.Document.Observable
- disk_browser_category :
renoise.ApplicationWindow.DiskBrowserCategory
- disk_browser_category_observable :
renoise.Document.Observable
- instrument_box_is_visible :
boolean
- instrument_box_is_visible_observable :
renoise.Document.Observable
- instrument_box_slot_size :
renoise.ApplicationWindow.InstrumentBoxSlotSize
- instrument_box_slot_size_observable :
renoise.Document.Observable
- instrument_editor_is_detached :
boolean
- instrument_editor_is_detached_observable :
renoise.Document.Observable
- instrument_properties_is_visible :
boolean
- instrument_properties_is_visible_observable :
renoise.Document.Observable
- instrument_properties_show_volume_transpose :
boolean
- instrument_properties_show_trigger_options :
boolean
- instrument_properties_show_scale_options :
boolean
- instrument_properties_show_plugin :
boolean
- instrument_properties_show_plugin_program :
boolean
- instrument_properties_show_midi :
boolean
- instrument_properties_show_midi_program :
boolean
- instrument_properties_show_macros :
boolean
- instrument_properties_show_phrases :
boolean
- sample_properties_is_visible :
boolean
- sample_properties_is_visible_observable :
renoise.Document.Observable
- mixer_view_is_detached :
boolean
- mixer_view_is_detached_observable :
renoise.Document.Observable
- upper_frame_is_visible :
boolean
- upper_frame_is_visible_observable :
renoise.Document.Observable
- active_upper_frame :
renoise.ApplicationWindow.UpperFrame
- active_upper_frame_observable :
renoise.Document.Observable
- active_middle_frame :
renoise.ApplicationWindow.MiddleFrame
- active_middle_frame_observable :
renoise.Document.Observable
- lower_frame_is_visible :
boolean
- lower_frame_is_visible_observable :
renoise.Document.Observable
- active_lower_frame :
renoise.ApplicationWindow.LowerFrame
- active_lower_frame_observable :
renoise.Document.Observable
- right_frame_is_visible :
boolean
- right_frame_is_visible_observable :
renoise.Document.Observable
- pattern_matrix_is_visible :
boolean
- pattern_matrix_is_visible_observable :
renoise.Document.Observable
- pattern_advanced_edit_is_visible :
boolean
- pattern_advanced_edit_is_visible_observable :
renoise.Document.Observable
- mixer_view_post_fx :
boolean
- mixer_view_post_fx_observable :
renoise.Document.Observable
- mixer_fader_type :
renoise.ApplicationWindow.MixerFader
- mixer_fader_type_observable :
renoise.Document.Observable
- fullscreen :
- Functions
Constants
UpperFrame
{ UPPER_FRAME_TRACK_SCOPES: integer = 1, UPPER_FRAME_MASTER_SPECTRUM: integer = 2, }
MiddleFrame
{ MIDDLE_FRAME_PATTERN_EDITOR: integer = 1, MIDDLE_FRAME_MIXER: integer = 2, MIDDLE_FRAME_INSTRUMENT_PHRASE_EDITOR: integer = 3, MIDDLE_FRAME_INSTRUMENT_SAMPLE_KEYZONES: integer = 4, MIDDLE_FRAME_INSTRUMENT_SAMPLE_EDITOR: integer = 5, MIDDLE_FRAME_INSTRUMENT_SAMPLE_MODULATION: integer = 6, MIDDLE_FRAME_INSTRUMENT_SAMPLE_EFFECTS: integer = 7, MIDDLE_FRAME_INSTRUMENT_PLUGIN_EDITOR: integer = 8, MIDDLE_FRAME_INSTRUMENT_MIDI_EDITOR: integer = 9, }
LowerFrame
{ LOWER_FRAME_TRACK_DSPS: integer = 1, LOWER_FRAME_TRACK_AUTOMATION: integer = 2, }
DiskBrowserCategory
{ DISK_BROWSER_CATEGORY_SONGS: integer = 1, DISK_BROWSER_CATEGORY_INSTRUMENTS: integer = 2, DISK_BROWSER_CATEGORY_SAMPLES: integer = 3, DISK_BROWSER_CATEGORY_OTHER: integer = 4, }
InstrumentBoxSlotSize
{ INSTRUMENT_BOX_SLOT_SIZE_SMALL: integer = 1, INSTRUMENT_BOX_SLOT_SIZE_MEDIUM: integer = 2, INSTRUMENT_BOX_SLOT_SIZE_LARGE: integer = 3, }
MixerFader
{ MIXER_FADER_TYPE_24DB: integer = 1, MIXER_FADER_TYPE_48DB: integer = 2, MIXER_FADER_TYPE_96DB: integer = 3, MIXER_FADER_TYPE_LINEAR: integer = 4, }
Properties
fullscreen : boolean
Get/set if the application is running fullscreen.
is_maximized : boolean
READ-ONLY. Window status flag.
is_minimized : boolean
READ-ONLY. Window status flag.
lock_keyboard_focus : boolean
When true, the middle frame views (like the pattern editor) will stay focused unless alt or middle mouse is clicked.
sample_record_dialog_is_visible : boolean
Dialog for recording new samples, floating above the main window.
disk_browser_is_visible : boolean
Diskbrowser Panel.
disk_browser_is_visible_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
disk_browser_category : renoise.ApplicationWindow.DiskBrowserCategory
disk_browser_category_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
instrument_box_is_visible : boolean
InstrumentBox
instrument_box_is_visible_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
instrument_box_slot_size : renoise.ApplicationWindow.InstrumentBoxSlotSize
InstrumentBox slot size
instrument_box_slot_size_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
instrument_editor_is_detached : boolean
Instrument Editor detaching.
instrument_editor_is_detached_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
instrument_properties_is_visible : boolean
InstrumentProperties (below InstrumentBox)
instrument_properties_is_visible_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
instrument_properties_show_volume_transpose : boolean
instrument_properties_show_trigger_options : boolean
instrument_properties_show_scale_options : boolean
instrument_properties_show_plugin : boolean
instrument_properties_show_plugin_program : boolean
instrument_properties_show_midi : boolean
instrument_properties_show_midi_program : boolean
instrument_properties_show_macros : boolean
instrument_properties_show_phrases : boolean
sample_properties_is_visible : boolean
SampleProperties (below SampleNavigator)
sample_properties_is_visible_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
mixer_view_is_detached : boolean
Mixer View detaching.
mixer_view_is_detached_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
upper_frame_is_visible : boolean
Frame with the scopes/master spectrum...
upper_frame_is_visible_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
active_upper_frame : renoise.ApplicationWindow.UpperFrame
active_upper_frame_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
active_middle_frame : renoise.ApplicationWindow.MiddleFrame
Frame with the pattern editor, mixer...
active_middle_frame_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
lower_frame_is_visible : boolean
Frame with the DSP chain view, automation, etc.
lower_frame_is_visible_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
active_lower_frame : renoise.ApplicationWindow.LowerFrame
active_lower_frame_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
right_frame_is_visible : boolean
Frame with Disk Browser and Instrument Box.
right_frame_is_visible_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
pattern_matrix_is_visible : boolean
Pattern matrix, visible in pattern editor and mixer only...
pattern_matrix_is_visible_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
pattern_advanced_edit_is_visible : boolean
Pattern advanced edit, visible in pattern editor only...
pattern_advanced_edit_is_visible_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
mixer_view_post_fx : boolean
Mixer views Pre/Post volume setting.
mixer_view_post_fx_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
mixer_fader_type : renoise.ApplicationWindow.MixerFader
Mixer fader type setting.
mixer_fader_type_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
Functions
maximize(self)
Expand the window over the entire screen, without hiding menu bars, docks and so on.
minimize(self)
Minimize the window to the dock or taskbar, depending on the OS.
restore(self)
"un-maximize" or "un-minimize" the window, or just bring it to front.
select_preset(self, preset_index : integer
)
Select/activate one of the global view presets, to memorize/restore the user interface layout.
renoise.AudioDevice
Audio DSP device in tracks or sample device chains.
- Properties
- name :
string
- short_name :
string
- display_name :
string
- display_name_observable :
renoise.Document.Observable
- is_active :
boolean
- is_active_observable :
renoise.Document.Observable
- is_maximized :
boolean
- is_maximized_observable :
renoise.Document.Observable
- active_preset :
integer
- active_preset_observable :
renoise.Document.Observable
- active_preset_data :
string
- presets :
string
[] - is_active_parameter :
renoise.DeviceParameter
- parameters :
renoise.DeviceParameter
[] - external_editor_available :
boolean
- external_editor_visible :
boolean
- device_path :
string
- name :
- Functions
Properties
name : string
READ-ONLY
short_name : string
READ-ONLY
display_name : string
Configurable device display name. When empty
name
is displayed.
display_name_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
is_active : boolean
!active = bypassed
is_active_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
is_maximized : boolean
Maximize state in DSP chain.
is_maximized_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
active_preset : integer
0 when none is active or available
active_preset_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
active_preset_data : string
raw serialized data in XML format of the active preset
presets : string
[]
READ-ONLY preset names
is_active_parameter : renoise.DeviceParameter
READ-ONLY
parameters : renoise.DeviceParameter
[]
READ-ONLY
external_editor_available : boolean
READ-ONLY Returns whether or not the device provides its own custom GUI (only available for some plugin devices)
external_editor_visible : boolean
true to show the editor, false to close it
device_path : string
READ-ONLY Returns a string that uniquely identifies the device, from
available_devices
. The string can be passed into:renoise.song().tracks[]:insert_device_at()
Functions
preset(self, index : integer
)
->
preset_name : string
Access to a single preset name by index. Use properties 'presets' to iterate over all presets and to query the presets count. comment
parameter(self, index : integer
)
Access to a single parameter by index. Use properties 'parameters' to iterate over all parameters and to query the parameter count.
renoise.DeviceParameter
A single parameter within an audio DSP effect (renoise.AudioDevice)
- Constants
- Properties
- name :
string
- name_observable :
renoise.Document.ObservableString
- polarity :
renoise.DeviceParameter.Polarity
- value_min :
number
- value_max :
number
- value_quantum :
number
- value_default :
number
- time_quantum :
number
- is_automatable :
boolean
- is_automated :
boolean
- is_automated_observable :
renoise.Document.Observable
- is_midi_mapped :
boolean
- is_midi_mapped_observable :
renoise.Document.Observable
- show_in_mixer :
boolean
- show_in_mixer_observable :
renoise.Document.Observable
- value :
number
- value_observable :
renoise.Document.Observable
- value_string :
string
- value_string_observable :
renoise.Document.Observable
- name :
- Functions
Constants
Polarity
{ POLARITY_UNIPOLAR: integer = 1, POLARITY_BIPOLAR: integer = 2, }
Properties
name : string
READ-ONLY
name_observable : renoise.Document.ObservableString
polarity : renoise.DeviceParameter.Polarity
READ-ONLY
value_min : number
READ-ONLY
value_max : number
READ-ONLY
value_quantum : number
READ-ONLY
value_default : number
READ-ONLY
time_quantum : number
READ-ONLY
is_automatable : boolean
READ-ONLY
is_automated : boolean
READ-ONLY Is automated. Not valid for parameters of instrument devices.
is_automated_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
is_midi_mapped : boolean
READ-ONLY Parameter has a custom MIDI mapping in the current song.
is_midi_mapped_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
show_in_mixer : boolean
Show in mixer. Not valid for parameters of instrument devices.
show_in_mixer_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
value : number
value in Range: (value_min - value_max)
value_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
value_string : string
value_string_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
Functions
record_value(self, value : number
)
Set a new value and write automation when the MIDI mapping "record to automation" option is set. Only works for parameters of track devices, not for instrument devices.
renoise.Dialog
A custom dialog created via the scripting API. Dialogs can be created via
renoise.app():show_custom_dialog
.See
create custom views
on top of the renoise.ViewBuilder docs on how to create views for the dialog.
Properties
visible : boolean
READ-ONLY Check if a dialog is alive and visible.
focused : boolean
READ-ONLY Check if a dialog is visible and is the key window.
Functions
show(self)
Bring an already visible dialog to front and make it the key window.
close(self)
Close a visible dialog.
renoise.Document
renoise.Document classes are wrappers for Renoise's internal document classes.
Please note: the Lua wrappers are not really "the Lua way" of solving and expressing things. e.g: there's no support for mixed types in lists, tuples at the moment.
Documents can be serialized from/to XML, just like Renoise's internal document and are observable.
An empty document (node) object can be created via
renoise.Document.create("MyDoc"){}
Such document objects can then be extended with the document's
add_property
function. Existing properties can also be removed again with theremove_property
function.examples:
-- Creates an empty document, using "MyDoc" as the model name (a type name) local my_document = renoise.Document.create("MyDoc"){ } -- adds a number to the document with the initial value 1 my_document:add_property("value1", 1) -- adds a string my_document:add_property("value2", "bla") -- create another document and adds it local node = renoise.Document.create("MySubDoc"){ } node:add_property("another_value", 1) -- add another already existing node my_document:add_property("nested_node", node) -- removes a previously added node my_document:remove_property(node) -- access properties local value1 = my_document.value1 value1 = my_document:property("value1")
As an alternative to
renoise.Document.create
, you can also inherit from renoise.Document.DocumentNode in order to create your own document classes. This is especially recommended when dealing with more complex docs, because you can also use additional methods to deal with your properties, the data.examples:
class "MyDocument" (renoise.Document.DocumentNode) function MyDocument:__init() -- important! call super first renoise.Document.DocumentNode.__init(self) -- add properties to construct the document model self:add_property("age", 1) self:add_property("name", renoise.Document.ObservableString("value")) -- other doc renoise.Document.DocumentNode object self:add_property("sub_node", MySubNode()) -- list of renoise.Document.DocumentNode objects self:add_property("doc_list", renoise.Document.DocumentList()) -- or the create() way: self:add_properties { something = "else" } end
Instantiating such custom document objects can then be done by simply calling the constructor:
my_document = MyDocument() -- do something with my_document, load/save, add/remove more properties
Functions
create(model_name : string
)
->
(properties : ObservableProperties
) ->
renoise.Document.DocumentNode
Create an empty DocumentNode or a DocumentNode that is modeled after the passed key value table. "model_name" will be used to identify the documents type when loading/saving. It also allows you to instantiate new document objects (see renoise.Document.instantiate).
examples:
my_document = renoise.Document.create("MyDoc") { age = 1, name = "bla", -- implicitly specify a property type is_valid = renoise.Document.ObservableBoolean(false), -- or explicitly age_list = {1, 2, 3}, another_list = renoise.Document.ObservableNumberList(), sub_node = { sub_value1 = 2, sub_value2 = "bla2" } }
This will create a document node which is !modeled! after the the passed table. The table is not used internally by the document after construction, and will only be referenced to construct new instances. Also note that you need to assign values for all passed table properties in order to automatically determine it's type, or specify the types explicitly -> renoise.Document.ObservableXXX().
The passed name ("MyDoc" in the example above) is used to identify the document when loading/saving it (loading a XML file which was saved with a different model will fail) and to generally specify the "type".
Additionally, once "create" is called, you can use the specified model name to create new instances.
examples:
-- create a new instance of "MyDoc" my_other_document = renoise.Document.instantiate("MyDoc")
instantiate(model_name : string
)
->
renoise.Document.DocumentNode
Create a new instance of the given document model. Given
model_name
must have been registered withrenoise.Document.create
before.
Aliases
DocumentMember
renoise.Document.DocumentList
| renoise.Document.DocumentNode
| renoise.Document.Observable
| renoise.Document.ObservableList
Track changes to document properties or general states by attaching listener functions to it.
ListElementAdded
{ index : integer
, type : "insert"
}
ListElementChange
ListElementAdded
| ListElementRemoved
| ListElementsSwapped
ListElementRemoved
{ index : integer
, type : "removed"
}
ListElementsSwapped
{ index1 : integer
, index2 : integer
, type : "swapped"
}
ListNotifierFunction
(change : ListElementChange
)
ListNotifierMemberContext
NotifierFunction
fun()
NotifierMemberContext
ObservableProperties
table<string
, ObservableTypes
| renoise.Document.DocumentList
| renoise.Document.DocumentNode
>
ObservableTypes
boolean
| string
| number
| boolean
[] | number
[] | string
[]
renoise.Document.DocumentList
A document list is a document sub component which may contain other document nodes in an observable list.
example:
-- our goal here is to have a document that contains a list of documents -- which can loaded as preferences for our tool -- -- define a class model for our complex type for document items in the list -- so that Renoise knows how to load it later our entries will have renoise.Document.create("Entry") { name = renoise.Document.ObservableString(), path = renoise.Document.ObservableString(), } -- create new entry instances with the given data function create_entry(name, path) local entry = renoise.Document.instantiate("Entry") entry.name.value = name entry.path.value = path return entry end -- define a class model for our preferences which is using a list of entries renoise.Document.create("MyPreferences") { list = renoise.Document.DocumentList() } -- assign a fresh instance of our main document as preferences local preferences = renoise.Document.instantiate("MyPreferences") renoise.tool().preferences = preferences -- insert elements into the list using :insert(index, element) -- we call our helper to create an instance of Entry preferences.list:insert(1, create_entry("some name", "some/path")) -- access entries by using :property(index) print(preferences.list:property(1).name) -- get the size of the list (you can use :size() as well) print(#preferences.list) -- loop over the list to print all entries for i = 1, #preferences.list do local entry = preferences.list:property(i) print(i) print(entry.name) print(entry.path) end -- try reloading your tool to see the list get bigger
- Functions
- size(self)
- property(self, index :
integer
) - find(self, start_pos :
integer
, value :renoise.Document.DocumentNode
) - insert(self, pos :
integer
, value :renoise.Document.DocumentNode
) - remove(self, pos :
integer
) - swap(self, pos1 :
integer
, pos2 :integer
) - has_notifier(self, notifier :
ListNotifierFunction
) - add_notifier(self, notifier :
ListNotifierFunction
) - remove_notifier(self, notifier :
ListNotifierFunction
|ListNotifierMemberContext
)
- Aliases
Functions
size(self)
->
integer
Returns the number of entries of the list.
property(self, index : integer
)
->
renoise.Document.DocumentNode
?
List item access by index. returns nil for non existing items.
find(self, start_pos : integer
, value : renoise.Document.DocumentNode
)
Find a value in the list by comparing the list values with the passed value. The first successful match is returned. When no match is found, nil is returned.
insert(self, pos : integer
, value : renoise.Document.DocumentNode
)
->
renoise.Document.DocumentNode
Insert a new item to the end of the list when no position is specified, or at the specified position. Returns the newly created and inserted Observable.
remove(self, pos : integer
)
Removes an item (or the last one if no index is specified) from the list.
swap(self, pos1 : integer
, pos2 : integer
)
Swaps the positions of two items without adding/removing the items.
With a series of swaps you can move the item from/to any position.
has_notifier(self, notifier : ListNotifierFunction
)
Checks if the given function, method was already registered as notifier.
add_notifier(self, notifier : ListNotifierFunction
)
Register a function or method as a notifier, which will be called as soon as the document lists layout changed. The passed notifier can either be a function or a table with a function and some context (an "object") -> method.
remove_notifier(self, notifier : ListNotifierFunction
| ListNotifierMemberContext
)
Unregister a previously registered list notifier. When only passing an object, all notifier functions that match the given object will be removed. This will not fire errors when no methods for the given object are attached. Trying to unregister a function or method which wasn't registered, will resolve into an error.
Aliases
ListElementAdded
{ index : integer
, type : "insert"
}
ListElementChange
ListElementAdded
| ListElementRemoved
| ListElementsSwapped
ListElementRemoved
{ index : integer
, type : "removed"
}
ListElementsSwapped
{ index1 : integer
, index2 : integer
, type : "swapped"
}
ListNotifierFunction
(change : ListElementChange
)
ListNotifierMemberContext
renoise.Document.DocumentNode
A document node is a sub component in a document which contains other documents or observables.
- Functions
- __init(self)
- has_property(self, property_name :
string
) - property(self, property_name :
string
) - add_property(self, name :
string
, value :renoise.Document.DocumentNode
) - add_properties(self, properties :
ObservableProperties
) - remove_property(self, value :
DocumentMember
) - save_as(self, file_name :
string
) - load_from(self, file_name :
string
) - to_string(self)
- from_string(self, string :
string
)
- Aliases
Functions
__init(self)
Base constructor, only necessary to be called in your custom class constructor, when inheriting from renoise.Document.DocumentNode.
has_property(self, property_name : string
)
->
boolean
Check if the given property exists.
property(self, property_name : string
)
Access a property by name. Returns the property, or nil when there is no such property.
add_property(self, name : string
, value : renoise.Document.DocumentNode
)
->
renoise.Document.DocumentNode
Add a new property. Name must be unique: overwriting already existing properties with the same name is not allowed and will fire an error. If you want to replace a property, remove it first, then add it again.
add_properties(self, properties : ObservableProperties
)
Add a batch of properties in one go, similar to renoise.Document.create.
remove_property(self, value : DocumentMember
)
Remove a previously added property. Property must exist.
In order to remove a value by it's key, use
my_document:remove_property(my_document["some_member"])
save_as(self, file_name : string
)
->
success : boolean
, error : string
?
Save the whole document tree to an XML file. Overwrites all contents of the file when it already exists.
load_from(self, file_name : string
)
->
success : boolean
, error : string
?
Load the document tree from an XML file. This will NOT create new properties, except for list items, but will only assign existing property values in the document node with existing property values from the XML. This means: nodes that only exist in the XML will silently be ignored. Nodes that only exist in the document, will not be altered in any way. The loaded document's type must match the document type that saved the XML data. A document's type is specified in the renoise.Document.create() function as "model_name". For classes which inherit from renoise.Document.DocumentNode it's the class name.
to_string(self)
->
string
Serialize the whole document tree to a XML string.
from_string(self, string : string
)
->
success : boolean
, error : string
?
Parse document tree from the given string data. See renoise.Document.DocumentNode:load_from for details about how properties are parsed and errors are handled.
Aliases
DocumentMember
renoise.Document.DocumentList
| renoise.Document.DocumentNode
| renoise.Document.Observable
| renoise.Document.ObservableList
Track changes to document properties or general states by attaching listener functions to it.
ListElementAdded
{ index : integer
, type : "insert"
}
ListElementChange
ListElementAdded
| ListElementRemoved
| ListElementsSwapped
ListElementRemoved
{ index : integer
, type : "removed"
}
ListElementsSwapped
{ index1 : integer
, index2 : integer
, type : "swapped"
}
ListNotifierFunction
(change : ListElementChange
)
ListNotifierMemberContext
NotifierFunction
fun()
NotifierMemberContext
ObservableProperties
table<string
, ObservableTypes
| renoise.Document.DocumentList
| renoise.Document.DocumentNode
>
ObservableTypes
boolean
| string
| number
| boolean
[] | number
[] | string
[]
renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
Functions
has_notifier(self, notifier : NotifierFunction
)
->
boolean
Checks if the given function, method was already registered as notifier.
add_notifier(self, notifier : NotifierFunction
)
Register a function or method as a notifier, which will be called as soon as the observable's value changed. The passed notifier can either be a function or a table with a function and some context (an "object") -> method.
examples:
renoise.song().transport.bpm_observable:add_notifier(function() print("BPM changed") end) local my_context = { bpm_changes = 0, something_else = "bla" } renoise.song().transport.bpm_observable:add_notifier({ my_context, function(context) context.bpm_changes = context.bpm_changes + 1; print(("#BPM changes: %s"):format(context.bpm_changes)); end })
remove_notifier(self, notifier : NotifierFunction
| NotifierMemberContext
)
Unregister a previously registered notifier. When only passing an object, all notifier functions that match the given object will be removed. This will not fire errors when no methods for the given object are attached. Trying to unregister a function or method which wasn't registered, will resolve into an error.
Aliases
NotifierFunction
fun()
NotifierMemberContext
renoise.Document.ObservableBang
Observable without a value which sends out notifications when "banging" it.
Functions
has_notifier(self, notifier : NotifierFunction
)
->
boolean
Checks if the given function, method was already registered as notifier.
add_notifier(self, notifier : NotifierFunction
)
Register a function or method as a notifier, which will be called as soon as the observable's value changed. The passed notifier can either be a function or a table with a function and some context (an "object") -> method.
examples:
renoise.song().transport.bpm_observable:add_notifier(function() print("BPM changed") end) local my_context = { bpm_changes = 0, something_else = "bla" } renoise.song().transport.bpm_observable:add_notifier({ my_context, function(context) context.bpm_changes = context.bpm_changes + 1; print(("#BPM changes: %s"):format(context.bpm_changes)); end })
remove_notifier(self, notifier : NotifierFunction
| NotifierMemberContext
)
Unregister a previously registered notifier. When only passing an object, all notifier functions that match the given object will be removed. This will not fire errors when no methods for the given object are attached. Trying to unregister a function or method which wasn't registered, will resolve into an error.
bang(self)
fire a notification, calling all registered notifiers.
Aliases
NotifierFunction
fun()
NotifierMemberContext
renoise.Document.ObservableBoolean
Properties
value : boolean
Read/write access to the value of an observable.
Functions
has_notifier(self, notifier : NotifierFunction
)
->
boolean
Checks if the given function, method was already registered as notifier.
add_notifier(self, notifier : NotifierFunction
)
Register a function or method as a notifier, which will be called as soon as the observable's value changed. The passed notifier can either be a function or a table with a function and some context (an "object") -> method.
examples:
renoise.song().transport.bpm_observable:add_notifier(function() print("BPM changed") end) local my_context = { bpm_changes = 0, something_else = "bla" } renoise.song().transport.bpm_observable:add_notifier({ my_context, function(context) context.bpm_changes = context.bpm_changes + 1; print(("#BPM changes: %s"):format(context.bpm_changes)); end })
remove_notifier(self, notifier : NotifierFunction
| NotifierMemberContext
)
Unregister a previously registered notifier. When only passing an object, all notifier functions that match the given object will be removed. This will not fire errors when no methods for the given object are attached. Trying to unregister a function or method which wasn't registered, will resolve into an error.
to_string(self)
->
string
Serialize an object to a string.
from_string(self, string : any
)
->
string
Assign the object's value from a string - when possible. Errors are silently ignored.
Aliases
NotifierFunction
fun()
NotifierMemberContext
renoise.Document.ObservableBooleanList
A observable list of boolean values.
- Functions
- to_string(self)
- from_string(self, string :
any
) - size(self)
- has_notifier(self, notifier :
ListNotifierFunction
) - add_notifier(self, notifier :
ListNotifierFunction
) - remove_notifier(self, notifier :
ListNotifierFunction
|ListNotifierMemberContext
) - property(self, index :
integer
) - find(self, start_pos :
integer
, value :boolean
) - insert(self, pos :
integer
, value :boolean
) - remove(self, pos :
integer
) - swap(self, pos1 :
integer
, pos2 :integer
)
- Aliases
Functions
to_string(self)
->
string
Serialize an object to a string.
from_string(self, string : any
)
->
string
Assign the object's value from a string - when possible. Errors are silently ignored.
size(self)
->
integer
Returns the number of entries of the list.
has_notifier(self, notifier : ListNotifierFunction
)
Checks if the given function, method was already registered as notifier.
add_notifier(self, notifier : ListNotifierFunction
)
Register a function or method as a notifier, which will be called as soon as the observable lists layout changed. The passed notifier can either be a function or a table with a function and some context (an "object") -> method.
remove_notifier(self, notifier : ListNotifierFunction
| ListNotifierMemberContext
)
Unregister a previously registered list notifier. When only passing an object, all notifier functions that match the given object will be removed. This will not fire errors when no methods for the given object are attached. Trying to unregister a function or method which wasn't registered, will resolve into an error.
property(self, index : integer
)
->
renoise.Document.ObservableBoolean
?
List item access by index. returns nil for non existing items.
find(self, start_pos : integer
, value : boolean
)
Find a value in the list by comparing the list values with the passed value. The first successful match is returned. When no match is found, nil is returned.
insert(self, pos : integer
, value : boolean
)
->
renoise.Document.ObservableBoolean
Insert a new item to the end of the list when no position is specified, or at the specified position. Returns the newly created and inserted Observable.
remove(self, pos : integer
)
Removes an item (or the last one if no index is specified) from the list.
swap(self, pos1 : integer
, pos2 : integer
)
Swaps the positions of two items without adding/removing the items.
With a series of swaps you can move the item from/to any position.
Aliases
ListElementAdded
{ index : integer
, type : "insert"
}
ListElementChange
ListElementAdded
| ListElementRemoved
| ListElementsSwapped
ListElementRemoved
{ index : integer
, type : "removed"
}
ListElementsSwapped
{ index1 : integer
, index2 : integer
, type : "swapped"
}
ListNotifierFunction
(change : ListElementChange
)
ListNotifierMemberContext
renoise.Document.ObservableList
Track changes to document lists by attaching listener functions to it. NB: Notifiers will not broadcast changes made to list items, but only changes to the lists layout (items got added, removed, swapped).
Functions
size(self)
->
integer
Returns the number of entries of the list.
has_notifier(self, notifier : ListNotifierFunction
)
Checks if the given function, method was already registered as notifier.
add_notifier(self, notifier : ListNotifierFunction
)
Register a function or method as a notifier, which will be called as soon as the observable lists layout changed. The passed notifier can either be a function or a table with a function and some context (an "object") -> method.
remove_notifier(self, notifier : ListNotifierFunction
| ListNotifierMemberContext
)
Unregister a previously registered list notifier. When only passing an object, all notifier functions that match the given object will be removed. This will not fire errors when no methods for the given object are attached. Trying to unregister a function or method which wasn't registered, will resolve into an error.
Aliases
ListElementAdded
{ index : integer
, type : "insert"
}
ListElementChange
ListElementAdded
| ListElementRemoved
| ListElementsSwapped
ListElementRemoved
{ index : integer
, type : "removed"
}
ListElementsSwapped
{ index1 : integer
, index2 : integer
, type : "swapped"
}
ListNotifierFunction
(change : ListElementChange
)
ListNotifierMemberContext
renoise.Document.ObservableNumber
Properties
value : number
Read/write access to the value of an Observable.
Functions
has_notifier(self, notifier : NotifierFunction
)
->
boolean
Checks if the given function, method was already registered as notifier.
add_notifier(self, notifier : NotifierFunction
)
Register a function or method as a notifier, which will be called as soon as the observable's value changed. The passed notifier can either be a function or a table with a function and some context (an "object") -> method.
examples:
renoise.song().transport.bpm_observable:add_notifier(function() print("BPM changed") end) local my_context = { bpm_changes = 0, something_else = "bla" } renoise.song().transport.bpm_observable:add_notifier({ my_context, function(context) context.bpm_changes = context.bpm_changes + 1; print(("#BPM changes: %s"):format(context.bpm_changes)); end })
remove_notifier(self, notifier : NotifierFunction
| NotifierMemberContext
)
Unregister a previously registered notifier. When only passing an object, all notifier functions that match the given object will be removed. This will not fire errors when no methods for the given object are attached. Trying to unregister a function or method which wasn't registered, will resolve into an error.
to_string(self)
->
string
Serialize an object to a string.
from_string(self, string : any
)
->
string
Assign the object's value from a string - when possible. Errors are silently ignored.
Aliases
NotifierFunction
fun()
NotifierMemberContext
renoise.Document.ObservableNumberList
A observable list of number values.
- Functions
- to_string(self)
- from_string(self, string :
any
) - size(self)
- has_notifier(self, notifier :
ListNotifierFunction
) - add_notifier(self, notifier :
ListNotifierFunction
) - remove_notifier(self, notifier :
ListNotifierFunction
|ListNotifierMemberContext
) - property(self, index :
integer
) - find(self, start_pos :
integer
, value :number
) - insert(self, pos :
integer
, value :number
) - remove(self, pos :
integer
) - swap(self, pos1 :
integer
, pos2 :integer
)
- Aliases
Functions
to_string(self)
->
string
Serialize an object to a string.
from_string(self, string : any
)
->
string
Assign the object's value from a string - when possible. Errors are silently ignored.
size(self)
->
integer
Returns the number of entries of the list.
has_notifier(self, notifier : ListNotifierFunction
)
Checks if the given function, method was already registered as notifier.
add_notifier(self, notifier : ListNotifierFunction
)
Register a function or method as a notifier, which will be called as soon as the observable lists layout changed. The passed notifier can either be a function or a table with a function and some context (an "object") -> method.
remove_notifier(self, notifier : ListNotifierFunction
| ListNotifierMemberContext
)
Unregister a previously registered list notifier. When only passing an object, all notifier functions that match the given object will be removed. This will not fire errors when no methods for the given object are attached. Trying to unregister a function or method which wasn't registered, will resolve into an error.
property(self, index : integer
)
->
renoise.Document.ObservableNumber
?
List item access by index. returns nil for non existing items.
find(self, start_pos : integer
, value : number
)
Find a value in the list by comparing the list values with the passed value. The first successful match is returned. When no match is found, nil is returned.
insert(self, pos : integer
, value : number
)
->
renoise.Document.ObservableNumber
Insert a new item to the end of the list when no position is specified, or at the specified position. Returns the newly created and inserted Observable.
remove(self, pos : integer
)
Removes an item (or the last one if no index is specified) from the list.
swap(self, pos1 : integer
, pos2 : integer
)
Swaps the positions of two items without adding/removing the items. With a series of swaps you can move the item from/to any position.
Aliases
ListElementAdded
{ index : integer
, type : "insert"
}
ListElementChange
ListElementAdded
| ListElementRemoved
| ListElementsSwapped
ListElementRemoved
{ index : integer
, type : "removed"
}
ListElementsSwapped
{ index1 : integer
, index2 : integer
, type : "swapped"
}
ListNotifierFunction
(change : ListElementChange
)
ListNotifierMemberContext
renoise.Document.ObservableString
Properties
value : string
Read/write access to the value of an Observable.
Functions
has_notifier(self, notifier : NotifierFunction
)
->
boolean
Checks if the given function, method was already registered as notifier.
add_notifier(self, notifier : NotifierFunction
)
Register a function or method as a notifier, which will be called as soon as the observable's value changed. The passed notifier can either be a function or a table with a function and some context (an "object") -> method.
examples:
renoise.song().transport.bpm_observable:add_notifier(function() print("BPM changed") end) local my_context = { bpm_changes = 0, something_else = "bla" } renoise.song().transport.bpm_observable:add_notifier({ my_context, function(context) context.bpm_changes = context.bpm_changes + 1; print(("#BPM changes: %s"):format(context.bpm_changes)); end })
remove_notifier(self, notifier : NotifierFunction
| NotifierMemberContext
)
Unregister a previously registered notifier. When only passing an object, all notifier functions that match the given object will be removed. This will not fire errors when no methods for the given object are attached. Trying to unregister a function or method which wasn't registered, will resolve into an error.
to_string(self)
->
string
Serialize an object to a string.
from_string(self, string : any
)
->
string
Assign the object's value from a string - when possible. Errors are silently ignored.
Aliases
NotifierFunction
fun()
NotifierMemberContext
renoise.Document.ObservableStringList
A observable list of string values.
- Functions
- to_string(self)
- from_string(self, string :
any
) - size(self)
- has_notifier(self, notifier :
ListNotifierFunction
) - add_notifier(self, notifier :
ListNotifierFunction
) - remove_notifier(self, notifier :
ListNotifierFunction
|ListNotifierMemberContext
) - property(self, index :
integer
) - find(self, start_pos :
integer
, value :number
) - insert(self, pos :
integer
, value :number
) - remove(self, pos :
integer
) - swap(self, pos1 :
integer
, pos2 :integer
)
- Aliases
Functions
to_string(self)
->
string
Serialize an object to a string.
from_string(self, string : any
)
->
string
Assign the object's value from a string - when possible. Errors are silently ignored.
size(self)
->
integer
Returns the number of entries of the list.
has_notifier(self, notifier : ListNotifierFunction
)
Checks if the given function, method was already registered as notifier.
add_notifier(self, notifier : ListNotifierFunction
)
Register a function or method as a notifier, which will be called as soon as the observable lists layout changed. The passed notifier can either be a function or a table with a function and some context (an "object") -> method.
remove_notifier(self, notifier : ListNotifierFunction
| ListNotifierMemberContext
)
Unregister a previously registered list notifier. When only passing an object, all notifier functions that match the given object will be removed. This will not fire errors when no methods for the given object are attached. Trying to unregister a function or method which wasn't registered, will resolve into an error.
property(self, index : integer
)
->
renoise.Document.ObservableString
?
List item access by index. returns nil for non existing items.
find(self, start_pos : integer
, value : number
)
Find a value in the list by comparing the list values with the passed value. The first successful match is returned. When no match is found, nil is returned.
insert(self, pos : integer
, value : number
)
->
renoise.Document.ObservableString
Insert a new item to the end of the list when no position is specified, or at the specified position. Returns the newly created and inserted Observable.
remove(self, pos : integer
)
Removes an item (or the last one if no index is specified) from the list.
swap(self, pos1 : integer
, pos2 : integer
)
Swaps the positions of two items without adding/removing the items. With a series of swaps you can move the item from/to any position.
Aliases
ListElementAdded
{ index : integer
, type : "insert"
}
ListElementChange
ListElementAdded
| ListElementRemoved
| ListElementsSwapped
ListElementRemoved
{ index : integer
, type : "removed"
}
ListElementsSwapped
{ index1 : integer
, index2 : integer
, type : "swapped"
}
ListNotifierFunction
(change : ListElementChange
)
ListNotifierMemberContext
renoise.Document.Serializable
Functions
to_string(self)
->
string
Serialize an object to a string.
from_string(self, string : any
)
->
string
Assign the object's value from a string - when possible. Errors are silently ignored.
renoise.EffectColumn
A single effect column in a pattern line.
Access effect column properties either by values (numbers) or by strings. The string representation uses exactly the same notation as you see them in Renoise's pattern or phrase editor.
Properties
is_empty : boolean
READ-ONLY True, when all effect column properties are empty.
is_selected : boolean
READ-ONLY True, when this column is selected in the pattern or phrase editor.
number_value : integer
0-65535 in the form 0x0000xxyy where xx=effect char 1 and yy=effect char 2
number_string : string
Range: ('00' - 'ZZ')
amount_value : integer
Range: (0 - 255)
amount_string : string
Range: ('00' - 'FF')
Functions
clear(self)
Clear the effect column.
copy_from(self, other : renoise.EffectColumn
)
Copy the column's content from another column.
renoise.GroupTrack
Group track component of a Renoise song.
- Properties
- type :
renoise.Track.TrackType
- name :
string
- name_observable :
renoise.Document.Observable
- color :
RGBColor
- color_observable :
renoise.Document.Observable
- color_blend :
integer
- color_blend_observable :
renoise.Document.Observable
- mute_state :
renoise.Track.MuteState
- mute_state_observable :
renoise.Document.Observable
- solo_state :
boolean
- solo_state_observable :
renoise.Document.Observable
- prefx_volume :
renoise.DeviceParameter
- prefx_panning :
renoise.DeviceParameter
- prefx_width :
renoise.DeviceParameter
- postfx_volume :
renoise.DeviceParameter
- postfx_panning :
renoise.DeviceParameter
- collapsed :
boolean
- collapsed_observable :
renoise.Document.Observable
- group_parent :
renoise.GroupTrack
- available_output_routings :
string
[] - output_routing :
string
- output_routing_observable :
renoise.Document.Observable
- output_delay :
number
- output_delay_observable :
renoise.Document.Observable
- max_effect_columns :
integer
- min_effect_columns :
integer
- max_note_columns :
integer
- min_note_columns :
integer
- visible_effect_columns :
integer
- visible_effect_columns_observable :
renoise.Document.Observable
- visible_note_columns :
integer
- visible_note_columns_observable :
renoise.Document.Observable
- volume_column_visible :
boolean
- volume_column_visible_observable :
renoise.Document.Observable
- panning_column_visible :
boolean
- panning_column_visible_observable :
renoise.Document.Observable
- delay_column_visible :
boolean
- delay_column_visible_observable :
renoise.Document.Observable
- sample_effects_column_visible :
boolean
- sample_effects_column_visible_observable :
renoise.Document.Observable
- available_devices :
string
[] - available_device_infos :
AudioDeviceInfo
[] - devices :
renoise.AudioDevice
[] - devices_observable :
renoise.Document.ObservableList
- members :
renoise.Track
[] - group_collapsed :
boolean
- type :
- Functions
- insert_device_at(self, device_path :
string
, device_index :integer
) - delete_device_at(self, device_index :
any
) - swap_devices_at(self, device_index1 :
integer
, device_index2 :integer
) - device(self, device_index :
integer
) - mute(self)
- unmute(self)
- solo(self)
- column_is_muted(self, column_index :
integer
) - column_is_muted_observable(self, column_index :
integer
) - set_column_is_muted(self, column_index :
integer
, muted :boolean
) - column_name(self, column_index :
integer
) - column_name_observable(self, column_index :
integer
) - set_column_name(self, column_index :
integer
, name :string
) - swap_note_columns_at(self, column_index1 :
integer
, column_index2 :integer
) - swap_effect_columns_at(self, column_index1 :
integer
, column_index2 :integer
)
- insert_device_at(self, device_path :
- Structs
- AudioDeviceInfo
Properties
type : renoise.Track.TrackType
READ-ONLY
name : string
Name, as visible in track headers
name_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
color : RGBColor
A table of 3 bytes (ranging from 0 to 255) representing the red, green and blue channels of a color. {0xFF, 0xFF, 0xFF} is white {165, 73, 35} is the red from the Renoise logo
color_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
color_blend : integer
Range: (0 - 100) Color blend in percent
color_blend_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
mute_state : renoise.Track.MuteState
Mute and solo states. Not available for the master track.
mute_state_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
solo_state : boolean
solo_state_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
prefx_volume : renoise.DeviceParameter
READ-ONLY
prefx_panning : renoise.DeviceParameter
READ-ONLY
prefx_width : renoise.DeviceParameter
READ-ONLY
postfx_volume : renoise.DeviceParameter
READ-ONLY
postfx_panning : renoise.DeviceParameter
READ-ONLY
collapsed : boolean
Collapsed/expanded visual appearance.
collapsed_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
group_parent : renoise.GroupTrack
READ-ONLY
available_output_routings : string
[]
READ-ONLY
output_routing : string
One of
available_output_routings
output_routing_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
output_delay : number
Range: (-100.0-100.0) in ms
output_delay_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
max_effect_columns : integer
READ-ONLY 8 OR 0 depending on the track type
min_effect_columns : integer
READ-ONLY 1 OR 0 depending on the track type
max_note_columns : integer
READ-ONLY 12 OR 0 depending on the track type
min_note_columns : integer
READ-ONLY 1 OR 0 depending on the track type
visible_effect_columns : integer
1-8 OR 0-8, depending on the track type
visible_effect_columns_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
visible_note_columns : integer
0 OR 1-12, depending on the track type
visible_note_columns_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
volume_column_visible : boolean
volume_column_visible_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
panning_column_visible : boolean
panning_column_visible_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
delay_column_visible : boolean
delay_column_visible_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
sample_effects_column_visible : boolean
sample_effects_column_visible_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
available_devices : string
[]
READ-ONLY FX devices this track can handle.
available_device_infos : AudioDeviceInfo
[]
READ-ONLY Array of tables containing information about the devices.
devices : renoise.AudioDevice
[]
READ-ONLY List of audio DSP FX.
devices_observable : renoise.Document.ObservableList
Track changes to document lists by attaching listener functions to it. NB: Notifiers will not broadcast changes made to list items, but only changes to the lists layout (items got added, removed, swapped).
members : renoise.Track
[]
READ-ONLY All member tracks of this group, including subgroups and their tracks.
group_collapsed : boolean
Collapsed/expanded visual appearance of whole group.
Functions
insert_device_at(self, device_path : string
, device_index : integer
)
Insert a new device at the given position.
device_path
must be one ofrenoise.Track.available_devices
.
delete_device_at(self, device_index : any
)
Delete an existing device in a track. The mixer device at index 1 can not be deleted from any track.
swap_devices_at(self, device_index1 : integer
, device_index2 : integer
)
Swap the positions of two devices in the device chain. The mixer device at index 1 can not be swapped or moved.
device(self, device_index : integer
)
Access to a single device by index. Use property
devices
to iterate over all devices and to query the device count.
mute(self)
Uses default mute state from the prefs. Not for the master track.
unmute(self)
solo(self)
column_is_muted(self, column_index : integer
)
->
boolean
Note column mutes. Only valid within (1-track.max_note_columns)
column_is_muted_observable(self, column_index : integer
)
set_column_is_muted(self, column_index : integer
, muted : boolean
)
column_name(self, column_index : integer
)
->
string
Note column names. Only valid within (1-track.max_note_columns)
column_name_observable(self, column_index : integer
)
set_column_name(self, column_index : integer
, name : string
)
swap_note_columns_at(self, column_index1 : integer
, column_index2 : integer
)
Swap the positions of two note or effect columns within a track.
swap_effect_columns_at(self, column_index1 : integer
, column_index2 : integer
)
Structs
AudioDeviceInfo
Audio device info
Properties
path : string
The device's path used by
renoise.Track:insert_device_at
name : string
The device's name
short_name : string
The device's name as displayed in shortened lists
favorite_name : string
The device's name as displayed in favorites
is_favorite : boolean
true if the device is a favorite
is_bridged : boolean
true if the device is a bridged plugin
Aliases
RGBColor
{ 1 : integer
, 2 : integer
, 3 : integer
}
A table of 3 bytes (ranging from 0 to 255) representing the red, green and blue channels of a color. {0xFF, 0xFF, 0xFF} is white {165, 73, 35} is the red from the Renoise logo
renoise.Instrument
- Constants
- Properties
- active_tab :
renoise.Instrument.Tab
- active_tab_observable :
renoise.Document.Observable
- name :
string
- name_observable :
renoise.Document.Observable
- comments :
string
[] - comments_observable :
renoise.Document.Observable
- comments_assignment_observable :
renoise.Document.Observable
- show_comments_after_loading :
boolean
- show_comments_after_loading_observable :
renoise.Document.Observable
- macros_visible :
boolean
- macros_visible_observable :
renoise.Document.Observable
- macros :
renoise.InstrumentMacro
[] - pitchbend_macro :
renoise.InstrumentMacro
- modulation_wheel_macro :
renoise.InstrumentMacro
- channel_pressure_macro :
renoise.InstrumentMacro
- volume :
number
- volume_observable :
renoise.Document.Observable
- transpose :
integer
- transpose_observable :
renoise.Document.Observable
- trigger_options :
renoise.InstrumentTriggerOptions
- sample_mapping_overlap_mode :
renoise.Instrument.OverlapMode
- sample_mapping_overlap_mode_observable :
renoise.Document.Observable
- phrase_editor_visible :
boolean
- phrase_editor_visible_observable :
renoise.Document.Observable
- phrase_playback_mode :
renoise.Instrument.PhrasePlaybackMode
- phrase_playback_mode_observable :
renoise.Document.Observable
- phrase_program :
integer
- phrase_program_observable :
renoise.Document.Observable
- phrases :
renoise.InstrumentPhrase
[] - phrases_observable :
renoise.Document.ObservableList
- phrase_mappings :
renoise.InstrumentPhraseMapping
[] - phrase_mappings_observable :
renoise.Document.ObservableList
- samples :
renoise.Sample
[] - samples_observable :
renoise.Document.ObservableList
- sample_mappings :
renoise.SampleMapping
[] - sample_mappings_observable :
renoise.Document.ObservableList
- sample_modulation_sets :
renoise.SampleModulationSet
[] - sample_modulation_sets_observable :
renoise.Document.ObservableList
- sample_device_chains :
renoise.SampleDeviceChain
[] - sample_device_chains_observable :
renoise.Document.ObservableList
- midi_input_properties :
renoise.InstrumentMidiInputProperties
- midi_output_properties :
renoise.InstrumentMidiOutputProperties
- plugin_properties :
renoise.InstrumentPluginProperties
- active_tab :
- Functions
- clear(self)
- copy_from(self, instrument :
renoise.Instrument
) - macro(self, index :
integer
) - insert_phrase_at(self, index :
integer
) - delete_phrase_at(self, index :
integer
) - phrase(self, index :
integer
) - can_insert_phrase_mapping_at(self, index :
integer
) - insert_phrase_mapping_at(self, index :
integer
, phrase :renoise.InstrumentPhrase
) - delete_phrase_mapping_at(self, index :
integer
) - phrase_mapping(self, index :
integer
) - insert_sample_at(self, index :
integer
) - delete_sample_at(self, index :
integer
) - swap_samples_at(self, index1 :
integer
, index2 :integer
) - sample(self, index :
integer
) - sample_mapping(self, layer :
renoise.Instrument.Layer
, index :integer
) - insert_sample_modulation_set_at(self, index :
integer
) - delete_sample_modulation_set_at(self, index :
integer
) - swap_sample_modulation_sets_at(self, index1 :
any
, index2 :any
) - sample_modulation_set(self, index :
integer
) - insert_sample_device_chain_at(self, index :
integer
) - delete_sample_device_chain_at(self, index :
integer
) - swap_sample_device_chains_at(self, index1 :
integer
, index2 :integer
) - sample_device_chain(self, index :
integer
)
Constants
Tab
{ TAB_SAMPLES: integer = 1, TAB_PLUGIN: integer = 2, TAB_EXT_MIDI: integer = 3, }
PhrasePlaybackMode
{ PHRASES_OFF: integer = 1, PHRASES_PLAY_SELECTIVE: integer = 2, PHRASES_PLAY_KEYMAP: integer = 3, }
Layer
{ LAYER_NOTE_DISABLED: integer = 0, LAYER_NOTE_ON: integer = 1, LAYER_NOTE_OFF: integer = 2, }
OverlapMode
{ OVERLAP_MODE_ALL: integer = 0, OVERLAP_MODE_CYCLED: integer = 1, OVERLAP_MODE_RANDOM: integer = 2, }
NUMBER_OF_MACROS : integer
MAX_NUMBER_OF_PHRASES : integer
Properties
active_tab : renoise.Instrument.Tab
Currently active tab in the instrument GUI (samples, plugin or MIDI).
active_tab_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
name : string
Instrument's name.
name_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
comments : string
[]
Instrument's comment list. See renoise.song().comments for more info on how to get notified on changes and how to change it.
comments_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
comments_assignment_observable : renoise.Document.Observable
Notifier which is called as soon as any paragraph in the comments change.
show_comments_after_loading : boolean
Set this to true to show the comments dialog after loading a song
show_comments_after_loading_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
macros_visible : boolean
Macro parameter pane visibility in the GUI.
macros_visible_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
macros : renoise.InstrumentMacro
[]
READ-ONLY Macro parameters. Array with size Instrument.NUMBER_OF_MACROS.
pitchbend_macro : renoise.InstrumentMacro
Access the MIDI pitch-bend macro
modulation_wheel_macro : renoise.InstrumentMacro
Access the MIDI modulation-wheel macro
channel_pressure_macro : renoise.InstrumentMacro
Access the MIDI channel pressure macro
volume : number
Range: (0 - math.db2lin(6))
volume_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
transpose : integer
Range: (-120 - 120). Global relative pitch in semi tones. Applied to all samples, MIDI and plugins in the instrument.
transpose_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
trigger_options : renoise.InstrumentTriggerOptions
Global trigger options (quantization and scaling options).
sample_mapping_overlap_mode : renoise.Instrument.OverlapMode
Sample mapping's overlap trigger mode.
sample_mapping_overlap_mode_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
phrase_editor_visible : boolean
Phrase editor pane visibility in the GUI.
phrase_editor_visible_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
phrase_playback_mode : renoise.Instrument.PhrasePlaybackMode
Phrase playback.
phrase_playback_mode_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
phrase_program : integer
Phrase playback program: 0 = Off, 1-126 = specific phrase, 127 = keymap.
phrase_program_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
phrases : renoise.InstrumentPhrase
[]
READ-ONLY Phrases.
phrases_observable : renoise.Document.ObservableList
Track changes to document lists by attaching listener functions to it. NB: Notifiers will not broadcast changes made to list items, but only changes to the lists layout (items got added, removed, swapped).
phrase_mappings : renoise.InstrumentPhraseMapping
[]
READ-ONLY Phrase mappings.
phrase_mappings_observable : renoise.Document.ObservableList
Track changes to document lists by attaching listener functions to it. NB: Notifiers will not broadcast changes made to list items, but only changes to the lists layout (items got added, removed, swapped).
samples : renoise.Sample
[]
READ-ONLY Samples slots.
samples_observable : renoise.Document.ObservableList
Track changes to document lists by attaching listener functions to it. NB: Notifiers will not broadcast changes made to list items, but only changes to the lists layout (items got added, removed, swapped).
sample_mappings : renoise.SampleMapping
[]
READ-ONLY Sample mappings (key/velocity to sample slot mappings). sample_mappings[LAYER_NOTE_ON/OFF][]. Sample mappings also can be accessed via ---@field samples[].sample_mapping
sample_mappings_observable : renoise.Document.ObservableList
Track changes to document lists by attaching listener functions to it. NB: Notifiers will not broadcast changes made to list items, but only changes to the lists layout (items got added, removed, swapped).
sample_modulation_sets : renoise.SampleModulationSet
[]
READ-ONLY Sample modulation sets.
sample_modulation_sets_observable : renoise.Document.ObservableList
Track changes to document lists by attaching listener functions to it. NB: Notifiers will not broadcast changes made to list items, but only changes to the lists layout (items got added, removed, swapped).
sample_device_chains : renoise.SampleDeviceChain
[]
READ-ONLY Sample device chains.
sample_device_chains_observable : renoise.Document.ObservableList
Track changes to document lists by attaching listener functions to it. NB: Notifiers will not broadcast changes made to list items, but only changes to the lists layout (items got added, removed, swapped).
midi_input_properties : renoise.InstrumentMidiInputProperties
READ-ONLY MIDI input properties.
midi_output_properties : renoise.InstrumentMidiOutputProperties
READ-ONLY MIDI output properties.
plugin_properties : renoise.InstrumentPluginProperties
READ-ONLY Plugin properties.
Functions
clear(self)
Reset, clear all settings and all samples.
copy_from(self, instrument : renoise.Instrument
)
Copy all settings from the other instrument, including all samples.
macro(self, index : integer
)
->
instrument_macro : renoise.InstrumentMacro
Range: (1 - renoise.Instrument.NUMBER_OF_MACROS) Access a single macro by index. See also property
macros
.
insert_phrase_at(self, index : integer
)
->
new_phrase : renoise.InstrumentPhrase
Insert a new phrase behind the given phrase index (1 for the first one).
delete_phrase_at(self, index : integer
)
Delete a new phrase at the given phrase index.
phrase(self, index : integer
)
Access a single phrase by index. Use properties 'phrases' to iterate over all phrases and to query the phrase count.
can_insert_phrase_mapping_at(self, index : integer
)
->
boolean
Returns true if a new phrase mapping can be inserted at the given phrase mapping index (see See renoise.song().instruments[].phrase_mappings). Passed phrase must exist and must not have a mapping yet. Phrase note mappings may not overlap and are sorted by note, so there can be max 119 phrases per instrument when each phrase is mapped to a single key only. To make up room for new phrases, access phrases by index, adjust their note_range, then call 'insert_phrase_mapping_at' again.
insert_phrase_mapping_at(self, index : integer
, phrase : renoise.InstrumentPhrase
)
->
new_mapping : renoise.InstrumentPhraseMapping
Insert a new phrase mapping behind the given phrase mapping index. The new phrase mapping will by default use the entire free (note) range between the previous and next phrase (if any). To adjust the note range of the new phrase change its 'new_phrase_mapping.note_range' property.
delete_phrase_mapping_at(self, index : integer
)
Delete a new phrase mapping at the given phrase mapping index.
phrase_mapping(self, index : integer
)
->
renoise.InstrumentPhraseMapping
Access to a phrase note mapping by index. Use property 'phrase_mappings' to iterate over all phrase mappings and to query the phrase (mapping) count.
insert_sample_at(self, index : integer
)
->
new_sample : renoise.Sample
Insert a new empty sample. returns the new renoise.Sample object. Every newly inserted sample has a default mapping, which covers the entire key and velocity range, or it gets added as drum kit mapping when the instrument used a drum-kit mapping before the sample got added.
delete_sample_at(self, index : integer
)
Delete an existing sample.
swap_samples_at(self, index1 : integer
, index2 : integer
)
Swap positions of two samples.
sample(self, index : integer
)
Access to a single sample by index. Use properties 'samples' to iterate over all samples and to query the sample count.
sample_mapping(self, layer : renoise.Instrument.Layer
, index : integer
)
Access to a sample mapping by index. Use property 'sample_mappings' to iterate over all sample mappings and to query the sample (mapping) count.
insert_sample_modulation_set_at(self, index : integer
)
->
new_sample_modulation_set : renoise.SampleModulationSet
Insert a new modulation set at the given index
delete_sample_modulation_set_at(self, index : integer
)
Delete an existing modulation set at the given index.
swap_sample_modulation_sets_at(self, index1 : any
, index2 : any
)
Swap positions of two modulation sets.
sample_modulation_set(self, index : integer
)
Access to a single sample modulation set by index. Use property 'sample_modulation_sets' to iterate over all sets and to query the set count.
insert_sample_device_chain_at(self, index : integer
)
->
new_sample_device_chain : renoise.SampleDeviceChain
Insert a new sample device chain at the given index.
delete_sample_device_chain_at(self, index : integer
)
Delete an existing sample device chain at the given index.
swap_sample_device_chains_at(self, index1 : integer
, index2 : integer
)
Swap positions of two sample device chains.
sample_device_chain(self, index : integer
)
Access to a single device chain by index. Use property 'sample_device_chains' to iterate over all chains and to query the chain count.
renoise.InstrumentDevice
Deprecated. Use
renoise.InstrumentPluginDevice
instead.
Properties
name : string
READ-ONLY Device name.
short_name : string
READ-ONLY
presets : string
[]
READ-ONLY
active_preset : integer
Preset handling. 0 when when none is active (or available)
active_preset_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
active_preset_data : string
raw XML data of the active preset
parameters : renoise.DeviceParameter
[]
READ-ONLY
external_editor_available : boolean
READ-ONLY Returns whether or not the plugin provides its own custom GUI.
external_editor_visible : boolean
When the plugin has no custom GUI, Renoise will create a dummy editor for it which lists the plugin parameters. set to true to show the editor, false to close it
device_path : string
READ-ONLY Returns a string that uniquely identifies the plugin The string can be passed into: renoise.InstrumentPluginProperties:load_plugin()
Functions
preset(self, index : integer
)
->
string
Access to a single preset name by index. Use properties 'presets' to iterate over all presets and to query the presets count.
parameter(self, index : integer
)
Access to a single parameter by index. Use properties 'parameters' to iterate over all parameters and to query the parameter count.
renoise.InstrumentMacro
Properties
name : string
Macro name as visible in the GUI when mappings are presents.
name_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
value : number
Range: (0 - 1)
value_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
value_string : string
Range: (0 - 100)
value_string_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
mappings : renoise.InstrumentMacroMapping
[]
READ-ONLY Macro mappings, target parameters
mappings_observable : renoise.Document.ObservableList
Track changes to document lists by attaching listener functions to it. NB: Notifiers will not broadcast changes made to list items, but only changes to the lists layout (items got added, removed, swapped).
Functions
mapping(self, index : integer
)
->
renoise.InstrumentMacroMapping
Access to a single attached parameter mapping by index. Use property 'mappings' to query mapping count.
renoise.InstrumentMacroMapping
- Constants
- Properties
- parameter :
renoise.DeviceParameter
- parameter_min :
number
- parameter_min_observable :
renoise.Document.Observable
- parameter_max :
number
- parameter_max_observable :
renoise.Document.Observable
- parameter_scaling :
renoise.InstrumentMacroMapping.Scaling
- parameter_scaling_observable :
renoise.Document.Observable
- parameter :
Constants
Scaling
{ SCALING_LOG_FAST: integer = 1, SCALING_LOG_SLOW: integer = 2, SCALING_LINEAR: integer = 3, SCALING_EXP_SLOW: integer = 4, SCALING_EXP_FAST: integer = 5, }
Properties
parameter : renoise.DeviceParameter
READ-ONLY Linked parameter. Can be a sample FX- or modulation parameter. Never nil.
parameter_min : number
Range: (0 - 1)
parameter_min_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
parameter_max : number
Range: (0 - 1)
parameter_max_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
parameter_scaling : renoise.InstrumentMacroMapping.Scaling
Scaling which gets applied within the min/max range to set the dest value.
parameter_scaling_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
renoise.InstrumentMidiInputProperties
Properties
device_name : string
When setting new devices, device names must be one of renoise.Midi.available_input_devices. Devices are automatically opened when needed. To close a device, set its name to "", e.g. an empty string.
device_name_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
channel : integer
Range: (1 - 16) 0 = Omni
channel_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
note_range : integer
[]
Table of two numbers in range (0-119) where C-4 is 48
note_range_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
assigned_track : integer
Range: (1 - song.sequencer_track_count) 0 = Current track
assigned_track_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
renoise.InstrumentMidiOutputProperties
- Constants
- Properties
- instrument_type :
renoise.InstrumentMidiOutputProperties.Type
- instrument_type_observable :
renoise.Document.Observable
- device_name :
string
- device_name_observable :
renoise.Document.Observable
- channel :
integer
- channel_observable :
renoise.Document.Observable
- transpose :
integer
- transpose_observable :
renoise.Document.Observable
- program :
integer
- program_observable :
renoise.Document.Observable
- bank :
integer
- bank_observable :
renoise.Document.Observable
- delay :
integer
- delay_observable :
renoise.Document.Observable
- duration :
integer
- duration_observable :
renoise.Document.Observable
- instrument_type :
Constants
Type
{ TYPE_EXTERNAL: integer = 1, TYPE_LINE_IN_RET: integer = 2, TYPE_INTERNAL: integer = 3, }
Properties
instrument_type : renoise.InstrumentMidiOutputProperties.Type
Note: ReWire device always start with "ReWire: " in the device_name and will always ignore the instrument_type and channel properties. MIDI channels are not configurable for ReWire MIDI, and instrument_type will always be "TYPE_INTERNAL" for ReWire devices.
instrument_type_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
device_name : string
When setting new devices, device names must be one of: renoise.Midi.available_output_devices. Devices are automatically opened when needed. To close a device, set its name to "", e.g. an empty string.
device_name_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
channel : integer
Range: (1 - 16)
channel_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
transpose : integer
Range: (-120 - 120)
transpose_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
program : integer
Range: (1 - 128) 0 = OFF
program_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
bank : integer
Range: (1 - 65536) 0 = OFF
bank_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
delay : integer
Range: (0 - 100)
delay_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
duration : integer
Range: (1 - 8000) 8000 = INF
duration_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
renoise.InstrumentPhrase
General remarks: Phrases do use renoise.PatternLine objects just like the pattern tracks do. When the instrument column is enabled and used, not instruments, but samples are addressed/triggered in phrases.
- Constants
- Properties
- name :
string
- name_observable :
renoise.Document.Observable
- mapping :
renoise.InstrumentPhraseMapping
- playback_mode :
renoise.InstrumentPhrase.PlaybackMode
- playback_mode_observable :
renoise.Document.Observable
- script :
renoise.InstrumentPhraseScript
- is_empty :
boolean
- is_empty_observable :
renoise.Document.Observable
- number_of_lines :
integer
- number_of_lines_observable :
renoise.Document.Observable
- lines :
renoise.PatternLine
[] - visible_note_columns :
integer
- visible_note_columns_observable :
renoise.Document.Observable
- visible_effect_columns :
integer
- visible_effect_columns_observable :
renoise.Document.Observable
- key_tracking :
renoise.InstrumentPhrase.KeyTrackingMode
- key_tracking_observable :
renoise.Document.Observable
- base_note :
integer
- base_note_observable :
renoise.Document.Observable
- looping :
boolean
- looping_observable :
renoise.Document.Observable
- loop_start :
integer
- loop_start_observable :
renoise.Document.Observable
- loop_end :
integer
- loop_end_observable :
renoise.Document.Observable
- autoseek :
boolean
- autoseek_observable :
renoise.Document.Observable
- lpb :
integer
- lpb_observable :
renoise.Document.Observable
- shuffle :
number
- shuffle_observable :
renoise.Document.Observable
- instrument_column_visible :
boolean
- instrument_column_visible_observable :
renoise.Document.Observable
- volume_column_visible :
boolean
- volume_column_visible_observable :
renoise.Document.Observable
- panning_column_visible :
boolean
- panning_column_visible_observable :
renoise.Document.Observable
- delay_column_visible :
boolean
- delay_column_visible_observable :
renoise.Document.Observable
- sample_effects_column_visible :
boolean
- sample_effects_column_visible_observable :
renoise.Document.Observable
- name :
- Functions
- clear(self)
- copy_from(self, phrase :
renoise.InstrumentPhrase
) - line(self, index :
integer
) - lines_in_range(self, index_from :
integer
, index_to :integer
) - has_line_notifier(self, func :
PhraseLineChangeCallbackWithContext
, obj :table
|userdata
) - add_line_notifier(self, func :
PhraseLineChangeCallbackWithContext
, obj :table
|userdata
) - remove_line_notifier(self, func :
PhraseLineChangeCallbackWithContext
, obj :table
|userdata
) - has_line_edited_notifier(self, func :
PhraseLineChangeCallbackWithContext
, obj :table
|userdata
) - add_line_edited_notifier(self, func :
PhraseLineChangeCallbackWithContext
, obj :table
|userdata
) - remove_line_edited_notifier(self, func :
PhraseLineChangeCallbackWithContext
, obj :table
|userdata
) - column_is_muted(self, column :
integer
) - column_is_muted_observable(self, column :
integer
) - set_column_is_muted(self, column :
integer
, muted :boolean
) - column_name(self, column :
integer
) - column_name_observable(self, column :
integer
) - set_column_name(self, column :
integer
, name :string
) - swap_note_columns_at(self, index1 :
integer
, index2 :integer
) - swap_effect_columns_at(self, index1 :
integer
, index2 :integer
)
- Structs
- PhraseLinePosition
Constants
KeyTrackingMode
{ KEY_TRACKING_NONE: integer = 1, KEY_TRACKING_TRANSPOSE: integer = 2, KEY_TRACKING_OFFSET: integer = 3, }
PlaybackMode
{ PLAY_PATTERN: integer = 1, PLAY_SCRIPT: integer = 2, }
MAX_NUMBER_OF_LINES : integer
Maximum number of lines that can be present in a phrase.
MIN_NUMBER_OF_NOTE_COLUMNS : integer
Min/Maximum number of note columns that can be present in a phrase.
MAX_NUMBER_OF_NOTE_COLUMNS : integer
MIN_NUMBER_OF_EFFECT_COLUMNS : integer
Min/Maximum number of effect columns that can be present in a phrase.
MAX_NUMBER_OF_EFFECT_COLUMNS : integer
Properties
name : string
Name of the phrase as visible in the phrase editor and piano mappings.
name_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
mapping : renoise.InstrumentPhraseMapping
(Key)Mapping properties of the phrase or nil when no mapping is present.
playback_mode : renoise.InstrumentPhrase.PlaybackMode
playback mode
playback_mode_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
script : renoise.InstrumentPhraseScript
READ-ONLY Phrase script properties. Only used when
playback_mode
is set torenoise.InstrumentPhrase.PLAY_SCRIPT
is_empty : boolean
READ-ONLY Quickly check if a phrase has some non empty pattern lines.
is_empty_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
number_of_lines : integer
Default: 16, Range: (1 - renoise.InstrumentPhrase.MAX_NUMBER_OF_LINES) Number of lines the phrase currently has.
number_of_lines_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
lines : renoise.PatternLine
[]
READ-ONLY Get all lines in a range [1, number_of_lines_in_pattern]
visible_note_columns : integer
Range: (MIN_NUMBER_OF_NOTE_COLUMNS - MAX_NUMBER_OF_NOTE_COLUMNS) How many note columns are visible in the phrase.
visible_note_columns_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
visible_effect_columns : integer
Range: (MIN_NUMBER_OF_EFFECT_COLUMNS - MAX_NUMBER_OF_EFFECT_COLUMNS) How many effect columns are visible in the phrase.
visible_effect_columns_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
key_tracking : renoise.InstrumentPhrase.KeyTrackingMode
Phrase's key-tracking mode.
key_tracking_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
base_note : integer
Range: (0 - 119) where C-4 is 48 Phrase's base-note. Only relevant when key_tracking is set to transpose.
base_note_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
looping : boolean
Loop mode. The phrase plays as one-shot when disabled.
looping_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
loop_start : integer
Range: (1 - number_of_lines) Loop start. Playback will start from the beginning before entering loop
loop_start_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
loop_end : integer
Range: (loop_start - number_of_lines) Loop end. Needs to be > loop_start and <= number_of_lines
loop_end_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
autoseek : boolean
Phrase autoseek settings
autoseek_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
lpb : integer
Range: (1 - 256) Phrase local lines per beat setting. New phrases get initialized with the song's current LPB setting. TPL can not be configured in phrases.
lpb_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
shuffle : number
Range: (0 - 1) Shuffle groove amount for a phrase. 0.0 = no shuffle (off), 1.0 = full shuffle
shuffle_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
instrument_column_visible : boolean
Column visibility.
instrument_column_visible_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
volume_column_visible : boolean
volume_column_visible_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
panning_column_visible : boolean
panning_column_visible_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
delay_column_visible : boolean
delay_column_visible_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
sample_effects_column_visible : boolean
sample_effects_column_visible_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
Functions
clear(self)
Deletes all lines.
copy_from(self, phrase : renoise.InstrumentPhrase
)
Copy contents from another phrase.
line(self, index : integer
)
Range: (1 - renoise.InstrumentPhrase.MAX_NUMBER_OF_LINES) Access to a single line by index. Line must be in Range: (1 - MAX_NUMBER_OF_LINES). This is a !lot! more efficient than calling the property: lines[index] to randomly access lines.
lines_in_range(self, index_from : integer
, index_to : integer
)
Get a specific line range
has_line_notifier(self, func : PhraseLineChangeCallbackWithContext
, obj : table
| userdata
)
->
boolean
Check/add/remove notifier functions or methods, which are called by Renoise as soon as any of the phrases's lines have changed. See:
renoise.Pattern.has_line_notifier
for more details.
add_line_notifier(self, func : PhraseLineChangeCallbackWithContext
, obj : table
| userdata
)
remove_line_notifier(self, func : PhraseLineChangeCallbackWithContext
, obj : table
| userdata
)
has_line_edited_notifier(self, func : PhraseLineChangeCallbackWithContext
, obj : table
| userdata
)
->
boolean
Same as line_notifier above, but the notifier only fires when the user added, changed or deleted a line with the computer keyboard. See:
renoise.Pattern.has_line_editoed_notifierfor more details.
add_line_edited_notifier(self, func : PhraseLineChangeCallbackWithContext
, obj : table
| userdata
)
remove_line_edited_notifier(self, func : PhraseLineChangeCallbackWithContext
, obj : table
| userdata
)
column_is_muted(self, column : integer
)
->
boolean
Note column mute states.
column_is_muted_observable(self, column : integer
)
set_column_is_muted(self, column : integer
, muted : boolean
)
column_name(self, column : integer
)
->
string
Note column names.
column_name_observable(self, column : integer
)
set_column_name(self, column : integer
, name : string
)
swap_note_columns_at(self, index1 : integer
, index2 : integer
)
Swap the positions of two note columns within a phrase.
swap_effect_columns_at(self, index1 : integer
, index2 : integer
)
Swap the positions of two effect columns within a phrase.
Structs
PhraseLinePosition
Line iterator position.
Properties
line : integer
Aliases
PhraseLineChangeCallbackWithContext
(obj : table
| userdata
, pos : PhraseLinePosition
)
renoise.InstrumentPhraseMapping
- Constants
- Properties
- phrase :
renoise.InstrumentPhrase
- key_tracking :
renoise.InstrumentPhraseMapping.KeyTrackingMode
- key_tracking_observable :
renoise.Document.Observable
- base_note :
integer
- base_note_observable :
renoise.Document.Observable
- note_range :
integer
[] - note_range_observable :
renoise.Document.Observable
- looping :
boolean
- looping_observable :
renoise.Document.Observable
- loop_start :
integer
- loop_start_observable :
renoise.Document.Observable
- loop_end :
integer
- loop_end_observable :
renoise.Document.Observable
- phrase :
Constants
KeyTrackingMode
{ KEY_TRACKING_NONE: integer = 1, KEY_TRACKING_TRANSPOSE: integer = 2, KEY_TRACKING_OFFSET: integer = 3, }
Properties
phrase : renoise.InstrumentPhrase
Linked phrase.
key_tracking : renoise.InstrumentPhraseMapping.KeyTrackingMode
Phrase's key-tracking mode.
key_tracking_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
base_note : integer
Range: (0 - 119) where C-4 is 48
base_note_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
note_range : integer
[]
Range: (0 - 119) where C-4 is 48
note_range_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
looping : boolean
Loop mode. The phrase plays as one-shot when disabled.
looping_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
loop_start : integer
loop_start_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
loop_end : integer
loop_end_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
renoise.InstrumentPhraseScript
- Properties
- editor_visible :
boolean
- editor_visible_observable :
renoise.Document.Observable
- parameters :
renoise.DeviceParameter
[] - parameters_observable :
renoise.Document.ObservableList
- paragraphs :
string
[] - paragraphs_observable :
renoise.Document.DocumentList
- paragraphs_assignment_observable :
renoise.Document.Observable
- compile_error :
string
- compile_error_observable :
renoise.Document.Observable
- runtime_error :
string
- runtime_error_observable :
renoise.Document.Observable
- pending_changes :
integer
- pending_changes_observable :
renoise.Document.Observable
- committed_observable :
renoise.Document.Observable
- editor_visible :
- Functions
- parameter(self, index :
integer
) - commit(self)
- render_to_pattern(self, options :
RenderScriptOptions
, rendering_done_callback : (string :any``?
, integer :any
, integer :any
)) - render_to_clipboard(self, options :
RenderScriptOptions
, rendering_done_callback : (string :any``?
, integer :any
, integer :any
))
- parameter(self, index :
- Structs
- RenderScriptOptions
Properties
editor_visible : boolean
When false, a preview of the script is shown instead of a text editor.
editor_visible_observable : renoise.Document.Observable
fired, when the editor visibility changed.
parameters : renoise.DeviceParameter
[]
READ-ONLY List of script input parameters, if any.
parameters_observable : renoise.Document.ObservableList
fired, when the input parameter set changed.
paragraphs : string
[]
Script content. When changing paragraphs, changes are visible in the script editor, but are not applied for playback until they get committed. See also @function
commit
and @fieldcommitted_observable
.
paragraphs_observable : renoise.Document.DocumentList
Notifier which is called when a paragraph got added or removed.
paragraphs_assignment_observable : renoise.Document.Observable
Notifier which is called when existing paragraph content changed.
compile_error : string
READ-ONLY When not empty, the script failed to compile. This error text is also visible to the user in the script preview.
compile_error_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
runtime_error : string
READ-ONLY When not empty, script compiled successfully, but caused an error while running. This error text is also visible to the user in the script editor.
runtime_error_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
pending_changes : integer
READ-ONLY Number of changes since the last commit() or auto-commit call, that have been applied to the parapgraphs. Note:
auto-commit
only is applied for scripts which are currently edited.
pending_changes_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
committed_observable : renoise.Document.Observable
Fired when script paragraph changes got committed: Either by an explicit
commit
call or viaauto-commit
in the editor when the script currently is edited. Script compile errors will be set or cleared after the observable fires as the commit & compilation happens asynchroniously in the player engine.
Functions
parameter(self, index : integer
)
Access to a single input parameter by index. Use properties 'parameters' to iterate over all parameters and to query the parameter count.
commit(self)
Commit paragraph changes for playback.
render_to_pattern(self, options : RenderScriptOptions
, rendering_done_callback : (string : any
?
, integer : any
, integer : any
))
Render script content with the given options to the phrase pattern. Only committed content will be rendered, so make sure to commit changes first. Parameter
rendering_done_callback
carries along rendering results:
- optional error as string that happened while rendering. nil when succeeded.
- number of successfully rendered raw events (not pattern lines) or 0.
- number of skipped raw events, in case the pattern can't fit all events, or 0.
render_to_clipboard(self, options : RenderScriptOptions
, rendering_done_callback : (string : any
?
, integer : any
, integer : any
))
Same as
render_to_pattern
, but rendering into a temporary phrase object in the clipboard, which can then be pasted by the user somewhere.
Structs
RenderScriptOptions
Options for the render functions. All undefined properties will fall back to the user preferences values from the script preview
Properties
lpb : number
?
Lines per beat of the target phrase.
max_events : number
?
Maximum events (not pattern lines) that will be rendered
renoise.InstrumentPluginDevice
Properties
name : string
READ-ONLY Device name.
short_name : string
READ-ONLY
presets : string
[]
READ-ONLY
active_preset : integer
Preset handling. 0 when when none is active (or available)
active_preset_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
active_preset_data : string
raw XML data of the active preset
parameters : renoise.DeviceParameter
[]
READ-ONLY
external_editor_available : boolean
READ-ONLY Returns whether or not the plugin provides its own custom GUI.
external_editor_visible : boolean
When the plugin has no custom GUI, Renoise will create a dummy editor for it which lists the plugin parameters. set to true to show the editor, false to close it
device_path : string
READ-ONLY Returns a string that uniquely identifies the plugin The string can be passed into: renoise.InstrumentPluginProperties:load_plugin()
Functions
preset(self, index : integer
)
->
string
Access to a single preset name by index. Use properties 'presets' to iterate over all presets and to query the presets count.
parameter(self, index : integer
)
Access to a single parameter by index. Use properties 'parameters' to iterate over all parameters and to query the parameter count.
renoise.InstrumentPluginProperties
- Properties
- available_plugins :
string
[] - available_plugin_infos :
PluginInfo
[] - plugin_loaded :
boolean
- plugin_device :
renoise.AudioDevice
|renoise.InstrumentPluginDevice
- plugin_device_observable :
renoise.Document.Observable
- alias_instrument_index :
integer
- alias_instrument_index_observable :
renoise.Document.Observable
- alias_fx_track_index :
integer
- alias_fx_track_index_observable :
renoise.Document.Observable
- alias_fx_device_index :
integer
- alias_fx_device_index_observable :
renoise.Document.Observable
- midi_output_routing_index :
integer
- midi_output_routing_index_observable :
renoise.Document.Observable
- channel :
integer
- channel_observable :
renoise.Document.Observable
- transpose :
integer
- transpose_observable :
renoise.Document.Observable
- volume :
number
- volume_observable :
renoise.Document.Observable
- auto_suspend :
boolean
- auto_suspend_observable :
renoise.Document.Observable
- available_plugins :
- Functions
- Structs
- PluginInfo
Properties
available_plugins : string
[]
READ-ONLY List of all currently available plugins. This is a list of unique plugin names which also contains the plugin's type (VST/AU/DSSI/...), not including the vendor names as visible in Renoise's GUI. So its an identifier, and not the name as visible in the GUI. When no plugin is loaded, the identifier is an empty string.
available_plugin_infos : PluginInfo
[]
READ-ONLY Returns a list of tables containing more information about the plugins.
plugin_loaded : boolean
READ-ONLY Returns true when a plugin is present; loaded successfully.
plugin_device : renoise.AudioDevice
| renoise.InstrumentPluginDevice
Valid object for successfully loaded plugins, otherwise nil. Alias plugin instruments of FX will return the resolved device, will link to the device the alias points to. The observable is fired when the device changes: when a plugin gets loaded or unloaded or a plugin alias is assigned or unassigned.
plugin_device_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
alias_instrument_index : integer
0 when no alias instrument is set
alias_instrument_index_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
alias_fx_track_index : integer
READ-ONLY 0 when no alias FX is set
alias_fx_track_index_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
alias_fx_device_index : integer
READ-ONLY 0 when no alias FX is set
alias_fx_device_index_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
midi_output_routing_index : integer
0 when no routing is set
midi_output_routing_index_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
channel : integer
Range: (1 - 16)
channel_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
transpose : integer
Range: (-120 - 120)
transpose_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
volume : number
Range: (0.0 - 4.0) linear gain
volume_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
auto_suspend : boolean
Valid for loaded and unloaded plugins.
auto_suspend_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
Functions
load_plugin(self, plugin_path : string
)
->
success : boolean
Load an existing, new, non aliased plugin. Pass an empty string to unload an already assigned plugin. plugin_path must be one of the available plugins See:
renoise.InstrumentPluginProperties.available_plugins
Structs
PluginInfo
Properties
path : string
The plugin's path used by load_plugin()
name : string
The plugin's name
short_name : string
The plugin's name as displayed in shortened lists
favorite_name : string
The plugin's name as displayed in favorites
is_favorite : string
true if the plugin is a favorite
is_bridged : string
true if the plugin is a bridged plugin
renoise.InstrumentTriggerOptions
- Constants
- Properties
- available_scale_modes :
string
[] - scale_mode :
string
- scale_mode_observable :
renoise.Document.Observable
- scale_key :
integer
- scale_key_observable :
renoise.Document.Observable
- mts_esp_tuning :
boolean
- mts_esp_tuning_observable :
renoise.Document.Observable
- tuning :
number
[] - tuning_observable :
renoise.Document.Observable
- tuning_name :
string
- tuning_name_observable :
renoise.Document.Observable
- quantize :
renoise.InstrumentTriggerOptions.QuantizeMode
- quantize_observable :
renoise.Document.Observable
- monophonic :
boolean
- monophonic_observable :
renoise.Document.Observable
- monophonic_glide :
integer
- monophonic_glide_observable :
renoise.Document.Observable
- available_scale_modes :
- Functions
Constants
QuantizeMode
{ QUANTIZE_NONE: integer = 1, QUANTIZE_LINE: integer = 2, QUANTIZE_BEAT: integer = 3, QUANTIZE_BAR: integer = 4, }
Properties
available_scale_modes : string
[]
READ-ONLY List of all available scale modes.
scale_mode : string
one of 'available_scales']
scale_mode_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
scale_key : integer
Scale-key to use when transposing (1=C, 2=C#, 3=D, ...)
scale_key_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
mts_esp_tuning : boolean
When true, act as MTS ESP client. Disables custom tunings.
mts_esp_tuning_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
tuning : number
[]
Array of custom pitch values relative to 1/1, used as custom tuning values for instrument sample playback. The root key is assumed to be middle C (48 in Renoise), The scale will be repeated, so only one octave of values should be defined. An octave may contain more or less than 12 notes.
When set mts_esp_tuning is disabled. Set an empty table to disable custom tuning using default 12-TET tuning instead.
Use property
tuning_name
to give your custom tuning a name.examples:
-- Andreas Werckmeister's temperament III (the most famous one, 1681) local well_tempered_tuning = { 256/243, 1.117403, 32/27, 1.252827, 4/3, 1024/729, 1.494927, 128/81, 1.670436, 16/9, 1.879241, 2/1 } instrument.tuning = well_tempered_tuning
tuning_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
tuning_name : string
Name, as displayed in the UI for a custom tuning or a tuning loaded from a file.
tuning_name_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
quantize : renoise.InstrumentTriggerOptions.QuantizeMode
Trigger quantization mode.
quantize_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
monophonic : boolean
Mono/Poly mode.
monophonic_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
monophonic_glide : integer
Glide amount when monophonic. 0 == off, 255 = instant
monophonic_glide_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
Functions
load_tuning(self, filename : string
)
->
success : boolean
Load and apply a scala tuning file as custom tuning. Disables
mts_esp_tuning
. Any errors during the export are shown to the user.
renoise.Midi
Raw MIDI IO support for scripts in Renoise; the ability to send and receive MIDI data.
- Functions
available_input_devices()
available_output_devices()
devices_changed_observable()
- create_input_device(device_name :
string
, callback :MidiMessageFunction
|MidiMessageMethod1
|MidiMessageMethod2``?
, sysex_callback :MidiMessageFunction
|MidiMessageMethod1
|MidiMessageMethod2``?
) - create_output_device(device_name :
string
)
- Aliases
Functions
available_input_devices()
->
string
[]
Return a list of strings with currently available MIDI input devices. This list can change when devices are hot-plugged. See
renoise.Midi.devices_changed_observable
available_output_devices()
->
string
[]
Return a list of strings with currently available MIDI output devices. This list can change when devices are hot-plugged. See
renoise.Midi.devices_changed_observable
devices_changed_observable()
Fire notifications as soon as new devices become active or a previously added device gets removed/unplugged. This will only happen on Linux and OSX with real devices. On Windows this may happen when using ReWire slaves. ReWire adds virtual MIDI devices to Renoise. Already opened references to devices which are no longer available will do nothing: you can use them as before and they will not fire any errors. The messages will simply go into the void...
create_input_device(device_name : string
, callback : MidiMessageFunction
| MidiMessageMethod1
| MidiMessageMethod2
?
, sysex_callback : MidiMessageFunction
| MidiMessageMethod1
| MidiMessageMethod2
?
)
->
renoise.Midi.MidiInputDevice
Listen to incoming MIDI data: opens access to a MIDI input device by specifying a device name. Name must be one of
renoise.Midi.available_input_devices()
.One or both callbacks should be valid, and should either point to a function with one parameter
function (message: number[]) end
, or a table with an object and class{context, function(context, message: number[]) end}
-> a method.All MIDI messages except active sensing will be forwarded to the callbacks. When Renoise is already listening to this device, your callback and Renoise (or even other scripts) will handle the message.
Messages are received until the device reference is manually closed (see renoise.Midi.MidiDevice:close()) or until the MidiInputDevice object gets garbage collected.
create_output_device(device_name : string
)
->
renoise.Midi.MidiOutputDevice
Open access to a MIDI device by specifying the device name. Name must be one of
renoise.Midi.available_input_devices()
. All other device names will fire an error.The real device driver gets automatically closed when the MidiOutputDevice object gets garbage collected or when the device is explicitly closed via midi_device:close() and nothing else references it.
Aliases
MidiMessage
integer
[]
MidiMessageFunction
(message : MidiMessage
)
MidiMessageMemberContext
MidiMessageMemberFunction
(self : MidiMessageMemberContext
, message : MidiMessage
)
MidiMessageMethod1
{ 1 : MidiMessageMemberContext
, 2 : MidiMessageMemberFunction
}
MidiMessageMethod2
{ 1 : MidiMessageMemberFunction
, 2 : MidiMessageMemberContext
}
renoise.Midi.MidiDevice
Baseclass of renoise.Midi.MidiIn/OutDevice with common properties for MIDI input and output devices.
Properties
is_open : boolean
Returns true while the device is open (ready to send or receive messages). Your device refs will never be auto-closed, "is_open" will only be false if you explicitly call "midi_device:close()" to release a device.
name : string
The name of a device. This is the name you create a device with via
renoise.Midi.create_input_device
orrenoise.Midi.create_output_device
.
Functions
close(self)
Close a running MIDI device. When no other client is using a device, Renoise will also shut off the device driver so that, for example, Windows OS other applications can use the device again. This is automatically done when scripts are closed or your device objects are garbage collected.
renoise.Midi.MidiInputDevice
Midi device interface for receiving MIDI messages. Instances are created via
renoise.Midi.create_input_device
Properties
is_open : boolean
Returns true while the device is open (ready to send or receive messages). Your device refs will never be auto-closed, "is_open" will only be false if you explicitly call "midi_device:close()" to release a device.
name : string
The name of a device. This is the name you create a device with via
renoise.Midi.create_input_device
orrenoise.Midi.create_output_device
.
Functions
close(self)
Close a running MIDI device. When no other client is using a device, Renoise will also shut off the device driver so that, for example, Windows OS other applications can use the device again. This is automatically done when scripts are closed or your device objects are garbage collected.
renoise.Midi.MidiOutputDevice
Midi device interface for sending MIDI messages. Instances are created via
renoise.Midi.create_output_device
Properties
is_open : boolean
Returns true while the device is open (ready to send or receive messages). Your device refs will never be auto-closed, "is_open" will only be false if you explicitly call "midi_device:close()" to release a device.
name : string
The name of a device. This is the name you create a device with via
renoise.Midi.create_input_device
orrenoise.Midi.create_output_device
.
Functions
close(self)
Close a running MIDI device. When no other client is using a device, Renoise will also shut off the device driver so that, for example, Windows OS other applications can use the device again. This is automatically done when scripts are closed or your device objects are garbage collected.
send(self, message : integer
[])
Send raw 1-3 byte MIDI messages or sysex messages. Message is expected to be an array of numbers. It must not be empty and can only contain numbers >= 0 and <= 0xFF (bytes). Sysex messages must be sent in one block, and must start with 0xF0, and end with 0xF7.
renoise.NoteColumn
A single note column in a pattern line.
General remarks: instrument columns are available for lines in phrases but are ignored. See renoise.InstrumentPhrase for detail.
Access note column properties either by values (numbers) or by strings. The string representation uses exactly the same notation as you see them in Renoise's pattern or phrase editor.
- Properties
- is_empty :
boolean
- is_selected :
boolean
- note_value :
integer
- note_string :
string
- instrument_value :
integer
- instrument_string :
string
- volume_value :
integer
- volume_string :
string
- panning_value :
integer
- panning_string :
string
- delay_value :
integer
- delay_string :
string
- effect_number_value :
integer
- effect_number_string :
string
- effect_amount_value :
integer
- effect_amount_string :
string
- is_empty :
- Functions
Properties
is_empty : boolean
READ-ONLY True, when all note column properties are empty.
is_selected : boolean
READ-ONLY True, when this column is selected in the pattern or phrase editors current pattern.
note_value : integer
Range: (0-119) or 120=Off or 121=Empty
note_string : string
Range: ('C-0'-'G-9') or 'OFF' or '---'
instrument_value : integer
Range: (0-254), 255==Empty
instrument_string : string
Range: ('00'-'FE') or '..'
volume_value : integer
Range: (0-127) or 255==Empty when column value is <= 0x80 or is 0xFF, i.e. to specify a volume value.
Range: (0-65535) in the form 0x0000xxyy where xx=effect char 1 and yy=effect char 2, when column value is > 0x80, i.e. to specify an effect.
volume_string : string
Range('00'-'ZF') or '..'
panning_value : integer
Range: (0-127) or 255==Empty when column value is <= 0x80 or is 0xFF, i.e. to specify a pan value.
Range: (0-65535) in the form 0x0000xxyy where xx=effect char 1 and yy=effect char 2, when column value is > 0x80, i.e. to specify an effect.
panning_string : string
Range: ('00'-'ZF') or '..'
delay_value : integer
Range: (0-255)
delay_string : string
Range: ('00'-'FF') or '..'
effect_number_value : integer
Range: (0-65535) in the form 0x0000xxyy where xx=effect char 1 and yy=effect char 2
effect_number_string : string
Range: ('00'-'ZZ')
effect_amount_value : integer
Range: (0-255)
effect_amount_string : string
Range: ('00' - 'FF')
Functions
clear(self)
Clear the note column.
copy_from(self, other : renoise.NoteColumn
)
Copy the column's content from another column.
renoise.Osc
OSC (Open Sound Control) support for Lua scripts in Renoise.
Functions
from_binary_data(binary_data : string
)
->
renoise.Osc.Bundle
| renoise.Osc.Message
?
, string
?
De-packetizing raw (socket) data to OSC messages or bundles: Converts the binary data to an OSC message or bundle. If the data does not look like an OSC message, or the message contains errors, nil is returned as first argument and the second return value will contain the error. If de-packetizing was successful, either a renoise.Osc.Bundle or Message object is returned. Bundles may contain multiple messages or nested bundles.
Message(pattern : string
, arguments : OscValue
[]?
)
Create a new OSC message with the given pattern and optional arguments.
Bundle(time : integer
, arguments : renoise.Osc.Message
| renoise.Osc.Message
[])
Create a new bundle by specifying a time-tag and one or more messages. If you do not know what to do with the time-tag, use
os.clock()
, which simply means "now". Messages must be renoise.Osc.Message objects. Nested bundles (bundles in bundles) are right now not supported.
Structs
OscValue
tag
is a standard OSC type tag.value
is the arguments value expressed by a Lua type. The value must be convertible to the specified tag, which means, you cannot for example specify an "i" (integer) as type and then pass a string as the value. Use a number value instead. Not all tags require a value, like the T,F boolean tags. Then avalue
field should not be specified. For more info, see: http://opensoundcontrol.org/spec-1_0
Properties
tag : OscTag
value : boolean
| string
| number
Aliases
OscTag
"F"
| "I"
| "N"
| "S"
| "T"
| "b"
| "c"
| "d"
| "f"
| "h"
| "i"
| "m"
| "r"
| "s"
| "t"
OscTag: | "i" -- int32 | "f" -- float32 | "s" -- OSC-string | "b" -- OSC-blob (raw string) | "h" -- 64 bit big-endian two's complement integer | "t" -- OSC-timetag | "d" -- 64 bit ("double") IEEE 754 floating point number | "S" -- Alternate type represented as an OSC-string | "c" -- An ascii character, sent as 32 bits | "r" -- 32 bit RGBA color | "m" -- 4 byte MIDI message. Bytes from MSB to LSB are: port id, status byte, data1, data2 | "T" -- True. No value needs to be specified. | "F" -- False. No value needs to be specified. | "N" -- Nil. No value needs to be specified. | "I" -- Infinitum. No value needs to be specified.
Aliases
OscTag
"F"
| "I"
| "N"
| "S"
| "T"
| "b"
| "c"
| "d"
| "f"
| "h"
| "i"
| "m"
| "r"
| "s"
| "t"
OscTag: | "i" -- int32 | "f" -- float32 | "s" -- OSC-string | "b" -- OSC-blob (raw string) | "h" -- 64 bit big-endian two's complement integer | "t" -- OSC-timetag | "d" -- 64 bit ("double") IEEE 754 floating point number | "S" -- Alternate type represented as an OSC-string | "c" -- An ascii character, sent as 32 bits | "r" -- 32 bit RGBA color | "m" -- 4 byte MIDI message. Bytes from MSB to LSB are: port id, status byte, data1, data2 | "T" -- True. No value needs to be specified. | "F" -- False. No value needs to be specified. | "N" -- Nil. No value needs to be specified. | "I" -- Infinitum. No value needs to be specified.
renoise.Osc.Bundle
Properties
timetag : number
READ-ONLY Time value of the bundle.
elements : renoise.Osc.Bundle
| renoise.Osc.Message
[]
READ-ONLY Access to the bundle elements (table of messages or bundles)
binary_data : string
READ-ONLY Raw binary representation of the bundle, as needed when e.g. sending the message over the network through sockets.
renoise.Osc.Message
Properties
pattern : string
READ-ONLY The message pattern (e.g. "/renoise/transport/start")
arguments : OscValue
[]
READ-ONLY Table of
{tag="X", value=SomeValue}
that represents the message arguments. Seerenoise.Osc.Message.create
for more info.
binary_data : string
READ-ONLY Raw binary representation of the message, as needed when e.g. sending the message over the network through sockets.
Structs
OscValue
tag
is a standard OSC type tag.value
is the arguments value expressed by a Lua type. The value must be convertible to the specified tag, which means, you cannot for example specify an "i" (integer) as type and then pass a string as the value. Use a number value instead. Not all tags require a value, like the T,F boolean tags. Then avalue
field should not be specified. For more info, see: http://opensoundcontrol.org/spec-1_0
Properties
tag : OscTag
value : boolean
| string
| number
Aliases
OscTag
"F"
| "I"
| "N"
| "S"
| "T"
| "b"
| "c"
| "d"
| "f"
| "h"
| "i"
| "m"
| "r"
| "s"
| "t"
OscTag: | "i" -- int32 | "f" -- float32 | "s" -- OSC-string | "b" -- OSC-blob (raw string) | "h" -- 64 bit big-endian two's complement integer | "t" -- OSC-timetag | "d" -- 64 bit ("double") IEEE 754 floating point number | "S" -- Alternate type represented as an OSC-string | "c" -- An ascii character, sent as 32 bits | "r" -- 32 bit RGBA color | "m" -- 4 byte MIDI message. Bytes from MSB to LSB are: port id, status byte, data1, data2 | "T" -- True. No value needs to be specified. | "F" -- False. No value needs to be specified. | "N" -- Nil. No value needs to be specified. | "I" -- Infinitum. No value needs to be specified.
Aliases
OscTag
"F"
| "I"
| "N"
| "S"
| "T"
| "b"
| "c"
| "d"
| "f"
| "h"
| "i"
| "m"
| "r"
| "s"
| "t"
OscTag: | "i" -- int32 | "f" -- float32 | "s" -- OSC-string | "b" -- OSC-blob (raw string) | "h" -- 64 bit big-endian two's complement integer | "t" -- OSC-timetag | "d" -- 64 bit ("double") IEEE 754 floating point number | "S" -- Alternate type represented as an OSC-string | "c" -- An ascii character, sent as 32 bits | "r" -- 32 bit RGBA color | "m" -- 4 byte MIDI message. Bytes from MSB to LSB are: port id, status byte, data1, data2 | "T" -- True. No value needs to be specified. | "F" -- False. No value needs to be specified. | "N" -- Nil. No value needs to be specified. | "I" -- Infinitum. No value needs to be specified.
renoise.Pattern
- Constants
- Properties
- Functions
- clear(self)
- copy_from(self, other :
renoise.Pattern
) - track(self, index :
integer
) - has_line_notifier(self, func :
PatternLineChangeCallbackWithContext
, obj :table
|userdata
) - add_line_notifier(self, func :
PatternLineChangeCallbackWithContext
, obj :table
|userdata
) - remove_line_notifier(self, func :
PatternLineChangeCallbackWithContext
, obj :table
|userdata
) - has_line_edited_notifier(self, func :
PatternLineChangeCallbackWithContext
, obj :table
|userdata
) - add_line_edited_notifier(self, func :
PatternLineChangeCallbackWithContext
, obj :table
|userdata
) - remove_line_edited_notifier(self, func :
PatternLineChangeCallbackWithContext
, obj :table
|userdata
)
- Structs
- PatternLinePosition
Constants
MAX_NUMBER_OF_LINES : integer
Maximum number of lines that can be present in a pattern.
Properties
is_empty : boolean
Quickly check if any track in a pattern has some non empty pattern lines. This does not look at track automation.
name : string
Name of the pattern, as visible in the pattern sequencer.
name_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
number_of_lines : integer
Number of lines the pattern currently has. 64 by default. Max is renoise.Pattern.MAX_NUMBER_OF_LINES, min is 1.
number_of_lines_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
tracks : renoise.PatternTrack
[]
READ-ONLY Access to the pattern tracks. Each pattern has #renoise.song().tracks amount of tracks.
Functions
clear(self)
Deletes all lines & automation.
copy_from(self, other : renoise.Pattern
)
Copy contents from other patterns, including automation, when possible.
track(self, index : integer
)
Access to a single pattern track by index. Use properties 'tracks' to iterate over all tracks and to query the track count.
has_line_notifier(self, func : PatternLineChangeCallbackWithContext
, obj : table
| userdata
)
->
boolean
Check/add/remove notifier functions or methods, which are called by Renoise as soon as any of the pattern's lines have changed. The notifiers are called as soon as a new line is added, an existing line is cleared, or existing lines are somehow changed (notes, effects, anything)
A single argument is passed to the notifier function: "pos", a table with the fields "pattern", "track" and "line", which defines where the change has happened.
examples:
function my_pattern_line_notifier(pos) -- check pos.pattern, pos.track, pos.line (all are indices) end
Please be gentle with these notifiers, don't do too much stuff in there. Ideally just set a flag like "pattern_dirty" which then gets picked up by an app_idle notifier: The danger here is that line change notifiers can be called hundreds of times when, for example, simply clearing a pattern.
If you are only interested in changes that are made to the currently edited pattern, dynamically attach and detach to the selected pattern's line notifiers by listening to "renoise.song().selected_pattern_observable".
add_line_notifier(self, func : PatternLineChangeCallbackWithContext
, obj : table
| userdata
)
remove_line_notifier(self, func : PatternLineChangeCallbackWithContext
, obj : table
| userdata
)
has_line_edited_notifier(self, func : PatternLineChangeCallbackWithContext
, obj : table
| userdata
)
->
boolean
Same as
line_notifier
, but the notifier only fires when the user added, changed or deleted a line with the computer or MIDI keyboard.
add_line_edited_notifier(self, func : PatternLineChangeCallbackWithContext
, obj : table
| userdata
)
remove_line_edited_notifier(self, func : PatternLineChangeCallbackWithContext
, obj : table
| userdata
)
Structs
PatternLinePosition
Line iterator position.
Properties
pattern : integer
track : integer
line : integer
Aliases
PatternLineChangeCallbackWithContext
(obj : table
| userdata
, pos : PatternLinePosition
)
renoise.PatternIterator
Lua pairs/ipairs alike iterator functions to walk through all lines or columns in the entire song, track or a single pattern.
General remarks: Iterators can only be use in "for" loops like you would use "pairs" in Lua.
examples:
for pos,line in renoise.song().pattern_iterator:lines_in_song() do [...] end
The returned
pos
is a table with "pattern", "track", "line" fields, and an additional "column" field for the note/effect columns.The
visible_only
flag controls if all content should be traversed, or only the currently used patterns, columns, and so on. Patterns are traversed in the order they are referenced in the pattern sequence, but each pattern is accessed only once.
- Functions
- lines_in_song(self, visible_only :
boolean``?
) - note_columns_in_song(self, visible_only :
boolean``?
) - effect_columns_in_song(self, visible_only :
boolean``?
) - lines_in_pattern(self, pattern_index :
integer
) - note_columns_in_pattern(self, pattern_index :
integer
, visible_only :boolean``?
) - effect_columns_in_pattern(self, pattern_index :
integer
, visible_only :boolean``?
) - lines_in_track(self, track_index :
integer
, visible_only :boolean``?
) - note_columns_in_track(self, track_index :
integer
, visible_only :boolean``?
) - effect_columns_in_track(self, track_index :
integer
, visible_only :boolean``?
) - lines_in_pattern_track(self, pattern_index :
integer
, track_index :integer
) - note_columns_in_pattern_track(self, pattern_index :
integer
, track_index :integer
, visible_only :boolean``?
) - effect_columns_in_pattern_track(self, pattern_index :
integer
, track_index :integer
, visible_only :boolean``?
)
- lines_in_song(self, visible_only :
- Structs
- PatternColumnPosition
- PatternLinePosition
Functions
lines_in_song(self, visible_only : boolean
?
)
->
(context : unknown
) ->
PatternLinePosition
, renoise.PatternLine
, line : renoise.PatternLine
, pos : PatternLinePosition
Iterate over all pattern lines in the song.
note_columns_in_song(self, visible_only : boolean
?
)
->
(context : unknown
) ->
PatternColumnPosition
, renoise.NoteColumn
, column : renoise.NoteColumn
, pos : PatternColumnPosition
Iterate over all note columns in the song.
effect_columns_in_song(self, visible_only : boolean
?
)
->
(context : unknown
) ->
PatternColumnPosition
, renoise.EffectColumn
, column : renoise.EffectColumn
, pos : PatternColumnPosition
Iterate over all effect columns in the song.
lines_in_pattern(self, pattern_index : integer
)
->
(context : unknown
) ->
PatternLinePosition
, renoise.PatternLine
, line : renoise.PatternLine
, pos : PatternLinePosition
Iterate over all lines in the given pattern only.
note_columns_in_pattern(self, pattern_index : integer
, visible_only : boolean
?
)
->
(context : unknown
) ->
PatternColumnPosition
, renoise.NoteColumn
, column : renoise.NoteColumn
, pos : PatternColumnPosition
Iterate over all note columns in the specified pattern.
effect_columns_in_pattern(self, pattern_index : integer
, visible_only : boolean
?
)
->
(context : unknown
) ->
PatternColumnPosition
, renoise.EffectColumn
, column : renoise.EffectColumn
, pos : PatternColumnPosition
Iterate over all note columns in the specified pattern.
lines_in_track(self, track_index : integer
, visible_only : boolean
?
)
->
(context : unknown
) ->
PatternLinePosition
, renoise.PatternLine
, line : renoise.PatternLine
, pos : PatternLinePosition
Iterate over all lines in the given track only.
note_columns_in_track(self, track_index : integer
, visible_only : boolean
?
)
->
(context : unknown
) ->
PatternColumnPosition
, renoise.NoteColumn
, column : renoise.NoteColumn
, pos : PatternColumnPosition
Iterate over all note/effect columns in the specified track.
effect_columns_in_track(self, track_index : integer
, visible_only : boolean
?
)
->
(context : unknown
) ->
PatternColumnPosition
, renoise.EffectColumn
, column : renoise.EffectColumn
, pos : PatternColumnPosition
lines_in_pattern_track(self, pattern_index : integer
, track_index : integer
)
->
(context : unknown
) ->
PatternLinePosition
, renoise.PatternLine
, line : renoise.PatternLine
, pos : PatternLinePosition
Iterate over all lines in the given pattern, track only.
note_columns_in_pattern_track(self, pattern_index : integer
, track_index : integer
, visible_only : boolean
?
)
->
(context : unknown
) ->
PatternColumnPosition
, renoise.NoteColumn
, column : renoise.NoteColumn
, pos : PatternColumnPosition
Iterate over all note/effect columns in the specified pattern track.
effect_columns_in_pattern_track(self, pattern_index : integer
, track_index : integer
, visible_only : boolean
?
)
->
(context : unknown
) ->
PatternColumnPosition
, renoise.EffectColumn
, column : renoise.EffectColumn
, pos : PatternColumnPosition
Structs
PatternColumnPosition
Note/Effect column iterator position.
Properties
pattern : integer
track : integer
line : integer
column : integer
PatternLinePosition
Line iterator position.
Properties
pattern : integer
track : integer
line : integer
renoise.PatternLine
Constants
EMPTY_NOTE : integer
NOTE_OFF : integer
EMPTY_INSTRUMENT : integer
EMPTY_VOLUME : integer
EMPTY_PANNING : integer
EMPTY_DELAY : integer
EMPTY_EFFECT_NUMBER : integer
EMPTY_EFFECT_AMOUNT : integer
Properties
is_empty : boolean
READ-ONLY
note_columns : renoise.NoteColumn
[]
READ-ONLY
effect_columns : renoise.EffectColumn
[]
READ-ONLY
Functions
clear(self)
Clear all note and effect columns.
copy_from(self, other : renoise.PatternLine
)
Copy contents from other_line, trashing column content.
note_column(self, index : integer
)
Access to a single note column by index. Use properties 'note_columns' to iterate over all note columns and to query the note_column count. This is a !lot! more efficient than calling the property: note_columns[index] to randomly access columns. When iterating over all columns, use pairs(note_columns).
effect_column(self, index : integer
)
Access to a single effect column by index. Use properties 'effect_columns' to iterate over all effect columns and to query the effect_column count. This is a !lot! more efficient than calling the property: effect_columns[index] to randomly access columns. When iterating over all columns, use pairs(effect_columns).
renoise.PatternSequencer
Pattern sequencer component of the Renoise song.
- Properties
- keep_sequence_sorted :
boolean
- keep_sequence_sorted_observable :
renoise.Document.Observable
- selection_range :
integer
[] - selection_range_observable :
renoise.Document.Observable
- pattern_sequence :
integer
[] - pattern_sequence_observable :
renoise.Document.ObservableList
- pattern_assignments_observable :
renoise.Document.Observable
- pattern_slot_mutes_observable :
renoise.Document.Observable
- keep_sequence_sorted :
- Functions
- insert_sequence_at(self, sequence_index :
integer
, pattern_index :integer
) - insert_new_pattern_at(self, sequence_index :
integer
) - delete_sequence_at(self, sequence_index :
any
) - pattern(self, sequence_index :
integer
) - set_pattern(self, sequence_index :
integer
, pattern_index :integer
) - clone_range(self, from_sequence_index :
integer
, to_sequence_index :integer
) - make_range_unique(self, from_sequence_index :
integer
, to_sequence_index :integer
) - sort(self)
- sequence_is_start_of_section(self, sequence_index :
integer
) - set_sequence_is_start_of_section(self, sequence_index :
integer
, is_section :boolean
) - sequence_is_start_of_section_observable(self, sequence_index :
integer
) - sequence_section_name(self, sequence_index :
integer
) - set_sequence_section_name(self, sequence_index :
integer
, name :string
) - sequence_section_name_observable(self, sequence_index :
integer
) - sequence_is_part_of_section(self, sequence_index :
integer
) - sequence_is_end_of_section(self, sequence_index :
integer
) - sequence_sections_changed_observable(self)
- track_sequence_slot_is_muted(self, track_index :
integer
, sequence_index :integer
) - set_track_sequence_slot_is_muted(self, track_index :
integer
, sequence_index :integer
, muted :any
) - track_sequence_slot_is_selected(self, track_index :
integer
, sequence_index :integer
) - set_track_sequence_slot_is_selected(self, track_index :
integer
, sequence_index :integer
, selected :any
)
- insert_sequence_at(self, sequence_index :
Properties
keep_sequence_sorted : boolean
When true, the sequence will be auto sorted.
keep_sequence_sorted_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
selection_range : integer
[]
Access to the selected slots in the sequencer. When no selection is present
{0, 0}
is returned, else Range: (1 - #sequencer.pattern_sequence)
selection_range_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
pattern_sequence : integer
[]
Pattern order list: Notifiers will only be fired when sequence positions are added, removed or their order changed. To get notified of pattern assignment changes use the property
pattern_assignments_observable
. Useset_pattern
to change a single pattern in the sequence.
pattern_sequence_observable : renoise.Document.ObservableList
Track changes to document lists by attaching listener functions to it. NB: Notifiers will not broadcast changes made to list items, but only changes to the lists layout (items got added, removed, swapped).
pattern_assignments_observable : renoise.Document.Observable
Attach notifiers that will be called as soon as any pattern assignment at any sequence position changes.
pattern_slot_mutes_observable : renoise.Document.Observable
Attach notifiers that will be fired as soon as any slot muting property in any track/sequence slot changes.
Functions
insert_sequence_at(self, sequence_index : integer
, pattern_index : integer
)
Insert the specified pattern at the given position in the sequence.
insert_new_pattern_at(self, sequence_index : integer
)
->
new_pattern_index : integer
Insert an empty, unreferenced pattern at the given position.
delete_sequence_at(self, sequence_index : any
)
Delete an existing position in the sequence. Renoise needs at least one sequence in the song for playback. Completely removing all sequence positions is not allowed.
pattern(self, sequence_index : integer
)
->
pattern_index : integer
Access to a single sequence by index (the pattern number). Use property
pattern_sequence
to iterate over the whole sequence and to query the sequence count.
set_pattern(self, sequence_index : integer
, pattern_index : integer
)
Change a single assigned pattern for the given sequence index. Use
pattern_sequence
to iterate or change the whole sequence and to query the sequence count.
clone_range(self, from_sequence_index : integer
, to_sequence_index : integer
)
Clone a sequence range, appending it right after to_sequence_index. Slot muting is copied as well.
make_range_unique(self, from_sequence_index : integer
, to_sequence_index : integer
)
Make patterns in the given sequence pos range unique, if needed.
sort(self)
Sort patterns in the sequence in ascending order, keeping the old pattern data in place. This will only change the visual order of patterns, but not change the song's structure.
sequence_is_start_of_section(self, sequence_index : integer
)
Access to pattern sequence sections. When the
is_start_of_section flag
is set for a sequence pos, a section ranges from this pos to the next pos which starts a section, or till the end of the song when there are no others.
set_sequence_is_start_of_section(self, sequence_index : integer
, is_section : boolean
)
sequence_is_start_of_section_observable(self, sequence_index : integer
)
sequence_section_name(self, sequence_index : integer
)
->
string
Access to a pattern sequence section's name. Section names are only visible for a sequence pos which starts the section (see
sequence_is_start_of_section
).
set_sequence_section_name(self, sequence_index : integer
, name : string
)
sequence_section_name_observable(self, sequence_index : integer
)
sequence_is_part_of_section(self, sequence_index : integer
)
->
boolean
Returns true if the given sequence pos is part of a section, else false.
sequence_is_end_of_section(self, sequence_index : integer
)
->
boolean
Returns true if the given sequence pos is the end of a section, else false
sequence_sections_changed_observable(self)
Observable, which is fired, whenever the section layout in the sequence changed in any way, i.e. new sections got added, existing ones got deleted
track_sequence_slot_is_muted(self, track_index : integer
, sequence_index : integer
)
->
boolean
Access to sequencer slot mute states. Mute slots are memorized in the sequencer and not in the patterns.
set_track_sequence_slot_is_muted(self, track_index : integer
, sequence_index : integer
, muted : any
)
track_sequence_slot_is_selected(self, track_index : integer
, sequence_index : integer
)
->
boolean
Access to sequencer slot selection states.
set_track_sequence_slot_is_selected(self, track_index : integer
, sequence_index : integer
, selected : any
)
renoise.PatternTrack
- Properties
- is_alias :
boolean
- alias_pattern_index :
integer
- alias_pattern_index_observable :
renoise.Document.Observable
- color :
RGBColor``?
- color_observable :
renoise.Document.Observable
- is_empty :
boolean
- is_empty_observable :
renoise.Document.Observable
- lines :
renoise.PatternLine
[] - automation :
renoise.PatternTrackAutomation
[] - automation_observable :
renoise.Document.ObservableList
- is_alias :
- Functions
- clear(self)
- copy_from(self, other :
renoise.PatternTrack
) - line(self, index :
integer
) - lines_in_range(self, index_from :
integer
, index_to :integer
) - find_automation(self, parameter :
renoise.DeviceParameter
) - create_automation(self, parameter :
renoise.DeviceParameter
) - delete_automation(self, parameter :
renoise.DeviceParameter
)
- Aliases
Properties
is_alias : boolean
READ-ONLY
alias_pattern_index : integer
index or 0 when no alias is present
alias_pattern_index_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
color : RGBColor
?
slot color of the pattern in the matrix, nil when no slot color is set
color_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
is_empty : boolean
Returns true when all the track lines are empty. Does not look at automation.
is_empty_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
lines : renoise.PatternLine
[]
READ-ONLY Get all lines in range [1, number_of_lines_in_pattern]. Use
renoise.Pattern:add/remove_line_notifier
for change notifications.
automation : renoise.PatternTrackAutomation
[]
Automation.
automation_observable : renoise.Document.ObservableList
Track changes to document lists by attaching listener functions to it. NB: Notifiers will not broadcast changes made to list items, but only changes to the lists layout (items got added, removed, swapped).
Functions
clear(self)
Deletes all lines & automation.
copy_from(self, other : renoise.PatternTrack
)
Copy contents from other pattern tracks, including automation when possible.
line(self, index : integer
)
Access to a single line by index. Line must be in Range: (1 - MAX_NUMBER_OF_LINES). This is a !lot! more efficient than calling the property: lines[index] to randomly access lines.
lines_in_range(self, index_from : integer
, index_to : integer
)
Get a specific line range. Index must be Range: (1 - Pattern.MAX_NUMBER_OF_LINES)
find_automation(self, parameter : renoise.DeviceParameter
)
->
renoise.PatternTrackAutomation
?
Returns the automation for the given device parameter or nil when there is none.
create_automation(self, parameter : renoise.DeviceParameter
)
->
renoise.PatternTrackAutomation
Creates a new automation for the given device parameter. Fires an error when an automation for the given parameter already exists. Returns the newly created automation. Passed parameter must be automatable, which can be tested with 'parameter.is_automatable'.
delete_automation(self, parameter : renoise.DeviceParameter
)
Remove an existing automation the given device parameter. Automation must exist.
Aliases
RGBColor
{ 1 : integer
, 2 : integer
, 3 : integer
}
A table of 3 bytes (ranging from 0 to 255) representing the red, green and blue channels of a color. {0xFF, 0xFF, 0xFF} is white {165, 73, 35} is the red from the Renoise logo
renoise.PatternTrackAutomation
Graphical automation of a device parameter within a pattern track.
General remarks: Automation "time" is specified in lines + optional 1/256 line fraction for the sub line grid. The sub line grid has 256 units per line. All times are internally quantized to this sub line grid. For example a time of 1.5 means: line 1 with a note column delay of 128
- Constants
- Properties
- dest_device :
renoise.AudioDevice
- dest_parameter :
renoise.DeviceParameter
- playmode :
renoise.PatternTrackAutomation.Playmode
- playmode_observable :
renoise.Document.Observable
- length :
integer
- selection_start :
integer
- selection_start_observable :
renoise.Document.Observable
- selection_end :
integer
- selection_end_observable :
renoise.Document.Observable
- selection_range :
integer
[] - selection_range_observable :
renoise.Document.Observable
- points :
EnvelopePoint
[] - points_observable :
renoise.Document.ObservableList
- dest_device :
- Functions
- Structs
- EnvelopePoint
Constants
Playmode
{ PLAYMODE_POINTS: integer = 1, PLAYMODE_LINES: integer = 2, PLAYMODE_CURVES: integer = 3, }
Properties
dest_device : renoise.AudioDevice
Destination device. Can in some rare circumstances be nil, i.e. when a device or track is about to be deleted.
dest_parameter : renoise.DeviceParameter
Destination device's parameter. Can in some rare circumstances be nil, i.e. when a device or track is about to be deleted.
playmode : renoise.PatternTrackAutomation.Playmode
play-mode (interpolation mode).
playmode_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
length : integer
Range: (1 - NUM_LINES_IN_PATTERN)
selection_start : integer
Range: (1 - automation.length + 1)
selection_start_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
selection_end : integer
Range: (1 - automation.length + 1)
selection_end_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
selection_range : integer
[]
Get or set selection range. when setting an empty table, the existing selection, if any, will be cleared. array of two numbers [] OR Range: (1 - automation.length + 1)
selection_range_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
points : EnvelopePoint
[]
Get all points of the automation. When setting a new list of points, items may be unsorted by time, but there may not be multiple points for the same time. Returns a copy of the list, so changing
points[1].value
will not do anything. Instead, change them viapoints = { modified_points }
.
points_observable : renoise.Document.ObservableList
Track changes to document lists by attaching listener functions to it. NB: Notifiers will not broadcast changes made to list items, but only changes to the lists layout (items got added, removed, swapped).
Functions
clear(self)
Removes all points from the automation. Will not delete the automation from tracks[]:automation, instead the resulting automation will not do anything at all.
clear_range(self, from_time : integer
, to_time : integer
)
Remove all existing points in the given [from, to) time range from the automation.
copy_from(self, other : renoise.PatternTrackAutomation
)
Copy all points and playback settings from another track automation.
has_point_at(self, time : integer
)
->
boolean
Test if a point exists at the given time
add_point_at(self, time : integer
, value : number
, scaling : number
?
)
Insert a new point, or change an existing one, if a point in time already exists.
remove_point_at(self, time : integer
)
Removes a point at the given time. Point must exist.
Structs
EnvelopePoint
Single point within a pattern track automation envelope.
Properties
time : integer
Automation point's time in pattern lines in Range: (1 - NUM_LINES_IN_PATTERN).
value : number
Automation point value in Range: (0 - 1.0)
scaling : number
Automation point scaling. Used in 'lines' playback mode only - 0.0 is linear.
renoise.Sample
- Constants
- Properties
- is_slice_alias :
boolean
- slice_markers :
integer
[] - slice_markers_observable :
renoise.Document.ObservableList
- name :
string
- name_observable :
renoise.Document.Observable
- panning :
number
- panning_observable :
renoise.Document.Observable
- volume :
number
- volume_observable :
renoise.Document.Observable
- transpose :
integer
- transpose_observable :
renoise.Document.Observable
- fine_tune :
integer
- fine_tune_observable :
renoise.Document.Observable
- beat_sync_enabled :
boolean
- beat_sync_enabled_observable :
renoise.Document.Observable
- beat_sync_lines :
integer
- beat_sync_lines_observable :
renoise.Document.Observable
- beat_sync_mode :
renoise.Sample.BeatSyncMode
- beat_sync_mode_observable :
renoise.Document.Observable
- interpolation_mode :
renoise.Sample.InterpolationMode
- interpolation_mode_observable :
renoise.Document.Observable
- oversample_enabled :
boolean
- oversample_enabled_observable :
renoise.Document.Observable
- new_note_action :
renoise.Sample.NewNoteActionMode
- new_note_action_observable :
renoise.Document.Observable
- oneshot :
boolean
- oneshot_observable :
renoise.Document.Observable
- mute_group :
integer
- mute_group_observable :
renoise.Document.Observable
- autoseek :
boolean
- autoseek_observable :
renoise.Document.Observable
- autofade :
boolean
- autofade_observable :
renoise.Document.Observable
- loop_mode :
renoise.Sample.LoopMode
- loop_mode_observable :
renoise.Document.Observable
- loop_release :
boolean
- loop_release_observable :
renoise.Document.Observable
- loop_start :
integer
- loop_start_observable :
renoise.Document.Observable
- loop_end :
integer
- loop_end_observable :
renoise.Document.Observable
- modulation_set_index :
integer
- modulation_set_index_observable :
renoise.Document.Observable
- device_chain_index :
integer
- device_chain_index_observable :
renoise.Document.Observable
- sample_buffer :
renoise.SampleBuffer
- sample_buffer_observable :
renoise.Document.Observable
- sample_mapping :
renoise.SampleMapping
- is_slice_alias :
- Functions
Constants
InterpolationMode
{ INTERPOLATE_NONE: integer = 1, INTERPOLATE_LINEAR: integer = 2, INTERPOLATE_CUBIC: integer = 3, INTERPOLATE_SINC: integer = 4, }
LoopMode
{ LOOP_MODE_OFF: integer = 1, LOOP_MODE_FORWARD: integer = 2, LOOP_MODE_REVERSE: integer = 3, LOOP_MODE_PING_PONG: integer = 4, }
BeatSyncMode
{ BEAT_SYNC_REPITCH: integer = 1, BEAT_SYNC_PERCUSSION: integer = 2, BEAT_SYNC_TEXTURE: integer = 3, }
NewNoteActionMode
{ NEW_NOTE_ACTION_NOTE_CUT: integer = 1, NEW_NOTE_ACTION_NOTE_OFF: integer = 2, NEW_NOTE_ACTION_SUSTAIN: integer = 3, }
Properties
is_slice_alias : boolean
READ-ONLY True, when the sample slot is an alias to a sliced master sample. Such sample slots are read-only and automatically managed with the master samples slice list.
slice_markers : integer
[]
Read/write access to the slice marker list of a sample. When new markers are set or existing ones unset, existing 0S effects or notes to existing slices will NOT be remapped (unlike its done with the insert/remove/move_slice_marker functions). See function insert_slice_marker for info about marker limitations and preconditions.
slice_markers_observable : renoise.Document.ObservableList
Track changes to document lists by attaching listener functions to it. NB: Notifiers will not broadcast changes made to list items, but only changes to the lists layout (items got added, removed, swapped).
name : string
Name.
name_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
panning : number
Range: (0.0 - 1.0)
panning_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
volume : number
Range: (0.0 - 4.0)
volume_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
transpose : integer
Range: (-120 - 120)
transpose_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
fine_tune : integer
Range: (-127 - 127)
fine_tune_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
beat_sync_enabled : boolean
Beat sync.
beat_sync_enabled_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
beat_sync_lines : integer
Range: (1 - 512)
beat_sync_lines_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
beat_sync_mode : renoise.Sample.BeatSyncMode
beat_sync_mode_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
interpolation_mode : renoise.Sample.InterpolationMode
Interpolation, new note action, oneshot, mute_group, autoseek, autofade.
interpolation_mode_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
oversample_enabled : boolean
oversample_enabled_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
new_note_action : renoise.Sample.NewNoteActionMode
new_note_action_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
oneshot : boolean
oneshot_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
mute_group : integer
Range: (0 - 15) where 0 means no group
mute_group_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
autoseek : boolean
autoseek_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
autofade : boolean
autofade_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
loop_mode : renoise.Sample.LoopMode
Loops.
loop_mode_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
loop_release : boolean
loop_release_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
loop_start : integer
Range: (1 - num_sample_frames)
loop_start_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
loop_end : integer
Range: (1 - num_sample_frames)
loop_end_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
modulation_set_index : integer
The linked modulation set. 0 when disable, else a valid index for the renoise.Instrument.sample_modulation_sets table
modulation_set_index_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
device_chain_index : integer
The linked instrument device chain. 0 when disable, else a valid index for the renoise.Instrument.sample_device_chain table
device_chain_index_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
sample_buffer : renoise.SampleBuffer
READ-ONLY
sample_buffer_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
sample_mapping : renoise.SampleMapping
READ-ONLY Keyboard Note/velocity mapping
Functions
clear(self)
Reset, clear all sample settings and sample data.
copy_from(self, sample : renoise.Sample
)
Copy all settings, including sample data from another sample.
insert_slice_marker(self, marker_sample_pos : integer
)
Insert a new slice marker at the given sample position. Only samples in the first sample slot may use slices. Creating slices will automatically create sample aliases in the following slots: read-only sample slots that play the sample slice and are mapped to notes. Sliced sample lists can not be modified manually then. To update such aliases, modify the slice marker list instead. Existing 0S effects or notes will be updated to ensure that the old slices are played back just as before.
delete_slice_marker(self, marker_sample_pos : integer
)
Delete an existing slice marker. marker_sample_pos must point to an existing marker. See also property 'samples[].slice_markers'. Existing 0S effects or notes will be updated to ensure that the old slices are played back just as before.
move_slice_marker(self, old_marker_pos : integer
, new_marker_pos : integer
)
Change the sample position of an existing slice marker. see also property 'samples[].slice_markers'. When moving a marker behind or before an existing other marker, existing 0S effects or notes will automatically be updated to ensure that the old slices are played back just as before.
renoise.SampleAhdrsModulationDevice
- Properties
- name :
string
- short_name :
string
- display_name :
string
- display_name_observable :
renoise.Document.Observable
- enabled :
boolean
- enabled_observable :
renoise.Document.Observable
- is_active :
boolean
- is_active_observable :
renoise.Document.Observable
- is_maximized :
boolean
- is_maximized_observable :
renoise.Document.Observable
- target :
renoise.SampleModulationDevice.TargetType
- operator :
renoise.SampleModulationDevice.OperatorType
- operator_observable :
renoise.Document.Observable
- bipolar :
boolean
- bipolar_observable :
renoise.Document.Observable
- tempo_sync_switching_allowed :
boolean
- tempo_synced :
boolean
- tempo_synced_observable :
renoise.Document.Observable
- is_active_parameter :
renoise.DeviceParameter
- parameters :
renoise.DeviceParameter
[] - attack :
renoise.DeviceParameter
- hold :
renoise.DeviceParameter
- duration :
renoise.DeviceParameter
- sustain :
renoise.DeviceParameter
- release :
renoise.DeviceParameter
- name :
- Functions
Properties
name : string
READ-ONLY Fixed name of the device.
short_name : string
READ-ONLY
display_name : string
Configurable device display name.
display_name_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
enabled : boolean
Deprecated. Use
is_active
instead.
enabled_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
is_active : boolean
not active = bypassed
is_active_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
is_maximized : boolean
Maximize state in modulation chain.
is_maximized_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
target : renoise.SampleModulationDevice.TargetType
READ-ONLY Where the modulation gets applied (Volume, Pan, Pitch, Cutoff, Resonance).
operator : renoise.SampleModulationDevice.OperatorType
Modulation operator: how the device applies.
operator_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
bipolar : boolean
Modulation polarity: when bipolar, the device applies it's values in a -1 to 1 range, when unipolar in a 0 to 1 range.
bipolar_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
tempo_sync_switching_allowed : boolean
READ-ONLY When true, the device has one of more time parameters, which can be switched to operate in synced or unsynced mode. see also field tempo_synced.
tempo_synced : boolean
When true and the device supports sync switching the device operates in wall-clock (ms) instead of beat times. see also property 'tempo_sync_switching_allowed'
tempo_synced_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
is_active_parameter : renoise.DeviceParameter
READ-ONLY Generic access to all parameters of this device.
parameters : renoise.DeviceParameter
[]
READ-ONLY
attack : renoise.DeviceParameter
with range (0-1)
hold : renoise.DeviceParameter
with range (0-1)
duration : renoise.DeviceParameter
with range (0-1)
sustain : renoise.DeviceParameter
with range (0-1)
release : renoise.DeviceParameter
with range (0-1)
Functions
init(self)
Reset the device to its default state.
copy_from(self, other_device : renoise.SampleModulationDevice
)
Copy a device's state from another device. 'other_device' must be of the same type.
parameter(self, index : integer
)
Access to a single parameter by index. Use properties 'parameters' to iterate over all parameters and to query the parameter count.
renoise.SampleBuffer
NOTE: All properties are invalid when no sample data is present, 'has_sample_data' returns false:
- Constants
- Properties
- has_sample_data :
boolean
- read_only :
boolean
- sample_rate :
integer
- bit_depth :
integer
- number_of_channels :
integer
- number_of_frames :
integer
- display_start :
integer
- display_start_observable :
renoise.Document.Observable
- display_length :
integer
- display_length_observable :
renoise.Document.Observable
- display_range :
integer
[] - display_range_observable :
renoise.Document.Observable
- vertical_zoom_factor :
number
- vertical_zoom_factor_observable :
renoise.Document.Observable
- selection_start :
integer
- selection_start_observable :
renoise.Document.Observable
- selection_end :
integer
- selection_end_observable :
renoise.Document.Observable
- selection_range :
integer
[] - selection_range_observable :
renoise.Document.Observable
- selected_channel :
renoise.SampleBuffer.Channel
- selected_channel_observable :
renoise.Document.Observable
- has_sample_data :
- Functions
- create_sample_data(self, sample_rate :
integer
, bit_depth :integer
, num_channels :integer
, num_frames :integer
) - delete_sample_data(self)
- sample_data(self, channel_index :
integer
, frame_index :integer
) - set_sample_data(self, channel_index :
integer
, frame_index :integer
, sample_value :integer
) - prepare_sample_data_changes(self, undo_redo_enabled :
boolean``?
) - finalize_sample_data_changes(self)
- load_from(self, filename :
string
) - save_as(self, filename :
string
, format :SampleBuffer.ExportType
)
- create_sample_data(self, sample_rate :
- Aliases
Constants
Channel
{ CHANNEL_LEFT: integer = 1, CHANNEL_RIGHT: integer = 2, CHANNEL_LEFT_AND_RIGHT: integer = 3, }
Properties
has_sample_data : boolean
READ-ONLY Check this before accessing properties
read_only : boolean
READ-ONLY True, when the sample buffer can only be read, but not be modified. true for sample aliases of sliced samples. To modify such sample buffers, modify the sliced master sample buffer instead.
sample_rate : integer
READ-ONLY The current sample rate in Hz, like 44100.
bit_depth : integer
READ-ONLY The current bit depth, like 32, 16, 8.
number_of_channels : integer
READ-ONLY The integer of sample channels (1 or 2)
number_of_frames : integer
READ-ONLY The sample frame count (integer of samples per channel)
display_start : integer
Range: (1 - number_of_frames)
display_start_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
display_length : integer
Range: (1 - number_of_frames)
display_length_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
display_range : integer
[]
Range: (1 - number_of_frames)
display_range_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
vertical_zoom_factor : number
Range(0.0-1.0)
vertical_zoom_factor_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
selection_start : integer
Range: (1 - number_of_frames)
selection_start_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
selection_end : integer
Range: (1 - number_of_frames)
selection_end_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
selection_range : integer
[]
Range: (1 - number_of_frames)
selection_range_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
selected_channel : renoise.SampleBuffer.Channel
The selected channel.
selected_channel_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
Functions
create_sample_data(self, sample_rate : integer
, bit_depth : integer
, num_channels : integer
, num_frames : integer
)
->
success : boolean
Create new sample data with the given rate, bit-depth, channel and frame count. Will trash existing sample data. Initial buffer is all zero. Will only return false when memory allocation fails (you're running out of memory). All other errors are fired as usual.
delete_sample_data(self)
Delete existing sample data.
sample_data(self, channel_index : integer
, frame_index : integer
)
->
values : number
[]
Read access to samples in a sample data buffer.
set_sample_data(self, channel_index : integer
, frame_index : integer
, sample_value : integer
)
Write access to samples in a sample data buffer. New samples values must be within [-1, 1] and will be clipped automatically. Sample buffers may be read-only (see property 'read_only'). Attempts to write on such buffers will result into errors. IMPORTANT: before modifying buffers, call 'prepare_sample_data_changes'. When you are done, call 'finalize_sample_data_changes' to generate undo/redo data for your changes and update sample overview caches!
prepare_sample_data_changes(self, undo_redo_enabled : boolean
?
)
To be called once before sample data gets manipulated via
set_sample_data
. This will prepare undo/redo data for the whole sample and does other internal housekeeping. Every prepare_sample_data_changes call must be paired with a finalize_sample_data_changes call.When param
undo_redo_enabled
is false, no undo/redo data is generated for the following changes. When undefined or true, the global "Enable Undo/Redo in Sample Editor" option is applied.See also 'finalize_sample_data_changes'.
finalize_sample_data_changes(self)
To be called once after the sample data got manipulated via
set_sample_data
. This will create undo/redo data for the whole samples, and also updates the sample view caches for the sample. The reason this isn't automatically invoked is to avoid performance overhead when changing sample data 'sample by sample'.Don't forget to call this after any data changes, or changes may not be visible in the GUI and can not be un/redone!
load_from(self, filename : string
)
->
success : boolean
Load sample data from a file. Files can be any audio format Renoise supports. Possible errors are shown to the user, otherwise success is returned.
save_as(self, filename : string
, format : SampleBuffer.ExportType
)
->
success : boolean
Export sample data to a file. Possible errors are shown to the user, otherwise success is returned.
format: | "wav" | "flac"
Aliases
SampleBuffer.ExportType
"flac"
| "wav"
SampleBuffer.ExportType: | "wav" | "flac"
renoise.SampleDeviceChain
- Properties
- name :
string
- name_observable :
renoise.Document.Observable
- available_devices :
string
[] - available_device_infos :
AudioDeviceInfo
[] - devices :
renoise.AudioDevice
[] - devices_observable :
renoise.Document.ObservableList
- available_output_routings :
string
[] - output_routing :
string
- output_routing_observable :
renoise.Document.Observable
- name :
- Functions
- Structs
- AudioDeviceInfo
Properties
name : string
Name of the audio effect chain.
name_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
available_devices : string
[]
READ-ONLY Allowed, available devices for 'insert_device_at'.
available_device_infos : AudioDeviceInfo
[]
READ-ONLY Returns a list of tables containing more information about the devices.
devices : renoise.AudioDevice
[]
READ-ONLY Device access.
devices_observable : renoise.Document.ObservableList
Track changes to document lists by attaching listener functions to it. NB: Notifiers will not broadcast changes made to list items, but only changes to the lists layout (items got added, removed, swapped).
available_output_routings : string
[]
READ-ONLY Output routing.
output_routing : string
One of 'available_output_routings'
output_routing_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
Functions
insert_device_at(self, device_path : string
, index : integer
)
->
new_device : renoise.AudioDevice
Insert a new device at the given position. "device_path" must be an available device See:
renoise.SampleDeviceChain.available_devices
delete_device_at(self, index : integer
)
Delete an existing device from a chain. The mixer device at index 1 can not be deleted.
swap_devices_at(self, index1 : integer
, index2 : integer
)
Swap the positions of two devices in the device chain. The mixer device at index 1 can not be swapped or moved.
device(self, index : integer
)
Access to a single device in the chain.
Structs
AudioDeviceInfo
Audio device info
Properties
path : string
The device's path used by
renoise.Track:insert_device_at
name : string
The device's name
short_name : string
The device's name as displayed in shortened lists
favorite_name : string
The device's name as displayed in favorites
is_favorite : boolean
true if the device is a favorite
is_bridged : boolean
true if the device is a bridged plugin
renoise.SampleEnvelopeModulationDevice
- Constants
- Properties
- name :
string
- short_name :
string
- display_name :
string
- display_name_observable :
renoise.Document.Observable
- enabled :
boolean
- enabled_observable :
renoise.Document.Observable
- is_active :
boolean
- is_active_observable :
renoise.Document.Observable
- is_maximized :
boolean
- is_maximized_observable :
renoise.Document.Observable
- target :
renoise.SampleModulationDevice.TargetType
- operator :
renoise.SampleModulationDevice.OperatorType
- operator_observable :
renoise.Document.Observable
- bipolar :
boolean
- bipolar_observable :
renoise.Document.Observable
- tempo_sync_switching_allowed :
boolean
- tempo_synced :
boolean
- tempo_synced_observable :
renoise.Document.Observable
- is_active_parameter :
renoise.DeviceParameter
- parameters :
renoise.DeviceParameter
[] - external_editor_visible :
boolean
- play_mode :
renoise.SampleEnvelopeModulationDevice.PlayMode
- play_mode_observable :
renoise.Document.Observable
- length :
integer
- length_observable :
renoise.Document.Observable
- loop_mode :
renoise.SampleEnvelopeModulationDevice.LoopMode
- loop_mode_observable :
renoise.Document.Observable
- loop_start :
integer
- loop_start_observable :
renoise.Document.Observable
- loop_end :
integer
- loop_end_observable :
renoise.Document.Observable
- sustain_enabled :
boolean
- sustain_enabled_observable :
renoise.Document.Observable
- sustain_position :
integer
- sustain_position_observable :
renoise.Document.Observable
- fade_amount :
integer
- fade_amount_observable :
renoise.Document.Observable
- points :
SampleEnvelopeModulationDevice.Point
[] - points_observable :
renoise.Document.ObservableList
- name :
- Functions
- parameter(self, index :
integer
) - init(self)
- copy_from(self, other_device :
renoise.SampleEnvelopeModulationDevice
) - clear_points(self)
- clear_points_in_range(self, from_time :
integer
, to_time :integer
) - copy_points_from(self, other_device :
renoise.SampleEnvelopeModulationDevice
) - has_point_at(self, time :
integer
) - add_point_at(self, time :
integer
, value :number
, scaling :number``?
) - remove_point_at(self, time :
integer
)
- parameter(self, index :
- Structs
- SampleEnvelopeModulationDevice.Point
Constants
PlayMode
{ PLAYMODE_POINTS: integer = 1, PLAYMODE_LINES: integer = 2, PLAYMODE_CURVES: integer = 3, }
LoopMode
{ LOOP_MODE_OFF: integer = 1, LOOP_MODE_FORWARD: integer = 2, LOOP_MODE_REVERSE: integer = 3, LOOP_MODE_PING_PONG: integer = 4, }
MIN_NUMBER_OF_POINTS : integer
MAX_NUMBER_OF_POINTS : integer
Properties
name : string
READ-ONLY Fixed name of the device.
short_name : string
READ-ONLY
display_name : string
Configurable device display name.
display_name_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
enabled : boolean
Deprecated. Use
is_active
instead.
enabled_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
is_active : boolean
not active = bypassed
is_active_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
is_maximized : boolean
Maximize state in modulation chain.
is_maximized_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
target : renoise.SampleModulationDevice.TargetType
READ-ONLY Where the modulation gets applied (Volume, Pan, Pitch, Cutoff, Resonance).
operator : renoise.SampleModulationDevice.OperatorType
Modulation operator: how the device applies.
operator_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
bipolar : boolean
Modulation polarity: when bipolar, the device applies it's values in a -1 to 1 range, when unipolar in a 0 to 1 range.
bipolar_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
tempo_sync_switching_allowed : boolean
READ-ONLY When true, the device has one of more time parameters, which can be switched to operate in synced or unsynced mode. see also field tempo_synced.
tempo_synced : boolean
When true and the device supports sync switching the device operates in wall-clock (ms) instead of beat times. see also property 'tempo_sync_switching_allowed'
tempo_synced_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
is_active_parameter : renoise.DeviceParameter
READ-ONLY Generic access to all parameters of this device.
parameters : renoise.DeviceParameter
[]
READ-ONLY
external_editor_visible : boolean
External editor visibility. set to true to show the editor, false to close it
play_mode : renoise.SampleEnvelopeModulationDevice.PlayMode
Play mode (interpolation mode).
play_mode_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
length : integer
Range: (6 - 1000)
length_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
loop_mode : renoise.SampleEnvelopeModulationDevice.LoopMode
Loop.
loop_mode_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
loop_start : integer
Range: (1 - envelope.length)
loop_start_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
loop_end : integer
Range: (1 - envelope.length)
loop_end_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
sustain_enabled : boolean
Sustain.
sustain_enabled_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
sustain_position : integer
Range: (1 - envelope.length)
sustain_position_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
fade_amount : integer
Range: (0 - 4095)
fade_amount_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
points : SampleEnvelopeModulationDevice.Point
[]
Get all points of the envelope. When setting a new list of points, items may be unsorted by time, but there may not be multiple points for the same time. Returns a copy of the list, so changing
points[1].value
will not do anything. Instead, change them viapoints = { something }
instead.
points_observable : renoise.Document.ObservableList
Track changes to document lists by attaching listener functions to it. NB: Notifiers will not broadcast changes made to list items, but only changes to the lists layout (items got added, removed, swapped).
Functions
parameter(self, index : integer
)
Access to a single parameter by index. Use properties 'parameters' to iterate over all parameters and to query the parameter count.
init(self)
Reset the envelope back to its default initial state.
copy_from(self, other_device : renoise.SampleEnvelopeModulationDevice
)
Copy all properties from another SampleEnvelopeModulation object.
clear_points(self)
Remove all points from the envelope.
clear_points_in_range(self, from_time : integer
, to_time : integer
)
Remove points in the given [from, to) time range from the envelope.
copy_points_from(self, other_device : renoise.SampleEnvelopeModulationDevice
)
Copy all points from another SampleEnvelopeModulation object.
has_point_at(self, time : integer
)
->
boolean
Test if a point exists at the given time.
add_point_at(self, time : integer
, value : number
, scaling : number
?
)
Add a new point value (or replace any existing value) at time.
remove_point_at(self, time : integer
)
Removes a point at the given time. Point must exist.
Structs
SampleEnvelopeModulationDevice.Point
Properties
time : integer
Range: (1 - envelope.length)
value : number
Range: (0.0 - 1.0)
scaling : number
Range: (-1.0 - 1.0)
renoise.SampleFaderModulationDevice
- Constants
- Properties
- name :
string
- short_name :
string
- display_name :
string
- display_name_observable :
renoise.Document.Observable
- enabled :
boolean
- enabled_observable :
renoise.Document.Observable
- is_active :
boolean
- is_active_observable :
renoise.Document.Observable
- is_maximized :
boolean
- is_maximized_observable :
renoise.Document.Observable
- target :
renoise.SampleModulationDevice.TargetType
- operator :
renoise.SampleModulationDevice.OperatorType
- operator_observable :
renoise.Document.Observable
- bipolar :
boolean
- bipolar_observable :
renoise.Document.Observable
- tempo_sync_switching_allowed :
boolean
- tempo_synced :
boolean
- tempo_synced_observable :
renoise.Document.Observable
- is_active_parameter :
renoise.DeviceParameter
- parameters :
renoise.DeviceParameter
[] - scaling :
renoise.SampleFaderModulationDevice.ScalingType
- scaling_observable :
renoise.Document.Observable
- from :
renoise.DeviceParameter
- to :
renoise.DeviceParameter
- duration :
renoise.DeviceParameter
- delay :
renoise.DeviceParameter
- name :
- Functions
Constants
ScalingType
{ SCALING_LOG_FAST: integer = 1, SCALING_LOG_SLOW: integer = 2, SCALING_LINEAR: integer = 3, SCALING_EXP_SLOW: integer = 4, SCALING_EXP_FAST: integer = 5, }
Properties
name : string
READ-ONLY Fixed name of the device.
short_name : string
READ-ONLY
display_name : string
Configurable device display name.
display_name_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
enabled : boolean
Deprecated. Use
is_active
instead.
enabled_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
is_active : boolean
not active = bypassed
is_active_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
is_maximized : boolean
Maximize state in modulation chain.
is_maximized_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
target : renoise.SampleModulationDevice.TargetType
READ-ONLY Where the modulation gets applied (Volume, Pan, Pitch, Cutoff, Resonance).
operator : renoise.SampleModulationDevice.OperatorType
Modulation operator: how the device applies.
operator_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
bipolar : boolean
Modulation polarity: when bipolar, the device applies it's values in a -1 to 1 range, when unipolar in a 0 to 1 range.
bipolar_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
tempo_sync_switching_allowed : boolean
READ-ONLY When true, the device has one of more time parameters, which can be switched to operate in synced or unsynced mode. see also field tempo_synced.
tempo_synced : boolean
When true and the device supports sync switching the device operates in wall-clock (ms) instead of beat times. see also property 'tempo_sync_switching_allowed'
tempo_synced_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
is_active_parameter : renoise.DeviceParameter
READ-ONLY Generic access to all parameters of this device.
parameters : renoise.DeviceParameter
[]
READ-ONLY
scaling : renoise.SampleFaderModulationDevice.ScalingType
Scaling mode.
scaling_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
from : renoise.DeviceParameter
Start value.
to : renoise.DeviceParameter
Target value.
duration : renoise.DeviceParameter
Duration.
delay : renoise.DeviceParameter
Delay.
Functions
init(self)
Reset the device to its default state.
copy_from(self, other_device : renoise.SampleModulationDevice
)
Copy a device's state from another device. 'other_device' must be of the same type.
parameter(self, index : integer
)
Access to a single parameter by index. Use properties 'parameters' to iterate over all parameters and to query the parameter count.
renoise.SampleKeyTrackingModulationDevice
- Properties
- name :
string
- short_name :
string
- display_name :
string
- display_name_observable :
renoise.Document.Observable
- enabled :
boolean
- enabled_observable :
renoise.Document.Observable
- is_active :
boolean
- is_active_observable :
renoise.Document.Observable
- is_maximized :
boolean
- is_maximized_observable :
renoise.Document.Observable
- target :
renoise.SampleModulationDevice.TargetType
- operator :
renoise.SampleModulationDevice.OperatorType
- operator_observable :
renoise.Document.Observable
- bipolar :
boolean
- bipolar_observable :
renoise.Document.Observable
- tempo_sync_switching_allowed :
boolean
- tempo_synced :
boolean
- tempo_synced_observable :
renoise.Document.Observable
- is_active_parameter :
renoise.DeviceParameter
- parameters :
renoise.DeviceParameter
[] - min :
renoise.DeviceParameter
- max :
renoise.DeviceParameter
- name :
- Functions
Properties
name : string
READ-ONLY Fixed name of the device.
short_name : string
READ-ONLY
display_name : string
Configurable device display name.
display_name_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
enabled : boolean
Deprecated. Use
is_active
instead.
enabled_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
is_active : boolean
not active = bypassed
is_active_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
is_maximized : boolean
Maximize state in modulation chain.
is_maximized_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
target : renoise.SampleModulationDevice.TargetType
READ-ONLY Where the modulation gets applied (Volume, Pan, Pitch, Cutoff, Resonance).
operator : renoise.SampleModulationDevice.OperatorType
Modulation operator: how the device applies.
operator_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
bipolar : boolean
Modulation polarity: when bipolar, the device applies it's values in a -1 to 1 range, when unipolar in a 0 to 1 range.
bipolar_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
tempo_sync_switching_allowed : boolean
READ-ONLY When true, the device has one of more time parameters, which can be switched to operate in synced or unsynced mode. see also field tempo_synced.
tempo_synced : boolean
When true and the device supports sync switching the device operates in wall-clock (ms) instead of beat times. see also property 'tempo_sync_switching_allowed'
tempo_synced_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
is_active_parameter : renoise.DeviceParameter
READ-ONLY Generic access to all parameters of this device.
parameters : renoise.DeviceParameter
[]
READ-ONLY
min : renoise.DeviceParameter
with range (0-119)
max : renoise.DeviceParameter
with range (0-119)
Functions
init(self)
Reset the device to its default state.
copy_from(self, other_device : renoise.SampleModulationDevice
)
Copy a device's state from another device. 'other_device' must be of the same type.
parameter(self, index : integer
)
Access to a single parameter by index. Use properties 'parameters' to iterate over all parameters and to query the parameter count.
renoise.SampleLfoModulationDevice
- Constants
- Properties
- name :
string
- short_name :
string
- display_name :
string
- display_name_observable :
renoise.Document.Observable
- enabled :
boolean
- enabled_observable :
renoise.Document.Observable
- is_active :
boolean
- is_active_observable :
renoise.Document.Observable
- is_maximized :
boolean
- is_maximized_observable :
renoise.Document.Observable
- target :
renoise.SampleModulationDevice.TargetType
- operator :
renoise.SampleModulationDevice.OperatorType
- operator_observable :
renoise.Document.Observable
- bipolar :
boolean
- bipolar_observable :
renoise.Document.Observable
- tempo_sync_switching_allowed :
boolean
- tempo_synced :
boolean
- tempo_synced_observable :
renoise.Document.Observable
- is_active_parameter :
renoise.DeviceParameter
- parameters :
renoise.DeviceParameter
[] - mode :
renoise.SampleLfoModulationDevice.Mode
- phase :
renoise.DeviceParameter
- frequency :
renoise.DeviceParameter
- amount :
renoise.DeviceParameter
- delay :
renoise.DeviceParameter
- name :
- Functions
Constants
Mode
{ MODE_SIN: integer = 1, MODE_SAW: integer = 2, MODE_PULSE: integer = 3, MODE_RANDOM: integer = 4, }
Properties
name : string
READ-ONLY Fixed name of the device.
short_name : string
READ-ONLY
display_name : string
Configurable device display name.
display_name_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
enabled : boolean
Deprecated. Use
is_active
instead.
enabled_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
is_active : boolean
not active = bypassed
is_active_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
is_maximized : boolean
Maximize state in modulation chain.
is_maximized_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
target : renoise.SampleModulationDevice.TargetType
READ-ONLY Where the modulation gets applied (Volume, Pan, Pitch, Cutoff, Resonance).
operator : renoise.SampleModulationDevice.OperatorType
Modulation operator: how the device applies.
operator_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
bipolar : boolean
Modulation polarity: when bipolar, the device applies it's values in a -1 to 1 range, when unipolar in a 0 to 1 range.
bipolar_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
tempo_sync_switching_allowed : boolean
READ-ONLY When true, the device has one of more time parameters, which can be switched to operate in synced or unsynced mode. see also field tempo_synced.
tempo_synced : boolean
When true and the device supports sync switching the device operates in wall-clock (ms) instead of beat times. see also property 'tempo_sync_switching_allowed'
tempo_synced_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
is_active_parameter : renoise.DeviceParameter
READ-ONLY Generic access to all parameters of this device.
parameters : renoise.DeviceParameter
[]
READ-ONLY
mode : renoise.SampleLfoModulationDevice.Mode
LFO mode.
phase : renoise.DeviceParameter
with range (0-360)
frequency : renoise.DeviceParameter
with range (0-1)
amount : renoise.DeviceParameter
with range (0-1)
delay : renoise.DeviceParameter
Delay.
Functions
init(self)
Reset the device to its default state.
copy_from(self, other_device : renoise.SampleModulationDevice
)
Copy a device's state from another device. 'other_device' must be of the same type.
parameter(self, index : integer
)
Access to a single parameter by index. Use properties 'parameters' to iterate over all parameters and to query the parameter count.
renoise.SampleMapping
General remarks: Sample mappings of sliced samples are read-only: can not be modified. See
sample_mappings[].read_only
- Properties
- read_only :
boolean
- sample :
renoise.Sample
- layer :
renoise.Instrument.Layer
- layer_observable :
renoise.Document.Observable
- map_velocity_to_volume :
boolean
- map_velocity_to_volume_observable :
renoise.Document.Observable
- map_key_to_pitch :
boolean
- map_key_to_pitch_observable :
renoise.Document.Observable
- base_note :
integer
- base_note_observable :
renoise.Document.Observable
- note_range :
integer
[] - note_range_observable :
renoise.Document.Observable
- velocity_range :
integer
[] - velocity_range_observable :
renoise.Document.Observable
- read_only :
Properties
read_only : boolean
READ-ONLY True for sliced instruments. No sample mapping properties are allowed to be modified, but can be read.
sample : renoise.Sample
Linked sample.
layer : renoise.Instrument.Layer
Mapping's layer (triggered via Note-Ons or Note-Offs?).
layer_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
map_velocity_to_volume : boolean
Mappings velocity->volume and key->pitch options.
map_velocity_to_volume_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
map_key_to_pitch : boolean
map_key_to_pitch_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
base_note : integer
Range: (0-119, c-4=48)]
base_note_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
note_range : integer
[]
Range: (0 - 119) where C-4 is 48
note_range_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
velocity_range : integer
[]
Range: (0 - 127)
velocity_range_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
renoise.SampleModulationDevice
- Constants
- Properties
- name :
string
- short_name :
string
- display_name :
string
- display_name_observable :
renoise.Document.Observable
- enabled :
boolean
- enabled_observable :
renoise.Document.Observable
- is_active :
boolean
- is_active_observable :
renoise.Document.Observable
- is_maximized :
boolean
- is_maximized_observable :
renoise.Document.Observable
- target :
renoise.SampleModulationDevice.TargetType
- operator :
renoise.SampleModulationDevice.OperatorType
- operator_observable :
renoise.Document.Observable
- bipolar :
boolean
- bipolar_observable :
renoise.Document.Observable
- tempo_sync_switching_allowed :
boolean
- tempo_synced :
boolean
- tempo_synced_observable :
renoise.Document.Observable
- is_active_parameter :
renoise.DeviceParameter
- parameters :
renoise.DeviceParameter
[]
- name :
- Functions
Constants
TargetType
{ TARGET_VOLUME: integer = 1, TARGET_PANNING: integer = 2, TARGET_PITCH: integer = 3, TARGET_CUTOFF: integer = 4, TARGET_RESONANCE: integer = 5, TARGET_DRIVE: integer = 6, }
OperatorType
{ OPERATOR_ADD: integer = 1, OPERATOR_SUB: integer = 2, OPERATOR_MUL: integer = 3, OPERATOR_DIV: integer = 4, }
Properties
name : string
READ-ONLY Fixed name of the device.
short_name : string
READ-ONLY
display_name : string
Configurable device display name.
display_name_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
enabled : boolean
Deprecated. Use
is_active
instead.
enabled_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
is_active : boolean
not active = bypassed
is_active_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
is_maximized : boolean
Maximize state in modulation chain.
is_maximized_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
target : renoise.SampleModulationDevice.TargetType
READ-ONLY Where the modulation gets applied (Volume, Pan, Pitch, Cutoff, Resonance).
operator : renoise.SampleModulationDevice.OperatorType
Modulation operator: how the device applies.
operator_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
bipolar : boolean
Modulation polarity: when bipolar, the device applies it's values in a -1 to 1 range, when unipolar in a 0 to 1 range.
bipolar_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
tempo_sync_switching_allowed : boolean
READ-ONLY When true, the device has one of more time parameters, which can be switched to operate in synced or unsynced mode. see also field tempo_synced.
tempo_synced : boolean
When true and the device supports sync switching the device operates in wall-clock (ms) instead of beat times. see also property 'tempo_sync_switching_allowed'
tempo_synced_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
is_active_parameter : renoise.DeviceParameter
READ-ONLY Generic access to all parameters of this device.
parameters : renoise.DeviceParameter
[]
READ-ONLY
Functions
init(self)
Reset the device to its default state.
copy_from(self, other_device : renoise.SampleModulationDevice
)
Copy a device's state from another device. 'other_device' must be of the same type.
parameter(self, index : integer
)
Access to a single parameter by index. Use properties 'parameters' to iterate over all parameters and to query the parameter count.
renoise.SampleModulationSet
- Properties
- name :
string
- name_observable :
renoise.Document.Observable
- volume_input :
renoise.DeviceParameter
- panning_input :
renoise.DeviceParameter
- pitch_input :
renoise.DeviceParameter
- cutoff_input :
renoise.DeviceParameter
- resonance_input :
renoise.DeviceParameter
- drive_input :
renoise.DeviceParameter
- pitch_range :
integer
- pitch_range_observable :
renoise.Document.Observable
- available_devices :
string
[] - devices :
renoise.SampleModulationDevice
[] - devices_observable :
renoise.Document.ObservableList
- filter_version :
1
|2
|3
- filter_version_observable :
renoise.Document.Observable
- available_filter_types :
FilterTypes
[] - filter_type :
FilterTypes
- filter_type_observable :
renoise.Document.Observable
- name :
- Functions
- Aliases
Properties
name : string
Name of the modulation set.
name_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
volume_input : renoise.DeviceParameter
Input value for the volume domain
panning_input : renoise.DeviceParameter
Input value for the panning domain
pitch_input : renoise.DeviceParameter
Input value for the pitch domain
cutoff_input : renoise.DeviceParameter
Input value for the cutoff domain
resonance_input : renoise.DeviceParameter
Input value for the resonance domain
drive_input : renoise.DeviceParameter
Input value for the drive domain
pitch_range : integer
Range: (1 - 96)
pitch_range_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
available_devices : string
[]
READ-ONLY All available devices, to be used in 'insert_device_at'.
devices : renoise.SampleModulationDevice
[]
READ-ONLY Device list access.
devices_observable : renoise.Document.ObservableList
Track changes to document lists by attaching listener functions to it. NB: Notifiers will not broadcast changes made to list items, but only changes to the lists layout (items got added, removed, swapped).
filter_version : 1
| 2
| 3
READ-ONLY Filter version, 3 is the latest.
filter_version_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
available_filter_types : FilterTypes
[]
READ-ONLY List of available filter types depending on the filter_version.
filter_type : FilterTypes
The type of the filter selected for the modulation set. Songs made with previous versions of Renoise may use old filter types.
filter_type_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
Functions
init(self)
Reset all chain back to default initial state. Removing all devices too.
copy_from(self, other_set : renoise.SampleModulationSet
)
Copy all devices from another SampleModulationSet object.
insert_device_at(self, device_path : string
, target_type : renoise.SampleModulationDevice.TargetType
, index : integer
)
->
new_sample_modulation_device : renoise.SampleModulationDevice
Insert a new device at the given position. "device_path" must be one of renoise.song().instruments[].sample_modulation_sets[].available_devices.
delete_device_at(self, index : integer
)
Delete a device at the given index.
device(self, index : integer
)
->
renoise.SampleModulationDevice
Access a single device by index.
upgrade_filter_version(self)
Upgrade filter to the latest version. Tries to find a somewhat matching filter in the new version, but things quite likely won't sound the same.
Aliases
FilterTypes
FilterTypes1
| FilterTypes2
| FilterTypes3
-- Available filter types when filter_version = 3 -- Available filter types when filter_version = 3 -- Available filter types when filter_version = 2 -- Available filter types when filter_version = 1 FilterTypes: | "None" | "LP Clean" | "LP K35" | "LP Moog" | "LP Diode" | "HP Clean" | "HP K35" | "HP Moog" | "BP Clean" | "BP K35" | "BP Moog" | "BandPass" | "BandStop" | "Vowel" | "Comb" | "Decimator" | "Dist Shape" | "Dist Fold" | "AM Sine" | "AM Triangle" | "AM Saw" | "AM Pulse" | "None" | "LP 2x2 Pole" | "LP 2 Pole" | "LP Biquad" | "LP Moog" | "LP Single" | "HP 2x2 Pole" | "HP 2 Pole" | "HP Moog" | "Band Reject" | "Band Pass" | "EQ -15 dB" | "EQ -6 dB" | "EQ +6 dB" | "EQ +15 dB" | "EQ Peaking" | "Dist. Low" | "Dist. Mid" | "Dist. High" | "Dist." | "RingMod" | "None" | "LP -12 dB" | "LP -24 dB" | "LP -48 dB" | "Moog LP" | "Single Pole" | "HP -12 dB" | "HP -24 dB" | "Moog HP" | "Band Reject" | "Band Pass" | "EQ -15 dB" | "EQ -6 dB" | "EQ +6 dB" | "EQ +15 dB" | "Peaking EQ" | "Dist. Low" | "Dist. Mid" | "Dist. High" | "Dist." | "AMod"
FilterTypes1
"AMod"
| "Band Pass"
| "Band Reject"
| "Dist. High"
| "Dist. Low"
| "Dist. Mid"
| "Dist."
| "EQ +15 dB"
| "EQ +6 dB"
| "EQ -15 dB"
| "EQ -6 dB"
| "HP -12 dB"
| "HP -24 dB"
| "LP -12 dB"
| "LP -24 dB"
| "LP -48 dB"
| "Moog HP"
| "Moog LP"
| "None"
| "Peaking EQ"
| "Single Pole"
-- Available filter types when filter_version = 1 FilterTypes1: | "None" | "LP -12 dB" | "LP -24 dB" | "LP -48 dB" | "Moog LP" | "Single Pole" | "HP -12 dB" | "HP -24 dB" | "Moog HP" | "Band Reject" | "Band Pass" | "EQ -15 dB" | "EQ -6 dB" | "EQ +6 dB" | "EQ +15 dB" | "Peaking EQ" | "Dist. Low" | "Dist. Mid" | "Dist. High" | "Dist." | "AMod"
FilterTypes2
"Band Pass"
| "Band Reject"
| "Dist. High"
| "Dist. Low"
| "Dist. Mid"
| "Dist."
| "EQ +15 dB"
| "EQ +6 dB"
| "EQ -15 dB"
| "EQ -6 dB"
| "EQ Peaking"
| "HP 2 Pole"
| "HP 2x2 Pole"
| "HP Moog"
| "LP 2 Pole"
| "LP 2x2 Pole"
| "LP Biquad"
| "LP Moog"
| "LP Single"
| "None"
| "RingMod"
-- Available filter types when filter_version = 2 FilterTypes2: | "None" | "LP 2x2 Pole" | "LP 2 Pole" | "LP Biquad" | "LP Moog" | "LP Single" | "HP 2x2 Pole" | "HP 2 Pole" | "HP Moog" | "Band Reject" | "Band Pass" | "EQ -15 dB" | "EQ -6 dB" | "EQ +6 dB" | "EQ +15 dB" | "EQ Peaking" | "Dist. Low" | "Dist. Mid" | "Dist. High" | "Dist." | "RingMod"
FilterTypes3
"AM Pulse"
| "AM Saw"
| "AM Sine"
| "AM Triangle"
| "BP Clean"
| "BP K35"
| "BP Moog"
| "BandPass"
| "BandStop"
| "Comb"
| "Decimator"
| "Dist Fold"
| "Dist Shape"
| "HP Clean"
| "HP K35"
| "HP Moog"
| "LP Clean"
| "LP Diode"
| "LP K35"
| "LP Moog"
| "None"
| "Vowel"
-- Available filter types when filter_version = 3 FilterTypes3: | "None" | "LP Clean" | "LP K35" | "LP Moog" | "LP Diode" | "HP Clean" | "HP K35" | "HP Moog" | "BP Clean" | "BP K35" | "BP Moog" | "BandPass" | "BandStop" | "Vowel" | "Comb" | "Decimator" | "Dist Shape" | "Dist Fold" | "AM Sine" | "AM Triangle" | "AM Saw" | "AM Pulse"
renoise.SampleOperandModulationDevice
- Properties
- name :
string
- short_name :
string
- display_name :
string
- display_name_observable :
renoise.Document.Observable
- enabled :
boolean
- enabled_observable :
renoise.Document.Observable
- is_active :
boolean
- is_active_observable :
renoise.Document.Observable
- is_maximized :
boolean
- is_maximized_observable :
renoise.Document.Observable
- target :
renoise.SampleModulationDevice.TargetType
- operator :
renoise.SampleModulationDevice.OperatorType
- operator_observable :
renoise.Document.Observable
- bipolar :
boolean
- bipolar_observable :
renoise.Document.Observable
- tempo_sync_switching_allowed :
boolean
- tempo_synced :
boolean
- tempo_synced_observable :
renoise.Document.Observable
- is_active_parameter :
renoise.DeviceParameter
- parameters :
renoise.DeviceParameter
[] - value :
renoise.DeviceParameter
- name :
- Functions
Properties
name : string
READ-ONLY Fixed name of the device.
short_name : string
READ-ONLY
display_name : string
Configurable device display name.
display_name_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
enabled : boolean
Deprecated. Use
is_active
instead.
enabled_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
is_active : boolean
not active = bypassed
is_active_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
is_maximized : boolean
Maximize state in modulation chain.
is_maximized_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
target : renoise.SampleModulationDevice.TargetType
READ-ONLY Where the modulation gets applied (Volume, Pan, Pitch, Cutoff, Resonance).
operator : renoise.SampleModulationDevice.OperatorType
Modulation operator: how the device applies.
operator_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
bipolar : boolean
Modulation polarity: when bipolar, the device applies it's values in a -1 to 1 range, when unipolar in a 0 to 1 range.
bipolar_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
tempo_sync_switching_allowed : boolean
READ-ONLY When true, the device has one of more time parameters, which can be switched to operate in synced or unsynced mode. see also field tempo_synced.
tempo_synced : boolean
When true and the device supports sync switching the device operates in wall-clock (ms) instead of beat times. see also property 'tempo_sync_switching_allowed'
tempo_synced_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
is_active_parameter : renoise.DeviceParameter
READ-ONLY Generic access to all parameters of this device.
parameters : renoise.DeviceParameter
[]
READ-ONLY
value : renoise.DeviceParameter
Operand value.
Functions
init(self)
Reset the device to its default state.
copy_from(self, other_device : renoise.SampleModulationDevice
)
Copy a device's state from another device. 'other_device' must be of the same type.
parameter(self, index : integer
)
Access to a single parameter by index. Use properties 'parameters' to iterate over all parameters and to query the parameter count.
renoise.SampleStepperModulationDevice
- Constants
- Properties
- name :
string
- short_name :
string
- display_name :
string
- display_name_observable :
renoise.Document.Observable
- enabled :
boolean
- enabled_observable :
renoise.Document.Observable
- is_active :
boolean
- is_active_observable :
renoise.Document.Observable
- is_maximized :
boolean
- is_maximized_observable :
renoise.Document.Observable
- target :
renoise.SampleModulationDevice.TargetType
- operator :
renoise.SampleModulationDevice.OperatorType
- operator_observable :
renoise.Document.Observable
- bipolar :
boolean
- bipolar_observable :
renoise.Document.Observable
- tempo_sync_switching_allowed :
boolean
- tempo_synced :
boolean
- tempo_synced_observable :
renoise.Document.Observable
- is_active_parameter :
renoise.DeviceParameter
- parameters :
renoise.DeviceParameter
[] - external_editor_visible :
boolean
- play_mode :
renoise.SampleStepperModulationDevice.PlayMode
- play_mode_observable :
renoise.Document.Observable
- play_step :
integer
- play_step_observable :
renoise.Document.Observable
- length :
integer
- length_observable :
renoise.Document.Observable
- points :
SampleStepperModulationDevice.Point
[] - points_observable :
renoise.Document.ObservableList
- name :
- Functions
- parameter(self, index :
integer
) - init(self)
- copy_from(self, other_device :
renoise.SampleStepperModulationDevice
) - clear_points(self)
- clear_points_in_range(self, from_time :
integer
, to_time :integer
) - copy_points_from(self, other_device :
renoise.SampleStepperModulationDevice
) - has_point_at(self, time :
integer
) - add_point_at(self, time :
integer
, value :number
, scaling :number``?
) - remove_point_at(self, time :
integer
)
- parameter(self, index :
- Structs
- SampleStepperModulationDevice.Point
Constants
PlayMode
{ PLAYMODE_POINTS: integer = 1, PLAYMODE_LINES: integer = 2, PLAYMODE_CURVES: integer = 3, }
MIN_NUMBER_OF_POINTS : integer
MAX_NUMBER_OF_POINTS : integer
Properties
name : string
READ-ONLY Fixed name of the device.
short_name : string
READ-ONLY
display_name : string
Configurable device display name.
display_name_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
enabled : boolean
Deprecated. Use
is_active
instead.
enabled_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
is_active : boolean
not active = bypassed
is_active_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
is_maximized : boolean
Maximize state in modulation chain.
is_maximized_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
target : renoise.SampleModulationDevice.TargetType
READ-ONLY Where the modulation gets applied (Volume, Pan, Pitch, Cutoff, Resonance).
operator : renoise.SampleModulationDevice.OperatorType
Modulation operator: how the device applies.
operator_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
bipolar : boolean
Modulation polarity: when bipolar, the device applies it's values in a -1 to 1 range, when unipolar in a 0 to 1 range.
bipolar_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
tempo_sync_switching_allowed : boolean
READ-ONLY When true, the device has one of more time parameters, which can be switched to operate in synced or unsynced mode. see also field tempo_synced.
tempo_synced : boolean
When true and the device supports sync switching the device operates in wall-clock (ms) instead of beat times. see also property 'tempo_sync_switching_allowed'
tempo_synced_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
is_active_parameter : renoise.DeviceParameter
READ-ONLY Generic access to all parameters of this device.
parameters : renoise.DeviceParameter
[]
READ-ONLY
external_editor_visible : boolean
External editor visibility. set to true to show the editor, false to close it
play_mode : renoise.SampleStepperModulationDevice.PlayMode
Play mode (interpolation mode).
play_mode_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
play_step : integer
Range: (-1 - 16)
play_step_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
length : integer
Range: (1 - 256)
length_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
points : SampleStepperModulationDevice.Point
[]
Get all points of the envelope. When setting a new list of points, items may be unsorted by time, but there may not be multiple points for the same time. Returns a copy of the list, so changing
points[1].value
will not do anything. Instead, change them viapoints = { something }
.
points_observable : renoise.Document.ObservableList
Track changes to document lists by attaching listener functions to it. NB: Notifiers will not broadcast changes made to list items, but only changes to the lists layout (items got added, removed, swapped).
Functions
parameter(self, index : integer
)
Access to a single parameter by index. Use properties 'parameters' to iterate over all parameters and to query the parameter count.
init(self)
Reset the envelope back to its default initial state.
copy_from(self, other_device : renoise.SampleStepperModulationDevice
)
Copy all properties from another SampleStepperModulation object.
clear_points(self)
Remove all points from the envelope.
clear_points_in_range(self, from_time : integer
, to_time : integer
)
Remove points in the given [from, to) time range from the envelope.
copy_points_from(self, other_device : renoise.SampleStepperModulationDevice
)
Copy all points from another SampleStepperModulation object.
has_point_at(self, time : integer
)
->
boolean
Test if a point exists at the given time.
add_point_at(self, time : integer
, value : number
, scaling : number
?
)
Add a new point value (or replace any existing value) at time.
remove_point_at(self, time : integer
)
Removes a point at the given time. Point must exist.
Structs
SampleStepperModulationDevice.Point
Properties
time : integer
Range: (1 - envelope.length)
value : number
Range: (0.0 - 1.0)
scaling : number
Range: (-1.0 - 1.0)
renoise.SampleVelocityTrackingModulationDevice
- Constants
- Properties
- name :
string
- short_name :
string
- display_name :
string
- display_name_observable :
renoise.Document.Observable
- enabled :
boolean
- enabled_observable :
renoise.Document.Observable
- is_active :
boolean
- is_active_observable :
renoise.Document.Observable
- is_maximized :
boolean
- is_maximized_observable :
renoise.Document.Observable
- target :
renoise.SampleModulationDevice.TargetType
- operator :
renoise.SampleModulationDevice.OperatorType
- operator_observable :
renoise.Document.Observable
- bipolar :
boolean
- bipolar_observable :
renoise.Document.Observable
- tempo_sync_switching_allowed :
boolean
- tempo_synced :
boolean
- tempo_synced_observable :
renoise.Document.Observable
- is_active_parameter :
renoise.DeviceParameter
- parameters :
renoise.DeviceParameter
[] - mode :
renoise.SampleVelocityTrackingModulationDevice.Mode
- mode_observable :
renoise.Document.Observable
- min :
renoise.DeviceParameter
- max :
renoise.DeviceParameter
- name :
- Functions
Constants
Mode
{ MODE_CLAMP: integer = 1, MODE_SCALE: integer = 2, }
Properties
name : string
READ-ONLY Fixed name of the device.
short_name : string
READ-ONLY
display_name : string
Configurable device display name.
display_name_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
enabled : boolean
Deprecated. Use
is_active
instead.
enabled_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
is_active : boolean
not active = bypassed
is_active_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
is_maximized : boolean
Maximize state in modulation chain.
is_maximized_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
target : renoise.SampleModulationDevice.TargetType
READ-ONLY Where the modulation gets applied (Volume, Pan, Pitch, Cutoff, Resonance).
operator : renoise.SampleModulationDevice.OperatorType
Modulation operator: how the device applies.
operator_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
bipolar : boolean
Modulation polarity: when bipolar, the device applies it's values in a -1 to 1 range, when unipolar in a 0 to 1 range.
bipolar_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
tempo_sync_switching_allowed : boolean
READ-ONLY When true, the device has one of more time parameters, which can be switched to operate in synced or unsynced mode. see also field tempo_synced.
tempo_synced : boolean
When true and the device supports sync switching the device operates in wall-clock (ms) instead of beat times. see also property 'tempo_sync_switching_allowed'
tempo_synced_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
is_active_parameter : renoise.DeviceParameter
READ-ONLY Generic access to all parameters of this device.
parameters : renoise.DeviceParameter
[]
READ-ONLY
mode : renoise.SampleVelocityTrackingModulationDevice.Mode
Mode.
mode_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
min : renoise.DeviceParameter
with range (0-127)
max : renoise.DeviceParameter
with range (0-127)
Functions
init(self)
Reset the device to its default state.
copy_from(self, other_device : renoise.SampleModulationDevice
)
Copy a device's state from another device. 'other_device' must be of the same type.
parameter(self, index : integer
)
Access to a single parameter by index. Use properties 'parameters' to iterate over all parameters and to query the parameter count.
renoise.ScriptingTool
The scripting tool interface allows your tool to interact with Renoise by injecting or creating menu entries and keybindings into Renoise; or by attaching it to some common tool related notifiers.
- Properties
- bundle_path :
string
- tool_finished_loading_observable :
renoise.Document.Observable
- tool_will_unload_observable :
renoise.Document.Observable
- app_became_active_observable :
renoise.Document.Observable
- app_resigned_active_observable :
renoise.Document.Observable
- app_idle_observable :
renoise.Document.Observable
- app_release_document_observable :
renoise.Document.Observable
- app_new_document_observable :
renoise.Document.Observable
- app_will_save_document_observable :
renoise.Document.Observable
- app_saved_document_observable :
renoise.Document.Observable
- preferences :
renoise.Document.DocumentNode
- bundle_path :
- Functions
- has_menu_entry(self, entry_name :
string
) - add_menu_entry(self, entry :
ToolMenuEntry
) - remove_menu_entry(self, entry_name :
string
) - has_keybinding(self, keybinding_name :
string
) - add_keybinding(self, keybinding :
ToolKeybindingEntry
) - remove_keybinding(self, keybinding_name :
string
) - has_midi_mapping(self, midi_mapping_name :
string
) - add_midi_mapping(self, midi_mapping :
ToolMidiMappingEntry
) - remove_midi_mapping(self, midi_mapping_name :
string
) - has_file_import_hook(self, category :
FileHookCategory
, extensions_table :string
[]) - add_file_import_hook(self, file_import_hook :
ToolFileImportHook
) - remove_file_import_hook(self, category :
FileHookCategory
, extensions_table :string
[]) - has_timer(self, timer :
TimerFunction
) - add_timer(self, timer :
TimerFunction
, interval_in_ms :number
) - remove_timer(self, timer :
TimerFunction
)
- has_menu_entry(self, entry_name :
- Structs
- ToolFileImportHook
- ToolKeybindingEntry
- ToolMenuEntry
- ToolMidiMappingEntry
Properties
bundle_path : string
READ_ONLY Full absolute path and name to your tool's bundle directory.
tool_finished_loading_observable : renoise.Document.Observable
Invoked when the tool finished loading/initializing and no errors happened. When the tool has preferences, they are loaded here as well when the notification fires, but 'renoise.song()' may not yet be available.
See also 'renoise.tool().app_new_document_observable'.
tool_will_unload_observable : renoise.Document.Observable
Invoked right before a tool gets unloaded: either because it got disabled, reloaded or the application exists. You can cleanup resources or connections to other devices here if necessary.
app_became_active_observable : renoise.Document.Observable
Invoked as soon as the application becomes the foreground window. For example, when you ATL-TAB to it, or activate it with the mouse from another app to Renoise.
app_resigned_active_observable : renoise.Document.Observable
Invoked as soon as the application looses focus and another app becomes the foreground window.
app_idle_observable : renoise.Document.Observable
Invoked periodically in the background, more often when the work load is low, less often when Renoise's work load is high. The exact interval is undefined and can not be relied on, but will be around 10 times per sec. You can do stuff in the background without blocking the application here. Be gentle and don't do CPU heavy stuff please!
app_release_document_observable : renoise.Document.Observable
Invoked each time before a new document gets created or loaded: this is the last time renoise.song() still points to the old song before a new one arrives. You can explicitly release notifiers to the old document here, or do your own housekeeping. Also called right before the application exits.
app_new_document_observable : renoise.Document.Observable
Invoked each time a new document (song) is created or loaded. In other words: each time the result of renoise.song() is changed. Also called when the script gets reloaded (only happens with the auto_reload debugging tools), in order to connect the new script instance to the already running document.
app_will_save_document_observable : renoise.Document.Observable
Invoked just before the application document (song) is saved. This is the last chance to make any changes that should be part of the saved song. You could for example write your tool data to
renoise.song().tool_data
here.
app_saved_document_observable : renoise.Document.Observable
Invoked each time the app's document (song) is successfully saved. renoise.song().file_name will point to the filename that it was saved to.
preferences : renoise.Document.DocumentNode
Get or set an optional renoise.Document.DocumentNode object, which will be used as set of persistent "options" or preferences for your tool. By default nil. When set, the assigned document object will automatically be loaded and saved by Renoise, to retain the tools state. The preference XML file is saved/loaded within the tool bundle as "com.example.your_tool.xrnx/preferences.xml".
examples:
-- create a document via "Document.create" my_options = renoise.Document.create("ScriptingToolPreferences") { some_option = true, some_value = "string_value" } -- or create a document by inheriting from renoise.Document.DocumentNode class "ExampleToolPreferences"(renoise.Document.DocumentNode) function ExampleToolPreferences:__init() renoise.Document.DocumentNode.__init(self) self:add_property("some_option", true) self:add_property("some_value", "string_value") end my_options = ExampleToolPreferences() -- values can be accessed (read, written) via my_options.some_option.value = false -- also notifiers can be added to listen to changes to the values -- done by you, or after new values got loaded or a view changed the value: my_options.some_option:add_notifier(function() end) -- and assign it: renoise.tool().preferences = my_options -- 'my_options' will be loaded/saved automatically with the tool now
Functions
has_menu_entry(self, entry_name : string
)
->
boolean
Returns true if the given entry already exists, otherwise false.
add_menu_entry(self, entry : ToolMenuEntry
)
Add a new menu entry.
remove_menu_entry(self, entry_name : string
)
Remove a previously added menu entry by specifying its full name.
has_keybinding(self, keybinding_name : string
)
->
boolean
Returns true when the given keybinging already exists, otherwise false.
add_keybinding(self, keybinding : ToolKeybindingEntry
)
Register key bindings somewhere in Renoise's existing set of bindings.
remove_keybinding(self, keybinding_name : string
)
Remove a previously added key binding by specifying its name and path.
has_midi_mapping(self, midi_mapping_name : string
)
->
boolean
Returns true when the given mapping already exists, otherwise false.
add_midi_mapping(self, midi_mapping : ToolMidiMappingEntry
)
Add a new midi_mapping entry.
remove_midi_mapping(self, midi_mapping_name : string
)
Remove a previously added midi mapping by specifying its name.
has_file_import_hook(self, category : FileHookCategory
, extensions_table : string
[])
->
boolean
Returns true when the given hook already exists, otherwise false.
category: | "song" | "instrument" | "effect chain" | "effect preset" | "modulation set" | "phrase" | "sample" | "theme"
add_file_import_hook(self, file_import_hook : ToolFileImportHook
)
Add a new file import hook as described above.
remove_file_import_hook(self, category : FileHookCategory
, extensions_table : string
[])
Remove a previously added file import hook by specifying its category and extension(s)
category: | "song" | "instrument" | "effect chain" | "effect preset" | "modulation set" | "phrase" | "sample" | "theme"
has_timer(self, timer : TimerFunction
)
->
boolean
Returns true when the given function or method was registered as a timer.
add_timer(self, timer : TimerFunction
, interval_in_ms : number
)
Register a timer function or table with a function and context (a method) that periodically gets called by the
app_idle_observable
for your tool.Modal dialogs will avoid that timers are called. To create a one-shot timer, simply call remove_timer at the end of your timer function.
interval_in_ms
must be > 0. The exact interval your function is called will vary a bit, depending on workload; e.g. when enough CPU time is available the rounding error will be around +/- 5 ms.
remove_timer(self, timer : TimerFunction
)
Remove a previously registered timer.
Structs
ToolFileImportHook
Add support for new filetypes in Renoise. Registered file types will show up in Renoise's disk browser and can also be loaded by drag and dropping the files onto the Renoise window. When adding hooks for files which Renoise already supports, your tool's import functions will override the internal import functions.
Always load the file into the currently selected component, like 'renoise.song().selected_track','selected_instrument','selected_sample'.
Preloading/prehearing sample files is not supported via tools.
Properties
category : FileHookCategory
In which disk browser category the file type shows up. One of
extensions : string
[]
A list of strings, file extensions, that will invoke your hook, like for example {"txt", "s_wave"}
invoke : (file_name : string
) ->
boolean
function that is called to do the import. return true when the import succeeded, else false.
Aliases
FileHookCategory
"effect chain"
| "effect preset"
| "instrument"
| "modulation set"
| "phrase"
| "sample"
| "song"
| "theme"
FileHookCategory: | "song" | "instrument" | "effect chain" | "effect preset" | "modulation set" | "phrase" | "sample" | "theme"
ToolKeybindingEntry
Register tool key bindings somewhere in Renoise's existing set of bindings.
Please note: there's no way to define default keyboard shortcuts for your entries. Users manually have to bind them in the keyboard prefs pane. As soon as they do, they'll get saved just like any other key binding in Renoise.
Properties
name : string
The scope, name and category of the key binding use the form:
$scope:$topic_name:$binding_name
:
$scope
is where the shortcut will be applied, just like those in the categories list for the keyboard assignment preference pane. Your key binding will only fire, when the scope is currently focused, except it's the global scope one. Using an unavailable scope will not fire an error, instead it will render the binding useless. It will be listed and mappable, but never be invoked.
$topic_name
is useful when grouping entries in the key assignment pane. Use "tool" if you can't come up with something meaningful.
$binding_name
is the name of the binding.-Currently available scopes are:
+ "Global" + "Automation" + "Disk Browser" + "DSPs Chain" + "Instrument Box" + "Mixer" + "Pattern Editor" + "Pattern Matrix" + "Pattern Sequencer" + "Sample Editor" + "Sample FX Mixer" + "Sample Keyzones" + "Sample Modulation Matrix"
invoke : (repeated : boolean
)
A function that is called as soon as the mapped key is pressed. The callback parameter "repeated", indicates if its a virtual key repeat.
ToolMenuEntry
Defines a menu entry somewhere in Renoise's existing context menus or the global app menu. Insertion can be done during script initialization, but can also be done dynamically later on.
You can place your entries in any context menu or any window menu in Renoise. To do so, use one of the specified categories in its name:
+ "Window Menu" -- Renoise icon menu in the window caption on Windows/Linux + "Main Menu:XXX" (with XXX = ":File", ":Edit", ":View", ":Tools" or ":Help") -- Main menu + "Scripting Menu:XXX" (with XXX = ":File" or ":Tools") -- Scripting Editor & Terminal + "Disk Browser Directories" + "Disk Browser Files" + "Instrument Box" + "Pattern Sequencer" + "Pattern Editor" + "Pattern Matrix" + "Pattern Matrix Header" + "Phrase Editor" + "Phrase Mappings" + "Phrase Grid" + "Phrase Script Editor" + "Sample Navigator" + "Sample Editor" + "Sample Editor Ruler" + "Sample Editor Slice Markers" + "Sample List" + "Sample Mappings" + "Sample FX Mixer" + "Sample Modulation Matrix" + "Mixer" + "Master Spectrum" + "Track Automation" + "Track Automation List" + "DSP Chain" + "DSP Chain List" + "DSP Device" + "DSP Device Header" + "DSP Device Automation" + "Modulation Set" + "Modulation Set List" + "Tool Browser" + "Script File Browser" + "Script File Tabs" + "Script Editor"
Separating entries: To divide entries into groups (separate entries with a line), prepend one or more dashes to the name, like "--- Main Menu:Tools:My Tool Group Starts Here"
Properties
name : string
Name and 'path' of the entry as shown in the global menus or context menus to the user.
invoke : fun()
A function that is called as soon as the entry is clicked
active : () ->
boolean
A function that should return true or false. When returning false, the action will not be invoked and will be "greyed out" in menus. This function is always called before "invoke", and every time prior to a menu becoming visible.
selected : () ->
boolean
A function that should return true or false. When returning true, the entry will be marked as "this is a selected option"
ToolMidiMappingEntry
Extend Renoise's default MIDI mapping set, or add custom MIDI mappings for your tool.
A tool's MIDI mapping can be used just like the regular mappings in Renoise: Either by manually looking its up the mapping in the MIDI mapping list, then binding it to a MIDI message, or when your tool has a custom GUI, specifying the mapping via a control's
control.midi_mapping
property. Such controls will then get highlighted as soon as the MIDI mapping dialog is opened. Then, users simply click on the highlighted control to map MIDI messages.
Properties
name : string
The group, name of the midi mapping; as visible to the user.
The scope, name and category of the midi mapping use the form:
$topic_name:$optional_sub_topic_name:$name
:
$topic_name
and$optional_sub_topic_name
will create new groups in the list of MIDI mappings, as seen in Renoise's MIDI mapping dialog. If you can't come up with a meaningful string, use your tool's name as topic name.Existing global mappings from Renoise can be overridden. In this case the original mappings are no longer called, only your tool's mapping.
invoke : (message : renoise.ScriptingTool.MidiMessage
)
A function that is called to handle a bound MIDI message.
Aliases
FileHookCategory
"effect chain"
| "effect preset"
| "instrument"
| "modulation set"
| "phrase"
| "sample"
| "song"
| "theme"
FileHookCategory: | "song" | "instrument" | "effect chain" | "effect preset" | "modulation set" | "phrase" | "sample" | "theme"
TimerFunction
fun()
renoise.ScriptingTool.MidiMessage
MIDI message as passed to the
invoke
callback in tool midi_mappings.
Properties
int_value : integer
?
Range: (0S - 127) for abs values, Range: (-63 - 63) for relative values valid when
is_rel_value()
oris_abs_value()
returns true, else undefined
boolean_value : boolean
?
valid [true OR false] when
is_switch()
returns true, else undefined
Functions
is_trigger(self)
returns if action should be invoked
is_switch(self)
check if the boolean_value property is valid
is_rel_value(self)
->
boolean
check if the int_value property is valid
is_abs_value(self)
->
boolean
check if the int_value property is valid
renoise.Socket
Interfaces for built-in socket support for Lua scripts in Renoise.
Right now UDP and TCP protocols are supported. The class interfaces for UDP and TCP sockets behave exactly the same. That is, they don't depend on the protocol, so both are easily interchangeable when needed.
Constants
Protocol
{ PROTOCOL_TCP: integer = 1, PROTOCOL_UDP: integer = 2, }
Functions
create_server(server_address : string
, server_port : integer
, protocol : renoise.Socket.Protocol
?
)
->
renoise.Socket.SocketServer
?
, string
?
Creates a connected UPD or TCP server object. Use "localhost" to use your system's default network address. Protocol can be
renoise.Socket.PROTOCOL_TCP
orrenoise.Socket.PROTOCOL_UDP
(by default TCP). When instantiation and connection succeed, a valid server object is returned, otherwise "error" is set and the server object is nil. Using the create function with no server_address allows you to create a server which allows connections to any address (for example localhost and some IP)
create_client(server_address : string
, server_port : integer
, protocol : renoise.Socket.Protocol
?
, timeout : integer
?
)
->
client : renoise.Socket.SocketClient
?
, error : string
?
Create a connected UPD or TCP client.
protocol
can berenoise.Socket.PROTOCOL_TCP
orrenoise.Socket.PROTOCOL_UDP
(by default TCP).timeout
is the time in ms to wait until the connection is established (1000 ms by default). When instantiation and connection succeed, a valid client object is returned, otherwise "error" is set and the client object is nil
renoise.Socket.SocketBase
SocketBase is the base class for socket clients and servers. All SocketBase properties and functions are available for servers and clients.
Properties
is_open : boolean
READ-ONLY Returns true when the socket object is valid and connected. Sockets can manually be closed (see socket:close()). Client sockets can also actively be closed/refused by the server. In this case the client:receive() calls will fail and return an error.
local_address : string
READ-ONLY The socket's resolved local address (for example "127.0.0.1" when a socket is bound to "localhost")
local_port : integer
READ-ONLY The socket's local port number, as specified when instantiated.
Functions
close(self)
Closes the socket connection and releases all resources. This will make the socket useless, so any properties, calls to the socket will result in errors. Can be useful to explicitly release a connection without waiting for the dead object to be garbage collected, or if you want to actively refuse a connection.
renoise.Socket.SocketClient
A SocketClient can connect to other socket servers and send and receive data from them on request. Connections to a server can not change, they are specified when constructing a client. You can not reconnect a client; create a new client instance instead.
Socket clients in Renoise do block with timeouts to receive messages, and assume that you only expect a response from a server after having sent something to it (i.e.: GET HTTP). To constantly poll a connection to a server, for example in idle timers, specify a timeout of 0 in "receive(message, 0)". This will only check if there are any pending messages from the server and read them. If there are no pending messages it will not block or timeout.
Properties
is_open : boolean
READ-ONLY Returns true when the socket object is valid and connected. Sockets can manually be closed (see socket:close()). Client sockets can also actively be closed/refused by the server. In this case the client:receive() calls will fail and return an error.
local_address : string
READ-ONLY The socket's resolved local address (for example "127.0.0.1" when a socket is bound to "localhost")
local_port : integer
READ-ONLY The socket's local port number, as specified when instantiated.
peer_address : string
READ-ONLY Address of the socket's peer, the socket address this client is connected to.
peer_port : integer
READ-ONLY Port of the socket's peer, the socket this client is connected to.
Functions
close(self)
Closes the socket connection and releases all resources. This will make the socket useless, so any properties, calls to the socket will result in errors. Can be useful to explicitly release a connection without waiting for the dead object to be garbage collected, or if you want to actively refuse a connection.
send(self, message : string
)
->
success : boolean
, error : string
?
Send a message string (or OSC messages or bundles) to the connected server. When sending fails, "success" return value will be false and "error_message" is set, describing the error in a human readable format. NB: when using TCP instead of UDP as protocol for OSC messages, !no! SLIP encoding and no size prefixing of the passed OSC data will be done here. So, when necessary, do this manually by your own please.
receive(self, mode : SocketReceiveMode
, timeout_ms : number
)
->
success : boolean
?
, error : string
?
Receive a message string from the the connected server with the given timeout in milliseconds. Mode can be one of "*line", "*all" or a number > 0, like Lua's io.read. \param timeout can be 0, which is useful for receive("*all"). This will only check and read pending data from the sockets queue.
mode "*line": Will receive new data from the server or flush pending data that makes up a "line": a string that ends with a newline. remaining data is kept buffered for upcoming receive calls and any kind of newlines are supported. The returned line will not contain the newline characters.
mode "*all": Reads all pending data from the peer socket and also flushes internal buffers from previous receive line/byte calls (when present). This will NOT read the entire requested content, but only the current buffer that is queued for the local socket from the peer. To read an entire HTTP page or file you may have to call receive("*all") multiple times until you got all you expect to get.
mode "number > 0": Tries reading \param NumberOfBytes of data from the peer. Note that the timeout may be applied more than once, if more than one socket read is needed to receive the requested block.
When receiving fails or times-out, the returned message will be nil and error_message is set. The error message is "timeout" on timeouts, "disconnected" when the server actively refused/disconnected your client. Any other errors are system dependent, and should only be used for display purposes.
Once you get an error from receive, and this error is not a "timeout", the socket will already be closed and thus must be recreated in order to retry communication with the server. Any attempt to use a closed socket will fire a runtime error.
mode: | "*line" | "*all"
Aliases
SocketReceiveMode
integer
| "*all"
| "*line"
SocketReceiveMode: | "*line" | "*all"
renoise.Socket.SocketServer
A SocketServer handles one or more clients in the background, interacts only with callbacks from connected clients. This background polling can be start and stop on request.
The socket server interface in Renoise is asynchronous (callback based), which means server calls never block or wait, but are served in the background. As soon a connection is established or messages arrive, a set of specified callbacks are invoked to respond to messages.
Properties
is_open : boolean
READ-ONLY Returns true when the socket object is valid and connected. Sockets can manually be closed (see socket:close()). Client sockets can also actively be closed/refused by the server. In this case the client:receive() calls will fail and return an error.
local_address : string
READ-ONLY The socket's resolved local address (for example "127.0.0.1" when a socket is bound to "localhost")
local_port : integer
READ-ONLY The socket's local port number, as specified when instantiated.
is_running : boolean
READ-ONLY true while the server is running, else false.
Functions
close(self)
Closes the socket connection and releases all resources. This will make the socket useless, so any properties, calls to the socket will result in errors. Can be useful to explicitly release a connection without waiting for the dead object to be garbage collected, or if you want to actively refuse a connection.
run(self, notifier_table : SocketNotifierClass
| SocketNotifierTable
)
Start running the server by specifying a class or table which defines the callback functions for the server.
stop(self)
Stop a running server.
wait(self, timeout : number
)
Suspends the calling thread by the given timeout, and calls the server's callback methods as soon as something has happened in the server while waiting. Should be avoided whenever possible.
Structs
SocketNotifierClass
Custom notifier class for
renoise.Socket.SocketServer:run
. Note: You must pass an instance of a class, like server_socket:run(MyNotifier())All callback properties are optional. So you can, for example, skip specifying "socket_accepted" if you have no use for this.
examples:
class "MyNotifier" function MyNotifier:__init() -- could pass a server ref or something else here, or simply do nothing end function MyNotifier:socket_error(error_message) -- do something with the error message end function MyNotifier:socket_accepted(socket) -- FOR TCP CONNECTIONS ONLY: do something with socket end function MyNotifier:socket_message(socket, message) -- do something with socket and message end
Properties
socket_error : (self : SocketNotifierClass
, error_message : string
)?
socket_accepted : (self : SocketNotifierClass
, socket : renoise.Socket.SocketClient
)?
socket_message : (self : SocketNotifierClass
, socket : renoise.Socket.SocketClient
, message : string
)?
SocketNotifierTable
Notifier table for
renoise.Socket.SocketServer:run
.All callback properties are optional. So you can, for example, skip specifying "socket_accepted" if you have no use for this.
examples:
{ socket_error = function(error_message) -- do something with the error message end, socket_accepted = function(client) -- FOR TCP CONNECTIONS ONLY: do something with client end, socket_message = function(client, message) -- do something with client and message end }
Properties
socket_error : (error_message : string
)?
An error happened in the servers background thread.
socket_accepted : (client : renoise.Socket.SocketClient
)?
FOR TCP CONNECTIONS ONLY: called as soon as a new client connected to your server. The passed socket is a ready to use socket object, representing a connection to the new socket.
socket_message : (client : renoise.Socket.SocketClient
, message : string
)?
A message was received from a client: The passed socket is a ready to use connection for TCP connections. For UDP, a "dummy" socket is passed, which can only be used to query the peer address and port -> socket.port and socket.address
renoise.Song
Renoise's main document - the song.
- Constants
- Properties
- file_name :
string
- artist :
string
- artist_observable :
renoise.Document.Observable
- name :
string
- name_observable :
renoise.Document.Observable
- comments :
string
[] - comments_observable :
renoise.Document.ObservableList
- comments_assignment_observable :
renoise.Document.Observable
- show_comments_after_loading :
boolean
- show_comments_after_loading_observable :
renoise.Document.Observable
- tool_data :
string``?
- rendering :
boolean
- rendering_progress :
number
- transport :
renoise.Transport
- sequencer :
renoise.PatternSequencer
- pattern_iterator :
renoise.PatternIterator
- sequencer_track_count :
integer
- send_track_count :
integer
- instruments :
renoise.Instrument
[] - instruments_observable :
renoise.Document.ObservableList
- patterns :
renoise.Pattern
[] - patterns_observable :
renoise.Document.ObservableList
- tracks :
renoise.Track
[] - tracks_observable :
renoise.Document.ObservableList
- selected_instrument :
renoise.Instrument
- selected_instrument_observable :
renoise.Document.Observable
- selected_instrument_index :
integer
- selected_instrument_index_observable :
renoise.Document.Observable
- selected_phrase :
renoise.InstrumentPhrase
- selected_phrase_observable :
renoise.Document.Observable
- selected_phrase_index :
integer
- selected_sample :
renoise.Sample
- selected_sample_observable :
renoise.Document.Observable
- selected_sample_index :
integer
- selected_sample_modulation_set :
renoise.SampleModulationSet
- selected_sample_modulation_set_observable :
renoise.Document.Observable
- selected_sample_modulation_set_index :
integer
- selected_sample_device_chain :
renoise.SampleDeviceChain
- selected_sample_device_chain_observable :
renoise.Document.Observable
- selected_sample_device_chain_index :
integer
- selected_sample_device :
renoise.AudioDevice
- selected_sample_device_observable :
renoise.Document.Observable
- selected_sample_device_index :
integer
- selected_track :
renoise.Track
- selected_track_observable :
renoise.Document.Observable
- selected_track_index :
integer
- selected_track_index_observable :
renoise.Document.Observable
- selected_track_device :
renoise.AudioDevice
- selected_track_device_observable :
renoise.Document.Observable
- selected_track_device_index :
integer
- selected_device :
renoise.AudioDevice
- selected_device_observable :
renoise.Document.Observable
- selected_device_index :
integer
- selected_parameter :
renoise.DeviceParameter
- selected_parameter_observable :
renoise.Document.Observable
- selected_automation_parameter :
renoise.DeviceParameter
- selected_automation_parameter_observable :
renoise.Document.Observable
- selected_automation_device :
renoise.AudioDevice
- selected_automation_device_observable :
renoise.Document.Observable
- selected_pattern :
renoise.Pattern
- selected_pattern_observable :
renoise.Document.Observable
- selected_pattern_index :
integer
- selected_pattern_index_observable :
renoise.Document.Observable
- selected_pattern_track :
renoise.PatternTrack
- selected_pattern_track_observable :
renoise.Document.Observable
- selected_sequence_index :
integer
- selected_sequence_index_observable :
renoise.Document.Observable
- selected_line :
renoise.PatternLine
- selected_line_index :
integer
- selected_note_column :
renoise.NoteColumn
- selected_note_column_index :
integer
- selected_effect_column :
renoise.EffectColumn
- selected_effect_column_index :
integer
- selected_sub_column_type :
renoise.Song.SubColumnType
- selection_in_pattern :
PatternSelection``?
- selected_phrase_line :
renoise.PatternLine
- selected_phrase_line_index :
integer
- selected_phrase_note_column :
renoise.NoteColumn
- selected_phrase_note_column_index :
integer
- selected_phrase_effect_column :
renoise.EffectColumn
- selected_phrase_effect_column_index :
integer
- selected_phrase_sub_column_type :
renoise.Song.SubColumnType
- selection_in_phrase :
PhraseSelection``?
- file_name :
- Functions
- is_undo_redoing(self)
- can_undo(self)
- undo(self)
- can_redo(self)
- redo(self)
- describe_undo(self, description :
string
) - describe_batch_undo(self, description :
string
, timeout_ms :number``?
) - insert_track_at(self, index :
integer
) - delete_track_at(self, index :
integer
) - swap_tracks_at(self, index1 :
integer
, index2 :integer
) - track(self, index :
integer
) - select_previous_track(self)
- select_next_track(self)
- insert_group_at(self, index :
integer
) - add_track_to_group(self, track_index :
integer
, group_index :integer
) - remove_track_from_group(self, track_index :
integer
) - delete_group_at(self, group_index :
integer
) - insert_instrument_at(self, index :
integer
) - delete_instrument_at(self, index :
integer
) - swap_instruments_at(self, index1 :
integer
, index2 :integer
) - instrument(self, index :
integer
) - capture_instrument_from_pattern(self)
- capture_nearest_instrument_from_pattern(self)
- pattern(self, index :
integer
) - render(self, options :
RenderOptions
, filename :string
, rendering_done_callback : fun()) - cancel_rendering(self)
- trigger_pattern_line(self, line_index :
integer
) - trigger_instrument_note_on(self, instrument_index :
integer
, track_index :integer
, note :integer
|integer
[]?
, volume :number``?
) - trigger_instrument_note_off(self, instrument_index :
integer
, track_index :integer
, note :integer
|integer
[]?
) - trigger_sample_note_on(self, instrument_index :
integer
, sample_index :integer
, track_index :integer
, note :integer``?
, volume :number``?
, use_selection :boolean``?
) - trigger_sample_note_off(self, instrument_index :
integer
, sample_index :integer
, track_index :integer
, note :integer``?
) - load_midi_mappings(self, filename :
string
) - save_midi_mappings(self, filename :
string
) - clear_midi_mappings(self)
- Structs
- PatternSelection
- PhraseSelection
- RenderOptions
Constants
SubColumnType
{ SUB_COLUMN_NOTE: integer = 1, SUB_COLUMN_INSTRUMENT: integer = 2, SUB_COLUMN_VOLUME: integer = 3, SUB_COLUMN_PANNING: integer = 4, SUB_COLUMN_DELAY: integer = 5, SUB_COLUMN_SAMPLE_EFFECT_NUMBER: integer = 6, SUB_COLUMN_SAMPLE_EFFECT_AMOUNT: integer = 7, SUB_COLUMN_EFFECT_NUMBER: integer = 8, SUB_COLUMN_EFFECT_AMOUNT: integer = 9, }
MAX_NUMBER_OF_INSTRUMENTS : integer
Properties
file_name : string
READ-ONLY When the song is loaded from or saved to a file, the absolute path and name to the XRNS file, otherwise an empty string.
artist : string
Song Comments
artist_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
name : string
name_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
comments : string
[]
Note: All property tables of basic types in the API are temporary copies. In other words
comments = { "Hello", "World" }
will work,comments[1] = "Hello"; renoise.song().comments[2] = "World"
will not work.
comments_observable : renoise.Document.ObservableList
Track changes to document lists by attaching listener functions to it. NB: Notifiers will not broadcast changes made to list items, but only changes to the lists layout (items got added, removed, swapped).
comments_assignment_observable : renoise.Document.Observable
READ-ONLY Notifier is called as soon as any paragraph in the comments change.
show_comments_after_loading : boolean
Set this to true to show the comments dialog after loading a song
show_comments_after_loading_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
tool_data : string
?
Inject/fetch custom XRNX scripting tool data into the song. Can only be called from scripts that are running in Renoise scripting tool bundles; attempts to access the data from e.g. the scripting terminal will result in an error. Returns nil when no data is present.
Each tool gets it's own data slot in the song, which is resolved by the tool's bundle id, so this data is unique for every tool and persistent across tools with the same bundle id (but possibly different versions). If you want to store renoise.Document data in here, you can use the renoise.Document's 'to_string' and 'from_string' functions to serialize the data. Alternatively, write your own serializers for your custom data.
rendering : boolean
READ-ONLY True while rendering is in progress.
rendering_progress : number
Range: (0.0 - 1.0)
transport : renoise.Transport
READ-ONLY
sequencer : renoise.PatternSequencer
READ-ONLY
pattern_iterator : renoise.PatternIterator
READ-ONLY
sequencer_track_count : integer
READ-ONLY number of normal playback tracks (non-master or sends) in song.
send_track_count : integer
-READ-ONLY number of send tracks in song.
instruments : renoise.Instrument
[]
READ-ONLY Instrument arrays
instruments_observable : renoise.Document.ObservableList
Track changes to document lists by attaching listener functions to it. NB: Notifiers will not broadcast changes made to list items, but only changes to the lists layout (items got added, removed, swapped).
patterns : renoise.Pattern
[]
READ-ONLY Pattern arrays
patterns_observable : renoise.Document.ObservableList
Track changes to document lists by attaching listener functions to it. NB: Notifiers will not broadcast changes made to list items, but only changes to the lists layout (items got added, removed, swapped).
tracks : renoise.Track
[]
READ-ONLY Track array
tracks_observable : renoise.Document.ObservableList
Track changes to document lists by attaching listener functions to it. NB: Notifiers will not broadcast changes made to list items, but only changes to the lists layout (items got added, removed, swapped).
selected_instrument : renoise.Instrument
READ-ONLY Selected in the instrument box.
selected_instrument_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
selected_instrument_index : integer
READ-ONLY Selected instrument index in the instrument box.
selected_instrument_index_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
selected_phrase : renoise.InstrumentPhrase
READ-ONLY Selected phrase the instrument's phrase map piano view.
selected_phrase_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
selected_phrase_index : integer
READ-ONLY Selected phrase index the instrument's phrase map piano view.
selected_sample : renoise.Sample
READ-ONLY Selected in the instrument's sample list. Only nil when no samples are present in the selected instrument.
selected_sample_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
selected_sample_index : integer
READ-ONLY Selected sample index in the instrument's sample list. Only 0 when no samples are present in the selected instrument.
selected_sample_modulation_set : renoise.SampleModulationSet
READ-ONLY Selected in the instrument's modulation view.
selected_sample_modulation_set_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
selected_sample_modulation_set_index : integer
READ-ONLY Selected modulation set index in the instrument's modulation view.
selected_sample_device_chain : renoise.SampleDeviceChain
READ-ONLY Selected in the instrument's effects view.
selected_sample_device_chain_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
selected_sample_device_chain_index : integer
READ-ONLY Selected chain index in the instrument's effects view.
selected_sample_device : renoise.AudioDevice
READ-ONLY Selected in the sample effect mixer.
selected_sample_device_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
selected_sample_device_index : integer
READ-ONLY Selected device index in the sample effect mixer.
selected_track : renoise.Track
READ-ONLY Selected in the pattern editor or mixer.
selected_track_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
selected_track_index : integer
READ-ONLY Selected track index in the pattern editor or mixer.
selected_track_index_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
selected_track_device : renoise.AudioDevice
READ-ONLY Selected in the track DSP chain editor.
selected_track_device_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
selected_track_device_index : integer
READ-ONLY Selected device index in the track DSP chain editor.
selected_device : renoise.AudioDevice
Deprecated. READ-ONLY Use 'selected_track_device' instead.
selected_device_observable : renoise.Document.Observable
Deprecated. Use 'selected_track_device_observable' instead.
selected_device_index : integer
Deprecated. READ-ONLY Use 'selected_track_device_index' instead.
selected_parameter : renoise.DeviceParameter
Deprecated. READ-ONLY Use 'selected_automation_parameter' instead.
selected_parameter_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
selected_automation_parameter : renoise.DeviceParameter
Selected parameter in the automation editor. When setting a new parameter, parameter must be automateable and must be one of the currently selected track device chain.
selected_automation_parameter_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
selected_automation_device : renoise.AudioDevice
READ-ONLY Parent device of 'selected_automation_parameter'.
selected_automation_device_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
selected_pattern : renoise.Pattern
READ-ONLY The currently edited pattern.
selected_pattern_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
selected_pattern_index : integer
READ-ONLY The currently edited pattern index.
selected_pattern_index_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
selected_pattern_track : renoise.PatternTrack
READ-ONLY The currently edited pattern track object. and selected_track_observable for notifications.
selected_pattern_track_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
selected_sequence_index : integer
The currently edited sequence position.
selected_sequence_index_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
selected_line : renoise.PatternLine
READ-ONLY The currently edited line in the edited pattern.
selected_line_index : integer
selected_note_column : renoise.NoteColumn
READ-ONLY The currently edited column in the selected line in the edited sequence/pattern. Nil when an effect column is selected.
selected_note_column_index : integer
selected_effect_column : renoise.EffectColumn
READ-ONLY The currently edited column in the selected line in the edited sequence/pattern. Nil when a note column is selected.
selected_effect_column_index : integer
selected_sub_column_type : renoise.Song.SubColumnType
READ-ONLY The currently edited sub column type within the selected note/effect column.
selection_in_pattern : PatternSelection
?
Read/write access to the selection in the pattern editor.
Line indexes are valid from 1 to patterns[].number_of_lines Track indexes are valid from 1 to #tracks Column indexes are valid from 1 to (tracks[].visible_note_columns + tracks[].visible_effect_columns)
When setting the selection, all members are optional. Combining them in various different ways will affect how specific the selection is. When
selection_in_pattern
returns nil or is set to nil, no selection is present.examples:
renoise.song().selection_in_pattern = {} --> clear renoise.song().selection_in_pattern = { start_line = 1, end_line = 4 } --> select line 1 to 4, first to last track renoise.song().selection_in_pattern = { start_line = 1, start_track = 1, end_line = 4, end_track = 1 } --> select line 1 to 4, in the first track only
selected_phrase_line : renoise.PatternLine
READ-ONLY The currently edited line in the currently edited phrase. Nil when no phrase is selected.
selected_phrase_line_index : integer
The currently edited line index in the currently edited phrase. 0 when no phrase is selected.
selected_phrase_note_column : renoise.NoteColumn
READ-ONLY The currently edited column in the selected line in the currently edited phrase. Nil when no phrase is selected or when an effect column is selected.
selected_phrase_note_column_index : integer
The currently edited column index in the selected line in the currently edited phrase. 0 when no phrase is selected or when an effect column is selected.
selected_phrase_effect_column : renoise.EffectColumn
READ-ONLY The currently edited column in the selected line in the currently edited phrase. Nil when no phrase is selected or when a note column is selected.
selected_phrase_effect_column_index : integer
The currently edited effect column index in the selected line in the currently edited phrase. 0 when no phrase is selected or when a note column is selected.
selected_phrase_sub_column_type : renoise.Song.SubColumnType
READ-ONLY The currently edited sub column type within the selected note/effect column in the current phrase. 0 when no phrase is selected.
selection_in_phrase : PhraseSelection
?
Same as
selection_in_pattern
but for the currently selected phrase (if any).
Functions
is_undo_redoing(self)
True while an undo/redo action is invoked. This may be useful to check in notifiers, to figure out if the document currently changes because of an undo/redo operation.
can_undo(self)
->
boolean
Test if something in the song can be undone.
undo(self)
Undo the last performed action. Will do nothing if nothing can be undone.
can_redo(self)
->
boolean
Test if something in the song can be redone.
redo(self)
Redo a previously undo action. Will do nothing if nothing can be redone.
describe_undo(self, description : string
)
When modifying the song, Renoise will automatically add descriptions for undo/redo by looking at what first changed (a track was inserted, a pattern line changed, and so on). When the song is changed from an action in a menu entry callback, the menu entry's label will automatically be used for the undo description. If those auto-generated names do not work for you, or you want to use something more descriptive, you can, before changing anything in the song, give your changes a custom undo description (like: "Generate Synth Sample")
describe_batch_undo(self, description : string
, timeout_ms : number
?
)
Same as
describe_undo
, but additionally this tries to merge the following changes to the document with the last one, if the description matches the last description and the given timeout was not reached since the last describe_batch_undo call.Calls to
describe_undo
from other tools, or from Renoise internally, will cancel batches and split the undo action.Batches can be useful to combine multiple changes in the document into a single udo/redo step, when the changes happen asynchroniously, for example a process sliced action (via Lua coroutines).
insert_track_at(self, index : integer
)
Insert a new track at the given index. Inserting a track behind or at the Master Track's index will create a Send Track. Otherwise, a regular track is created.
delete_track_at(self, index : integer
)
Delete an existing track. The Master track can not be deleted, but all Sends can. Renoise needs at least one regular track to work, thus trying to delete all regular tracks will fire an error.
swap_tracks_at(self, index1 : integer
, index2 : integer
)
Swap the positions of two tracks. A Send can only be swapped with a Send track and a regular track can only be swapped with another regular track. The Master can not be swapped at all.
track(self, index : integer
)
Access to a single track by index. Use properties 'tracks' to iterate over all tracks and to query the track count.
select_previous_track(self)
Set the selected track to prev relative to the current track. Takes care of skipping over hidden tracks and wrapping around at the edges.
select_next_track(self)
Set the selected track to next relative to the current track. Takes care of skipping over hidden tracks and wrapping around at the edges.
insert_group_at(self, index : integer
)
Insert a new group track at the given index. Group tracks can only be inserted before the Master track.
add_track_to_group(self, track_index : integer
, group_index : integer
)
Add track at track_index to group at group_index by first moving it to the right spot to the left of the group track, and then adding it. If group_index is not a group track, a new group track will be created and both tracks will be added to it.
remove_track_from_group(self, track_index : integer
)
Removes track from its immediate parent group and places it outside it to the left. Can only be called for tracks that are actually part of a group.
delete_group_at(self, group_index : integer
)
Delete the group with the given index and all its member tracks. Index must be that of a group or a track that is a member of a group.
insert_instrument_at(self, index : integer
)
Insert a new instrument at the given index. This will remap all existing notes in all patterns, if needed, and also update all other instrument links in the song. Can't have more than MAX_NUMBER_OF_INSTRUMENTS in a song.
delete_instrument_at(self, index : integer
)
Delete an existing instrument at the given index. Renoise needs at least one instrument, thus trying to completely remove all instruments is not allowed. This will remap all existing notes in all patterns and update all other instrument links in the song.
swap_instruments_at(self, index1 : integer
, index2 : integer
)
Swap the position of two instruments. Will remap all existing notes in all patterns and update all other instrument links in the song.
instrument(self, index : integer
)
Access to a single instrument by index. Use properties 'instruments' to iterate over all instruments and to query the instrument count.
capture_instrument_from_pattern(self)
Captures the current instrument (selects the instrument) from the current note column at the current cursor pos. Changes the selected instrument accordingly, but does not return the result. When no instrument is present at the current cursor pos, nothing will be done.
capture_nearest_instrument_from_pattern(self)
Tries to captures the nearest instrument from the current pattern track, starting to look at the cursor pos, then advancing until an instrument is found. Changes the selected instrument accordingly, but does not return the result. When no instruments (notes) are present in the current pattern track, nothing will be done.
pattern(self, index : integer
)
Access to a single pattern by index. Use properties 'patterns' to iterate over all patterns and to query the pattern count.
render(self, options : RenderOptions
, filename : string
, rendering_done_callback : fun())
->
success : boolean
, error : string
Start rendering a section of the song or the whole song to a WAV file.
Rendering job will be done in the background and the call will return back immediately, but the Renoise GUI will be blocked during rendering. The passed
rendering_done_callback
function is called as soon as rendering is done, e.g. successfully completed.While rendering, the rendering status can be polled with the
song().rendering
andsong().rendering_progress
properties, for example, in idle notifier loops. If starting the rendering process fails (because of file IO errors for example), the render function will return false and the error message is set as the second return value. On success, only a singletrue
value is returned.To render only specific tracks or columns, mute the undesired tracks/columns before starting to render.
Parameter
file_name
must point to a valid, maybe already existing file. If it already exists, the file will be silently overwritten. The renderer will automatically add a ".wav" extension to the file_name, if missing.Parameter
rendering_done_callback
is ONLY called when rendering has succeeded. You can do something with the file you've passed to the renderer here, like for example loading the file into a sample buffer.
cancel_rendering(self)
When rendering (see rendering, renoise.song().rendering_progress), the current render process is canceled. Otherwise, nothing is done.
trigger_pattern_line(self, line_index : integer
)
Trigger the given pattern line index in the current pattern for preview purposes. This works similar to the Renoise
PlayCurrentLine
keyboard shortcut, but does now advance the playback position.If you want to preview a single track's note only, mute other tracks before triggering the pattern line. To stop the preview, invoke
stop
from the transport.Transport playback must be stopped for this to work. If it's not, an error is thrown.
This is evaluated from the GUI thread, not a real-time thread, so timing will be a little bit wonky. Don't try to use this as a custom sequencer!
trigger_instrument_note_on(self, instrument_index : integer
, track_index : integer
, note : integer
| integer
[]?
, volume : number
?
)
Trigger instrument playback with the specified note or a table of notes (a chord) and volume for preview purposes on the given track index.
Send tracks can not play notes. When specifying a send track, notes will play on the master track instead.
This is evaluated from the GUI thread, not a real-time thread, so timing will be a little bit wonky. Only use this to preview instruments from tools and not as a sequencer.
trigger_instrument_note_off(self, instrument_index : integer
, track_index : integer
, note : integer
| integer
[]?
)
Stop instrument playback which previously got started via
trigger_instrument_note_on
.
trigger_sample_note_on(self, instrument_index : integer
, sample_index : integer
, track_index : integer
, note : integer
?
, volume : number
?
, use_selection : boolean
?
)
Trigger a sample with the specified note and volume for preview purposes on the given track. This directly triggers the sample, bypassing the instrument's keyzone.
Only use this to preview samples from tools and not as a sequencer. See also
trigger_instrument_note_on
.
trigger_sample_note_off(self, instrument_index : integer
, sample_index : integer
, track_index : integer
, note : integer
?
)
Stops sample playback that previously got triggered via
trigger_sample_note_on
.
load_midi_mappings(self, filename : string
)
->
success : boolean
, error : string
Load all global MIDI mappings in the song into a XRNM file. Returns true when loading/saving succeeded, else false and the error message.
save_midi_mappings(self, filename : string
)
->
success : boolean
, error : string
Save all global MIDI mappings in the song into a XRNM file. Returns true when loading/saving succeeded, else false and the error message.
clear_midi_mappings(self)
clear all MIDI mappings in the song
Structs
PatternSelection
Selection range in the current pattern
Properties
start_line : integer
?
Start pattern line index
start_track : integer
?
Start track index
start_column : integer
?
Start column index within start_track
end_line : integer
?
End pattern line index
end_track : integer
?
End track index
end_column : integer
?
End column index within end_track
PhraseSelection
Selection range in the current phrase
Properties
start_line : integer
?
Start pattern line index
start_column : integer
?
Start column index within start_track
end_line : integer
?
End pattern line index
end_column : integer
?
End column index within end_track
RenderOptions
Properties
start_pos : renoise.SongPos
by default the song start.
end_pos : renoise.SongPos
by default the song end.
sample_rate : 192000
| 22050
| 44100
| 48000
| 88200
| 96000
by default the players current rate.
bit_depth : 16
| 24
| 32
by default 32.
interpolation : "default"
| "precise"
by default "default".
priority : "high"
| "low"
| "realtime"
by default "high".
renoise.SongPos
Helper class used in Transport and Song, representing a position in the song.
Properties
sequence : integer
Position in the pattern sequence.
line : integer
Position in the pattern at the given pattern sequence.
renoise.SQLite
- Constants
- Functions
- Structs
- SQLiteDatabase
- Properties
- Functions
- close(self)
- prepare(self, sql :
string
) - Examples:
- finalize(self, temp_only :
boolean``?
) - execute(self, sql :
string
, fun : fun(data: any, cols: integer, values: table, names: table)?, data :any
) - Example:
- interrupt(self)
- busy_handler(self, fun : (udata :
any
, retries :integer
)->
boolean``?
, data :any
) - busy_timeout(self, t :
integer
) - nrows(self, sql :
string
) - rows(self, sql :
string
) - Example:
- urows(self, sql :
string
) - Example:
- Aliases
- SQLiteStatement
- Properties
- Functions
- name(self, n :
integer
) - value(self, n :
integer
) - type(self, n :
integer
) - finalize(self)
- reset(self)
- step(self)
- bind_parameter_count(self)
- bind_parameter_name(self, n :
any
) - bind(self, n :
integer
, value :boolean
|string
|number``?
) - bind_blob(self, n :
integer
, blob :string
) - bind_names(self, nametable : table<string|integer, boolean|string|number>)
- bind_values(self, ...
boolean
|string
|number
) - nrows(self)
- rows(self)
- urows(self)
- name(self, n :
- Aliases
- Aliases
Constants
Status
{ OK: integer = 0, ERROR: integer = 1, INTERNAL: integer = 2, PERM: integer = 3, ABORT: integer = 4, BUSY: integer = 5, LOCKED: integer = 6, NOMEM: integer = 7, READONLY: integer = 8, INTERRUPT: integer = 9, IOERR: integer = 10, CORRUPT: integer = 11, NOTFOUND: integer = 12, FULL: integer = 13, CANTOPEN: integer = 14, MISMATCH: integer = 20, MISUSE: integer = 21, NOLFS: integer = 22, FORMAT: integer = 24, RANGE: integer = 25, NOTADB: integer = 26, ROW: integer = 100, DONE: integer = 101, }
Functions
open(filename : string
?
, flags : SQLiteOpenFlags
| SQLiteOpenModes
?
)
->
SQLiteDatabase
?
, renoise.SQLite.Status
?
, string
?
Opens (or creates if it does not exist) a SQLite database either in memory or from the given file path.
Examples:
-- open an existing db in read-only mode. local db, status, error = renoise.SQLite.open('MyDatabase.sqlite', 'ro') if db then -- do some database calls... db:close() else -- handle error end -- open an in-memory db in read-write-create mode. local db, status, error = renoise.SQLite.open() if db then -- do some database calls... db:close() else -- handle error end
-- Configure database open mode. -- Default: "rwc" (read-write-create). -- Raw open mode flags from SQLite. -- See https://sqlite.org/c3ref/open.html#urifilenamesinsqlite3open flags: | "ro" | "rw" | "rwc"
Structs
SQLiteDatabase
Properties
is_open : boolean
READ-ONLY Whether or not the database is open.
is_closed : boolean
READ-ONLY Whether or not the database is closed.
error_code : renoise.SQLite.Status
READ-ONLY The most recent error code.
error_message : string
READ-ONLY The most recent error message.
changes : integer
READ-ONLY Number of database rows that were changed, inserted, or deleted by the most recent SQL statement. Only changes that are directly specified by INSERT, UPDATE, or DELETE statements are counted. Auxiliary changes caused by triggers are not counted. Use
db.total_changes
to find the total number of changes.
total_changes : integer
READ-ONLY The number of database rows that have been modified by INSERT, UPDATE or DELETE statements since the database was opened. This includes UPDATE, INSERT and DELETE statements executed as part of trigger programs. All changes are counted as soon as the statement that produces them is completed by calling either
stmt:reset()
orstmt:finalize()
.
last_insert_rowid : integer
READ-ONLY Gets the rowid of the most recent INSERT into the database. If no inserts have ever occurred, 0 is returned. (Each row in an SQLite table has a unique 64-bit signed integer key called the 'rowid'. This id is always available as an undeclared column named ROWID, OID, or ROWID. If the table has a column of type INTEGER PRIMARY KEY then that column is another alias for the rowid.)
If an INSERT occurs within a trigger, then the rowid of the inserted row is returned as long as the trigger is running. Once the trigger terminates, the value returned reverts to the last value inserted before the trigger fired.
Functions
close(self)
Closes a database. All SQL statements prepared using
db:prepare()
should have been finalized before this function is called.The function returns
renoise.SQLlite.Status.OK
on success or else a error code.
prepare(self, sql : string
)
->
SQLiteStatement
?
, renoise.SQLite.Status
, string
?
Compiles the SQL statement in string sql into an internal representation and returns this as userdata. The returned object should be used for all further method calls in connection with this specific SQL statement.
The function returns the statement object and
renoise.SQLlite.Status.OK
on success or else nil, an error code and the error message.Examples:
local statement, code, error = db:prepare("SELECT * from my_table") if statement then -- bind, step or do some queries else -- handle error end
See:
SQLiteStatement
finalize(self, temp_only : boolean
?
)
Finalizes all statements that have not been explicitly finalized.
execute(self, sql : string
, fun : fun(data: any, cols: integer, values: table, names: table)?, data : any
)
any
)->
renoise.SQLite.Status
, string
?
Compiles and executes the SQL statement(s) given in string sql. The statements are simply executed one after the other and not stored.
The function returns
renoise.SQLlite.Status.OK
on success or else an error code and the error message.If one or more of the SQL statements are queries, then the callback function specified in
fun
is invoked once for each row of the query result (iffun
isnil
, no callback is invoked).The callback receives four arguments:
data
(the third parameter of thedb:exec()
call), the number of columns in the row, a table with the column values and another table with the column names.The callback function should return
0
. If the callback returns a non-zero value then the query is aborted, all subsequent SQL statements are skipped anddb:exec()
returnssqlite.ABORT
.Example:
sql = [[ CREATE TABLE numbers(num1,num2,str); INSERT INTO numbers VALUES(1,11,"ABC"); INSERT INTO numbers VALUES(2,22,"DEF"); INSERT INTO numbers VALUES(3,33,"UVW"); INSERT INTO numbers VALUES(4,44,"XYZ"); SELECT * FROM numbers; ]] function show_row(udata,cols,values,names) assert(udata=='test_udata') print('exec:') for i=1,cols do print('',names[i],values[i]) end return 0 end db:execute(sql,show_row,'test_udata')
interrupt(self)
Causes any pending database operation to abort and return at the next opportunity.
busy_handler(self, fun : (udata : any
, retries : integer
) ->
boolean
?
, data : any
)
Sets or removes a busy handler for a SQLiteDatabase.
fun
is either a Lua function that implements the busy handler ornil
to remove a previously set handler. This function returns nothing. The handler function is called with two parameters:data
and the number of (re-)tries for a pending transaction. It should returnnil
,false
or0
if the transaction is to be aborted. All other values will result in another attempt to perform the transaction.(See the SQLite documentation for important hints about writing busy handlers.)
busy_timeout(self, t : integer
)
Sets a busy handler that waits for
t
milliseconds if a transaction cannot proceed. Calling this function will remove any busy handler set bydb:busy_handler()
; calling it with an argument less than or equal to 0 will turn off all busy handlers.
nrows(self, sql : string
)
->
() ->
table<string
, SQLiteValue
>?
Creates an iterator that returns the successive rows selected by the SQL statement given in string sql.
Each call to the iterator returns a table in which the named fields correspond to the columns in the database.
rows(self, sql : string
)
->
() ->
any
[]
Creates an iterator that returns the successive rows selected by the SQL statement given in string
sql
. Each call to the iterator returns a table in which the numerical indices 1 to n correspond to the selected columns 1 to n in the database.Example:
for a in db:rows('SELECT * FROM table') do for _,v in ipairs(a) do print(v) end end
urows(self, sql : string
)
->
() ->
SQLiteValue
?
Creates an iterator that returns the successive rows selected by the SQL statement given in string sql. Each call to the iterator returns the values that correspond to the columns in the currently selected row.
Example:
for num1,num2 in db:urows('SELECT * FROM table') do print(num1,num2) end
Aliases
SQLiteValue
SQLiteStatement
Precompiled SQLite statements, as created with
db:prepare()
.
Properties
is_open : boolean
READ-ONLY Whether or not the statement hasn't been finalized.
is_closed : boolean
READ-ONLY Whether or not the statement has been finalized.
columns : integer
READ-ONLY Number of columns in the result set returned by the statement, or 0 if the statement does not return data (for example an UPDATE).
last_insert_rowid : integer
READ-ONLY rowid of the most recent INSERT into the database corresponding to this statement.
named_types : table<string
, string
>
READ-ONLY A table with the names and types of all columns in the current result set of the statement.
named_values : table<string
, SQLiteValue
>
READ-ONLY A table with names and values of all columns in the current result row of a query.
names : string
[]
READ-ONLY A list of the names of all columns in the result set returned by the statement.
values : SQLiteValue
[]
READ-ONLY A list of the values of all columns in the result set returned by the statement.
types : string
[]
READ-ONLY A list of the types of all columns in the result set returned by the statement.
unames : string
[]
READ-ONLY A list of the names of all columns in the result set returned by the statement.
utypes : string
[]
READ-ONLY A list of the types of all columns in the result set returned by the statement.
uvalues : SQLiteValue
[]
READ-ONLY A list of the values of all columns in the current result row of a query.
Functions
name(self, n : integer
)
->
string
The name of column
n
in the result set of the statement. (The left-most column is number 0.)
value(self, n : integer
)
The value of column
n
in the result set of the statement. (The left-most column is number 0.)
type(self, n : integer
)
->
string
The type of column
n
in the result set of the statement. (The left-most column is number 0.)
finalize(self)
Frees a prepared statement.
If the statement was executed successfully, or not executed at all, then
renoise.SQLlite.Status.OK
is returned. If execution of the statement failed then an error code is returned.
reset(self)
Resets the statement so that it is ready to be re-executed. Any statement variables that had values bound to them using the
stmt:bind*()
functions retain their values.
step(self)
Evaluates the (next iteration of the) prepared statement. It will return one of the following values:
renoise.SQLite.Status.BUSY
: the engine was unable to acquire the locks needed. If the statement is a COMMIT or occurs outside of an explicit transaction, then you can retry the statement. If the statement is not a COMMIT and occurs within a explicit transaction then you should rollback the transaction before continuing.renoise.SQLite.Status.DONE
: the statement has finished executing successfully.stmt:step()
should not be called again on this statement without first callingstmt:reset()
to reset the virtual machine back to the initial state.renoise.SQLite.Status.ROW
: this is returned each time a new row of data is ready. The values may be accessed using the column access functions.stmt:step()
can be called again to retrieve the next row of data.renoise.SQLite.Status.ERROR
: a run-time error (e.g. a constraint violation) occurred.stmt:step()
should not be called again. More information may be found by callingdb:error_message()
. A more specific error code can be obtained by callingstmt:reset()
.renoise.SQLite.Status.MISUSE
: the function was called inappropriately. Perhaps because the statement has already been finalized or a previous call tostmt:step()
has returnedsqlite.ERROR
orsqlite.DONE
.
bind_parameter_count(self)
->
integer
Gets the largest statement parameter index in prepared statement stmt. When the statement parameters are of the forms ":AAA" or "?", then they are assigned sequentially increasing numbers beginning with one, so the value returned is the number of parameters. However if the same statement parameter name is used multiple times, each occurrence is given the same number, so the value returned is the number of unique statement parameter names.
If statement parameters of the form "?NNN" are used (where NNN is an integer) then there might be gaps in the numbering and the value returned by this interface is the index of the statement parameter with the largest index value.
bind_parameter_name(self, n : any
)
->
string
?
, renoise.SQLite.Status
Gets the name of the
n
-th parameter in prepared statement stmt. Statement parameters of the form ":AAA" or "@AAA" or "$VVV" have a name which is the string ":AAA" or "@AAA" or "$VVV". In other words, the initial ":" or "$" or "@" is included as part of the name. Parameters of the form "?" or "?NNN" have no name. The first bound parameter has an index of 1. If the valuen
is out of range or if then
-th parameter is nameless, then nil is returned.The function returns
renoise.SQLlite.Status.OK
on success or else a numerical error code. See:renoise.SQLite.Status
bind(self, n : integer
, value : boolean
| string
| number
?
)
Binds
value
to statement parametern
. Ifvalue
is a string, it is bound as text, otherwise if it is a number it is bound as a double. If it is a boolean, it is bound as 0 or 1. Ifvalue
is nil, any previous binding is removed.The function returns
renoise.SQLlite.Status.OK
on success or else a error code.
bind_blob(self, n : integer
, blob : string
)
Binds string
blob
(which can be a binary string) as a blob to statement parametern
.The function returns
renoise.SQLlite.Status.OK
on success or else a error code.
bind_names(self, nametable : table<string|integer, boolean|string|number>)
Binds the values in
nametable
to statement parameters.If the statement parameters are named (i.e., of the form ":AAA" or "$AAA") then this function looks for appropriately named fields in nametable; if the statement parameters are not named, it looks for numerical fields 1 to the number of statement parameters.
The function returns
renoise.SQLlite.Status.OK
on success or else a error code.
bind_values(self, ...boolean
| string
| number
)
Binds the given values to statement parameters.
The function returns
renoise.SQLlite.Status.OK
on success or else a error code. See:renoise.SQLite.Status
nrows(self)
->
() ->
table<string
, string
| integer
>?
Creates an iterator over the names and values of the result set of the statement. Each iteration returns a table with the names and values for the current row.
This is the prepared statement equivalent of
db:nrows()
. See:SQLiteDatabase.nrows
rows(self)
->
() ->
any
[]
Creates an iterator over the values of the result set of the statement. Each iteration returns an array with the values for the current row. This is the prepared statement equivalent of
db:rows()
. See:SQLiteDatabase.rows
urows(self)
Creates an iterator over the values of the result set of the statement. Each iteration returns the values for the current row. This is the prepared statement equivalent of
db:urows()
. See:SQLiteDatabase.urows
Aliases
SQLiteValue
Aliases
SQLiteOpenFlags
Raw open mode flags from SQLite. See https://sqlite.org/c3ref/open.html#urifilenamesinsqlite3open
SQLiteOpenModes
"ro"
| "rw"
| "rwc"
-- Configure database open mode. -- Default: "rwc" (read-write-create). SQLiteOpenModes: | "ro" | "rw" | "rwc"
SQLiteValue
renoise.Track
Track component of a Renoise song.
- Constants
- Properties
- type :
renoise.Track.TrackType
- name :
string
- name_observable :
renoise.Document.Observable
- color :
RGBColor
- color_observable :
renoise.Document.Observable
- color_blend :
integer
- color_blend_observable :
renoise.Document.Observable
- mute_state :
renoise.Track.MuteState
- mute_state_observable :
renoise.Document.Observable
- solo_state :
boolean
- solo_state_observable :
renoise.Document.Observable
- prefx_volume :
renoise.DeviceParameter
- prefx_panning :
renoise.DeviceParameter
- prefx_width :
renoise.DeviceParameter
- postfx_volume :
renoise.DeviceParameter
- postfx_panning :
renoise.DeviceParameter
- collapsed :
boolean
- collapsed_observable :
renoise.Document.Observable
- group_parent :
renoise.GroupTrack
- available_output_routings :
string
[] - output_routing :
string
- output_routing_observable :
renoise.Document.Observable
- output_delay :
number
- output_delay_observable :
renoise.Document.Observable
- max_effect_columns :
integer
- min_effect_columns :
integer
- max_note_columns :
integer
- min_note_columns :
integer
- visible_effect_columns :
integer
- visible_effect_columns_observable :
renoise.Document.Observable
- visible_note_columns :
integer
- visible_note_columns_observable :
renoise.Document.Observable
- volume_column_visible :
boolean
- volume_column_visible_observable :
renoise.Document.Observable
- panning_column_visible :
boolean
- panning_column_visible_observable :
renoise.Document.Observable
- delay_column_visible :
boolean
- delay_column_visible_observable :
renoise.Document.Observable
- sample_effects_column_visible :
boolean
- sample_effects_column_visible_observable :
renoise.Document.Observable
- available_devices :
string
[] - available_device_infos :
AudioDeviceInfo
[] - devices :
renoise.AudioDevice
[] - devices_observable :
renoise.Document.ObservableList
- type :
- Functions
- insert_device_at(self, device_path :
string
, device_index :integer
) - delete_device_at(self, device_index :
any
) - swap_devices_at(self, device_index1 :
integer
, device_index2 :integer
) - device(self, device_index :
integer
) - mute(self)
- unmute(self)
- solo(self)
- column_is_muted(self, column_index :
integer
) - column_is_muted_observable(self, column_index :
integer
) - set_column_is_muted(self, column_index :
integer
, muted :boolean
) - column_name(self, column_index :
integer
) - column_name_observable(self, column_index :
integer
) - set_column_name(self, column_index :
integer
, name :string
) - swap_note_columns_at(self, column_index1 :
integer
, column_index2 :integer
) - swap_effect_columns_at(self, column_index1 :
integer
, column_index2 :integer
)
- insert_device_at(self, device_path :
- Structs
- AudioDeviceInfo
Constants
TrackType
{ TRACK_TYPE_SEQUENCER: integer = 1, TRACK_TYPE_MASTER: integer = 2, TRACK_TYPE_SEND: integer = 3, TRACK_TYPE_GROUP: integer = 4, }
MuteState
{ MUTE_STATE_ACTIVE: integer = 1, MUTE_STATE_OFF: integer = 2, MUTE_STATE_MUTED: integer = 3, }
Properties
type : renoise.Track.TrackType
READ-ONLY
name : string
Name, as visible in track headers
name_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
color : RGBColor
A table of 3 bytes (ranging from 0 to 255) representing the red, green and blue channels of a color. {0xFF, 0xFF, 0xFF} is white {165, 73, 35} is the red from the Renoise logo
color_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
color_blend : integer
Range: (0 - 100) Color blend in percent
color_blend_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
mute_state : renoise.Track.MuteState
Mute and solo states. Not available for the master track.
mute_state_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
solo_state : boolean
solo_state_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
prefx_volume : renoise.DeviceParameter
READ-ONLY
prefx_panning : renoise.DeviceParameter
READ-ONLY
prefx_width : renoise.DeviceParameter
READ-ONLY
postfx_volume : renoise.DeviceParameter
READ-ONLY
postfx_panning : renoise.DeviceParameter
READ-ONLY
collapsed : boolean
Collapsed/expanded visual appearance.
collapsed_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
group_parent : renoise.GroupTrack
READ-ONLY
available_output_routings : string
[]
READ-ONLY
output_routing : string
One of
available_output_routings
output_routing_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
output_delay : number
Range: (-100.0-100.0) in ms
output_delay_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
max_effect_columns : integer
READ-ONLY 8 OR 0 depending on the track type
min_effect_columns : integer
READ-ONLY 1 OR 0 depending on the track type
max_note_columns : integer
READ-ONLY 12 OR 0 depending on the track type
min_note_columns : integer
READ-ONLY 1 OR 0 depending on the track type
visible_effect_columns : integer
1-8 OR 0-8, depending on the track type
visible_effect_columns_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
visible_note_columns : integer
0 OR 1-12, depending on the track type
visible_note_columns_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
volume_column_visible : boolean
volume_column_visible_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
panning_column_visible : boolean
panning_column_visible_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
delay_column_visible : boolean
delay_column_visible_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
sample_effects_column_visible : boolean
sample_effects_column_visible_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
available_devices : string
[]
READ-ONLY FX devices this track can handle.
available_device_infos : AudioDeviceInfo
[]
READ-ONLY Array of tables containing information about the devices.
devices : renoise.AudioDevice
[]
READ-ONLY List of audio DSP FX.
devices_observable : renoise.Document.ObservableList
Track changes to document lists by attaching listener functions to it. NB: Notifiers will not broadcast changes made to list items, but only changes to the lists layout (items got added, removed, swapped).
Functions
insert_device_at(self, device_path : string
, device_index : integer
)
Insert a new device at the given position.
device_path
must be one ofrenoise.Track.available_devices
.
delete_device_at(self, device_index : any
)
Delete an existing device in a track. The mixer device at index 1 can not be deleted from any track.
swap_devices_at(self, device_index1 : integer
, device_index2 : integer
)
Swap the positions of two devices in the device chain. The mixer device at index 1 can not be swapped or moved.
device(self, device_index : integer
)
Access to a single device by index. Use property
devices
to iterate over all devices and to query the device count.
mute(self)
Uses default mute state from the prefs. Not for the master track.
unmute(self)
solo(self)
column_is_muted(self, column_index : integer
)
->
boolean
Note column mutes. Only valid within (1-track.max_note_columns)
column_is_muted_observable(self, column_index : integer
)
set_column_is_muted(self, column_index : integer
, muted : boolean
)
column_name(self, column_index : integer
)
->
string
Note column names. Only valid within (1-track.max_note_columns)
column_name_observable(self, column_index : integer
)
set_column_name(self, column_index : integer
, name : string
)
swap_note_columns_at(self, column_index1 : integer
, column_index2 : integer
)
Swap the positions of two note or effect columns within a track.
swap_effect_columns_at(self, column_index1 : integer
, column_index2 : integer
)
Structs
AudioDeviceInfo
Audio device info
Properties
path : string
The device's path used by
renoise.Track:insert_device_at
name : string
The device's name
short_name : string
The device's name as displayed in shortened lists
favorite_name : string
The device's name as displayed in favorites
is_favorite : boolean
true if the device is a favorite
is_bridged : boolean
true if the device is a bridged plugin
Aliases
RGBColor
{ 1 : integer
, 2 : integer
, 3 : integer
}
A table of 3 bytes (ranging from 0 to 255) representing the red, green and blue channels of a color. {0xFF, 0xFF, 0xFF} is white {165, 73, 35} is the red from the Renoise logo
renoise.Transport
Transport component of the Renoise song.
- Constants
- Properties
- playing :
boolean
- playing_observable :
renoise.Document.Observable
- sync_mode :
renoise.Transport.SyncMode
- sync_mode_observable :
renoise.Document.Observable
- timing_model :
renoise.Transport.TimingModel
- bpm :
number
- bpm_observable :
renoise.Document.Observable
- lpb :
integer
- lpb_observable :
renoise.Document.Observable
- tpl :
integer
- tpl_observable :
renoise.Document.Observable
- playback_pos :
renoise.SongPos
- playback_pos_beats :
number
- edit_pos :
renoise.SongPos
- edit_pos_beats :
number
- song_length :
renoise.SongPos
- song_length_beats :
number
- loop_start :
renoise.SongPos
- loop_end :
renoise.SongPos
- loop_range :
renoise.SongPos
[] - loop_start_beats :
number
- loop_end_beats :
number
- loop_range_beats :
number
[] - loop_sequence_start :
integer
- loop_sequence_end :
integer
- loop_sequence_range :
integer
[] - loop_pattern :
boolean
- loop_pattern_observable :
renoise.Document.Observable
- loop_block_enabled :
boolean
- loop_block_enabled_observable :
renoise.Document.Observable
- loop_block_range_coeff :
integer
- loop_block_range_coeff_observable :
renoise.Document.Observable
- loop_block_start_pos :
renoise.SongPos
- edit_mode :
boolean
- edit_mode_observable :
renoise.Document.Observable
- edit_step :
integer
- edit_step_observable :
renoise.Document.Observable
- octave :
integer
- octave_observable :
renoise.Document.Observable
- octave_enabled :
boolean
- octave_enabled_observable :
renoise.Document.Observable
- metronome_enabled :
boolean
- metronome_enabled_observable :
renoise.Document.Observable
- metronome_beats_per_bar :
integer
- metronome_beats_per_bar_observable :
renoise.Document.Observable
- metronome_lines_per_beat :
integer
- metronome_lines_per_beat_observable :
renoise.Document.Observable
- metronome_precount_enabled :
boolean
- metronome_precount_enabled_observable :
renoise.Document.Observable
- metronome_precount_bars :
integer
- metronome_precount_bars_observable :
renoise.Document.Observable
- metronome_volume :
number
- metronome_volume_observable :
renoise.Document.Observable
- record_quantize_enabled :
boolean
- record_quantize_enabled_observable :
renoise.Document.Observable
- record_quantize_lines :
integer
- record_quantize_lines_observable :
renoise.Document.Observable
- record_parameter_mode :
renoise.Transport.RecordParameterMode
- record_parameter_mode_observable :
renoise.Document.Observable
- follow_player :
boolean
- follow_player_observable :
renoise.Document.Observable
- wrapped_pattern_edit :
boolean
- wrapped_pattern_edit_observable :
renoise.Document.Observable
- single_track_edit_mode :
boolean
- single_track_edit_mode_observable :
renoise.Document.Observable
- groove_enabled :
boolean
- groove_enabled_observable :
renoise.Document.Observable
- groove_amounts :
number
[] - groove_assignment_observable :
renoise.Document.Observable
- track_headroom :
number
- track_headroom_observable :
renoise.Document.Observable
- keyboard_velocity_enabled :
boolean
- keyboard_velocity_enabled_observable :
renoise.Document.Observable
- keyboard_velocity :
integer
- keyboard_velocity_observable :
renoise.Document.Observable
- sample_recording :
boolean
- sample_recording_sync_enabled :
boolean
- sample_recording_sync_enabled_observable :
renoise.Document.Observable
- playing :
- Functions
- panic(self)
- start(self, mode :
renoise.Transport.PlayMode
) - start_at(self, line :
integer
) - start_at(self, song_pos :
renoise.SongPos
) - stop(self)
- trigger_sequence(self, sequence_pos :
integer
) - add_scheduled_sequence(self, sequence_pos :
integer
) - set_scheduled_sequence(self, sequence_pos :
integer
) - loop_block_move_forwards(self)
- loop_block_move_backwards(self)
- start_sample_recording(self)
- stop_sample_recording(self)
- start_stop_sample_recording(self)
- cancel_sample_recording(self)
Constants
PlayMode
{ PLAYMODE_RESTART_PATTERN: integer = 1, PLAYMODE_CONTINUE_PATTERN: integer = 2, }
RecordParameterMode
{ RECORD_PARAMETER_MODE_PATTERN: integer = 1, RECORD_PARAMETER_MODE_AUTOMATION: integer = 2, }
TimingModel
{ TIMING_MODEL_SPEED: integer = 1, TIMING_MODEL_LPB: integer = 2, }
SyncMode
{ SYNC_MODE_INTERNAL: integer = 1, SYNC_MODE_MIDI_CLOCK: integer = 2, SYNC_MODE_ABLETON_LINK: integer = 3, SYNC_MODE_JACK: integer = 4, }
Properties
playing : boolean
Playing
playing_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
sync_mode : renoise.Transport.SyncMode
Transport sync mode. Note:
SYNC_MODE_JACK
only is available on Linux. Trying to enable it on other platforms will fire an error.
sync_mode_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
timing_model : renoise.Transport.TimingModel
READ-ONLY Old school speed or new LPB timing used? With
TIMING_MODEL_SPEED
, tpl is used as speed factor. The lpb property is unused then. WithTIMING_MODEL_LPB
, tpl is used as event rate for effects only and lpb defines relationship between pattern lines and beats.
bpm : number
Range: (32 - 999) Beats per Minute
bpm_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
lpb : integer
Range: (1 - 256) Lines per Beat
lpb_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
tpl : integer
Range: (1 - 16) Ticks per Line
tpl_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
playback_pos : renoise.SongPos
Playback position
playback_pos_beats : number
Range: (0 - song_end_beats) Song position in beats
edit_pos : renoise.SongPos
Edit position
edit_pos_beats : number
Range: (0 - song_end_beats) Song position in beats
song_length : renoise.SongPos
READ-ONLY
song_length_beats : number
READ-ONLY
loop_start : renoise.SongPos
READ-ONLY
loop_end : renoise.SongPos
READ-ONLY
loop_range : renoise.SongPos
[]
{loop start, loop end}
loop_start_beats : number
READ-ONLY Range: (0 - song_end_beats)
loop_end_beats : number
READ-ONLY Range: (0 - song_end_beats)
loop_range_beats : number
[]
{loop start beats, loop end beats}
loop_sequence_start : integer
READ-ONLY 0 or Range: (1 - sequence length)
loop_sequence_end : integer
READ-ONLY 0 or Range: (1 - sequence length)
loop_sequence_range : integer
[]
{} or Range(sequence start, sequence end)
loop_pattern : boolean
Pattern Loop On/Off
loop_pattern_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
loop_block_enabled : boolean
Block Loop On/Off
loop_block_enabled_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
loop_block_range_coeff : integer
Range: (2 - 16)
loop_block_range_coeff_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
loop_block_start_pos : renoise.SongPos
Start of block loop
edit_mode : boolean
Pattern edit/record mode On/Off
edit_mode_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
edit_step : integer
Range: (0 - 64)
edit_step_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
octave : integer
Range: (0 - 8)
octave_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
octave_enabled : boolean
Enabled for MIDI keyboards
octave_enabled_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
metronome_enabled : boolean
Metronome playback On/Off
metronome_enabled_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
metronome_beats_per_bar : integer
Range: (1 - 16) or 0 = guess from pattern length
metronome_beats_per_bar_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
metronome_lines_per_beat : integer
Range: (1 - 256) or 0 = songs current LPB
metronome_lines_per_beat_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
metronome_precount_enabled : boolean
Metronome precount playback On/Off
metronome_precount_enabled_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
metronome_precount_bars : integer
Range: (1 - 4)
metronome_precount_bars_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
metronome_volume : number
Range: (0 - math.db2lin(6))
metronome_volume_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
record_quantize_enabled : boolean
Record note quantization On/Off
record_quantize_enabled_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
record_quantize_lines : integer
Range: (1 - 32)
record_quantize_lines_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
record_parameter_mode : renoise.Transport.RecordParameterMode
Record parameter
record_parameter_mode_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
follow_player : boolean
Follow, wrapped pattern, single track modes
follow_player_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
wrapped_pattern_edit : boolean
wrapped_pattern_edit_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
single_track_edit_mode : boolean
single_track_edit_mode_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
groove_enabled : boolean
Groove (aka Shuffle)
groove_enabled_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
groove_amounts : number
[]
table with 4 numbers in Range: (0 - 1)
groove_assignment_observable : renoise.Document.Observable
Will be called as soon as any groove value changed.
track_headroom : number
Global Track Headroom To convert to dB:
dB = math.lin2db(renoise.Transport.track_headroom)
To convert from dB:renoise.Transport.track_headroom = math.db2lin(dB)
Range: (math.db2lin(-12) - math.db2lin(0))
track_headroom_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
keyboard_velocity_enabled : boolean
Computer Keyboard Velocity.
keyboard_velocity_enabled_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
keyboard_velocity : integer
Will return the default value of 127 when keyboard_velocity_enabled == false. Range: (0 - 127)
keyboard_velocity_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
sample_recording : boolean
READ-ONLY true when sample sample dialog is visible and recording started.
sample_recording_sync_enabled : boolean
Sample recording pattern quantization On/Off.
sample_recording_sync_enabled_observable : renoise.Document.Observable
Track changes to document properties or general states by attaching listener functions to it.
Functions
panic(self)
Panic.
start(self, mode : renoise.Transport.PlayMode
)
Start playing in song or pattern mode.
start_at(self, line : integer
)
Start playing the currently edited pattern at the given line offset
start_at(self, song_pos : renoise.SongPos
)
Start playing a the given renoise.SongPos (sequence pos and line)
stop(self)
Stop playing. When already stopped this just stops all playing notes.
trigger_sequence(self, sequence_pos : integer
)
Immediately start playing at the given sequence position.
add_scheduled_sequence(self, sequence_pos : integer
)
Append the sequence to the scheduled sequence list. Scheduled playback positions will apply as soon as the currently playing pattern play to end.
set_scheduled_sequence(self, sequence_pos : integer
)
Replace the scheduled sequence list with the given sequence.
loop_block_move_forwards(self)
Move the block loop one segment forwards, when possible.
loop_block_move_backwards(self)
Move the block loop one segment backwards, when possible.
start_sample_recording(self)
Start a new sample recording when the sample dialog is visible.
stop_sample_recording(self)
Stop sample recording when the sample dialog is visible and running
start_stop_sample_recording(self)
Deprecated. Use
start_sample_recording
orstop_sample_recording
instead.
cancel_sample_recording(self)
Cancel a currently running sample recording when the sample dialog is visible, otherwise do nothing.
renoise.ViewBuilder
Class which is used to construct new views. All view properties can optionally be in-lined in a passed construction table:
local vb = renoise.ViewBuilder() -- create a new ViewBuilder vb:button { text = "ButtonText" } -- is the same as my_button = vb:button(); my_button.text = "ButtonText"
Besides the listed class properties, you can also specify the following "extra" properties in the passed table:
id = "SomeString": Can be use to resolve the view later on, e.g.
vb.views.SomeString
orvb.views["SomeString"]
Nested child views: Add child views to the currently specified view.
examples:
-- creates a column view with `margin = 1` and adds two text views to the column. vb:column { margin = 1, views = { vb:text { text = "Text1" }, vb:text { text = "Text1" } } }
- Constants
- Properties
- Functions
- column(self, properties :
RackViewProperties
) - row(self, properties :
RackViewProperties
) - horizontal_aligner(self, properties :
AlignerViewProperties
) - vertical_aligner(self, properties :
AlignerViewProperties
) - stack(self, properties :
StackViewProperties``?
) - space(self, properties :
ViewProperties
) - canvas(self, properties :
CanvasViewProperties``?
) - text(self, properties :
TextViewProperties``?
) - multiline_text(self, properties :
MultilineTextViewProperties``?
) - textfield(self, properties :
TextFieldProperties``?
) - multiline_textfield(self, properties :
MultilineTextFieldProperties``?
) - link(self, properties :
TextLinkViewProperties``?
) - bitmap(self, properties :
BitmapViewProperties``?
) - button(self, properties :
ButtonProperties``?
) - checkbox(self, properties :
CheckBoxProperties``?
) - switch(self, properties :
ButtonSwitchProperties``?
) - popup(self, properties :
PopUpMenuProperties``?
) - chooser(self, properties :
ChooserProperties``?
) - valuebox(self, properties :
ValueBoxProperties``?
) - value(self, properties :
ValueViewProperties``?
) - valuefield(self, properties :
ValueFieldProperties``?
) - scrollbar(self, properties :
ScrollBarProperties``?
) - slider(self, properties :
SliderProperties``?
) - minislider(self, properties :
MiniSliderProperties``?
) - rotary(self, properties :
RotaryEncoderProperties``?
) - xypad(self, properties :
XYPadProperties``?
)
- column(self, properties :
- Structs
- AlignerViewProperties
- Properties
- margin :
RackMargin``?
- spacing :
RackSpacing``?
- mode :
AlignerMode``?
- background :
ViewBackgroundStyle``?
- mouse_handler :
MouseHandler``?
- mouse_events :
MouseEventTypes``?
- views :
AlignerChildViews``?
- id :
ViewId``?
- visible :
ViewVisibility``?
- origin :
ViewOrigin``?
- width :
ViewDimension``?
- height :
ViewDimension``?
- size :
ViewSize``?
- tooltip :
ViewTooltip``?
- cursor :
ViewCursorShape``?
- margin :
- Aliases
- AlignerChildViews
- AlignerMode
- MouseEventButton
- MouseEventType
- MouseEventTypes
- MouseEventWheelDirection
- MouseHandler
- MouseHandlerNotifierFunction
- MouseHandlerNotifierMemberFunction
- MouseHandlerNotifierMethod1
- MouseHandlerNotifierMethod2
- NotifierMemberContext
- RackMargin
- RackSpacing
- ViewBackgroundStyle
- ViewCursorShape
- ViewDimension
- ViewId
- ViewOrigin
- ViewPosition
- ViewSize
- ViewTooltip
- ViewVisibility
- Properties
- BitmapViewProperties
- Properties
- mode :
BitmapMode``?
- color :
BitmapColor``?
- bitmap :
BitmapPath``?
- notifier :
ButtonNotifier``?
- active :
ControlActive``?
- midi_mapping :
ControlMidiMappingString``?
- id :
ViewId``?
- visible :
ViewVisibility``?
- origin :
ViewOrigin``?
- width :
ViewDimension``?
- height :
ViewDimension``?
- size :
ViewSize``?
- tooltip :
ViewTooltip``?
- cursor :
ViewCursorShape``?
- mode :
- Aliases
- BitmapColor
- BitmapImagePath
- BitmapMode
- BitmapPath
- ButtonNotifier
- ControlActive
- ControlMidiMappingString
- NotifierFunction
- NotifierMemberContext
- NotifierMemberFunction
- NotifierMethod1
- NotifierMethod2
- RGBColor
- ThemeColor
- ViewCursorShape
- ViewDimension
- ViewId
- ViewOrigin
- ViewPosition
- ViewSize
- ViewTooltip
- ViewVisibility
- Properties
- ButtonProperties
- Properties
- text :
ButtonLabel``?
- bitmap :
ButtonBitmapPath``?
- align :
ButtonAlignment``?
- font :
TextFontStyle``?
- color :
ButtonColor``?
- secondary_color :
ButtonColor``?
- style :
ButtonStyle``?
- notifier :
ButtonNotifier``?
- pressed :
ButtonNotifier``?
- released :
ButtonNotifier``?
- active :
ControlActive``?
- midi_mapping :
ControlMidiMappingString``?
- id :
ViewId``?
- visible :
ViewVisibility``?
- origin :
ViewOrigin``?
- width :
ViewDimension``?
- height :
ViewDimension``?
- size :
ViewSize``?
- tooltip :
ViewTooltip``?
- cursor :
ViewCursorShape``?
- text :
- Aliases
- BitmapImagePath
- ButtonAlignment
- ButtonBitmapPath
- ButtonColor
- ButtonLabel
- ButtonNotifier
- ButtonStyle
- ControlActive
- ControlMidiMappingString
- NotifierFunction
- NotifierMemberContext
- NotifierMemberFunction
- NotifierMethod1
- NotifierMethod2
- RGBColor
- TextFontStyle
- ThemeColor
- ViewCursorShape
- ViewDimension
- ViewId
- ViewOrigin
- ViewPosition
- ViewSize
- ViewTooltip
- ViewVisibility
- Properties
- ButtonSwitchProperties
- Properties
- active :
ControlActive``?
- midi_mapping :
ControlMidiMappingString``?
- bind :
ViewNumberObservable``?
- value :
SelectedItem``?
- notifier :
IntegerNotifier``?
- items :
ItemLabels``?
- id :
ViewId``?
- visible :
ViewVisibility``?
- origin :
ViewOrigin``?
- width :
ViewDimension``?
- height :
ViewDimension``?
- size :
ViewSize``?
- tooltip :
ViewTooltip``?
- cursor :
ViewCursorShape``?
- active :
- Aliases
- ControlActive
- ControlMidiMappingString
- IntegerNotifier
- IntegerValueNotifierFunction
- IntegerValueNotifierMemberFunction
- IntegerValueNotifierMethod1
- IntegerValueNotifierMethod2
- ItemLabels
- NotifierFunction
- NotifierMemberContext
- SelectedItem
- ViewCursorShape
- ViewDimension
- ViewId
- ViewNumberObservable
- ViewOrigin
- ViewPosition
- ViewSize
- ViewTooltip
- ViewVisibility
- Properties
- CanvasViewProperties
- Properties
- mode :
CanvasMode``?
- render :
CanvasRenderFunction``?
- mouse_handler :
MouseHandler``?
- mouse_events :
MouseEventTypes``?
- views :
CanvasChildViews``?
- id :
ViewId``?
- visible :
ViewVisibility``?
- origin :
ViewOrigin``?
- width :
ViewDimension``?
- height :
ViewDimension``?
- size :
ViewSize``?
- tooltip :
ViewTooltip``?
- cursor :
ViewCursorShape``?
- mode :
- Aliases
- CanvasChildViews
- CanvasMode
- CanvasRenderFunction
- MouseEventButton
- MouseEventType
- MouseEventTypes
- MouseEventWheelDirection
- MouseHandler
- MouseHandlerNotifierFunction
- MouseHandlerNotifierMemberFunction
- MouseHandlerNotifierMethod1
- MouseHandlerNotifierMethod2
- NotifierMemberContext
- RGBAColor
- RGBColor
- ThemeColor
- ViewCursorShape
- ViewDimension
- ViewId
- ViewOrigin
- ViewPosition
- ViewSize
- ViewTooltip
- ViewVisibility
- Properties
- CheckBoxProperties
- Properties
- bind :
ViewBooleanObservable``?
- value :
CheckBoxBoolean``?
- notifier :
CheckBoxBooleanNotifier``?
- active :
ControlActive``?
- midi_mapping :
ControlMidiMappingString``?
- id :
ViewId``?
- visible :
ViewVisibility``?
- origin :
ViewOrigin``?
- width :
ViewDimension``?
- height :
ViewDimension``?
- size :
ViewSize``?
- tooltip :
ViewTooltip``?
- cursor :
ViewCursorShape``?
- bind :
- Aliases
- BooleanValueNotifierFunction
- BooleanValueNotifierMemberFunction
- BooleanValueNotifierMethod1
- BooleanValueNotifierMethod2
- CheckBoxBoolean
- CheckBoxBooleanNotifier
- ControlActive
- ControlMidiMappingString
- NotifierFunction
- NotifierMemberContext
- ViewBooleanObservable
- ViewCursorShape
- ViewDimension
- ViewId
- ViewOrigin
- ViewPosition
- ViewSize
- ViewTooltip
- ViewVisibility
- Properties
- ChooserProperties
- Properties
- bind :
ViewNumberObservable``?
- value :
SelectedItem``?
- notifier :
IntegerNotifier``?
- items :
ItemLabels``?
- active :
ControlActive``?
- midi_mapping :
ControlMidiMappingString``?
- id :
ViewId``?
- visible :
ViewVisibility``?
- origin :
ViewOrigin``?
- width :
ViewDimension``?
- height :
ViewDimension``?
- size :
ViewSize``?
- tooltip :
ViewTooltip``?
- cursor :
ViewCursorShape``?
- bind :
- Aliases
- ControlActive
- ControlMidiMappingString
- IntegerNotifier
- IntegerValueNotifierFunction
- IntegerValueNotifierMemberFunction
- IntegerValueNotifierMethod1
- IntegerValueNotifierMethod2
- ItemLabels
- NotifierFunction
- NotifierMemberContext
- SelectedItem
- ViewCursorShape
- ViewDimension
- ViewId
- ViewNumberObservable
- ViewOrigin
- ViewPosition
- ViewSize
- ViewTooltip
- ViewVisibility
- Properties
- MiniSliderProperties
- Properties
- active :
ControlActive``?
- midi_mapping :
ControlMidiMappingString``?
- bind :
ViewNumberObservable``?
- value :
SliderNumberValue``?
- notifier :
NumberValueNotifier``?
- polarity :
SliderPolarity``?
- min :
SliderMinValue``?
- max :
SliderMaxValue``?
- default :
SliderDefaultValue``?
- id :
ViewId``?
- visible :
ViewVisibility``?
- origin :
ViewOrigin``?
- width :
ViewDimension``?
- height :
ViewDimension``?
- size :
ViewSize``?
- tooltip :
ViewTooltip``?
- cursor :
ViewCursorShape``?
- active :
- Aliases
- ControlActive
- ControlMidiMappingString
- NotifierFunction
- NotifierMemberContext
- NumberValueNotifier
- NumberValueNotifierFunction
- NumberValueNotifierMemberFunction
- NumberValueNotifierMethod1
- NumberValueNotifierMethod2
- SliderDefaultValue
- SliderMaxValue
- SliderMinValue
- SliderNumberValue
- SliderPolarity
- ViewCursorShape
- ViewDimension
- ViewId
- ViewNumberObservable
- ViewOrigin
- ViewPosition
- ViewSize
- ViewTooltip
- ViewVisibility
- Properties
- MouseEvent
- Properties
- type :
MouseEventType
- button :
MouseEventButton``?
- direction :
MouseEventWheelDirection``?
- position : { x :
number
, y :number
} - modifier_flags : { alt :
boolean
, control :boolean
, meta :boolean
, shift :boolean
} - button_flags : { left :
boolean
, middle :boolean
, right :boolean
} - hover_views : { id :
string
, view :renoise.Views.View
}[]
- type :
- Aliases
- Properties
- MultilineTextFieldProperties
- Properties
- bind :
ViewStringListObservable``?
- active :
TextActive``?
- value :
TextMultilineString``?
- notifier :
StringChangeNotifier``?
- text :
TextValueAlias``?
- paragraphs :
TextParagraphs``?
- font :
TextFontStyle``?
- style :
TextBackgroundStyle``?
- edit_mode :
TextEditMode``?
- id :
ViewId``?
- visible :
ViewVisibility``?
- origin :
ViewOrigin``?
- width :
ViewDimension``?
- height :
ViewDimension``?
- size :
ViewSize``?
- tooltip :
ViewTooltip``?
- cursor :
ViewCursorShape``?
- bind :
- Aliases
- ListElementAdded
- ListElementChange
- ListElementRemoved
- ListElementsSwapped
- ListNotifierFunction
- ListNotifierMemberContext
- NotifierMemberContext
- StringChangeNotifier
- StringValueNotifierFunction
- StringValueNotifierMemberFunction
- StringValueNotifierMethod1
- StringValueNotifierMethod2
- TextActive
- TextBackgroundStyle
- TextEditMode
- TextFontStyle
- TextMultilineString
- TextParagraphs
- TextValueAlias
- ViewCursorShape
- ViewDimension
- ViewId
- ViewOrigin
- ViewPosition
- ViewSize
- ViewStringListObservable
- ViewTooltip
- ViewVisibility
- Properties
- MultilineTextViewProperties
- Properties
- text :
TextMultilineString``?
- paragraphs :
TextParagraphs``?
- font :
TextFontStyle``?
- style :
TextBackgroundStyle``?
- id :
ViewId``?
- visible :
ViewVisibility``?
- origin :
ViewOrigin``?
- width :
ViewDimension``?
- height :
ViewDimension``?
- size :
ViewSize``?
- tooltip :
ViewTooltip``?
- cursor :
ViewCursorShape``?
- text :
- Aliases
- Properties
- PopUpMenuProperties
- Properties
- active :
ControlActive``?
- midi_mapping :
ControlMidiMappingString``?
- bind :
ViewNumberObservable``?
- value :
SelectedItem``?
- notifier :
IntegerNotifier``?
- items :
PopupItemLabels``?
- id :
ViewId``?
- visible :
ViewVisibility``?
- origin :
ViewOrigin``?
- width :
ViewDimension``?
- height :
ViewDimension``?
- size :
ViewSize``?
- tooltip :
ViewTooltip``?
- cursor :
ViewCursorShape``?
- active :
- Aliases
- ControlActive
- ControlMidiMappingString
- IntegerNotifier
- IntegerValueNotifierFunction
- IntegerValueNotifierMemberFunction
- IntegerValueNotifierMethod1
- IntegerValueNotifierMethod2
- NotifierFunction
- NotifierMemberContext
- PopupItemLabels
- SelectedItem
- ViewCursorShape
- ViewDimension
- ViewId
- ViewNumberObservable
- ViewOrigin
- ViewPosition
- ViewSize
- ViewTooltip
- ViewVisibility
- Properties
- RackViewProperties
- Properties
- margin :
RackMargin``?
- spacing :
RackSpacing``?
- background :
ViewBackgroundStyle``?
- uniform :
RackUniformity``?
- mouse_handler :
MouseHandler``?
- mouse_events :
MouseEventTypes``?
- views :
RackChildViews``?
- style :
ViewBackgroundStyle``?
- id :
ViewId``?
- visible :
ViewVisibility``?
- origin :
ViewOrigin``?
- width :
ViewDimension``?
- height :
ViewDimension``?
- size :
ViewSize``?
- tooltip :
ViewTooltip``?
- cursor :
ViewCursorShape``?
- margin :
- Aliases
- MouseEventButton
- MouseEventType
- MouseEventTypes
- MouseEventWheelDirection
- MouseHandler
- MouseHandlerNotifierFunction
- MouseHandlerNotifierMemberFunction
- MouseHandlerNotifierMethod1
- MouseHandlerNotifierMethod2
- NotifierMemberContext
- RackChildViews
- RackMargin
- RackSpacing
- RackUniformity
- ViewBackgroundStyle
- ViewCursorShape
- ViewDimension
- ViewId
- ViewOrigin
- ViewPosition
- ViewSize
- ViewTooltip
- ViewVisibility
- Properties
- RotaryEncoderProperties
- Properties
- active :
ControlActive``?
- midi_mapping :
ControlMidiMappingString``?
- bind :
ViewNumberObservable``?
- value :
SliderNumberValue``?
- notifier :
NumberValueNotifier``?
- polarity :
SliderPolarity``?
- min :
SliderMinValue``?
- max :
SliderMaxValue``?
- default :
SliderDefaultValue``?
- id :
ViewId``?
- visible :
ViewVisibility``?
- origin :
ViewOrigin``?
- width :
ViewDimension``?
- height :
ViewDimension``?
- size :
ViewSize``?
- tooltip :
ViewTooltip``?
- cursor :
ViewCursorShape``?
- active :
- Aliases
- ControlActive
- ControlMidiMappingString
- NotifierFunction
- NotifierMemberContext
- NumberValueNotifier
- NumberValueNotifierFunction
- NumberValueNotifierMemberFunction
- NumberValueNotifierMethod1
- NumberValueNotifierMethod2
- SliderDefaultValue
- SliderMaxValue
- SliderMinValue
- SliderNumberValue
- SliderPolarity
- ViewCursorShape
- ViewDimension
- ViewId
- ViewNumberObservable
- ViewOrigin
- ViewPosition
- ViewSize
- ViewTooltip
- ViewVisibility
- Properties
- ScrollBarProperties
- Properties
- active :
ControlActive``?
- midi_mapping :
ControlMidiMappingString``?
- bind :
ViewNumberObservable``?
- value :
ScrollbarValue``?
- notifier :
NumberValueNotifier``?
- min :
ScrollbarMin``?
- max :
ScrollbarMax``?
- step :
ScrollbarStep``?
- pagestep :
ScrollbarPagestep``?
- background :
ViewBackgroundStyle``?
- autohide :
ScrollbarAutoHide``?
- id :
ViewId``?
- visible :
ViewVisibility``?
- origin :
ViewOrigin``?
- width :
ViewDimension``?
- height :
ViewDimension``?
- size :
ViewSize``?
- tooltip :
ViewTooltip``?
- cursor :
ViewCursorShape``?
- active :
- Aliases
- ControlActive
- ControlMidiMappingString
- NotifierFunction
- NotifierMemberContext
- NumberValueNotifier
- NumberValueNotifierFunction
- NumberValueNotifierMemberFunction
- NumberValueNotifierMethod1
- NumberValueNotifierMethod2
- ScrollbarAutoHide
- ScrollbarMax
- ScrollbarMin
- ScrollbarPagestep
- ScrollbarStep
- ScrollbarValue
- ViewBackgroundStyle
- ViewCursorShape
- ViewDimension
- ViewId
- ViewNumberObservable
- ViewOrigin
- ViewPosition
- ViewSize
- ViewTooltip
- ViewVisibility
- Properties
- SliderProperties
- Properties
- active :
ControlActive``?
- midi_mapping :
ControlMidiMappingString``?
- bind :
ViewNumberObservable``?
- value :
SliderNumberValue``?
- notifier :
NumberValueNotifier``?
- polarity :
SliderPolarity``?
- min :
SliderMinValue``?
- max :
SliderMaxValue``?
- steps :
SliderStepAmounts``?
- default :
SliderDefaultValue``?
- id :
ViewId``?
- visible :
ViewVisibility``?
- origin :
ViewOrigin``?
- width :
ViewDimension``?
- height :
ViewDimension``?
- size :
ViewSize``?
- tooltip :
ViewTooltip``?
- cursor :
ViewCursorShape``?
- active :
- Aliases
- ControlActive
- ControlMidiMappingString
- NotifierFunction
- NotifierMemberContext
- NumberValueNotifier
- NumberValueNotifierFunction
- NumberValueNotifierMemberFunction
- NumberValueNotifierMethod1
- NumberValueNotifierMethod2
- SliderDefaultValue
- SliderMaxValue
- SliderMinValue
- SliderNumberValue
- SliderPolarity
- SliderStepAmounts
- ViewCursorShape
- ViewDimension
- ViewId
- ViewNumberObservable
- ViewOrigin
- ViewPosition
- ViewSize
- ViewTooltip
- ViewVisibility
- Properties
- StackViewProperties
- Properties
- autosize :
StackAutoSize``?
- background :
ViewBackgroundStyle``?
- mouse_handler :
MouseHandler``?
- mouse_events :
MouseEventTypes``?
- views :
StackChildViews``?
- id :
ViewId``?
- visible :
ViewVisibility``?
- origin :
ViewOrigin``?
- width :
ViewDimension``?
- height :
ViewDimension``?
- size :
ViewSize``?
- tooltip :
ViewTooltip``?
- cursor :
ViewCursorShape``?
- autosize :
- Aliases
- MouseEventButton
- MouseEventType
- MouseEventTypes
- MouseEventWheelDirection
- MouseHandler
- MouseHandlerNotifierFunction
- MouseHandlerNotifierMemberFunction
- MouseHandlerNotifierMethod1
- MouseHandlerNotifierMethod2
- NotifierMemberContext
- StackAutoSize
- StackChildViews
- ViewBackgroundStyle
- ViewCursorShape
- ViewDimension
- ViewId
- ViewOrigin
- ViewPosition
- ViewSize
- ViewTooltip
- ViewVisibility
- Properties
- TextFieldProperties
- Properties
- bind :
ViewStringObservable``?
- active :
TextActive``?
- value :
TextValue``?
- notifier :
StringChangeNotifier``?
- text :
TextValueAlias``?
- align :
TextAlignment``?
- edit_mode :
TextEditMode``?
- id :
ViewId``?
- visible :
ViewVisibility``?
- origin :
ViewOrigin``?
- width :
ViewDimension``?
- height :
ViewDimension``?
- size :
ViewSize``?
- tooltip :
ViewTooltip``?
- cursor :
ViewCursorShape``?
- bind :
- Aliases
- NotifierFunction
- NotifierMemberContext
- StringChangeNotifier
- StringValueNotifierFunction
- StringValueNotifierMemberFunction
- StringValueNotifierMethod1
- StringValueNotifierMethod2
- TextActive
- TextAlignment
- TextEditMode
- TextValue
- TextValueAlias
- ViewCursorShape
- ViewDimension
- ViewId
- ViewOrigin
- ViewPosition
- ViewSize
- ViewStringObservable
- ViewTooltip
- ViewVisibility
- Properties
- TextLinkViewProperties
- Properties
- active :
ControlActive``?
- midi_mapping :
ControlMidiMappingString``?
- notifier :
ButtonNotifier``?
- pressed :
ButtonNotifier``?
- released :
ButtonNotifier``?
- text :
TextSingleLineString``?
- font :
TextFontStyle``?
- style :
TextStyle``?
- color :
TextColor``?
- orientation :
TextOrientation``?
- align :
TextAlignment``?
- id :
ViewId``?
- visible :
ViewVisibility``?
- origin :
ViewOrigin``?
- width :
ViewDimension``?
- height :
ViewDimension``?
- size :
ViewSize``?
- tooltip :
ViewTooltip``?
- cursor :
ViewCursorShape``?
- active :
- Aliases
- ButtonNotifier
- ControlActive
- ControlMidiMappingString
- NotifierFunction
- NotifierMemberContext
- NotifierMemberFunction
- NotifierMethod1
- NotifierMethod2
- RGBColor
- TextAlignment
- TextColor
- TextFontStyle
- TextOrientation
- TextSingleLineString
- TextStyle
- ThemeColor
- ViewCursorShape
- ViewDimension
- ViewId
- ViewOrigin
- ViewPosition
- ViewSize
- ViewTooltip
- ViewVisibility
- Properties
- TextViewProperties
- Properties
- text :
TextSingleLineString``?
- font :
TextFontStyle``?
- style :
TextStyle``?
- color :
TextColor``?
- orientation :
TextOrientation``?
- align :
TextAlignment``?
- id :
ViewId``?
- visible :
ViewVisibility``?
- origin :
ViewOrigin``?
- width :
ViewDimension``?
- height :
ViewDimension``?
- size :
ViewSize``?
- tooltip :
ViewTooltip``?
- cursor :
ViewCursorShape``?
- text :
- Aliases
- Properties
- ValueBoxProperties
- Properties
- active :
ControlActive``?
- midi_mapping :
ControlMidiMappingString``?
- bind :
ViewNumberObservable``?
- value :
SliderNumberValue``?
- notifier :
NumberValueNotifier``?
- min :
ValueBoxMinValue``?
- max :
ValueBoxMaxValue``?
- steps :
SliderStepAmounts``?
- tostring :
PairedShowNumberAsString``?
- tonumber :
PairedParseStringAsNumber``?
- id :
ViewId``?
- visible :
ViewVisibility``?
- origin :
ViewOrigin``?
- width :
ViewDimension``?
- height :
ViewDimension``?
- size :
ViewSize``?
- tooltip :
ViewTooltip``?
- cursor :
ViewCursorShape``?
- active :
- Aliases
- ControlActive
- ControlMidiMappingString
- NotifierFunction
- NotifierMemberContext
- NumberValueNotifier
- NumberValueNotifierFunction
- NumberValueNotifierMemberFunction
- NumberValueNotifierMethod1
- NumberValueNotifierMethod2
- PairedParseStringAsNumber
- PairedShowNumberAsString
- ShowNumberAsString
- SliderNumberValue
- SliderStepAmounts
- ValueBoxMaxValue
- ValueBoxMinValue
- ViewCursorShape
- ViewDimension
- ViewId
- ViewNumberObservable
- ViewOrigin
- ViewPosition
- ViewSize
- ViewTooltip
- ViewVisibility
- Properties
- ValueFieldProperties
- Properties
- active :
ControlActive``?
- midi_mapping :
ControlMidiMappingString``?
- bind :
ViewNumberObservable``?
- value :
SliderNumberValue``?
- notifier :
NumberValueNotifier``?
- min :
SliderMinValue``?
- max :
SliderMaxValue``?
- align :
TextAlignment``?
- tostring :
PairedShowNumberAsString``?
- tonumber :
PairedParseStringAsNumber``?
- id :
ViewId``?
- visible :
ViewVisibility``?
- origin :
ViewOrigin``?
- width :
ViewDimension``?
- height :
ViewDimension``?
- size :
ViewSize``?
- tooltip :
ViewTooltip``?
- cursor :
ViewCursorShape``?
- active :
- Aliases
- ControlActive
- ControlMidiMappingString
- NotifierFunction
- NotifierMemberContext
- NumberValueNotifier
- NumberValueNotifierFunction
- NumberValueNotifierMemberFunction
- NumberValueNotifierMethod1
- NumberValueNotifierMethod2
- PairedParseStringAsNumber
- PairedShowNumberAsString
- ShowNumberAsString
- SliderMaxValue
- SliderMinValue
- SliderNumberValue
- TextAlignment
- ViewCursorShape
- ViewDimension
- ViewId
- ViewNumberObservable
- ViewOrigin
- ViewPosition
- ViewSize
- ViewTooltip
- ViewVisibility
- Properties
- ValueViewProperties
- Properties
- bind :
ViewNumberObservable``?
- value :
SliderNumberValue``?
- notifier :
NumberValueNotifier``?
- align :
TextAlignment``?
- font :
TextFontStyle``?
- tostring :
ShowNumberAsString``?
- id :
ViewId``?
- visible :
ViewVisibility``?
- origin :
ViewOrigin``?
- width :
ViewDimension``?
- height :
ViewDimension``?
- size :
ViewSize``?
- tooltip :
ViewTooltip``?
- cursor :
ViewCursorShape``?
- bind :
- Aliases
- NotifierFunction
- NotifierMemberContext
- NumberValueNotifier
- NumberValueNotifierFunction
- NumberValueNotifierMemberFunction
- NumberValueNotifierMethod1
- NumberValueNotifierMethod2
- ShowNumberAsString
- SliderNumberValue
- TextAlignment
- TextFontStyle
- ViewCursorShape
- ViewDimension
- ViewId
- ViewNumberObservable
- ViewOrigin
- ViewPosition
- ViewSize
- ViewTooltip
- ViewVisibility
- Properties
- ViewProperties
- XYPadProperties
- Properties
- active :
ControlActive``?
- midi_mapping :
ControlMidiMappingString``?
- id :
ViewId``?
- visible :
ViewVisibility``?
- origin :
ViewOrigin``?
- width :
ViewDimension``?
- height :
ViewDimension``?
- size :
ViewSize``?
- tooltip :
ViewTooltip``?
- cursor :
ViewCursorShape``?
- bind :
XYPadObservables``?
- value :
XYPadValues``?
- snapback :
XYPadSnapbackValues``?
- notifier :
XYValueNotifier``?
- min :
XYPadMinValues``?
- max :
XYPadMaxValues``?
- active :
- Aliases
- ControlActive
- ControlMidiMappingString
- NotifierFunction
- NotifierMemberContext
- SliderMaxValue
- SliderMinValue
- SliderNumberValue
- ViewCursorShape
- ViewDimension
- ViewId
- ViewOrigin
- ViewPosition
- ViewSize
- ViewTooltip
- ViewVisibility
- XYPadMaxValues
- XYPadMinValues
- XYPadObservables
- XYPadSnapbackValues
- XYPadValues
- XYValueNotifier
- XYValueNotifierFunction
- XYValueNotifierMemberFunction
- XYValueNotifierMethod1
- XYValueNotifierMethod2
- Aliases
- AlignerChildViews
- AlignerMode
- BitmapColor
- BitmapImagePath
- BitmapMode
- BitmapPath
- BooleanValueNotifierFunction
- BooleanValueNotifierMemberFunction
- BooleanValueNotifierMethod1
- BooleanValueNotifierMethod2
- ButtonAlignment
- ButtonBitmapPath
- ButtonColor
- ButtonLabel
- ButtonNotifier
- ButtonStyle
- CanvasChildViews
- CanvasMode
- CanvasRenderFunction
- CheckBoxBoolean
- CheckBoxBooleanNotifier
- ControlActive
- ControlMidiMappingString
- IntegerNotifier
- IntegerValueNotifierFunction
- IntegerValueNotifierMemberFunction
- IntegerValueNotifierMethod1
- IntegerValueNotifierMethod2
- ItemLabels
- ListElementAdded
- ListElementChange
- ListElementRemoved
- ListElementsSwapped
- ListNotifierFunction
- ListNotifierMemberContext
- MouseEventButton
- MouseEventType
- MouseEventTypes
- MouseEventWheelDirection
- MouseHandler
- MouseHandlerNotifierFunction
- MouseHandlerNotifierMemberFunction
- MouseHandlerNotifierMethod1
- MouseHandlerNotifierMethod2
- NotifierFunction
- NotifierMemberContext
- NotifierMemberFunction
- NotifierMethod1
- NotifierMethod2
- NumberValueNotifier
- NumberValueNotifierFunction
- NumberValueNotifierMemberFunction
- NumberValueNotifierMethod1
- NumberValueNotifierMethod2
- PairedParseStringAsNumber
- PairedShowNumberAsString
- PopupItemLabels
- RGBAColor
- RGBColor
- RackChildViews
- RackMargin
- RackSpacing
- RackUniformity
- ScrollbarAutoHide
- ScrollbarMax
- ScrollbarMin
- ScrollbarPagestep
- ScrollbarStep
- ScrollbarValue
- SelectedItem
- ShowNumberAsString
- SliderDefaultValue
- SliderMaxValue
- SliderMinValue
- SliderNumberValue
- SliderPolarity
- SliderStepAmounts
- StackAutoSize
- StackChildViews
- StringChangeNotifier
- StringValueNotifierFunction
- StringValueNotifierMemberFunction
- StringValueNotifierMethod1
- StringValueNotifierMethod2
- TextActive
- TextAlignment
- TextBackgroundStyle
- TextColor
- TextEditMode
- TextFontStyle
- TextMultilineString
- TextOrientation
- TextParagraphs
- TextSingleLineString
- TextStyle
- TextValue
- TextValueAlias
- ThemeColor
- ValueBoxMaxValue
- ValueBoxMinValue
- ViewBackgroundStyle
- ViewBooleanObservable
- ViewCursorShape
- ViewDimension
- ViewId
- ViewNumberObservable
- ViewOrigin
- ViewPosition
- ViewSize
- ViewStringListObservable
- ViewStringObservable
- ViewTooltip
- ViewVisibility
- XYPadMaxValues
- XYPadMinValues
- XYPadObservables
- XYPadSnapbackValues
- XYPadValues
- XYValueNotifier
- XYValueNotifierFunction
- XYValueNotifierMemberFunction
- XYValueNotifierMethod1
- XYValueNotifierMethod2
- Properties
Constants
DEFAULT_CONTROL_MARGIN : integer
The default margin for all control views
DEFAULT_CONTROL_SPACING : integer
The default spacing for all control views
DEFAULT_CONTROL_HEIGHT : integer
The default height for control views
DEFAULT_MINI_CONTROL_HEIGHT : integer
The default height for mini-sliders
DEFAULT_DIALOG_MARGIN : integer
The default margin for dialogs
DEFAULT_DIALOG_SPACING : integer
The default spacing for dialogs
DEFAULT_DIALOG_BUTTON_HEIGHT : integer
The default height for buttons
Properties
views : table<string
, renoise.Views.View
>
Table of views, which got registered via the "id" property View id is the table key, the table's value is the view's object.
examples:
vb:text { id="my_view", text="some_text"} vb.views.my_view.visible = false --or vb.views["my_view"].visible = false
Functions
column(self, properties : RackViewProperties
)
You can add nested child views when constructing a column or row by including them in the constructor table in the views property.
examples:
vb:column { margin = 1, views = { vb:text { text = "Text1" }, vb:text { text = "Text2" } } }
row(self, properties : RackViewProperties
)
You can add nested child views when constructing a column or row by including them in the constructor table in the views property.
examples:
vb:column { margin = 1, views = { vb:text { text = "Text1" }, vb:text { text = "Text2" } } }
horizontal_aligner(self, properties : AlignerViewProperties
)
You can add nested child views when constructing aligners by including them in the constructor table.
examples:
vb:horizontal_aligner { mode = "center", views = { vb:text { text = "Text1" }, vb:text { text = "Text2" } } }
vertical_aligner(self, properties : AlignerViewProperties
)
You can add nested child views when constructing aligners by including them in the constructor table.
examples:
vb:horizontal_aligner { mode = "center", views = { vb:text { text = "Text1" }, vb:text { text = "Text2" } } }
stack(self, properties : StackViewProperties
?
)
You can add nested child views when constructing stacks by including them in the constructor table. Use the view property
origin
to position them in the stack.--Stack multiple views vb:stack { views = { vb:text { origin = { 10, 10 }, text = "Text1" }, vb:text { origin = { 100, 20 }, text = "Text 2" } } }
See:
renoise.Views.Stack
space(self, properties : ViewProperties
)
You can create an empty space in layouts with a space.
examples:
--Empty space in layouts vb:row { views = { vb:button { text = "Some Button" }, vb:space { -- extra spacing between buttons width = 8 }, vb:button { text = "Another Button" }, } }
canvas(self, properties : CanvasViewProperties
?
)
See:
renoise.Views.Canvas
text(self, properties : TextViewProperties
?
)
See:
renoise.Views.Text
multiline_text(self, properties : MultilineTextViewProperties
?
)
See:
renoise.Views.MultiLineText
textfield(self, properties : TextFieldProperties
?
)
See:
renoise.Views.TextField
multiline_textfield(self, properties : MultilineTextFieldProperties
?
)
->
renoise.Views.MultiLineTextField
See:
renoise.Views.MultiLineTextField
link(self, properties : TextLinkViewProperties
?
)
See:
renoise.Views.TextLink
bitmap(self, properties : BitmapViewProperties
?
)
See:
renoise.Views.Bitmap
button(self, properties : ButtonProperties
?
)
See:
renoise.Views.Button
checkbox(self, properties : CheckBoxProperties
?
)
See:
renoise.Views.CheckBox
switch(self, properties : ButtonSwitchProperties
?
)
See:
renoise.Views.Switch
popup(self, properties : PopUpMenuProperties
?
)
See:
renoise.Views.Popup
chooser(self, properties : ChooserProperties
?
)
See:
renoise.Views.Chooser
valuebox(self, properties : ValueBoxProperties
?
)
See:
renoise.Views.ValueBox
value(self, properties : ValueViewProperties
?
)
See:
renoise.Views.Value
valuefield(self, properties : ValueFieldProperties
?
)
See:
renoise.Views.ValueField
scrollbar(self, properties : ScrollBarProperties
?
)
See:
renoise.Views.ScrollBar
slider(self, properties : SliderProperties
?
)
See:
renoise.Views.Slider
minislider(self, properties : MiniSliderProperties
?
)
See:
renoise.Views.MiniSlider
rotary(self, properties : RotaryEncoderProperties
?
)
See:
renoise.Views.RotaryEncoder
xypad(self, properties : XYPadProperties
?
)
See:
renoise.Views.XYPad
Structs
AlignerViewProperties
Properties
margin : RackMargin
?
Set the "borders" of a rack (left, right, top and bottom inclusively)
- Default: 0 (no borders)
spacing : RackSpacing
?
Set the amount stacked child views are separated by (horizontally in rows, vertically in columns).
- Default: 0 (no spacing)
mode : AlignerMode
?
- Default: "left" (for horizontal_aligner) "top" (for vertical_aligner)
background : ViewBackgroundStyle
?
Setup a background style for the view.
mouse_handler : MouseHandler
?
Optional mouse event handler for a view. return nil when the event got handled to stop propagating the event. return the event instance, as passed, to pass it to the next view in the view hirarchy.
mouse_events : MouseEventTypes
?
The mouse event types that should be passed to your
mouse_handler
function. By default:{ "down", "up", "double" }
Avoid adding event types that you don't use, especially "move" events as they do create quite some overhead. Also note that when enabling "drag", sub view controls can no longer handle drag events, even when you pass back the event in the handler, so only enable it when you want to completely override mouse drag behavior of all your content views.
views : AlignerChildViews
?
The aligner view's initial child views. Views can later on also be added and removed dynamically after construction via
aligner:add_view(child)
andaligner:remove_view(child)
id : ViewId
?
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
visible : ViewVisibility
?
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
?
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
?
Deprecated. Use property
size
instead.
height : ViewDimension
?
Deprecated. Use property
size
instead.
size : ViewSize
?
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
?
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
?
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
Aliases
AlignerChildViews
The aligner view's initial child views. Views can later on also be added and removed dynamically after construction via
aligner:add_view(child)
andaligner:remove_view(child)
AlignerMode
"bottom"
| "center"
| "distribute"
| "justify"
| "left"
| "right"
| "top"
-- * Default: "left" (for horizontal_aligner) "top" (for vertical_aligner) AlignerMode: | "left" -- align from left to right (for horizontal_aligner only) | "right" -- align from right to left (for horizontal_aligner only) | "top" -- align from top to bottom (for vertical_aligner only) | "bottom" -- align from bottom to top (for vertical_aligner only) | "center" -- center all views | "justify" -- keep outer views at the borders, distribute the rest | "distribute" -- equally distributes views over the aligners width/height
MouseEventButton
"left"
| "middle"
| "right"
-- Mouse button of a `MouseEvent` of type "up"|"down"|"double"|"drag". MouseEventButton: | "left" | "right" | "middle"
MouseEventType
"double"
| "down"
| "drag"
| "enter"
| "exit"
| "move"
| "up"
| "wheel"
-- Event type of a `MouseEvent`. MouseEventType: | "enter" | "exit" | "move" | "down" | "up" | "double" | "drag" | "wheel"
MouseEventTypes
The mouse event types that should be passed to your
mouse_handler
function. By default:{ "down", "up", "double" }
Avoid adding event types that you don't use, especially "move" events as they do create quite some overhead. Also note that when enabling "drag", sub view controls can no longer handle drag events, even when you pass back the event in the handler, so only enable it when you want to completely override mouse drag behavior of all your content views.
MouseEventWheelDirection
"down"
| "left"
| "right"
| "up"
-- Mouse wheel direction in a `MouseEvent` of type "wheel". MouseEventWheelDirection: | "up" | "down" | "left" | "right"
MouseHandler
MouseHandlerNotifierFunction
| MouseHandlerNotifierMethod1
| MouseHandlerNotifierMethod2
Optional mouse event handler for a view. return nil when the event got handled to stop propagating the event. return the event instance, as passed, to pass it to the next view in the view hirarchy.
MouseHandlerNotifierFunction
(event : MouseEvent
) ->
MouseEvent
?
MouseHandlerNotifierMemberFunction
(self : NotifierMemberContext
, event : MouseEvent
) ->
MouseEvent
?
MouseHandlerNotifierMethod1
{ 1 : NotifierMemberContext
, 2 : MouseHandlerNotifierMemberFunction
}
MouseHandlerNotifierMethod2
{ 1 : MouseHandlerNotifierMemberFunction
, 2 : NotifierMemberContext
}
NotifierMemberContext
RackMargin
Set the "borders" of a rack (left, right, top and bottom inclusively)
- Default: 0 (no borders)
RackSpacing
Set the amount stacked child views are separated by (horizontally in rows, vertically in columns).
- Default: 0 (no spacing)
ViewBackgroundStyle
"body"
| "border"
| "group"
| "invisible"
| "panel"
| "plain"
-- Setup a background style for the view. ViewBackgroundStyle: | "invisible" -- no background (Default) | "plain" -- undecorated, single coloured background | "border" -- same as plain, but with a bold nested border | "body" -- main "background" style, as used in dialog backgrounds | "panel" -- alternative "background" style, beveled | "group" -- background for "nested" groups within body
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewId
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
BitmapViewProperties
Properties
mode : BitmapMode
?
Setup how the bitmap should be drawn, recolored. Available modes are:
color : BitmapColor
?
When set, the bitmap will be drawn in the specified color and
mode
is set tocustom_color
. Setmode
to something else thancustom_color
or thecolor
to{0, 0, 0}
to enable aplain
display mode.
bitmap : BitmapPath
?
Supported bitmap file formats are *.bmp, *.png or *.tif (no transparency).
notifier : ButtonNotifier
?
A click notifier
active : ControlActive
?
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
midi_mapping : ControlMidiMappingString
?
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
id : ViewId
?
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
visible : ViewVisibility
?
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
?
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
?
Deprecated. Use property
size
instead.
height : ViewDimension
?
Deprecated. Use property
size
instead.
size : ViewSize
?
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
?
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
?
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
Aliases
BitmapColor
-- When set, the bitmap will be drawn in the specified color and `mode` is set -- to `custom_color`. Set `mode` to something else than `custom_color` or the -- `color` to `{0, 0, 0}` to enable a `plain` display mode. -- A table of 3 bytes (ranging from 0 to 255) -- representing the red, green and blue channels of a color. -- {0xFF, 0xFF, 0xFF} is white -- {165, 73, 35} is the red from the Renoise logo -- The application theme's colors BitmapColor: | "main_back" | "main_font" | "alternate_main_back" | "alternate_main_font" | "body_back" | "body_font" | "strong_body_font" | "button_back" | "button_font" | "button_highlight_font" | "selected_button_back" | "selected_button_font" | "selection_back" | "selection_font" | "standby_selection_back" | "standby_selection_font" | "midi_mapping_back" | "midi_mapping_font" | "tooltip_back" | "tooltip_font" | "valuebox_back" | "valuebox_font" | "valuebox_font_icons" | "scrollbar" | "slider" | "folder" | "pattern_default_back" | "pattern_default_font" | "pattern_default_font_volume" | "pattern_default_font_panning" | "pattern_default_font_pitch" | "pattern_default_font_delay" | "pattern_default_font_global" | "pattern_default_font_other" | "pattern_default_font_dspfx" | "pattern_default_font_unused" | "pattern_highlighted_back" | "pattern_highlighted_font" | "pattern_highlighted_font_volume" | "pattern_highlighted_font_panning" | "pattern_highlighted_font_pitch" | "pattern_highlighted_font_delay" | "pattern_highlighted_font_global" | "pattern_highlighted_font_other" | "pattern_highlighted_font_dspfx" | "pattern_highlighted_font_unused" | "pattern_playposition_back" | "pattern_playposition_font" | "pattern_centerbar_back" | "pattern_centerbar_font" | "pattern_centerbar_back_standby" | "pattern_centerbar_font_standby" | "pattern_selection" | "pattern_standby_selection" | "pattern_mute_state" | "automation_grid" | "automation_line_edge" | "automation_line_fill" | "automation_point" | "automation_marker_play" | "automation_marker_single" | "automation_marker_pair" | "automation_marker_diamond" | "vumeter_meter" | "vumeter_meter_low" | "vumeter_meter_middle" | "vumeter_meter_high" | "vumeter_peak" | "vumeter_back_normal" | "vumeter_back_clipped" | "default_color_01" | "default_color_02" | "default_color_03" | "default_color_04" | "default_color_05" | "default_color_06" | "default_color_07" | "default_color_08" | "default_color_09" | "default_color_10" | "default_color_11" | "default_color_12" | "default_color_13" | "default_color_14" | "default_color_15" | "default_color_16"
BitmapImagePath
You can load an image from your tool's directory, or use one from Renoise's built-in icons.
- For the built-in icons, use "Icons/ArrowRight.bmp"
- For custom images, use a path relative to your tool's root folder.
For example "Images/MyBitmap.bmp" will load the image from "com.me.MyTool.xrnx/Images/MyBitmap.bmp".
If your custom path matches a built-in icon's (like "Icons/ArrowRight.bmp"), your image will be loaded instead of the one from Renoise.If you want to support high DPI UI scaling with your bitmaps like the built-in Icons, include high resolution versions with their filenames ending with "@4x"
The following rules will be used when loading bitmaps
- When UI scaling is 100%, only the base bitmaps are used.
- When UI scaling is 125%, the base bitmaps are used, except if there is a
BitmapName@x1.25.bmp
variant.- For all other UI scaling > 125% the "@4x" variants are used and downscaled as needed, except when there is an exact match for the current UI scaling factor (e.g.
BitmapName@1.5x.bmp
for 150%)
BitmapMode
"body_color"
| "button_color"
| "custom_color"
| "main_color"
| "plain"
| "transparent"
-- Setup how the bitmap should be drawn, recolored. Available modes are: BitmapMode: | "plain" -- bitmap is drawn as is, no recoloring is done (Default) | "transparent" -- same as plain, but black pixels will be fully transparent | "button_color" -- recolor the bitmap, using the theme's button color | "body_color" -- same as 'button_back' but with body text/back color | "main_color" -- same as 'button_back' but with main text/back colors | "custom_color" -- Recolor the bitmap using a custom color set by the `color'
BitmapPath
Supported bitmap file formats are *.bmp, *.png or *.tif (no transparency).
ButtonNotifier
NotifierFunction
| NotifierMethod1
| NotifierMethod2
A click notifier
ControlActive
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
ControlMidiMappingString
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
NotifierFunction
fun()
NotifierMemberContext
NotifierMemberFunction
(self : NotifierMemberContext
)
NotifierMethod1
{ 1 : NotifierMemberContext
, 2 : NotifierMemberFunction
}
NotifierMethod2
{ 1 : NotifierMemberFunction
, 2 : NotifierMemberContext
}
RGBColor
{ 1 : integer
, 2 : integer
, 3 : integer
}
A table of 3 bytes (ranging from 0 to 255) representing the red, green and blue channels of a color. {0xFF, 0xFF, 0xFF} is white {165, 73, 35} is the red from the Renoise logo
ThemeColor
"alternate_main_back"
| "alternate_main_font"
| "automation_grid"
| "automation_line_edge"
| "automation_line_fill"
| "automation_marker_diamond"
| "automation_marker_pair"
| "automation_marker_play"
| "automation_marker_single"
| "automation_point"
| "body_back"
| "body_font"
| "button_back"
| "button_font"
| "button_highlight_font"
| "default_color_01"
| "default_color_02"
| "default_color_03"
| "default_color_04"
| "default_color_05"
| "default_color_06"
| "default_color_07"
| "default_color_08"
| "default_color_09"
| "default_color_10"
| "default_color_11"
| "default_color_12"
| "default_color_13"
| "default_color_14"
| "default_color_15"
| "default_color_16"
| "folder"
| "main_back"
| "main_font"
| "midi_mapping_back"
| "midi_mapping_font"
| "pattern_centerbar_back"
| "pattern_centerbar_back_standby"
| "pattern_centerbar_font"
| "pattern_centerbar_font_standby"
| "pattern_default_back"
| "pattern_default_font"
| "pattern_default_font_delay"
| "pattern_default_font_dspfx"
| "pattern_default_font_global"
| "pattern_default_font_other"
| "pattern_default_font_panning"
| "pattern_default_font_pitch"
| "pattern_default_font_unused"
| "pattern_default_font_volume"
| "pattern_highlighted_back"
| "pattern_highlighted_font"
| "pattern_highlighted_font_delay"
| "pattern_highlighted_font_dspfx"
| "pattern_highlighted_font_global"
| "pattern_highlighted_font_other"
| "pattern_highlighted_font_panning"
| "pattern_highlighted_font_pitch"
| "pattern_highlighted_font_unused"
| "pattern_highlighted_font_volume"
| "pattern_mute_state"
| "pattern_playposition_back"
| "pattern_playposition_font"
| "pattern_selection"
| "pattern_standby_selection"
| "scrollbar"
| "selected_button_back"
| "selected_button_font"
| "selection_back"
| "selection_font"
| "slider"
| "standby_selection_back"
| "standby_selection_font"
| "strong_body_font"
| "tooltip_back"
| "tooltip_font"
| "valuebox_back"
| "valuebox_font"
| "valuebox_font_icons"
| "vumeter_back_clipped"
| "vumeter_back_normal"
| "vumeter_meter"
| "vumeter_meter_high"
| "vumeter_meter_low"
| "vumeter_meter_middle"
| "vumeter_peak"
-- The application theme's colors ThemeColor: | "main_back" | "main_font" | "alternate_main_back" | "alternate_main_font" | "body_back" | "body_font" | "strong_body_font" | "button_back" | "button_font" | "button_highlight_font" | "selected_button_back" | "selected_button_font" | "selection_back" | "selection_font" | "standby_selection_back" | "standby_selection_font" | "midi_mapping_back" | "midi_mapping_font" | "tooltip_back" | "tooltip_font" | "valuebox_back" | "valuebox_font" | "valuebox_font_icons" | "scrollbar" | "slider" | "folder" | "pattern_default_back" | "pattern_default_font" | "pattern_default_font_volume" | "pattern_default_font_panning" | "pattern_default_font_pitch" | "pattern_default_font_delay" | "pattern_default_font_global" | "pattern_default_font_other" | "pattern_default_font_dspfx" | "pattern_default_font_unused" | "pattern_highlighted_back" | "pattern_highlighted_font" | "pattern_highlighted_font_volume" | "pattern_highlighted_font_panning" | "pattern_highlighted_font_pitch" | "pattern_highlighted_font_delay" | "pattern_highlighted_font_global" | "pattern_highlighted_font_other" | "pattern_highlighted_font_dspfx" | "pattern_highlighted_font_unused" | "pattern_playposition_back" | "pattern_playposition_font" | "pattern_centerbar_back" | "pattern_centerbar_font" | "pattern_centerbar_back_standby" | "pattern_centerbar_font_standby" | "pattern_selection" | "pattern_standby_selection" | "pattern_mute_state" | "automation_grid" | "automation_line_edge" | "automation_line_fill" | "automation_point" | "automation_marker_play" | "automation_marker_single" | "automation_marker_pair" | "automation_marker_diamond" | "vumeter_meter" | "vumeter_meter_low" | "vumeter_meter_middle" | "vumeter_meter_high" | "vumeter_peak" | "vumeter_back_normal" | "vumeter_back_clipped" | "default_color_01" | "default_color_02" | "default_color_03" | "default_color_04" | "default_color_05" | "default_color_06" | "default_color_07" | "default_color_08" | "default_color_09" | "default_color_10" | "default_color_11" | "default_color_12" | "default_color_13" | "default_color_14" | "default_color_15" | "default_color_16"
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewId
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
ButtonProperties
Properties
text : ButtonLabel
?
The text label of the button
- Default: ""
bitmap : ButtonBitmapPath
?
If set, existing text is removed and the loaded image is displayed instead. Supported bitmap file formats are ".bmp", ".png" and ".tiff". Colors in bitmaps will be overridden by the button's theme color, using black as the transparent color for BMPs and TIFFS, and the alpha channel for PNGs. All other colors are mapped to the theme color according to their grey value, so plain white is the target theme color, and all other colors blend into the button's background color of the theme.
align : ButtonAlignment
?
Setup the buttons text's or bitmap's alignment within the button.
font : TextFontStyle
?
The style that the text should be displayed with.
color : ButtonColor
?
When set, the unpressed button's background will be drawn in the specified color. A text color is automatically selected unless explicitly set, to make sure its always visible. Set color {0,0,0} to enable the theme colors for the button again.
secondary_color : ButtonColor
?
When set, the unpressed button's background will be drawn in the specified color. A text color is automatically selected unless explicitly set, to make sure its always visible. Set color {0,0,0} to enable the theme colors for the button again.
style : ButtonStyle
?
Get/set the style a button should be displayed with.
notifier : ButtonNotifier
?
A click notifier
pressed : ButtonNotifier
?
A click notifier
released : ButtonNotifier
?
A click notifier
active : ControlActive
?
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
midi_mapping : ControlMidiMappingString
?
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
id : ViewId
?
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
visible : ViewVisibility
?
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
?
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
?
Deprecated. Use property
size
instead.
height : ViewDimension
?
Deprecated. Use property
size
instead.
size : ViewSize
?
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
?
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
?
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
Aliases
BitmapImagePath
You can load an image from your tool's directory, or use one from Renoise's built-in icons.
- For the built-in icons, use "Icons/ArrowRight.bmp"
- For custom images, use a path relative to your tool's root folder.
For example "Images/MyBitmap.bmp" will load the image from "com.me.MyTool.xrnx/Images/MyBitmap.bmp".
If your custom path matches a built-in icon's (like "Icons/ArrowRight.bmp"), your image will be loaded instead of the one from Renoise.If you want to support high DPI UI scaling with your bitmaps like the built-in Icons, include high resolution versions with their filenames ending with "@4x"
The following rules will be used when loading bitmaps
- When UI scaling is 100%, only the base bitmaps are used.
- When UI scaling is 125%, the base bitmaps are used, except if there is a
BitmapName@x1.25.bmp
variant.- For all other UI scaling > 125% the "@4x" variants are used and downscaled as needed, except when there is an exact match for the current UI scaling factor (e.g.
BitmapName@1.5x.bmp
for 150%)
ButtonAlignment
"center"
| "left"
| "right"
-- Setup the buttons text's or bitmap's alignment within the button. ButtonAlignment: | "left" -- aligned to the left | "right" -- aligned to the right | "center" -- center (default)
ButtonBitmapPath
If set, existing text is removed and the loaded image is displayed instead. Supported bitmap file formats are ".bmp", ".png" and ".tiff". Colors in bitmaps will be overridden by the button's theme color, using black as the transparent color for BMPs and TIFFS, and the alpha channel for PNGs. All other colors are mapped to the theme color according to their grey value, so plain white is the target theme color, and all other colors blend into the button's background color of the theme.
ButtonColor
-- When set, the unpressed button's background will be drawn in the specified color. -- A text color is automatically selected unless explicitly set, to make sure its -- always visible. -- Set color {0,0,0} to enable the theme colors for the button again. -- A table of 3 bytes (ranging from 0 to 255) -- representing the red, green and blue channels of a color. -- {0xFF, 0xFF, 0xFF} is white -- {165, 73, 35} is the red from the Renoise logo -- The application theme's colors ButtonColor: | "main_back" | "main_font" | "alternate_main_back" | "alternate_main_font" | "body_back" | "body_font" | "strong_body_font" | "button_back" | "button_font" | "button_highlight_font" | "selected_button_back" | "selected_button_font" | "selection_back" | "selection_font" | "standby_selection_back" | "standby_selection_font" | "midi_mapping_back" | "midi_mapping_font" | "tooltip_back" | "tooltip_font" | "valuebox_back" | "valuebox_font" | "valuebox_font_icons" | "scrollbar" | "slider" | "folder" | "pattern_default_back" | "pattern_default_font" | "pattern_default_font_volume" | "pattern_default_font_panning" | "pattern_default_font_pitch" | "pattern_default_font_delay" | "pattern_default_font_global" | "pattern_default_font_other" | "pattern_default_font_dspfx" | "pattern_default_font_unused" | "pattern_highlighted_back" | "pattern_highlighted_font" | "pattern_highlighted_font_volume" | "pattern_highlighted_font_panning" | "pattern_highlighted_font_pitch" | "pattern_highlighted_font_delay" | "pattern_highlighted_font_global" | "pattern_highlighted_font_other" | "pattern_highlighted_font_dspfx" | "pattern_highlighted_font_unused" | "pattern_playposition_back" | "pattern_playposition_font" | "pattern_centerbar_back" | "pattern_centerbar_font" | "pattern_centerbar_back_standby" | "pattern_centerbar_font_standby" | "pattern_selection" | "pattern_standby_selection" | "pattern_mute_state" | "automation_grid" | "automation_line_edge" | "automation_line_fill" | "automation_point" | "automation_marker_play" | "automation_marker_single" | "automation_marker_pair" | "automation_marker_diamond" | "vumeter_meter" | "vumeter_meter_low" | "vumeter_meter_middle" | "vumeter_meter_high" | "vumeter_peak" | "vumeter_back_normal" | "vumeter_back_clipped" | "default_color_01" | "default_color_02" | "default_color_03" | "default_color_04" | "default_color_05" | "default_color_06" | "default_color_07" | "default_color_08" | "default_color_09" | "default_color_10" | "default_color_11" | "default_color_12" | "default_color_13" | "default_color_14" | "default_color_15" | "default_color_16"
ButtonLabel
The text label of the button
- Default: ""
ButtonNotifier
NotifierFunction
| NotifierMethod1
| NotifierMethod2
A click notifier
ButtonStyle
"normal"
| "rounded"
| "rounded_bottom"
| "rounded_left"
| "rounded_right"
| "rounded_top"
-- Get/set the style a button should be displayed with. ButtonStyle: | "normal" -- (Default) | "rounded" -- rounded corners on all sides | "rounded_left" -- rounded left side | "rounded_right" -- rounded right side | "rounded_top" -- rounded left side | "rounded_bottom" -- rounded right side
ControlActive
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
ControlMidiMappingString
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
NotifierFunction
fun()
NotifierMemberContext
NotifierMemberFunction
(self : NotifierMemberContext
)
NotifierMethod1
{ 1 : NotifierMemberContext
, 2 : NotifierMemberFunction
}
NotifierMethod2
{ 1 : NotifierMemberFunction
, 2 : NotifierMemberContext
}
RGBColor
{ 1 : integer
, 2 : integer
, 3 : integer
}
A table of 3 bytes (ranging from 0 to 255) representing the red, green and blue channels of a color. {0xFF, 0xFF, 0xFF} is white {165, 73, 35} is the red from the Renoise logo
TextFontStyle
"big"
| "bold"
| "code"
| "italic"
| "mono"
| "normal"
-- The style that the text should be displayed with. TextFontStyle: | "normal" -- (Default) | "big" -- big text | "bold" -- bold font | "italic" -- italic font | "mono" -- monospace font | "code" -- monospace code font
ThemeColor
"alternate_main_back"
| "alternate_main_font"
| "automation_grid"
| "automation_line_edge"
| "automation_line_fill"
| "automation_marker_diamond"
| "automation_marker_pair"
| "automation_marker_play"
| "automation_marker_single"
| "automation_point"
| "body_back"
| "body_font"
| "button_back"
| "button_font"
| "button_highlight_font"
| "default_color_01"
| "default_color_02"
| "default_color_03"
| "default_color_04"
| "default_color_05"
| "default_color_06"
| "default_color_07"
| "default_color_08"
| "default_color_09"
| "default_color_10"
| "default_color_11"
| "default_color_12"
| "default_color_13"
| "default_color_14"
| "default_color_15"
| "default_color_16"
| "folder"
| "main_back"
| "main_font"
| "midi_mapping_back"
| "midi_mapping_font"
| "pattern_centerbar_back"
| "pattern_centerbar_back_standby"
| "pattern_centerbar_font"
| "pattern_centerbar_font_standby"
| "pattern_default_back"
| "pattern_default_font"
| "pattern_default_font_delay"
| "pattern_default_font_dspfx"
| "pattern_default_font_global"
| "pattern_default_font_other"
| "pattern_default_font_panning"
| "pattern_default_font_pitch"
| "pattern_default_font_unused"
| "pattern_default_font_volume"
| "pattern_highlighted_back"
| "pattern_highlighted_font"
| "pattern_highlighted_font_delay"
| "pattern_highlighted_font_dspfx"
| "pattern_highlighted_font_global"
| "pattern_highlighted_font_other"
| "pattern_highlighted_font_panning"
| "pattern_highlighted_font_pitch"
| "pattern_highlighted_font_unused"
| "pattern_highlighted_font_volume"
| "pattern_mute_state"
| "pattern_playposition_back"
| "pattern_playposition_font"
| "pattern_selection"
| "pattern_standby_selection"
| "scrollbar"
| "selected_button_back"
| "selected_button_font"
| "selection_back"
| "selection_font"
| "slider"
| "standby_selection_back"
| "standby_selection_font"
| "strong_body_font"
| "tooltip_back"
| "tooltip_font"
| "valuebox_back"
| "valuebox_font"
| "valuebox_font_icons"
| "vumeter_back_clipped"
| "vumeter_back_normal"
| "vumeter_meter"
| "vumeter_meter_high"
| "vumeter_meter_low"
| "vumeter_meter_middle"
| "vumeter_peak"
-- The application theme's colors ThemeColor: | "main_back" | "main_font" | "alternate_main_back" | "alternate_main_font" | "body_back" | "body_font" | "strong_body_font" | "button_back" | "button_font" | "button_highlight_font" | "selected_button_back" | "selected_button_font" | "selection_back" | "selection_font" | "standby_selection_back" | "standby_selection_font" | "midi_mapping_back" | "midi_mapping_font" | "tooltip_back" | "tooltip_font" | "valuebox_back" | "valuebox_font" | "valuebox_font_icons" | "scrollbar" | "slider" | "folder" | "pattern_default_back" | "pattern_default_font" | "pattern_default_font_volume" | "pattern_default_font_panning" | "pattern_default_font_pitch" | "pattern_default_font_delay" | "pattern_default_font_global" | "pattern_default_font_other" | "pattern_default_font_dspfx" | "pattern_default_font_unused" | "pattern_highlighted_back" | "pattern_highlighted_font" | "pattern_highlighted_font_volume" | "pattern_highlighted_font_panning" | "pattern_highlighted_font_pitch" | "pattern_highlighted_font_delay" | "pattern_highlighted_font_global" | "pattern_highlighted_font_other" | "pattern_highlighted_font_dspfx" | "pattern_highlighted_font_unused" | "pattern_playposition_back" | "pattern_playposition_font" | "pattern_centerbar_back" | "pattern_centerbar_font" | "pattern_centerbar_back_standby" | "pattern_centerbar_font_standby" | "pattern_selection" | "pattern_standby_selection" | "pattern_mute_state" | "automation_grid" | "automation_line_edge" | "automation_line_fill" | "automation_point" | "automation_marker_play" | "automation_marker_single" | "automation_marker_pair" | "automation_marker_diamond" | "vumeter_meter" | "vumeter_meter_low" | "vumeter_meter_middle" | "vumeter_meter_high" | "vumeter_peak" | "vumeter_back_normal" | "vumeter_back_clipped" | "default_color_01" | "default_color_02" | "default_color_03" | "default_color_04" | "default_color_05" | "default_color_06" | "default_color_07" | "default_color_08" | "default_color_09" | "default_color_10" | "default_color_11" | "default_color_12" | "default_color_13" | "default_color_14" | "default_color_15" | "default_color_16"
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewId
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
ButtonSwitchProperties
Properties
active : ControlActive
?
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
midi_mapping : ControlMidiMappingString
?
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
bind : ViewNumberObservable
?
Bind the view's value to a renoise.Document.ObservableNumber object. Automatically keep them in sync. The view will change the Observable value as soon as its value changes and change the view's value as soon as the Observable's value changes. Notifiers can be added to either the view or the Observable object.
value : SelectedItem
?
The currently selected item's index
notifier : IntegerNotifier
?
Set up a notifier that will be called whenever a new item is picked
items : ItemLabels
?
A list of buttons labels to show in order. Must have more than one item.
id : ViewId
?
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
visible : ViewVisibility
?
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
?
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
?
Deprecated. Use property
size
instead.
height : ViewDimension
?
Deprecated. Use property
size
instead.
size : ViewSize
?
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
?
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
?
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
Aliases
ControlActive
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
ControlMidiMappingString
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
IntegerNotifier
IntegerValueNotifierFunction
| IntegerValueNotifierMethod1
| IntegerValueNotifierMethod2
Set up a notifier that will be called whenever a new item is picked
IntegerValueNotifierFunction
(value : integer
)
IntegerValueNotifierMemberFunction
(self : NotifierMemberContext
, value : integer
)
IntegerValueNotifierMethod1
{ 1 : NotifierMemberContext
, 2 : IntegerValueNotifierMemberFunction
}
IntegerValueNotifierMethod2
{ 1 : IntegerValueNotifierMemberFunction
, 2 : NotifierMemberContext
}
ItemLabels
string
[]
A list of buttons labels to show in order. Must have more than one item.
NotifierFunction
fun()
NotifierMemberContext
SelectedItem
The currently selected item's index
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewId
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
ViewNumberObservable
renoise.Document.ObservableNumber
Bind the view's value to a renoise.Document.ObservableNumber object. Automatically keep them in sync. The view will change the Observable value as soon as its value changes and change the view's value as soon as the Observable's value changes. Notifiers can be added to either the view or the Observable object.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
CanvasViewProperties
Properties
mode : CanvasMode
?
How to draw the canvas context to screen: "transparent" draws with alpha from the canvas, "plain" ignores alpha values, which usually is a lot faster to draw. Use "plain" to speed up drawing background alike canvas views which cover the entire view area. Default: "transparent"
render : CanvasRenderFunction
?
Rendering callback for a canvas.
To update the canvas, use the canvas view's
update
function. This will will schedule a new drawing as soon as the backend is ready to draw. Always draw a complete image here, as the canvas will be completely empty in each new render call.UI scaling: the canvas context by default is set up, so that the global UI scaling gets applied. So all positions in the canvas context by default use view sizes and not pixels. If you want to draw in a raw pixel resolution reset the canvas transformation via
context.set_transform(1.0, 0.0, 0.0, 1.0, 0.0, 0.0)
To query the actual canvas size in pixels, use the context'ssize
property.
mouse_handler : MouseHandler
?
Optional mouse event handler for a view. return nil when the event got handled to stop propagating the event. return the event instance, as passed, to pass it to the next view in the view hirarchy.
mouse_events : MouseEventTypes
?
The mouse event types that should be passed to your
mouse_handler
function. By default:{ "down", "up", "double" }
Avoid adding event types that you don't use, especially "move" events as they do create quite some overhead. Also note that when enabling "drag", sub view controls can no longer handle drag events, even when you pass back the event in the handler, so only enable it when you want to completely override mouse drag behavior of all your content views.
views : CanvasChildViews
?
The canvas view's optional child views. Views can later on also be added and removed dynamically after construction via
stack:add_view(child)
andstack:remove_view(child)
id : ViewId
?
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
visible : ViewVisibility
?
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
?
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
?
Deprecated. Use property
size
instead.
height : ViewDimension
?
Deprecated. Use property
size
instead.
size : ViewSize
?
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
?
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
?
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
Aliases
CanvasChildViews
The canvas view's optional child views. Views can later on also be added and removed dynamically after construction via
stack:add_view(child)
andstack:remove_view(child)
CanvasMode
"plain"
| "transparent"
-- How to draw the canvas context to screen: "transparent" draws with alpha from -- the canvas, "plain" ignores alpha values, which usually is a lot faster to draw. -- Use "plain" to speed up drawing background alike canvas views which cover the -- entire view area. Default: "transparent" CanvasMode: | "plain" | "transparent"
CanvasRenderFunction
(context : renoise.Views.Canvas.Context
)
Rendering callback for a canvas.
To update the canvas, use the canvas view's
update
function. This will will schedule a new drawing as soon as the backend is ready to draw. Always draw a complete image here, as the canvas will be completely empty in each new render call.UI scaling: the canvas context by default is set up, so that the global UI scaling gets applied. So all positions in the canvas context by default use view sizes and not pixels. If you want to draw in a raw pixel resolution reset the canvas transformation via
context.set_transform(1.0, 0.0, 0.0, 1.0, 0.0, 0.0)
To query the actual canvas size in pixels, use the context'ssize
property.
MouseEventButton
"left"
| "middle"
| "right"
-- Mouse button of a `MouseEvent` of type "up"|"down"|"double"|"drag". MouseEventButton: | "left" | "right" | "middle"
MouseEventType
"double"
| "down"
| "drag"
| "enter"
| "exit"
| "move"
| "up"
| "wheel"
-- Event type of a `MouseEvent`. MouseEventType: | "enter" | "exit" | "move" | "down" | "up" | "double" | "drag" | "wheel"
MouseEventTypes
The mouse event types that should be passed to your
mouse_handler
function. By default:{ "down", "up", "double" }
Avoid adding event types that you don't use, especially "move" events as they do create quite some overhead. Also note that when enabling "drag", sub view controls can no longer handle drag events, even when you pass back the event in the handler, so only enable it when you want to completely override mouse drag behavior of all your content views.
MouseEventWheelDirection
"down"
| "left"
| "right"
| "up"
-- Mouse wheel direction in a `MouseEvent` of type "wheel". MouseEventWheelDirection: | "up" | "down" | "left" | "right"
MouseHandler
MouseHandlerNotifierFunction
| MouseHandlerNotifierMethod1
| MouseHandlerNotifierMethod2
Optional mouse event handler for a view. return nil when the event got handled to stop propagating the event. return the event instance, as passed, to pass it to the next view in the view hirarchy.
MouseHandlerNotifierFunction
(event : MouseEvent
) ->
MouseEvent
?
MouseHandlerNotifierMemberFunction
(self : NotifierMemberContext
, event : MouseEvent
) ->
MouseEvent
?
MouseHandlerNotifierMethod1
{ 1 : NotifierMemberContext
, 2 : MouseHandlerNotifierMemberFunction
}
MouseHandlerNotifierMethod2
{ 1 : MouseHandlerNotifierMemberFunction
, 2 : NotifierMemberContext
}
NotifierMemberContext
RGBAColor
{ 1 : integer
, 2 : integer
, 3 : integer
, 4 : integer
}
A table of 4 bytes (ranging from 0 to 255) representing the red, green, blue, alpha channels of a color. {0xFF, 0xFF, 0xFF, 0xFF} is white {165, 73, 35, 0x80} is the red from the Renoise logo, half opaque.
RGBColor
{ 1 : integer
, 2 : integer
, 3 : integer
}
A table of 3 bytes (ranging from 0 to 255) representing the red, green and blue channels of a color. {0xFF, 0xFF, 0xFF} is white {165, 73, 35} is the red from the Renoise logo
ThemeColor
"alternate_main_back"
| "alternate_main_font"
| "automation_grid"
| "automation_line_edge"
| "automation_line_fill"
| "automation_marker_diamond"
| "automation_marker_pair"
| "automation_marker_play"
| "automation_marker_single"
| "automation_point"
| "body_back"
| "body_font"
| "button_back"
| "button_font"
| "button_highlight_font"
| "default_color_01"
| "default_color_02"
| "default_color_03"
| "default_color_04"
| "default_color_05"
| "default_color_06"
| "default_color_07"
| "default_color_08"
| "default_color_09"
| "default_color_10"
| "default_color_11"
| "default_color_12"
| "default_color_13"
| "default_color_14"
| "default_color_15"
| "default_color_16"
| "folder"
| "main_back"
| "main_font"
| "midi_mapping_back"
| "midi_mapping_font"
| "pattern_centerbar_back"
| "pattern_centerbar_back_standby"
| "pattern_centerbar_font"
| "pattern_centerbar_font_standby"
| "pattern_default_back"
| "pattern_default_font"
| "pattern_default_font_delay"
| "pattern_default_font_dspfx"
| "pattern_default_font_global"
| "pattern_default_font_other"
| "pattern_default_font_panning"
| "pattern_default_font_pitch"
| "pattern_default_font_unused"
| "pattern_default_font_volume"
| "pattern_highlighted_back"
| "pattern_highlighted_font"
| "pattern_highlighted_font_delay"
| "pattern_highlighted_font_dspfx"
| "pattern_highlighted_font_global"
| "pattern_highlighted_font_other"
| "pattern_highlighted_font_panning"
| "pattern_highlighted_font_pitch"
| "pattern_highlighted_font_unused"
| "pattern_highlighted_font_volume"
| "pattern_mute_state"
| "pattern_playposition_back"
| "pattern_playposition_font"
| "pattern_selection"
| "pattern_standby_selection"
| "scrollbar"
| "selected_button_back"
| "selected_button_font"
| "selection_back"
| "selection_font"
| "slider"
| "standby_selection_back"
| "standby_selection_font"
| "strong_body_font"
| "tooltip_back"
| "tooltip_font"
| "valuebox_back"
| "valuebox_font"
| "valuebox_font_icons"
| "vumeter_back_clipped"
| "vumeter_back_normal"
| "vumeter_meter"
| "vumeter_meter_high"
| "vumeter_meter_low"
| "vumeter_meter_middle"
| "vumeter_peak"
-- The application theme's colors ThemeColor: | "main_back" | "main_font" | "alternate_main_back" | "alternate_main_font" | "body_back" | "body_font" | "strong_body_font" | "button_back" | "button_font" | "button_highlight_font" | "selected_button_back" | "selected_button_font" | "selection_back" | "selection_font" | "standby_selection_back" | "standby_selection_font" | "midi_mapping_back" | "midi_mapping_font" | "tooltip_back" | "tooltip_font" | "valuebox_back" | "valuebox_font" | "valuebox_font_icons" | "scrollbar" | "slider" | "folder" | "pattern_default_back" | "pattern_default_font" | "pattern_default_font_volume" | "pattern_default_font_panning" | "pattern_default_font_pitch" | "pattern_default_font_delay" | "pattern_default_font_global" | "pattern_default_font_other" | "pattern_default_font_dspfx" | "pattern_default_font_unused" | "pattern_highlighted_back" | "pattern_highlighted_font" | "pattern_highlighted_font_volume" | "pattern_highlighted_font_panning" | "pattern_highlighted_font_pitch" | "pattern_highlighted_font_delay" | "pattern_highlighted_font_global" | "pattern_highlighted_font_other" | "pattern_highlighted_font_dspfx" | "pattern_highlighted_font_unused" | "pattern_playposition_back" | "pattern_playposition_font" | "pattern_centerbar_back" | "pattern_centerbar_font" | "pattern_centerbar_back_standby" | "pattern_centerbar_font_standby" | "pattern_selection" | "pattern_standby_selection" | "pattern_mute_state" | "automation_grid" | "automation_line_edge" | "automation_line_fill" | "automation_point" | "automation_marker_play" | "automation_marker_single" | "automation_marker_pair" | "automation_marker_diamond" | "vumeter_meter" | "vumeter_meter_low" | "vumeter_meter_middle" | "vumeter_meter_high" | "vumeter_peak" | "vumeter_back_normal" | "vumeter_back_clipped" | "default_color_01" | "default_color_02" | "default_color_03" | "default_color_04" | "default_color_05" | "default_color_06" | "default_color_07" | "default_color_08" | "default_color_09" | "default_color_10" | "default_color_11" | "default_color_12" | "default_color_13" | "default_color_14" | "default_color_15" | "default_color_16"
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewId
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
CheckBoxProperties
Properties
bind : ViewBooleanObservable
?
Bind the view's value to a renoise.Document.ObservableBoolean object. Automatically keep them in sync. The view will change the Observable value as soon as its value changes and change the view's value as soon as the Observable's value changes. Notifiers can be added to either the view or the Observable object.
value : CheckBoxBoolean
?
The current state of the checkbox, expressed as boolean.
- Default: false
notifier : CheckBoxBooleanNotifier
?
A notifier for when the checkbox is toggled
active : ControlActive
?
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
midi_mapping : ControlMidiMappingString
?
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
id : ViewId
?
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
visible : ViewVisibility
?
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
?
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
?
Deprecated. Use property
size
instead.
height : ViewDimension
?
Deprecated. Use property
size
instead.
size : ViewSize
?
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
?
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
?
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
Aliases
BooleanValueNotifierFunction
(value : boolean
)
BooleanValueNotifierMemberFunction
(self : NotifierMemberContext
, value : boolean
)
BooleanValueNotifierMethod1
{ 1 : NotifierMemberContext
, 2 : BooleanValueNotifierMemberFunction
}
BooleanValueNotifierMethod2
{ 1 : BooleanValueNotifierMemberFunction
, 2 : NotifierMemberContext
}
CheckBoxBoolean
The current state of the checkbox, expressed as boolean.
- Default: false
CheckBoxBooleanNotifier
BooleanValueNotifierFunction
| BooleanValueNotifierMethod1
| BooleanValueNotifierMethod2
A notifier for when the checkbox is toggled
ControlActive
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
ControlMidiMappingString
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
NotifierFunction
fun()
NotifierMemberContext
ViewBooleanObservable
renoise.Document.ObservableBoolean
Bind the view's value to a renoise.Document.ObservableBoolean object. Automatically keep them in sync. The view will change the Observable value as soon as its value changes and change the view's value as soon as the Observable's value changes. Notifiers can be added to either the view or the Observable object.
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewId
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
ChooserProperties
Properties
bind : ViewNumberObservable
?
Bind the view's value to a renoise.Document.ObservableNumber object. Automatically keep them in sync. The view will change the Observable value as soon as its value changes and change the view's value as soon as the Observable's value changes. Notifiers can be added to either the view or the Observable object.
value : SelectedItem
?
The currently selected item's index
notifier : IntegerNotifier
?
Set up a notifier that will be called whenever a new item is picked
items : ItemLabels
?
A list of buttons labels to show in order. Must have more than one item.
active : ControlActive
?
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
midi_mapping : ControlMidiMappingString
?
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
id : ViewId
?
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
visible : ViewVisibility
?
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
?
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
?
Deprecated. Use property
size
instead.
height : ViewDimension
?
Deprecated. Use property
size
instead.
size : ViewSize
?
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
?
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
?
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
Aliases
ControlActive
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
ControlMidiMappingString
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
IntegerNotifier
IntegerValueNotifierFunction
| IntegerValueNotifierMethod1
| IntegerValueNotifierMethod2
Set up a notifier that will be called whenever a new item is picked
IntegerValueNotifierFunction
(value : integer
)
IntegerValueNotifierMemberFunction
(self : NotifierMemberContext
, value : integer
)
IntegerValueNotifierMethod1
{ 1 : NotifierMemberContext
, 2 : IntegerValueNotifierMemberFunction
}
IntegerValueNotifierMethod2
{ 1 : IntegerValueNotifierMemberFunction
, 2 : NotifierMemberContext
}
ItemLabels
string
[]
A list of buttons labels to show in order. Must have more than one item.
NotifierFunction
fun()
NotifierMemberContext
SelectedItem
The currently selected item's index
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewId
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
ViewNumberObservable
renoise.Document.ObservableNumber
Bind the view's value to a renoise.Document.ObservableNumber object. Automatically keep them in sync. The view will change the Observable value as soon as its value changes and change the view's value as soon as the Observable's value changes. Notifiers can be added to either the view or the Observable object.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
MiniSliderProperties
Properties
active : ControlActive
?
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
midi_mapping : ControlMidiMappingString
?
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
bind : ViewNumberObservable
?
Bind the view's value to a renoise.Document.ObservableNumber object. Automatically keep them in sync. The view will change the Observable value as soon as its value changes and change the view's value as soon as the Observable's value changes. Notifiers can be added to either the view or the Observable object.
value : SliderNumberValue
?
The current value of the view
notifier : NumberValueNotifier
?
Set up a value notifier that will be called whenever the value changes
polarity : SliderPolarity
?
Value polarity of the control. Bipolar controls show the value from the center to left and right or up and down and typically controls a range around zero, e.g. -1 to 1. Unipolar controls show the value from left to right or bottom to top.
- Default: "unipolar"
min : SliderMinValue
?
The minimum value that can be set using the view
- Default: 0
max : SliderMaxValue
?
The maximum value that can be set using the view
- Default: 1.0
default : SliderDefaultValue
?
The default value that will be re-applied on double-click
id : ViewId
?
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
visible : ViewVisibility
?
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
?
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
?
Deprecated. Use property
size
instead.
height : ViewDimension
?
Deprecated. Use property
size
instead.
size : ViewSize
?
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
?
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
?
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
Aliases
ControlActive
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
ControlMidiMappingString
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
NotifierFunction
fun()
NotifierMemberContext
NumberValueNotifier
NumberValueNotifierFunction
| NumberValueNotifierMethod1
| NumberValueNotifierMethod2
Set up a value notifier that will be called whenever the value changes
NumberValueNotifierFunction
(value : number
)
NumberValueNotifierMemberFunction
(self : NotifierMemberContext
, value : number
)
NumberValueNotifierMethod1
{ 1 : NotifierMemberContext
, 2 : NumberValueNotifierMemberFunction
}
NumberValueNotifierMethod2
{ 1 : NumberValueNotifierMemberFunction
, 2 : NotifierMemberContext
}
SliderDefaultValue
The default value that will be re-applied on double-click
SliderMaxValue
The maximum value that can be set using the view
- Default: 1.0
SliderMinValue
The minimum value that can be set using the view
- Default: 0
SliderNumberValue
The current value of the view
SliderPolarity
"bipolar"
| "unipolar"
-- Value polarity of the control. Bipolar controls show the value from the -- center to left and right or up and down and typically controls a range -- around zero, e.g. -1 to 1. Unipolar controls show the value from left to -- right or bottom to top. -- * Default: "unipolar" SliderPolarity: | "unipolar" | "bipolar"
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewId
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
ViewNumberObservable
renoise.Document.ObservableNumber
Bind the view's value to a renoise.Document.ObservableNumber object. Automatically keep them in sync. The view will change the Observable value as soon as its value changes and change the view's value as soon as the Observable's value changes. Notifiers can be added to either the view or the Observable object.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
MouseEvent
Mouse event as passed to a layout view's "mouse_handler" function.
Properties
type : MouseEventType
Mouse event type. Only enabled types are passed to the handler.
button : MouseEventButton
?
For "up"|"down"|"double"|"drag" events, the mouse button which got pressed, nil for all other events.
direction : MouseEventWheelDirection
?
For "wheel" events, the wheel's direction, nil for all other events.
position : { x : number
, y : number
}
Mouse cursor position in relative coordinates to the layout.
modifier_flags : { alt : boolean
, control : boolean
, meta : boolean
, shift : boolean
}
Currently pressed (held down) keyboard modifier buttons.
button_flags : { left : boolean
, middle : boolean
, right : boolean
}
Currently pressed (held down) mouse buttons.
hover_views : { id : string
, view : renoise.Views.View
}[]
List of sub views and possible layout subview's subviews, that are located below the mouse cursor. In other words: all views that are located below the mouse cursor. The list is orderd by containing the top-most visible view first, so you usually will need to check the first table entry only.
NB: Only views that got created with the same view builder instance as the layout, and only subviews with valid viewbuilder "id"s will show up here!
Aliases
MouseEventButton
"left"
| "middle"
| "right"
-- Mouse button of a `MouseEvent` of type "up"|"down"|"double"|"drag". MouseEventButton: | "left" | "right" | "middle"
MouseEventType
"double"
| "down"
| "drag"
| "enter"
| "exit"
| "move"
| "up"
| "wheel"
-- Event type of a `MouseEvent`. MouseEventType: | "enter" | "exit" | "move" | "down" | "up" | "double" | "drag" | "wheel"
MouseEventWheelDirection
"down"
| "left"
| "right"
| "up"
-- Mouse wheel direction in a `MouseEvent` of type "wheel". MouseEventWheelDirection: | "up" | "down" | "left" | "right"
MultilineTextFieldProperties
Properties
bind : ViewStringListObservable
?
Bind the view's value to a renoise.Document.ObservableStringList object. Automatically keep them in sync. The view will change the Observable value as soon as its value changes and change the view's value as soon as the Observable's value changes. Notifiers can be added to either the view or the Observable object.
active : TextActive
?
When false, text is displayed but can not be entered/modified by the user.
- Default: true
value : TextMultilineString
?
The text that should be displayed. Newlines (Windows, Mac or Unix styled) in the text can be used to create paragraphs.
notifier : StringChangeNotifier
?
Set up a notifier for text changes
text : TextValueAlias
?
Exactly the same as "value"; provided for consistency.
- Default: ""
paragraphs : TextParagraphs
?
A table of text lines to be used instead of specifying a single text line with newline characters like "text"
- Default: []
font : TextFontStyle
?
The style that the text should be displayed with.
style : TextBackgroundStyle
?
Setup the text view's background:
edit_mode : TextEditMode
?
True when the text field is focused. setting it at run-time programmatically will focus the text field or remove the focus (focus the dialog) accordingly.
- Default: false
id : ViewId
?
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
visible : ViewVisibility
?
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
?
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
?
Deprecated. Use property
size
instead.
height : ViewDimension
?
Deprecated. Use property
size
instead.
size : ViewSize
?
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
?
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
?
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
Aliases
ListElementAdded
{ index : integer
, type : "insert"
}
ListElementChange
ListElementAdded
| ListElementRemoved
| ListElementsSwapped
ListElementRemoved
{ index : integer
, type : "removed"
}
ListElementsSwapped
{ index1 : integer
, index2 : integer
, type : "swapped"
}
ListNotifierFunction
(change : ListElementChange
)
ListNotifierMemberContext
NotifierMemberContext
StringChangeNotifier
StringValueNotifierFunction
| StringValueNotifierMethod1
| StringValueNotifierMethod2
Set up a notifier for text changes
StringValueNotifierFunction
(value : string
)
StringValueNotifierMemberFunction
(self : NotifierMemberContext
, value : string
)
StringValueNotifierMethod1
{ 1 : NotifierMemberContext
, 2 : StringValueNotifierMemberFunction
}
StringValueNotifierMethod2
{ 1 : StringValueNotifierMemberFunction
, 2 : NotifierMemberContext
}
TextActive
When false, text is displayed but can not be entered/modified by the user.
- Default: true
TextBackgroundStyle
"body"
| "border"
| "strong"
-- Setup the text view's background: TextBackgroundStyle: | "body" -- simple text color with no background | "strong" -- stronger text color with no background | "border" -- text on a bordered background
TextEditMode
True when the text field is focused. setting it at run-time programmatically will focus the text field or remove the focus (focus the dialog) accordingly.
- Default: false
TextFontStyle
"big"
| "bold"
| "code"
| "italic"
| "mono"
| "normal"
-- The style that the text should be displayed with. TextFontStyle: | "normal" -- (Default) | "big" -- big text | "bold" -- bold font | "italic" -- italic font | "mono" -- monospace font | "code" -- monospace code font
TextMultilineString
The text that should be displayed. Newlines (Windows, Mac or Unix styled) in the text can be used to create paragraphs.
TextParagraphs
string
[]
A table of text lines to be used instead of specifying a single text line with newline characters like "text"
- Default: []
TextValueAlias
Exactly the same as "value"; provided for consistency.
- Default: ""
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewId
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewStringListObservable
renoise.Document.ObservableStringList
Bind the view's value to a renoise.Document.ObservableStringList object. Automatically keep them in sync. The view will change the Observable value as soon as its value changes and change the view's value as soon as the Observable's value changes. Notifiers can be added to either the view or the Observable object.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
MultilineTextViewProperties
Properties
text : TextMultilineString
?
The text that should be displayed. Newlines (Windows, Mac or Unix styled) in the text can be used to create paragraphs.
paragraphs : TextParagraphs
?
A table of text lines to be used instead of specifying a single text line with newline characters like "text"
- Default: []
font : TextFontStyle
?
The style that the text should be displayed with.
style : TextBackgroundStyle
?
Setup the text view's background:
id : ViewId
?
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
visible : ViewVisibility
?
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
?
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
?
Deprecated. Use property
size
instead.
height : ViewDimension
?
Deprecated. Use property
size
instead.
size : ViewSize
?
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
?
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
?
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
Aliases
TextBackgroundStyle
"body"
| "border"
| "strong"
-- Setup the text view's background: TextBackgroundStyle: | "body" -- simple text color with no background | "strong" -- stronger text color with no background | "border" -- text on a bordered background
TextFontStyle
"big"
| "bold"
| "code"
| "italic"
| "mono"
| "normal"
-- The style that the text should be displayed with. TextFontStyle: | "normal" -- (Default) | "big" -- big text | "bold" -- bold font | "italic" -- italic font | "mono" -- monospace font | "code" -- monospace code font
TextMultilineString
The text that should be displayed. Newlines (Windows, Mac or Unix styled) in the text can be used to create paragraphs.
TextParagraphs
string
[]
A table of text lines to be used instead of specifying a single text line with newline characters like "text"
- Default: []
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewId
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
PopUpMenuProperties
Properties
active : ControlActive
?
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
midi_mapping : ControlMidiMappingString
?
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
bind : ViewNumberObservable
?
Bind the view's value to a renoise.Document.ObservableNumber object. Automatically keep them in sync. The view will change the Observable value as soon as its value changes and change the view's value as soon as the Observable's value changes. Notifiers can be added to either the view or the Observable object.
value : SelectedItem
?
The currently selected item's index
notifier : IntegerNotifier
?
Set up a notifier that will be called whenever a new item is picked
items : PopupItemLabels
?
A list of buttons labels to show in order The list can be empty, then "None" is displayed and the value won't change.
id : ViewId
?
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
visible : ViewVisibility
?
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
?
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
?
Deprecated. Use property
size
instead.
height : ViewDimension
?
Deprecated. Use property
size
instead.
size : ViewSize
?
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
?
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
?
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
Aliases
ControlActive
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
ControlMidiMappingString
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
IntegerNotifier
IntegerValueNotifierFunction
| IntegerValueNotifierMethod1
| IntegerValueNotifierMethod2
Set up a notifier that will be called whenever a new item is picked
IntegerValueNotifierFunction
(value : integer
)
IntegerValueNotifierMemberFunction
(self : NotifierMemberContext
, value : integer
)
IntegerValueNotifierMethod1
{ 1 : NotifierMemberContext
, 2 : IntegerValueNotifierMemberFunction
}
IntegerValueNotifierMethod2
{ 1 : IntegerValueNotifierMemberFunction
, 2 : NotifierMemberContext
}
NotifierFunction
fun()
NotifierMemberContext
PopupItemLabels
string
[]
A list of buttons labels to show in order The list can be empty, then "None" is displayed and the value won't change.
SelectedItem
The currently selected item's index
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewId
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
ViewNumberObservable
renoise.Document.ObservableNumber
Bind the view's value to a renoise.Document.ObservableNumber object. Automatically keep them in sync. The view will change the Observable value as soon as its value changes and change the view's value as soon as the Observable's value changes. Notifiers can be added to either the view or the Observable object.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
RackViewProperties
Properties
margin : RackMargin
?
Set the "borders" of a rack (left, right, top and bottom inclusively)
- Default: 0 (no borders)
spacing : RackSpacing
?
Set the amount stacked child views are separated by (horizontally in rows, vertically in columns).
- Default: 0 (no spacing)
background : ViewBackgroundStyle
?
Setup a background style for the view.
uniform : RackUniformity
?
When set to true, all child views in the rack are automatically resized to the max size of all child views (width in ViewBuilder.column, height in ViewBuilder.row). This can be useful to automatically align all sub columns/panels to the same size. Resizing is done automatically, as soon as a child view size changes or new children are added.
- Default: false
mouse_handler : MouseHandler
?
Optional mouse event handler for a view. return nil when the event got handled to stop propagating the event. return the event instance, as passed, to pass it to the next view in the view hirarchy.
mouse_events : MouseEventTypes
?
The mouse event types that should be passed to your
mouse_handler
function. By default:{ "down", "up", "double" }
Avoid adding event types that you don't use, especially "move" events as they do create quite some overhead. Also note that when enabling "drag", sub view controls can no longer handle drag events, even when you pass back the event in the handler, so only enable it when you want to completely override mouse drag behavior of all your content views.
views : RackChildViews
?
The rack view's initial child views. Views can later on also be added and removed dynamically after construction via
rack:add_view(child)
andrack:remove_view(child)
style : ViewBackgroundStyle
?
Deprecated Use
background
instead.
id : ViewId
?
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
visible : ViewVisibility
?
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
?
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
?
Deprecated. Use property
size
instead.
height : ViewDimension
?
Deprecated. Use property
size
instead.
size : ViewSize
?
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
?
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
?
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
Aliases
MouseEventButton
"left"
| "middle"
| "right"
-- Mouse button of a `MouseEvent` of type "up"|"down"|"double"|"drag". MouseEventButton: | "left" | "right" | "middle"
MouseEventType
"double"
| "down"
| "drag"
| "enter"
| "exit"
| "move"
| "up"
| "wheel"
-- Event type of a `MouseEvent`. MouseEventType: | "enter" | "exit" | "move" | "down" | "up" | "double" | "drag" | "wheel"
MouseEventTypes
The mouse event types that should be passed to your
mouse_handler
function. By default:{ "down", "up", "double" }
Avoid adding event types that you don't use, especially "move" events as they do create quite some overhead. Also note that when enabling "drag", sub view controls can no longer handle drag events, even when you pass back the event in the handler, so only enable it when you want to completely override mouse drag behavior of all your content views.
MouseEventWheelDirection
"down"
| "left"
| "right"
| "up"
-- Mouse wheel direction in a `MouseEvent` of type "wheel". MouseEventWheelDirection: | "up" | "down" | "left" | "right"
MouseHandler
MouseHandlerNotifierFunction
| MouseHandlerNotifierMethod1
| MouseHandlerNotifierMethod2
Optional mouse event handler for a view. return nil when the event got handled to stop propagating the event. return the event instance, as passed, to pass it to the next view in the view hirarchy.
MouseHandlerNotifierFunction
(event : MouseEvent
) ->
MouseEvent
?
MouseHandlerNotifierMemberFunction
(self : NotifierMemberContext
, event : MouseEvent
) ->
MouseEvent
?
MouseHandlerNotifierMethod1
{ 1 : NotifierMemberContext
, 2 : MouseHandlerNotifierMemberFunction
}
MouseHandlerNotifierMethod2
{ 1 : MouseHandlerNotifierMemberFunction
, 2 : NotifierMemberContext
}
NotifierMemberContext
RackChildViews
The rack view's initial child views. Views can later on also be added and removed dynamically after construction via
rack:add_view(child)
andrack:remove_view(child)
RackMargin
Set the "borders" of a rack (left, right, top and bottom inclusively)
- Default: 0 (no borders)
RackSpacing
Set the amount stacked child views are separated by (horizontally in rows, vertically in columns).
- Default: 0 (no spacing)
RackUniformity
When set to true, all child views in the rack are automatically resized to the max size of all child views (width in ViewBuilder.column, height in ViewBuilder.row). This can be useful to automatically align all sub columns/panels to the same size. Resizing is done automatically, as soon as a child view size changes or new children are added.
- Default: false
ViewBackgroundStyle
"body"
| "border"
| "group"
| "invisible"
| "panel"
| "plain"
-- Setup a background style for the view. ViewBackgroundStyle: | "invisible" -- no background (Default) | "plain" -- undecorated, single coloured background | "border" -- same as plain, but with a bold nested border | "body" -- main "background" style, as used in dialog backgrounds | "panel" -- alternative "background" style, beveled | "group" -- background for "nested" groups within body
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewId
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
RotaryEncoderProperties
Properties
active : ControlActive
?
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
midi_mapping : ControlMidiMappingString
?
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
bind : ViewNumberObservable
?
Bind the view's value to a renoise.Document.ObservableNumber object. Automatically keep them in sync. The view will change the Observable value as soon as its value changes and change the view's value as soon as the Observable's value changes. Notifiers can be added to either the view or the Observable object.
value : SliderNumberValue
?
The current value of the view
notifier : NumberValueNotifier
?
Set up a value notifier that will be called whenever the value changes
polarity : SliderPolarity
?
Value polarity of the control. Bipolar controls show the value from the center to left and right or up and down and typically controls a range around zero, e.g. -1 to 1. Unipolar controls show the value from left to right or bottom to top.
- Default: "unipolar"
min : SliderMinValue
?
The minimum value that can be set using the view
- Default: 0
max : SliderMaxValue
?
The maximum value that can be set using the view
- Default: 1.0
default : SliderDefaultValue
?
The default value that will be re-applied on double-click
id : ViewId
?
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
visible : ViewVisibility
?
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
?
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
?
Deprecated. Use property
size
instead.
height : ViewDimension
?
Deprecated. Use property
size
instead.
size : ViewSize
?
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
?
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
?
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
Aliases
ControlActive
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
ControlMidiMappingString
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
NotifierFunction
fun()
NotifierMemberContext
NumberValueNotifier
NumberValueNotifierFunction
| NumberValueNotifierMethod1
| NumberValueNotifierMethod2
Set up a value notifier that will be called whenever the value changes
NumberValueNotifierFunction
(value : number
)
NumberValueNotifierMemberFunction
(self : NotifierMemberContext
, value : number
)
NumberValueNotifierMethod1
{ 1 : NotifierMemberContext
, 2 : NumberValueNotifierMemberFunction
}
NumberValueNotifierMethod2
{ 1 : NumberValueNotifierMemberFunction
, 2 : NotifierMemberContext
}
SliderDefaultValue
The default value that will be re-applied on double-click
SliderMaxValue
The maximum value that can be set using the view
- Default: 1.0
SliderMinValue
The minimum value that can be set using the view
- Default: 0
SliderNumberValue
The current value of the view
SliderPolarity
"bipolar"
| "unipolar"
-- Value polarity of the control. Bipolar controls show the value from the -- center to left and right or up and down and typically controls a range -- around zero, e.g. -1 to 1. Unipolar controls show the value from left to -- right or bottom to top. -- * Default: "unipolar" SliderPolarity: | "unipolar" | "bipolar"
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewId
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
ViewNumberObservable
renoise.Document.ObservableNumber
Bind the view's value to a renoise.Document.ObservableNumber object. Automatically keep them in sync. The view will change the Observable value as soon as its value changes and change the view's value as soon as the Observable's value changes. Notifiers can be added to either the view or the Observable object.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
ScrollBarProperties
Properties
active : ControlActive
?
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
midi_mapping : ControlMidiMappingString
?
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
bind : ViewNumberObservable
?
Bind the view's value to a renoise.Document.ObservableNumber object. Automatically keep them in sync. The view will change the Observable value as soon as its value changes and change the view's value as soon as the Observable's value changes. Notifiers can be added to either the view or the Observable object.
value : ScrollbarValue
?
Default 0. Offset value in range
min to max - pagestep
.
notifier : NumberValueNotifier
?
Set up a value notifier that will be called whenever the value changes
min : ScrollbarMin
?
Default 0. Minimum offset value.
max : ScrollbarMax
?
Default 100. Maximum offset value.
step : ScrollbarStep
?
Default 1. Amount the mouse-wheel or additional +/- buttons in the scroll bar move the scrollable area.
pagestep : ScrollbarPagestep
?
Default 100. Size of the currently visible area.
background : ViewBackgroundStyle
?
Setup a background style for the view.
autohide : ScrollbarAutoHide
?
Default: false. When true, view gets automatically hidden when no scrolling is needed
id : ViewId
?
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
visible : ViewVisibility
?
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
?
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
?
Deprecated. Use property
size
instead.
height : ViewDimension
?
Deprecated. Use property
size
instead.
size : ViewSize
?
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
?
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
?
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
Aliases
ControlActive
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
ControlMidiMappingString
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
NotifierFunction
fun()
NotifierMemberContext
NumberValueNotifier
NumberValueNotifierFunction
| NumberValueNotifierMethod1
| NumberValueNotifierMethod2
Set up a value notifier that will be called whenever the value changes
NumberValueNotifierFunction
(value : number
)
NumberValueNotifierMemberFunction
(self : NotifierMemberContext
, value : number
)
NumberValueNotifierMethod1
{ 1 : NotifierMemberContext
, 2 : NumberValueNotifierMemberFunction
}
NumberValueNotifierMethod2
{ 1 : NumberValueNotifierMemberFunction
, 2 : NotifierMemberContext
}
ScrollbarAutoHide
Default: false. When true, view gets automatically hidden when no scrolling is needed
ScrollbarMax
Default 100. Maximum offset value.
ScrollbarMin
Default 0. Minimum offset value.
ScrollbarPagestep
Default 100. Size of the currently visible area.
ScrollbarStep
Default 1. Amount the mouse-wheel or additional +/- buttons in the scroll bar move the scrollable area.
ScrollbarValue
Default 0. Offset value in range
min to max - pagestep
.
ViewBackgroundStyle
"body"
| "border"
| "group"
| "invisible"
| "panel"
| "plain"
-- Setup a background style for the view. ViewBackgroundStyle: | "invisible" -- no background (Default) | "plain" -- undecorated, single coloured background | "border" -- same as plain, but with a bold nested border | "body" -- main "background" style, as used in dialog backgrounds | "panel" -- alternative "background" style, beveled | "group" -- background for "nested" groups within body
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewId
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
ViewNumberObservable
renoise.Document.ObservableNumber
Bind the view's value to a renoise.Document.ObservableNumber object. Automatically keep them in sync. The view will change the Observable value as soon as its value changes and change the view's value as soon as the Observable's value changes. Notifiers can be added to either the view or the Observable object.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
SliderProperties
Properties
active : ControlActive
?
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
midi_mapping : ControlMidiMappingString
?
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
bind : ViewNumberObservable
?
Bind the view's value to a renoise.Document.ObservableNumber object. Automatically keep them in sync. The view will change the Observable value as soon as its value changes and change the view's value as soon as the Observable's value changes. Notifiers can be added to either the view or the Observable object.
value : SliderNumberValue
?
The current value of the view
notifier : NumberValueNotifier
?
Set up a value notifier that will be called whenever the value changes
polarity : SliderPolarity
?
Value polarity of the control. Bipolar controls show the value from the center to left and right or up and down and typically controls a range around zero, e.g. -1 to 1. Unipolar controls show the value from left to right or bottom to top.
- Default: "unipolar"
min : SliderMinValue
?
The minimum value that can be set using the view
- Default: 0
max : SliderMaxValue
?
The maximum value that can be set using the view
- Default: 1.0
steps : SliderStepAmounts
?
A table containing two numbers representing the step amounts for incrementing and decrementing by clicking the <> buttons. The first value is the small step (applied on left clicks) second value is the big step (applied on right clicks)
default : SliderDefaultValue
?
The default value that will be re-applied on double-click
id : ViewId
?
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
visible : ViewVisibility
?
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
?
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
?
Deprecated. Use property
size
instead.
height : ViewDimension
?
Deprecated. Use property
size
instead.
size : ViewSize
?
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
?
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
?
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
Aliases
ControlActive
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
ControlMidiMappingString
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
NotifierFunction
fun()
NotifierMemberContext
NumberValueNotifier
NumberValueNotifierFunction
| NumberValueNotifierMethod1
| NumberValueNotifierMethod2
Set up a value notifier that will be called whenever the value changes
NumberValueNotifierFunction
(value : number
)
NumberValueNotifierMemberFunction
(self : NotifierMemberContext
, value : number
)
NumberValueNotifierMethod1
{ 1 : NotifierMemberContext
, 2 : NumberValueNotifierMemberFunction
}
NumberValueNotifierMethod2
{ 1 : NumberValueNotifierMemberFunction
, 2 : NotifierMemberContext
}
SliderDefaultValue
The default value that will be re-applied on double-click
SliderMaxValue
The maximum value that can be set using the view
- Default: 1.0
SliderMinValue
The minimum value that can be set using the view
- Default: 0
SliderNumberValue
The current value of the view
SliderPolarity
"bipolar"
| "unipolar"
-- Value polarity of the control. Bipolar controls show the value from the -- center to left and right or up and down and typically controls a range -- around zero, e.g. -1 to 1. Unipolar controls show the value from left to -- right or bottom to top. -- * Default: "unipolar" SliderPolarity: | "unipolar" | "bipolar"
SliderStepAmounts
A table containing two numbers representing the step amounts for incrementing and decrementing by clicking the <> buttons. The first value is the small step (applied on left clicks) second value is the big step (applied on right clicks)
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewId
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
ViewNumberObservable
renoise.Document.ObservableNumber
Bind the view's value to a renoise.Document.ObservableNumber object. Automatically keep them in sync. The view will change the Observable value as soon as its value changes and change the view's value as soon as the Observable's value changes. Notifiers can be added to either the view or the Observable object.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
StackViewProperties
Properties
autosize : StackAutoSize
?
When set to true, the width and height of the stack will be automatically calculated and updated from the stack's child views, to ensure all views fit into the stack. When disabled, the width and height must be set manually.
- Default: true
background : ViewBackgroundStyle
?
Setup a background style for the view.
mouse_handler : MouseHandler
?
Optional mouse event handler for a view. return nil when the event got handled to stop propagating the event. return the event instance, as passed, to pass it to the next view in the view hirarchy.
mouse_events : MouseEventTypes
?
The mouse event types that should be passed to your
mouse_handler
function. By default:{ "down", "up", "double" }
Avoid adding event types that you don't use, especially "move" events as they do create quite some overhead. Also note that when enabling "drag", sub view controls can no longer handle drag events, even when you pass back the event in the handler, so only enable it when you want to completely override mouse drag behavior of all your content views.
views : StackChildViews
?
The stack view's optional child views. Views can later on also be added and removed dynamically after construction via
stack:add_view(child)
andstack:remove_view(child)
id : ViewId
?
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
visible : ViewVisibility
?
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
?
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
?
Deprecated. Use property
size
instead.
height : ViewDimension
?
Deprecated. Use property
size
instead.
size : ViewSize
?
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
?
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
?
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
Aliases
MouseEventButton
"left"
| "middle"
| "right"
-- Mouse button of a `MouseEvent` of type "up"|"down"|"double"|"drag". MouseEventButton: | "left" | "right" | "middle"
MouseEventType
"double"
| "down"
| "drag"
| "enter"
| "exit"
| "move"
| "up"
| "wheel"
-- Event type of a `MouseEvent`. MouseEventType: | "enter" | "exit" | "move" | "down" | "up" | "double" | "drag" | "wheel"
MouseEventTypes
The mouse event types that should be passed to your
mouse_handler
function. By default:{ "down", "up", "double" }
Avoid adding event types that you don't use, especially "move" events as they do create quite some overhead. Also note that when enabling "drag", sub view controls can no longer handle drag events, even when you pass back the event in the handler, so only enable it when you want to completely override mouse drag behavior of all your content views.
MouseEventWheelDirection
"down"
| "left"
| "right"
| "up"
-- Mouse wheel direction in a `MouseEvent` of type "wheel". MouseEventWheelDirection: | "up" | "down" | "left" | "right"
MouseHandler
MouseHandlerNotifierFunction
| MouseHandlerNotifierMethod1
| MouseHandlerNotifierMethod2
Optional mouse event handler for a view. return nil when the event got handled to stop propagating the event. return the event instance, as passed, to pass it to the next view in the view hirarchy.
MouseHandlerNotifierFunction
(event : MouseEvent
) ->
MouseEvent
?
MouseHandlerNotifierMemberFunction
(self : NotifierMemberContext
, event : MouseEvent
) ->
MouseEvent
?
MouseHandlerNotifierMethod1
{ 1 : NotifierMemberContext
, 2 : MouseHandlerNotifierMemberFunction
}
MouseHandlerNotifierMethod2
{ 1 : MouseHandlerNotifierMemberFunction
, 2 : NotifierMemberContext
}
NotifierMemberContext
StackAutoSize
When set to true, the width and height of the stack will be automatically calculated and updated from the stack's child views, to ensure all views fit into the stack. When disabled, the width and height must be set manually.
- Default: true
StackChildViews
The stack view's optional child views. Views can later on also be added and removed dynamically after construction via
stack:add_view(child)
andstack:remove_view(child)
ViewBackgroundStyle
"body"
| "border"
| "group"
| "invisible"
| "panel"
| "plain"
-- Setup a background style for the view. ViewBackgroundStyle: | "invisible" -- no background (Default) | "plain" -- undecorated, single coloured background | "border" -- same as plain, but with a bold nested border | "body" -- main "background" style, as used in dialog backgrounds | "panel" -- alternative "background" style, beveled | "group" -- background for "nested" groups within body
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewId
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
TextFieldProperties
Properties
bind : ViewStringObservable
?
Bind the view's value to a renoise.Document.ObservableString object. Automatically keep them in sync. The view will change the Observable value as soon as its value changes and change the view's value as soon as the Observable's value changes. Notifiers can be added to either the view or the Observable object.
active : TextActive
?
When false, text is displayed but can not be entered/modified by the user.
- Default: true
value : TextValue
?
The currently shown text. The text will not be updated when editing, rather only after editing is complete (return is pressed, or focus is lost).
- Default: ""
notifier : StringChangeNotifier
?
Set up a notifier for text changes
text : TextValueAlias
?
Exactly the same as "value"; provided for consistency.
- Default: ""
align : TextAlignment
?
Setup the text's alignment. Applies only when the view's size is larger than the needed size to draw the text
edit_mode : TextEditMode
?
True when the text field is focused. setting it at run-time programmatically will focus the text field or remove the focus (focus the dialog) accordingly.
- Default: false
id : ViewId
?
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
visible : ViewVisibility
?
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
?
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
?
Deprecated. Use property
size
instead.
height : ViewDimension
?
Deprecated. Use property
size
instead.
size : ViewSize
?
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
?
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
?
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
Aliases
NotifierFunction
fun()
NotifierMemberContext
StringChangeNotifier
StringValueNotifierFunction
| StringValueNotifierMethod1
| StringValueNotifierMethod2
Set up a notifier for text changes
StringValueNotifierFunction
(value : string
)
StringValueNotifierMemberFunction
(self : NotifierMemberContext
, value : string
)
StringValueNotifierMethod1
{ 1 : NotifierMemberContext
, 2 : StringValueNotifierMemberFunction
}
StringValueNotifierMethod2
{ 1 : StringValueNotifierMemberFunction
, 2 : NotifierMemberContext
}
TextActive
When false, text is displayed but can not be entered/modified by the user.
- Default: true
TextAlignment
"center"
| "left"
| "right"
-- Setup the text's alignment. Applies only when the view's size is larger than -- the needed size to draw the text TextAlignment: | "left" -- (Default) | "right" -- aligned to the right | "center" -- center text
TextEditMode
True when the text field is focused. setting it at run-time programmatically will focus the text field or remove the focus (focus the dialog) accordingly.
- Default: false
TextValue
The currently shown text. The text will not be updated when editing, rather only after editing is complete (return is pressed, or focus is lost).
- Default: ""
TextValueAlias
Exactly the same as "value"; provided for consistency.
- Default: ""
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewId
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewStringObservable
renoise.Document.ObservableString
Bind the view's value to a renoise.Document.ObservableString object. Automatically keep them in sync. The view will change the Observable value as soon as its value changes and change the view's value as soon as the Observable's value changes. Notifiers can be added to either the view or the Observable object.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
TextLinkViewProperties
Properties
active : ControlActive
?
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
midi_mapping : ControlMidiMappingString
?
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
notifier : ButtonNotifier
?
A click notifier
pressed : ButtonNotifier
?
A click notifier
released : ButtonNotifier
?
A click notifier
text : TextSingleLineString
?
The text that should be displayed. Setting a new text will resize the view in order to make the text fully visible (expanding only).
- Default: ""
font : TextFontStyle
?
The style that the text should be displayed with.
style : TextStyle
?
Get/set the color style the text should be displayed with.
color : TextColor
?
When set, the text will be drawn in the specified color. Set style to something else than "custom" or color to
{0, 0, 0}
to enable the default theme color for the text again.
orientation : TextOrientation
?
Setup the texts's orientation (writing direction).
align : TextAlignment
?
Setup the text's alignment. Applies only when the view's size is larger than the needed size to draw the text
id : ViewId
?
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
visible : ViewVisibility
?
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
?
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
?
Deprecated. Use property
size
instead.
height : ViewDimension
?
Deprecated. Use property
size
instead.
size : ViewSize
?
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
?
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
?
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
Aliases
ButtonNotifier
NotifierFunction
| NotifierMethod1
| NotifierMethod2
A click notifier
ControlActive
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
ControlMidiMappingString
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
NotifierFunction
fun()
NotifierMemberContext
NotifierMemberFunction
(self : NotifierMemberContext
)
NotifierMethod1
{ 1 : NotifierMemberContext
, 2 : NotifierMemberFunction
}
NotifierMethod2
{ 1 : NotifierMemberFunction
, 2 : NotifierMemberContext
}
RGBColor
{ 1 : integer
, 2 : integer
, 3 : integer
}
A table of 3 bytes (ranging from 0 to 255) representing the red, green and blue channels of a color. {0xFF, 0xFF, 0xFF} is white {165, 73, 35} is the red from the Renoise logo
TextAlignment
"center"
| "left"
| "right"
-- Setup the text's alignment. Applies only when the view's size is larger than -- the needed size to draw the text TextAlignment: | "left" -- (Default) | "right" -- aligned to the right | "center" -- center text
TextColor
-- When set, the text will be drawn in the specified color. -- Set style to something else than "custom" or color to `{0, 0, 0}` -- to enable the default theme color for the text again. -- A table of 3 bytes (ranging from 0 to 255) -- representing the red, green and blue channels of a color. -- {0xFF, 0xFF, 0xFF} is white -- {165, 73, 35} is the red from the Renoise logo -- The application theme's colors TextColor: | "main_back" | "main_font" | "alternate_main_back" | "alternate_main_font" | "body_back" | "body_font" | "strong_body_font" | "button_back" | "button_font" | "button_highlight_font" | "selected_button_back" | "selected_button_font" | "selection_back" | "selection_font" | "standby_selection_back" | "standby_selection_font" | "midi_mapping_back" | "midi_mapping_font" | "tooltip_back" | "tooltip_font" | "valuebox_back" | "valuebox_font" | "valuebox_font_icons" | "scrollbar" | "slider" | "folder" | "pattern_default_back" | "pattern_default_font" | "pattern_default_font_volume" | "pattern_default_font_panning" | "pattern_default_font_pitch" | "pattern_default_font_delay" | "pattern_default_font_global" | "pattern_default_font_other" | "pattern_default_font_dspfx" | "pattern_default_font_unused" | "pattern_highlighted_back" | "pattern_highlighted_font" | "pattern_highlighted_font_volume" | "pattern_highlighted_font_panning" | "pattern_highlighted_font_pitch" | "pattern_highlighted_font_delay" | "pattern_highlighted_font_global" | "pattern_highlighted_font_other" | "pattern_highlighted_font_dspfx" | "pattern_highlighted_font_unused" | "pattern_playposition_back" | "pattern_playposition_font" | "pattern_centerbar_back" | "pattern_centerbar_font" | "pattern_centerbar_back_standby" | "pattern_centerbar_font_standby" | "pattern_selection" | "pattern_standby_selection" | "pattern_mute_state" | "automation_grid" | "automation_line_edge" | "automation_line_fill" | "automation_point" | "automation_marker_play" | "automation_marker_single" | "automation_marker_pair" | "automation_marker_diamond" | "vumeter_meter" | "vumeter_meter_low" | "vumeter_meter_middle" | "vumeter_meter_high" | "vumeter_peak" | "vumeter_back_normal" | "vumeter_back_clipped" | "default_color_01" | "default_color_02" | "default_color_03" | "default_color_04" | "default_color_05" | "default_color_06" | "default_color_07" | "default_color_08" | "default_color_09" | "default_color_10" | "default_color_11" | "default_color_12" | "default_color_13" | "default_color_14" | "default_color_15" | "default_color_16"
TextFontStyle
"big"
| "bold"
| "code"
| "italic"
| "mono"
| "normal"
-- The style that the text should be displayed with. TextFontStyle: | "normal" -- (Default) | "big" -- big text | "bold" -- bold font | "italic" -- italic font | "mono" -- monospace font | "code" -- monospace code font
TextOrientation
"horizontal"
| "horizontal-rl"
| "vertical"
| "vertical-tb"
-- Setup the texts's orientation (writing direction). TextOrientation: | "horizontal" -- Draw from left to right (Default) | "horizontal-rl" -- Draw from right to left | "vertical" -- Draw from bottom to top | "vertical-tb" -- Draw from top to bottom
TextSingleLineString
The text that should be displayed. Setting a new text will resize the view in order to make the text fully visible (expanding only).
- Default: ""
TextStyle
"custom"
| "disabled"
| "normal"
| "strong"
-- Get/set the color style the text should be displayed with. TextStyle: | "normal" -- (Default) | "strong" -- highlighted color | "disabled" -- greyed out color | "custom" -- custom color
ThemeColor
"alternate_main_back"
| "alternate_main_font"
| "automation_grid"
| "automation_line_edge"
| "automation_line_fill"
| "automation_marker_diamond"
| "automation_marker_pair"
| "automation_marker_play"
| "automation_marker_single"
| "automation_point"
| "body_back"
| "body_font"
| "button_back"
| "button_font"
| "button_highlight_font"
| "default_color_01"
| "default_color_02"
| "default_color_03"
| "default_color_04"
| "default_color_05"
| "default_color_06"
| "default_color_07"
| "default_color_08"
| "default_color_09"
| "default_color_10"
| "default_color_11"
| "default_color_12"
| "default_color_13"
| "default_color_14"
| "default_color_15"
| "default_color_16"
| "folder"
| "main_back"
| "main_font"
| "midi_mapping_back"
| "midi_mapping_font"
| "pattern_centerbar_back"
| "pattern_centerbar_back_standby"
| "pattern_centerbar_font"
| "pattern_centerbar_font_standby"
| "pattern_default_back"
| "pattern_default_font"
| "pattern_default_font_delay"
| "pattern_default_font_dspfx"
| "pattern_default_font_global"
| "pattern_default_font_other"
| "pattern_default_font_panning"
| "pattern_default_font_pitch"
| "pattern_default_font_unused"
| "pattern_default_font_volume"
| "pattern_highlighted_back"
| "pattern_highlighted_font"
| "pattern_highlighted_font_delay"
| "pattern_highlighted_font_dspfx"
| "pattern_highlighted_font_global"
| "pattern_highlighted_font_other"
| "pattern_highlighted_font_panning"
| "pattern_highlighted_font_pitch"
| "pattern_highlighted_font_unused"
| "pattern_highlighted_font_volume"
| "pattern_mute_state"
| "pattern_playposition_back"
| "pattern_playposition_font"
| "pattern_selection"
| "pattern_standby_selection"
| "scrollbar"
| "selected_button_back"
| "selected_button_font"
| "selection_back"
| "selection_font"
| "slider"
| "standby_selection_back"
| "standby_selection_font"
| "strong_body_font"
| "tooltip_back"
| "tooltip_font"
| "valuebox_back"
| "valuebox_font"
| "valuebox_font_icons"
| "vumeter_back_clipped"
| "vumeter_back_normal"
| "vumeter_meter"
| "vumeter_meter_high"
| "vumeter_meter_low"
| "vumeter_meter_middle"
| "vumeter_peak"
-- The application theme's colors ThemeColor: | "main_back" | "main_font" | "alternate_main_back" | "alternate_main_font" | "body_back" | "body_font" | "strong_body_font" | "button_back" | "button_font" | "button_highlight_font" | "selected_button_back" | "selected_button_font" | "selection_back" | "selection_font" | "standby_selection_back" | "standby_selection_font" | "midi_mapping_back" | "midi_mapping_font" | "tooltip_back" | "tooltip_font" | "valuebox_back" | "valuebox_font" | "valuebox_font_icons" | "scrollbar" | "slider" | "folder" | "pattern_default_back" | "pattern_default_font" | "pattern_default_font_volume" | "pattern_default_font_panning" | "pattern_default_font_pitch" | "pattern_default_font_delay" | "pattern_default_font_global" | "pattern_default_font_other" | "pattern_default_font_dspfx" | "pattern_default_font_unused" | "pattern_highlighted_back" | "pattern_highlighted_font" | "pattern_highlighted_font_volume" | "pattern_highlighted_font_panning" | "pattern_highlighted_font_pitch" | "pattern_highlighted_font_delay" | "pattern_highlighted_font_global" | "pattern_highlighted_font_other" | "pattern_highlighted_font_dspfx" | "pattern_highlighted_font_unused" | "pattern_playposition_back" | "pattern_playposition_font" | "pattern_centerbar_back" | "pattern_centerbar_font" | "pattern_centerbar_back_standby" | "pattern_centerbar_font_standby" | "pattern_selection" | "pattern_standby_selection" | "pattern_mute_state" | "automation_grid" | "automation_line_edge" | "automation_line_fill" | "automation_point" | "automation_marker_play" | "automation_marker_single" | "automation_marker_pair" | "automation_marker_diamond" | "vumeter_meter" | "vumeter_meter_low" | "vumeter_meter_middle" | "vumeter_meter_high" | "vumeter_peak" | "vumeter_back_normal" | "vumeter_back_clipped" | "default_color_01" | "default_color_02" | "default_color_03" | "default_color_04" | "default_color_05" | "default_color_06" | "default_color_07" | "default_color_08" | "default_color_09" | "default_color_10" | "default_color_11" | "default_color_12" | "default_color_13" | "default_color_14" | "default_color_15" | "default_color_16"
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewId
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
TextViewProperties
Properties
text : TextSingleLineString
?
The text that should be displayed. Setting a new text will resize the view in order to make the text fully visible (expanding only).
- Default: ""
font : TextFontStyle
?
The style that the text should be displayed with.
style : TextStyle
?
Get/set the color style the text should be displayed with.
color : TextColor
?
When set, the text will be drawn in the specified color. Set style to something else than "custom" or color to
{0, 0, 0}
to enable the default theme color for the text again.
orientation : TextOrientation
?
Setup the texts's orientation (writing direction).
align : TextAlignment
?
Setup the text's alignment. Applies only when the view's size is larger than the needed size to draw the text
id : ViewId
?
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
visible : ViewVisibility
?
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
?
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
?
Deprecated. Use property
size
instead.
height : ViewDimension
?
Deprecated. Use property
size
instead.
size : ViewSize
?
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
?
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
?
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
Aliases
RGBColor
{ 1 : integer
, 2 : integer
, 3 : integer
}
A table of 3 bytes (ranging from 0 to 255) representing the red, green and blue channels of a color. {0xFF, 0xFF, 0xFF} is white {165, 73, 35} is the red from the Renoise logo
TextAlignment
"center"
| "left"
| "right"
-- Setup the text's alignment. Applies only when the view's size is larger than -- the needed size to draw the text TextAlignment: | "left" -- (Default) | "right" -- aligned to the right | "center" -- center text
TextColor
-- When set, the text will be drawn in the specified color. -- Set style to something else than "custom" or color to `{0, 0, 0}` -- to enable the default theme color for the text again. -- A table of 3 bytes (ranging from 0 to 255) -- representing the red, green and blue channels of a color. -- {0xFF, 0xFF, 0xFF} is white -- {165, 73, 35} is the red from the Renoise logo -- The application theme's colors TextColor: | "main_back" | "main_font" | "alternate_main_back" | "alternate_main_font" | "body_back" | "body_font" | "strong_body_font" | "button_back" | "button_font" | "button_highlight_font" | "selected_button_back" | "selected_button_font" | "selection_back" | "selection_font" | "standby_selection_back" | "standby_selection_font" | "midi_mapping_back" | "midi_mapping_font" | "tooltip_back" | "tooltip_font" | "valuebox_back" | "valuebox_font" | "valuebox_font_icons" | "scrollbar" | "slider" | "folder" | "pattern_default_back" | "pattern_default_font" | "pattern_default_font_volume" | "pattern_default_font_panning" | "pattern_default_font_pitch" | "pattern_default_font_delay" | "pattern_default_font_global" | "pattern_default_font_other" | "pattern_default_font_dspfx" | "pattern_default_font_unused" | "pattern_highlighted_back" | "pattern_highlighted_font" | "pattern_highlighted_font_volume" | "pattern_highlighted_font_panning" | "pattern_highlighted_font_pitch" | "pattern_highlighted_font_delay" | "pattern_highlighted_font_global" | "pattern_highlighted_font_other" | "pattern_highlighted_font_dspfx" | "pattern_highlighted_font_unused" | "pattern_playposition_back" | "pattern_playposition_font" | "pattern_centerbar_back" | "pattern_centerbar_font" | "pattern_centerbar_back_standby" | "pattern_centerbar_font_standby" | "pattern_selection" | "pattern_standby_selection" | "pattern_mute_state" | "automation_grid" | "automation_line_edge" | "automation_line_fill" | "automation_point" | "automation_marker_play" | "automation_marker_single" | "automation_marker_pair" | "automation_marker_diamond" | "vumeter_meter" | "vumeter_meter_low" | "vumeter_meter_middle" | "vumeter_meter_high" | "vumeter_peak" | "vumeter_back_normal" | "vumeter_back_clipped" | "default_color_01" | "default_color_02" | "default_color_03" | "default_color_04" | "default_color_05" | "default_color_06" | "default_color_07" | "default_color_08" | "default_color_09" | "default_color_10" | "default_color_11" | "default_color_12" | "default_color_13" | "default_color_14" | "default_color_15" | "default_color_16"
TextFontStyle
"big"
| "bold"
| "code"
| "italic"
| "mono"
| "normal"
-- The style that the text should be displayed with. TextFontStyle: | "normal" -- (Default) | "big" -- big text | "bold" -- bold font | "italic" -- italic font | "mono" -- monospace font | "code" -- monospace code font
TextOrientation
"horizontal"
| "horizontal-rl"
| "vertical"
| "vertical-tb"
-- Setup the texts's orientation (writing direction). TextOrientation: | "horizontal" -- Draw from left to right (Default) | "horizontal-rl" -- Draw from right to left | "vertical" -- Draw from bottom to top | "vertical-tb" -- Draw from top to bottom
TextSingleLineString
The text that should be displayed. Setting a new text will resize the view in order to make the text fully visible (expanding only).
- Default: ""
TextStyle
"custom"
| "disabled"
| "normal"
| "strong"
-- Get/set the color style the text should be displayed with. TextStyle: | "normal" -- (Default) | "strong" -- highlighted color | "disabled" -- greyed out color | "custom" -- custom color
ThemeColor
"alternate_main_back"
| "alternate_main_font"
| "automation_grid"
| "automation_line_edge"
| "automation_line_fill"
| "automation_marker_diamond"
| "automation_marker_pair"
| "automation_marker_play"
| "automation_marker_single"
| "automation_point"
| "body_back"
| "body_font"
| "button_back"
| "button_font"
| "button_highlight_font"
| "default_color_01"
| "default_color_02"
| "default_color_03"
| "default_color_04"
| "default_color_05"
| "default_color_06"
| "default_color_07"
| "default_color_08"
| "default_color_09"
| "default_color_10"
| "default_color_11"
| "default_color_12"
| "default_color_13"
| "default_color_14"
| "default_color_15"
| "default_color_16"
| "folder"
| "main_back"
| "main_font"
| "midi_mapping_back"
| "midi_mapping_font"
| "pattern_centerbar_back"
| "pattern_centerbar_back_standby"
| "pattern_centerbar_font"
| "pattern_centerbar_font_standby"
| "pattern_default_back"
| "pattern_default_font"
| "pattern_default_font_delay"
| "pattern_default_font_dspfx"
| "pattern_default_font_global"
| "pattern_default_font_other"
| "pattern_default_font_panning"
| "pattern_default_font_pitch"
| "pattern_default_font_unused"
| "pattern_default_font_volume"
| "pattern_highlighted_back"
| "pattern_highlighted_font"
| "pattern_highlighted_font_delay"
| "pattern_highlighted_font_dspfx"
| "pattern_highlighted_font_global"
| "pattern_highlighted_font_other"
| "pattern_highlighted_font_panning"
| "pattern_highlighted_font_pitch"
| "pattern_highlighted_font_unused"
| "pattern_highlighted_font_volume"
| "pattern_mute_state"
| "pattern_playposition_back"
| "pattern_playposition_font"
| "pattern_selection"
| "pattern_standby_selection"
| "scrollbar"
| "selected_button_back"
| "selected_button_font"
| "selection_back"
| "selection_font"
| "slider"
| "standby_selection_back"
| "standby_selection_font"
| "strong_body_font"
| "tooltip_back"
| "tooltip_font"
| "valuebox_back"
| "valuebox_font"
| "valuebox_font_icons"
| "vumeter_back_clipped"
| "vumeter_back_normal"
| "vumeter_meter"
| "vumeter_meter_high"
| "vumeter_meter_low"
| "vumeter_meter_middle"
| "vumeter_peak"
-- The application theme's colors ThemeColor: | "main_back" | "main_font" | "alternate_main_back" | "alternate_main_font" | "body_back" | "body_font" | "strong_body_font" | "button_back" | "button_font" | "button_highlight_font" | "selected_button_back" | "selected_button_font" | "selection_back" | "selection_font" | "standby_selection_back" | "standby_selection_font" | "midi_mapping_back" | "midi_mapping_font" | "tooltip_back" | "tooltip_font" | "valuebox_back" | "valuebox_font" | "valuebox_font_icons" | "scrollbar" | "slider" | "folder" | "pattern_default_back" | "pattern_default_font" | "pattern_default_font_volume" | "pattern_default_font_panning" | "pattern_default_font_pitch" | "pattern_default_font_delay" | "pattern_default_font_global" | "pattern_default_font_other" | "pattern_default_font_dspfx" | "pattern_default_font_unused" | "pattern_highlighted_back" | "pattern_highlighted_font" | "pattern_highlighted_font_volume" | "pattern_highlighted_font_panning" | "pattern_highlighted_font_pitch" | "pattern_highlighted_font_delay" | "pattern_highlighted_font_global" | "pattern_highlighted_font_other" | "pattern_highlighted_font_dspfx" | "pattern_highlighted_font_unused" | "pattern_playposition_back" | "pattern_playposition_font" | "pattern_centerbar_back" | "pattern_centerbar_font" | "pattern_centerbar_back_standby" | "pattern_centerbar_font_standby" | "pattern_selection" | "pattern_standby_selection" | "pattern_mute_state" | "automation_grid" | "automation_line_edge" | "automation_line_fill" | "automation_point" | "automation_marker_play" | "automation_marker_single" | "automation_marker_pair" | "automation_marker_diamond" | "vumeter_meter" | "vumeter_meter_low" | "vumeter_meter_middle" | "vumeter_meter_high" | "vumeter_peak" | "vumeter_back_normal" | "vumeter_back_clipped" | "default_color_01" | "default_color_02" | "default_color_03" | "default_color_04" | "default_color_05" | "default_color_06" | "default_color_07" | "default_color_08" | "default_color_09" | "default_color_10" | "default_color_11" | "default_color_12" | "default_color_13" | "default_color_14" | "default_color_15" | "default_color_16"
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewId
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
ValueBoxProperties
Properties
active : ControlActive
?
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
midi_mapping : ControlMidiMappingString
?
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
bind : ViewNumberObservable
?
Bind the view's value to a renoise.Document.ObservableNumber object. Automatically keep them in sync. The view will change the Observable value as soon as its value changes and change the view's value as soon as the Observable's value changes. Notifiers can be added to either the view or the Observable object.
value : SliderNumberValue
?
The current value of the view
notifier : NumberValueNotifier
?
Set up a value notifier that will be called whenever the value changes
min : ValueBoxMinValue
?
The minimum value that can be set using the view
- Default: 0
max : ValueBoxMaxValue
?
The maximum value that can be set using the view
- Default: 100
steps : SliderStepAmounts
?
A table containing two numbers representing the step amounts for incrementing and decrementing by clicking the <> buttons. The first value is the small step (applied on left clicks) second value is the big step (applied on right clicks)
tostring : PairedShowNumberAsString
?
Make sure to also set
tonumber
if you set this.
tonumber : PairedParseStringAsNumber
?
Make sure to also set
tostring
if you set this.
id : ViewId
?
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
visible : ViewVisibility
?
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
?
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
?
Deprecated. Use property
size
instead.
height : ViewDimension
?
Deprecated. Use property
size
instead.
size : ViewSize
?
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
?
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
?
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
Aliases
ControlActive
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
ControlMidiMappingString
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
NotifierFunction
fun()
NotifierMemberContext
NumberValueNotifier
NumberValueNotifierFunction
| NumberValueNotifierMethod1
| NumberValueNotifierMethod2
Set up a value notifier that will be called whenever the value changes
NumberValueNotifierFunction
(value : number
)
NumberValueNotifierMemberFunction
(self : NotifierMemberContext
, value : number
)
NumberValueNotifierMethod1
{ 1 : NotifierMemberContext
, 2 : NumberValueNotifierMemberFunction
}
NumberValueNotifierMethod2
{ 1 : NumberValueNotifierMemberFunction
, 2 : NotifierMemberContext
}
PairedParseStringAsNumber
Make sure to also set
tostring
if you set this.
PairedShowNumberAsString
Make sure to also set
tonumber
if you set this.
ShowNumberAsString
Set a custom rule on how a number value should be displayed. Useful for showing units like decibel or note values etc. If none are set, a default string/number conversion is done, which simply shows the number with 3 digits after the decimal point. Note: When the callback fails with an error, it will be disabled to avoid a flood of error messages.
SliderNumberValue
The current value of the view
SliderStepAmounts
A table containing two numbers representing the step amounts for incrementing and decrementing by clicking the <> buttons. The first value is the small step (applied on left clicks) second value is the big step (applied on right clicks)
ValueBoxMaxValue
The maximum value that can be set using the view
- Default: 100
ValueBoxMinValue
The minimum value that can be set using the view
- Default: 0
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewId
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
ViewNumberObservable
renoise.Document.ObservableNumber
Bind the view's value to a renoise.Document.ObservableNumber object. Automatically keep them in sync. The view will change the Observable value as soon as its value changes and change the view's value as soon as the Observable's value changes. Notifiers can be added to either the view or the Observable object.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
ValueFieldProperties
Properties
active : ControlActive
?
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
midi_mapping : ControlMidiMappingString
?
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
bind : ViewNumberObservable
?
Bind the view's value to a renoise.Document.ObservableNumber object. Automatically keep them in sync. The view will change the Observable value as soon as its value changes and change the view's value as soon as the Observable's value changes. Notifiers can be added to either the view or the Observable object.
value : SliderNumberValue
?
The current value of the view
notifier : NumberValueNotifier
?
Set up a value notifier that will be called whenever the value changes
min : SliderMinValue
?
The minimum value that can be set using the view
- Default: 0
max : SliderMaxValue
?
The maximum value that can be set using the view
- Default: 1.0
align : TextAlignment
?
Setup the text's alignment. Applies only when the view's size is larger than the needed size to draw the text
tostring : PairedShowNumberAsString
?
Make sure to also set
tonumber
if you set this.
tonumber : PairedParseStringAsNumber
?
Make sure to also set
tostring
if you set this.
id : ViewId
?
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
visible : ViewVisibility
?
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
?
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
?
Deprecated. Use property
size
instead.
height : ViewDimension
?
Deprecated. Use property
size
instead.
size : ViewSize
?
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
?
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
?
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
Aliases
ControlActive
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
ControlMidiMappingString
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
NotifierFunction
fun()
NotifierMemberContext
NumberValueNotifier
NumberValueNotifierFunction
| NumberValueNotifierMethod1
| NumberValueNotifierMethod2
Set up a value notifier that will be called whenever the value changes
NumberValueNotifierFunction
(value : number
)
NumberValueNotifierMemberFunction
(self : NotifierMemberContext
, value : number
)
NumberValueNotifierMethod1
{ 1 : NotifierMemberContext
, 2 : NumberValueNotifierMemberFunction
}
NumberValueNotifierMethod2
{ 1 : NumberValueNotifierMemberFunction
, 2 : NotifierMemberContext
}
PairedParseStringAsNumber
Make sure to also set
tostring
if you set this.
PairedShowNumberAsString
Make sure to also set
tonumber
if you set this.
ShowNumberAsString
Set a custom rule on how a number value should be displayed. Useful for showing units like decibel or note values etc. If none are set, a default string/number conversion is done, which simply shows the number with 3 digits after the decimal point. Note: When the callback fails with an error, it will be disabled to avoid a flood of error messages.
SliderMaxValue
The maximum value that can be set using the view
- Default: 1.0
SliderMinValue
The minimum value that can be set using the view
- Default: 0
SliderNumberValue
The current value of the view
TextAlignment
"center"
| "left"
| "right"
-- Setup the text's alignment. Applies only when the view's size is larger than -- the needed size to draw the text TextAlignment: | "left" -- (Default) | "right" -- aligned to the right | "center" -- center text
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewId
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
ViewNumberObservable
renoise.Document.ObservableNumber
Bind the view's value to a renoise.Document.ObservableNumber object. Automatically keep them in sync. The view will change the Observable value as soon as its value changes and change the view's value as soon as the Observable's value changes. Notifiers can be added to either the view or the Observable object.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
ValueViewProperties
Properties
bind : ViewNumberObservable
?
Bind the view's value to a renoise.Document.ObservableNumber object. Automatically keep them in sync. The view will change the Observable value as soon as its value changes and change the view's value as soon as the Observable's value changes. Notifiers can be added to either the view or the Observable object.
value : SliderNumberValue
?
The current value of the view
notifier : NumberValueNotifier
?
Set up a value notifier that will be called whenever the value changes
align : TextAlignment
?
Setup the text's alignment. Applies only when the view's size is larger than the needed size to draw the text
font : TextFontStyle
?
The style that the text should be displayed with.
tostring : ShowNumberAsString
?
Set a custom rule on how a number value should be displayed. Useful for showing units like decibel or note values etc. If none are set, a default string/number conversion is done, which simply shows the number with 3 digits after the decimal point. Note: When the callback fails with an error, it will be disabled to avoid a flood of error messages.
id : ViewId
?
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
visible : ViewVisibility
?
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
?
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
?
Deprecated. Use property
size
instead.
height : ViewDimension
?
Deprecated. Use property
size
instead.
size : ViewSize
?
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
?
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
?
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
Aliases
NotifierFunction
fun()
NotifierMemberContext
NumberValueNotifier
NumberValueNotifierFunction
| NumberValueNotifierMethod1
| NumberValueNotifierMethod2
Set up a value notifier that will be called whenever the value changes
NumberValueNotifierFunction
(value : number
)
NumberValueNotifierMemberFunction
(self : NotifierMemberContext
, value : number
)
NumberValueNotifierMethod1
{ 1 : NotifierMemberContext
, 2 : NumberValueNotifierMemberFunction
}
NumberValueNotifierMethod2
{ 1 : NumberValueNotifierMemberFunction
, 2 : NotifierMemberContext
}
ShowNumberAsString
Set a custom rule on how a number value should be displayed. Useful for showing units like decibel or note values etc. If none are set, a default string/number conversion is done, which simply shows the number with 3 digits after the decimal point. Note: When the callback fails with an error, it will be disabled to avoid a flood of error messages.
SliderNumberValue
The current value of the view
TextAlignment
"center"
| "left"
| "right"
-- Setup the text's alignment. Applies only when the view's size is larger than -- the needed size to draw the text TextAlignment: | "left" -- (Default) | "right" -- aligned to the right | "center" -- center text
TextFontStyle
"big"
| "bold"
| "code"
| "italic"
| "mono"
| "normal"
-- The style that the text should be displayed with. TextFontStyle: | "normal" -- (Default) | "big" -- big text | "bold" -- bold font | "italic" -- italic font | "mono" -- monospace font | "code" -- monospace code font
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewId
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
ViewNumberObservable
renoise.Document.ObservableNumber
Bind the view's value to a renoise.Document.ObservableNumber object. Automatically keep them in sync. The view will change the Observable value as soon as its value changes and change the view's value as soon as the Observable's value changes. Notifiers can be added to either the view or the Observable object.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
ViewProperties
Base for all View constructor tables in the viewbuilder.
Properties
id : ViewId
?
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
visible : ViewVisibility
?
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
?
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
?
Deprecated. Use property
size
instead.
height : ViewDimension
?
Deprecated. Use property
size
instead.
size : ViewSize
?
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
?
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
?
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
Aliases
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewId
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
XYPadProperties
Properties
active : ControlActive
?
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
midi_mapping : ControlMidiMappingString
?
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
id : ViewId
?
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
visible : ViewVisibility
?
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
?
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
?
Deprecated. Use property
size
instead.
height : ViewDimension
?
Deprecated. Use property
size
instead.
size : ViewSize
?
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
?
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
?
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
bind : XYPadObservables
?
Bind the view's value to a pair of renoise.Document.ObservableNumber objects. Automatically keep both values in sync. Will change the Observables' values as soon as the view's value changes, and change the view's values as soon as the Observable's value changes. Notifiers can be added to either the view or the Observable object. Just like in the other XYPad properties, a table with the fields X and Y is expected here and not a single value. So you have to bind two ObservableNumber object to the pad.
value : XYPadValues
?
A table of the XYPad's current values on each axis
snapback : XYPadSnapbackValues
?
A table of snapback values for each axis When snapback is enabled, the pad will revert its values to the specified snapback values as soon as the mouse button is released in the pad. When disabled, releasing the mouse button will not change the value. You can disable snapback at runtime by setting it to nil or an empty table.
notifier : XYValueNotifier
?
Set up a value notifier function that will be used whenever the pad's values change
min : XYPadMinValues
?
A table of allowed minimum values for each axis
- Default: {x: 0.0, y: 0.0}
max : XYPadMaxValues
?
A table of allowed maximum values for each axis
- Default: {x: 1.0, y: 1.0}
Aliases
ControlActive
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
ControlMidiMappingString
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
NotifierFunction
fun()
NotifierMemberContext
SliderMaxValue
The maximum value that can be set using the view
- Default: 1.0
SliderMinValue
The minimum value that can be set using the view
- Default: 0
SliderNumberValue
The current value of the view
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewId
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
XYPadMaxValues
{ x : SliderMaxValue
, y : SliderMaxValue
}
A table of allowed maximum values for each axis
- Default: {x: 1.0, y: 1.0}
XYPadMinValues
{ x : SliderMinValue
, y : SliderMinValue
}
A table of allowed minimum values for each axis
- Default: {x: 0.0, y: 0.0}
XYPadObservables
{ x : renoise.Document.ObservableNumber
, y : renoise.Document.ObservableNumber
}
Bind the view's value to a pair of renoise.Document.ObservableNumber objects. Automatically keep both values in sync. Will change the Observables' values as soon as the view's value changes, and change the view's values as soon as the Observable's value changes. Notifiers can be added to either the view or the Observable object. Just like in the other XYPad properties, a table with the fields X and Y is expected here and not a single value. So you have to bind two ObservableNumber object to the pad.
XYPadSnapbackValues
A table of snapback values for each axis When snapback is enabled, the pad will revert its values to the specified snapback values as soon as the mouse button is released in the pad. When disabled, releasing the mouse button will not change the value. You can disable snapback at runtime by setting it to nil or an empty table.
XYPadValues
{ x : SliderNumberValue
, y : SliderNumberValue
}
A table of the XYPad's current values on each axis
XYValueNotifier
XYValueNotifierFunction
| XYValueNotifierMethod1
| XYValueNotifierMethod2
Set up a value notifier function that will be used whenever the pad's values change
XYValueNotifierFunction
(value : XYPadValues
)
XYValueNotifierMemberFunction
(self : NotifierMemberContext
, value : XYPadValues
)
XYValueNotifierMethod1
{ 1 : NotifierMemberContext
, 2 : XYValueNotifierMemberFunction
}
XYValueNotifierMethod2
{ 1 : XYValueNotifierMemberFunction
, 2 : NotifierMemberContext
}
Aliases
AlignerChildViews
The aligner view's initial child views. Views can later on also be added and removed dynamically after construction via
aligner:add_view(child)
andaligner:remove_view(child)
AlignerMode
"bottom"
| "center"
| "distribute"
| "justify"
| "left"
| "right"
| "top"
-- * Default: "left" (for horizontal_aligner) "top" (for vertical_aligner) AlignerMode: | "left" -- align from left to right (for horizontal_aligner only) | "right" -- align from right to left (for horizontal_aligner only) | "top" -- align from top to bottom (for vertical_aligner only) | "bottom" -- align from bottom to top (for vertical_aligner only) | "center" -- center all views | "justify" -- keep outer views at the borders, distribute the rest | "distribute" -- equally distributes views over the aligners width/height
BitmapColor
-- When set, the bitmap will be drawn in the specified color and `mode` is set -- to `custom_color`. Set `mode` to something else than `custom_color` or the -- `color` to `{0, 0, 0}` to enable a `plain` display mode. -- A table of 3 bytes (ranging from 0 to 255) -- representing the red, green and blue channels of a color. -- {0xFF, 0xFF, 0xFF} is white -- {165, 73, 35} is the red from the Renoise logo -- The application theme's colors BitmapColor: | "main_back" | "main_font" | "alternate_main_back" | "alternate_main_font" | "body_back" | "body_font" | "strong_body_font" | "button_back" | "button_font" | "button_highlight_font" | "selected_button_back" | "selected_button_font" | "selection_back" | "selection_font" | "standby_selection_back" | "standby_selection_font" | "midi_mapping_back" | "midi_mapping_font" | "tooltip_back" | "tooltip_font" | "valuebox_back" | "valuebox_font" | "valuebox_font_icons" | "scrollbar" | "slider" | "folder" | "pattern_default_back" | "pattern_default_font" | "pattern_default_font_volume" | "pattern_default_font_panning" | "pattern_default_font_pitch" | "pattern_default_font_delay" | "pattern_default_font_global" | "pattern_default_font_other" | "pattern_default_font_dspfx" | "pattern_default_font_unused" | "pattern_highlighted_back" | "pattern_highlighted_font" | "pattern_highlighted_font_volume" | "pattern_highlighted_font_panning" | "pattern_highlighted_font_pitch" | "pattern_highlighted_font_delay" | "pattern_highlighted_font_global" | "pattern_highlighted_font_other" | "pattern_highlighted_font_dspfx" | "pattern_highlighted_font_unused" | "pattern_playposition_back" | "pattern_playposition_font" | "pattern_centerbar_back" | "pattern_centerbar_font" | "pattern_centerbar_back_standby" | "pattern_centerbar_font_standby" | "pattern_selection" | "pattern_standby_selection" | "pattern_mute_state" | "automation_grid" | "automation_line_edge" | "automation_line_fill" | "automation_point" | "automation_marker_play" | "automation_marker_single" | "automation_marker_pair" | "automation_marker_diamond" | "vumeter_meter" | "vumeter_meter_low" | "vumeter_meter_middle" | "vumeter_meter_high" | "vumeter_peak" | "vumeter_back_normal" | "vumeter_back_clipped" | "default_color_01" | "default_color_02" | "default_color_03" | "default_color_04" | "default_color_05" | "default_color_06" | "default_color_07" | "default_color_08" | "default_color_09" | "default_color_10" | "default_color_11" | "default_color_12" | "default_color_13" | "default_color_14" | "default_color_15" | "default_color_16"
BitmapImagePath
You can load an image from your tool's directory, or use one from Renoise's built-in icons.
- For the built-in icons, use "Icons/ArrowRight.bmp"
- For custom images, use a path relative to your tool's root folder.
For example "Images/MyBitmap.bmp" will load the image from "com.me.MyTool.xrnx/Images/MyBitmap.bmp".
If your custom path matches a built-in icon's (like "Icons/ArrowRight.bmp"), your image will be loaded instead of the one from Renoise.If you want to support high DPI UI scaling with your bitmaps like the built-in Icons, include high resolution versions with their filenames ending with "@4x"
The following rules will be used when loading bitmaps
- When UI scaling is 100%, only the base bitmaps are used.
- When UI scaling is 125%, the base bitmaps are used, except if there is a
BitmapName@x1.25.bmp
variant.- For all other UI scaling > 125% the "@4x" variants are used and downscaled as needed, except when there is an exact match for the current UI scaling factor (e.g.
BitmapName@1.5x.bmp
for 150%)
BitmapMode
"body_color"
| "button_color"
| "custom_color"
| "main_color"
| "plain"
| "transparent"
-- Setup how the bitmap should be drawn, recolored. Available modes are: BitmapMode: | "plain" -- bitmap is drawn as is, no recoloring is done (Default) | "transparent" -- same as plain, but black pixels will be fully transparent | "button_color" -- recolor the bitmap, using the theme's button color | "body_color" -- same as 'button_back' but with body text/back color | "main_color" -- same as 'button_back' but with main text/back colors | "custom_color" -- Recolor the bitmap using a custom color set by the `color'
BitmapPath
Supported bitmap file formats are *.bmp, *.png or *.tif (no transparency).
BooleanValueNotifierFunction
(value : boolean
)
BooleanValueNotifierMemberFunction
(self : NotifierMemberContext
, value : boolean
)
BooleanValueNotifierMethod1
{ 1 : NotifierMemberContext
, 2 : BooleanValueNotifierMemberFunction
}
BooleanValueNotifierMethod2
{ 1 : BooleanValueNotifierMemberFunction
, 2 : NotifierMemberContext
}
ButtonAlignment
"center"
| "left"
| "right"
-- Setup the buttons text's or bitmap's alignment within the button. ButtonAlignment: | "left" -- aligned to the left | "right" -- aligned to the right | "center" -- center (default)
ButtonBitmapPath
If set, existing text is removed and the loaded image is displayed instead. Supported bitmap file formats are ".bmp", ".png" and ".tiff". Colors in bitmaps will be overridden by the button's theme color, using black as the transparent color for BMPs and TIFFS, and the alpha channel for PNGs. All other colors are mapped to the theme color according to their grey value, so plain white is the target theme color, and all other colors blend into the button's background color of the theme.
ButtonColor
-- When set, the unpressed button's background will be drawn in the specified color. -- A text color is automatically selected unless explicitly set, to make sure its -- always visible. -- Set color {0,0,0} to enable the theme colors for the button again. -- A table of 3 bytes (ranging from 0 to 255) -- representing the red, green and blue channels of a color. -- {0xFF, 0xFF, 0xFF} is white -- {165, 73, 35} is the red from the Renoise logo -- The application theme's colors ButtonColor: | "main_back" | "main_font" | "alternate_main_back" | "alternate_main_font" | "body_back" | "body_font" | "strong_body_font" | "button_back" | "button_font" | "button_highlight_font" | "selected_button_back" | "selected_button_font" | "selection_back" | "selection_font" | "standby_selection_back" | "standby_selection_font" | "midi_mapping_back" | "midi_mapping_font" | "tooltip_back" | "tooltip_font" | "valuebox_back" | "valuebox_font" | "valuebox_font_icons" | "scrollbar" | "slider" | "folder" | "pattern_default_back" | "pattern_default_font" | "pattern_default_font_volume" | "pattern_default_font_panning" | "pattern_default_font_pitch" | "pattern_default_font_delay" | "pattern_default_font_global" | "pattern_default_font_other" | "pattern_default_font_dspfx" | "pattern_default_font_unused" | "pattern_highlighted_back" | "pattern_highlighted_font" | "pattern_highlighted_font_volume" | "pattern_highlighted_font_panning" | "pattern_highlighted_font_pitch" | "pattern_highlighted_font_delay" | "pattern_highlighted_font_global" | "pattern_highlighted_font_other" | "pattern_highlighted_font_dspfx" | "pattern_highlighted_font_unused" | "pattern_playposition_back" | "pattern_playposition_font" | "pattern_centerbar_back" | "pattern_centerbar_font" | "pattern_centerbar_back_standby" | "pattern_centerbar_font_standby" | "pattern_selection" | "pattern_standby_selection" | "pattern_mute_state" | "automation_grid" | "automation_line_edge" | "automation_line_fill" | "automation_point" | "automation_marker_play" | "automation_marker_single" | "automation_marker_pair" | "automation_marker_diamond" | "vumeter_meter" | "vumeter_meter_low" | "vumeter_meter_middle" | "vumeter_meter_high" | "vumeter_peak" | "vumeter_back_normal" | "vumeter_back_clipped" | "default_color_01" | "default_color_02" | "default_color_03" | "default_color_04" | "default_color_05" | "default_color_06" | "default_color_07" | "default_color_08" | "default_color_09" | "default_color_10" | "default_color_11" | "default_color_12" | "default_color_13" | "default_color_14" | "default_color_15" | "default_color_16"
ButtonLabel
The text label of the button
- Default: ""
ButtonNotifier
NotifierFunction
| NotifierMethod1
| NotifierMethod2
A click notifier
ButtonStyle
"normal"
| "rounded"
| "rounded_bottom"
| "rounded_left"
| "rounded_right"
| "rounded_top"
-- Get/set the style a button should be displayed with. ButtonStyle: | "normal" -- (Default) | "rounded" -- rounded corners on all sides | "rounded_left" -- rounded left side | "rounded_right" -- rounded right side | "rounded_top" -- rounded left side | "rounded_bottom" -- rounded right side
CanvasChildViews
The canvas view's optional child views. Views can later on also be added and removed dynamically after construction via
stack:add_view(child)
andstack:remove_view(child)
CanvasMode
"plain"
| "transparent"
-- How to draw the canvas context to screen: "transparent" draws with alpha from -- the canvas, "plain" ignores alpha values, which usually is a lot faster to draw. -- Use "plain" to speed up drawing background alike canvas views which cover the -- entire view area. Default: "transparent" CanvasMode: | "plain" | "transparent"
CanvasRenderFunction
(context : renoise.Views.Canvas.Context
)
Rendering callback for a canvas.
To update the canvas, use the canvas view's
update
function. This will will schedule a new drawing as soon as the backend is ready to draw. Always draw a complete image here, as the canvas will be completely empty in each new render call.UI scaling: the canvas context by default is set up, so that the global UI scaling gets applied. So all positions in the canvas context by default use view sizes and not pixels. If you want to draw in a raw pixel resolution reset the canvas transformation via
context.set_transform(1.0, 0.0, 0.0, 1.0, 0.0, 0.0)
To query the actual canvas size in pixels, use the context'ssize
property.
CheckBoxBoolean
The current state of the checkbox, expressed as boolean.
- Default: false
CheckBoxBooleanNotifier
BooleanValueNotifierFunction
| BooleanValueNotifierMethod1
| BooleanValueNotifierMethod2
A notifier for when the checkbox is toggled
ControlActive
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
ControlMidiMappingString
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
IntegerNotifier
IntegerValueNotifierFunction
| IntegerValueNotifierMethod1
| IntegerValueNotifierMethod2
Set up a notifier that will be called whenever a new item is picked
IntegerValueNotifierFunction
(value : integer
)
IntegerValueNotifierMemberFunction
(self : NotifierMemberContext
, value : integer
)
IntegerValueNotifierMethod1
{ 1 : NotifierMemberContext
, 2 : IntegerValueNotifierMemberFunction
}
IntegerValueNotifierMethod2
{ 1 : IntegerValueNotifierMemberFunction
, 2 : NotifierMemberContext
}
ItemLabels
string
[]
A list of buttons labels to show in order. Must have more than one item.
ListElementAdded
{ index : integer
, type : "insert"
}
ListElementChange
ListElementAdded
| ListElementRemoved
| ListElementsSwapped
ListElementRemoved
{ index : integer
, type : "removed"
}
ListElementsSwapped
{ index1 : integer
, index2 : integer
, type : "swapped"
}
ListNotifierFunction
(change : ListElementChange
)
ListNotifierMemberContext
MouseEventButton
"left"
| "middle"
| "right"
-- Mouse button of a `MouseEvent` of type "up"|"down"|"double"|"drag". MouseEventButton: | "left" | "right" | "middle"
MouseEventType
"double"
| "down"
| "drag"
| "enter"
| "exit"
| "move"
| "up"
| "wheel"
-- Event type of a `MouseEvent`. MouseEventType: | "enter" | "exit" | "move" | "down" | "up" | "double" | "drag" | "wheel"
MouseEventTypes
The mouse event types that should be passed to your
mouse_handler
function. By default:{ "down", "up", "double" }
Avoid adding event types that you don't use, especially "move" events as they do create quite some overhead. Also note that when enabling "drag", sub view controls can no longer handle drag events, even when you pass back the event in the handler, so only enable it when you want to completely override mouse drag behavior of all your content views.
MouseEventWheelDirection
"down"
| "left"
| "right"
| "up"
-- Mouse wheel direction in a `MouseEvent` of type "wheel". MouseEventWheelDirection: | "up" | "down" | "left" | "right"
MouseHandler
MouseHandlerNotifierFunction
| MouseHandlerNotifierMethod1
| MouseHandlerNotifierMethod2
Optional mouse event handler for a view. return nil when the event got handled to stop propagating the event. return the event instance, as passed, to pass it to the next view in the view hirarchy.
MouseHandlerNotifierFunction
(event : MouseEvent
) ->
MouseEvent
?
MouseHandlerNotifierMemberFunction
(self : NotifierMemberContext
, event : MouseEvent
) ->
MouseEvent
?
MouseHandlerNotifierMethod1
{ 1 : NotifierMemberContext
, 2 : MouseHandlerNotifierMemberFunction
}
MouseHandlerNotifierMethod2
{ 1 : MouseHandlerNotifierMemberFunction
, 2 : NotifierMemberContext
}
NotifierFunction
fun()
NotifierMemberContext
NotifierMemberFunction
(self : NotifierMemberContext
)
NotifierMethod1
{ 1 : NotifierMemberContext
, 2 : NotifierMemberFunction
}
NotifierMethod2
{ 1 : NotifierMemberFunction
, 2 : NotifierMemberContext
}
NumberValueNotifier
NumberValueNotifierFunction
| NumberValueNotifierMethod1
| NumberValueNotifierMethod2
Set up a value notifier that will be called whenever the value changes
NumberValueNotifierFunction
(value : number
)
NumberValueNotifierMemberFunction
(self : NotifierMemberContext
, value : number
)
NumberValueNotifierMethod1
{ 1 : NotifierMemberContext
, 2 : NumberValueNotifierMemberFunction
}
NumberValueNotifierMethod2
{ 1 : NumberValueNotifierMemberFunction
, 2 : NotifierMemberContext
}
PairedParseStringAsNumber
Make sure to also set
tostring
if you set this.
PairedShowNumberAsString
Make sure to also set
tonumber
if you set this.
PopupItemLabels
string
[]
A list of buttons labels to show in order The list can be empty, then "None" is displayed and the value won't change.
RGBAColor
{ 1 : integer
, 2 : integer
, 3 : integer
, 4 : integer
}
A table of 4 bytes (ranging from 0 to 255) representing the red, green, blue, alpha channels of a color. {0xFF, 0xFF, 0xFF, 0xFF} is white {165, 73, 35, 0x80} is the red from the Renoise logo, half opaque.
RGBColor
{ 1 : integer
, 2 : integer
, 3 : integer
}
A table of 3 bytes (ranging from 0 to 255) representing the red, green and blue channels of a color. {0xFF, 0xFF, 0xFF} is white {165, 73, 35} is the red from the Renoise logo
RackChildViews
The rack view's initial child views. Views can later on also be added and removed dynamically after construction via
rack:add_view(child)
andrack:remove_view(child)
RackMargin
Set the "borders" of a rack (left, right, top and bottom inclusively)
- Default: 0 (no borders)
RackSpacing
Set the amount stacked child views are separated by (horizontally in rows, vertically in columns).
- Default: 0 (no spacing)
RackUniformity
When set to true, all child views in the rack are automatically resized to the max size of all child views (width in ViewBuilder.column, height in ViewBuilder.row). This can be useful to automatically align all sub columns/panels to the same size. Resizing is done automatically, as soon as a child view size changes or new children are added.
- Default: false
ScrollbarAutoHide
Default: false. When true, view gets automatically hidden when no scrolling is needed
ScrollbarMax
Default 100. Maximum offset value.
ScrollbarMin
Default 0. Minimum offset value.
ScrollbarPagestep
Default 100. Size of the currently visible area.
ScrollbarStep
Default 1. Amount the mouse-wheel or additional +/- buttons in the scroll bar move the scrollable area.
ScrollbarValue
Default 0. Offset value in range
min to max - pagestep
.
SelectedItem
The currently selected item's index
ShowNumberAsString
Set a custom rule on how a number value should be displayed. Useful for showing units like decibel or note values etc. If none are set, a default string/number conversion is done, which simply shows the number with 3 digits after the decimal point. Note: When the callback fails with an error, it will be disabled to avoid a flood of error messages.
SliderDefaultValue
The default value that will be re-applied on double-click
SliderMaxValue
The maximum value that can be set using the view
- Default: 1.0
SliderMinValue
The minimum value that can be set using the view
- Default: 0
SliderNumberValue
The current value of the view
SliderPolarity
"bipolar"
| "unipolar"
-- Value polarity of the control. Bipolar controls show the value from the -- center to left and right or up and down and typically controls a range -- around zero, e.g. -1 to 1. Unipolar controls show the value from left to -- right or bottom to top. -- * Default: "unipolar" SliderPolarity: | "unipolar" | "bipolar"
SliderStepAmounts
A table containing two numbers representing the step amounts for incrementing and decrementing by clicking the <> buttons. The first value is the small step (applied on left clicks) second value is the big step (applied on right clicks)
StackAutoSize
When set to true, the width and height of the stack will be automatically calculated and updated from the stack's child views, to ensure all views fit into the stack. When disabled, the width and height must be set manually.
- Default: true
StackChildViews
The stack view's optional child views. Views can later on also be added and removed dynamically after construction via
stack:add_view(child)
andstack:remove_view(child)
StringChangeNotifier
StringValueNotifierFunction
| StringValueNotifierMethod1
| StringValueNotifierMethod2
Set up a notifier for text changes
StringValueNotifierFunction
(value : string
)
StringValueNotifierMemberFunction
(self : NotifierMemberContext
, value : string
)
StringValueNotifierMethod1
{ 1 : NotifierMemberContext
, 2 : StringValueNotifierMemberFunction
}
StringValueNotifierMethod2
{ 1 : StringValueNotifierMemberFunction
, 2 : NotifierMemberContext
}
TextActive
When false, text is displayed but can not be entered/modified by the user.
- Default: true
TextAlignment
"center"
| "left"
| "right"
-- Setup the text's alignment. Applies only when the view's size is larger than -- the needed size to draw the text TextAlignment: | "left" -- (Default) | "right" -- aligned to the right | "center" -- center text
TextBackgroundStyle
"body"
| "border"
| "strong"
-- Setup the text view's background: TextBackgroundStyle: | "body" -- simple text color with no background | "strong" -- stronger text color with no background | "border" -- text on a bordered background
TextColor
-- When set, the text will be drawn in the specified color. -- Set style to something else than "custom" or color to `{0, 0, 0}` -- to enable the default theme color for the text again. -- A table of 3 bytes (ranging from 0 to 255) -- representing the red, green and blue channels of a color. -- {0xFF, 0xFF, 0xFF} is white -- {165, 73, 35} is the red from the Renoise logo -- The application theme's colors TextColor: | "main_back" | "main_font" | "alternate_main_back" | "alternate_main_font" | "body_back" | "body_font" | "strong_body_font" | "button_back" | "button_font" | "button_highlight_font" | "selected_button_back" | "selected_button_font" | "selection_back" | "selection_font" | "standby_selection_back" | "standby_selection_font" | "midi_mapping_back" | "midi_mapping_font" | "tooltip_back" | "tooltip_font" | "valuebox_back" | "valuebox_font" | "valuebox_font_icons" | "scrollbar" | "slider" | "folder" | "pattern_default_back" | "pattern_default_font" | "pattern_default_font_volume" | "pattern_default_font_panning" | "pattern_default_font_pitch" | "pattern_default_font_delay" | "pattern_default_font_global" | "pattern_default_font_other" | "pattern_default_font_dspfx" | "pattern_default_font_unused" | "pattern_highlighted_back" | "pattern_highlighted_font" | "pattern_highlighted_font_volume" | "pattern_highlighted_font_panning" | "pattern_highlighted_font_pitch" | "pattern_highlighted_font_delay" | "pattern_highlighted_font_global" | "pattern_highlighted_font_other" | "pattern_highlighted_font_dspfx" | "pattern_highlighted_font_unused" | "pattern_playposition_back" | "pattern_playposition_font" | "pattern_centerbar_back" | "pattern_centerbar_font" | "pattern_centerbar_back_standby" | "pattern_centerbar_font_standby" | "pattern_selection" | "pattern_standby_selection" | "pattern_mute_state" | "automation_grid" | "automation_line_edge" | "automation_line_fill" | "automation_point" | "automation_marker_play" | "automation_marker_single" | "automation_marker_pair" | "automation_marker_diamond" | "vumeter_meter" | "vumeter_meter_low" | "vumeter_meter_middle" | "vumeter_meter_high" | "vumeter_peak" | "vumeter_back_normal" | "vumeter_back_clipped" | "default_color_01" | "default_color_02" | "default_color_03" | "default_color_04" | "default_color_05" | "default_color_06" | "default_color_07" | "default_color_08" | "default_color_09" | "default_color_10" | "default_color_11" | "default_color_12" | "default_color_13" | "default_color_14" | "default_color_15" | "default_color_16"
TextEditMode
True when the text field is focused. setting it at run-time programmatically will focus the text field or remove the focus (focus the dialog) accordingly.
- Default: false
TextFontStyle
"big"
| "bold"
| "code"
| "italic"
| "mono"
| "normal"
-- The style that the text should be displayed with. TextFontStyle: | "normal" -- (Default) | "big" -- big text | "bold" -- bold font | "italic" -- italic font | "mono" -- monospace font | "code" -- monospace code font
TextMultilineString
The text that should be displayed. Newlines (Windows, Mac or Unix styled) in the text can be used to create paragraphs.
TextOrientation
"horizontal"
| "horizontal-rl"
| "vertical"
| "vertical-tb"
-- Setup the texts's orientation (writing direction). TextOrientation: | "horizontal" -- Draw from left to right (Default) | "horizontal-rl" -- Draw from right to left | "vertical" -- Draw from bottom to top | "vertical-tb" -- Draw from top to bottom
TextParagraphs
string
[]
A table of text lines to be used instead of specifying a single text line with newline characters like "text"
- Default: []
TextSingleLineString
The text that should be displayed. Setting a new text will resize the view in order to make the text fully visible (expanding only).
- Default: ""
TextStyle
"custom"
| "disabled"
| "normal"
| "strong"
-- Get/set the color style the text should be displayed with. TextStyle: | "normal" -- (Default) | "strong" -- highlighted color | "disabled" -- greyed out color | "custom" -- custom color
TextValue
The currently shown text. The text will not be updated when editing, rather only after editing is complete (return is pressed, or focus is lost).
- Default: ""
TextValueAlias
Exactly the same as "value"; provided for consistency.
- Default: ""
ThemeColor
"alternate_main_back"
| "alternate_main_font"
| "automation_grid"
| "automation_line_edge"
| "automation_line_fill"
| "automation_marker_diamond"
| "automation_marker_pair"
| "automation_marker_play"
| "automation_marker_single"
| "automation_point"
| "body_back"
| "body_font"
| "button_back"
| "button_font"
| "button_highlight_font"
| "default_color_01"
| "default_color_02"
| "default_color_03"
| "default_color_04"
| "default_color_05"
| "default_color_06"
| "default_color_07"
| "default_color_08"
| "default_color_09"
| "default_color_10"
| "default_color_11"
| "default_color_12"
| "default_color_13"
| "default_color_14"
| "default_color_15"
| "default_color_16"
| "folder"
| "main_back"
| "main_font"
| "midi_mapping_back"
| "midi_mapping_font"
| "pattern_centerbar_back"
| "pattern_centerbar_back_standby"
| "pattern_centerbar_font"
| "pattern_centerbar_font_standby"
| "pattern_default_back"
| "pattern_default_font"
| "pattern_default_font_delay"
| "pattern_default_font_dspfx"
| "pattern_default_font_global"
| "pattern_default_font_other"
| "pattern_default_font_panning"
| "pattern_default_font_pitch"
| "pattern_default_font_unused"
| "pattern_default_font_volume"
| "pattern_highlighted_back"
| "pattern_highlighted_font"
| "pattern_highlighted_font_delay"
| "pattern_highlighted_font_dspfx"
| "pattern_highlighted_font_global"
| "pattern_highlighted_font_other"
| "pattern_highlighted_font_panning"
| "pattern_highlighted_font_pitch"
| "pattern_highlighted_font_unused"
| "pattern_highlighted_font_volume"
| "pattern_mute_state"
| "pattern_playposition_back"
| "pattern_playposition_font"
| "pattern_selection"
| "pattern_standby_selection"
| "scrollbar"
| "selected_button_back"
| "selected_button_font"
| "selection_back"
| "selection_font"
| "slider"
| "standby_selection_back"
| "standby_selection_font"
| "strong_body_font"
| "tooltip_back"
| "tooltip_font"
| "valuebox_back"
| "valuebox_font"
| "valuebox_font_icons"
| "vumeter_back_clipped"
| "vumeter_back_normal"
| "vumeter_meter"
| "vumeter_meter_high"
| "vumeter_meter_low"
| "vumeter_meter_middle"
| "vumeter_peak"
-- The application theme's colors ThemeColor: | "main_back" | "main_font" | "alternate_main_back" | "alternate_main_font" | "body_back" | "body_font" | "strong_body_font" | "button_back" | "button_font" | "button_highlight_font" | "selected_button_back" | "selected_button_font" | "selection_back" | "selection_font" | "standby_selection_back" | "standby_selection_font" | "midi_mapping_back" | "midi_mapping_font" | "tooltip_back" | "tooltip_font" | "valuebox_back" | "valuebox_font" | "valuebox_font_icons" | "scrollbar" | "slider" | "folder" | "pattern_default_back" | "pattern_default_font" | "pattern_default_font_volume" | "pattern_default_font_panning" | "pattern_default_font_pitch" | "pattern_default_font_delay" | "pattern_default_font_global" | "pattern_default_font_other" | "pattern_default_font_dspfx" | "pattern_default_font_unused" | "pattern_highlighted_back" | "pattern_highlighted_font" | "pattern_highlighted_font_volume" | "pattern_highlighted_font_panning" | "pattern_highlighted_font_pitch" | "pattern_highlighted_font_delay" | "pattern_highlighted_font_global" | "pattern_highlighted_font_other" | "pattern_highlighted_font_dspfx" | "pattern_highlighted_font_unused" | "pattern_playposition_back" | "pattern_playposition_font" | "pattern_centerbar_back" | "pattern_centerbar_font" | "pattern_centerbar_back_standby" | "pattern_centerbar_font_standby" | "pattern_selection" | "pattern_standby_selection" | "pattern_mute_state" | "automation_grid" | "automation_line_edge" | "automation_line_fill" | "automation_point" | "automation_marker_play" | "automation_marker_single" | "automation_marker_pair" | "automation_marker_diamond" | "vumeter_meter" | "vumeter_meter_low" | "vumeter_meter_middle" | "vumeter_meter_high" | "vumeter_peak" | "vumeter_back_normal" | "vumeter_back_clipped" | "default_color_01" | "default_color_02" | "default_color_03" | "default_color_04" | "default_color_05" | "default_color_06" | "default_color_07" | "default_color_08" | "default_color_09" | "default_color_10" | "default_color_11" | "default_color_12" | "default_color_13" | "default_color_14" | "default_color_15" | "default_color_16"
ValueBoxMaxValue
The maximum value that can be set using the view
- Default: 100
ValueBoxMinValue
The minimum value that can be set using the view
- Default: 0
ViewBackgroundStyle
"body"
| "border"
| "group"
| "invisible"
| "panel"
| "plain"
-- Setup a background style for the view. ViewBackgroundStyle: | "invisible" -- no background (Default) | "plain" -- undecorated, single coloured background | "border" -- same as plain, but with a bold nested border | "body" -- main "background" style, as used in dialog backgrounds | "panel" -- alternative "background" style, beveled | "group" -- background for "nested" groups within body
ViewBooleanObservable
renoise.Document.ObservableBoolean
Bind the view's value to a renoise.Document.ObservableBoolean object. Automatically keep them in sync. The view will change the Observable value as soon as its value changes and change the view's value as soon as the Observable's value changes. Notifiers can be added to either the view or the Observable object.
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewId
Unique identifier to resolve the view later on in the viewbuilder, e.g.
vb.views.SomeString
orvb.views["Some String"]
View ids must be unique within a single view builder instance.
ViewNumberObservable
renoise.Document.ObservableNumber
Bind the view's value to a renoise.Document.ObservableNumber object. Automatically keep them in sync. The view will change the Observable value as soon as its value changes and change the view's value as soon as the Observable's value changes. Notifiers can be added to either the view or the Observable object.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewStringListObservable
renoise.Document.ObservableStringList
Bind the view's value to a renoise.Document.ObservableStringList object. Automatically keep them in sync. The view will change the Observable value as soon as its value changes and change the view's value as soon as the Observable's value changes. Notifiers can be added to either the view or the Observable object.
ViewStringObservable
renoise.Document.ObservableString
Bind the view's value to a renoise.Document.ObservableString object. Automatically keep them in sync. The view will change the Observable value as soon as its value changes and change the view's value as soon as the Observable's value changes. Notifiers can be added to either the view or the Observable object.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
XYPadMaxValues
{ x : SliderMaxValue
, y : SliderMaxValue
}
A table of allowed maximum values for each axis
- Default: {x: 1.0, y: 1.0}
XYPadMinValues
{ x : SliderMinValue
, y : SliderMinValue
}
A table of allowed minimum values for each axis
- Default: {x: 0.0, y: 0.0}
XYPadObservables
{ x : renoise.Document.ObservableNumber
, y : renoise.Document.ObservableNumber
}
Bind the view's value to a pair of renoise.Document.ObservableNumber objects. Automatically keep both values in sync. Will change the Observables' values as soon as the view's value changes, and change the view's values as soon as the Observable's value changes. Notifiers can be added to either the view or the Observable object. Just like in the other XYPad properties, a table with the fields X and Y is expected here and not a single value. So you have to bind two ObservableNumber object to the pad.
XYPadSnapbackValues
A table of snapback values for each axis When snapback is enabled, the pad will revert its values to the specified snapback values as soon as the mouse button is released in the pad. When disabled, releasing the mouse button will not change the value. You can disable snapback at runtime by setting it to nil or an empty table.
XYPadValues
{ x : SliderNumberValue
, y : SliderNumberValue
}
A table of the XYPad's current values on each axis
XYValueNotifier
XYValueNotifierFunction
| XYValueNotifierMethod1
| XYValueNotifierMethod2
Set up a value notifier function that will be used whenever the pad's values change
XYValueNotifierFunction
(value : XYPadValues
)
XYValueNotifierMemberFunction
(self : NotifierMemberContext
, value : XYPadValues
)
XYValueNotifierMethod1
{ 1 : NotifierMemberContext
, 2 : XYValueNotifierMemberFunction
}
XYValueNotifierMethod2
{ 1 : XYValueNotifierMemberFunction
, 2 : NotifierMemberContext
}
renoise.Views
Namespace for renoise view widgets.
renoise.Views.Aligner
Just like a Rack, the Aligner shows no content on its own. It just aligns child views vertically or horizontally. As soon as children are added, the Aligner will expand itself to make sure that all children are visible (including spacing & margins). To make use of modes like "center", you manually have to setup a size that is bigger than the sum of the child sizes.
- Properties
- Functions
- add_view(self, child :
renoise.Views.View
) - remove_view(self, child :
renoise.Views.View
) - swap_views(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
) - add_child(self, child :
renoise.Views.View
) - remove_child(self, child :
renoise.Views.View
) - swap_childs(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
)
- add_view(self, child :
- Aliases
Properties
margin : RackMargin
Set the "borders" of a rack (left, right, top and bottom inclusively)
- Default: 0 (no borders)
spacing : RackSpacing
Set the amount stacked child views are separated by (horizontally in rows, vertically in columns).
- Default: 0 (no spacing)
mode : AlignerMode
- Default: "left" (for horizontal_aligner) "top" (for vertical_aligner)
background : ViewBackgroundStyle
Setup a background style for the view.
visible : ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
Deprecated. Use property
size
instead.
height : ViewDimension
Deprecated. Use property
size
instead.
size : ViewSize
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
views : renoise.Views.View
[]
READ-ONLY Empty for all controls, for layout views this contains the layout child views in the order they got added
Functions
add_view(self, child : renoise.Views.View
)
Add a new child view to this view.
remove_view(self, child : renoise.Views.View
)
Remove a child view from this view.
swap_views(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Swap position of two child views in this view. With a series of swaps views can be moved to any position in the parent.
add_child(self, child : renoise.Views.View
)
Deprecated. Use
add_view
instead
remove_child(self, child : renoise.Views.View
)
Deprecated. Use
remove_view
instead
swap_childs(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Deprecated. Use
swap_views
instead
Aliases
AlignerMode
"bottom"
| "center"
| "distribute"
| "justify"
| "left"
| "right"
| "top"
-- * Default: "left" (for horizontal_aligner) "top" (for vertical_aligner) AlignerMode: | "left" -- align from left to right (for horizontal_aligner only) | "right" -- align from right to left (for horizontal_aligner only) | "top" -- align from top to bottom (for vertical_aligner only) | "bottom" -- align from bottom to top (for vertical_aligner only) | "center" -- center all views | "justify" -- keep outer views at the borders, distribute the rest | "distribute" -- equally distributes views over the aligners width/height
RackMargin
Set the "borders" of a rack (left, right, top and bottom inclusively)
- Default: 0 (no borders)
RackSpacing
Set the amount stacked child views are separated by (horizontally in rows, vertically in columns).
- Default: 0 (no spacing)
ViewBackgroundStyle
"body"
| "border"
| "group"
| "invisible"
| "panel"
| "plain"
-- Setup a background style for the view. ViewBackgroundStyle: | "invisible" -- no background (Default) | "plain" -- undecorated, single coloured background | "border" -- same as plain, but with a bold nested border | "body" -- main "background" style, as used in dialog backgrounds | "panel" -- alternative "background" style, beveled | "group" -- background for "nested" groups within body
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
renoise.Views.Bitmap
Draws a bitmap, or a draws a bitmap which acts like a button (as soon as a notifier is specified). The notifier is called when clicking the mouse somewhere on the bitmap. When using a re-colorable style (see 'mode'), the bitmap is automatically recolored to match the current theme's colors. Mouse hover is also enabled when notifiers are present, to show that the bitmap can be clicked.
* *** + * / \ +---+ | O | o +---+ | ||||||||||||
- Properties
- mode :
BitmapMode
- color :
BitmapColor
- bitmap :
BitmapPath
- active :
ControlActive
- midi_mapping :
ControlMidiMappingString
- visible :
ViewVisibility
- origin :
ViewOrigin
- width :
ViewDimension
- height :
ViewDimension
- size :
ViewSize
- tooltip :
ViewTooltip
- cursor :
ViewCursorShape
- views :
renoise.Views.View
[]
- mode :
- Functions
- add_notifier(self, notifier :
NotifierFunction
) - remove_notifier(self, notifier :
NotifierFunction
) - add_view(self, child :
renoise.Views.View
) - remove_view(self, child :
renoise.Views.View
) - swap_views(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
) - add_child(self, child :
renoise.Views.View
) - remove_child(self, child :
renoise.Views.View
) - swap_childs(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
)
- add_notifier(self, notifier :
- Aliases
Properties
mode : BitmapMode
Setup how the bitmap should be drawn, recolored. Available modes are:
color : BitmapColor
When set, the bitmap will be drawn in the specified color and
mode
is set tocustom_color
. Setmode
to something else thancustom_color
or thecolor
to{0, 0, 0}
to enable aplain
display mode.
bitmap : BitmapPath
Supported bitmap file formats are *.bmp, *.png or *.tif (no transparency).
active : ControlActive
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
midi_mapping : ControlMidiMappingString
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
visible : ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
Deprecated. Use property
size
instead.
height : ViewDimension
Deprecated. Use property
size
instead.
size : ViewSize
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
views : renoise.Views.View
[]
READ-ONLY Empty for all controls, for layout views this contains the layout child views in the order they got added
Functions
add_notifier(self, notifier : NotifierFunction
)
Add mouse click notifier
remove_notifier(self, notifier : NotifierFunction
)
Remove mouse click notifier
add_view(self, child : renoise.Views.View
)
Add a new child view to this view.
remove_view(self, child : renoise.Views.View
)
Remove a child view from this view.
swap_views(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Swap position of two child views in this view. With a series of swaps views can be moved to any position in the parent.
add_child(self, child : renoise.Views.View
)
Deprecated. Use
add_view
instead
remove_child(self, child : renoise.Views.View
)
Deprecated. Use
remove_view
instead
swap_childs(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Deprecated. Use
swap_views
instead
Aliases
BitmapColor
-- When set, the bitmap will be drawn in the specified color and `mode` is set -- to `custom_color`. Set `mode` to something else than `custom_color` or the -- `color` to `{0, 0, 0}` to enable a `plain` display mode. -- A table of 3 bytes (ranging from 0 to 255) -- representing the red, green and blue channels of a color. -- {0xFF, 0xFF, 0xFF} is white -- {165, 73, 35} is the red from the Renoise logo -- The application theme's colors BitmapColor: | "main_back" | "main_font" | "alternate_main_back" | "alternate_main_font" | "body_back" | "body_font" | "strong_body_font" | "button_back" | "button_font" | "button_highlight_font" | "selected_button_back" | "selected_button_font" | "selection_back" | "selection_font" | "standby_selection_back" | "standby_selection_font" | "midi_mapping_back" | "midi_mapping_font" | "tooltip_back" | "tooltip_font" | "valuebox_back" | "valuebox_font" | "valuebox_font_icons" | "scrollbar" | "slider" | "folder" | "pattern_default_back" | "pattern_default_font" | "pattern_default_font_volume" | "pattern_default_font_panning" | "pattern_default_font_pitch" | "pattern_default_font_delay" | "pattern_default_font_global" | "pattern_default_font_other" | "pattern_default_font_dspfx" | "pattern_default_font_unused" | "pattern_highlighted_back" | "pattern_highlighted_font" | "pattern_highlighted_font_volume" | "pattern_highlighted_font_panning" | "pattern_highlighted_font_pitch" | "pattern_highlighted_font_delay" | "pattern_highlighted_font_global" | "pattern_highlighted_font_other" | "pattern_highlighted_font_dspfx" | "pattern_highlighted_font_unused" | "pattern_playposition_back" | "pattern_playposition_font" | "pattern_centerbar_back" | "pattern_centerbar_font" | "pattern_centerbar_back_standby" | "pattern_centerbar_font_standby" | "pattern_selection" | "pattern_standby_selection" | "pattern_mute_state" | "automation_grid" | "automation_line_edge" | "automation_line_fill" | "automation_point" | "automation_marker_play" | "automation_marker_single" | "automation_marker_pair" | "automation_marker_diamond" | "vumeter_meter" | "vumeter_meter_low" | "vumeter_meter_middle" | "vumeter_meter_high" | "vumeter_peak" | "vumeter_back_normal" | "vumeter_back_clipped" | "default_color_01" | "default_color_02" | "default_color_03" | "default_color_04" | "default_color_05" | "default_color_06" | "default_color_07" | "default_color_08" | "default_color_09" | "default_color_10" | "default_color_11" | "default_color_12" | "default_color_13" | "default_color_14" | "default_color_15" | "default_color_16"
BitmapImagePath
You can load an image from your tool's directory, or use one from Renoise's built-in icons.
- For the built-in icons, use "Icons/ArrowRight.bmp"
- For custom images, use a path relative to your tool's root folder.
For example "Images/MyBitmap.bmp" will load the image from "com.me.MyTool.xrnx/Images/MyBitmap.bmp".
If your custom path matches a built-in icon's (like "Icons/ArrowRight.bmp"), your image will be loaded instead of the one from Renoise.If you want to support high DPI UI scaling with your bitmaps like the built-in Icons, include high resolution versions with their filenames ending with "@4x"
The following rules will be used when loading bitmaps
- When UI scaling is 100%, only the base bitmaps are used.
- When UI scaling is 125%, the base bitmaps are used, except if there is a
BitmapName@x1.25.bmp
variant.- For all other UI scaling > 125% the "@4x" variants are used and downscaled as needed, except when there is an exact match for the current UI scaling factor (e.g.
BitmapName@1.5x.bmp
for 150%)
BitmapMode
"body_color"
| "button_color"
| "custom_color"
| "main_color"
| "plain"
| "transparent"
-- Setup how the bitmap should be drawn, recolored. Available modes are: BitmapMode: | "plain" -- bitmap is drawn as is, no recoloring is done (Default) | "transparent" -- same as plain, but black pixels will be fully transparent | "button_color" -- recolor the bitmap, using the theme's button color | "body_color" -- same as 'button_back' but with body text/back color | "main_color" -- same as 'button_back' but with main text/back colors | "custom_color" -- Recolor the bitmap using a custom color set by the `color'
BitmapPath
Supported bitmap file formats are *.bmp, *.png or *.tif (no transparency).
ControlActive
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
ControlMidiMappingString
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
NotifierFunction
fun()
RGBColor
{ 1 : integer
, 2 : integer
, 3 : integer
}
A table of 3 bytes (ranging from 0 to 255) representing the red, green and blue channels of a color. {0xFF, 0xFF, 0xFF} is white {165, 73, 35} is the red from the Renoise logo
ThemeColor
"alternate_main_back"
| "alternate_main_font"
| "automation_grid"
| "automation_line_edge"
| "automation_line_fill"
| "automation_marker_diamond"
| "automation_marker_pair"
| "automation_marker_play"
| "automation_marker_single"
| "automation_point"
| "body_back"
| "body_font"
| "button_back"
| "button_font"
| "button_highlight_font"
| "default_color_01"
| "default_color_02"
| "default_color_03"
| "default_color_04"
| "default_color_05"
| "default_color_06"
| "default_color_07"
| "default_color_08"
| "default_color_09"
| "default_color_10"
| "default_color_11"
| "default_color_12"
| "default_color_13"
| "default_color_14"
| "default_color_15"
| "default_color_16"
| "folder"
| "main_back"
| "main_font"
| "midi_mapping_back"
| "midi_mapping_font"
| "pattern_centerbar_back"
| "pattern_centerbar_back_standby"
| "pattern_centerbar_font"
| "pattern_centerbar_font_standby"
| "pattern_default_back"
| "pattern_default_font"
| "pattern_default_font_delay"
| "pattern_default_font_dspfx"
| "pattern_default_font_global"
| "pattern_default_font_other"
| "pattern_default_font_panning"
| "pattern_default_font_pitch"
| "pattern_default_font_unused"
| "pattern_default_font_volume"
| "pattern_highlighted_back"
| "pattern_highlighted_font"
| "pattern_highlighted_font_delay"
| "pattern_highlighted_font_dspfx"
| "pattern_highlighted_font_global"
| "pattern_highlighted_font_other"
| "pattern_highlighted_font_panning"
| "pattern_highlighted_font_pitch"
| "pattern_highlighted_font_unused"
| "pattern_highlighted_font_volume"
| "pattern_mute_state"
| "pattern_playposition_back"
| "pattern_playposition_font"
| "pattern_selection"
| "pattern_standby_selection"
| "scrollbar"
| "selected_button_back"
| "selected_button_font"
| "selection_back"
| "selection_font"
| "slider"
| "standby_selection_back"
| "standby_selection_font"
| "strong_body_font"
| "tooltip_back"
| "tooltip_font"
| "valuebox_back"
| "valuebox_font"
| "valuebox_font_icons"
| "vumeter_back_clipped"
| "vumeter_back_normal"
| "vumeter_meter"
| "vumeter_meter_high"
| "vumeter_meter_low"
| "vumeter_meter_middle"
| "vumeter_peak"
-- The application theme's colors ThemeColor: | "main_back" | "main_font" | "alternate_main_back" | "alternate_main_font" | "body_back" | "body_font" | "strong_body_font" | "button_back" | "button_font" | "button_highlight_font" | "selected_button_back" | "selected_button_font" | "selection_back" | "selection_font" | "standby_selection_back" | "standby_selection_font" | "midi_mapping_back" | "midi_mapping_font" | "tooltip_back" | "tooltip_font" | "valuebox_back" | "valuebox_font" | "valuebox_font_icons" | "scrollbar" | "slider" | "folder" | "pattern_default_back" | "pattern_default_font" | "pattern_default_font_volume" | "pattern_default_font_panning" | "pattern_default_font_pitch" | "pattern_default_font_delay" | "pattern_default_font_global" | "pattern_default_font_other" | "pattern_default_font_dspfx" | "pattern_default_font_unused" | "pattern_highlighted_back" | "pattern_highlighted_font" | "pattern_highlighted_font_volume" | "pattern_highlighted_font_panning" | "pattern_highlighted_font_pitch" | "pattern_highlighted_font_delay" | "pattern_highlighted_font_global" | "pattern_highlighted_font_other" | "pattern_highlighted_font_dspfx" | "pattern_highlighted_font_unused" | "pattern_playposition_back" | "pattern_playposition_font" | "pattern_centerbar_back" | "pattern_centerbar_font" | "pattern_centerbar_back_standby" | "pattern_centerbar_font_standby" | "pattern_selection" | "pattern_standby_selection" | "pattern_mute_state" | "automation_grid" | "automation_line_edge" | "automation_line_fill" | "automation_point" | "automation_marker_play" | "automation_marker_single" | "automation_marker_pair" | "automation_marker_diamond" | "vumeter_meter" | "vumeter_meter_low" | "vumeter_meter_middle" | "vumeter_meter_high" | "vumeter_peak" | "vumeter_back_normal" | "vumeter_back_clipped" | "default_color_01" | "default_color_02" | "default_color_03" | "default_color_04" | "default_color_05" | "default_color_06" | "default_color_07" | "default_color_08" | "default_color_09" | "default_color_10" | "default_color_11" | "default_color_12" | "default_color_13" | "default_color_14" | "default_color_15" | "default_color_16"
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
renoise.Views.Button
A simple button that calls a custom notifier function when clicked. Supports text or bitmap labels.
+--------+ | Button | +--------+
- Properties
- text :
ButtonLabel
- bitmap :
ButtonBitmapPath
- align :
ButtonAlignment
- font :
TextFontStyle
- color :
ButtonColor
- secondary_color :
ButtonSecondaryColor
- style :
ButtonStyle
- active :
ControlActive
- midi_mapping :
ControlMidiMappingString
- visible :
ViewVisibility
- origin :
ViewOrigin
- width :
ViewDimension
- height :
ViewDimension
- size :
ViewSize
- tooltip :
ViewTooltip
- cursor :
ViewCursorShape
- views :
renoise.Views.View
[]
- text :
- Functions
- add_pressed_notifier(self, notifier :
NotifierFunction
) - add_released_notifier(self, notifier :
NotifierFunction
) - remove_pressed_notifier(self, notifier :
NotifierFunction
) - remove_released_notifier(self, notifier :
NotifierFunction
) - add_view(self, child :
renoise.Views.View
) - remove_view(self, child :
renoise.Views.View
) - swap_views(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
) - add_child(self, child :
renoise.Views.View
) - remove_child(self, child :
renoise.Views.View
) - swap_childs(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
)
- add_pressed_notifier(self, notifier :
- Aliases
Properties
text : ButtonLabel
The text label of the button
- Default: ""
bitmap : ButtonBitmapPath
If set, existing text is removed and the loaded image is displayed instead. Supported bitmap file formats are ".bmp", ".png" and ".tiff". Colors in bitmaps will be overridden by the button's theme color, using black as the transparent color for BMPs and TIFFS, and the alpha channel for PNGs. All other colors are mapped to the theme color according to their grey value, so plain white is the target theme color, and all other colors blend into the button's background color of the theme.
align : ButtonAlignment
Setup the buttons text's or bitmap's alignment within the button.
font : TextFontStyle
The style that the text should be displayed with.
color : ButtonColor
When set, the unpressed button's background will be drawn in the specified color. A text color is automatically selected unless explicitly set, to make sure its always visible. Set color {0,0,0} to enable the theme colors for the button again.
secondary_color : ButtonSecondaryColor
When set, the unpressed button's background text or bitmap will be drawn in the specified color. Set color {0,0,0} to enable the theme colors for the button again.
style : ButtonStyle
Get/set the style a button should be displayed with.
active : ControlActive
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
midi_mapping : ControlMidiMappingString
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
visible : ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
Deprecated. Use property
size
instead.
height : ViewDimension
Deprecated. Use property
size
instead.
size : ViewSize
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
views : renoise.Views.View
[]
READ-ONLY Empty for all controls, for layout views this contains the layout child views in the order they got added
Functions
add_pressed_notifier(self, notifier : NotifierFunction
)
Add/remove button hit/release notifier functions. When a "pressed" notifier is set, the release notifier is guaranteed to be called as soon as the mouse is released, either over your button or anywhere else. When a "release" notifier is set, it is only called when the mouse button is pressed !and! released over your button.
add_released_notifier(self, notifier : NotifierFunction
)
remove_pressed_notifier(self, notifier : NotifierFunction
)
remove_released_notifier(self, notifier : NotifierFunction
)
add_view(self, child : renoise.Views.View
)
Add a new child view to this view.
remove_view(self, child : renoise.Views.View
)
Remove a child view from this view.
swap_views(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Swap position of two child views in this view. With a series of swaps views can be moved to any position in the parent.
add_child(self, child : renoise.Views.View
)
Deprecated. Use
add_view
instead
remove_child(self, child : renoise.Views.View
)
Deprecated. Use
remove_view
instead
swap_childs(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Deprecated. Use
swap_views
instead
Aliases
BitmapImagePath
You can load an image from your tool's directory, or use one from Renoise's built-in icons.
- For the built-in icons, use "Icons/ArrowRight.bmp"
- For custom images, use a path relative to your tool's root folder.
For example "Images/MyBitmap.bmp" will load the image from "com.me.MyTool.xrnx/Images/MyBitmap.bmp".
If your custom path matches a built-in icon's (like "Icons/ArrowRight.bmp"), your image will be loaded instead of the one from Renoise.If you want to support high DPI UI scaling with your bitmaps like the built-in Icons, include high resolution versions with their filenames ending with "@4x"
The following rules will be used when loading bitmaps
- When UI scaling is 100%, only the base bitmaps are used.
- When UI scaling is 125%, the base bitmaps are used, except if there is a
BitmapName@x1.25.bmp
variant.- For all other UI scaling > 125% the "@4x" variants are used and downscaled as needed, except when there is an exact match for the current UI scaling factor (e.g.
BitmapName@1.5x.bmp
for 150%)
ButtonAlignment
"center"
| "left"
| "right"
-- Setup the buttons text's or bitmap's alignment within the button. ButtonAlignment: | "left" -- aligned to the left | "right" -- aligned to the right | "center" -- center (default)
ButtonBitmapPath
If set, existing text is removed and the loaded image is displayed instead. Supported bitmap file formats are ".bmp", ".png" and ".tiff". Colors in bitmaps will be overridden by the button's theme color, using black as the transparent color for BMPs and TIFFS, and the alpha channel for PNGs. All other colors are mapped to the theme color according to their grey value, so plain white is the target theme color, and all other colors blend into the button's background color of the theme.
ButtonColor
-- When set, the unpressed button's background will be drawn in the specified color. -- A text color is automatically selected unless explicitly set, to make sure its -- always visible. -- Set color {0,0,0} to enable the theme colors for the button again. -- A table of 3 bytes (ranging from 0 to 255) -- representing the red, green and blue channels of a color. -- {0xFF, 0xFF, 0xFF} is white -- {165, 73, 35} is the red from the Renoise logo -- The application theme's colors ButtonColor: | "main_back" | "main_font" | "alternate_main_back" | "alternate_main_font" | "body_back" | "body_font" | "strong_body_font" | "button_back" | "button_font" | "button_highlight_font" | "selected_button_back" | "selected_button_font" | "selection_back" | "selection_font" | "standby_selection_back" | "standby_selection_font" | "midi_mapping_back" | "midi_mapping_font" | "tooltip_back" | "tooltip_font" | "valuebox_back" | "valuebox_font" | "valuebox_font_icons" | "scrollbar" | "slider" | "folder" | "pattern_default_back" | "pattern_default_font" | "pattern_default_font_volume" | "pattern_default_font_panning" | "pattern_default_font_pitch" | "pattern_default_font_delay" | "pattern_default_font_global" | "pattern_default_font_other" | "pattern_default_font_dspfx" | "pattern_default_font_unused" | "pattern_highlighted_back" | "pattern_highlighted_font" | "pattern_highlighted_font_volume" | "pattern_highlighted_font_panning" | "pattern_highlighted_font_pitch" | "pattern_highlighted_font_delay" | "pattern_highlighted_font_global" | "pattern_highlighted_font_other" | "pattern_highlighted_font_dspfx" | "pattern_highlighted_font_unused" | "pattern_playposition_back" | "pattern_playposition_font" | "pattern_centerbar_back" | "pattern_centerbar_font" | "pattern_centerbar_back_standby" | "pattern_centerbar_font_standby" | "pattern_selection" | "pattern_standby_selection" | "pattern_mute_state" | "automation_grid" | "automation_line_edge" | "automation_line_fill" | "automation_point" | "automation_marker_play" | "automation_marker_single" | "automation_marker_pair" | "automation_marker_diamond" | "vumeter_meter" | "vumeter_meter_low" | "vumeter_meter_middle" | "vumeter_meter_high" | "vumeter_peak" | "vumeter_back_normal" | "vumeter_back_clipped" | "default_color_01" | "default_color_02" | "default_color_03" | "default_color_04" | "default_color_05" | "default_color_06" | "default_color_07" | "default_color_08" | "default_color_09" | "default_color_10" | "default_color_11" | "default_color_12" | "default_color_13" | "default_color_14" | "default_color_15" | "default_color_16"
ButtonLabel
The text label of the button
- Default: ""
ButtonSecondaryColor
-- When set, the unpressed button's background text or bitmap will be drawn in the -- specified color. -- Set color {0,0,0} to enable the theme colors for the button again. -- A table of 3 bytes (ranging from 0 to 255) -- representing the red, green and blue channels of a color. -- {0xFF, 0xFF, 0xFF} is white -- {165, 73, 35} is the red from the Renoise logo -- The application theme's colors ButtonSecondaryColor: | "main_back" | "main_font" | "alternate_main_back" | "alternate_main_font" | "body_back" | "body_font" | "strong_body_font" | "button_back" | "button_font" | "button_highlight_font" | "selected_button_back" | "selected_button_font" | "selection_back" | "selection_font" | "standby_selection_back" | "standby_selection_font" | "midi_mapping_back" | "midi_mapping_font" | "tooltip_back" | "tooltip_font" | "valuebox_back" | "valuebox_font" | "valuebox_font_icons" | "scrollbar" | "slider" | "folder" | "pattern_default_back" | "pattern_default_font" | "pattern_default_font_volume" | "pattern_default_font_panning" | "pattern_default_font_pitch" | "pattern_default_font_delay" | "pattern_default_font_global" | "pattern_default_font_other" | "pattern_default_font_dspfx" | "pattern_default_font_unused" | "pattern_highlighted_back" | "pattern_highlighted_font" | "pattern_highlighted_font_volume" | "pattern_highlighted_font_panning" | "pattern_highlighted_font_pitch" | "pattern_highlighted_font_delay" | "pattern_highlighted_font_global" | "pattern_highlighted_font_other" | "pattern_highlighted_font_dspfx" | "pattern_highlighted_font_unused" | "pattern_playposition_back" | "pattern_playposition_font" | "pattern_centerbar_back" | "pattern_centerbar_font" | "pattern_centerbar_back_standby" | "pattern_centerbar_font_standby" | "pattern_selection" | "pattern_standby_selection" | "pattern_mute_state" | "automation_grid" | "automation_line_edge" | "automation_line_fill" | "automation_point" | "automation_marker_play" | "automation_marker_single" | "automation_marker_pair" | "automation_marker_diamond" | "vumeter_meter" | "vumeter_meter_low" | "vumeter_meter_middle" | "vumeter_meter_high" | "vumeter_peak" | "vumeter_back_normal" | "vumeter_back_clipped" | "default_color_01" | "default_color_02" | "default_color_03" | "default_color_04" | "default_color_05" | "default_color_06" | "default_color_07" | "default_color_08" | "default_color_09" | "default_color_10" | "default_color_11" | "default_color_12" | "default_color_13" | "default_color_14" | "default_color_15" | "default_color_16"
ButtonStyle
"normal"
| "rounded"
| "rounded_bottom"
| "rounded_left"
| "rounded_right"
| "rounded_top"
-- Get/set the style a button should be displayed with. ButtonStyle: | "normal" -- (Default) | "rounded" -- rounded corners on all sides | "rounded_left" -- rounded left side | "rounded_right" -- rounded right side | "rounded_top" -- rounded left side | "rounded_bottom" -- rounded right side
ControlActive
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
ControlMidiMappingString
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
NotifierFunction
fun()
RGBColor
{ 1 : integer
, 2 : integer
, 3 : integer
}
A table of 3 bytes (ranging from 0 to 255) representing the red, green and blue channels of a color. {0xFF, 0xFF, 0xFF} is white {165, 73, 35} is the red from the Renoise logo
TextFontStyle
"big"
| "bold"
| "code"
| "italic"
| "mono"
| "normal"
-- The style that the text should be displayed with. TextFontStyle: | "normal" -- (Default) | "big" -- big text | "bold" -- bold font | "italic" -- italic font | "mono" -- monospace font | "code" -- monospace code font
ThemeColor
"alternate_main_back"
| "alternate_main_font"
| "automation_grid"
| "automation_line_edge"
| "automation_line_fill"
| "automation_marker_diamond"
| "automation_marker_pair"
| "automation_marker_play"
| "automation_marker_single"
| "automation_point"
| "body_back"
| "body_font"
| "button_back"
| "button_font"
| "button_highlight_font"
| "default_color_01"
| "default_color_02"
| "default_color_03"
| "default_color_04"
| "default_color_05"
| "default_color_06"
| "default_color_07"
| "default_color_08"
| "default_color_09"
| "default_color_10"
| "default_color_11"
| "default_color_12"
| "default_color_13"
| "default_color_14"
| "default_color_15"
| "default_color_16"
| "folder"
| "main_back"
| "main_font"
| "midi_mapping_back"
| "midi_mapping_font"
| "pattern_centerbar_back"
| "pattern_centerbar_back_standby"
| "pattern_centerbar_font"
| "pattern_centerbar_font_standby"
| "pattern_default_back"
| "pattern_default_font"
| "pattern_default_font_delay"
| "pattern_default_font_dspfx"
| "pattern_default_font_global"
| "pattern_default_font_other"
| "pattern_default_font_panning"
| "pattern_default_font_pitch"
| "pattern_default_font_unused"
| "pattern_default_font_volume"
| "pattern_highlighted_back"
| "pattern_highlighted_font"
| "pattern_highlighted_font_delay"
| "pattern_highlighted_font_dspfx"
| "pattern_highlighted_font_global"
| "pattern_highlighted_font_other"
| "pattern_highlighted_font_panning"
| "pattern_highlighted_font_pitch"
| "pattern_highlighted_font_unused"
| "pattern_highlighted_font_volume"
| "pattern_mute_state"
| "pattern_playposition_back"
| "pattern_playposition_font"
| "pattern_selection"
| "pattern_standby_selection"
| "scrollbar"
| "selected_button_back"
| "selected_button_font"
| "selection_back"
| "selection_font"
| "slider"
| "standby_selection_back"
| "standby_selection_font"
| "strong_body_font"
| "tooltip_back"
| "tooltip_font"
| "valuebox_back"
| "valuebox_font"
| "valuebox_font_icons"
| "vumeter_back_clipped"
| "vumeter_back_normal"
| "vumeter_meter"
| "vumeter_meter_high"
| "vumeter_meter_low"
| "vumeter_meter_middle"
| "vumeter_peak"
-- The application theme's colors ThemeColor: | "main_back" | "main_font" | "alternate_main_back" | "alternate_main_font" | "body_back" | "body_font" | "strong_body_font" | "button_back" | "button_font" | "button_highlight_font" | "selected_button_back" | "selected_button_font" | "selection_back" | "selection_font" | "standby_selection_back" | "standby_selection_font" | "midi_mapping_back" | "midi_mapping_font" | "tooltip_back" | "tooltip_font" | "valuebox_back" | "valuebox_font" | "valuebox_font_icons" | "scrollbar" | "slider" | "folder" | "pattern_default_back" | "pattern_default_font" | "pattern_default_font_volume" | "pattern_default_font_panning" | "pattern_default_font_pitch" | "pattern_default_font_delay" | "pattern_default_font_global" | "pattern_default_font_other" | "pattern_default_font_dspfx" | "pattern_default_font_unused" | "pattern_highlighted_back" | "pattern_highlighted_font" | "pattern_highlighted_font_volume" | "pattern_highlighted_font_panning" | "pattern_highlighted_font_pitch" | "pattern_highlighted_font_delay" | "pattern_highlighted_font_global" | "pattern_highlighted_font_other" | "pattern_highlighted_font_dspfx" | "pattern_highlighted_font_unused" | "pattern_playposition_back" | "pattern_playposition_font" | "pattern_centerbar_back" | "pattern_centerbar_font" | "pattern_centerbar_back_standby" | "pattern_centerbar_font_standby" | "pattern_selection" | "pattern_standby_selection" | "pattern_mute_state" | "automation_grid" | "automation_line_edge" | "automation_line_fill" | "automation_point" | "automation_marker_play" | "automation_marker_single" | "automation_marker_pair" | "automation_marker_diamond" | "vumeter_meter" | "vumeter_meter_low" | "vumeter_meter_middle" | "vumeter_meter_high" | "vumeter_peak" | "vumeter_back_normal" | "vumeter_back_clipped" | "default_color_01" | "default_color_02" | "default_color_03" | "default_color_04" | "default_color_05" | "default_color_06" | "default_color_07" | "default_color_08" | "default_color_09" | "default_color_10" | "default_color_11" | "default_color_12" | "default_color_13" | "default_color_14" | "default_color_15" | "default_color_16"
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
renoise.Views.Canvas
A canvas view lets you draw and handle mouse events in a completely customisable way.
Note: The content is cached in a texture and not hardware accelerated, so it's not suitable for animations, but for static content such as custom backgrounds or bitmap-like views.
.--. .'_\/_'. '. /\ .' "||" || /\ /\ ||//\) (/\\||/ ______\||/_______
- Properties
- Functions
- update(self)
- add_view(self, child :
renoise.Views.View
) - remove_view(self, child :
renoise.Views.View
) - swap_views(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
) - add_child(self, child :
renoise.Views.View
) - remove_child(self, child :
renoise.Views.View
) - swap_childs(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
)
- Aliases
Properties
mode : CanvasMode
How to draw the canvas context to screen: "transparent" draws with alpha from the canvas, "plain" ignores alpha values, which usually is a lot faster to draw. Use "plain" to speed up drawing background alike canvas views which cover the entire view area. Default: "transparent"
visible : ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
Deprecated. Use property
size
instead.
height : ViewDimension
Deprecated. Use property
size
instead.
size : ViewSize
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
views : renoise.Views.View
[]
READ-ONLY Empty for all controls, for layout views this contains the layout child views in the order they got added
Functions
update(self)
Request background drawing contents of the canvas to be updated in the next UI draw cycle.
Size changes of the canvas view, global UI scaling changes, and color theme changes will automatically update the canvas, so this is only necessary to call when your draw content needs to be updated due to some internal state changes.
add_view(self, child : renoise.Views.View
)
Add a new child view to this view.
remove_view(self, child : renoise.Views.View
)
Remove a child view from this view.
swap_views(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Swap position of two child views in this view. With a series of swaps views can be moved to any position in the parent.
add_child(self, child : renoise.Views.View
)
Deprecated. Use
add_view
instead
remove_child(self, child : renoise.Views.View
)
Deprecated. Use
remove_view
instead
swap_childs(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Deprecated. Use
swap_views
instead
Aliases
CanvasMode
"plain"
| "transparent"
-- How to draw the canvas context to screen: "transparent" draws with alpha from -- the canvas, "plain" ignores alpha values, which usually is a lot faster to draw. -- Use "plain" to speed up drawing background alike canvas views which cover the -- entire view area. Default: "transparent" CanvasMode: | "plain" | "transparent"
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
renoise.Views.Canvas.Context
Drawing context for a canvas view.
The context is similar to the HTML5 canvas 2d drawing context, with the following differences and limitations:
- no text drawing: layer a renoise.Views.Text on top of this view instead.
- no image and pattern drawing: layer a renoise.Views.Bitmap on top of this view, if you need to draw bitmaps in the canvas.
- no shadow rendering: that would be awful slow
- colors can be specified as strings or rgba tables in range [0-255]. when specifying strings, only renoise theme colors are supported (e.g. "button_back").
- to create gradients use the available
start_XXX
gradient functions instead of creating gradient objects.- to set a new fill or stroke color, use the
fill_color
andstroke_color
properties instead offill/strokeStyle
This canvas implementation is based on 'canvas_ity' by Andrew Kensler https://github.com/a-e-k/canvas_ity
- Properties
- pixel_size : { height :
integer
, width :integer
} - size : { height :
integer
, width :integer
} - global_alpha :
number
- global_composite_operation :
"source_atop"
|"source_copy"
|"source_in"
|"source_out"
|"source_over"
|"destination_atop"
|"destination_in"
|"destination_out"
|"destination_over"
|"exclusive_or"
|"lighter"
- fill_color :
RGBColor
|RGBAColor
|ThemeColor
- stroke_color :
RGBColor
|RGBAColor
|ThemeColor
- line_cap :
"butt"
|"square"
|"circle"
- line_join :
"miter"
|"bevel"
|"rounded"
- line_width :
number
- miter_limit :
number
- line_dash_offset :
number
- pixel_size : { height :
- Functions
- clip(self)
- save(self)
- restore(self)
- fill_rect(self, x :
number
, y :number
, width :number
, height :number
) - stroke_rect(self, x :
number
, y :number
, width :number
, height :number
) - clear_rect(self, x :
number
, y :number
, width :number
, height :number
) - begin_path(self)
- close_path(self)
- move_to(self, x :
number
, y :number
) - line_to(self, x :
number
, y :number
) - fill(self)
- stroke(self)
- set_line_dash(self, segments :
number
[]) - set_fill_linear_gradient(self, start_x :
number
, start_y :number
, end_x :number
, end_y :number
) - set_stroke_linear_gradient(self, start_x :
number
, start_y :number
, end_x :number
, end_y :number
) - set_fill_radial_gradient(self, start_x :
number
, start_y :number
, start_radius :number
, end_x :number
, end_y :number
, end_radius :number
) - set_stroke_radial_gradient(self, start_x :
number
, start_y :number
, start_radius :number
, end_x :number
, end_y :number
, end_radius :number
) - add_fill_color_stop(self, offset :
number
, color :RGBAColor
|RGBColor
|ThemeColor
) - add_stroke_color_stop(self, offset :
number
, color :RGBAColor
|RGBColor
|ThemeColor
) - rect(self, x :
number
, y :number
, width :number
, height :number
) - bezier_curve_to(self, control_1_x :
number
, control_1_y :number
, control_2_x :number
, control_2_y :number
, x :number
, y :number
) - arc(self, x :
number
, y :number
, radius :number
, start_angle :number
, end_angle :number
, counter_clockwise :boolean``?
) - arc_to(self, vertex_x :
number
, vertex_y :number
, x :number
, y :number
, radius :number
) - quadratic_curve_to(self, control_x :
number
, control_y :number
, x :number
, y :number
) - scale(self, x :
number
, y :number
) - rotate(self, angle :
number
) - translate(self, x :
number
, y :number
) - transform(self, a :
number
, b :number
, c :number
, d :number
, e :number
, f :number
) - set_transform(self, a :
number
, b :number
, c :number
, d :number
, e :number
, f :number
)
- Aliases
Properties
pixel_size : { height : integer
, width : integer
}
READ_ONLY Size of the render context backend in raw pixel resolution. This is the view ports size, multiplied with the global UI scaling factor. It does not change with transformations.
size : { height : integer
, width : integer
}
READ_ONLY Size of the render context with transformations applied. This initially will be the view's size. Calls to
transform
orscale
may change the size further.
global_alpha : number
The degree of opacity applied to all drawing operations.
If an operation already uses a transparent color, this can make it yet more transparent. It must be in the range from 0 for fully transparent to 255 for fully opaque. Defaults to 255 (opaque).
global_composite_operation : "source_atop"
| "source_copy"
| "source_in"
| "source_out"
| "source_over"
| "destination_atop"
| "destination_in"
| "destination_out"
| "destination_over"
| "exclusive_or"
| "lighter"
Compositing operation for blending new drawing and old pixels.
The source_copy, source_in, source_out, destination_atop, and destination_in operations may clear parts of the canvas outside the new drawing but within the clip region. Defaults to "source_over".
fill_color : RGBColor
| RGBAColor
| ThemeColor
Set filling to use a constant color and opacity.
Defaults a constant color with 0,0,0,255 (opaque black).
stroke_color : RGBColor
| RGBAColor
| ThemeColor
Set stroking to use a constant color and opacity.
Defaults a constant color with 0,0,0,255 (opaque black).
line_cap : "butt"
| "square"
| "circle"
Cap style for the ends of open subpaths and dash segments.
The actual shape may be affected by the current transform at the time of drawing. Only affects stroking. Defaults to "butt".
line_join : "miter"
| "bevel"
| "rounded"
Join style for connecting lines within the paths.
The actual shape may be affected by the current transform at the time of drawing. Only affects stroking. Defaults to "miter".
line_width : number
The width of the lines when stroking.
Initially this is measured in pixels, though the current transform at the time of drawing can affect this. Must be positive. Defaults to 1.0.
miter_limit : number
Limit on maximum pointiness allowed for miter joins.
If the distance from the point where the lines intersect to the point where the outside edges of the join intersect exceeds this ratio relative to the line width, then a bevel join will be used instead, and the miter will be lopped off. Larger values allow pointier miters. Only affects stroking and only when the line join style is miter. Defaults to 10.0.
line_dash_offset : number
Offset where each subpath starts the dash pattern.
Changing this shifts the location of the dashes along the path and animating it will produce a marching ants effect. Only affects stroking and only when a dash pattern is set. May be negative or exceed the length of the dash pattern, in which case it will wrap. Defaults to 0.0.
Functions
clip(self)
Restrict the clip region by the current path.
Intersects the current clip region with the interior of the current path (the region that would be filled), and replaces the current clip region with this intersection. Subsequent calls to clip can only reduce this further. When filling or stroking, only pixels within the current clip region will change. The current path is left unchanged by updating the clip region; begin a new path to clear it. Defaults to the entire canvas.
Tip: to be able to reset the current clip region, save the canvas state first before clipping then restore the state to reset it.
save(self)
Save the current state as though to a stack.
The full state of the canvas is saved, except for the pixels in the canvas buffer, and the current path.
Tip: to be able to reset the current clip region, save the canvas state first before clipping then restore the state to reset it.
restore(self)
Restore a previously saved state as though from a stack.
This does not affect the pixels in the canvas buffer or the current path. If the stack of canvas states is empty, this does nothing.
fill_rect(self, x : number
, y : number
, width : number
, height : number
)
Fill a rectangular area.
This behaves as though the current path were reset to a single rectangle and then filled as usual. However, the current path is not actually changed. The current transform at the time that this is called will affect the given point and rectangle. The width and/or the height may be negative but not zero. If either is zero, or the current transform is not invertible, this does nothing.
stroke_rect(self, x : number
, y : number
, width : number
, height : number
)
Stroke a rectangular area.
This behaves as though the current path were reset to a single rectangle and then stroked as usual. However, the current path is not actually changed. The current transform at the time that this is called will affect the given point and rectangle. The width and/or the height may be negative or zero. If both are zero, or the current transform is not invertible, this does nothing. If only one is zero, this behaves as though it strokes a single horizontal or vertical line.
clear_rect(self, x : number
, y : number
, width : number
, height : number
)
Clear a rectangular area back to transparent black.
The clip region may limit the area cleared. The current path is not affected by this clearing. The current transform at the time that this is called will affect the given point and rectangle. The width and/or the height may be negative or zero. If either is zero, or the current transform is not invertible, this does nothing.
begin_path(self)
Reset the current path.
The current path and all subpaths will be cleared after this, and a new path can be built.
close_path(self)
Close the current subpath.
Adds a straight line from the end of the current subpath back to its first point and marks the subpath as closed so that this line will join with the beginning of the path at this point. A new, empty subpath will be started beginning with the same first point. If the current path is empty, this does nothing.
move_to(self, x : number
, y : number
)
Create a new subpath.
The given point will become the first point of the new subpath and is subject to the current transform at the time this is called.
line_to(self, x : number
, y : number
)
Extend the current subpath with a straight line.
The line will go from the current end point (if the current path is not empty) to the given point, which will become the new end point. Its position is affected by the current transform at the time that this is called. If the current path was empty, this is equivalent to just a move.
fill(self)
Draw the interior of the current path using the fill style.
Interior pixels are determined by the non-zero winding rule, with all open subpaths implicitly closed by a straight line beforehand. If shadows have been enabled by setting the shadow color with any opacity and either offsetting or blurring the shadows, then the shadows of the filled areas will be drawn first, followed by the filled areas themselves. Both will be blended into the canvas according to the global alpha, the global compositing operation, and the clip region. If the fill style is a gradient or a pattern, it will be affected by the current transform. The current path is left unchanged by filling; begin a new path to clear it. If the current transform is not invertible, this does nothing.
stroke(self)
Draw the edges of the current path using the stroke style.
Edges of the path will be expanded into strokes according to the current dash pattern, dash offset, line width, line join style (and possibly miter limit), line cap, and transform. If shadows have been enabled by setting the shadow color with any opacity and either offsetting or blurring the shadows, then the shadow will be drawn for the stroked lines first, then the stroked lines themselves. Both will be blended into the canvas according to the global alpha, the global compositing operation, and the clip region. If the stroke style is a gradient or a pattern, it will be affected by the current transform. The current path is left unchanged by stroking; begin a new path to clear it. If the current transform is not invertible, this does nothing.
Tip: to draw with a calligraphy-like angled brush effect, add a non-uniform scale transform just before stroking.
set_line_dash(self, segments : number
[])
Set or clear the line dash pattern.
Takes an array with entries alternately giving the lengths of dash and gap segments. All must be non-negative; if any are not, this does nothing. These will be used to draw with dashed lines when stroking, with each subpath starting at the length along the dash pattern indicated by the line dash offset. Initially these lengths are measured in pixels, though the current transform at the time of drawing can affect this. The count must be non-negative. If it is odd, the array will be appended to itself to make an even count. If it is zero, or the pointer is null, the dash pattern will be cleared and strokes will be drawn as solid lines. The array is copied and it is safe to change or destroy it after this call. Defaults to solid lines.
set_fill_linear_gradient(self, start_x : number
, start_y : number
, end_x : number
, end_y : number
)
Set filling to use a linear gradient.
Positions the start and end points of the gradient and clears all color stops to reset the gradient to transparent black. Color stops can then be added again. When drawing, pixels will be painted with the color of the gradient at the nearest point on the line segment between the start and end points. This is affected by the current transform at the time of drawing.
set_stroke_linear_gradient(self, start_x : number
, start_y : number
, end_x : number
, end_y : number
)
Set filling to use a linear gradient.
See:renoise.Views.Canvas.Context
set_fill_linear_gradient
set_fill_radial_gradient(self, start_x : number
, start_y : number
, start_radius : number
, end_x : number
, end_y : number
, end_radius : number
)
Set filling to use a radial gradient.
Positions the start and end circles of the gradient and clears all color stops to reset the gradient to transparent black. Color stops can then be added again. When drawing, pixels will be painted as though the starting circle moved and changed size linearly to match the ending circle, while sweeping through the colors of the gradient. Pixels not touched by the moving circle will be left transparent black. The radial gradient is affected by the current transform at the time of drawing. The radii must be non-negative.
set_stroke_radial_gradient(self, start_x : number
, start_y : number
, start_radius : number
, end_x : number
, end_y : number
, end_radius : number
)
Set stroke to use a radial gradient.
See:renoise.Views.Canvas.Context
set_fill_radial_gradient
add_fill_color_stop(self, offset : number
, color : RGBAColor
| RGBColor
| ThemeColor
)
Add a color stop to a linear or radial gradient fill.
Each color stop has an offset which defines its position from 0.0 at the start of the gradient to 1.0 at the end. Colors and opacity are linearly interpolated along the gradient between adjacent pairs of stops without premultiplying the alpha. If more than one stop is added for a given offset, the first one added is considered closest to 0.0 and the last is closest to 1.0. If no stop is at offset 0.0 or 1.0, the stops with the closest offsets will be extended. If no stops are added, the gradient will be fully transparent black. Set a new linear or radial gradient to clear all the stops and redefine the gradient colors. Color stops may be added to a gradient at any time. The color and opacity values will be clamped to the 0.0 to 1.0 range, inclusive. The offset must be in the 0.0 to 1.0 range, inclusive. If it is not, or if chosen style type is not currently set to a gradient, this does nothing.
-- A table of 3 bytes (ranging from 0 to 255) -- representing the red, green and blue channels of a color. -- {0xFF, 0xFF, 0xFF} is white -- {165, 73, 35} is the red from the Renoise logo -- A table of 4 bytes (ranging from 0 to 255) -- representing the red, green, blue, alpha channels of a color. -- {0xFF, 0xFF, 0xFF, 0xFF} is white -- {165, 73, 35, 0x80} is the red from the Renoise logo, half opaque. -- The application theme's colors color: | "main_back" | "main_font" | "alternate_main_back" | "alternate_main_font" | "body_back" | "body_font" | "strong_body_font" | "button_back" | "button_font" | "button_highlight_font" | "selected_button_back" | "selected_button_font" | "selection_back" | "selection_font" | "standby_selection_back" | "standby_selection_font" | "midi_mapping_back" | "midi_mapping_font" | "tooltip_back" | "tooltip_font" | "valuebox_back" | "valuebox_font" | "valuebox_font_icons" | "scrollbar" | "slider" | "folder" | "pattern_default_back" | "pattern_default_font" | "pattern_default_font_volume" | "pattern_default_font_panning" | "pattern_default_font_pitch" | "pattern_default_font_delay" | "pattern_default_font_global" | "pattern_default_font_other" | "pattern_default_font_dspfx" | "pattern_default_font_unused" | "pattern_highlighted_back" | "pattern_highlighted_font" | "pattern_highlighted_font_volume" | "pattern_highlighted_font_panning" | "pattern_highlighted_font_pitch" | "pattern_highlighted_font_delay" | "pattern_highlighted_font_global" | "pattern_highlighted_font_other" | "pattern_highlighted_font_dspfx" | "pattern_highlighted_font_unused" | "pattern_playposition_back" | "pattern_playposition_font" | "pattern_centerbar_back" | "pattern_centerbar_font" | "pattern_centerbar_back_standby" | "pattern_centerbar_font_standby" | "pattern_selection" | "pattern_standby_selection" | "pattern_mute_state" | "automation_grid" | "automation_line_edge" | "automation_line_fill" | "automation_point" | "automation_marker_play" | "automation_marker_single" | "automation_marker_pair" | "automation_marker_diamond" | "vumeter_meter" | "vumeter_meter_low" | "vumeter_meter_middle" | "vumeter_meter_high" | "vumeter_peak" | "vumeter_back_normal" | "vumeter_back_clipped" | "default_color_01" | "default_color_02" | "default_color_03" | "default_color_04" | "default_color_05" | "default_color_06" | "default_color_07" | "default_color_08" | "default_color_09" | "default_color_10" | "default_color_11" | "default_color_12" | "default_color_13" | "default_color_14" | "default_color_15" | "default_color_16"
add_stroke_color_stop(self, offset : number
, color : RGBAColor
| RGBColor
| ThemeColor
)
Add a color stop to a linear or radial gradient stroke.
-- A table of 3 bytes (ranging from 0 to 255) -- representing the red, green and blue channels of a color. -- {0xFF, 0xFF, 0xFF} is white -- {165, 73, 35} is the red from the Renoise logo -- A table of 4 bytes (ranging from 0 to 255) -- representing the red, green, blue, alpha channels of a color. -- {0xFF, 0xFF, 0xFF, 0xFF} is white -- {165, 73, 35, 0x80} is the red from the Renoise logo, half opaque. -- The application theme's colors color: | "main_back" | "main_font" | "alternate_main_back" | "alternate_main_font" | "body_back" | "body_font" | "strong_body_font" | "button_back" | "button_font" | "button_highlight_font" | "selected_button_back" | "selected_button_font" | "selection_back" | "selection_font" | "standby_selection_back" | "standby_selection_font" | "midi_mapping_back" | "midi_mapping_font" | "tooltip_back" | "tooltip_font" | "valuebox_back" | "valuebox_font" | "valuebox_font_icons" | "scrollbar" | "slider" | "folder" | "pattern_default_back" | "pattern_default_font" | "pattern_default_font_volume" | "pattern_default_font_panning" | "pattern_default_font_pitch" | "pattern_default_font_delay" | "pattern_default_font_global" | "pattern_default_font_other" | "pattern_default_font_dspfx" | "pattern_default_font_unused" | "pattern_highlighted_back" | "pattern_highlighted_font" | "pattern_highlighted_font_volume" | "pattern_highlighted_font_panning" | "pattern_highlighted_font_pitch" | "pattern_highlighted_font_delay" | "pattern_highlighted_font_global" | "pattern_highlighted_font_other" | "pattern_highlighted_font_dspfx" | "pattern_highlighted_font_unused" | "pattern_playposition_back" | "pattern_playposition_font" | "pattern_centerbar_back" | "pattern_centerbar_font" | "pattern_centerbar_back_standby" | "pattern_centerbar_font_standby" | "pattern_selection" | "pattern_standby_selection" | "pattern_mute_state" | "automation_grid" | "automation_line_edge" | "automation_line_fill" | "automation_point" | "automation_marker_play" | "automation_marker_single" | "automation_marker_pair" | "automation_marker_diamond" | "vumeter_meter" | "vumeter_meter_low" | "vumeter_meter_middle" | "vumeter_meter_high" | "vumeter_peak" | "vumeter_back_normal" | "vumeter_back_clipped" | "default_color_01" | "default_color_02" | "default_color_03" | "default_color_04" | "default_color_05" | "default_color_06" | "default_color_07" | "default_color_08" | "default_color_09" | "default_color_10" | "default_color_11" | "default_color_12" | "default_color_13" | "default_color_14" | "default_color_15" | "default_color_16"
See:
renoise.Views.Canvas.Context
add_fill_color_stop
rect(self, x : number
, y : number
, width : number
, height : number
)
Add a closed subpath in the shape of a rectangle.
The rectangle has one corner at the given point and then goes in the direction along the width before going in the direction of the height towards the opposite corner. The current transform at the time that this is called will affect the given point and rectangle. The width and/or the height may be negative or zero, and this can affect the winding direction.
bezier_curve_to(self, control_1_x : number
, control_1_y : number
, control_2_x : number
, control_2_y : number
, x : number
, y : number
)
Extend the current subpath with a cubic Bezier curve.
The curve will go from the current end point (or the first control point if the current path is empty) to the given point, which will become the new end point. The curve will be tangent toward the first control point at the beginning and tangent toward the second control point at the end. The current transform at the time that this is called will affect all points passed in.
Tip: to make multiple curves join smoothly, ensure that each new end point is on a line between the adjacent control points.
arc(self, x : number
, y : number
, radius : number
, start_angle : number
, end_angle : number
, counter_clockwise : boolean
?
)
Extend the current subpath with an arc between two angles.
The arc is from the circle centered at the given point and with the given radius. A straight line will be added from the current end point to the starting point of the arc (unless the current path is empty), then the arc along the circle from the starting angle to the ending angle in the given direction will be added. If they are more than two pi radians apart in the given direction, the arc will stop after one full circle. The point at the ending angle will become the new end point of the path. Initially, the angles are clockwise relative to the x-axis. The current transform at the time that this is called will affect the passed in point, angles, and arc. The radius must be non-negative.
arc_to(self, vertex_x : number
, vertex_y : number
, x : number
, y : number
, radius : number
)
Extend the current subpath with an arc tangent to two lines.
The arc is from the circle with the given radius tangent to both the line from the current end point to the vertex, and to the line from the vertex to the given point. A straight line will be added from the current end point to the first tangent point (unless the current path is empty), then the shortest arc from the first to the second tangent points will be added. The second tangent point will become the new end point. If the radius is large, these tangent points may fall outside the line segments. The current transform at the time that this is called will affect the passed in points and the arc. If the current path was empty, this is equivalent to a move. If the arc would be degenerate, it is equivalent to a line to the vertex point. The radius must be non-negative. If it is not, or if the current transform is not invertible, this does nothing.
Tip: to draw a polygon with rounded corners, call this once for each vertex and pass the midpoint of the adjacent edge as the second point; this works especially well for rounded boxes.
quadratic_curve_to(self, control_x : number
, control_y : number
, x : number
, y : number
)
Extend the current subpath with a quadratic Bezier curve.
The curve will go from the current end point (or the control point if the current path is empty) to the given point, which will become the new end point. The curve will be tangent toward the control point at both ends. The current transform at the time that this is called will affect both points passed in.
Tip: to make multiple curves join smoothly, ensure that each new end point is on a line between the adjacent control points.
scale(self, x : number
, y : number
)
Scale the current transform.
Scaling may be non-uniform if the x and y scaling factors are different. When a scale factor is less than one, things will be shrunk in that direction. When a scale factor is greater than one, they will grow bigger. Negative scaling factors will flip or mirror it in that direction. The scaling factors must be non-zero. If either is zero, most drawing operations will do nothing.
rotate(self, angle : number
)
Rotate the current transform.
The rotation is applied clockwise in a direction around the origin.
Tip: to rotate around another point, first translate that point to the origin, then do the rotation, and then translate back.
translate(self, x : number
, y : number
)
Translate the current transform.
By default, positive x values shift that many pixels to the right, while negative y values shift left, positive y values shift up, and negative y values shift down.
transform(self, a : number
, b : number
, c : number
, d : number
, e : number
, f : number
)
Add an arbitrary transform to the current transform.
This takes six values for the upper two rows of a homogenous 3x3 matrix (i.e., {{a, c, e}, {b, d, f}, {0.0, 0.0, 1.0}}) describing an arbitrary affine transform and appends it to the current transform. The values can represent any affine transform such as scaling, rotation, translation, or skew, or any composition of affine transforms. The matrix must be invertible. If it is not, most drawing operations will do nothing.
set_transform(self, a : number
, b : number
, c : number
, d : number
, e : number
, f : number
)
Replace the current transform.
This takes six values for the upper two rows of a homogenous 3x3 matrix (i.e., {{a, c, e}, {b, d, f}, {0.0, 0.0, 1.0}}) describing an arbitrary affine transform and replaces the current transform with it. The values can represent any affine transform such as scaling, rotation, translation, or skew, or any composition of affine transforms. The matrix must be invertible. If it is not, most drawing operations will do nothing.
Tip: to reset the current transform back to the default, use 1.0, 0.0, 0.0, 1.0, 0.0, 0.0.
Aliases
RGBAColor
{ 1 : integer
, 2 : integer
, 3 : integer
, 4 : integer
}
A table of 4 bytes (ranging from 0 to 255) representing the red, green, blue, alpha channels of a color. {0xFF, 0xFF, 0xFF, 0xFF} is white {165, 73, 35, 0x80} is the red from the Renoise logo, half opaque.
RGBColor
{ 1 : integer
, 2 : integer
, 3 : integer
}
A table of 3 bytes (ranging from 0 to 255) representing the red, green and blue channels of a color. {0xFF, 0xFF, 0xFF} is white {165, 73, 35} is the red from the Renoise logo
ThemeColor
"alternate_main_back"
| "alternate_main_font"
| "automation_grid"
| "automation_line_edge"
| "automation_line_fill"
| "automation_marker_diamond"
| "automation_marker_pair"
| "automation_marker_play"
| "automation_marker_single"
| "automation_point"
| "body_back"
| "body_font"
| "button_back"
| "button_font"
| "button_highlight_font"
| "default_color_01"
| "default_color_02"
| "default_color_03"
| "default_color_04"
| "default_color_05"
| "default_color_06"
| "default_color_07"
| "default_color_08"
| "default_color_09"
| "default_color_10"
| "default_color_11"
| "default_color_12"
| "default_color_13"
| "default_color_14"
| "default_color_15"
| "default_color_16"
| "folder"
| "main_back"
| "main_font"
| "midi_mapping_back"
| "midi_mapping_font"
| "pattern_centerbar_back"
| "pattern_centerbar_back_standby"
| "pattern_centerbar_font"
| "pattern_centerbar_font_standby"
| "pattern_default_back"
| "pattern_default_font"
| "pattern_default_font_delay"
| "pattern_default_font_dspfx"
| "pattern_default_font_global"
| "pattern_default_font_other"
| "pattern_default_font_panning"
| "pattern_default_font_pitch"
| "pattern_default_font_unused"
| "pattern_default_font_volume"
| "pattern_highlighted_back"
| "pattern_highlighted_font"
| "pattern_highlighted_font_delay"
| "pattern_highlighted_font_dspfx"
| "pattern_highlighted_font_global"
| "pattern_highlighted_font_other"
| "pattern_highlighted_font_panning"
| "pattern_highlighted_font_pitch"
| "pattern_highlighted_font_unused"
| "pattern_highlighted_font_volume"
| "pattern_mute_state"
| "pattern_playposition_back"
| "pattern_playposition_font"
| "pattern_selection"
| "pattern_standby_selection"
| "scrollbar"
| "selected_button_back"
| "selected_button_font"
| "selection_back"
| "selection_font"
| "slider"
| "standby_selection_back"
| "standby_selection_font"
| "strong_body_font"
| "tooltip_back"
| "tooltip_font"
| "valuebox_back"
| "valuebox_font"
| "valuebox_font_icons"
| "vumeter_back_clipped"
| "vumeter_back_normal"
| "vumeter_meter"
| "vumeter_meter_high"
| "vumeter_meter_low"
| "vumeter_meter_middle"
| "vumeter_peak"
-- The application theme's colors ThemeColor: | "main_back" | "main_font" | "alternate_main_back" | "alternate_main_font" | "body_back" | "body_font" | "strong_body_font" | "button_back" | "button_font" | "button_highlight_font" | "selected_button_back" | "selected_button_font" | "selection_back" | "selection_font" | "standby_selection_back" | "standby_selection_font" | "midi_mapping_back" | "midi_mapping_font" | "tooltip_back" | "tooltip_font" | "valuebox_back" | "valuebox_font" | "valuebox_font_icons" | "scrollbar" | "slider" | "folder" | "pattern_default_back" | "pattern_default_font" | "pattern_default_font_volume" | "pattern_default_font_panning" | "pattern_default_font_pitch" | "pattern_default_font_delay" | "pattern_default_font_global" | "pattern_default_font_other" | "pattern_default_font_dspfx" | "pattern_default_font_unused" | "pattern_highlighted_back" | "pattern_highlighted_font" | "pattern_highlighted_font_volume" | "pattern_highlighted_font_panning" | "pattern_highlighted_font_pitch" | "pattern_highlighted_font_delay" | "pattern_highlighted_font_global" | "pattern_highlighted_font_other" | "pattern_highlighted_font_dspfx" | "pattern_highlighted_font_unused" | "pattern_playposition_back" | "pattern_playposition_font" | "pattern_centerbar_back" | "pattern_centerbar_font" | "pattern_centerbar_back_standby" | "pattern_centerbar_font_standby" | "pattern_selection" | "pattern_standby_selection" | "pattern_mute_state" | "automation_grid" | "automation_line_edge" | "automation_line_fill" | "automation_point" | "automation_marker_play" | "automation_marker_single" | "automation_marker_pair" | "automation_marker_diamond" | "vumeter_meter" | "vumeter_meter_low" | "vumeter_meter_middle" | "vumeter_meter_high" | "vumeter_peak" | "vumeter_back_normal" | "vumeter_back_clipped" | "default_color_01" | "default_color_02" | "default_color_03" | "default_color_04" | "default_color_05" | "default_color_06" | "default_color_07" | "default_color_08" | "default_color_09" | "default_color_10" | "default_color_11" | "default_color_12" | "default_color_13" | "default_color_14" | "default_color_15" | "default_color_16"
renoise.Views.CheckBox
A single button with a checkbox bitmap, which can be used to toggle something on/off.
+----+ | _/ | +----+
- Properties
- Functions
- add_notifier(self, notifier :
BooleanValueNotifierFunction
) - remove_notifier(self, notifier :
BooleanValueNotifierFunction
) - add_view(self, child :
renoise.Views.View
) - remove_view(self, child :
renoise.Views.View
) - swap_views(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
) - add_child(self, child :
renoise.Views.View
) - remove_child(self, child :
renoise.Views.View
) - swap_childs(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
)
- add_notifier(self, notifier :
- Aliases
Properties
value : CheckBoxBoolean
The current state of the checkbox, expressed as boolean.
- Default: false
active : ControlActive
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
midi_mapping : ControlMidiMappingString
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
visible : ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
Deprecated. Use property
size
instead.
height : ViewDimension
Deprecated. Use property
size
instead.
size : ViewSize
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
views : renoise.Views.View
[]
READ-ONLY Empty for all controls, for layout views this contains the layout child views in the order they got added
Functions
add_notifier(self, notifier : BooleanValueNotifierFunction
)
Add value change notifier
remove_notifier(self, notifier : BooleanValueNotifierFunction
)
Remove value change notifier
add_view(self, child : renoise.Views.View
)
Add a new child view to this view.
remove_view(self, child : renoise.Views.View
)
Remove a child view from this view.
swap_views(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Swap position of two child views in this view. With a series of swaps views can be moved to any position in the parent.
add_child(self, child : renoise.Views.View
)
Deprecated. Use
add_view
instead
remove_child(self, child : renoise.Views.View
)
Deprecated. Use
remove_view
instead
swap_childs(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Deprecated. Use
swap_views
instead
Aliases
BooleanValueNotifierFunction
(value : boolean
)
CheckBoxBoolean
The current state of the checkbox, expressed as boolean.
- Default: false
ControlActive
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
ControlMidiMappingString
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
renoise.Views.Chooser
A radio button like set of vertically stacked items. Only one value can be selected at a time.
. Item A o Item B . Item C
- Properties
- Functions
- add_notifier(self, notifier :
IntegerValueNotifierFunction
) - remove_notifier(self, notifier :
IntegerValueNotifierFunction
) - add_view(self, child :
renoise.Views.View
) - remove_view(self, child :
renoise.Views.View
) - swap_views(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
) - add_child(self, child :
renoise.Views.View
) - remove_child(self, child :
renoise.Views.View
) - swap_childs(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
)
- add_notifier(self, notifier :
- Aliases
Properties
items : ItemLabels
A list of buttons labels to show in order. Must have more than one item.
value : SelectedItem
The currently selected item's index
active : ControlActive
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
midi_mapping : ControlMidiMappingString
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
visible : ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
Deprecated. Use property
size
instead.
height : ViewDimension
Deprecated. Use property
size
instead.
size : ViewSize
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
views : renoise.Views.View
[]
READ-ONLY Empty for all controls, for layout views this contains the layout child views in the order they got added
Functions
add_notifier(self, notifier : IntegerValueNotifierFunction
)
Add index change notifier
remove_notifier(self, notifier : IntegerValueNotifierFunction
)
Remove index change notifier
add_view(self, child : renoise.Views.View
)
Add a new child view to this view.
remove_view(self, child : renoise.Views.View
)
Remove a child view from this view.
swap_views(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Swap position of two child views in this view. With a series of swaps views can be moved to any position in the parent.
add_child(self, child : renoise.Views.View
)
Deprecated. Use
add_view
instead
remove_child(self, child : renoise.Views.View
)
Deprecated. Use
remove_view
instead
swap_childs(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Deprecated. Use
swap_views
instead
Aliases
ControlActive
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
ControlMidiMappingString
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
IntegerValueNotifierFunction
(value : integer
)
ItemLabels
string
[]
A list of buttons labels to show in order. Must have more than one item.
SelectedItem
The currently selected item's index
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
renoise.Views.Control
Control is the base class for all views which let the user change a value or some "state" from the UI.
- Properties
- Functions
- add_view(self, child :
renoise.Views.View
) - remove_view(self, child :
renoise.Views.View
) - swap_views(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
) - add_child(self, child :
renoise.Views.View
) - remove_child(self, child :
renoise.Views.View
) - swap_childs(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
)
- add_view(self, child :
- Aliases
Properties
active : ControlActive
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
midi_mapping : ControlMidiMappingString
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
visible : ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
Deprecated. Use property
size
instead.
height : ViewDimension
Deprecated. Use property
size
instead.
size : ViewSize
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
views : renoise.Views.View
[]
READ-ONLY Empty for all controls, for layout views this contains the layout child views in the order they got added
Functions
add_view(self, child : renoise.Views.View
)
Add a new child view to this view.
remove_view(self, child : renoise.Views.View
)
Remove a child view from this view.
swap_views(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Swap position of two child views in this view. With a series of swaps views can be moved to any position in the parent.
add_child(self, child : renoise.Views.View
)
Deprecated. Use
add_view
instead
remove_child(self, child : renoise.Views.View
)
Deprecated. Use
remove_view
instead
swap_childs(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Deprecated. Use
swap_views
instead
Aliases
ControlActive
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
ControlMidiMappingString
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
renoise.Views.MiniSlider
Same as a slider, but without arrow buttons and a really tiny height. Just like the slider, a mini slider can be horizontal or vertical. It will flip its orientation according to the set width and height. By default horizontal.
--------[]
- Properties
- active :
ControlActive
- midi_mapping :
ControlMidiMappingString
- polarity :
SliderPolarity
- min :
SliderMinValue
- max :
SliderMaxValue
- default :
SliderDefaultValue
- value :
SliderNumberValue
- visible :
ViewVisibility
- origin :
ViewOrigin
- width :
ViewDimension
- height :
ViewDimension
- size :
ViewSize
- tooltip :
ViewTooltip
- cursor :
ViewCursorShape
- views :
renoise.Views.View
[]
- active :
- Functions
- add_notifier(self, notifier :
NumberValueNotifierFunction
) - remove_notifier(self, notifier :
NumberValueNotifierFunction
) - add_view(self, child :
renoise.Views.View
) - remove_view(self, child :
renoise.Views.View
) - swap_views(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
) - add_child(self, child :
renoise.Views.View
) - remove_child(self, child :
renoise.Views.View
) - swap_childs(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
)
- add_notifier(self, notifier :
- Aliases
Properties
active : ControlActive
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
midi_mapping : ControlMidiMappingString
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
polarity : SliderPolarity
Value polarity of the control. Bipolar controls show the value from the center to left and right or up and down and typically controls a range around zero, e.g. -1 to 1. Unipolar controls show the value from left to right or bottom to top.
- Default: "unipolar"
min : SliderMinValue
The minimum value that can be set using the view
- Default: 0
max : SliderMaxValue
The maximum value that can be set using the view
- Default: 1.0
default : SliderDefaultValue
The default value that will be re-applied on double-click
value : SliderNumberValue
The current value of the view
visible : ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
Deprecated. Use property
size
instead.
height : ViewDimension
Deprecated. Use property
size
instead.
size : ViewSize
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
views : renoise.Views.View
[]
READ-ONLY Empty for all controls, for layout views this contains the layout child views in the order they got added
Functions
add_notifier(self, notifier : NumberValueNotifierFunction
)
Add value change notifier
remove_notifier(self, notifier : NumberValueNotifierFunction
)
Remove value change notifier
add_view(self, child : renoise.Views.View
)
Add a new child view to this view.
remove_view(self, child : renoise.Views.View
)
Remove a child view from this view.
swap_views(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Swap position of two child views in this view. With a series of swaps views can be moved to any position in the parent.
add_child(self, child : renoise.Views.View
)
Deprecated. Use
add_view
instead
remove_child(self, child : renoise.Views.View
)
Deprecated. Use
remove_view
instead
swap_childs(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Deprecated. Use
swap_views
instead
Aliases
ControlActive
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
ControlMidiMappingString
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
NumberValueNotifierFunction
(value : number
)
SliderDefaultValue
The default value that will be re-applied on double-click
SliderMaxValue
The maximum value that can be set using the view
- Default: 1.0
SliderMinValue
The minimum value that can be set using the view
- Default: 0
SliderNumberValue
The current value of the view
SliderPolarity
"bipolar"
| "unipolar"
-- Value polarity of the control. Bipolar controls show the value from the -- center to left and right or up and down and typically controls a range -- around zero, e.g. -1 to 1. Unipolar controls show the value from left to -- right or bottom to top. -- * Default: "unipolar" SliderPolarity: | "unipolar" | "bipolar"
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
renoise.Views.MultiLineText
Shows multiple lines of text, auto-formatting and auto-wrapping paragraphs into lines. Size is not automatically set. As soon as the text no longer fits into the view, a vertical scroll bar will be shown.
by the user.
+--------------+-+ | Text, Bla 1 |+| | Text, Bla 2 | | | Text, Bla 3 | | | Text, Bla 4 |+| +--------------+-+
- Properties
- text :
TextMultilineString
- selected_text :
TextMultilineSelectedString
- paragraphs :
TextParagraphs
- font :
TextFontStyle
- style :
TextBackgroundStyle
- visible :
ViewVisibility
- origin :
ViewOrigin
- width :
ViewDimension
- height :
ViewDimension
- size :
ViewSize
- tooltip :
ViewTooltip
- cursor :
ViewCursorShape
- views :
renoise.Views.View
[]
- text :
- Functions
- scroll_to_last_line(self)
- scroll_to_first_line(self)
- add_line(self, text :
string
) - clear(self)
- add_view(self, child :
renoise.Views.View
) - remove_view(self, child :
renoise.Views.View
) - swap_views(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
) - add_child(self, child :
renoise.Views.View
) - remove_child(self, child :
renoise.Views.View
) - swap_childs(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
)
- Aliases
Properties
text : TextMultilineString
The text that should be displayed. Newlines (Windows, Mac or Unix styled) in the text can be used to create paragraphs.
selected_text : TextMultilineSelectedString
READ-ONLY The currently selected text, if any. Newlines (Windows, Mac or Unix styled) will use the unix newline format.
paragraphs : TextParagraphs
A table of text lines to be used instead of specifying a single text line with newline characters like "text"
- Default: []
font : TextFontStyle
The style that the text should be displayed with.
style : TextBackgroundStyle
Default: "body"
visible : ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
Deprecated. Use property
size
instead.
height : ViewDimension
Deprecated. Use property
size
instead.
size : ViewSize
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
views : renoise.Views.View
[]
READ-ONLY Empty for all controls, for layout views this contains the layout child views in the order they got added
Functions
scroll_to_last_line(self)
When a scroll bar is visible (needed), scroll the text to show the last line.
scroll_to_first_line(self)
When a scroll bar is visible, scroll the text to show the first line.
add_line(self, text : string
)
Append text to the existing text. Newlines in the text will create new paragraphs, just like in the "text" property.
clear(self)
Clear the whole text, same as multiline_text.text="".
add_view(self, child : renoise.Views.View
)
Add a new child view to this view.
remove_view(self, child : renoise.Views.View
)
Remove a child view from this view.
swap_views(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Swap position of two child views in this view. With a series of swaps views can be moved to any position in the parent.
add_child(self, child : renoise.Views.View
)
Deprecated. Use
add_view
instead
remove_child(self, child : renoise.Views.View
)
Deprecated. Use
remove_view
instead
swap_childs(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Deprecated. Use
swap_views
instead
Aliases
TextBackgroundStyle
"body"
| "border"
| "strong"
-- Setup the text view's background: TextBackgroundStyle: | "body" -- simple text color with no background | "strong" -- stronger text color with no background | "border" -- text on a bordered background
TextFontStyle
"big"
| "bold"
| "code"
| "italic"
| "mono"
| "normal"
-- The style that the text should be displayed with. TextFontStyle: | "normal" -- (Default) | "big" -- big text | "bold" -- bold font | "italic" -- italic font | "mono" -- monospace font | "code" -- monospace code font
TextMultilineSelectedString
READ-ONLY The currently selected text, if any. Newlines (Windows, Mac or Unix styled) will use the unix newline format.
TextMultilineString
The text that should be displayed. Newlines (Windows, Mac or Unix styled) in the text can be used to create paragraphs.
TextParagraphs
string
[]
A table of text lines to be used instead of specifying a single text line with newline characters like "text"
- Default: []
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
renoise.Views.MultiLineTextField
Shows multiple text lines of text, auto-wrapping paragraphs into lines. The text can be edited by the user.
+--------------------------+-+ | Editable Te|xt. |+| | | | | With multiple paragraphs | | | and auto-wrapping |+| +--------------------------+-+
- Properties
- active :
TextActive
- value :
TextMultilineString
- text :
TextValueAlias
- selected_text :
TextMultilineSelectedString
- paragraphs :
TextParagraphs
- font :
TextFontStyle
- style :
TextBackgroundStyle
- edit_mode :
TextEditMode
- visible :
ViewVisibility
- origin :
ViewOrigin
- width :
ViewDimension
- height :
ViewDimension
- size :
ViewSize
- tooltip :
ViewTooltip
- cursor :
ViewCursorShape
- views :
renoise.Views.View
[]
- active :
- Functions
- add_notifier(self, notifier :
StringValueNotifierFunction
) - remove_notifier(self, notifier :
StringValueNotifierFunction
) - scroll_to_last_line(self)
- scroll_to_first_line(self)
- add_line(self, text :
string
) - clear(self)
- add_view(self, child :
renoise.Views.View
) - remove_view(self, child :
renoise.Views.View
) - swap_views(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
) - add_child(self, child :
renoise.Views.View
) - remove_child(self, child :
renoise.Views.View
) - swap_childs(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
)
- add_notifier(self, notifier :
- Aliases
Properties
active : TextActive
When false, text is displayed but can not be entered/modified by the user.
- Default: true
value : TextMultilineString
The text that should be displayed. Newlines (Windows, Mac or Unix styled) in the text can be used to create paragraphs.
text : TextValueAlias
Exactly the same as "value"; provided for consistency.
- Default: ""
selected_text : TextMultilineSelectedString
READ-ONLY The currently selected text, if any. Newlines (Windows, Mac or Unix styled) will use the unix newline format.
paragraphs : TextParagraphs
A table of text lines to be used instead of specifying a single text line with newline characters like "text"
- Default: []
font : TextFontStyle
The style that the text should be displayed with.
style : TextBackgroundStyle
Default: "border"
edit_mode : TextEditMode
True when the text field is focused. setting it at run-time programmatically will focus the text field or remove the focus (focus the dialog) accordingly.
- Default: false
visible : ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
Deprecated. Use property
size
instead.
height : ViewDimension
Deprecated. Use property
size
instead.
size : ViewSize
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
views : renoise.Views.View
[]
READ-ONLY Empty for all controls, for layout views this contains the layout child views in the order they got added
Functions
add_notifier(self, notifier : StringValueNotifierFunction
)
Add value change (text change) notifier
remove_notifier(self, notifier : StringValueNotifierFunction
)
Remove value change (text change) notifier
scroll_to_last_line(self)
When a scroll bar is visible, scroll the text to show the last line.
scroll_to_first_line(self)
When a scroll bar is visible, scroll the text to show the first line.
add_line(self, text : string
)
Append a new text to the existing text. Newline characters in the string will create new paragraphs, otherwise a single paragraph is appended.
clear(self)
Clear the whole text.
add_view(self, child : renoise.Views.View
)
Add a new child view to this view.
remove_view(self, child : renoise.Views.View
)
Remove a child view from this view.
swap_views(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Swap position of two child views in this view. With a series of swaps views can be moved to any position in the parent.
add_child(self, child : renoise.Views.View
)
Deprecated. Use
add_view
instead
remove_child(self, child : renoise.Views.View
)
Deprecated. Use
remove_view
instead
swap_childs(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Deprecated. Use
swap_views
instead
Aliases
StringValueNotifierFunction
(value : string
)
TextActive
When false, text is displayed but can not be entered/modified by the user.
- Default: true
TextBackgroundStyle
"body"
| "border"
| "strong"
-- Setup the text view's background: TextBackgroundStyle: | "body" -- simple text color with no background | "strong" -- stronger text color with no background | "border" -- text on a bordered background
TextEditMode
True when the text field is focused. setting it at run-time programmatically will focus the text field or remove the focus (focus the dialog) accordingly.
- Default: false
TextFontStyle
"big"
| "bold"
| "code"
| "italic"
| "mono"
| "normal"
-- The style that the text should be displayed with. TextFontStyle: | "normal" -- (Default) | "big" -- big text | "bold" -- bold font | "italic" -- italic font | "mono" -- monospace font | "code" -- monospace code font
TextMultilineSelectedString
READ-ONLY The currently selected text, if any. Newlines (Windows, Mac or Unix styled) will use the unix newline format.
TextMultilineString
The text that should be displayed. Newlines (Windows, Mac or Unix styled) in the text can be used to create paragraphs.
TextParagraphs
string
[]
A table of text lines to be used instead of specifying a single text line with newline characters like "text"
- Default: []
TextValueAlias
Exactly the same as "value"; provided for consistency.
- Default: ""
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
renoise.Views.Popup
A drop-down menu which shows the currently selected value when closed. When clicked, it pops up a list of all available items.
+--------------++---+ | Current Item || ^ | +--------------++---+
- Properties
- Functions
- add_notifier(self, notifier :
IntegerValueNotifierFunction
) - remove_notifier(self, notifier :
IntegerValueNotifierFunction
) - add_view(self, child :
renoise.Views.View
) - remove_view(self, child :
renoise.Views.View
) - swap_views(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
) - add_child(self, child :
renoise.Views.View
) - remove_child(self, child :
renoise.Views.View
) - swap_childs(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
)
- add_notifier(self, notifier :
- Aliases
Properties
active : ControlActive
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
midi_mapping : ControlMidiMappingString
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
items : PopupItemLabels
A list of buttons labels to show in order The list can be empty, then "None" is displayed and the value won't change.
value : SelectedItem
The currently selected item's index
visible : ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
Deprecated. Use property
size
instead.
height : ViewDimension
Deprecated. Use property
size
instead.
size : ViewSize
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
views : renoise.Views.View
[]
READ-ONLY Empty for all controls, for layout views this contains the layout child views in the order they got added
Functions
add_notifier(self, notifier : IntegerValueNotifierFunction
)
Add index change notifier
remove_notifier(self, notifier : IntegerValueNotifierFunction
)
Remove index change notifier
add_view(self, child : renoise.Views.View
)
Add a new child view to this view.
remove_view(self, child : renoise.Views.View
)
Remove a child view from this view.
swap_views(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Swap position of two child views in this view. With a series of swaps views can be moved to any position in the parent.
add_child(self, child : renoise.Views.View
)
Deprecated. Use
add_view
instead
remove_child(self, child : renoise.Views.View
)
Deprecated. Use
remove_view
instead
swap_childs(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Deprecated. Use
swap_views
instead
Aliases
ControlActive
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
ControlMidiMappingString
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
IntegerValueNotifierFunction
(value : integer
)
PopupItemLabels
string
[]
A list of buttons labels to show in order The list can be empty, then "None" is displayed and the value won't change.
SelectedItem
The currently selected item's index
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
renoise.Views.Rack
A Rack has no content on its own. It only stacks child views. Either vertically (ViewBuilder.column) or horizontally (ViewBuilder.row). It allows you to create view layouts.
- Properties
- margin :
RackMargin
- spacing :
RackSpacing
- background :
ViewBackgroundStyle
- uniform :
RackUniformity
- style :
ViewBackgroundStyle
- visible :
ViewVisibility
- origin :
ViewOrigin
- width :
ViewDimension
- height :
ViewDimension
- size :
ViewSize
- tooltip :
ViewTooltip
- cursor :
ViewCursorShape
- views :
renoise.Views.View
[]
- margin :
- Functions
- add_view(self, child :
renoise.Views.View
) - remove_view(self, child :
renoise.Views.View
) - swap_views(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
) - add_child(self, child :
renoise.Views.View
) - remove_child(self, child :
renoise.Views.View
) - swap_childs(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
)
- add_view(self, child :
- Aliases
Properties
margin : RackMargin
Set the "borders" of a rack (left, right, top and bottom inclusively)
- Default: 0 (no borders)
spacing : RackSpacing
Set the amount stacked child views are separated by (horizontally in rows, vertically in columns).
- Default: 0 (no spacing)
background : ViewBackgroundStyle
Setup a background style for the view.
uniform : RackUniformity
When set to true, all child views in the rack are automatically resized to the max size of all child views (width in ViewBuilder.column, height in ViewBuilder.row). This can be useful to automatically align all sub columns/panels to the same size. Resizing is done automatically, as soon as a child view size changes or new children are added.
- Default: false
style : ViewBackgroundStyle
Deprecated Use
background
instead.
visible : ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
Deprecated. Use property
size
instead.
height : ViewDimension
Deprecated. Use property
size
instead.
size : ViewSize
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
views : renoise.Views.View
[]
READ-ONLY Empty for all controls, for layout views this contains the layout child views in the order they got added
Functions
add_view(self, child : renoise.Views.View
)
Add a new child view to this view.
remove_view(self, child : renoise.Views.View
)
Remove a child view from this view.
swap_views(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Swap position of two child views in this view. With a series of swaps views can be moved to any position in the parent.
add_child(self, child : renoise.Views.View
)
Deprecated. Use
add_view
instead
remove_child(self, child : renoise.Views.View
)
Deprecated. Use
remove_view
instead
swap_childs(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Deprecated. Use
swap_views
instead
Aliases
RackMargin
Set the "borders" of a rack (left, right, top and bottom inclusively)
- Default: 0 (no borders)
RackSpacing
Set the amount stacked child views are separated by (horizontally in rows, vertically in columns).
- Default: 0 (no spacing)
RackUniformity
When set to true, all child views in the rack are automatically resized to the max size of all child views (width in ViewBuilder.column, height in ViewBuilder.row). This can be useful to automatically align all sub columns/panels to the same size. Resizing is done automatically, as soon as a child view size changes or new children are added.
- Default: false
ViewBackgroundStyle
"body"
| "border"
| "group"
| "invisible"
| "panel"
| "plain"
-- Setup a background style for the view. ViewBackgroundStyle: | "invisible" -- no background (Default) | "plain" -- undecorated, single coloured background | "border" -- same as plain, but with a bold nested border | "body" -- main "background" style, as used in dialog backgrounds | "panel" -- alternative "background" style, beveled | "group" -- background for "nested" groups within body
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
renoise.Views.RotaryEncoder
A slider which looks like a potentiometer. Note: when changing the size, the minimum of either width or height will be used to draw and control the rotary, therefore you should always set both equally when possible.
+-+ / \ \ | o | \ | / +-+
- Properties
- active :
ControlActive
- midi_mapping :
ControlMidiMappingString
- polarity :
SliderPolarity
- min :
SliderMinValue
- max :
SliderMaxValue
- default :
SliderDefaultValue
- value :
SliderNumberValue
- visible :
ViewVisibility
- origin :
ViewOrigin
- width :
ViewDimension
- height :
ViewDimension
- size :
ViewSize
- tooltip :
ViewTooltip
- cursor :
ViewCursorShape
- views :
renoise.Views.View
[]
- active :
- Functions
- add_notifier(self, notifier :
NumberValueNotifierFunction
) - remove_notifier(self, notifier :
NumberValueNotifierFunction
) - add_view(self, child :
renoise.Views.View
) - remove_view(self, child :
renoise.Views.View
) - swap_views(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
) - add_child(self, child :
renoise.Views.View
) - remove_child(self, child :
renoise.Views.View
) - swap_childs(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
)
- add_notifier(self, notifier :
- Aliases
Properties
active : ControlActive
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
midi_mapping : ControlMidiMappingString
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
polarity : SliderPolarity
Value polarity of the control. Bipolar controls show the value from the center to left and right or up and down and typically controls a range around zero, e.g. -1 to 1. Unipolar controls show the value from left to right or bottom to top.
- Default: "unipolar"
min : SliderMinValue
The minimum value that can be set using the view
- Default: 0
max : SliderMaxValue
The maximum value that can be set using the view
- Default: 1.0
default : SliderDefaultValue
The default value that will be re-applied on double-click
value : SliderNumberValue
The current value of the view
visible : ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
Deprecated. Use property
size
instead.
height : ViewDimension
Deprecated. Use property
size
instead.
size : ViewSize
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
views : renoise.Views.View
[]
READ-ONLY Empty for all controls, for layout views this contains the layout child views in the order they got added
Functions
add_notifier(self, notifier : NumberValueNotifierFunction
)
Add value change notifier
remove_notifier(self, notifier : NumberValueNotifierFunction
)
Remove value change notifier
add_view(self, child : renoise.Views.View
)
Add a new child view to this view.
remove_view(self, child : renoise.Views.View
)
Remove a child view from this view.
swap_views(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Swap position of two child views in this view. With a series of swaps views can be moved to any position in the parent.
add_child(self, child : renoise.Views.View
)
Deprecated. Use
add_view
instead
remove_child(self, child : renoise.Views.View
)
Deprecated. Use
remove_view
instead
swap_childs(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Deprecated. Use
swap_views
instead
Aliases
ControlActive
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
ControlMidiMappingString
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
NumberValueNotifierFunction
(value : number
)
SliderDefaultValue
The default value that will be re-applied on double-click
SliderMaxValue
The maximum value that can be set using the view
- Default: 1.0
SliderMinValue
The minimum value that can be set using the view
- Default: 0
SliderNumberValue
The current value of the view
SliderPolarity
"bipolar"
| "unipolar"
-- Value polarity of the control. Bipolar controls show the value from the -- center to left and right or up and down and typically controls a range -- around zero, e.g. -1 to 1. Unipolar controls show the value from left to -- right or bottom to top. -- * Default: "unipolar" SliderPolarity: | "unipolar" | "bipolar"
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
renoise.Views.ScrollBar
A special slider alike control to scroll through some content.
min
andmax
define to the scrollable area's range.pagesize
is the currently visible area within that range andvalue
is the offset frommin
tomax - pagestep
within the whole scrollable area:min value max | [xxxxxxxxxxxxxx] | <---pagestep---> <---------scroll-area------------>
Note that the minimum offset value is
min
and the maximum offset value ismax - pagestep
.A scrollbar can be horizontal or vertical. It will flip its orientation according to the set width and height. By default it's horizontal.
- Properties
- active :
ControlActive
- midi_mapping :
ControlMidiMappingString
- min :
ScrollbarMin
- max :
ScrollbarMax
- value :
ScrollbarValue
- step :
ScrollbarStep
- pagestep :
ScrollbarPagestep
- background :
ViewBackgroundStyle
- autohide :
ScrollbarAutoHide
- visible :
ViewVisibility
- origin :
ViewOrigin
- width :
ViewDimension
- height :
ViewDimension
- size :
ViewSize
- tooltip :
ViewTooltip
- cursor :
ViewCursorShape
- views :
renoise.Views.View
[]
- active :
- Functions
- add_notifier(self, notifier :
IntegerValueNotifierFunction
) - remove_notifier(self, notifier :
IntegerValueNotifierFunction
) - add_view(self, child :
renoise.Views.View
) - remove_view(self, child :
renoise.Views.View
) - swap_views(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
) - add_child(self, child :
renoise.Views.View
) - remove_child(self, child :
renoise.Views.View
) - swap_childs(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
)
- add_notifier(self, notifier :
- Aliases
Properties
active : ControlActive
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
midi_mapping : ControlMidiMappingString
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
min : ScrollbarMin
Default 0. Minimum offset value.
max : ScrollbarMax
Default 100. Maximum offset value.
value : ScrollbarValue
Default 0. Offset value in range
min to max - pagestep
.
step : ScrollbarStep
Default 1. Amount the mouse-wheel or additional +/- buttons in the scroll bar move the scrollable area.
pagestep : ScrollbarPagestep
Default 100. Size of the currently visible area.
background : ViewBackgroundStyle
Setup a background style for the view.
autohide : ScrollbarAutoHide
Default: false. When true, view gets automatically hidden when no scrolling is needed
visible : ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
Deprecated. Use property
size
instead.
height : ViewDimension
Deprecated. Use property
size
instead.
size : ViewSize
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
views : renoise.Views.View
[]
READ-ONLY Empty for all controls, for layout views this contains the layout child views in the order they got added
Functions
add_notifier(self, notifier : IntegerValueNotifierFunction
)
Add offset value change notifier
remove_notifier(self, notifier : IntegerValueNotifierFunction
)
Remove offset value change notifier
add_view(self, child : renoise.Views.View
)
Add a new child view to this view.
remove_view(self, child : renoise.Views.View
)
Remove a child view from this view.
swap_views(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Swap position of two child views in this view. With a series of swaps views can be moved to any position in the parent.
add_child(self, child : renoise.Views.View
)
Deprecated. Use
add_view
instead
remove_child(self, child : renoise.Views.View
)
Deprecated. Use
remove_view
instead
swap_childs(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Deprecated. Use
swap_views
instead
Aliases
ControlActive
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
ControlMidiMappingString
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
IntegerValueNotifierFunction
(value : integer
)
ScrollbarAutoHide
Default: false. When true, view gets automatically hidden when no scrolling is needed
ScrollbarMax
Default 100. Maximum offset value.
ScrollbarMin
Default 0. Minimum offset value.
ScrollbarPagestep
Default 100. Size of the currently visible area.
ScrollbarStep
Default 1. Amount the mouse-wheel or additional +/- buttons in the scroll bar move the scrollable area.
ScrollbarValue
Default 0. Offset value in range
min to max - pagestep
.
ViewBackgroundStyle
"body"
| "border"
| "group"
| "invisible"
| "panel"
| "plain"
-- Setup a background style for the view. ViewBackgroundStyle: | "invisible" -- no background (Default) | "plain" -- undecorated, single coloured background | "border" -- same as plain, but with a bold nested border | "body" -- main "background" style, as used in dialog backgrounds | "panel" -- alternative "background" style, beveled | "group" -- background for "nested" groups within body
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
renoise.Views.Slider
A slider with arrow buttons, which shows and allows editing of values in a custom range. A slider can be horizontal or vertical; will flip its orientation according to the set width and height. By default horizontal.
+---+---------------+ |<|>| --------[] | +---+---------------+
- Properties
- active :
ControlActive
- midi_mapping :
ControlMidiMappingString
- polarity :
SliderPolarity
- min :
SliderMinValue
- max :
SliderMaxValue
- steps :
SliderStepAmounts
- default :
SliderDefaultValue
- value :
SliderNumberValue
- visible :
ViewVisibility
- origin :
ViewOrigin
- width :
ViewDimension
- height :
ViewDimension
- size :
ViewSize
- tooltip :
ViewTooltip
- cursor :
ViewCursorShape
- views :
renoise.Views.View
[]
- active :
- Functions
- add_notifier(self, notifier :
NumberValueNotifierFunction
) - remove_notifier(self, notifier :
NumberValueNotifierFunction
) - add_view(self, child :
renoise.Views.View
) - remove_view(self, child :
renoise.Views.View
) - swap_views(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
) - add_child(self, child :
renoise.Views.View
) - remove_child(self, child :
renoise.Views.View
) - swap_childs(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
)
- add_notifier(self, notifier :
- Aliases
Properties
active : ControlActive
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
midi_mapping : ControlMidiMappingString
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
polarity : SliderPolarity
Value polarity of the control. Bipolar controls show the value from the center to left and right or up and down and typically controls a range around zero, e.g. -1 to 1. Unipolar controls show the value from left to right or bottom to top.
- Default: "unipolar"
min : SliderMinValue
The minimum value that can be set using the view
- Default: 0
max : SliderMaxValue
The maximum value that can be set using the view
- Default: 1.0
steps : SliderStepAmounts
A table containing two numbers representing the step amounts for incrementing and decrementing by clicking the <> buttons. The first value is the small step (applied on left clicks) second value is the big step (applied on right clicks)
default : SliderDefaultValue
The default value that will be re-applied on double-click
value : SliderNumberValue
The current value of the view
visible : ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
Deprecated. Use property
size
instead.
height : ViewDimension
Deprecated. Use property
size
instead.
size : ViewSize
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
views : renoise.Views.View
[]
READ-ONLY Empty for all controls, for layout views this contains the layout child views in the order they got added
Functions
add_notifier(self, notifier : NumberValueNotifierFunction
)
Add value change notifier
remove_notifier(self, notifier : NumberValueNotifierFunction
)
Remove value change notifier
add_view(self, child : renoise.Views.View
)
Add a new child view to this view.
remove_view(self, child : renoise.Views.View
)
Remove a child view from this view.
swap_views(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Swap position of two child views in this view. With a series of swaps views can be moved to any position in the parent.
add_child(self, child : renoise.Views.View
)
Deprecated. Use
add_view
instead
remove_child(self, child : renoise.Views.View
)
Deprecated. Use
remove_view
instead
swap_childs(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Deprecated. Use
swap_views
instead
Aliases
ControlActive
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
ControlMidiMappingString
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
NumberValueNotifierFunction
(value : number
)
SliderDefaultValue
The default value that will be re-applied on double-click
SliderMaxValue
The maximum value that can be set using the view
- Default: 1.0
SliderMinValue
The minimum value that can be set using the view
- Default: 0
SliderNumberValue
The current value of the view
SliderPolarity
"bipolar"
| "unipolar"
-- Value polarity of the control. Bipolar controls show the value from the -- center to left and right or up and down and typically controls a range -- around zero, e.g. -1 to 1. Unipolar controls show the value from left to -- right or bottom to top. -- * Default: "unipolar" SliderPolarity: | "unipolar" | "bipolar"
SliderStepAmounts
A table containing two numbers representing the step amounts for incrementing and decrementing by clicking the <> buttons. The first value is the small step (applied on left clicks) second value is the big step (applied on right clicks)
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
renoise.Views.Stack
A Stack has no content on its own. It only stacks it's child views. The position of the child views in the stack can be freely set by using the
origin
property of the views.
- Properties
- Functions
- add_view(self, child :
renoise.Views.View
) - remove_view(self, child :
renoise.Views.View
) - swap_views(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
) - add_child(self, child :
renoise.Views.View
) - remove_child(self, child :
renoise.Views.View
) - swap_childs(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
)
- add_view(self, child :
- Aliases
Properties
autosize : StackAutoSize
When set to true, the width and height of the stack will be automatically calculated and updated from the stack's child views, to ensure all views fit into the stack. When disabled, the width and height must be set manually.
- Default: true
background : ViewBackgroundStyle
Setup a background style for the view.
visible : ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
Deprecated. Use property
size
instead.
height : ViewDimension
Deprecated. Use property
size
instead.
size : ViewSize
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
views : renoise.Views.View
[]
READ-ONLY Empty for all controls, for layout views this contains the layout child views in the order they got added
Functions
add_view(self, child : renoise.Views.View
)
Add a new child view to this view.
remove_view(self, child : renoise.Views.View
)
Remove a child view from this view.
swap_views(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Swap position of two child views in this view. With a series of swaps views can be moved to any position in the parent.
add_child(self, child : renoise.Views.View
)
Deprecated. Use
add_view
instead
remove_child(self, child : renoise.Views.View
)
Deprecated. Use
remove_view
instead
swap_childs(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Deprecated. Use
swap_views
instead
Aliases
StackAutoSize
When set to true, the width and height of the stack will be automatically calculated and updated from the stack's child views, to ensure all views fit into the stack. When disabled, the width and height must be set manually.
- Default: true
ViewBackgroundStyle
"body"
| "border"
| "group"
| "invisible"
| "panel"
| "plain"
-- Setup a background style for the view. ViewBackgroundStyle: | "invisible" -- no background (Default) | "plain" -- undecorated, single coloured background | "border" -- same as plain, but with a bold nested border | "body" -- main "background" style, as used in dialog backgrounds | "panel" -- alternative "background" style, beveled | "group" -- background for "nested" groups within body
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
renoise.Views.Switch
A set of horizontally aligned buttons, where only one button can be enabled at the same time. Select one of multiple choices, indices.
+-----------+------------+----------+ | Button A | +Button+B+ | Button C | +-----------+------------+----------+
- Properties
- Functions
- add_notifier(self, notifier :
IntegerValueNotifierFunction
) - remove_notifier(self, notifier :
IntegerValueNotifierFunction
) - add_view(self, child :
renoise.Views.View
) - remove_view(self, child :
renoise.Views.View
) - swap_views(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
) - add_child(self, child :
renoise.Views.View
) - remove_child(self, child :
renoise.Views.View
) - swap_childs(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
)
- add_notifier(self, notifier :
- Aliases
Properties
active : ControlActive
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
midi_mapping : ControlMidiMappingString
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
items : ItemLabels
A list of buttons labels to show in order. Must have more than one item.
value : SelectedItem
The currently selected item's index
visible : ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
Deprecated. Use property
size
instead.
height : ViewDimension
Deprecated. Use property
size
instead.
size : ViewSize
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
views : renoise.Views.View
[]
READ-ONLY Empty for all controls, for layout views this contains the layout child views in the order they got added
Functions
add_notifier(self, notifier : IntegerValueNotifierFunction
)
Add index change notifier
remove_notifier(self, notifier : IntegerValueNotifierFunction
)
Remove index change notifier
add_view(self, child : renoise.Views.View
)
Add a new child view to this view.
remove_view(self, child : renoise.Views.View
)
Remove a child view from this view.
swap_views(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Swap position of two child views in this view. With a series of swaps views can be moved to any position in the parent.
add_child(self, child : renoise.Views.View
)
Deprecated. Use
add_view
instead
remove_child(self, child : renoise.Views.View
)
Deprecated. Use
remove_view
instead
swap_childs(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Deprecated. Use
swap_views
instead
Aliases
ControlActive
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
ControlMidiMappingString
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
IntegerValueNotifierFunction
(value : integer
)
ItemLabels
string
[]
A list of buttons labels to show in order. Must have more than one item.
SelectedItem
The currently selected item's index
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
renoise.Views.Text
Shows a "static" text string. Static just means that its not linked, bound to some value and has no notifiers. The text can not be edited by the user. Nevertheless you can of course change the text at run-time with the "text" property.
Text, Bla 1
- Properties
- text :
TextSingleLineString
- font :
TextFontStyle
- style :
TextStyle
- color :
TextColor
- orientation :
TextOrientation
- align :
TextAlignment
- visible :
ViewVisibility
- origin :
ViewOrigin
- width :
ViewDimension
- height :
ViewDimension
- size :
ViewSize
- tooltip :
ViewTooltip
- cursor :
ViewCursorShape
- views :
renoise.Views.View
[]
- text :
- Functions
- add_view(self, child :
renoise.Views.View
) - remove_view(self, child :
renoise.Views.View
) - swap_views(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
) - add_child(self, child :
renoise.Views.View
) - remove_child(self, child :
renoise.Views.View
) - swap_childs(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
)
- add_view(self, child :
- Aliases
Properties
text : TextSingleLineString
The text that should be displayed. Setting a new text will resize the view in order to make the text fully visible (expanding only).
- Default: ""
font : TextFontStyle
The style that the text should be displayed with.
style : TextStyle
Get/set the color style the text should be displayed with.
color : TextColor
When set, the text will be drawn in the specified color. Set style to something else than "custom" or color to
{0, 0, 0}
to enable the default theme color for the text again.
orientation : TextOrientation
Setup the texts's orientation (writing direction).
align : TextAlignment
Setup the text's alignment. Applies only when the view's size is larger than the needed size to draw the text
visible : ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
Deprecated. Use property
size
instead.
height : ViewDimension
Deprecated. Use property
size
instead.
size : ViewSize
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
views : renoise.Views.View
[]
READ-ONLY Empty for all controls, for layout views this contains the layout child views in the order they got added
Functions
add_view(self, child : renoise.Views.View
)
Add a new child view to this view.
remove_view(self, child : renoise.Views.View
)
Remove a child view from this view.
swap_views(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Swap position of two child views in this view. With a series of swaps views can be moved to any position in the parent.
add_child(self, child : renoise.Views.View
)
Deprecated. Use
add_view
instead
remove_child(self, child : renoise.Views.View
)
Deprecated. Use
remove_view
instead
swap_childs(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Deprecated. Use
swap_views
instead
Aliases
RGBColor
{ 1 : integer
, 2 : integer
, 3 : integer
}
A table of 3 bytes (ranging from 0 to 255) representing the red, green and blue channels of a color. {0xFF, 0xFF, 0xFF} is white {165, 73, 35} is the red from the Renoise logo
TextAlignment
"center"
| "left"
| "right"
-- Setup the text's alignment. Applies only when the view's size is larger than -- the needed size to draw the text TextAlignment: | "left" -- (Default) | "right" -- aligned to the right | "center" -- center text
TextColor
-- When set, the text will be drawn in the specified color. -- Set style to something else than "custom" or color to `{0, 0, 0}` -- to enable the default theme color for the text again. -- A table of 3 bytes (ranging from 0 to 255) -- representing the red, green and blue channels of a color. -- {0xFF, 0xFF, 0xFF} is white -- {165, 73, 35} is the red from the Renoise logo -- The application theme's colors TextColor: | "main_back" | "main_font" | "alternate_main_back" | "alternate_main_font" | "body_back" | "body_font" | "strong_body_font" | "button_back" | "button_font" | "button_highlight_font" | "selected_button_back" | "selected_button_font" | "selection_back" | "selection_font" | "standby_selection_back" | "standby_selection_font" | "midi_mapping_back" | "midi_mapping_font" | "tooltip_back" | "tooltip_font" | "valuebox_back" | "valuebox_font" | "valuebox_font_icons" | "scrollbar" | "slider" | "folder" | "pattern_default_back" | "pattern_default_font" | "pattern_default_font_volume" | "pattern_default_font_panning" | "pattern_default_font_pitch" | "pattern_default_font_delay" | "pattern_default_font_global" | "pattern_default_font_other" | "pattern_default_font_dspfx" | "pattern_default_font_unused" | "pattern_highlighted_back" | "pattern_highlighted_font" | "pattern_highlighted_font_volume" | "pattern_highlighted_font_panning" | "pattern_highlighted_font_pitch" | "pattern_highlighted_font_delay" | "pattern_highlighted_font_global" | "pattern_highlighted_font_other" | "pattern_highlighted_font_dspfx" | "pattern_highlighted_font_unused" | "pattern_playposition_back" | "pattern_playposition_font" | "pattern_centerbar_back" | "pattern_centerbar_font" | "pattern_centerbar_back_standby" | "pattern_centerbar_font_standby" | "pattern_selection" | "pattern_standby_selection" | "pattern_mute_state" | "automation_grid" | "automation_line_edge" | "automation_line_fill" | "automation_point" | "automation_marker_play" | "automation_marker_single" | "automation_marker_pair" | "automation_marker_diamond" | "vumeter_meter" | "vumeter_meter_low" | "vumeter_meter_middle" | "vumeter_meter_high" | "vumeter_peak" | "vumeter_back_normal" | "vumeter_back_clipped" | "default_color_01" | "default_color_02" | "default_color_03" | "default_color_04" | "default_color_05" | "default_color_06" | "default_color_07" | "default_color_08" | "default_color_09" | "default_color_10" | "default_color_11" | "default_color_12" | "default_color_13" | "default_color_14" | "default_color_15" | "default_color_16"
TextFontStyle
"big"
| "bold"
| "code"
| "italic"
| "mono"
| "normal"
-- The style that the text should be displayed with. TextFontStyle: | "normal" -- (Default) | "big" -- big text | "bold" -- bold font | "italic" -- italic font | "mono" -- monospace font | "code" -- monospace code font
TextOrientation
"horizontal"
| "horizontal-rl"
| "vertical"
| "vertical-tb"
-- Setup the texts's orientation (writing direction). TextOrientation: | "horizontal" -- Draw from left to right (Default) | "horizontal-rl" -- Draw from right to left | "vertical" -- Draw from bottom to top | "vertical-tb" -- Draw from top to bottom
TextSingleLineString
The text that should be displayed. Setting a new text will resize the view in order to make the text fully visible (expanding only).
- Default: ""
TextStyle
"custom"
| "disabled"
| "normal"
| "strong"
-- Get/set the color style the text should be displayed with. TextStyle: | "normal" -- (Default) | "strong" -- highlighted color | "disabled" -- greyed out color | "custom" -- custom color
ThemeColor
"alternate_main_back"
| "alternate_main_font"
| "automation_grid"
| "automation_line_edge"
| "automation_line_fill"
| "automation_marker_diamond"
| "automation_marker_pair"
| "automation_marker_play"
| "automation_marker_single"
| "automation_point"
| "body_back"
| "body_font"
| "button_back"
| "button_font"
| "button_highlight_font"
| "default_color_01"
| "default_color_02"
| "default_color_03"
| "default_color_04"
| "default_color_05"
| "default_color_06"
| "default_color_07"
| "default_color_08"
| "default_color_09"
| "default_color_10"
| "default_color_11"
| "default_color_12"
| "default_color_13"
| "default_color_14"
| "default_color_15"
| "default_color_16"
| "folder"
| "main_back"
| "main_font"
| "midi_mapping_back"
| "midi_mapping_font"
| "pattern_centerbar_back"
| "pattern_centerbar_back_standby"
| "pattern_centerbar_font"
| "pattern_centerbar_font_standby"
| "pattern_default_back"
| "pattern_default_font"
| "pattern_default_font_delay"
| "pattern_default_font_dspfx"
| "pattern_default_font_global"
| "pattern_default_font_other"
| "pattern_default_font_panning"
| "pattern_default_font_pitch"
| "pattern_default_font_unused"
| "pattern_default_font_volume"
| "pattern_highlighted_back"
| "pattern_highlighted_font"
| "pattern_highlighted_font_delay"
| "pattern_highlighted_font_dspfx"
| "pattern_highlighted_font_global"
| "pattern_highlighted_font_other"
| "pattern_highlighted_font_panning"
| "pattern_highlighted_font_pitch"
| "pattern_highlighted_font_unused"
| "pattern_highlighted_font_volume"
| "pattern_mute_state"
| "pattern_playposition_back"
| "pattern_playposition_font"
| "pattern_selection"
| "pattern_standby_selection"
| "scrollbar"
| "selected_button_back"
| "selected_button_font"
| "selection_back"
| "selection_font"
| "slider"
| "standby_selection_back"
| "standby_selection_font"
| "strong_body_font"
| "tooltip_back"
| "tooltip_font"
| "valuebox_back"
| "valuebox_font"
| "valuebox_font_icons"
| "vumeter_back_clipped"
| "vumeter_back_normal"
| "vumeter_meter"
| "vumeter_meter_high"
| "vumeter_meter_low"
| "vumeter_meter_middle"
| "vumeter_peak"
-- The application theme's colors ThemeColor: | "main_back" | "main_font" | "alternate_main_back" | "alternate_main_font" | "body_back" | "body_font" | "strong_body_font" | "button_back" | "button_font" | "button_highlight_font" | "selected_button_back" | "selected_button_font" | "selection_back" | "selection_font" | "standby_selection_back" | "standby_selection_font" | "midi_mapping_back" | "midi_mapping_font" | "tooltip_back" | "tooltip_font" | "valuebox_back" | "valuebox_font" | "valuebox_font_icons" | "scrollbar" | "slider" | "folder" | "pattern_default_back" | "pattern_default_font" | "pattern_default_font_volume" | "pattern_default_font_panning" | "pattern_default_font_pitch" | "pattern_default_font_delay" | "pattern_default_font_global" | "pattern_default_font_other" | "pattern_default_font_dspfx" | "pattern_default_font_unused" | "pattern_highlighted_back" | "pattern_highlighted_font" | "pattern_highlighted_font_volume" | "pattern_highlighted_font_panning" | "pattern_highlighted_font_pitch" | "pattern_highlighted_font_delay" | "pattern_highlighted_font_global" | "pattern_highlighted_font_other" | "pattern_highlighted_font_dspfx" | "pattern_highlighted_font_unused" | "pattern_playposition_back" | "pattern_playposition_font" | "pattern_centerbar_back" | "pattern_centerbar_font" | "pattern_centerbar_back_standby" | "pattern_centerbar_font_standby" | "pattern_selection" | "pattern_standby_selection" | "pattern_mute_state" | "automation_grid" | "automation_line_edge" | "automation_line_fill" | "automation_point" | "automation_marker_play" | "automation_marker_single" | "automation_marker_pair" | "automation_marker_diamond" | "vumeter_meter" | "vumeter_meter_low" | "vumeter_meter_middle" | "vumeter_meter_high" | "vumeter_peak" | "vumeter_back_normal" | "vumeter_back_clipped" | "default_color_01" | "default_color_02" | "default_color_03" | "default_color_04" | "default_color_05" | "default_color_06" | "default_color_07" | "default_color_08" | "default_color_09" | "default_color_10" | "default_color_11" | "default_color_12" | "default_color_13" | "default_color_14" | "default_color_15" | "default_color_16"
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
renoise.Views.TextField
Shows a text string that can be clicked and edited by the user.
+----------------+ | Editable Te|xt | +----------------+
- Properties
- Functions
- add_notifier(self, notifier :
StringValueNotifierFunction
) - remove_notifier(self, notifier :
StringValueNotifierFunction
) - add_view(self, child :
renoise.Views.View
) - remove_view(self, child :
renoise.Views.View
) - swap_views(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
) - add_child(self, child :
renoise.Views.View
) - remove_child(self, child :
renoise.Views.View
) - swap_childs(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
)
- add_notifier(self, notifier :
- Aliases
Properties
active : TextActive
When false, text is displayed but can not be entered/modified by the user.
- Default: true
value : TextValue
The currently shown text. The text will not be updated when editing, rather only after editing is complete (return is pressed, or focus is lost).
- Default: ""
text : TextValueAlias
Exactly the same as "value"; provided for consistency.
- Default: ""
align : TextAlignment
Only used when not editing.
edit_mode : TextEditMode
True when the text field is focused. setting it at run-time programmatically will focus the text field or remove the focus (focus the dialog) accordingly.
- Default: false
visible : ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
Deprecated. Use property
size
instead.
height : ViewDimension
Deprecated. Use property
size
instead.
size : ViewSize
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
views : renoise.Views.View
[]
READ-ONLY Empty for all controls, for layout views this contains the layout child views in the order they got added
Functions
add_notifier(self, notifier : StringValueNotifierFunction
)
Add value change (text change) notifier
remove_notifier(self, notifier : StringValueNotifierFunction
)
Remove value change (text change) notifier
add_view(self, child : renoise.Views.View
)
Add a new child view to this view.
remove_view(self, child : renoise.Views.View
)
Remove a child view from this view.
swap_views(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Swap position of two child views in this view. With a series of swaps views can be moved to any position in the parent.
add_child(self, child : renoise.Views.View
)
Deprecated. Use
add_view
instead
remove_child(self, child : renoise.Views.View
)
Deprecated. Use
remove_view
instead
swap_childs(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Deprecated. Use
swap_views
instead
Aliases
StringValueNotifierFunction
(value : string
)
TextActive
When false, text is displayed but can not be entered/modified by the user.
- Default: true
TextAlignment
"center"
| "left"
| "right"
-- Setup the text's alignment. Applies only when the view's size is larger than -- the needed size to draw the text TextAlignment: | "left" -- (Default) | "right" -- aligned to the right | "center" -- center text
TextEditMode
True when the text field is focused. setting it at run-time programmatically will focus the text field or remove the focus (focus the dialog) accordingly.
- Default: false
TextValue
The currently shown text. The text will not be updated when editing, rather only after editing is complete (return is pressed, or focus is lost).
- Default: ""
TextValueAlias
Exactly the same as "value"; provided for consistency.
- Default: ""
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
renoise.Views.TextLink
Shows a text string which is highlighted when hovering with the mouse, and which can be clicked to perform some action. To create a hyperlink alike text, add a notifier which opens an url via:
renoise.app():open_url("https://some.url.com")
property.*Text, *
- Properties
- active :
ControlActive
- midi_mapping :
ControlMidiMappingString``?
- text :
TextSingleLineString
- font :
TextFontStyle
- style :
TextStyle
- color :
TextColor
- orientation :
TextOrientation
- align :
TextAlignment
- visible :
ViewVisibility
- origin :
ViewOrigin
- width :
ViewDimension
- height :
ViewDimension
- size :
ViewSize
- tooltip :
ViewTooltip
- cursor :
ViewCursorShape
- views :
renoise.Views.View
[]
- active :
- Functions
- add_pressed_notifier(self, notifier :
NotifierFunction
) - add_released_notifier(self, notifier :
NotifierFunction
) - remove_pressed_notifier(self, notifier :
NotifierFunction
) - remove_released_notifier(self, notifier :
NotifierFunction
) - add_view(self, child :
renoise.Views.View
) - remove_view(self, child :
renoise.Views.View
) - swap_views(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
) - add_child(self, child :
renoise.Views.View
) - remove_child(self, child :
renoise.Views.View
) - swap_childs(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
)
- add_pressed_notifier(self, notifier :
- Aliases
Properties
active : ControlActive
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
midi_mapping : ControlMidiMappingString
?
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
text : TextSingleLineString
The text that should be displayed. Setting a new text will resize the view in order to make the text fully visible (expanding only).
- Default: ""
font : TextFontStyle
The style that the text should be displayed with.
style : TextStyle
Get/set the color style the text should be displayed with.
color : TextColor
When set, the text will be drawn in the specified color. Set style to something else than "custom" or color to
{0, 0, 0}
to enable the default theme color for the text again.
orientation : TextOrientation
Setup the texts's orientation (writing direction).
align : TextAlignment
Setup the text's alignment. Applies only when the view's size is larger than the needed size to draw the text
visible : ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
Deprecated. Use property
size
instead.
height : ViewDimension
Deprecated. Use property
size
instead.
size : ViewSize
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
views : renoise.Views.View
[]
READ-ONLY Empty for all controls, for layout views this contains the layout child views in the order they got added
Functions
add_pressed_notifier(self, notifier : NotifierFunction
)
Add/remove text link hit/release notifier functions.
add_released_notifier(self, notifier : NotifierFunction
)
remove_pressed_notifier(self, notifier : NotifierFunction
)
remove_released_notifier(self, notifier : NotifierFunction
)
add_view(self, child : renoise.Views.View
)
Add a new child view to this view.
remove_view(self, child : renoise.Views.View
)
Remove a child view from this view.
swap_views(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Swap position of two child views in this view. With a series of swaps views can be moved to any position in the parent.
add_child(self, child : renoise.Views.View
)
Deprecated. Use
add_view
instead
remove_child(self, child : renoise.Views.View
)
Deprecated. Use
remove_view
instead
swap_childs(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Deprecated. Use
swap_views
instead
Aliases
ControlActive
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
ControlMidiMappingString
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
NotifierFunction
fun()
RGBColor
{ 1 : integer
, 2 : integer
, 3 : integer
}
A table of 3 bytes (ranging from 0 to 255) representing the red, green and blue channels of a color. {0xFF, 0xFF, 0xFF} is white {165, 73, 35} is the red from the Renoise logo
TextAlignment
"center"
| "left"
| "right"
-- Setup the text's alignment. Applies only when the view's size is larger than -- the needed size to draw the text TextAlignment: | "left" -- (Default) | "right" -- aligned to the right | "center" -- center text
TextColor
-- When set, the text will be drawn in the specified color. -- Set style to something else than "custom" or color to `{0, 0, 0}` -- to enable the default theme color for the text again. -- A table of 3 bytes (ranging from 0 to 255) -- representing the red, green and blue channels of a color. -- {0xFF, 0xFF, 0xFF} is white -- {165, 73, 35} is the red from the Renoise logo -- The application theme's colors TextColor: | "main_back" | "main_font" | "alternate_main_back" | "alternate_main_font" | "body_back" | "body_font" | "strong_body_font" | "button_back" | "button_font" | "button_highlight_font" | "selected_button_back" | "selected_button_font" | "selection_back" | "selection_font" | "standby_selection_back" | "standby_selection_font" | "midi_mapping_back" | "midi_mapping_font" | "tooltip_back" | "tooltip_font" | "valuebox_back" | "valuebox_font" | "valuebox_font_icons" | "scrollbar" | "slider" | "folder" | "pattern_default_back" | "pattern_default_font" | "pattern_default_font_volume" | "pattern_default_font_panning" | "pattern_default_font_pitch" | "pattern_default_font_delay" | "pattern_default_font_global" | "pattern_default_font_other" | "pattern_default_font_dspfx" | "pattern_default_font_unused" | "pattern_highlighted_back" | "pattern_highlighted_font" | "pattern_highlighted_font_volume" | "pattern_highlighted_font_panning" | "pattern_highlighted_font_pitch" | "pattern_highlighted_font_delay" | "pattern_highlighted_font_global" | "pattern_highlighted_font_other" | "pattern_highlighted_font_dspfx" | "pattern_highlighted_font_unused" | "pattern_playposition_back" | "pattern_playposition_font" | "pattern_centerbar_back" | "pattern_centerbar_font" | "pattern_centerbar_back_standby" | "pattern_centerbar_font_standby" | "pattern_selection" | "pattern_standby_selection" | "pattern_mute_state" | "automation_grid" | "automation_line_edge" | "automation_line_fill" | "automation_point" | "automation_marker_play" | "automation_marker_single" | "automation_marker_pair" | "automation_marker_diamond" | "vumeter_meter" | "vumeter_meter_low" | "vumeter_meter_middle" | "vumeter_meter_high" | "vumeter_peak" | "vumeter_back_normal" | "vumeter_back_clipped" | "default_color_01" | "default_color_02" | "default_color_03" | "default_color_04" | "default_color_05" | "default_color_06" | "default_color_07" | "default_color_08" | "default_color_09" | "default_color_10" | "default_color_11" | "default_color_12" | "default_color_13" | "default_color_14" | "default_color_15" | "default_color_16"
TextFontStyle
"big"
| "bold"
| "code"
| "italic"
| "mono"
| "normal"
-- The style that the text should be displayed with. TextFontStyle: | "normal" -- (Default) | "big" -- big text | "bold" -- bold font | "italic" -- italic font | "mono" -- monospace font | "code" -- monospace code font
TextOrientation
"horizontal"
| "horizontal-rl"
| "vertical"
| "vertical-tb"
-- Setup the texts's orientation (writing direction). TextOrientation: | "horizontal" -- Draw from left to right (Default) | "horizontal-rl" -- Draw from right to left | "vertical" -- Draw from bottom to top | "vertical-tb" -- Draw from top to bottom
TextSingleLineString
The text that should be displayed. Setting a new text will resize the view in order to make the text fully visible (expanding only).
- Default: ""
TextStyle
"custom"
| "disabled"
| "normal"
| "strong"
-- Get/set the color style the text should be displayed with. TextStyle: | "normal" -- (Default) | "strong" -- highlighted color | "disabled" -- greyed out color | "custom" -- custom color
ThemeColor
"alternate_main_back"
| "alternate_main_font"
| "automation_grid"
| "automation_line_edge"
| "automation_line_fill"
| "automation_marker_diamond"
| "automation_marker_pair"
| "automation_marker_play"
| "automation_marker_single"
| "automation_point"
| "body_back"
| "body_font"
| "button_back"
| "button_font"
| "button_highlight_font"
| "default_color_01"
| "default_color_02"
| "default_color_03"
| "default_color_04"
| "default_color_05"
| "default_color_06"
| "default_color_07"
| "default_color_08"
| "default_color_09"
| "default_color_10"
| "default_color_11"
| "default_color_12"
| "default_color_13"
| "default_color_14"
| "default_color_15"
| "default_color_16"
| "folder"
| "main_back"
| "main_font"
| "midi_mapping_back"
| "midi_mapping_font"
| "pattern_centerbar_back"
| "pattern_centerbar_back_standby"
| "pattern_centerbar_font"
| "pattern_centerbar_font_standby"
| "pattern_default_back"
| "pattern_default_font"
| "pattern_default_font_delay"
| "pattern_default_font_dspfx"
| "pattern_default_font_global"
| "pattern_default_font_other"
| "pattern_default_font_panning"
| "pattern_default_font_pitch"
| "pattern_default_font_unused"
| "pattern_default_font_volume"
| "pattern_highlighted_back"
| "pattern_highlighted_font"
| "pattern_highlighted_font_delay"
| "pattern_highlighted_font_dspfx"
| "pattern_highlighted_font_global"
| "pattern_highlighted_font_other"
| "pattern_highlighted_font_panning"
| "pattern_highlighted_font_pitch"
| "pattern_highlighted_font_unused"
| "pattern_highlighted_font_volume"
| "pattern_mute_state"
| "pattern_playposition_back"
| "pattern_playposition_font"
| "pattern_selection"
| "pattern_standby_selection"
| "scrollbar"
| "selected_button_back"
| "selected_button_font"
| "selection_back"
| "selection_font"
| "slider"
| "standby_selection_back"
| "standby_selection_font"
| "strong_body_font"
| "tooltip_back"
| "tooltip_font"
| "valuebox_back"
| "valuebox_font"
| "valuebox_font_icons"
| "vumeter_back_clipped"
| "vumeter_back_normal"
| "vumeter_meter"
| "vumeter_meter_high"
| "vumeter_meter_low"
| "vumeter_meter_middle"
| "vumeter_peak"
-- The application theme's colors ThemeColor: | "main_back" | "main_font" | "alternate_main_back" | "alternate_main_font" | "body_back" | "body_font" | "strong_body_font" | "button_back" | "button_font" | "button_highlight_font" | "selected_button_back" | "selected_button_font" | "selection_back" | "selection_font" | "standby_selection_back" | "standby_selection_font" | "midi_mapping_back" | "midi_mapping_font" | "tooltip_back" | "tooltip_font" | "valuebox_back" | "valuebox_font" | "valuebox_font_icons" | "scrollbar" | "slider" | "folder" | "pattern_default_back" | "pattern_default_font" | "pattern_default_font_volume" | "pattern_default_font_panning" | "pattern_default_font_pitch" | "pattern_default_font_delay" | "pattern_default_font_global" | "pattern_default_font_other" | "pattern_default_font_dspfx" | "pattern_default_font_unused" | "pattern_highlighted_back" | "pattern_highlighted_font" | "pattern_highlighted_font_volume" | "pattern_highlighted_font_panning" | "pattern_highlighted_font_pitch" | "pattern_highlighted_font_delay" | "pattern_highlighted_font_global" | "pattern_highlighted_font_other" | "pattern_highlighted_font_dspfx" | "pattern_highlighted_font_unused" | "pattern_playposition_back" | "pattern_playposition_font" | "pattern_centerbar_back" | "pattern_centerbar_font" | "pattern_centerbar_back_standby" | "pattern_centerbar_font_standby" | "pattern_selection" | "pattern_standby_selection" | "pattern_mute_state" | "automation_grid" | "automation_line_edge" | "automation_line_fill" | "automation_point" | "automation_marker_play" | "automation_marker_single" | "automation_marker_pair" | "automation_marker_diamond" | "vumeter_meter" | "vumeter_meter_low" | "vumeter_meter_middle" | "vumeter_meter_high" | "vumeter_peak" | "vumeter_back_normal" | "vumeter_back_clipped" | "default_color_01" | "default_color_02" | "default_color_03" | "default_color_04" | "default_color_05" | "default_color_06" | "default_color_07" | "default_color_08" | "default_color_09" | "default_color_10" | "default_color_11" | "default_color_12" | "default_color_13" | "default_color_14" | "default_color_15" | "default_color_16"
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
renoise.Views.Value
A static text view. Shows a string representation of a number and allows custom "number to string" conversion.
+---+-------+ | 12.1 dB | +---+-------+
- Properties
- Functions
- add_notifier(self, notifier :
NumberValueNotifierFunction
) - remove_notifier(self, notifier :
NumberValueNotifierFunction
) - add_view(self, child :
renoise.Views.View
) - remove_view(self, child :
renoise.Views.View
) - swap_views(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
) - add_child(self, child :
renoise.Views.View
) - remove_child(self, child :
renoise.Views.View
) - swap_childs(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
)
- add_notifier(self, notifier :
- Aliases
Properties
value : SliderNumberValue
The current value of the view
font : TextFontStyle
The style that the text should be displayed with.
align : TextAlignment
Setup the text's alignment. Applies only when the view's size is larger than the needed size to draw the text
visible : ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
Deprecated. Use property
size
instead.
height : ViewDimension
Deprecated. Use property
size
instead.
size : ViewSize
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
views : renoise.Views.View
[]
READ-ONLY Empty for all controls, for layout views this contains the layout child views in the order they got added
Functions
add_notifier(self, notifier : NumberValueNotifierFunction
)
Add value change notifier
remove_notifier(self, notifier : NumberValueNotifierFunction
)
Remove value change notifier
add_view(self, child : renoise.Views.View
)
Add a new child view to this view.
remove_view(self, child : renoise.Views.View
)
Remove a child view from this view.
swap_views(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Swap position of two child views in this view. With a series of swaps views can be moved to any position in the parent.
add_child(self, child : renoise.Views.View
)
Deprecated. Use
add_view
instead
remove_child(self, child : renoise.Views.View
)
Deprecated. Use
remove_view
instead
swap_childs(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Deprecated. Use
swap_views
instead
Aliases
NumberValueNotifierFunction
(value : number
)
SliderNumberValue
The current value of the view
TextAlignment
"center"
| "left"
| "right"
-- Setup the text's alignment. Applies only when the view's size is larger than -- the needed size to draw the text TextAlignment: | "left" -- (Default) | "right" -- aligned to the right | "center" -- center text
TextFontStyle
"big"
| "bold"
| "code"
| "italic"
| "mono"
| "normal"
-- The style that the text should be displayed with. TextFontStyle: | "normal" -- (Default) | "big" -- big text | "bold" -- bold font | "italic" -- italic font | "mono" -- monospace font | "code" -- monospace code font
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
renoise.Views.ValueBox
A box with arrow buttons and a text field that can be edited by the user. Allows showing and editing natural numbers in a custom range.
+---+-------+ |<|>| 12 | +---+-------+
- Properties
- active :
ControlActive
- midi_mapping :
ControlMidiMappingString
- min :
ValueBoxMinValue
- max :
ValueBoxMaxValue
- steps :
SliderStepAmounts
- value :
SliderNumberValue
- visible :
ViewVisibility
- origin :
ViewOrigin
- width :
ViewDimension
- height :
ViewDimension
- size :
ViewSize
- tooltip :
ViewTooltip
- cursor :
ViewCursorShape
- views :
renoise.Views.View
[]
- active :
- Functions
- add_notifier(self, notifier :
NumberValueNotifierFunction
) - remove_notifier(self, notifier :
NumberValueNotifierFunction
) - add_view(self, child :
renoise.Views.View
) - remove_view(self, child :
renoise.Views.View
) - swap_views(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
) - add_child(self, child :
renoise.Views.View
) - remove_child(self, child :
renoise.Views.View
) - swap_childs(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
)
- add_notifier(self, notifier :
- Aliases
Properties
active : ControlActive
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
midi_mapping : ControlMidiMappingString
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
min : ValueBoxMinValue
The minimum value that can be set using the view
- Default: 0
max : ValueBoxMaxValue
The maximum value that can be set using the view
- Default: 100
steps : SliderStepAmounts
A table containing two numbers representing the step amounts for incrementing and decrementing by clicking the <> buttons. The first value is the small step (applied on left clicks) second value is the big step (applied on right clicks)
value : SliderNumberValue
The current value of the view
visible : ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
Deprecated. Use property
size
instead.
height : ViewDimension
Deprecated. Use property
size
instead.
size : ViewSize
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
views : renoise.Views.View
[]
READ-ONLY Empty for all controls, for layout views this contains the layout child views in the order they got added
Functions
add_notifier(self, notifier : NumberValueNotifierFunction
)
Add value change notifier
remove_notifier(self, notifier : NumberValueNotifierFunction
)
Remove value change notifier
add_view(self, child : renoise.Views.View
)
Add a new child view to this view.
remove_view(self, child : renoise.Views.View
)
Remove a child view from this view.
swap_views(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Swap position of two child views in this view. With a series of swaps views can be moved to any position in the parent.
add_child(self, child : renoise.Views.View
)
Deprecated. Use
add_view
instead
remove_child(self, child : renoise.Views.View
)
Deprecated. Use
remove_view
instead
swap_childs(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Deprecated. Use
swap_views
instead
Aliases
ControlActive
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
ControlMidiMappingString
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
NumberValueNotifierFunction
(value : number
)
SliderNumberValue
The current value of the view
SliderStepAmounts
A table containing two numbers representing the step amounts for incrementing and decrementing by clicking the <> buttons. The first value is the small step (applied on left clicks) second value is the big step (applied on right clicks)
ValueBoxMaxValue
The maximum value that can be set using the view
- Default: 100
ValueBoxMinValue
The minimum value that can be set using the view
- Default: 0
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
renoise.Views.ValueField
A text view, which shows a string representation of a number and allows custom "number to string" conversion. The value's text can be edited by the user.
+---+-------+ | 12.1 dB | +---+-------+
- Properties
- active :
ControlActive
- midi_mapping :
ControlMidiMappingString
- min :
SliderMinValue
- max :
SliderMaxValue
- value :
SliderNumberValue
- align :
TextAlignment
- visible :
ViewVisibility
- origin :
ViewOrigin
- width :
ViewDimension
- height :
ViewDimension
- size :
ViewSize
- tooltip :
ViewTooltip
- cursor :
ViewCursorShape
- views :
renoise.Views.View
[]
- active :
- Functions
- add_notifier(self, notifier :
NumberValueNotifierFunction
) - remove_notifier(self, notifier :
NumberValueNotifierFunction
) - add_view(self, child :
renoise.Views.View
) - remove_view(self, child :
renoise.Views.View
) - swap_views(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
) - add_child(self, child :
renoise.Views.View
) - remove_child(self, child :
renoise.Views.View
) - swap_childs(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
)
- add_notifier(self, notifier :
- Aliases
Properties
active : ControlActive
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
midi_mapping : ControlMidiMappingString
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
min : SliderMinValue
The minimum value that can be set using the view
- Default: 0
max : SliderMaxValue
The maximum value that can be set using the view
- Default: 1.0
value : SliderNumberValue
The current value of the view
align : TextAlignment
Setup the text's alignment. Applies only when the view's size is larger than the needed size to draw the text
visible : ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
Deprecated. Use property
size
instead.
height : ViewDimension
Deprecated. Use property
size
instead.
size : ViewSize
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
views : renoise.Views.View
[]
READ-ONLY Empty for all controls, for layout views this contains the layout child views in the order they got added
Functions
add_notifier(self, notifier : NumberValueNotifierFunction
)
Add value change notifier
remove_notifier(self, notifier : NumberValueNotifierFunction
)
Remove value change notifier
add_view(self, child : renoise.Views.View
)
Add a new child view to this view.
remove_view(self, child : renoise.Views.View
)
Remove a child view from this view.
swap_views(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Swap position of two child views in this view. With a series of swaps views can be moved to any position in the parent.
add_child(self, child : renoise.Views.View
)
Deprecated. Use
add_view
instead
remove_child(self, child : renoise.Views.View
)
Deprecated. Use
remove_view
instead
swap_childs(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Deprecated. Use
swap_views
instead
Aliases
ControlActive
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
ControlMidiMappingString
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
NumberValueNotifierFunction
(value : number
)
SliderMaxValue
The maximum value that can be set using the view
- Default: 1.0
SliderMinValue
The minimum value that can be set using the view
- Default: 0
SliderNumberValue
The current value of the view
TextAlignment
"center"
| "left"
| "right"
-- Setup the text's alignment. Applies only when the view's size is larger than -- the needed size to draw the text TextAlignment: | "left" -- (Default) | "right" -- aligned to the right | "center" -- center text
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
renoise.Views.View
View is the base class for all child views. All View properties can be applied to any of the following specialized views.
- Properties
- Functions
- add_view(self, child :
renoise.Views.View
) - remove_view(self, child :
renoise.Views.View
) - swap_views(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
) - add_child(self, child :
renoise.Views.View
) - remove_child(self, child :
renoise.Views.View
) - swap_childs(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
)
- add_view(self, child :
- Aliases
Properties
visible : ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
Deprecated. Use property
size
instead.
height : ViewDimension
Deprecated. Use property
size
instead.
size : ViewSize
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
views : renoise.Views.View
[]
READ-ONLY Empty for all controls, for layout views this contains the layout child views in the order they got added
Functions
add_view(self, child : renoise.Views.View
)
Add a new child view to this view.
remove_view(self, child : renoise.Views.View
)
Remove a child view from this view.
swap_views(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Swap position of two child views in this view. With a series of swaps views can be moved to any position in the parent.
add_child(self, child : renoise.Views.View
)
Deprecated. Use
add_view
instead
remove_child(self, child : renoise.Views.View
)
Deprecated. Use
remove_view
instead
swap_childs(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Deprecated. Use
swap_views
instead
Aliases
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
renoise.Views.XYPad
A slider like pad which allows for controlling two values at once. By default it freely moves the XY values, but it can also be configured to snap back to a predefined value when releasing the mouse button.
All values, notifiers, current value or min/max properties will act just like a slider or a rotary's properties, but nstead of a single number, a table with the fields
{x = xvalue, y = yvalue}
is expected, returned.+-------+ | o | | + | | | +-------+
- Properties
- active :
ControlActive
- midi_mapping :
ControlMidiMappingString
- visible :
ViewVisibility
- origin :
ViewOrigin
- width :
ViewDimension
- height :
ViewDimension
- size :
ViewSize
- tooltip :
ViewTooltip
- cursor :
ViewCursorShape
- views :
renoise.Views.View
[] - min :
XYPadMinValues
- max :
XYPadMaxValues
- value :
XYPadValues
- snapback :
XYPadSnapbackValues``?
- active :
- Functions
- add_view(self, child :
renoise.Views.View
) - remove_view(self, child :
renoise.Views.View
) - swap_views(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
) - add_child(self, child :
renoise.Views.View
) - remove_child(self, child :
renoise.Views.View
) - swap_childs(self, child1 :
renoise.Views.View
, child2 :renoise.Views.View
) - add_notifier(self, notifier :
XYValueNotifierFunction
) - remove_notifier(self, notifier :
XYValueNotifierFunction
)
- add_view(self, child :
- Aliases
Properties
active : ControlActive
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
midi_mapping : ControlMidiMappingString
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
visible : ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
origin : ViewOrigin
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
width : ViewDimension
Deprecated. Use property
size
instead.
height : ViewDimension
Deprecated. Use property
size
instead.
size : ViewSize
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
tooltip : ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
cursor : ViewCursorShape
The cursor cursor for this view which apears on mouse hover. Using a "none" shape will use use underlying view's cursor or the default cursor.
views : renoise.Views.View
[]
READ-ONLY Empty for all controls, for layout views this contains the layout child views in the order they got added
min : XYPadMinValues
A table of allowed minimum values for each axis
- Default: {x: 0.0, y: 0.0}
max : XYPadMaxValues
A table of allowed maximum values for each axis
- Default: {x: 1.0, y: 1.0}
value : XYPadValues
A table of the XYPad's current values on each axis
snapback : XYPadSnapbackValues
?
A table of snapback values for each axis When snapback is enabled, the pad will revert its values to the specified snapback values as soon as the mouse button is released in the pad. When disabled, releasing the mouse button will not change the value. You can disable snapback at runtime by setting it to nil or an empty table.
Functions
add_view(self, child : renoise.Views.View
)
Add a new child view to this view.
remove_view(self, child : renoise.Views.View
)
Remove a child view from this view.
swap_views(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Swap position of two child views in this view. With a series of swaps views can be moved to any position in the parent.
add_child(self, child : renoise.Views.View
)
Deprecated. Use
add_view
instead
remove_child(self, child : renoise.Views.View
)
Deprecated. Use
remove_view
instead
swap_childs(self, child1 : renoise.Views.View
, child2 : renoise.Views.View
)
Deprecated. Use
swap_views
instead
add_notifier(self, notifier : XYValueNotifierFunction
)
Add value change notifier
remove_notifier(self, notifier : XYValueNotifierFunction
)
Remove value change notifier
Aliases
ControlActive
Instead of making a control invisible, you can also make it inactive. Deactivated controls will still be shown, and will still show their currently assigned values, but will not allow changes. Most controls will display as "grayed out" to visualize the deactivated state.
ControlMidiMappingString
When set, the control will be highlighted when Renoise's MIDI mapping dialog is open. When clicked, it selects the specified string as a MIDI mapping target action. This target acton can either be one of the globally available mappings in Renoise, or those that were created by the tool itself. Target strings are not verified. When they point to nothing, the mapped MIDI message will do nothing and no error is fired.
SliderMaxValue
The maximum value that can be set using the view
- Default: 1.0
SliderMinValue
The minimum value that can be set using the view
- Default: 0
SliderNumberValue
The current value of the view
ViewCursorShape
"busy"
| "change_value"
| "crosshair"
| "default"
| "drag"
| "drop"
| "edit_text"
| "empty"
| "erase"
| "extend_bottom"
| "extend_bottom_alias"
| "extend_left"
| "extend_left_alias"
| "extend_right"
| "extend_right_alias"
| "extend_top"
| "extend_top_alias"
| "marker"
| "move"
| "nodrop"
| "none"
| "pencil"
| "play"
| "resize_edge_diagonal_left"
| "resize_edge_diagonal_right"
| "resize_edge_horizontal"
| "resize_edge_vertical"
| "resize_horizontal"
| "resize_vertical"
| "zoom"
| "zoom_horizontal"
| "zoom_vertical"
-- The cursor cursor for this view which apears on mouse hover. -- Using a "none" shape will use use underlying view's cursor or the default cursor. ViewCursorShape: | "none" | "empty" | "default" | "change_value" | "edit_text" | "pencil" | "marker" | "crosshair" | "move" | "erase" | "play" | "drag" | "drop" | "nodrop" | "busy" | "resize_vertical" | "resize_horizontal" | "resize_edge_vertical" | "resize_edge_horizontal" | "resize_edge_diagonal_left" | "resize_edge_diagonal_right" | "extend_left" | "extend_right" | "extend_top" | "extend_bottom" | "extend_left_alias" | "extend_right_alias" | "extend_top_alias" | "extend_bottom_alias" | "zoom_vertical" | "zoom_horizontal" | "zoom"
ViewDimension
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size for example
vb:text { width = "80%"}
. The percentage values are relative to the view's parent size and will automatically update on size changes.
ViewOrigin
{ 1 : ViewPosition
, 2 : ViewPosition
} | { x : ViewPosition
, y : ViewPosition
}
The position of a view within its parent view. Only the
stack
layouts allows to freely position child views. Other layout views will automatically set the origin, but the origin then still can be read in for example mouse handlers.
ViewPosition
Horizontal (x) or Vertical (y) position of a view within its parent view.
ViewSize
{ 1 : ViewDimension
, 2 : ViewDimension
} | { height : ViewDimension
, width : ViewDimension
}
The dimensions of a view has to be larger than 0. For nested views you can also specify relative size, for example
vb:text { size = { width = "80%", height = 20}}
. The percentage values are relative to the view's parent size and will automatically update when the parent view's size changes.
ViewTooltip
A ViewTooltip text that should be shown for this view on mouse hover.
- Default: "" (no tip will be shown)
ViewVisibility
Set visible to false to hide a view (make it invisible without removing it). Please note that view.visible will also return false when any of its parents are invisible (when its implicitly invisible).
- Default: true
XYPadMaxValues
{ x : SliderMaxValue
, y : SliderMaxValue
}
A table of allowed maximum values for each axis
- Default: {x: 1.0, y: 1.0}
XYPadMinValues
{ x : SliderMinValue
, y : SliderMinValue
}
A table of allowed minimum values for each axis
- Default: {x: 0.0, y: 0.0}
XYPadSnapbackValues
A table of snapback values for each axis When snapback is enabled, the pad will revert its values to the specified snapback values as soon as the mouse button is released in the pad. When disabled, releasing the mouse button will not change the value. You can disable snapback at runtime by setting it to nil or an empty table.
XYPadValues
{ x : SliderNumberValue
, y : SliderNumberValue
}
A table of the XYPad's current values on each axis
XYValueNotifierFunction
(value : XYPadValues
)
Lua Module Extensions
debug
Functions
start()
Shortcut to remdebug.session.start(), which starts a debug session: launches the debugger controller and breaks script execution. See "Debugging.md" in the documentation root folder for more info.
stop()
Shortcut to remdebug.session.stop: stops a running debug session
Global
Functions
tostring(pattern_line : renoise.PatternLine
)
->
string
Serialize a line.
ripairs(table : <T:table>)
->
fun(table: integer
An iterator like ipairs, but in reverse order.
examples:
t = {"a", "b", "c"} for k,v in ripairs(t) do print(k, v) end -> "3 c, 2 b, 1 a"
objinfo(object : userdata
)
->
string
[]
Return a string which lists properties and methods of class objects.
oprint(object : userdata
)
Dumps properties and methods of class objects (like renoise.app()).
rprint(value : any
)
Recursively dumps a table and all its members to the std out (console). This works for standard Lua types and class objects as well.
class(name : string
)
->
function
Luabind "class" registration. Registers a global class object and returns a closure to optionally set the base class.
See also Luabind class
examples
---@class Animal -- Construct a new animal with the given name. ---@overload fun(string): Animal Animal = {} class 'Animal' ---@param name string function Animal:__init(name) self.name = name self.can_fly = nil end function Animal:show() return ("I am a %s (%s) and I %s fly"):format(self.name, type(self), (self.can_fly and "can fly" or "can not fly")) end -- Mammal class (inherits Animal functions and members) ---@class Mammal : Animal -- Construct a new mamal with the given name. ---@overload fun(string): Mammal Mammal = {} class 'Mammal' (Animal) ---@param name string function Mammal:__init(name) Animal.__init(self, name) self.can_fly = false end -- show() function and base member are available for Mammal too local mamal = Mammal("Cow") mamal:show()
type(value : any
)
->
string
Returns a Renoise class object's type name. For all other types the standard Lua type function is used.
examples:
class "MyClass"; function MyClass:__init() end print(type(MyClass)) -> "MyClass class" print(type(MyClass())) -> "MyClass"
rawequal(obj1 : any
, obj2 : any
)
Also compares object identities of Renoise API class objects. For all other types the standard Lua rawequal function is used.
examples:
print(rawequal(renoise.app(), renoise.app())) --> true print(rawequal(renoise.song().track[1], renoise.song().track[1]) --> true print(rawequal(renoise.song().track[1], renoise.song().track[2]) --> false
io
Functions
exists(filename : string
)
->
boolean
Returns true when a file, folder or link at the given path and name exists
stat(filename : string
)
->
result : Stat
?
, error : string
?
, error_code : integer
?
Returns a table with status info about the file, folder or link at the given path and name, else nil the error and the error code is returned.
chmod(filename : string
, mode : integer
)
->
result : boolean
, error : string
?
, error_code : integer
?
Change permissions of a file, folder or link. mode is a unix permission styled octal number (like 755 - WITHOUT a leading octal 0). Executable, group and others flags are ignored on windows and won't fire errors
Structs
Stat
return value for io.stat
Properties
dev : integer
device number of filesystem
ino : integer
inode number
mode : integer
unix styled file permissions
type : "file"
| "directory"
| "link"
| "socket"
| "named pipe"
| "char device"
| "block device"
nlink : integer
number of (hard) links to the file
uid : integer
numeric user ID of file's owner
gid : integer
numeric group ID of file's owner
rdev : integer
the device identifier (special files only)
size : integer
total size of file, in bytes
atime : integer
last access time in seconds since the epoch
mtime : integer
last modify time in seconds since the epoch
ctime : integer
inode change time (NOT creation time!) in seconds
math
Functions
lin2db(n : number
)
->
number
Converts a linear value to a db value. db values will be clipped to math.infdb.
examples:
print(math.lin2db(1.0)) --> 0 print(math.lin2db(0.0)) --> -200 (math.infdb)
db2lin(n : number
)
->
number
Converts a dB value to a linear value.
examples:
print(math.db2lin(math.infdb)) --> 0 print(math.db2lin(6.0)) --> 1.9952623149689
db2fader(min_dB : number
, max_dB : number
, dB_to_convert : number
)
->
number
Converts a dB value to a normalized linear fader value between 0-1 within the given dB range.
examples:
print(math.db2fader(-96, 0, 1)) --> 0 print(math.db2fader(-48, 6, 0)) --> 0.73879611492157
fader2db(min_dB : number
, max_dB : number
, fader_value : number
)
->
number
Converts a normalized linear mixer fader value to a db value within the given dB range.
examples:
print(math.fader2db(-96, 0, 1)) --> 0 print(math.fader2db(-96, 0, 0)) --> -96
os
Functions
platform()
->``"LINUX"
| "MACINTOSH"
| "WINDOWS"
Returns the platform the script is running on:
return #1: | "WINDOWS" | "MACINTOSH" | "LINUX"
currentdir()
->
path : string
Returns the current working dir. Will always be the scripts directory when executing a script from a file
dirnames(path : any
)
->
paths : string
[]
Returns a list of directory names (names, not full paths) for the given parent directory. Passed directory must be valid, or an error will be thrown.
filenames(path : string
, file_extensions : string
[]?
)
->
paths : string
[]
Returns a list file names (names, not full paths) for the given parent directory. Second optional argument is a list of file extensions that should be searched for, like {".wav", ".txt"}. By default all files are matched. The passed directory must be valid, or an error will be thrown.
mkdir(path : string
)
Creates a new directory. mkdir can only create one new sub directory at the same time. If you need to create more than one sub dir, call mkdir multiple times. Returns true if the operation was successful; in case of error, it returns nil plus an error string.
move(src : string
, dest : string
)
Moves a file or a directory from path 'src' to 'dest'. Unlike 'os.rename' this also supports moving a file from one file system to another one. Returns true if the operation was successful; in case of error, it returns nil plus an error string.
tmpname(extension : string
?
)
->
string
Changed in Renoises: Returns a temp directory and name which renoise will clean up on exit.
clock()
->
number
Replaced with a high precision timer (still expressed in milliseconds)
exit()
Will not exit, but fire an error that os.exit() can not be called
table
Functions
create(t : table
?
)
->
table
| tablelib
Create a new, or convert an exiting table to an object that uses the global 'table.XXX' functions as methods, just like strings in Lua do.
examples:
t = table.create(); t:insert("a"); rprint(t) -> [1] = a; t = table.create{1,2,3}; print(t:concat("|")); -> "1|2|3";
is_empty(t : table
)
->
boolean
Returns true when the table is empty, else false and will also work for non indexed tables
examples:
t = {}; print(table.is_empty(t)); -> true; t = {66}; print(table.is_empty(t)); -> false; t = {["a"] = 1}; print(table.is_empty(t)); -> false;
count(t : table
)
Count the number of items of a table, also works for non index based tables (using pairs).
examples:
t = {["a"]=1, ["b"]=1}; print(table.count(t)) --> 2
find(t : table
, value : any
, start_index : integer
?
)
->
key_or_nil : string
| number
?
Find first match of value in the given table, starting from element number start_index.
Returns the first key that matches the value or nilexamples:
t = {"a", "b"}; table.find(t, "a") --> 1 t = {a=1, b=2}; table.find(t, 2) --> "b" t = {"a", "b", "a"}; table.find(t, "a", 2) --> "3" t = {"a", "b"}; table.find(t, "c") --> nil
keys(t : table
)
->
table
Return an indexed table of all keys that are used in the table.
examples:
t = {a="aa", b="bb"}; rprint(table.keys(t)); --> "a", "b" t = {"a", "b"}; rprint(table.keys(t)); --> 1, 2
values(t : table
)
->
table
Return an indexed table of all values that are used in the table
examples:
t = {a="aa", b="bb"}; rprint(table.values(t)); --> "aa", "bb" t = {"a", "b"}; rprint(table.values(t)); --> "a", "b"
copy(t : table
)
->
table
Copy the metatable and all first level elements of the given table into a new table. Use table.rcopy to do a recursive copy of all elements
rcopy(t : table
)
->
table
Deeply copy the metatable and all elements of the given table recursively into a new table - create a clone with unique references.
clear(t : table
)
Recursively clears and removes all table elements.
Lua Builtin Types
any
A type for a dynamic argument, it can be anything at run-time.
boolean
A built-in type representing a boolean (true or false) value, see details
function
A built-in type representing functions, see details
integer
A helper type that represents whole numbers, a subset of number
lightuserdata
A built-in type representing a pointer, see details
nil
A built-in type representing a non-existant value, see details. When you see
?
at the end of types, it means they can be nil.
number
A built-in type representing floating point numbers, see details
self
A type that represents an instance that you call a function on. When you see a function signature starting with this type, you should use
:
to call the function on the instance, this way you can omit this first argument.local object = SomeClass() object:do_something(123)
string
A built-in type representing a string of characters, see details
table
A built-in type representing associative arrays, see details
unknown
A dummy type for something that cannot be inferred before run-time.
userdata
A built-in type representing array values, see details.