Lua Scripting Reference


(Moonriders) #1

Here is an example:
http://www.dyson-game.com/smf/index.php?topic=212.0

It’s quite helpful in that it is very concise.


(It-Alien) #2

it’s very concise because there are just a few API’s available there, while Renoise scripting has lot more.

did you get the starter pack? it includes a complete documentation of what’s into Renoise scripting, to be used together with LUA reference.

clearly you are not new to programming, so here it is what taktik wants to tell you as an introduction


(Conner_Bw) #3

You have a choice, ride to the moon, or get busy trying?

Here’s a PHP script that turns the docs into the concise version. Run it from the same directory as /Documentation/

  
<?php <br />  
$dir = dirname(__FILE__);  
$concise = '';  
  
foreach(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir)) as $file)  
{  
 if (!$file->isFile()) continue;  
 if (!preg_match('/lua$/', $file->getFilename())) continue;  
  
 $tmp = file_get_contents($file->getPathname());  
  
 $tmp = preg_replace('/^--\[\[(.*)\]\]/s', '', $tmp);  
 $tmp = preg_replace('/^--(.*)\n/m', '', $tmp);  
 $tmp = preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "\n", $tmp);  
  
 $concise .= "\n >>> " . $file->getFilename() . " <<< \n";  
 $concise .= $tmp;  
}  
  
echo $concise;  
  
?>  
  

Here are the results:

  
 >>> Lua.Standard.API.lua <<<   
  
ripairs(table) -> [iterator function]  
objinfo(class_object) -> [string]  
rprint(table)  
oprint(table)  
type(class_object or class or anything else) -> [string]  
debug.start()   
debug.stop()   
table.create([t]) -> [table]  
table.is_empty(t) -> [boolean]  
table.count(t) -> [number]  
table.find(t, value [,start_index]) -> [key or nil]  
table.keys(t) -> [table]  
table.values(t) -> [table]  
table.copy(t) -> [table]  
table.rcopy(t) -> [table]  
table.clear(t)  
os.platform() -> [string]  
os.currentdir() -> [string]  
os.dirnames(path) -> [table of strings]  
os.filenames(path [, {file_extensions}]) -> [table of strings]  
os.mkdir(path) -> [boolean, error_string or nil]  
os.tmpname([extension]) -> [string]  
os.clock() -> [number]  
os.exit()  
io.exists(filename) -> [boolean]  
io.stat(filename) -> [table or (nil, error, error no)]  
io.chmod(filename, mode) -> [true or (nil, error, error no)]  
math.lin2db(number) -> [number]  
math.db2lin(number) -> [number]  
math.infdb -> [-200]  
Integer, Bit Operations, provided by http://bitop.luajit.org/  
Take a look at http://bitop.luajit.org/api.html for the complete reference  
and examples please...  
bit.tobit(x) -> [number]  
bit.tohex(x [,n]) -> [string]  
bit.bnot(x) -> [number]  
bit.bor(x1 [,x2...]) -> [number]  
bit.band(x1 [,x2...]) -> [number]  
bit.bxor(x1 [,x2...]) -> [number]  
bit.lshift(x, n) -> [number]  
bit.rshift(x, n) -> [number]  
bit.arshift(x, n) -> [number]  
bit.rol(x, n) -> [number]  
bit.ror(x, n) -> [number]  
bit.bswap(x) -> [number]  
  
 >>> Renoise.API.lua <<<   
  
renoise.API_VERSION -> [number]  
renoise.RENOISE_VERSION -> [string]  
renoise.app() -> [renoise.Application object]  
renoise.song() -> [renoise.Song object]  
renoise.tool() -> [renoise.ScriptingTool object]  
  
 >>> Renoise.Application.API.lua <<<   
  
renoise.app()   
 -> [renoise.Application object]  
renoise.app():show_message(message)  
renoise.app():show_error(message)  
renoise.app():show_warning(message)  
renoise.app():show_status(message)  
renoise.app():show_prompt(title, message, {button_labels})  
 -> [pressed_button_label]  
renoise.app():show_custom_prompt(title, content_view, {button_labels} [, key_handler])  
 -> [pressed_button_label]  
renoise.app():show_custom_dialog(title, content_view [, key_handler])  
 -> [renoise.Dialog object]  
renoise.app():prompt_for_path(dialog_title)  
 -> [valid path or empty string]  
renoise.app():prompt_for_filename_to_read({file_extensions}, dialog_title)  
 -> [filename or empty string]  
renoise.app():prompt_for_multiple_filenames_to_read({file_extensions}, dialog_title)  
 -> [list of filenames or empty list]  
renoise.app():prompt_for_filename_to_write(file_extension, dialog_title)  
 -> [filename or empty string]  
renoise.app():open_url(url)  
renoise.app():open_path(file_path)  
renoise.app():new_song()  
renoise.app():new_song_no_template()  
renoise.app():load_song(filename)  
renoise.app():save_song()  
renoise.app():save_song_as(filename)  
renoise.app().log_filename  
 -> [string]  
renoise.app().current_song  
 -> [renoise.Song object]  
renoise.app().recently_loaded_song_files   
 -> [array of strings, filenames]  
renoise.app().recently_saved_song_files   
 -> [array of strings, filenames]  
renoise.app().active_clipboard_index   
 -> [number, 1-4]  
renoise.app().window   
 -> [read-only, renoise.ApplicationWindow object]  
renoise.ApplicationWindow.UPPER_FRAME_DISK_BROWSER  
renoise.ApplicationWindow.UPPER_FRAME_TRACK_SCOPES  
renoise.ApplicationWindow.UPPER_FRAME_MASTER_SCOPES  
renoise.ApplicationWindow.UPPER_FRAME_MASTER_SPECTRUM  
renoise.ApplicationWindow.MIDDLE_FRAME_PATTERN_EDITOR  
renoise.ApplicationWindow.MIDDLE_FRAME_MIXER  
renoise.ApplicationWindow.MIDDLE_FRAME_INSTRUMENT_EDITOR  
renoise.ApplicationWindow.MIDDLE_FRAME_SAMPLE_EDITOR  
renoise.ApplicationWindow.LOWER_FRAME_TRACK_DSPS  
renoise.ApplicationWindow.LOWER_FRAME_TRACK_AUTOMATION  
renoise.ApplicationWindow.LOWER_FRAME_INSTRUMENT_PROPERTIES  
renoise.ApplicationWindow.LOWER_FRAME_SONG_PROPERTIES  
renoise.app().window:maximize()  
renoise.app().window:minimize()  
renoise.app().window:restore()  
renoise.app().window:select_preset(preset_index)  
renoise.app().window.fullscreen  
 -> [boolean]  
renoise.app().window.is_maximized  
 -> [read-only, boolean]  
renoise.app().window.is_minimized  
 -> [read-only, boolean]  
renoise.app().window.lock_keyboard_focus  
 -> [boolean]  
renoise.app().window.sample_record_dialog_is_visible  
 -> [boolean]  
renoise.app().window.upper_frame_is_visible, _observable  
 -> [boolean]  
renoise.app().window.active_upper_frame, _observable  
 -> [enum = UPPER_FRAME]  
renoise.app().window.active_middle_frame, _observable  
 -> [enum = MIDDLE_FRAME]  
renoise.app().window.lower_frame_is_visible, _observable  
 -> [boolean]  
renoise.app().window.active_lower_frame, _observable  
 -> [enum = LOWER_FRAME]  
renoise.app().window.pattern_matrix_is_visible, _observable  
 -> [boolean]  
renoise.app().window.pattern_advanced_edit_is_visible, _observable  
 -> [boolean]  
  
 >>> Renoise.Document.API.lua <<<   
  
renoise.Document.create(model_name) {[table]}  
 -> [renoise.Document.DocumentNode object]  
renoise.Document.instantiate(model_name)  
 -> [renoise.Document.DocumentNode object]  
serializable:to_string()  
 -> [string]  
serializable:from_string(string)  
observable:has_notifier(function or (object, function) or (function, object))  
 -> [boolean]  
observable:add_notifier(function or (object, function) or (function, object))  
observable:remove_notifier(function or (object, function) or  
 (function, object) or (object))  
observable.value  
 -> [boolean, number or string]  
#observable_list  
 -> [Number]  
observable_list[number]  
 -> [renoise.Document.Observable object]  
observable_list:size()  
 -> [number]  
observable_list:property(index)  
 -> [nil or an renoise.Document.Observable object]  
observable_list:find([start_pos,] value)  
 -> [nil or number (the index)]  
observable_list:insert([pos,] value)  
 -> [inserted Observable object]  
observable_list:remove([pos])  
observable_list:swap(pos1, pos2)  
observable_list:has_notifier(function or (object, function) or   
 (function, object)) -> [boolean]  
observable_list:add_notifier(function or (object, function) or   
 (function, object))  
observable_list:remove_notifier(function or (object, function) or  
 (function, object) or (object))  
#doc_list  
 -> [Number]  
doc_list[number]  
 -> [renoise.Document.DocumentNode object]  
doc_list:size()  
 -> [number]  
doc_list:property(index)  
 -> [nil or renoise.Document.DocumentNode object]  
doc_list:insert([pos,] doc_object)  
 -> [inserted renoise.Document.DocumentNode object]  
doc_list:remove([pos])  
doc_list:swap(pos1, pos2)  
doc_list:has_notifier(function or (object, function) or   
 (function, object)) -> [boolean]  
doc_list:add_notifier(function or (object, function) or   
 (function, object))  
doc_list:remove_notifier(function or (object, function) or  
 (function, object) or (object))  
doc[property_name]  
 -> [nil or (Observable, ObservableList or DocumentNode, DocumentList object)]  
doc:has_property(property_name)  
 -> [boolean]  
doc:property(property_name)  
 -> [nil or (Observable, ObservableList or DocumentNode, DocumentList object)]  
doc:add_property(name, boolean_value)  
 -> [newly created ObservableBoolean object]  
doc:add_property(name, number_value)  
 -> [newly created ObservableNumber object]  
doc:add_property(name, string_value)  
 -> [newly created ObservableString object]  
doc:add_property(name, list)  
 -> [newly created ObservableList object]  
doc:add_property(name, node)  
 -> [newly created DocumentNode object]  
doc:add_property(name, node_list)  
 -> [newly created DocumentList object]  
doc:remove_property(document or observable object)  
doc:save_as(file_name)  
 -> [success, error_string or nil on success]  
doc:load_from(file_name)  
 -> [success, error_string or nil on success]  
  
 >>> Renoise.Midi.API.lua <<<   
  
renoise.Midi.available_input_devices()   
 -> [list of strings]  
renoise.Midi.available_output_devices()   
 -> [list of strings]  
renoise.Midi.devices_changed_observable()   
 -> [renoise.Observable object]  
renoise.Midi.create_input_device(device_name [,callback] [, sysex_callback])  
 -> [MidiInputDevice object]  
renoise.Midi.create_output_device(device_name)  
 -> [MidiOutputDevice object]  
midi_device.is_open   
 -> [boolean]  
midi_device.name   
 -> [string]  
midi_device:close()  
midi_device:send(message_table)  
  
 >>> Renoise.Osc.API.lua <<<   
  
renoise.Osc.from_binary_data(binary_data)  
 -> [Osc.Bundle or Osc.Message object or nil, error or nil]  
renoise.Osc.Message(pattern [, table of {tag, value} arguments])  
message.pattern  
 -> [read-only, string]  
message.arguments  
 -> [read-only, table of {tag, value} tables]  
message.binary_data  
 -> [read-only, raw string]  
renoise.Osc.Bundle(pattern, single_message_or_table_of_messages)  
bundle.timetag  
 -> [read-only, number]  
bundle.elements  
 -> [read-only, table of renoise.Osc.Message or renoise.Osc.Bundle objects]  
bundle.binary_data  
 -> [read-only, raw string]  
  
 >>> Renoise.ScriptingTool.API.lua <<<   
  
renoise.tool()   
 -> [renoise.ScriptingTool object]  
renoise.tool():has_menu_entry(menu_entry_name)  
 -> [boolean]  
renoise.tool():add_menu_entry(menu_entry_definition_table)  
renoise.tool():remove_menu_entry(menu_entry_name)  
renoise.tool():has_keybinding(keybinding_name)  
 -> [boolean]  
renoise.tool():add_keybinding(keybinding_definition_table)  
renoise.tool():remove_keybinding(keybinding_name)  
renoise.tool():has_midi_mapping(midi_mapping_name)  
 -> [boolean]  
renoise.tool():add_midi_mapping(midi_mapping_definition_table)  
renoise.tool():remove_midi_mapping(midi_mapping_name)  
renoise.tool():has_timer(function or {object, function} or {function, object})  
 -> [boolean]  
renoise.tool():add_timer(function or {object, function} or {function, object},   
 timer_interval_in_ms)  
renoise.tool():remove_timer(timer_func)  
renoise.tool().bundle_path  
 -> [read-only, string]  
renoise.tool().app_became_active_observable  
 -> [renoise.Document.Observable object]  
renoise.tool().app_resigned_active_observable  
 -> [renoise.Document.Observable object]  
renoise.tool().app_idle_observable  
 -> [renoise.Document.Observable object]  
renoise.tool().app_release_document_observable  
 -> [renoise.Document.Observable object]  
renoise.tool().app_new_document_observable  
 -> [renoise.Document.Observable object]  
renoise.tool().app_saved_document_observable  
 -> [renoise.Document.Observable object]  
renoise.tool().preferences  
 -> [renoise.Document.DocumentNode object or nil]  
  
 >>> Renoise.Socket.API.lua <<<   
  
renoise.Socket.PROTOCOL_TCP  
renoise.Socket.PROTOCOL_UDP  
renoise.Socket.create_server( [server_address,] server_port [, protocol]) ->  
 [server (SocketServer or nil), socket_error (string or nil)]  
renoise.Socket.create_client(server_address, server_port [, protocol] [, timeout]) ->  
 [client (SocketClient or nil), socket_error (string or nil)]  
socket.is_open -> [boolean]  
socket.local_address -> [string]  
socket.local_port -> [number]  
socket:close()  
socket_client.peer_address -> [string]  
socket_client.peer_port -> [number]  
socket_client:send(message) ->  
 [success (boolean), error_message (string or nil)]  
socket_client:receive(mode, timeout_ms) ->  
 [message (string or nil), error_message (string or nil)]  
server_socket.is_running -> [boolean]  
server_socket:run(notifier_table_or_call)  
server_socket:stop()  
server_socket:wait(timeout_ms)  
notifier_table = {  
 socket_error = function(error_message)  
 -- An error happened in the servers background thread.  
 end,  
 socket_accepted = function(socket)  
 -- 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.  
 end,  
 socket_message = function(socket, message)  
 -- 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  
 end  
}  
class "MyNotifier"  
 MyNotifier::__init()  
 -- could pass a server ref or something else here, or simply do nothing  
 end  
 function MyNotifier:socket_error(error_message)  
 -- An error happened in the servers background thread.  
 end  
 function MyNotifier:socket_accepted(socket)  
 -- 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.  
 end  
 function MyNotifier:socket_message(socket, message)  
 -- 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  
 end  
  
 >>> Renoise.Song.API.lua <<<   
  
renoise.song()   
 -> [renoise.Song object or nil]  
song_pos.sequence  
 -> [number]  
song_pos.line  
 -> [number]  
==(song_pos, song_pos) -> [boolean]  
~=(song_pos, song_pos) -> [boolean]  
>(song_pos, song_pos) -> [boolean]  
>=(song_pos, song_pos) -> [boolean]  
<(song_pos, song_pos) -> [boolean]  
<=(song_pos, song_pos) -> [boolean]  
renoise.song():can_undo()  
 -> [boolean]  
renoise.song():undo()  
renoise.song():can_redo()  
 -> [boolean]  
renoise.song():redo()  
renoise.song():describe_undo(description)  
renoise.song():insert_track_at(index)  
 -> [new renoise.Track object]  
renoise.song():delete_track_at(index)  
renoise.song():swap_tracks_at(index1, index2)  
renoise.song():insert_instrument_at(index)  
 -> [new renoise.Instrument object]  
renoise.song():delete_instrument_at(index)  
renoise.song():swap_instruments_at(index2, index2)  
renoise.song():capture_instrument_from_pattern()  
renoise.song():capture_nearest_instrument_from_pattern()  
renoise.song():cancel_rendering()  
renoise.song():render([options,] filename, rendering_done_callback)   
 -> [boolean, error_message]  
renoise.song().file_name  
 -> [read-only, string]  
renoise.song().artist, _observable  
 -> [string]  
renoise.song().name, _observable  
 -> [string]  
renoise.song().comments[], _observable  
 -> [array of strings]  
renoise.song().comments_assignment_observable  
 -> [renoise.Observable object]  
renoise.song().rendering  
 -> [read-only, boolean]  
renoise.song().rendering_progress  
 -> [read-only, number, 0-1.0]  
renoise.song().transport  
 -> [read-only, renoise.Transport object]  
rrenoise.song().sequencer  
 -> [read-only, renoise.PatternSequencer object]  
renoise.song().pattern_iterator  
 -> [read-only, renoise.PatternIterator object]  
renoise.song().instruments[], _observable  
 -> [read-only, array of renoise.Instrument objects]  
renoise.song().patterns[], _observable  
 -> [read-only, array of renoise.Pattern objects]  
renoise.song().tracks[], _observable  
 -> [read-only, array of renoise.Track objects]  
renoise.song().selected_instrument, _observable  
 -> [read-only, renoise.Instrument object]  
renoise.song().selected_instrument_index, _observable  
 -> [number]  
renoise.song().selected_sample, _observable  
 -> [read-only, array of renoise.Sample objects]  
renoise.song().selected_sample_index, _observable  
 -> [number]  
renoise.song().selected_track, _observable  
 -> [read-only, renoise.Track object]  
renoise.song().selected_track_index, _observable  
 -> [number]  
renoise.song().selected_device, _observable  
 -> [read-only, renoise.TrackDevice object or nil]  
renoise.song().selected_device_index, _observable  
 -> [number or 0 (when no device is selected)]  
renoise.song().selected_parameter, _observable  
 -> [read-only, renoise.DeviceParameter or nil]  
renoise.song().selected_parameter_index, _observable  
 -> [read-only, number or 0 (when no parameter is selected)]  
renoise.song().selected_pattern, _observable  
 -> [read-only, renoise.Pattern object]  
renoise.song().selected_pattern_track, _observable  
 -> [read-only, renoise.PatternTrack object]  
renoise.song().selected_pattern_index, _observable  
 -> [number]  
renoise.song().selected_sequence_index, _observable  
 -> [number]  
renoise.song().selected_line  
 -> [read-only, renoise.PatternTrackLine object]  
renoise.song().selected_line_index  
 -> [number]  
renoise.song().selected_note_column, TODO: _observable  
 -> [read-only, renoise.NoteColumn object or nil], [renoise.Line object or nil]  
renoise.song().selected_note_column_index  
 -> [number or nil (when an effect column is selected)]  
renoise.song().selected_effect_column, TODO: _observable  
 -> [read-only, renoise.EffectColumn or nil], [renoise.Line object or nil]  
renoise.song().selected_effect_column_index  
 -> [number or nil (when a note column is selected)]  
renoise.Transport.PLAYMODE_RESTART_PATTERN  
renoise.Transport.PLAYMODE_CONTINUE_PATTERN  
renoise.Transport.RECORD_PARAMETER_MODE_PATTERN  
renoise.Transport.RECORD_PARAMETER_MODE_AUTOMATION  
renoise.song().transport:panic()  
renoise.song().transport:start(mode)  
renoise.song().transport:start_at(line)  
renoise.song().transport:stop()  
renoise.song().transport:trigger_sequence(sequence_pos)  
renoise.song().transport:add_scheduled_sequence(sequence_pos)  
renoise.song().transport:set_scheduled_sequence(sequence_pos)  
renoise.song().transport:loop_block_move_forwards()  
renoise.song().transport:loop_block_move_backwards()  
renoise.song().transport:start_stop_sample_recording()  
renoise.song().transport:cancel_sample_recording()  
renoise.song().transport.playing, _observable  
 -> [boolean]  
renoise.song().transport.bpm, _observable  
 -> [number, 32-999]  
renoise.song().transport.lpb, _observable  
 -> [number, 1-256]  
renoise.song().transport.tpl, _observable  
 -> [number, 1-16]  
renoise.song().transport.playback_pos  
 -> [renoise.SongPos object]  
renoise.song().transport.playback_pos_beats  
 -> [float, 0-song_end_beats]  
renoise.song().transport.edit_pos  
 -> [renoise.SongPos object]  
renoise.song().transport.edit_pos_beats  
 -> [float, 0-sequence_length]  
renoise.song().transport.song_length  
 -> [read-only, SongPos]  
renoise.song().transport.song_length_beats  
 -> [read-only, float]  
renoise.song().transport.loop_start  
 -> [read-only, SongPos]  
renoise.song().transport.loop_end  
 -> [read-only, SongPos]  
renoise.song().transport.loop_range  
 -> [array of two renoise.SongPos objects]  
renoise.song().transport.loop_start_beats  
 -> [read-only, float within 0 - song_end_beats]  
renoise.song().transport.loop_end_beats  
 -> [read-only, float within 0 - song_end_beats]  
renoise.song().transport.loop_range_beats  
 -> [array of two floats within 0 - song_end_beats]  
renoise.song().transport.loop_sequence_start  
 -> [read-only, 0 or 1 - sequence_length]  
renoise.song().transport.loop_sequence_end  
 -> [read-only, 0 or 1 - sequence_length]  
renoise.song().transport.loop_sequence_range   
 -> [array of two numbers, 0 or 1-sequence_length or empty array to disable]  
renoise.song().transport.loop_pattern, _observable  
 -> [boolean]  
renoise.song().transport.loop_block_enabled  
 -> [boolean]  
renoise.song().transport.loop_block_start_pos  
 -> [read-only, renoise.SongPos object]  
renoise.song().transport.loop_block_range_coeff  
 -> [number, 2-16]  
renoise.song().transport.edit_mode, _observable  
 -> [boolean]  
renoise.song().transport.edit_step, _observable  
 -> [number, 0-64]  
renoise.song().transport.octave, _observable  
 -> [number, 0-8]  
renoise.song().transport.metronome_enabled, _observable  
 -> [boolean]  
renoise.song().transport.metronome_beats_per_bar, _observable  
 -> [1 - 16]  
renoise.song().transport.metronome_lines_per_beat, _observable  
 -> [number, 1 - 256 or 0 = current LPB]  
renoise.song().transport.chord_mode_enabled, _observable  
 -> [boolean]  
renoise.song().transport.record_quantize_enabled, _observable  
 -> [boolean]  
renoise.song().transport.record_quantize_lines, _observable  
 -> [number, 1 - 32]  
renoise.song().transport.record_parameter_mode, _observable  
 -> [enum = RECORD_PARAMETER_MODE]  
renoise.song().transport.follow_player, _observable  
 -> [boolean]  
renoise.song().transport.wrapped_pattern_edit, _observable  
 -> [boolean]  
renoise.song().transport.single_track_edit_mode, _observable  
 -> [boolean]  
renoise.song().transport.shuffle_enabled, _observable  
 -> [boolean]  
renoise.song().transport.shuffle_amounts[]  
 -> [array of floats, 0.0 - 1.0]  
renoise.song().transport.shuffle_assignment_observable  
 -> [renoise.Observable object]  
renoise.song().sequencer.insert_sequence_at(sequence_pos, pattern_index)  
renoise.song().sequencer.delete_sequence_at(sequence_pos)  
renoise.song().sequencer:insert_new_pattern_at(sequence_pos)  
 -> [new pattern_index]  
renoise.song().sequencer:clone_range(from_sequence_pos, to_sequence_pos)  
renoise.song().sequencer:make_range_unique(from_sequence_pos, to_sequence_pos)  
renoise.song().sequencer:track_sequence_slot_is_muted(track_index, sequence_index)  
 -> [boolean]  
renoise.song().sequencer:set_track_sequence_slot_is_muted(  
 track_index, sequence_index, muted)  
renoise.song().sequencer.pattern_sequence[], _observable  
 -> [array of numbers]  
renoise.song().sequencer.pattern_assignments_observable  
 -> [renoise.Observable object]  
renoise.song().sequencer.pattern_slot_mutes_observable  
 -> [renoise.Observable object]  
renoise.song().pattern_iterator:lines_in_song(boolean visible_patterns_only)  
 -> [iterator with pos, line (renoise.PatternTrackLine object)]  
renoise.song().pattern_iterator:note_columns_in_song(boolean visible_only)  
 -> [iterator with pos, column (renoise.NoteColumn object)]  
renoise.song():pattern_iterator:effect_columns_in_song(boolean visible_only)  
 -> [iterator with pos, column (renoise.EffectColumn object)]  
renoise.song().pattern_iterator:lines_in_pattern(pattern_index)  
 -> [iterator with pos, line (renoise.PatternTrackLine object)]  
renoise.song().pattern_iterator:note_columns_in_pattern(  
 pattern_index, boolean visible_only)  
 -> [iterator with pos, column (renoise.NoteColumn object)]  
renoise.song().pattern_iterator:effect_columns_in_pattern(  
 pattern_index, boolean visible_only)  
 -> [iterator with pos, column (renoise.EffectColumn object)]  
renoise.song().pattern_iterator:lines_in_track(  
 track_index, boolean visible_patterns_only)  
 -> [iterator with pos, column (renoise.PatternTrackLine object)]  
renoise.song().pattern_iterator:note_columns_in_track(  
 track_index, boolean visible_only)  
 -> [iterator with pos, line (renoise.NoteColumn object)]  
renoise.song().pattern_iterator:effect_columns_in_track(  
 track_index, boolean visible_only)  
 -> [iterator with pos, column (renoise.EffectColumn object)]  
renoise.song().pattern_iterator:lines_in_pattern_track(  
 pattern_index, track_index)  
 -> [iterator with pos, column (renoise.PatternTrackLine object)]  
renoise.song().pattern_iterator:note_columns_in_pattern_track(  
 pattern_index, track_index, boolean visible_only)  
 -> [iterator with pos, line (renoise.NoteColumn object)]  
renoise.song().pattern_iterator:effect_columns_in_pattern_track(  
 pattern_index, track_index, boolean visible_only)  
 -> [iterator with pos, column (renoise.EffectColumn object)]  
renoise.Track.TRACK_TYPE_SEQUENCER  
renoise.Track.TRACK_TYPE_MASTER  
renoise.Track.TRACK_TYPE_SEND  
renoise.Track.MUTE_STATE_ACTIVE  
renoise.Track.MUTE_STATE_OFF  
renoise.Track.MUTE_STATE_MUTED  
renoise.song().tracks[]:insert_device_at(device_name, device_index)  
 -> [newly created renoise.TrackDevice object]  
renoise.song().tracks[]:delete_device_at(device_index)  
renoise.song().tracks[]:swap_devices_at(device_index1, device_index2)  
renoise.song().tracks[]:mute()  
renoise.song().tracks[]:unmute()  
renoise.song().tracks[]:solo()  
renoise.song().tracks[]:column_is_muted(column)  
 -> [boolean]  
renoise.song().tracks[]:column_is_muted_observable(column)  
 -> [Observable object]  
renoise.song().tracks[]:mute_column(column, muted)  
renoise.song().tracks[].type  
 -> [enum = TRACK_TYPE]  
renoise.song().tracks[].name, _observable  
 -> [string]  
renoise.song().tracks[].color, _observable   
 -> [table with 3 numbers (0-0xFF), RGB]  
 -- !Not available for the master track!  
renoise.song().tracks[].mute_state, _observable  
 -> [enum = MUTE_STATE]  
renoise.song().tracks[].solo_state, _observable   
 -> [boolean]  
renoise.song().tracks[].prefx_volume  
 -> [renoise.DeviceParameter object]  
renoise.song().tracks[].prefx_panning  
 -> [renoise.DeviceParameter object]  
renoise.song().tracks[].prefx_width  
 -> [renoise.DeviceParameter object]  
renoise.song().tracks[].postfx_volume  
 -> [renoise.DeviceParameter object]  
renoise.song().tracks[].postfx_panning  
 -> [renoise.DeviceParameter object]  
renoise.song().tracks[].available_output_routings[]  
 -> [read-only, array of strings]  
renoise.song().tracks[].output_routing, _observable  
 -> [number, 1 - #available_output_routings]  
renoise.song().tracks[].output_delay, _observable  
 -> [float, -100.0 - 100.0]  
renoise.song().tracks[].max_effect_columns  
 -> [read-only, number, 4 OR 0, depending on the track type]  
renoise.song().tracks[].min_effect_columns  
 -> [read-only, number, 1 OR 0, depending on the track type]  
renoise.song().tracks[].max_note_columns  
 -> [read-only, number, 12 OR 0, depending on the track type]  
renoise.song().tracks[].min_note_columns  
 -> [read-only, number, 1 OR 0, depending on the track type]  
renoise.song().tracks[].visible_effect_columns, _observable  
 -> [number, 1-4 OR 0-4, depending on the track type]  
renoise.song().tracks[].visible_note_columns, _observable  
 -> [number, 0 OR 1-12, depending on the track type]  
renoise.song().tracks[].volume_column_visible, _observable  
 -> [boolean]  
renoise.song().tracks[].panning_column_visible, _observable  
 -> [boolean]  
renoise.song().tracks[].delay_column_visible, _observable  
 -> [boolean]  
renoise.song().tracks[].available_devices[]  
 -> [read-only, array of strings]  
renoise.song().tracks[].devices[], _observable  
 -> [read-only, array of renoise.TrackDevice objects]  
renoise.song().tracks[].devices[].name  
 -> [read-only, string]  
renoise.song().tracks[].devices[].is_active, _observable  
 -> [boolean, not active = 'bypassed']  
renoise.song().tracks[].devices[].is_maximized, _observable  
 -> [boolean]  
renoise.song().tracks[].devices[].active_preset, _observable   
 -> [number, 0 when none is active or available]  
renoise.song().tracks[].devices[].presets[]   
 -> [read-only, list of strings]  
renoise.song().tracks[].devices[].parameters[]  
 -> [read-only, array of renoise.DeviceParameter objects]  
renoise.song().tracks[].devices[].external_editor_available  
 -> [read-only, boolean]  
renoise.song().tracks[].devices[].external_editor_visible  
 -> [boolean, set to true to show the editor, false to close it]  
renoise.DeviceParameter.POLARITY_UNIPOLAR  
renoise.DeviceParameter.POLARITY_BIPOLAR  
renoise.song().tracks[].devices[].parameters[].record_value(value)  
renoise.song().tracks[].devices[].parameters[].name  
 -> [read-only, string]  
renoise.song().tracks[].devices[].parameters[].polarity  
 -> [read-only, enum=POLARITY]  
renoise.song().tracks[].devices[].parameters[].value_min  
 -> [read-only, float]  
renoise.song().tracks[].devices[].parameters[].value_max  
 -> [read-only, float]  
renoise.song().tracks[].devices[].parameters[].value_quantum  
 -> [read-only, float]  
renoise.song().tracks[].devices[].parameters[].value_default  
 -> [read-only, float]  
renoise.song().tracks[].devices[].parameters[].is_automatable  
 -> [read-only, boolean]  
renoise.song().tracks[].devices[].parameters[].is_automated, _observable  
 -> [read-only, boolean]  
renoise.song().tracks[].devices[].parameters[].show_in_mixer, _observable  
 -> [boolean]  
renoise.song().tracks[].devices[].parameters[].value, _observable  
 -> [float]  
renoise.song().tracks[].devices[].parameters[].value_string, _observable  
 -> [string]  
renoise.song().instruments[]:clear()  
renoise.song().instruments[]:copy_from(other_instrument object)  
renoise.song().instruments[]:insert_sample_at(index)  
 -> [new renoise.Sample object]  
renoise.song().instruments[]:delete_sample_at(index)  
renoise.song().instruments[]:swap_samples_at(index1, index2)  
renoise.song().instruments[].name, _observable   
 -> [string]  
renoise.song().instruments[].split_map[]  
 -> [array of 120 numbers]  
renoise.song().instruments[].split_map_assignment_observable  
 -> [renoise.Observable object]  
renoise.song().instruments[].midi_properties  
 -> [renoise.InstrumentMidiProperties object]  
renoise.song().instruments[].plugin_properties   
 -> [renoise.InstrumentPluginProperties object]  
renoise.song().instruments[].samples[], _observable  
 -> [read-only, array of renoise.Sample objects]  
renoise.Instrument.MidiProperties.TYPE_EXTERNAL  
renoise.Instrument.MidiProperties.TYPE_LINE_IN_RET  
renoise.Instrument.MidiProperties.TYPE_INTERNAL -- REWIRE  
renoise.song().instruments[].midi_properties.instrument_type, _observable  
 -> [Enum=TYPE_XXX]  
renoise.song().instruments[].midi_properties.device_name, _observable  
 -> [string]  
renoise.song().instruments[].midi_properties.midi_channel, _observable  
 -> [number, 1 - 16]  
renoise.song().instruments[].midi_properties.midi_base_note, _observable  
 -> [number, 0 - 119, C-4=48]  
renoise.song().instruments[].midi_properties.midi_program, _observable  
 -> [number, 1 - 128, 0 = OFF]  
renoise.song().instruments[].midi_properties.midi_bank, _observable  
 -> [number, 1 - 65536, 0 = OFF]  
renoise.song().instruments[].midi_properties.delay, _observable  
 -> [number, 0 - 100]  
renoise.song().instruments[].midi_properties.duration, _observable  
 -> [number, 1 - 8000, 8000 = INF]  
renoise.song().instruments[].plugin_properties:load_plugin(plugin_name)  
 -> [boolean, success]  
renoise.song().instruments[].plugin_properties.available_plugins[]  
 -> [read_only, list of strings]  
renoise.song().instruments[].plugin_properties.plugin_name  
 -> [read_only, string]  
renoise.song().instruments[].plugin_properties.plugin_loaded  
 -> [read-only, boolean]  
renoise.song().instruments[].plugin_properties.plugin_device  
 -> [renoise.InstrumentDevice object or renoise.TrackDevice object or nil]  
renoise.song().instruments[].plugin_properties.alias_instrument_index  
 -> [read-only, number or 0 (when no alias instrument is set)]  
renoise.song().instruments[].plugin_properties.alias_fx_track_index  
 -> [read-only, number or 0 (when no alias FX is set)]  
renoise.song().instruments[].plugin_properties.alias_fx_device_index  
 -> [read-only, number or 0 (when no alias FX is set)]  
renoise.song().instruments[].plugin_properties.midi_channel, _observable   
 -> [number, 1 - 16]  
renoise.song().instruments[].plugin_properties.midi_base_note, _observable   
 -> [number, 0 - 119, C-4=48]  
renoise.song().instruments[].plugin_properties.volume, _observable  
 -> [number, linear gain, 0 - 4]  
renoise.song().instruments[].plugin_properties.auto_suspend, _observable   
 -> [boolean]  
renoise.song().instruments[].plugin_properties.plugin_device.name  
 -> [read-only, string]  
renoise.song().instruments[].plugin_properties.plugin_device.active_preset, _observable   
 -> [number, 0 when none is active or available]  
renoise.song().instruments[].plugin_properties.plugin_device.presets[]   
 -> [read-only, list of strings]  
renoise.song().instruments[].plugin_properties.plugin_device.parameters[]  
 -> [read-only, list of renoise.DeviceParameter objects]  
renoise.song().instruments[].plugin_properties.plugin_device.external_editor_available  
 -> [read-only, boolean]  
renoise.song().instruments[].plugin_properties.plugin_device.external_editor_visible  
 -> [boolean, set to true to show the editor, false to close it]  
renoise.Sample.INTERPOLATE_NONE  
renoise.Sample.INTERPOLATE_LINEAR  
renoise.Sample.INTERPOLATE_CUBIC  
renoise.Sample.NEW_NOTE_ACTION_NOTE_CUT  
renoise.Sample.NEW_NOTE_ACTION_NOTE_OFF  
renoise.Sample.NEW_NOTE_ACTION_SUSTAIN  
renoise.Sample.LOOP_MODE_OFF  
renoise.Sample.LOOP_MODE_FORWARD  
renoise.Sample.LOOP_MODE_REVERSE  
renoise.Sample.LOOP_MODE_PING_PONG  
renoise.song().instruments[].samples[]:clear()  
renoise.song().instruments[].samples[]:copy_from(other_sample object)  
renoise.song().instruments[].samples[].name, _observable  
 -> [string]  
renoise.song().instruments[].samples[].panning, _observable  
 -> [float, 0.0 - 1.0]  
renoise.song().instruments[].samples[].volume, _observable  
 -> [float, 0.0 - 4.0]  
renoise.song().instruments[].samples[].base_note, _observable  
 -> [number, 0 - 119 with 48 = 'C-4']  
renoise.song().instruments[].samples[].fine_tune, _observable  
 -> [number, -127 - 127]  
renoise.song().instruments[].samples[].beat_sync_enabled, _observable  
 -> [boolean]  
renoise.song().instruments[].samples[].beat_sync_lines, _observable  
 -> [number, 0-512]  
renoise.song().instruments[].samples[].interpolation_mode, _observable  
 -> [enum = INTERPOLATE]  
renoise.song().instruments[].samples[].new_note_action, _observable  
 -> [enum = NEW_NOTE_ACTION]  
renoise.song().instruments[].samples[].autoseek, _observable  
 -> [boolean]  
renoise.song().instruments[].samples[].loop_mode, _observable  
 -> [enum = LOOP_MODE]  
renoise.song().instruments[].samples[].loop_start, _observable  
 -> [number, 1 - num_sample_frames]  
renoise.song().instruments[].samples[].loop_end, _observable  
 -> [number, 1 - num_sample_frames]  
renoise.song().instruments[].samples[].sample_buffer, _observable  
 -> [read-only, renoise.SampleBuffer object]  
renoise.song().instruments[].samples[].sample_buffer.create_sample_data(  
 sample_rate, bit_depth, num_channels, num_frames)   
 -> [boolean - success]  
renoise.song().instruments[].samples[].sample_buffer.delete_sample_data()  
renoise.song().instruments[].samples[].sample_buffer.sample_data(  
 channel_index, frame_index)  
 -> [float -1 - 1]  
renoise.song().instruments[].samples[].sample_buffer.set_sample_data(  
 channel_index, frame_index, sample_value)  
renoise.song().instruments[].samples[].sample_buffer.prepare_sample_data_changes()  
renoise.song().instruments[].samples[].sample_buffer.finalize_sample_data_changes()  
renoise.song().instruments[].samples[].sample_buffer.load_from(filename)  
 -> [boolean - success]  
renoise.song().instruments[].samples[].sample_buffer.save_as(filename, format)  
 -> [boolean - success]  
renoise.song().instruments[].samples[].sample_buffer.has_sample_data  
 -> [read-only, boolean]  
renoise.song().instruments[].samples[].sample_buffer.sample_rate  
 -> [read-only, number]  
renoise.song().instruments[].samples[].sample_buffer.bit_depth  
 -> [read-only, number]  
renoise.song().instruments[].samples[].sample_buffer.number_of_channels  
 -> [read-only, number]  
renoise.song().instruments[].samples[].sample_buffer.number_of_frames  
 -> [read-only, number]  
renoise.song().instruments[].samples[].sample_buffer.selection_start  
 -> [number >= 1 <= number_of_frames]  
renoise.song().instruments[].samples[].sample_buffer.selection_end  
 -> [number >= 1 <= number_of_frames]  
renoise.song().instruments[].samples[].sample_buffer.selection_range  
 -> [array of two numbers, >= 1 <= number_of_frames]  
renoise.Pattern.MAX_NUMBER_OF_LINES  
renoise.song().patterns[]:clear()  
renoise.song().patterns[].copy_from(other_pattern object)  
renoise.song().patterns[]:has_line_notifier(func[, obj])  
 -> [boolean]  
renoise.song().patterns[]:add_line_notifier(func[, obj])  
renoise.song().patterns[]:remove_line_notifier(func[, obj])  
renoise.song().patterns[].is_empty   
 -> [read-only, boolean]  
renoise.song().patterns[].name, _observable   
 -> [string]  
renoise.song().patterns[].number_of_lines, _observable   
 -> [number]  
renoise.song().patterns[].tracks[]   
 -> [read-only, array of renoise.PatternTrack]  
==(Pattern object, Pattern object) -> [boolean]  
~=(Pattern object, Pattern object) -> [boolean]  
renoise.song().patterns[].tracks[]:clear()  
renoise.song().patterns[].tracks[]:copy_from(other_pattern_track object)  
renoise.song().patterns[].tracks[]:line(index)   
 -> [renoise.PatternTrackLine]  
renoise.song().patterns[].tracks[]:lines_in_range(index_from, index_to)   
 -> [array of renoise.PatternTrackLine]  
renoise.song().patterns[].tracks[]:find_automation(parameter)  
 -> [renoise.PatternTrackAutomation or nil]  
renoise.song().patterns[].tracks[]:create_automation(parameter)  
 -> [renoise.PatternTrackAutomation object]  
renoise.song().patterns[].tracks[]:delete_automation(parameter)  
renoise.song().patterns[].tracks[].color, _observable   
 -> [table with 3 numbers (0-0xFF, RGB) or nil when no custom slot color is set]  
renoise.song().patterns[].tracks[].is_empty, _observable   
 -> [read-only, boolean]  
renoise.song().patterns[].tracks[].lines[]   
 -> [read-only, array of renoise.PatternTrackLine objects]  
renoise.song().patterns[].tracks[].automation[], _observable   
 -> [read-only, list of renoise.PatternTrackAutomation]  
==(PatternTrack object, PatternTrack object) -> [boolean]  
~=(PatternTrack object, PatternTrack object) -> [boolean]  
renoise.PatternTrackAutomation.PLAYMODE_POINTS  
renoise.PatternTrackAutomation.PLAYMODE_LINEAR  
renoise.PatternTrackAutomation.PLAYMODE_CUBIC  
renoise.song().patterns[].tracks[].automation[].dest_device   
 -> [renoise.TrackDevice]  
renoise.song().patterns[].tracks[].automation[].dest_parameter   
 -> [renoise.DeviceParameter]  
renoise.song().patterns[].tracks[].automation[].playmode, _observable  
 -> [enum PLAYMODE]  
renoise.song().patterns[].tracks[].automation[].length  
 -> [number]  
renoise.song().patterns[].tracks[].automation[].points, _observable  
 -> [list of {time, value} tables]  
renoise.song().patterns[].tracks[].automation[].points[].time  
 -> [number, 1 - NUM_LINES_IN_PATTERN]  
renoise.song().patterns[].tracks[].automation[].points[].value  
 -> [number, 0 - 1.0]  
renoise.song().patterns[].tracks[].automation[]:clear()  
renoise.song().patterns[].tracks[].automation[]:copy_from()  
renoise.song().patterns[].tracks[].automation[]:has_point_at(time)  
 -> [boolean]  
renoise.song().patterns[].tracks[].automation[]:add_point_at(time, value)  
renoise.song().patterns[].tracks[].automation[]:remove_point_at(time)  
==(PatternTrackAutomation object, PatternTrackAutomation object) -> [boolean]  
~=(PatternTrackAutomation object, PatternTrackAutomation object) -> [boolean]  
renoise.PatternTrackLine.EMPTY_NOTE  
renoise.PatternTrackLine.NOTE_OFF  
renoise.PatternTrackLine.EMPTY_INSTRUMENT  
renoise.PatternTrackLine.EMPTY_VOLUME  
renoise.PatternTrackLine.EMPTY_PANNING  
renoise.PatternTrackLine.EMPTY_DELAY  
renoise.PatternTrackLine.EMPTY_EFFECT_NUMBER  
renoise.PatternTrackLine.EMPTY_EFFECT_AMOUNT  
renoise.song().patterns[].tracks[].lines[]:clear()  
renoise.song().patterns[].tracks[].lines[]:copy_from(other_line object)  
renoise.song().patterns[].tracks[].lines[].is_empty   
 -> [boolean]  
renoise.song().patterns[].tracks[].lines[].note_columns   
 -> [read-only, array of renoise.NoteColumn objects]  
renoise.song().patterns[].tracks[].lines[].effect_columns   
 -> [read-only, array of renoise.EffectColumn objects]  
==(PatternTrackLine object, PatternTrackLine object) -> [boolean]  
~=(PatternTrackLine object, PatternTrackLine object) -> [boolean]  
tostring(Pattern object) -> [string]  
renoise.song().patterns[].tracks[].lines[].note_columns[]:clear()  
renoise.song().patterns[].tracks[].lines[].note_columns[]:copy_from(  
 other_column object)  
renoise.song().patterns[].tracks[].lines[].note_columns[].is_empty   
 -> [read-only, boolean]  
renoise.song().patterns[].tracks[].lines[].note_columns[].is_selected   
 -> [read-only, boolean]  
renoise.song().patterns[].tracks[].lines[].note_columns[].note_value   
 -> [number, 0-119, 120=Off, 121=Empty]  
renoise.song().patterns[].tracks[].lines[].note_columns[].note_string   
 -> [string, 'C-0' - 'G-9', 'OFF' or '---']  
renoise.song().patterns[].tracks[].lines[].note_columns[].instrument_value   
 -> [number, 0-254, 255==Empty]  
renoise.song()patterns[].tracks[].lines[].note_columns[].instrument_string   
 -> [string, '00' - 'FE' or '..']  
renoise.song()patterns[].tracks[].lines[].note_columns[].volume_value   
 -> [number, 0-254, 255==Empty]  
renoise.song().patterns[].tracks[].lines[].note_columns[].volume_string   
 -> [string, '00' - 'FE' or '..']  
renoise.song().patterns[].tracks[].lines[].note_columns[].panning_value   
 -> [number, 0-254, 255==Empty]  
renoise.song().patterns[].tracks[].lines[].note_columns[].panning_string   
 -> [string, '00' - 'FE' or '..']  
renoise.song().patterns[].tracks[].lines[].note_columns[].delay_value   
 -> [number, 0-255]  
renoise.song().patterns[].tracks[].lines[].note_columns[].delay_string   
 -> [string, '00' - 'FF' or '..']  
==(NoteColumn object, NoteColumn object) -> [boolean]  
~=(NoteColumn object, NoteColumn object) -> [boolean]  
tostring(Pattern object) -> [string]  
renoise.song().patterns[].tracks[].lines[].effect_columns[]:clear()  
renoise.song().patterns[].tracks[].lines[].effect_columns[]:copy_from(other_column object)  
renoise.song().patterns[].tracks[].lines[].effect_columns[].is_empty   
 -> [read-only, boolean]  
renoise.song().patterns[].tracks[].lines[].effect_columns[].is_selected   
 -> [read-only, boolean]  
renoise.song().patterns[].tracks[].lines[].effect_columns[].number_value   
 -> [number, 0-255]  
renoise.song().patterns[].tracks[].lines[].effect_columns[].number_string   
 -> [string, '00' - 'FF']  
renoise.song().patterns[].tracks[].lines[].effect_columns[].amount_value   
 -> number, 0-255]  
renoise.song().patterns[].tracks[].lines[].effect_columns[].amount_string   
 -> [string, '00' - 'FF']  
==(EffectColumn object, EffectColumn object) -> [boolean]  
~=(EffectColumn object, EffectColumn object) -> [boolean]  
tostring(Pattern object) -> [string]  
  
 >>> Renoise.ViewBuilder.API.lua <<<   
  
xypad:add_notifier(function or {object, function} or {object, function})  
xypad:remove_notifier(function or {object, function} or {object, function})  
xypad.min   
 -> [{x=Number,y=Number}]  
xypad.max   
 -> [{x=Number,y=Number}]  
xypad.value  
 -> [{x=Number,y=Number}]  
xypad.snapback  
 -> [{x=Number,y=Number}]  
xypad.notifier   
 -> [function(value={x=Number,y=Number})]  
xypad.bind  
 -> [{x=ObservableNumber Object, y=ObservableNumber Object}]  
dialog:show()  
dialog:close()  
dialog.visible   
 -> [read-only, boolean]  
renoise.ViewBuilder.DEFAULT_CONTROL_MARGIN  
renoise.ViewBuilder.DEFAULT_CONTROL_SPACING  
renoise.ViewBuilder.DEFAULT_CONTROL_HEIGHT  
renoise.ViewBuilder.DEFAULT_MINI_CONTROL_HEIGHT  
renoise.ViewBuilder.DEFAULT_DIALOG_MARGIN  
renoise.ViewBuilder.DEFAULT_DIALOG_SPACING  
renoise.ViewBuilder.DEFAULT_DIALOG_BUTTON_HEIGHT  
vb:column { Rack Properties and/or child views }  
 -> [Rack object]  
vb:row { Rack Properties and/or child views }  
 -> [Rack object]  
vb:horizontal_aligner { Aligner Properties and/or child views }  
 -> [Aligner object]  
vb:vertical_aligner { Aligner Properties and/or child views }  
 -> [Aligner object]  
vb:space { View Properties and/or child views }  
 -> [View object]  
vb:text { Text Properties }  
 -> [Text object]  
vb:multiline_text { MultiLineText Properties }  
 -> [MultilineText object]  
vb:textfield { TextField Properties }  
 -> [TextField object]  
vb:bitmap { Bitmap Properties }  
 -> [Bitmap object]  
vb:button { Button Properties }  
 -> [Button object]  
vb:checkbox { Rack Properties }  
 -> [CheckBox object]  
vb:switch { Switch Properties }  
 -> [Switch object]  
vb:popup { Popup Properties }  
 -> [Popup object]  
vb:chooser { Chooser Properties }  
 -> [Chooser object]  
vb:valuebox { ValueBox Properties }  
 -> [ValueBox object]  
vb:value { Value Properties }  
 -> [Value object]  
vb:valuefield { ValueField Properties }  
 -> [ValueField object]  
vb:slider { Slider Properties }  
 -> [Slider object]  
vb:minislider { MiniSlider Properties }  
 -> [MiniSlider object]  
vb:rotary { RotaryEncoder Properties }  
 -> [RotaryEncoder object]  
vb:xypad { XYPad Properties }   
 -> [XYPad object]  
vb.views   
 -> [table of views, which got registered via the "id" property]  

EDIT: The script could be improved, but it’s a start.

Cheers.


(Moonriders) #4

@ConnorBW,
I previously had many issues finding what I was looking for. Would forget which doc the info I needed was located, as I would have many many tabs open in the editor at any given time. While not only looking through the docs and snippets, but also other tools to see how things were working, along with a several variations of what I was working on too. All this while also having a browser open to the xrnx tools repo, (little easier on the eyes) and notepad++ or textedit for those things I am not able to readily accomplish in the scripting editor.

So this is just perfect, since most of it speaks for itself it is very helpful, and to many, Thank-you very much.


(Conner_Bw) #5

Something better now.

The code: Click me.

The results:

aligner.margin  
aligner.mode  
aligner.spacing  
bit.arshift(x, n)  
bit.band(x1 [,x2...])  
bit.bnot(x)  
bit.bor(x1 [,x2...])  
bit.bswap(x)  
bit.bxor(x1 [,x2...])  
bit.lshift(x, n)  
bit.rol(x, n)  
bit.ror(x, n)  
bit.rshift(x, n)  
bit.tobit(x)  
bit.tohex(x [,n])  
bitmapview.bitmap  
bitmapview.mode  
bitmapview.notifier  
bitmapview:add_notifier(function or {object, function} or {object, function})  
bitmapview:remove_notifier(function or {object, function} or {object, function})  
bundle.binary_data  
bundle.elements  
bundle.timetag  
button.bitmap  
button.color  
button.notifier  
button.pressed  
button.released  
button.text  
button:add_pressed_notifier(function or {object, function} or {object, function})  
button:add_released_notifier(function or {object, function} or {object, function})  
button:remove_pressed_notifier(function or {object, function} or {object, function})  
button:remove_released_notifier(function or {object, function} or {object, function})  
checkbox.bind  
checkbox.notifier  
checkbox.value  
checkbox:add_notifier(function or {object, function} or {object, function})  
checkbox:remove_notifier(function or {object, function} or {object, function})  
chooser.bind  
chooser.items  
chooser.notifier  
chooser.value  
chooser:add_notifier(function or {object, function} or {object, function})  
chooser:remove_notifier(function or {object, function} or {object, function})  
control.active  
control.midi_mapping  
debug.start()  
debug.stop()  
dialog.visible  
dialog:close()  
dialog:show()  
doc:add_property(name, boolean_value)  
doc:add_property(name, list)  
doc:add_property(name, node)  
doc:add_property(name, node_list)  
doc:add_property(name, number_value)  
doc:add_property(name, string_value)  
doc:has_property(property_name)  
doc:load_from(file_name)  
doc:property(property_name)  
doc:remove_property(document or observable object)  
doc:save_as(file_name)  
doc[property_name]  
doc_list:add_notifier(function or (object, function) or(function, object))  
doc_list:has_notifier(function or (object, function) or(function, object))  
doc_list:insert([pos,] doc_object)  
doc_list:property(index)  
doc_list:remove([pos])  
doc_list:remove_notifier(function or (object, function) or(function, object) or (object))  
doc_list:size()  
doc_list:swap(pos1, pos2)  
doc_list[number]  
io.chmod(filename, mode)  
io.exists(filename)  
io.stat(filename)  
math.db2lin(number)  
math.infdb  
math.lin2db(number)  
message.arguments  
message.binary_data  
message.pattern  
midi_device.is_open  
midi_device.name  
midi_device:close()  
midi_device:send(message_table)  
multiline_text.font  
multiline_text.paragraphs  
multiline_text.style  
multiline_text.text  
multiline_text:add_line(text)  
multiline_text:clear()  
multiline_text:scroll_to_first_line()  
multiline_text:scroll_to_last_line()  
multiline_textfield.bind  
multiline_textfield.font  
multiline_textfield.notifier  
multiline_textfield.paragraphs  
multiline_textfield.style  
multiline_textfield.text  
multiline_textfield.value  
multiline_textfield:add_line(text)  
multiline_textfield:add_notifier(function or {object, function} or {object, function})  
multiline_textfield:clear()  
multiline_textfield:remove_notifier(function or {object, function} or {object, function})  
multiline_textfield:scroll_to_first_line()  
multiline_textfield:scroll_to_last_line()  
objinfo(class_object)  
observable.value  
observable:add_notifier(function or (object, function) or (function, object))  
observable:has_notifier(function or (object, function) or (function, object))  
observable:remove_notifier(function or (object, function) or(function, object) or (object))  
observable_list:add_notifier(function or (object, function) or(function, object))  
observable_list:find([start_pos,] value)  
observable_list:has_notifier(function or (object, function) or(function, object))  
observable_list:insert([pos,] value)  
observable_list:property(index)  
observable_list:remove([pos])  
observable_list:remove_notifier(function or (object, function) or(function, object) or (object))  
observable_list:size()  
observable_list:swap(pos1, pos2)  
observable_list[number]  
oprint(table)  
os.clock()  
os.currentdir()  
os.dirnames(path)  
os.exit()  
os.filenames(path [, {file_extensions}])  
os.mkdir(path)  
os.platform()  
os.tmpname([extension])  
popup.bind  
popup.items  
popup.notifier  
popup.value  
popup:add_notifier(function or {object, function} or {object, function})  
popup:remove_notifier(function or {object, function} or {object, function})  
rack.margin  
rack.spacing  
rack.style  
rack.uniform  
rack:resize()  
renoise.API_VERSION  
renoise.app()  
renoise.app()  
renoise.app().active_clipboard_index  
renoise.app().current_song  
renoise.app().log_filename  
renoise.app().recently_loaded_song_files  
renoise.app().recently_saved_song_files  
renoise.app().window  
renoise.app().window.active_lower_frame  
renoise.app().window.active_middle_frame  
renoise.app().window.active_upper_frame  
renoise.app().window.fullscreen  
renoise.app().window.is_maximized  
renoise.app().window.is_minimized  
renoise.app().window.lock_keyboard_focus  
renoise.app().window.lower_frame_is_visible  
renoise.app().window.pattern_advanced_edit_is_visible  
renoise.app().window.pattern_matrix_is_visible  
renoise.app().window.sample_record_dialog_is_visible  
renoise.app().window.upper_frame_is_visible  
renoise.app().window:maximize()  
renoise.app().window:minimize()  
renoise.app().window:restore()  
renoise.app().window:select_preset(preset_index)  
renoise.app():load_song(filename)  
renoise.app():new_song()  
renoise.app():new_song_no_template()  
renoise.app():open_path(file_path)  
renoise.app():open_url(url)  
renoise.app():prompt_for_filename_to_read({file_extensions}, dialog_title)  
renoise.app():prompt_for_filename_to_write(file_extension, dialog_title)  
renoise.app():prompt_for_multiple_filenames_to_read({file_extensions}, dialog_title)  
renoise.app():prompt_for_path(dialog_title)  
renoise.app():save_song()  
renoise.app():save_song_as(filename)  
renoise.app():show_custom_dialog(title, content_view [, key_handler])  
renoise.app():show_custom_dialog(title, content_view [, key_handler_func])  
renoise.app():show_custom_prompt(title, content_view, {button_labels} [, key_handler])  
renoise.app():show_custom_prompt(title, content_view, {button_labels} [,key_handler_func])  
renoise.app():show_error(message)  
renoise.app():show_message(message)  
renoise.app():show_prompt(title, message, {button_labels})  
renoise.app():show_status(message)  
renoise.app():show_warning(message)  
renoise.ApplicationWindow.LOWER_FRAME_INSTRUMENT_PROPERTIES  
renoise.ApplicationWindow.LOWER_FRAME_SONG_PROPERTIES  
renoise.ApplicationWindow.LOWER_FRAME_TRACK_AUTOMATION  
renoise.ApplicationWindow.LOWER_FRAME_TRACK_DSPS  
renoise.ApplicationWindow.MIDDLE_FRAME_INSTRUMENT_EDITOR  
renoise.ApplicationWindow.MIDDLE_FRAME_MIXER  
renoise.ApplicationWindow.MIDDLE_FRAME_PATTERN_EDITOR  
renoise.ApplicationWindow.MIDDLE_FRAME_SAMPLE_EDITOR  
renoise.ApplicationWindow.UPPER_FRAME_DISK_BROWSER  
renoise.ApplicationWindow.UPPER_FRAME_MASTER_SCOPES  
renoise.ApplicationWindow.UPPER_FRAME_MASTER_SPECTRUM  
renoise.ApplicationWindow.UPPER_FRAME_TRACK_SCOPES  
renoise.DeviceParameter.POLARITY_BIPOLAR  
renoise.DeviceParameter.POLARITY_UNIPOLAR  
renoise.Document.create(model_name) {[table]}  
renoise.Document.instantiate(model_name)  
renoise.Instrument.MidiProperties.TYPE_EXTERNAL  
renoise.Instrument.MidiProperties.TYPE_INTERNAL -- REWIRE  
renoise.Instrument.MidiProperties.TYPE_LINE_IN_RET  
renoise.Midi.available_input_devices()  
renoise.Midi.available_output_devices()  
renoise.Midi.create_input_device(device_name [,callback] [, sysex_callback])  
renoise.Midi.create_output_device(device_name)  
renoise.Midi.devices_changed_observable()  
renoise.Osc.Bundle(pattern, single_message_or_table_of_messages)  
renoise.Osc.from_binary_data(binary_data)  
renoise.Osc.Message(pattern [, table of {tag, value} arguments])  
renoise.Pattern.MAX_NUMBER_OF_LINES  
renoise.PatternTrackAutomation.PLAYMODE_CUBIC  
renoise.PatternTrackAutomation.PLAYMODE_LINEAR  
renoise.PatternTrackAutomation.PLAYMODE_POINTS  
renoise.PatternTrackLine.EMPTY_DELAY  
renoise.PatternTrackLine.EMPTY_EFFECT_AMOUNT  
renoise.PatternTrackLine.EMPTY_EFFECT_NUMBER  
renoise.PatternTrackLine.EMPTY_INSTRUMENT  
renoise.PatternTrackLine.EMPTY_NOTE  
renoise.PatternTrackLine.EMPTY_PANNING  
renoise.PatternTrackLine.EMPTY_VOLUME  
renoise.PatternTrackLine.NOTE_OFF  
renoise.RENOISE_VERSION  
renoise.Sample.INTERPOLATE_CUBIC  
renoise.Sample.INTERPOLATE_LINEAR  
renoise.Sample.INTERPOLATE_NONE  
renoise.Sample.LOOP_MODE_FORWARD  
renoise.Sample.LOOP_MODE_OFF  
renoise.Sample.LOOP_MODE_PING_PONG  
renoise.Sample.LOOP_MODE_REVERSE  
renoise.Sample.NEW_NOTE_ACTION_NOTE_CUT  
renoise.Sample.NEW_NOTE_ACTION_NOTE_OFF  
renoise.Sample.NEW_NOTE_ACTION_SUSTAIN  
renoise.Socket.create_client(server_address, server_port [, protocol] [, timeout])  
renoise.Socket.create_server( [server_address,] server_port [, protocol])  
renoise.Socket.PROTOCOL_TCP  
renoise.Socket.PROTOCOL_UDP  
renoise.song()  
renoise.song()  
renoise.song().artist  
renoise.song().comments[]  
renoise.song().comments_assignment_observable  
renoise.song().file_name  
renoise.song().instruments[]  
renoise.song().instruments[].midi_properties  
renoise.song().instruments[].midi_properties.delay  
renoise.song().instruments[].midi_properties.device_name  
renoise.song().instruments[].midi_properties.duration  
renoise.song().instruments[].midi_properties.instrument_type  
renoise.song().instruments[].midi_properties.midi_bank  
renoise.song().instruments[].midi_properties.midi_base_note  
renoise.song().instruments[].midi_properties.midi_channel  
renoise.song().instruments[].midi_properties.midi_program  
renoise.song().instruments[].name  
renoise.song().instruments[].plugin_properties  
renoise.song().instruments[].plugin_properties.alias_fx_device_index  
renoise.song().instruments[].plugin_properties.alias_fx_track_index  
renoise.song().instruments[].plugin_properties.alias_instrument_index  
renoise.song().instruments[].plugin_properties.auto_suspend  
renoise.song().instruments[].plugin_properties.available_plugins[]  
renoise.song().instruments[].plugin_properties.midi_base_note  
renoise.song().instruments[].plugin_properties.midi_channel  
renoise.song().instruments[].plugin_properties.plugin_device  
renoise.song().instruments[].plugin_properties.plugin_device.active_preset  
renoise.song().instruments[].plugin_properties.plugin_device.external_editor_available  
renoise.song().instruments[].plugin_properties.plugin_device.external_editor_visible  
renoise.song().instruments[].plugin_properties.plugin_device.name  
renoise.song().instruments[].plugin_properties.plugin_device.parameters[]  
renoise.song().instruments[].plugin_properties.plugin_device.presets[]  
renoise.song().instruments[].plugin_properties.plugin_loaded  
renoise.song().instruments[].plugin_properties.plugin_name  
renoise.song().instruments[].plugin_properties.volume  
renoise.song().instruments[].plugin_properties:load_plugin(plugin_name)  
renoise.song().instruments[].samples[]  
renoise.song().instruments[].samples[].autoseek  
renoise.song().instruments[].samples[].base_note  
renoise.song().instruments[].samples[].beat_sync_enabled  
renoise.song().instruments[].samples[].beat_sync_lines  
renoise.song().instruments[].samples[].fine_tune  
renoise.song().instruments[].samples[].interpolation_mode  
renoise.song().instruments[].samples[].loop_end  
renoise.song().instruments[].samples[].loop_mode  
renoise.song().instruments[].samples[].loop_start  
renoise.song().instruments[].samples[].name  
renoise.song().instruments[].samples[].new_note_action  
renoise.song().instruments[].samples[].panning  
renoise.song().instruments[].samples[].sample_buffer  
renoise.song().instruments[].samples[].sample_buffer.bit_depth  
renoise.song().instruments[].samples[].sample_buffer.has_sample_data  
renoise.song().instruments[].samples[].sample_buffer.number_of_channels  
renoise.song().instruments[].samples[].sample_buffer.number_of_frames  
renoise.song().instruments[].samples[].sample_buffer.sample_rate  
renoise.song().instruments[].samples[].sample_buffer.selection_end  
renoise.song().instruments[].samples[].sample_buffer.selection_range  
renoise.song().instruments[].samples[].sample_buffer.selection_start  
renoise.song().instruments[].samples[].sample_buffer:create_sample_data(sample_rate, bit_depth, num_channels, num_frames)  
renoise.song().instruments[].samples[].sample_buffer:delete_sample_data()  
renoise.song().instruments[].samples[].sample_buffer:finalize_sample_data_changes()  
renoise.song().instruments[].samples[].sample_buffer:load_from(filename)  
renoise.song().instruments[].samples[].sample_buffer:prepare_sample_data_changes()  
renoise.song().instruments[].samples[].sample_buffer:sample_data(channel_index, frame_index)  
renoise.song().instruments[].samples[].sample_buffer:save_as(filename, format)  
renoise.song().instruments[].samples[].sample_buffer:set_sample_data(channel_index, frame_index, sample_value)  
renoise.song().instruments[].samples[].volume  
renoise.song().instruments[].samples[]:clear()  
renoise.song().instruments[].samples[]:copy_from(other_sample object)  
renoise.song().instruments[].split_map[]  
renoise.song().instruments[].split_map_assignment_observable  
renoise.song().instruments[]:clear()  
renoise.song().instruments[]:copy_from(other_instrument object)  
renoise.song().instruments[]:delete_sample_at(index)  
renoise.song().instruments[]:insert_sample_at(index)  
renoise.song().instruments[]:swap_samples_at(index1, index2)  
renoise.song().name  
renoise.song().patterns[]  
renoise.song().patterns[].is_empty  
renoise.song().patterns[].name  
renoise.song().patterns[].number_of_lines  
renoise.song().patterns[].tracks[]  
renoise.song().patterns[].tracks[].automation[]  
renoise.song().patterns[].tracks[].automation[].dest_device  
renoise.song().patterns[].tracks[].automation[].dest_parameter  
renoise.song().patterns[].tracks[].automation[].length  
renoise.song().patterns[].tracks[].automation[].playmode  
renoise.song().patterns[].tracks[].automation[].points  
renoise.song().patterns[].tracks[].automation[].points[].time  
renoise.song().patterns[].tracks[].automation[].points[].value  
renoise.song().patterns[].tracks[].automation[]:add_point_at(time, value)  
renoise.song().patterns[].tracks[].automation[]:clear()  
renoise.song().patterns[].tracks[].automation[]:copy_from()  
renoise.song().patterns[].tracks[].automation[]:has_point_at(time)  
renoise.song().patterns[].tracks[].automation[]:remove_point_at(time)  
renoise.song().patterns[].tracks[].color  
renoise.song().patterns[].tracks[].is_empty  
renoise.song().patterns[].tracks[].lines[]  
renoise.song().patterns[].tracks[].lines[].effect_columns  
renoise.song().patterns[].tracks[].lines[].effect_columns[].amount_string  
renoise.song().patterns[].tracks[].lines[].effect_columns[].amount_value  
renoise.song().patterns[].tracks[].lines[].effect_columns[].is_empty  
renoise.song().patterns[].tracks[].lines[].effect_columns[].is_selected  
renoise.song().patterns[].tracks[].lines[].effect_columns[].number_string  
renoise.song().patterns[].tracks[].lines[].effect_columns[].number_value  
renoise.song().patterns[].tracks[].lines[].effect_columns[]:clear()  
renoise.song().patterns[].tracks[].lines[].effect_columns[]:copy_from(other_column object)  
renoise.song().patterns[].tracks[].lines[].is_empty  
renoise.song().patterns[].tracks[].lines[].note_columns  
renoise.song().patterns[].tracks[].lines[].note_columns[].delay_string  
renoise.song().patterns[].tracks[].lines[].note_columns[].delay_value  
renoise.song().patterns[].tracks[].lines[].note_columns[].instrument_value  
renoise.song().patterns[].tracks[].lines[].note_columns[].is_empty  
renoise.song().patterns[].tracks[].lines[].note_columns[].is_selected  
renoise.song().patterns[].tracks[].lines[].note_columns[].note_string  
renoise.song().patterns[].tracks[].lines[].note_columns[].note_value  
renoise.song().patterns[].tracks[].lines[].note_columns[].panning_string  
renoise.song().patterns[].tracks[].lines[].note_columns[].panning_value  
renoise.song().patterns[].tracks[].lines[].note_columns[].volume_string  
renoise.song().patterns[].tracks[].lines[].note_columns[]:clear()  
renoise.song().patterns[].tracks[].lines[].note_columns[]:copy_from(other_column object)  
renoise.song().patterns[].tracks[].lines[]:clear()  
renoise.song().patterns[].tracks[].lines[]:copy_from(other_line object)  
renoise.song().patterns[].tracks[]:clear()  
renoise.song().patterns[].tracks[]:copy_from(other_pattern_track object)  
renoise.song().patterns[].tracks[]:create_automation(parameter)  
renoise.song().patterns[].tracks[]:delete_automation(parameter)  
renoise.song().patterns[].tracks[]:find_automation(parameter)  
renoise.song().patterns[].tracks[]:line(index)  
renoise.song().patterns[].tracks[]:lines_in_range(index_from, index_to)  
renoise.song().patterns[]:add_line_notifier(func[, obj])  
renoise.song().patterns[]:clear()  
renoise.song().patterns[]:copy_from(other_pattern object)  
renoise.song().patterns[]:has_line_notifier(func[, obj])  
renoise.song().patterns[]:remove_line_notifier(func[, obj])  
renoise.song().pattern_iterator  
renoise.song().pattern_iterator:effect_columns_in_pattern(pattern_index, boolean visible_only)  
renoise.song().pattern_iterator:effect_columns_in_pattern_track(pattern_index, track_index, boolean visible_only)  
renoise.song().pattern_iterator:effect_columns_in_track(track_index, boolean visible_only)  
renoise.song().pattern_iterator:lines_in_pattern(pattern_index)  
renoise.song().pattern_iterator:lines_in_pattern_track(pattern_index, track_index)  
renoise.song().pattern_iterator:lines_in_song(boolean visible_patterns_only)  
renoise.song().pattern_iterator:lines_in_track(track_index, boolean visible_patterns_only)  
renoise.song().pattern_iterator:note_columns_in_pattern(pattern_index, boolean visible_only)  
renoise.song().pattern_iterator:note_columns_in_pattern_track(pattern_index, track_index, boolean visible_only)  
renoise.song().pattern_iterator:note_columns_in_song(boolean visible_only)  
renoise.song().pattern_iterator:note_columns_in_track(track_index, boolean visible_only)  
renoise.song().rendering  
renoise.song().rendering_progress  
renoise.song().selected_device  
renoise.song().selected_device_index  
renoise.song().selected_effect_column  
renoise.song().selected_effect_column_index  
renoise.song().selected_instrument  
renoise.song().selected_instrument_index  
renoise.song().selected_line  
renoise.song().selected_line_index  
renoise.song().selected_note_column  
renoise.song().selected_note_column_index  
renoise.song().selected_parameter  
renoise.song().selected_parameter_index  
renoise.song().selected_pattern  
renoise.song().selected_pattern_index  
renoise.song().selected_pattern_track  
renoise.song().selected_sample  
renoise.song().selected_sample_index  
renoise.song().selected_sequence_index  
renoise.song().selected_track  
renoise.song().selected_track_index  
renoise.song().sequencer  
renoise.song().sequencer.delete_sequence_at(sequence_pos)  
renoise.song().sequencer.insert_sequence_at(sequence_pos, pattern_index)  
renoise.song().sequencer.pattern_assignments_observable  
renoise.song().sequencer.pattern_sequence[]  
renoise.song().sequencer.pattern_slot_mutes_observable  
renoise.song().sequencer:clone_range(from_sequence_pos, to_sequence_pos)  
renoise.song().sequencer:insert_new_pattern_at(sequence_pos)  
renoise.song().sequencer:make_range_unique(from_sequence_pos, to_sequence_pos)  
renoise.song().sequencer:set_track_sequence_slot_is_muted(track_index, sequence_index, muted)  
renoise.song().sequencer:track_sequence_slot_is_muted(track_index, sequence_index)  
renoise.song().tracks[]  
renoise.song().tracks[].available_devices[]  
renoise.song().tracks[].available_output_routings[]  
renoise.song().tracks[].color  
renoise.song().tracks[].delay_column_visible  
renoise.song().tracks[].devices[]  
renoise.song().tracks[].devices[].active_preset  
renoise.song().tracks[].devices[].external_editor_available  
renoise.song().tracks[].devices[].external_editor_visible  
renoise.song().tracks[].devices[].is_active  
renoise.song().tracks[].devices[].is_maximized  
renoise.song().tracks[].devices[].name  
renoise.song().tracks[].devices[].parameters[]  
renoise.song().tracks[].devices[].parameters[].is_automatable  
renoise.song().tracks[].devices[].parameters[].is_automated  
renoise.song().tracks[].devices[].parameters[].name  
renoise.song().tracks[].devices[].parameters[].polarity  
renoise.song().tracks[].devices[].parameters[].show_in_mixer  
renoise.song().tracks[].devices[].parameters[].value  
renoise.song().tracks[].devices[].parameters[].value_default  
renoise.song().tracks[].devices[].parameters[].value_max  
renoise.song().tracks[].devices[].parameters[].value_min  
renoise.song().tracks[].devices[].parameters[].value_quantum  
renoise.song().tracks[].devices[].parameters[].value_string  
renoise.song().tracks[].devices[].parameters[]:record_value(value)  
renoise.song().tracks[].devices[].presets[]  
renoise.song().tracks[].max_effect_columns  
renoise.song().tracks[].max_note_columns  
renoise.song().tracks[].min_effect_columns  
renoise.song().tracks[].min_note_columns  
renoise.song().tracks[].mute_state  
renoise.song().tracks[].name  
renoise.song().tracks[].output_delay  
renoise.song().tracks[].output_routing  
renoise.song().tracks[].panning_column_visible  
renoise.song().tracks[].postfx_panning  
renoise.song().tracks[].postfx_volume  
renoise.song().tracks[].prefx_panning  
renoise.song().tracks[].prefx_volume  
renoise.song().tracks[].prefx_width  
renoise.song().tracks[].solo_state  
renoise.song().tracks[].type  
renoise.song().tracks[].visible_effect_columns  
renoise.song().tracks[].visible_note_columns  
renoise.song().tracks[].volume_column_visible  
renoise.song().tracks[]:column_is_muted(column)  
renoise.song().tracks[]:column_is_muted_observable(column)  
renoise.song().tracks[]:delete_device_at(device_index)  
renoise.song().tracks[]:insert_device_at(device_name, device_index)  
renoise.song().tracks[]:mute()  
renoise.song().tracks[]:mute_column(column, muted)  
renoise.song().tracks[]:solo()  
renoise.song().tracks[]:swap_devices_at(device_index1, device_index2)  
renoise.song().tracks[]:unmute()  
renoise.song().transport  
renoise.song().transport.bpm  
renoise.song().transport.chord_mode_enabled  
renoise.song().transport.edit_mode  
renoise.song().transport.edit_pos  
renoise.song().transport.edit_pos_beats  
renoise.song().transport.edit_step  
renoise.song().transport.follow_player  
renoise.song().transport.loop_block_enabled  
renoise.song().transport.loop_block_range_coeff  
renoise.song().transport.loop_block_start_pos  
renoise.song().transport.loop_end  
renoise.song().transport.loop_end_beats  
renoise.song().transport.loop_pattern  
renoise.song().transport.loop_range  
renoise.song().transport.loop_range_beats  
renoise.song().transport.loop_sequence_end  
renoise.song().transport.loop_sequence_range  
renoise.song().transport.loop_sequence_start  
renoise.song().transport.loop_start  
renoise.song().transport.loop_start_beats  
renoise.song().transport.lpb  
renoise.song().transport.metronome_beats_per_bar  
renoise.song().transport.metronome_enabled  
renoise.song().transport.metronome_lines_per_beat  
renoise.song().transport.octave  
renoise.song().transport.playback_pos  
renoise.song().transport.playback_pos_beats  
renoise.song().transport.playing  
renoise.song().transport.record_parameter_mode  
renoise.song().transport.record_quantize_enabled  
renoise.song().transport.record_quantize_lines  
renoise.song().transport.shuffle_amounts[]  
renoise.song().transport.shuffle_assignment_observable  
renoise.song().transport.shuffle_enabled  
renoise.song().transport.single_track_edit_mode  
renoise.song().transport.song_length  
renoise.song().transport.song_length_beats  
renoise.song().transport.tpl  
renoise.song().transport.wrapped_pattern_edit  
renoise.song().transport:add_scheduled_sequence(sequence_pos)  
renoise.song().transport:cancel_sample_recording()  
renoise.song().transport:loop_block_move_backwards()  
renoise.song().transport:loop_block_move_forwards()  
renoise.song().transport:panic()  
renoise.song().transport:set_scheduled_sequence(sequence_pos)  
renoise.song().transport:start(mode)  
renoise.song().transport:start_at(line)  
renoise.song().transport:start_stop_sample_recording()  
renoise.song().transport:stop()  
renoise.song().transport:trigger_sequence(sequence_pos)  
renoise.song():cancel_rendering()  
renoise.song():can_redo()  
renoise.song():can_undo()  
renoise.song():capture_instrument_from_pattern()  
renoise.song():capture_nearest_instrument_from_pattern()  
renoise.song():delete_instrument_at(index)  
renoise.song():delete_track_at(index)  
renoise.song():describe_undo(description)  
renoise.song():insert_instrument_at(index)  
renoise.song():insert_track_at(index)  
renoise.song():pattern_iterator:effect_columns_in_song(boolean visible_only)  
renoise.song():redo()  
renoise.song():render([options,] filename, rendering_done_callback)  
renoise.song():swap_instruments_at(index2, index2)  
renoise.song():swap_tracks_at(index1, index2)  
renoise.song():undo()  
renoise.song()patterns[].tracks[].lines[].note_columns[].instrument_string  
renoise.song()patterns[].tracks[].lines[].note_columns[].volume_value  
renoise.tool()  
renoise.tool()  
renoise.tool().app_became_active_observable  
renoise.tool().app_idle_observable  
renoise.tool().app_new_document_observable  
renoise.tool().app_release_document_observable  
renoise.tool().app_resigned_active_observable  
renoise.tool().app_saved_document_observable  
renoise.tool().bundle_path  
renoise.tool().preferences  
renoise.tool():add_keybinding(keybinding_definition_table)  
renoise.tool():add_menu_entry(menu_entry_definition_table)  
renoise.tool():add_midi_mapping(midi_mapping_definition_table)  
renoise.tool():add_timer(function or {object, function} or {function, object},  
renoise.tool():has_keybinding(keybinding_name)  
renoise.tool():has_menu_entry(menu_entry_name)  
renoise.tool():has_midi_mapping(midi_mapping_name)  
renoise.tool():has_timer(function or {object, function} or {function, object})  
renoise.tool():remove_keybinding(keybinding_name)  
renoise.tool():remove_menu_entry(menu_entry_name)  
renoise.tool():remove_midi_mapping(midi_mapping_name)  
renoise.tool():remove_timer(timer_func)  
renoise.Track.MUTE_STATE_ACTIVE  
renoise.Track.MUTE_STATE_MUTED  
renoise.Track.MUTE_STATE_OFF  
renoise.Track.TRACK_TYPE_MASTER  
renoise.Track.TRACK_TYPE_SEND  
renoise.Track.TRACK_TYPE_SEQUENCER  
renoise.Transport.PLAYMODE_CONTINUE_PATTERN  
renoise.Transport.PLAYMODE_RESTART_PATTERN  
renoise.Transport.RECORD_PARAMETER_MODE_AUTOMATION  
renoise.Transport.RECORD_PARAMETER_MODE_PATTERN  
renoise.ViewBuilder.DEFAULT_CONTROL_HEIGHT  
renoise.ViewBuilder.DEFAULT_CONTROL_MARGIN  
renoise.ViewBuilder.DEFAULT_CONTROL_SPACING  
renoise.ViewBuilder.DEFAULT_DIALOG_BUTTON_HEIGHT  
renoise.ViewBuilder.DEFAULT_DIALOG_MARGIN  
renoise.ViewBuilder.DEFAULT_DIALOG_SPACING  
renoise.ViewBuilder.DEFAULT_MINI_CONTROL_HEIGHT  
ripairs(table)  
rotary.bind  
rotary.max  
rotary.min  
rotary.notifier  
rotary.value  
rotary:add_notifier(function or {object, function} or {object, function})  
rotary:remove_notifier(function or {object, function} or {object, function})  
rprint(table)  
serializable:from_string(string)  
serializable:to_string()  
server_socket.is_running  
server_socket:run(notifier_table_or_call)  
server_socket:stop()  
server_socket:wait(timeout_ms)  
slider.bind  
slider.bind  
slider.max  
slider.max  
slider.min  
slider.min  
slider.notifier  
slider.notifier  
slider.value  
slider.value  
slider:add_notifier(function or {object, function} or {object, function})  
slider:add_notifier(function or {object, function} or {object, function})  
slider:remove_notifier(function or {object, function} or {object, function})  
slider:remove_notifier(function or {object, function} or {object, function})  
socket.is_open  
socket.local_address  
socket.local_port  
socket:close()  
socket_client.peer_address  
socket_client.peer_port  
socket_client:receive(mode, timeout_ms)  
socket_client:send(message)  
song_pos.line  
song_pos.sequence  
switch.bind  
switch.items  
switch.notifier  
switch.value  
switch:add_notifier(function or {object, function} or {object, function})  
switch:remove_notifier(function or {object, function} or {object, function})  
table.clear(t)  
table.copy(t)  
table.count(t)  
table.create([t])  
table.find(t, value [,start_index])  
table.is_empty(t)  
table.keys(t)  
table.rcopy(t)  
table.values(t)  
text.align  
text.font  
text.text  
textfield.align  
textfield.bind  
textfield.notifier  
textfield.text  
textfield.value  
textfield:add_notifier(function or {object, function} or {object, function})  
textfield:remove_notifier(function or {object, function} or {object, function})  
timer_interval_in_ms)  
tostring(Pattern object)  
tostring(Pattern object)  
tostring(Pattern object)  
type(class_object or class or anything else)  
value.align  
value.bind  
value.font  
value.notifier  
value.tostring  
value.value  
value:add_notifier(function or {object, function} or {object, function})  
value:remove_notifier(function or {object, function} or {object, function})  
valuebox.bind  
valuebox.max  
valuebox.min  
valuebox.notifier  
valuebox.tostring  
valuebox.tovalue  
valuebox.value  
valuebox:add_notifier(function or {object, function} or {object, function})  
valuebox:remove_notifier(function or {object, function} or {object, function})  
valuefield.align  
valuefield.bind  
valuefield.max  
valuefield.min  
valuefield.notifier  
valuefield.tostring  
valuefield.tovalue  
valuefield.value  
valuefield:add_notifier(function or {object, function} or {object, function})  
valuefield:remove_notifier(function or {object, function} or {object, function})  
vb.views  
vb:bitmap { Bitmap Properties }  
vb:button { Button Properties }  
vb:checkbox { Rack Properties }  
vb:chooser { Chooser Properties }  
vb:column { Rack Properties and/or child views }  
vb:horizontal_aligner { Aligner Properties and/or child views }  
vb:minislider { MiniSlider Properties }  
vb:multiline_text { MultiLineText Properties }  
vb:popup { Popup Properties }  
vb:rotary { RotaryEncoder Properties }  
vb:row { Rack Properties and/or child views }  
vb:slider { Slider Properties }  
vb:space { View Properties and/or child views }  
vb:switch { Switch Properties }  
vb:textfield { TextField Properties }  
vb:text { Text Properties }  
vb:valuebox { ValueBox Properties }  
vb:valuefield { ValueField Properties }  
vb:value { Value Properties }  
vb:vertical_aligner { Aligner Properties and/or child views }  
vb:xypad { XYPad Properties }  
view.height  
view.tooltip  
view.visible  
view.width  
view:add_child(View child_view)  
view:remove_child(View child_view)  
xypad.bind  
xypad.max  
xypad.min  
xypad.notifier  
xypad.snapback  
xypad.value  
xypad:add_notifier(function or {object, function} or {object, function})  
xypad:remove_notifier(function or {object, function} or {object, function})  

Cheers.


(Moonriders) #6

Wow, I take it that is coming straight from the docs.
If so and do-able, some form of tree listing could be beneficial.
Is HtmlGen able to run directly on the xrnx site / Would Google allow that?
Or are you working this into a tool to run on the instantiated server renoise can make?

That’s Good Work!

P.S.
Hooking webkit into renoise’s scripting editor could sure be nice with this.


(esaruoho) #7

Seems to be a 404…


(Conner_Bw) #8

Moved to XTRA Directory:

Example TXT file of generated output (April 27th, 2011):
http://www.trotch.com/tmp/renoise_api_concise-2011-04-27.txt


(esaruoho) #9

Thanks heaps for making these dumps Conner_Bw, they really bring the renoise api functions into focus :)


(frenetic_friend) #10

Anyone knows some Lua editor for windows with the option to add this list for autocomplete? There must be something like this.

EDIT: Ok, I found the editor capable of it, if anyone is interested. It’s “sublime Text”. But txt would need some reformatting


(vV) #11

There are various editors capable of doing this. Scite is also one. (You can even add your own specific Renoise only-keyword definitions with many of those editors for the sake of full autocompleting, also regarding special libraries)