Lua Bindings Class Reference

This documentation is far from complete may be inaccurate and subject to change.

Overview

The top-level entry point are ARDOUR:Session and ArdourUI:Editor. Most other Classes are used indirectly starting with a Session function. e.g. Session:get_routes().

A few classes are dedicated to certain script types, e.g. Lua DSP processors have exclusive access to ARDOUR.DSP and ARDOUR:ChanMapping. Action Hooks Scripts to LuaSignal:Set etc.

Detailed documentation (parameter names, method description) is not yet available. Please stay tuned.

Short introduction to Ardour classes

Ardour's structure is object oriented. The main object is the Session. A Session contains Audio Tracks, Midi Tracks and Busses. Audio and Midi tracks are derived from a more general "Track" Object, which in turn is derived from a "Route" (aka Bus). (We say "An Audio Track is-a Track is-a Route"). Tracks contain specifics. For Example a track has-a diskstream (for file i/o).

Operations are performed on objects. One gets a reference to an object and then calls a method. e.g obj = Session:route_by_name("Audio") obj:set_name("Guitar").

Lua automatically follows C++ class inheritance. e.g one can directly call all SessionObject and Route methods on Track object. However lua does not automatically promote objects. A Route object which just happens to be a Track needs to be explicitly cast to a Track. Methods for casts are provided with each class. Note that the cast may fail and return a nil reference.

Likewise multiple inheritance is a non-trivial issue in Lua. To avoid performance penalties involved with lookups, explicit casts are required in this case. One example is ARDOUR:SessionObject which is-a StatefulDestructible which inherits from both Stateful and Destructible.

Object lifetimes are managed by the Session. Most Objects cannot be directly created, but one asks the Session to create or destroy them. This is mainly due to realtime constrains: you cannot simply remove a track that is currently processing audio. There are various factory methods for object creation or removal.

Pass by Reference

Since Lua functions are closures, C++ methods that pass arguments by reference cannot be used as-is. All parameters passed to a C++ method which uses references are returned as Lua Table. If the C++ method also returns a value it is prefixed. Two parameters are returned: the value and a Lua Table holding the parameters.

C++
void set_ref (int& var, long& val)
{
	printf ("%d %ld\n", var, val);
	var = 5;
	val = 7;
}
Lua
local var = 0;
ref = set_ref (var, 2);
-- output from C++ printf()
0 2
-- var is still 0 here
print (ref[1], ref[2])
5 7
int set_ref2 (int &var, std::string unused)
{
	var = 5;
	return 3;
}
rv, ref = set_ref2 (0, "hello");
print (rv, ref[1], ref[2])
3 5 hello

Pointer Classes

Libardour makes extensive use of reference counted std::shared_ptr to manage lifetimes. The Lua bindings provide a complete abstraction of this. There are no pointers in Lua. For example a ARDOUR:Route is a pointer in C++, but Lua functions operate on it like it was a class instance.

shared_ptr are reference counted. Once assigned to a Lua variable, the C++ object will be kept and remains valid. It is good practice to assign references to Lua local variables or reset the variable to nil to drop the ref.

All pointer classes have a isnil () method. This is for two cases: Construction may fail. e.g. ARDOUR.LuaAPI.newplugin() may not be able to find the given plugin and hence cannot create an object.

The second case if for std::weak_ptr. As opposed to std::shared_ptr weak-pointers are not reference counted. The object may vanish at any time. If Lua code calls a method on a nil object, the interpreter will raise an exception and the script will not continue. This is not unlike a = nil a:test() which results in en error "attempt to index a nil value".

From the Lua side of things there is no distinction between weak and shared pointers. They behave identically. Below they're indicated in orange and have an arrow to indicate the pointer type. Pointer Classes cannot be created in Lua scripts. It always requires a call to C++ to create the Object and obtain a reference to it.

Class Documentation

 ARDOUR

Methods
RCConfigurationconfig ()
std::stringuser_cache_directory (int)

Returns the path to the directory used to store user specific caches (e.g. plugin indices, blacklist/whitelist) it defaults to XDG_CACHE_HOME

std::stringuser_config_directory (int)

user_config_directory() exists IF version was negative.

Returns the path to the directory used to store user specific configuration files for the given version of the program. If version is negative, the build-time string PROGRAM_VERSION will be used to determine the version number.

 ARDOUR:Amp

C‡: std::shared_ptr< ARDOUR::Amp >, std::weak_ptr< ARDOUR::Amp >

is-a: ARDOUR:Processor

Gain Stage (Fader, Trim).

Methods
floatapply_gain (AudioBuffer&, long, long, float, float, long)
GainControlgain_control ()
boolisnil ()

Inherited from ARDOUR:Processor

Methods
voidactivate ()
boolactive ()
longcapture_offset ()
voiddeactivate ()
std::stringdisplay_name ()
booldisplay_to_user ()
longinput_latency ()
ChanCountinput_streams ()
longoutput_latency ()
ChanCountoutput_streams ()
longplayback_offset ()
longsignal_latency ()
Cast
Ampto_amp ()
Automatableto_automatable ()
DelayLineto_delayline ()
DiskIOProcessorto_diskioprocessor ()
DiskReaderto_diskreader ()
DiskWriterto_diskwriter ()
PluginInsertto_insert ()
InternalSendto_internalsend ()
IOProcessorto_ioprocessor ()
Latentto_latent ()
PeakMeterto_meter ()
MonitorProcessorto_monitorprocessor ()
PeakMeterto_peakmeter ()
PluginInsertto_plugininsert ()
PolarityProcessorto_polarityprocessor ()
Sendto_send ()
SideChainto_sidechain ()
SurroundSendto_surroundsend ()
UnknownProcessorto_unknownprocessor ()

Inherited from ARDOUR:SessionObjectPtr

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:AsyncMIDIPort

C‡: std::shared_ptr< ARDOUR::AsyncMIDIPort >, std::weak_ptr< ARDOUR::AsyncMIDIPort >

is-a: ARDOUR:MidiPort

Methods
boolisnil ()
intwrite (unsigned char*, unsigned long, unsigned int)

Inherited from ARDOUR:MidiPort

Methods
MidiBufferget_midi_buffer (unsigned int)
boolinput_active ()
voidset_input_active (bool)
Cast
AsyncMIDIPortto_asyncmidiport ()

Inherited from ARDOUR:Port

Methods
intconnect (std::string)
boolconnected ()

Returns true if this port is connected to anything

boolconnected_to (std::string)
o
Port name

Returns true if this port is connected to o, otherwise false.

intdisconnect (std::string)
intdisconnect_all ()
PortFlagsflags ()

Returns flags

LuaTable(...)get_connected_latency_range (LatencyRange&, bool)
std::stringname ()

Returns Port short name

boolphysically_connected ()
std::stringpretty_name (bool)

Returns Port human readable name

LatencyRangeprivate_latency_range (bool)
LatencyRangepublic_latency_range (bool)
boolreceives_input ()

Returns true if this Port receives input, otherwise false

boolsends_output ()

Returns true if this Port sends output, otherwise false

Cast
AsyncMIDIPortto_asyncmidiport ()
AudioPortto_audioport ()
MidiPortto_midiport ()

 ARDOUR:AudioBackend

C‡: std::shared_ptr< ARDOUR::AudioBackend >, std::weak_ptr< ARDOUR::AudioBackend >

AudioBackend is an high-level abstraction for interacting with the operating system's audio and midi I/O.

Methods
unsigned intbuffer_size ()
std::stringdevice_name ()
std::stringdriver_name ()

override this if this implementation returns true from requires_driver_selection()

floatdsp_load ()

return the fraction of the time represented by the current buffer size that is being used for each buffer process cycle, as a value from 0.0 to 1.0

E.g. if the buffer size represents 5msec and current processing takes 1msec, the returned value should be 0.2.

Implementations can feel free to smooth the values returned over time (e.g. high pass filtering, or its equivalent).

DeviceStatusVectorenumerate_devices ()

Returns a collection of DeviceStatuses identifying devices discovered by this backend since the start of the process.

Any of the names in each DeviceStatus may be used to identify a device in other calls to the backend, though any of them may become invalid at any time.

StringVectorenumerate_drivers ()

If the return value of requires_driver_selection() is true, then this function can return the list of known driver names.

If the return value of requires_driver_selection() is false, then this function should not be called. If it is called its return value is an empty vector of strings.

DeviceStatusVectorenumerate_input_devices ()

Returns a collection of DeviceStatuses identifying input devices discovered by this backend since the start of the process.

Any of the names in each DeviceStatus may be used to identify a device in other calls to the backend, though any of them may become invalid at any time.

DeviceStatusVectorenumerate_output_devices ()

Returns a collection of DeviceStatuses identifying output devices discovered by this backend since the start of the process.

Any of the names in each DeviceStatus may be used to identify a device in other calls to the backend, though any of them may become invalid at any time.

AudioBackendInfoinfo ()

Return the AudioBackendInfo object from which this backend was constructed.

unsigned intinput_channels ()
std::stringinput_device_name ()
boolisnil ()
unsigned intoutput_channels ()
std::stringoutput_device_name ()
unsigned intperiod_size ()
floatsample_rate ()
intset_buffer_size (unsigned int)

Set the buffer size to be used.

The device is assumed to use a double buffering scheme, so that one buffer's worth of data can be processed by hardware while software works on the other buffer. All known suitable audio APIs support this model (though ALSA allows for alternate numbers of buffers, and CoreAudio doesn't directly expose the concept).

intset_device_name (std::string)

Set the name of the device to be used

intset_driver (std::string)

Returns zero if the backend can successfully use drivername as the driver, non-zero otherwise.

Should not be used unless the backend returns true from requires_driver_selection()

intset_input_device_name (std::string)

Set the name of the input device to be used if using separate input/output devices.

use_separate_input_and_output_devices()

intset_output_device_name (std::string)

Set the name of the output device to be used if using separate input/output devices.

use_separate_input_and_output_devices()

intset_peridod_size (unsigned int)

Set the period size to be used. must be called before starting the backend.

intset_sample_rate (float)

Set the sample rate to be used

booluse_separate_input_and_output_devices ()

An optional alternate interface for backends to provide a facility to select separate input and output devices.

If a backend returns true then enumerate_input_devices() and enumerate_output_devices() will be used instead of enumerate_devices() to enumerate devices. Similarly set_input/output_device_name() should be used to set devices instead of set_device_name().

 ARDOUR:AudioBackendInfo

C‡: ARDOUR::AudioBackendInfo

Data Members
char*name

 ARDOUR:AudioBuffer

C‡: ARDOUR::AudioBuffer

Buffer containing audio data.

Methods
voidapply_gain (float, long)

Apply a fixed gain factor to the audio buffer

gain
gain factor
len
number of samples to amplify
boolcheck_silence (unsigned int, unsigned int&)

Check buffer for silence

nframes
number of samples to check
n
first non zero sample (if any)

Returns true if all samples are zero

FloatArraydata (long)
voidread_from (FloatArray, long, long, long)
voidsilence (long, long)

silence buffer

len
number of samples to clear
offset
start offset

 ARDOUR:AudioEngine

C‡: ARDOUR::AudioEngine

is-a: ARDOUR:PortManager

Methods
BackendVectoravailable_backends ()
std::stringcurrent_backend_name ()
boolfreewheeling ()
floatget_dsp_load ()
std::stringget_last_backend_error ()
longprocessed_samples ()
boolrunning ()
AudioBackendset_backend (std::string, std::string, std::string)
intset_buffer_size (unsigned int)
intset_device_name (std::string)
intset_sample_rate (float)
boolsetup_required ()
intstart (bool)
intstop (bool)

Inherited from ARDOUR:PortManager

Methods
intconnect (std::string, std::string)
boolconnected (std::string)
intdisconnect (std::string, std::string)
intdisconnect_port (Port)
LuaTable(int, ...)get_backend_ports (std::string, DataType, PortFlags, StringVector&)
LuaTable(int, ...)get_connections (std::string, StringVector&)
voidget_physical_inputs (DataType, StringVector&, MidiPortFlags, MidiPortFlags)
voidget_physical_outputs (DataType, StringVector&, MidiPortFlags, MidiPortFlags)
Portget_port_by_name (std::string)
name
Full or short name of port

Returns Corresponding Port or 0.

LuaTable(int, ...)get_ports (DataType, PortList&)
std::stringget_pretty_name_by_name (std::string)
ChanCountn_physical_inputs ()
ChanCountn_physical_outputs ()
boolphysically_connected (std::string)
PortEngineport_engine ()
boolport_is_physical (std::string)
voidreset_input_meters ()

 ARDOUR:AudioPlaylist

C‡: std::shared_ptr< ARDOUR::AudioPlaylist >, std::weak_ptr< ARDOUR::AudioPlaylist >

is-a: ARDOUR:Playlist

A named object associated with a Session. Objects derived from this class are expected to be destroyed before the session calls drop_references().

Methods
boolisnil ()
timecnt_tread (FloatArray, FloatArray, FloatArray, timepos_t, timecnt_t, unsigned int)

Inherited from ARDOUR:Playlist

Methods
voidadd_region (Region, timepos_t, float, bool)
Regioncombine (RegionList, Track)
unsigned intcount_regions_at (timepos_t)
Playlistcut (TimelineRangeList&)
DataTypedata_type ()
voidduplicate (Region, timepos_t&, timecnt_t, float)
voidduplicate_range (TimelineRange&, float)
voidduplicate_until (Region, timepos_t&, timecnt_t, timepos_t)
boolempty ()
Regionfind_next_region (timepos_t, RegionPoint, int)
timepos_tfind_next_region_boundary (timepos_t, int)
longfind_next_transient (timepos_t, int)
IDget_orig_track_id ()
boolhidden ()
voidlower_region (Region)
voidlower_region_to_bottom (Region)
unsigned intn_regions ()
voidraise_region (Region)
voidraise_region_to_top (Region)
Regionregion_by_id (ID)
RegionListPtrregion_list ()
RegionListPtrregions_at (timepos_t)
RegionListPtrregions_touched (timepos_t, timepos_t)
RegionListPtrregions_with_end_within (Range)
RegionListPtrregions_with_start_within (Range)
voidremove_region (Region)
boolset_name (std::string)
boolshared ()
voidsplit_region (Region, timepos_t)
Regiontop_region_at (timepos_t)
Regiontop_unmuted_region_at (timepos_t)
voiduncombine (Region)
boolused ()
Cast
AudioPlaylistto_audioplaylist ()
MidiPlaylistto_midiplaylist ()

Inherited from ARDOUR:SessionObjectPtr

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:AudioPort

C‡: std::shared_ptr< ARDOUR::AudioPort >, std::weak_ptr< ARDOUR::AudioPort >

is-a: ARDOUR:Port

Methods
boolisnil ()

Inherited from ARDOUR:Port

Methods
intconnect (std::string)
boolconnected ()

Returns true if this port is connected to anything

boolconnected_to (std::string)
o
Port name

Returns true if this port is connected to o, otherwise false.

intdisconnect (std::string)
intdisconnect_all ()
PortFlagsflags ()

Returns flags

LuaTable(...)get_connected_latency_range (LatencyRange&, bool)
std::stringname ()

Returns Port short name

boolphysically_connected ()
std::stringpretty_name (bool)

Returns Port human readable name

LatencyRangeprivate_latency_range (bool)
LatencyRangepublic_latency_range (bool)
boolreceives_input ()

Returns true if this Port receives input, otherwise false

boolsends_output ()

Returns true if this Port sends output, otherwise false

Cast
AsyncMIDIPortto_asyncmidiport ()
AudioPortto_audioport ()
MidiPortto_midiport ()

 ARDOUR:AudioPortMeters

C‡: std::map<std::string, ARDOUR::PortManager::DPM >

Constructor
ARDOUR.AudioPortMeters ()
Methods
LuaTableadd (std::string, ARDOUR::PortManager::DPM )
...at (--lua--)
voidclear ()
unsigned longcount (std::string)
boolempty ()
LuaIteriter ()
unsigned longsize ()
LuaTabletable ()

 ARDOUR:AudioRegion

C‡: std::shared_ptr< ARDOUR::AudioRegion >, std::weak_ptr< ARDOUR::AudioRegion >

is-a: ARDOUR:Region

A named object associated with a Session. Objects derived from this class are expected to be destroyed before the session calls drop_references().

Methods
AudioSourceaudio_source (unsigned int)
AutomationListenvelope ()
boolenvelope_active ()
boolfade_in_active ()
boolfade_out_active ()
boolisnil ()
doublemaximum_amplitude (Progress)

Returns the maximum (linear) amplitude of the region, or a -ve number if the Progress object reports that the process was cancelled.

unsigned intn_channels ()
doublerms (Progress)

Returns the maximum (rms) signal power of the region, or a -1 if the Progress object reports that the process was cancelled.

floatscale_amplitude ()
LuaTable(int, ...)separate_by_channel (RegionVector&)
voidset_envelope_active (bool)
voidset_fade_in_active (bool)
voidset_fade_in_length (long)
voidset_fade_in_shape (FadeShape)
voidset_fade_out_active (bool)
voidset_fade_out_length (long)
voidset_fade_out_shape (FadeShape)
voidset_scale_amplitude (float)
Cast
Readableto_readable ()

Inherited from ARDOUR:Region

Methods
boolat_natural_position ()
boolautomatic ()
boolcan_move ()
boolcaptured ()
voidcaptured_xruns (XrunPositions&, bool)
voidclear_sync_position ()
Controlcontrol (Parameter, bool)
boolcovers (timepos_t)
voidcut_end (timepos_t)
voidcut_front (timepos_t)
DataTypedata_type ()
boolexternal ()
boolhas_transients ()
boolhidden ()
boolimport ()
boolis_compound ()
unsigned intlayer ()
timecnt_tlength ()
boollocked ()
voidlower ()
voidlower_to_bottom ()
StringVectormaster_source_names ()
SourceListmaster_sources ()
voidmove_start (timecnt_t)
voidmove_to_natural_position ()
boolmuted ()
voidnudge_position (timecnt_t)
boolopaque ()
Playlistplaylist ()
timepos_tposition ()

How the region parameters play together:

POSITION: first sample of the region along the timeline START: first sample of the region within its source(s) LENGTH: number of samples the region represents

boolposition_locked ()
voidraise ()
voidraise_to_top ()
voidset_hidden (bool)
voidset_initial_position (timepos_t)
voidset_length (timecnt_t)
voidset_locked (bool)
voidset_muted (bool)
boolset_name (std::string)

Note: changing the name of a Region does not constitute an edit

voidset_opaque (bool)
voidset_position (timepos_t)
voidset_position_locked (bool)
voidset_start (timepos_t)
voidset_sync_position (timepos_t)
voidset_video_locked (bool)
floatshift ()
Sourcesource (unsigned int)
timepos_tstart ()
floatstretch ()
boolsync_marked ()
LuaTable(timecnt_t, ...)sync_offset (int&)
timepos_tsync_position ()

Returns Sync position in session time

Int64Listtransients ()
voidtrim_end (timepos_t)
voidtrim_front (timepos_t)
voidtrim_to (timepos_t, timecnt_t)
boolvideo_locked ()
boolwhole_file ()
Cast
AudioRegionto_audioregion ()
MidiRegionto_midiregion ()

Inherited from ARDOUR:SessionObjectPtr

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:AudioRom

C‡: std::shared_ptr< ARDOUR::AudioRom >, std::weak_ptr< ARDOUR::AudioRom >

is-a: ARDOUR:Readable

Methods
boolisnil ()
AudioRomnew_rom (FloatArray, unsigned long)

Inherited from ARDOUR:Readable

Methods
ReadableListload (Session&, std::string)
unsigned intn_channels ()
longread (FloatArray, long, long, int)
longreadable_length ()

 ARDOUR:AudioSource

C‡: std::shared_ptr< ARDOUR::AudioSource >, std::weak_ptr< ARDOUR::AudioSource >

is-a: ARDOUR:Source

A named object associated with a Session. Objects derived from this class are expected to be destroyed before the session calls drop_references().

Methods
std::stringcaptured_for ()
boolempty ()
boolisnil ()
boolisnil ()
timepos_tlength ()
unsigned intn_channels ()
unsigned intn_channels ()
longread (FloatArray, long, long, int)
longreadable_length ()
longreadable_length ()
floatsample_rate ()
Cast
Readableto_readable ()

Inherited from ARDOUR:Source

Methods
std::stringancestor_name ()
boolcan_be_analysed ()
XrunPositionscaptured_xruns ()
boolhas_been_analysed ()
timepos_tnatural_position ()
timepos_ttimeline_position ()
longtimestamp ()
intuse_count ()
boolused ()
boolwritable ()
Cast
AudioSourceto_audiosource ()
FileSourceto_filesource ()
MidiSourceto_midisource ()

Inherited from ARDOUR:SessionObjectPtr

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:AudioTrack

C‡: std::shared_ptr< ARDOUR::AudioTrack >, std::weak_ptr< ARDOUR::AudioTrack >

is-a: ARDOUR:Track

A track is an route (bus) with a recordable diskstream and related objects relevant to recording, playback and editing.

Specifically a track has a playlist object that describes material to be played from disk, and modifies that object during recording and editing.

Methods
boolisnil ()

Inherited from ARDOUR:Track

Constructor
ARDOUR.Track ()
Methods
Regionbounce (InterThreadInfo&, std::string)

bounce track from session start to session end to new region

itt
asynchronous progress report and cancel

Returns a new audio region (or nil in case of error)

Regionbounce_range (long, long, InterThreadInfo&, Processor, bool, std::string, bool)

Bounce the given range to a new audio region.

start
start time (in samples)
end
end time (in samples)
itt
asynchronous progress report and cancel
endpoint
the processor to tap the signal off (or nil for the top)
include_endpoint
include the given processor in the bounced audio.

Returns a new audio region (or nil in case of error)

boolbounceable (Processor, bool)

Test if the track can be bounced with the given settings. If sends/inserts/returns are present in the signal path or the given track has no audio outputs bouncing is not possible.

endpoint
the processor to tap the signal off (or nil for the top)
include_endpoint
include the given processor in the bounced audio.

Returns true if the track can be bounced, or false otherwise.

boolcan_record ()
intfind_and_use_playlist (DataType, ID)
Playlistplaylist ()
boolset_name (std::string)
intuse_copy_playlist ()
intuse_new_playlist (DataType)
intuse_playlist (DataType, Playlist, bool)
Cast
AudioTrackto_audio_track ()
MidiTrackto_midi_track ()

Inherited from ARDOUR:Route

Methods
boolactive ()
intadd_aux_send (Route, Processor)

Add an aux send to a route.

route
route to send to.
before
Processor to insert before, or 0 to insert at the end.
intadd_foldback_send (Route, bool)
intadd_processor_by_index (Processor, int, ProcessorStreams, bool)

Add a processor to a route such that it ends up with a given index into the visible processors.

index
Index to add the processor at, or -1 to add at the end of the list.

Returns 0 on success, non-0 on failure.

booladd_sidechain (Processor)
Ampamp ()
voidclear_stripables ()
std::stringcomment ()
boolcustomize_plugin_insert (Processor, unsigned int, ChanCount, ChanCount)

enable custom plugin-insert configuration

proc
Processor to customize
count
number of plugin instances to use (if zero, reset to default)
outs
output port customization
sinks
input pins for variable-I/O plugins

Returns true if successful

DataTypedata_type ()
Stripablefirst_selected_stripable ()
IOinput ()
Deliverymain_outs ()

the signal processorat at end of the processing chain which produces output

MonitorControlmonitoring_control ()
MonitorStatemonitoring_state ()
boolmuted ()
ChanCountn_inputs ()
ChanCountn_outputs ()
Processornth_plugin (unsigned int)
Processornth_processor (unsigned int)
Processornth_send (unsigned int)
IOoutput ()
PannerShellpanner_shell ()
PeakMeterpeak_meter ()
longplayback_latency (bool)
intremove_processor (Processor, ProcessorStreams, bool)

remove plugin/processor

proc
processor to remove
err
error report (index where removal vailed, channel-count why it failed) may be nil
need_process_lock
if locking is required (set to true, unless called from RT context with lock)

Returns 0 on success

intremove_processors (ProcessorList, ProcessorStreams)
boolremove_sidechain (Processor)
intreorder_processors (ProcessorList, ProcessorStreams)
intreplace_processor (Processor, Processor, ProcessorStreams)

replace plugin/processor with another

old
processor to remove
sub
processor to substitute the old one with
err
error report (index where removal vailed, channel-count why it failed) may be nil

Returns 0 on success

boolreset_plugin_insert (Processor)

reset plugin-insert configuration to default, disable customizations.

This is equivalent to calling

 customize_plugin_insert (proc, 0, unused)
proc
Processor to reset

Returns true if successful

voidselect_next_stripable (bool, bool)
voidselect_prev_stripable (bool, bool)
voidset_active (bool, void*)
voidset_comment (std::string, void*)
voidset_meter_point (MeterPoint)
boolset_strict_io (bool)
longsignal_latency ()
boolsoloed ()
boolstrict_io ()
SurroundReturnsurround_return ()
SurroundSendsurround_send ()
Processorthe_instrument ()

Return the first processor that accepts has at least one MIDI input and at least one audio output. In the vast majority of cases, this will be "the instrument". This does not preclude other MIDI->audio processors later in the processing chain, but that would be a special case not covered by this utility function.

Amptrim ()
Cast
Trackto_track ()

Inherited from ARDOUR:Stripable

Methods
unsigned inteq_band_cnt ()
std::stringeq_band_name (unsigned int)
GainControlgain_control ()
boolis_auditioner ()
boolis_hidden ()
boolis_master ()
boolis_monitor ()
boolis_private_route ()
boolis_selected ()
boolis_surround_master ()
AutomationControlmapped_control (WellKnownCtrl, unsigned int)
ReadOnlyControlmapped_output (WellKnownData)
AutomationControlmaster_send_enable_controllable ()
MonitorProcessormonitor_control ()
MuteControlmute_control ()
AutomationControlpan_azimuth_control ()
AutomationControlpan_elevation_control ()
AutomationControlpan_frontback_control ()
AutomationControlpan_lfe_control ()
AutomationControlpan_width_control ()
PhaseControlphase_control ()
PresentationInfopresentation_info_ptr ()
AutomationControlrec_enable_control ()
AutomationControlrec_safe_control ()
AutomationControlsend_enable_controllable (unsigned int)
AutomationControlsend_level_controllable (unsigned int)
std::stringsend_name (unsigned int)
AutomationControlsend_pan_azimuth_controllable (unsigned int)
AutomationControlsend_pan_azimuth_enable_controllable (unsigned int)
voidset_presentation_order (unsigned int)
boolslaved ()
boolslaved_to (VCA)
SoloControlsolo_control ()
SoloIsolateControlsolo_isolate_control ()
SoloSafeControlsolo_safe_control ()
GainControltrim_control ()
Cast
Automatableto_automatable ()
Routeto_route ()
Slavableto_slavable ()
VCAto_vca ()

Inherited from ARDOUR:SessionObjectPtr

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

Inherited from PBD:Stateful

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 ARDOUR:AudioTrackList

C‡: std::list<std::shared_ptr<ARDOUR::AudioTrack> >

Constructor
ARDOUR.AudioTrackList ()
Methods
LuaTableadd (LuaTable {AudioTrack})
AudioTrackback ()
voidclear ()
boolempty ()
AudioTrackfront ()
LuaIteriter ()
voidpush_back (AudioTrack)
voidreverse ()
unsigned longsize ()
LuaTabletable ()
voidunique ()

 ARDOUR:Automatable

C‡: std::shared_ptr< ARDOUR::Automatable >, std::weak_ptr< ARDOUR::Automatable >

is-a: Evoral:ControlSet

Methods
ParameterListall_automatable_params ()

API for Lua binding

AutomationControlautomation_control (Parameter, bool)
boolisnil ()
Cast
Slavableto_slavable ()

 ARDOUR:AutomatableSequence

C‡: std::shared_ptr< ARDOUR::AutomatableSequence<Temporal::Beats> >, std::weak_ptr< ARDOUR::AutomatableSequence<Temporal::Beats> >

is-a: ARDOUR:Automatable

Methods
boolisnil ()
Cast
Sequenceto_sequence ()

Inherited from ARDOUR:Automatable

Methods
ParameterListall_automatable_params ()

API for Lua binding

AutomationControlautomation_control (Parameter, bool)
Cast
Slavableto_slavable ()

 ARDOUR:AutomationControl

C‡: std::shared_ptr< ARDOUR::AutomationControl >, std::weak_ptr< ARDOUR::AutomationControl >

is-a: PBD:Controllable

A PBD::Controllable with associated automation data (AutomationList)

Methods
AutomationListalist ()
AutoStateautomation_state ()
ParameterDescriptordesc ()
doubleget_value ()

Get `internal' value

Returns raw value as used for the plugin/processor control port

boolisnil ()
doublelower ()
doublenormal ()
voidset_automation_state (AutoState)
voidset_value (double, GroupControlDisposition)

Set `internal' value

All derived classes must implement this.

Basic derived classes will ignore group_override but more sophisticated children, notably those that proxy the value setting logic via an object that is aware of group relationships between this control and others, will find it useful.

value
raw numeric value to set
group_override
if and how to propagate value to grouped controls
voidstart_touch (timepos_t)
voidstop_touch (timepos_t)
booltoggled ()
doubleupper ()
boolwritable ()
Cast
Controlto_ctrl ()
SlavableAutomationControlto_slavable ()

Inherited from PBD:Controllable

Methods
voiddump_registry ()
std::stringname ()
ControllableSetregistered_controllables ()
Cast
AutomationControlto_automationcontrol ()
MPGainControlto_mpgain ()
MPToggleControlto_mptoggle ()

Inherited from PBD:StatefulPtr

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 ARDOUR:AutomationList

C‡: std::shared_ptr< ARDOUR::AutomationList >, std::weak_ptr< ARDOUR::AutomationList >

is-a: Evoral:ControlList

AutomationList is a stateful wrapper around Evoral::ControlList. It includes session-specifics (such as automation state), control logic (e.g. touch, signals) and acts as proxy to the underlying ControlList which holds the actual data.

Methods
XMLNodeget_state ()
boolisnil ()
Commandmemento_command (XMLNode, XMLNode)
booltouch_enabled ()
booltouching ()
boolwriting ()
Cast
ControlListlist ()
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

Inherited from Evoral:ControlList

Methods
voidadd (timepos_t, double, bool, bool)
voidclear (timepos_t, timepos_t)
voidclear_list ()
booleditor_add (timepos_t, double, bool)
doubleeval (timepos_t)
EventListevents ()

Returns the list of events

boolin_write_pass ()

Returns true if transport is running and this list is in write mode

InterpolationStyleinterpolation ()

query interpolation style of the automation data

Returns Interpolation Style

LuaTable(double, ...)rt_safe_eval (timepos_t, bool&)
boolset_interpolation (InterpolationStyle)

Sets the interpolation style of the automation data.

This will fail when asking for Logarithmic scale and min,max crosses 0 or Exponential scale with min != 0.

is
interpolation style

Returns true if style change was successful

unsigned longsize ()
voidthin (double)

Thin the number of events in this list.

The thinning factor corresponds to the area of a triangle computed between three points in the list (time-difference * value-difference). If the area is large, it indicates significant non-linearity between the points.

Time is measured in samples, value is usually normalized to 0..1.

During automation recording we thin the recorded points using this value. If a point is sufficiently co-linear with its neighbours (as defined by the area of the triangle formed by three of them), we will not include it in the list. The larger the value, the more points are excluded, so this effectively measures the amount of thinning to be done.

thinning_factor
area-size (default: 20)
voidtruncate_end (timepos_t)
voidtruncate_start (timecnt_t)
Cast
AutomationListto_automationlist ()

 ARDOUR:AutomationTypeSet

C‡: std::set<ARDOUR::AutomationType >

Constructor
ARDOUR.AutomationTypeSet ()
Methods
voidclear ()
boolempty ()
LuaIteriter ()
unsigned longsize ()
LuaTabletable ()

 ARDOUR:BackendVector

C‡: std::vector<ARDOUR::AudioBackendInfo const* >

Constructor
ARDOUR.BackendVector ()
Methods
AudioBackendInfoat (unsigned long)
boolempty ()
LuaIteriter ()
unsigned longsize ()
LuaTabletable ()

 ARDOUR:BufferSet

C‡: ARDOUR::BufferSet

A set of buffers of various types.

These are mainly accessed from Session and passed around as scratch buffers (eg as parameters to run() methods) to do in-place signal processing.

There are two types of counts associated with a BufferSet - available, and the 'use count'. Available is the actual number of allocated buffers (and so is the maximum acceptable value for the use counts).

The use counts are how things determine the form of their input and inform others the form of their output (eg what they did to the BufferSet). Setting the use counts is realtime safe.

Methods
ChanCountavailable ()
ChanCountcount ()
AudioBufferget_audio (unsigned long)
MidiBufferget_midi (unsigned long)

 ARDOUR:Bundle

C‡: std::shared_ptr< ARDOUR::Bundle >, std::weak_ptr< ARDOUR::Bundle >

A set of `channels', each of which is associated with 0 or more ports. Each channel has a name which can be anything useful, and a data type. Intended for grouping things like, for example, a buss' outputs. `Channel' is a rather overloaded term but I can't think of a better one right now.

Methods
std::stringchannel_name (unsigned int)
ch
Channel.

Returns Channel name.

boolisnil ()
unsigned intn_total ()
std::stringname ()

Returns Bundle name

ChanCountnchannels ()

Returns Number of channels that this Bundle has

boolports_are_inputs ()
boolports_are_outputs ()
Cast
UserBundleto_userbundle ()

 ARDOUR:BundleListPtr

C‡: std::shared_ptr<std::vector<std::shared_ptr<ARDOUR::Bundle> > >

Constructor
ARDOUR.BundleListPtr ()
Methods
LuaTableadd (LuaTable {Bundle})
Bundleat (unsigned long)
voidclear ()
boolempty ()
LuaIteriter ()
voidpush_back (Bundle)
unsigned longsize ()
LuaTabletable ()

 ARDOUR:ChanCount

C‡: ARDOUR::ChanCount

A count of channels, possibly with many types.

Operators are defined so this may safely be used as if it were a simple (single-typed) integer count of channels.

Constructor
ARDOUR.ChanCount (DataType, unsigned int)

Convenience constructor for making single-typed streams (mono, stereo, midi, etc)

type
data type
count
number of channels
Methods
unsigned intget (DataType)

query channel count for given type

t
data type

Returns channel count for given type

unsigned intn_audio ()

query number of audio channels

Returns number of audio channels

unsigned intn_midi ()

query number of midi channels

Returns number of midi channels

unsigned intn_total ()

query total channel count of all data types

Returns total channel count (audio + midi)

voidreset ()

zero count of all data types

voidset (DataType, unsigned int)

set channel count for given type

t
data type
count
number of channels
voidset_audio (unsigned int)

set number of audio channels

a
number of audio channels
voidset_midi (unsigned int)

set number of audio channels

m
number of midi channels

 ARDOUR:ChanMapping

C‡: ARDOUR::ChanMapping

A mapping from one set of channels to another. The general form is 1 source (from), many sinks (to). numeric IDs are used to identify sources and sinks.

for plugins this is used to map "plugin-pin" to "audio-buffer"

Constructor
ARDOUR.ChanMapping ()
Methods
ChanCountcount ()
unsigned intget (DataType, unsigned int)

get buffer mapping for given data type and pin

type
data type
from
numeric source id

Returns mapped buffer number (or ChanMapping::Invalid)

boolis_monotonic ()

Test if this mapping is monotonic (useful to see if inplace processing is feasible)

Returns true if the map is a strict monotonic set

unsigned intn_total ()
voidset (DataType, unsigned int, unsigned int)

set buffer mapping for given data type

type
data type
from
numeric source id
to
buffer

 ARDOUR:ConstBundleListPtr

C‡: std::shared_ptr<std::vector<std::shared_ptr<ARDOUR::Bundle> > const>

Constructor
ARDOUR.ConstBundleListPtr ()
Methods
Bundleat (unsigned long)
boolempty ()
LuaIteriter ()
unsigned longsize ()
LuaTabletable ()

 ARDOUR:ConstRouteListPtr

C‡: std::shared_ptr<std::list<std::shared_ptr<ARDOUR::Route> > const>

Constructor
ARDOUR.ConstRouteListPtr ()
Methods
boolempty ()
LuaIteriter ()
voidreverse ()
unsigned longsize ()
LuaTabletable ()

 ARDOUR:ControlList

C‡: std::list<std::shared_ptr<ARDOUR::AutomationControl> >

Constructor
ARDOUR.ControlList ()
Methods
LuaTableadd (LuaTable {AutomationControl})
AutomationControlback ()
voidclear ()
boolempty ()
AutomationControlfront ()
LuaIteriter ()
voidpush_back (AutomationControl)
voidreverse ()
unsigned longsize ()
LuaTabletable ()
voidunique ()

 ARDOUR:ControlListPtr

C‡: std::shared_ptr<std::list<std::shared_ptr<ARDOUR::AutomationControl> > >

Constructor
ARDOUR.ControlListPtr ()
Methods
LuaTableadd (LuaTable {AutomationControl})
voidclear ()
boolempty ()
LuaIteriter ()
voidpush_back (AutomationControl)
voidreverse ()
unsigned longsize ()
LuaTabletable ()
voidunique ()

 ARDOUR:ControllableSet

C‡: std::set<std::shared_ptr<PBD::Controllable> > >

Constructor
ARDOUR.ControllableSet ()
Methods
voidclear ()
boolempty ()
LuaIteriter ()
unsigned longsize ()
LuaTabletable ()

 ARDOUR.DSP

Methods
floataccurate_coefficient_to_dB (float)
voidapply_gain_to_buffer (FloatArray, unsigned int, float)
floatcompute_peak (FloatArray, unsigned int, float)
voidcopy_vector (FloatArray, FloatArray, unsigned int)
floatdB_to_coefficient (float)
floatfast_coefficient_to_dB (float)
voidfind_peaks (FloatArray, unsigned int, FloatArray, FloatArray)
floatlog_meter (float)

non-linear power-scale meter deflection

power
signal power (dB)

Returns deflected value

floatlog_meter_coeff (float)

non-linear power-scale meter deflection

coeff
signal value

Returns deflected value

voidmemset (FloatArray, float, unsigned int)

lua wrapper to memset()

voidmix_buffers_no_gain (FloatArray, FloatArray, unsigned int)
voidmix_buffers_with_gain (FloatArray, FloatArray, unsigned int, float)
voidmmult (FloatArray, FloatArray, unsigned int)

matrix multiply multiply every sample of `data' with the corresponding sample at `mult'.

data
multiplicand
mult
multiplicand
n_samples
number of samples in data and mmult
LuaTable(...)peaks (FloatArray, float&, float&, unsigned int)
voidprocess_map (BufferSet, ChanCount, ChanMapping, ChanMapping, unsigned int, long)

 ARDOUR:DSP:Biquad

C‡: ARDOUR::DSP::Biquad

Biquad Filter

Constructor
ARDOUR.DSP.Biquad (double)

Instantiate Biquad Filter

samplerate
Samplerate
Methods
voidcompute (Type, double, double, double)

setup filter, compute coefficients

t
filter type (LowPass, HighPass, etc)
freq
filter frequency
Q
filter quality
gain
filter gain
voidconfigure (Biquad)
floatdB_at_freq (float)

filter transfer function (filter response for spectrum visualization)

freq
frequency

Returns gain at given frequency in dB (clamped to -120..+120)

voidreset ()

reset filter state

voidrun (FloatArray, unsigned int)

process audio data

data
pointer to audio-data
n_samples
number of samples to process
voidset_coefficients (double, double, double, double, double)

 ARDOUR:DSP:Convolution

C‡: ARDOUR::DSP::Convolution

Constructor
ARDOUR.DSP.Convolution (Session&, unsigned int, unsigned int)
Methods
booladd_impdata (unsigned int, unsigned int, Readable, float, unsigned int, long, long, unsigned int)
voidclear_impdata ()
unsigned intlatency ()
unsigned intn_inputs ()
unsigned intn_outputs ()
boolready ()
voidrestart ()
voidrun (BufferSet&, ChanMapping, ChanMapping, unsigned int, long)
voidrun_mono_buffered (FloatArray, unsigned int)
voidrun_mono_no_latency (FloatArray, unsigned int)

 ARDOUR:DSP:Convolver

C‡: ARDOUR::DSP::Convolver

is-a: ARDOUR:DSP:Convolution

Constructor
ARDOUR.DSP.Convolver (Session&, std::string, IRChannelConfig, IRSettings)
Methods
voidrun_stereo_buffered (FloatArray, FloatArray, unsigned int)
voidrun_stereo_no_latency (FloatArray, FloatArray, unsigned int)

Inherited from ARDOUR:DSP:Convolution

Constructor
ARDOUR.DSP.Convolution (Session&, unsigned int, unsigned int)
Methods
booladd_impdata (unsigned int, unsigned int, Readable, float, unsigned int, long, long, unsigned int)
voidclear_impdata ()
unsigned intlatency ()
unsigned intn_inputs ()
unsigned intn_outputs ()
boolready ()
voidrestart ()
voidrun (BufferSet&, ChanMapping, ChanMapping, unsigned int, long)
voidrun_mono_buffered (FloatArray, unsigned int)
voidrun_mono_no_latency (FloatArray, unsigned int)

 ARDOUR:DSP:DspShm

C‡: ARDOUR::DSP::DspShm

C/C++ Shared Memory

A convenience class representing a C array of float[] or int32_t[] data values. This is useful for lua scripts to perform DSP operations directly using C/C++ with CPU Hardware acceleration.

Access to this memory area is always 4 byte aligned. The data is interpreted either as float or as int.

This memory area can also be shared between different instances or the same lua plugin (DSP, GUI).

Since memory allocation is not realtime safe it should be allocated during dsp_init() or dsp_configure(). The memory is free()ed automatically when the lua instance is destroyed.

Constructor
ARDOUR.DSP.DspShm (unsigned long)
Methods
voidallocate (unsigned long)

[re] allocate memory in host's memory space

s
size, total number of float or integer elements to store.
intatomic_get_int (unsigned long)

atomically read integer at offset

This involves a memory barrier. This call is intended for buffers which are shared with another instance.

off
offset in shared memory region

Returns value at offset

voidatomic_set_int (unsigned long, int)

atomically set integer at offset

This involves a memory barrier. This call is intended for buffers which are shared with another instance.

off
offset in shared memory region
val
value to set
voidclear ()

clear memory (set to zero)

FloatArrayto_float (unsigned long)

access memory as float array

off
offset in shared memory region

Returns float[]

IntArrayto_int (unsigned long)

access memory as integer array

off
offset in shared memory region

Returns int_32_t[]

 ARDOUR:DSP:FFTSpectrum

C‡: ARDOUR::DSP::FFTSpectrum

Constructor
ARDOUR.DSP.FFTSpectrum (unsigned int, double)
Methods
voidexecute ()

process current data in buffer

floatfreq_at_bin (unsigned int)
floatpower_at_bin (unsigned int, float)

query

bin
the frequency bin 0 .. window_size / 2
norm
gain factor (set equal to bin for 1/f normalization)

Returns signal power at given bin (in dBFS)

voidset_data_hann (FloatArray, unsigned int, unsigned int)

 ARDOUR:DSP:Generator

C‡: ARDOUR::DSP::Generator

Constructor
ARDOUR.DSP.Generator ()
Methods
voidrun (FloatArray, unsigned int)
voidset_type (Type)

 ARDOUR:DSP:IRSettings

C‡: ARDOUR::DSP::Convolver::IRSettings

Constructor
ARDOUR.DSP.IRSettings ()
Methods
unsigned intget_channel_delay (unsigned int)
floatget_channel_gain (unsigned int)
voidset_channel_delay (unsigned int, unsigned int)
voidset_channel_gain (unsigned int, float)
Data Members
floatgain
unsigned intpre_delay

 ARDOUR:DSP:LTCReader

C‡: ARDOUR::LTCReader

Constructor
ARDOUR.DSP.LTCReader (int, LTC_TV_STANDARD)
Methods
LuaTable(long, ...)read (unsigned int&, unsigned int&, unsigned int&, unsigned int&, long&)
voidwrite (FloatArray, long, long)

 ARDOUR:DSP:LowPass

C‡: ARDOUR::DSP::LowPass

1st order Low Pass filter

Constructor
ARDOUR.DSP.LowPass (double, float)

instantiate a LPF

samplerate
samplerate
freq
cut-off frequency
Methods
voidctrl (FloatArray, float, unsigned int)

filter control data

This is useful for parameter smoothing.

data
pointer to control-data array
val
target value
n_samples
array length
voidproc (FloatArray, unsigned int)

process audio data

data
pointer to audio-data
n_samples
number of samples to process
voidreset ()

reset filter state

voidset_cutoff (float)

update filter cut-off frequency

freq
cut-off frequency

 ARDOUR:DataType

C‡: ARDOUR::DataType

A type of Data Ardour is capable of processing.

The majority of this class is dedicated to conversion to and from various other type representations, simple comparison between then, etc. This code is deliberately 'ugly' so other code doesn't have to be.

Constructor
ARDOUR.DataType (std::string)
Methods
DataTypeaudio ()

convenience constructor for DataType::AUDIO with managed lifetime

Returns DataType::AUDIO

DataTypemidi ()

convenience constructor for DataType::MIDI with managed lifetime

Returns DataType::MIDI

DataTypenull ()

convenience constructor for DataType::NIL with managed lifetime

Returns DataType::NIL

char*to_string ()

Inverse of the from-string constructor

 ARDOUR:DelayLine

C‡: std::shared_ptr< ARDOUR::DelayLine >, std::weak_ptr< ARDOUR::DelayLine >

is-a: ARDOUR:Processor

Meters peaks on the input and stores them for access.

Methods
longdelay ()
boolisnil ()

Inherited from ARDOUR:Processor

Methods
voidactivate ()
boolactive ()
longcapture_offset ()
voiddeactivate ()
std::stringdisplay_name ()
booldisplay_to_user ()
longinput_latency ()
ChanCountinput_streams ()
longoutput_latency ()
ChanCountoutput_streams ()
longplayback_offset ()
longsignal_latency ()
Cast
Ampto_amp ()
Automatableto_automatable ()
DelayLineto_delayline ()
DiskIOProcessorto_diskioprocessor ()
DiskReaderto_diskreader ()
DiskWriterto_diskwriter ()
PluginInsertto_insert ()
InternalSendto_internalsend ()
IOProcessorto_ioprocessor ()
Latentto_latent ()
PeakMeterto_meter ()
MonitorProcessorto_monitorprocessor ()
PeakMeterto_peakmeter ()
PluginInsertto_plugininsert ()
PolarityProcessorto_polarityprocessor ()
Sendto_send ()
SideChainto_sidechain ()
SurroundSendto_surroundsend ()
UnknownProcessorto_unknownprocessor ()

Inherited from ARDOUR:SessionObjectPtr

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:Delivery

C‡: std::shared_ptr< ARDOUR::Delivery >, std::weak_ptr< ARDOUR::Delivery >

is-a: ARDOUR:IOProcessor

A mixer strip element (Processor) with 1 or 2 IO elements.

Methods
boolisnil ()
PannerShellpanner_shell ()

Inherited from ARDOUR:IOProcessor

Methods
IOinput ()
ChanCountnatural_input_streams ()
ChanCountnatural_output_streams ()
IOoutput ()

Inherited from ARDOUR:Processor

Methods
voidactivate ()
boolactive ()
longcapture_offset ()
voiddeactivate ()
std::stringdisplay_name ()
booldisplay_to_user ()
longinput_latency ()
ChanCountinput_streams ()
longoutput_latency ()
ChanCountoutput_streams ()
longplayback_offset ()
longsignal_latency ()
Cast
Ampto_amp ()
Automatableto_automatable ()
DelayLineto_delayline ()
DiskIOProcessorto_diskioprocessor ()
DiskReaderto_diskreader ()
DiskWriterto_diskwriter ()
PluginInsertto_insert ()
InternalSendto_internalsend ()
IOProcessorto_ioprocessor ()
Latentto_latent ()
PeakMeterto_meter ()
MonitorProcessorto_monitorprocessor ()
PeakMeterto_peakmeter ()
PluginInsertto_plugininsert ()
PolarityProcessorto_polarityprocessor ()
Sendto_send ()
SideChainto_sidechain ()
SurroundSendto_surroundsend ()
UnknownProcessorto_unknownprocessor ()

Inherited from ARDOUR:SessionObjectPtr

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:DeviceStatus

C‡: ARDOUR::AudioBackend::DeviceStatus

used to list device names along with whether or not they are currently available.

Data Members
boolavailable
std::stringname

 ARDOUR:DeviceStatusVector

C‡: std::vector<ARDOUR::AudioBackend::DeviceStatus >

Constructor
ARDOUR.DeviceStatusVector ()
ARDOUR.DeviceStatusVector ()
Methods
LuaTableadd (LuaTable {DeviceStatus})
DeviceStatusat (unsigned long)
voidclear ()
boolempty ()
LuaIteriter ()
voidpush_back (DeviceStatus)
voidreserve (unsigned long)
unsigned longsize ()
LuaTabletable ()
...to_array (--lua--)

 ARDOUR:DiskIOProcessor

C‡: std::shared_ptr< ARDOUR::DiskIOProcessor >, std::weak_ptr< ARDOUR::DiskIOProcessor >

is-a: ARDOUR:Processor

A mixer strip element - plugin, send, meter, etc

Methods
boolisnil ()

Inherited from ARDOUR:Processor

Methods
voidactivate ()
boolactive ()
longcapture_offset ()
voiddeactivate ()
std::stringdisplay_name ()
booldisplay_to_user ()
longinput_latency ()
ChanCountinput_streams ()
longoutput_latency ()
ChanCountoutput_streams ()
longplayback_offset ()
longsignal_latency ()
Cast
Ampto_amp ()
Automatableto_automatable ()
DelayLineto_delayline ()
DiskIOProcessorto_diskioprocessor ()
DiskReaderto_diskreader ()
DiskWriterto_diskwriter ()
PluginInsertto_insert ()
InternalSendto_internalsend ()
IOProcessorto_ioprocessor ()
Latentto_latent ()
PeakMeterto_meter ()
MonitorProcessorto_monitorprocessor ()
PeakMeterto_peakmeter ()
PluginInsertto_plugininsert ()
PolarityProcessorto_polarityprocessor ()
Sendto_send ()
SideChainto_sidechain ()
SurroundSendto_surroundsend ()
UnknownProcessorto_unknownprocessor ()

Inherited from ARDOUR:SessionObjectPtr

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:DiskReader

C‡: std::shared_ptr< ARDOUR::DiskReader >, std::weak_ptr< ARDOUR::DiskReader >

is-a: ARDOUR:DiskIOProcessor

A mixer strip element - plugin, send, meter, etc

Methods
boolisnil ()

Inherited from ARDOUR:Processor

Methods
voidactivate ()
boolactive ()
longcapture_offset ()
voiddeactivate ()
std::stringdisplay_name ()
booldisplay_to_user ()
longinput_latency ()
ChanCountinput_streams ()
longoutput_latency ()
ChanCountoutput_streams ()
longplayback_offset ()
longsignal_latency ()
Cast
Ampto_amp ()
Automatableto_automatable ()
DelayLineto_delayline ()
DiskIOProcessorto_diskioprocessor ()
DiskReaderto_diskreader ()
DiskWriterto_diskwriter ()
PluginInsertto_insert ()
InternalSendto_internalsend ()
IOProcessorto_ioprocessor ()
Latentto_latent ()
PeakMeterto_meter ()
MonitorProcessorto_monitorprocessor ()
PeakMeterto_peakmeter ()
PluginInsertto_plugininsert ()
PolarityProcessorto_polarityprocessor ()
Sendto_send ()
SideChainto_sidechain ()
SurroundSendto_surroundsend ()
UnknownProcessorto_unknownprocessor ()

Inherited from ARDOUR:SessionObjectPtr

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:DiskWriter

C‡: std::shared_ptr< ARDOUR::DiskWriter >, std::weak_ptr< ARDOUR::DiskWriter >

is-a: ARDOUR:DiskIOProcessor

A mixer strip element - plugin, send, meter, etc

Methods
boolisnil ()

Inherited from ARDOUR:Processor

Methods
voidactivate ()
boolactive ()
longcapture_offset ()
voiddeactivate ()
std::stringdisplay_name ()
booldisplay_to_user ()
longinput_latency ()
ChanCountinput_streams ()
longoutput_latency ()
ChanCountoutput_streams ()
longplayback_offset ()
longsignal_latency ()
Cast
Ampto_amp ()
Automatableto_automatable ()
DelayLineto_delayline ()
DiskIOProcessorto_diskioprocessor ()
DiskReaderto_diskreader ()
DiskWriterto_diskwriter ()
PluginInsertto_insert ()
InternalSendto_internalsend ()
IOProcessorto_ioprocessor ()
Latentto_latent ()
PeakMeterto_meter ()
MonitorProcessorto_monitorprocessor ()
PeakMeterto_peakmeter ()
PluginInsertto_plugininsert ()
PolarityProcessorto_polarityprocessor ()
Sendto_send ()
SideChainto_sidechain ()
SurroundSendto_surroundsend ()
UnknownProcessorto_unknownprocessor ()

Inherited from ARDOUR:SessionObjectPtr

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:EventList

C‡: std::list<Evoral::ControlEvent* >

Constructor
ARDOUR.EventList ()
Methods
ControlEventback ()
boolempty ()
ControlEventfront ()
LuaIteriter ()
voidreverse ()
unsigned longsize ()
LuaTabletable ()

 ARDOUR:FileSource

C‡: std::shared_ptr< ARDOUR::FileSource >, std::weak_ptr< ARDOUR::FileSource >

is-a: ARDOUR:Source

A source associated with a file on disk somewhere

Methods
unsigned shortchannel ()
floatgain ()
boolisnil ()
std::stringorigin ()
std::stringpath ()
std::stringtake_id ()
boolwithin_session ()

Inherited from ARDOUR:Source

Methods
std::stringancestor_name ()
boolcan_be_analysed ()
XrunPositionscaptured_xruns ()
boolempty ()
boolhas_been_analysed ()
timepos_tlength ()
timepos_tnatural_position ()
timepos_ttimeline_position ()
longtimestamp ()
intuse_count ()
boolused ()
boolwritable ()
Cast
AudioSourceto_audiosource ()
FileSourceto_filesource ()
MidiSourceto_midisource ()

Inherited from ARDOUR:SessionObjectPtr

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:FluidSynth

C‡: ARDOUR::FluidSynth

Constructor
ARDOUR.FluidSynth (float, int)

instantiate a Synth

samplerate
samplerate
polyphony
polyphony
Methods
boolload_sf2 (std::string)
boolmidi_event (unsigned char*, unsigned long)
voidpanic ()
unsigned intprogram_count ()
std::stringprogram_name (unsigned int)
boolselect_program (unsigned int, unsigned char)
boolsynth (FloatArray, FloatArray, unsigned int)

 ARDOUR:GainControl

C‡: std::shared_ptr< ARDOUR::GainControl >, std::weak_ptr< ARDOUR::GainControl >

is-a: ARDOUR:SlavableAutomationControl

A PBD::Controllable with associated automation data (AutomationList)

Methods
boolisnil ()

Inherited from ARDOUR:SlavableAutomationControl

Methods
voidadd_master (AutomationControl)
voidclear_masters ()
intget_boolean_masters ()
doubleget_masters_value ()
voidremove_master (AutomationControl)
boolslaved ()
boolslaved_to (AutomationControl)

Inherited from ARDOUR:AutomationControl

Methods
AutomationListalist ()
AutoStateautomation_state ()
ParameterDescriptordesc ()
doubleget_value ()

Get `internal' value

Returns raw value as used for the plugin/processor control port

doublelower ()
doublenormal ()
voidset_automation_state (AutoState)
voidset_value (double, GroupControlDisposition)

Set `internal' value

All derived classes must implement this.

Basic derived classes will ignore group_override but more sophisticated children, notably those that proxy the value setting logic via an object that is aware of group relationships between this control and others, will find it useful.

value
raw numeric value to set
group_override
if and how to propagate value to grouped controls
voidstart_touch (timepos_t)
voidstop_touch (timepos_t)
booltoggled ()
doubleupper ()
boolwritable ()
Cast
Controlto_ctrl ()
SlavableAutomationControlto_slavable ()

Inherited from PBD:Controllable

Methods
voiddump_registry ()
std::stringname ()
ControllableSetregistered_controllables ()
Cast
AutomationControlto_automationcontrol ()
MPGainControlto_mpgain ()
MPToggleControlto_mptoggle ()

Inherited from PBD:StatefulPtr

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 ARDOUR:IO

C‡: std::shared_ptr< ARDOUR::IO >, std::weak_ptr< ARDOUR::IO >

is-a: ARDOUR:SessionObjectPtr

A collection of ports (all input or all output) with connections.

An IO can contain ports of varying types, making routes/inserts/etc with varied combinations of types (eg MIDI and audio) possible.

Methods
boolactive ()
intadd_port (std::string, void*, DataType)

Add a port.

destination
Name of port to connect new port to.
src
Source for emitted ConfigurationChanged signal.
type
Data type of port. Default value (NIL) will use this IO's default type.
AudioPortaudio (unsigned int)
intconnect (Port, std::string, void*)
intdisconnect (Port, std::string, void*)
intdisconnect_all (void*)
boolhas_port (Port)
boolisnil ()
longlatency ()
MidiPortmidi (unsigned int)
ChanCountn_ports ()
Portnth (unsigned int)
boolphysically_connected ()
Portport_by_name (unsigned int)
longpublic_latency ()
intremove_port (Port, void*)

Inherited from ARDOUR:SessionObjectPtr

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:IOProcessor

C‡: std::shared_ptr< ARDOUR::IOProcessor >, std::weak_ptr< ARDOUR::IOProcessor >

is-a: ARDOUR:Processor

A mixer strip element (Processor) with 1 or 2 IO elements.

Methods
IOinput ()
boolisnil ()
ChanCountnatural_input_streams ()
ChanCountnatural_output_streams ()
IOoutput ()

Inherited from ARDOUR:Processor

Methods
voidactivate ()
boolactive ()
longcapture_offset ()
voiddeactivate ()
std::stringdisplay_name ()
booldisplay_to_user ()
longinput_latency ()
ChanCountinput_streams ()
longoutput_latency ()
ChanCountoutput_streams ()
longplayback_offset ()
longsignal_latency ()
Cast
Ampto_amp ()
Automatableto_automatable ()
DelayLineto_delayline ()
DiskIOProcessorto_diskioprocessor ()
DiskReaderto_diskreader ()
DiskWriterto_diskwriter ()
PluginInsertto_insert ()
InternalSendto_internalsend ()
IOProcessorto_ioprocessor ()
Latentto_latent ()
PeakMeterto_meter ()
MonitorProcessorto_monitorprocessor ()
PeakMeterto_peakmeter ()
PluginInsertto_plugininsert ()
PolarityProcessorto_polarityprocessor ()
Sendto_send ()
SideChainto_sidechain ()
SurroundSendto_surroundsend ()
UnknownProcessorto_unknownprocessor ()

Inherited from ARDOUR:SessionObjectPtr

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:InterThreadInfo

C‡: ARDOUR::InterThreadInfo

Constructor
ARDOUR.InterThreadInfo ()
Data Members
booldone
floatprogress

 ARDOUR:InternalReturn

C‡: std::shared_ptr< ARDOUR::InternalReturn >, std::weak_ptr< ARDOUR::InternalReturn >

is-a: ARDOUR:Return

A mixer strip element - plugin, send, meter, etc

Methods
boolisnil ()

Inherited from ARDOUR:IOProcessor

Methods
IOinput ()
ChanCountnatural_input_streams ()
ChanCountnatural_output_streams ()
IOoutput ()

Inherited from ARDOUR:Processor

Methods
voidactivate ()
boolactive ()
longcapture_offset ()
voiddeactivate ()
std::stringdisplay_name ()
booldisplay_to_user ()
longinput_latency ()
ChanCountinput_streams ()
longoutput_latency ()
ChanCountoutput_streams ()
longplayback_offset ()
longsignal_latency ()
Cast
Ampto_amp ()
Automatableto_automatable ()
DelayLineto_delayline ()
DiskIOProcessorto_diskioprocessor ()
DiskReaderto_diskreader ()
DiskWriterto_diskwriter ()
PluginInsertto_insert ()
InternalSendto_internalsend ()
IOProcessorto_ioprocessor ()
Latentto_latent ()
PeakMeterto_meter ()
MonitorProcessorto_monitorprocessor ()
PeakMeterto_peakmeter ()
PluginInsertto_plugininsert ()
PolarityProcessorto_polarityprocessor ()
Sendto_send ()
SideChainto_sidechain ()
SurroundSendto_surroundsend ()
UnknownProcessorto_unknownprocessor ()

Inherited from ARDOUR:SessionObjectPtr

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:InternalSend

C‡: std::shared_ptr< ARDOUR::InternalSend >, std::weak_ptr< ARDOUR::InternalSend >

is-a: ARDOUR:Send

A mixer strip element (Processor) with 1 or 2 IO elements.

Methods
boolallow_feedback ()
std::stringdisplay_name ()
boolfeeds (Route)
boolisnil ()
voidset_allow_feedback (bool)
boolset_name (std::string)
Routesource_route ()
Routetarget_route ()

Inherited from ARDOUR:Send

Methods
GainControlgain_control ()
longget_delay_in ()
longget_delay_out ()
boolis_foldback ()
voidset_remove_on_disconnect (bool)
Cast
InternalSendto_internalsend ()

Inherited from ARDOUR:Delivery

Methods
PannerShellpanner_shell ()

Inherited from ARDOUR:IOProcessor

Methods
IOinput ()
ChanCountnatural_input_streams ()
ChanCountnatural_output_streams ()
IOoutput ()

Inherited from ARDOUR:Processor

Methods
voidactivate ()
boolactive ()
longcapture_offset ()
voiddeactivate ()
booldisplay_to_user ()
longinput_latency ()
ChanCountinput_streams ()
longoutput_latency ()
ChanCountoutput_streams ()
longplayback_offset ()
longsignal_latency ()
Cast
Ampto_amp ()
Automatableto_automatable ()
DelayLineto_delayline ()
DiskIOProcessorto_diskioprocessor ()
DiskReaderto_diskreader ()
DiskWriterto_diskwriter ()
PluginInsertto_insert ()
InternalSendto_internalsend ()
IOProcessorto_ioprocessor ()
Latentto_latent ()
PeakMeterto_meter ()
MonitorProcessorto_monitorprocessor ()
PeakMeterto_peakmeter ()
PluginInsertto_plugininsert ()
PolarityProcessorto_polarityprocessor ()
Sendto_send ()
SideChainto_sidechain ()
SurroundSendto_surroundsend ()
UnknownProcessorto_unknownprocessor ()

Inherited from ARDOUR:SessionObjectPtr

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:LatencyRange

C‡: ARDOUR::LatencyRange

Constructor
ARDOUR.LatencyRange ()
Data Members
unsigned intmax
unsigned intmin

 ARDOUR:Latent

C‡: std::shared_ptr< ARDOUR::Latent >, std::weak_ptr< ARDOUR::Latent >

Methods
longeffective_latency ()
boolisnil ()
voidset_user_latency (long)
voidunset_user_latency ()
longuser_latency ()

 ARDOUR:Location

C‡: ARDOUR::Location

is-a: PBD:StatefulDestructible

Location on Timeline - abstract representation for Markers, Loop/Punch Ranges, CD-Markers etc.

Methods
timepos_t_end ()
Flagsflags ()
boolis_auto_loop ()
boolis_auto_punch ()
boolis_cd_marker ()
boolis_cue_marker ()
boolis_hidden ()
boolis_mark ()
boolis_range_marker ()
boolis_session_range ()
timecnt_tlength ()
voidlock ()
boollocked ()
boolmatches (Flags)
intmove_to (timepos_t)
std::stringname ()
intset (timepos_t, timepos_t)
intset_end (timepos_t, bool)
intset_length (timepos_t, timepos_t)
voidset_name (std::string)

Set location name

intset_start (timepos_t, bool)
timepos_tstart ()
voidunlock ()

Inherited from PBD:Stateful

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 ARDOUR:LocationList

C‡: std::list<ARDOUR::Location* >

Constructor
ARDOUR.LocationList ()
Methods
Locationback ()
boolempty ()
Locationfront ()
LuaIteriter ()
voidreverse ()
unsigned longsize ()
LuaTabletable ()

 ARDOUR:Locations

C‡: ARDOUR::Locations

is-a: PBD:StatefulDestructible

A collection of session locations including unique dedicated locations (loop, punch, etc)

Methods
Locationadd_range (timepos_t, timepos_t)
Locationauto_loop_location ()
Locationauto_punch_location ()
LuaTable(...)find_all_between (timepos_t, timepos_t, LocationList&, Flags)
timepos_tfirst_mark_after (timepos_t, bool)
Locationfirst_mark_at (timepos_t, timecnt_t)
timepos_tfirst_mark_before (timepos_t, bool)
LocationListlist ()
Locationmark_at (timepos_t, timecnt_t)
LuaTable(...)marks_either_side (timepos_t, timepos_t&, timepos_t&)
LuaTable(Location, ...)next_section (Location, timepos_t&, timepos_t&)
Locationrange_starts_at (timepos_t, timecnt_t, bool)
voidremove (Location)
Locationsession_range_location ()

Inherited from PBD:Stateful

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 ARDOUR.LuaAPI

Methods
std::stringascii_dtostr (double)
...build_filename (--lua--)

Creates a filename from a series of elements using the correct separator for filenames.

No attempt is made to force the resulting filename to be an absolute path. If the first element is a relative path, the result will be a relative path.

...color_to_rgba (--lua--)

A convenience function to expand RGBA parameters from an integer

convert a Canvas::Color (uint32_t 0xRRGGBBAA) into double RGBA values which can be passed as parameters to Cairo::Context::set_source_rgba

Example:

 local r, g, b, a = ARDOUR.LuaAPI.color_to_rgba (0x88aa44ff)
 cairo_ctx:set_source_rgba (ARDOUR.LuaAPI.color_to_rgba (0x11336699)

Returns 4 parameters: red, green, blue, alpha (in range 0..1)

...desc_scale_points (--lua--)
std::stringdump_untagged_plugins ()

Write a list of untagged plugins to a file, so we can bulk-tag them

Returns path to XML file or empty string on error

StringVectorenv ()

Return system environment variables (POSIX environ)

std::stringfile_get_contents (std::string)
boolfile_test (std::string, FileTest)
LuaTable(float, ...)get_plugin_insert_param (PluginInsert, unsigned int, bool&)

get a plugin control parameter value

pi
Plugin-Insert
which
control port to query (starting at 0, including ports of type input and output)
ok
boolean variable contains true or false after call returned. to be checked by caller before using value.

Returns value

...get_plugin_insert_property (--lua--)

get a plugin property (LV2 plugins only)

p
two arguments: Plugin-Inster, URI of the property
value
the value to set (boolean, integer, float, string/path)

Returns value, depending on datatype or nil if property is not found

LuaTable(float, ...)get_processor_param (Processor, unsigned int, bool&)

get a plugin control parameter value

proc
Plugin-Processor
which
control port to set (starting at 0, including ports of type input and output))
ok
boolean variable contains true or false after call returned. to be checked by caller before using value.

Returns value

...hsla_to_rgba (--lua--)

A convenience function for colorspace HSL to RGB conversion. All ranges are 0..1

Example:

 local r, g, b, a = ARDOUR.LuaAPI.hsla_to_rgba (hue, saturation, luminosity, alpha)

Returns 4 parameters: red, green, blue, alpha (in range 0..1)

PluginInfoListlist_plugins ()

List all installed plugins

longmonotonic_time ()
Processornew_luaproc (Session, std::string)
Processornew_luaproc_with_time_domain (Session, std::string, TimeDomain)

create a new Lua Processor (Plugin)

s
Session Handle
name
Identifier or Name of the Processor
td
Time domain (audio or beats) for any automation data

Returns Processor object (may be nil)

NotePtrnew_noteptr (unsigned char, Beats, Beats, unsigned char, unsigned char)
Processornew_plugin (Session, std::string, PluginType, std::string)
PluginInfonew_plugin_info (std::string, PluginType)

search a Plugin

name
Plugin Name, ID or URI
type
Plugin Type

Returns PluginInfo or nil if not found

Processornew_plugin_with_time_domain (Session, std::string, PluginType, TimeDomain, std::string)

create a new Plugin Instance

s
Session Handle
name
Plugin Name, ID or URI
type
Plugin Type
td
Time domain for any automation data
preset
name of plugin-preset to load, leave empty "" to not load any preset after instantiation

Returns Processor or nil

Processornew_send (Session, Route, Processor)

add a new [external] Send to the given Route

s
Session Handle
r
Route to add Send to
p
add send before given processor (or nil_processor to add at the end)
Processornil_proc ()
NotePtrListnote_list (MidiModel)
std::stringpath_get_basename (std::string)
...plugin_automation (--lua--)

A convenience function to get a Automation Lists and ParameterDescriptor for a given plugin control.

This is equivalent to the following lua code

 function (processor, param_id)
  local plugininsert = processor:to_insert ()
  local plugin = plugininsert:plugin(0)
  local _, t = plugin:get_parameter_descriptor(param_id, ARDOUR.ParameterDescriptor ())
  local ctrl = Evoral.Parameter (ARDOUR.AutomationType.PluginAutomation, 0, param_id)
  local ac = pi:automation_control (ctrl, false)
  local acl = ac:alist()
  return ac:alist(), ac:to_ctrl():list(), t[2]
 end

Example usage: get the third input parameter of first plugin on the given route (Ardour starts counting at zero).

 local al, cl, pd = ARDOUR.LuaAPI.plugin_automation (route:nth_plugin (0), 3)

Returns 3 parameters: AutomationList, ControlList, ParameterDescriptor

boolreset_processor_to_default (Processor)

reset a processor to its default values (only works for plugins )

This is a wrapper which looks up the Processor by plugin-insert.

proc
Plugin-Insert

Returns true on success, false when the processor is not a plugin

...sample_to_timecode (--lua--)

Generic conversion from audio sample count to timecode. (TimecodeType, sample-rate, sample-pos)

voidsegfault ()

Crash Test Dummy

boolset_automation_data (AutomationControl, Lua-Function, double)
boolset_plugin_insert_param (PluginInsert, unsigned int, float)

set a plugin control-input parameter value

This is a wrapper around set_processor_param which looks up the Processor by plugin-insert.

pi
Plugin-Insert
which
control-input to set (starting at 0)
value
value to set

Returns true on success, false on error or out-of-bounds value

boolset_plugin_insert_property (PluginInsert, std::string, Lua-Function)

set a plugin property (LV2 plugins only)

pi
Plugin-Insert
uri
the identifier of the parameter
value
the value to set (boolean, integer, float, string/path)

Returns true on success, false if the given plugin has no property with the given URI

boolset_processor_param (Processor, unsigned int, float)

set a plugin control-input parameter value

proc
Plugin-Processor
which
control-input to set (starting at 0)
value
value to set

Returns true on success, false on error or out-of-bounds value

...timecode_to_sample (--lua--)

Generic conversion from timecode to audio sample count. (TimecodeType, sample-rate, hh, mm, ss, ff)

voidusleep (unsigned long)
boolwait_for_process_callback (unsigned long, long)

Delay execution until next process cycle starts.

n_cycles
process-cycles to wait for. 0: means wait until next cycle-start, otherwise skip given number of cycles.
timeout_ms
wait at most this many milliseconds

Returns true on success, false if timeout was reached or engine was not running

 ARDOUR:LuaAPI:Rubberband

C‡: ARDOUR::LuaAPI::Rubberband

Constructor
ARDOUR.LuaAPI.Rubberband (AudioRegion, bool)
Methods
unsigned intn_channels ()
AudioRegionprocess (Lua-Function)
Readablereadable ()
longreadable_length ()
boolset_mapping (Lua-Function)
boolset_strech_and_pitch (double, double)

 ARDOUR:LuaAPI:Vamp

C‡: ARDOUR::LuaAPI::Vamp

Constructor
ARDOUR.LuaAPI.Vamp (std::string, float)
Methods
intanalyze (Readable, unsigned int, Lua-Function)

high-level abstraction to process a single channel of the given AudioReadable.

If the plugin is not yet initialized, initialize() is called.

if fn is not nil, it is called with the immediate Vamp::Plugin::Features on every process call.

r
readable
channel
channel to process
cb
lua callback function or nil

Returns 0 on success

boolinitialize ()

initialize the plugin for use with analyze().

This is equivalent to plugin():initialise (1, ssiz, bsiz) and prepares a plugin for analyze. (by preferred step and block sizes are used. if the plugin does not specify them or they're larger than 8K, both are set to 1024)

Manual initialization is only required to set plugin-parameters which depend on prior initialization of the plugin.

 vamp:reset ()
 vamp:initialize ()
 vamp:plugin():setParameter (0, 1.5, nil)
 vamp:analyze (r, 0)
StringVectorlist_plugins ()
Pluginplugin ()
FeatureSetprocess (FloatArrayVector, RealTime)

process given array of audio-samples.

This is a lua-binding for vamp:plugin():process ()

d
audio-data, the vector must match the configured channel count and hold a complete buffer for every channel as set during plugin():initialise()
rt
timestamp matching the provided buffer.

Returns features extracted from that data (if the plugin is causal)

voidreset ()

call plugin():reset() and clear initialization flag

 ARDOUR:LuaOSC:Address

C‡: ARDOUR::LuaOSC::Address

OSC transmitter

A Class to send OSC messages.

Constructor
ARDOUR.LuaOSC.Address (std::string)

Construct a new OSC transmitter object

uri
the destination uri e.g. "osc.udp://localhost:7890"
Methods
...send (--lua--)

Transmit an OSC message

Path (string) and type (string) must always be given. The number of following args must match the type. Supported types are:

'i': integer (lua number)

'f': float (lua number)

'd': double (lua number)

'h': 64bit integer (lua number)

's': string (lua string)

'c': character (lua string)

'T': boolean (lua bool) -- this is not implicily True, a lua true/false must be given

'F': boolean (lua bool) -- this is not implicily False, a lua true/false must be given

lua:
lua arguments: path, types, ...

Returns boolean true if successful, false on error.

 ARDOUR:LuaProc

C‡: std::shared_ptr< ARDOUR::LuaProc >, std::weak_ptr< ARDOUR::LuaProc >

is-a: ARDOUR:Plugin

A plugin is an external module (usually 3rd party provided) loaded into Ardour for the purpose of digital signal processing.

This class provides an abstraction for methords provided by all supported plugin standards such as presets, name, parameters etc.

Plugins are not used directly in Ardour but always wrapped by a PluginInsert.

Methods
boolisnil ()
DspShmshmem ()
LuaTableReftable ()

Inherited from ARDOUR:Plugin

Methods
floatdefault_value (unsigned int)
IOPortDescriptiondescribe_io_port (DataType, bool, unsigned int)
std::stringget_docs ()
PluginInfoget_info ()
floatget_parameter (unsigned int)
LuaTable(int, ...)get_parameter_descriptor (unsigned int, ParameterDescriptor&)
std::stringget_parameter_docs (unsigned int)
char*label ()
PresetRecordlast_preset ()

Returns Last preset to be requested; the settings may have been changed since; find out with parameter_changed_since_last_preset.

boolload_preset (PresetRecord)

Set parameters using a preset

char*maker ()
char*name ()
LuaTable(unsigned int, ...)nth_parameter (unsigned int, bool&)
unsigned intparameter_count ()
boolparameter_is_audio (unsigned int)
boolparameter_is_control (unsigned int)
boolparameter_is_input (unsigned int)
boolparameter_is_output (unsigned int)
std::stringparameter_label (unsigned int)
PresetRecordpreset_by_label (std::string)
PresetRecordpreset_by_uri (std::string)
voidremove_preset (std::string)
PresetRecordsave_preset (std::string)

Create a new plugin-preset from the current state

name
label to use for new preset (needs to be unique)

Returns PresetRecord with empty URI on failure

std::stringunique_id ()
Cast
LuaProcto_luaproc ()

Inherited from PBD:StatefulPtr

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 ARDOUR:LuaTableRef

C‡: ARDOUR::LuaTableRef

Methods
...get (--lua--)
...set (--lua--)

 ARDOUR:MIDIPortMeters

C‡: std::map<std::string, ARDOUR::PortManager::MPM >

Constructor
ARDOUR.MIDIPortMeters ()
Methods
LuaTableadd (std::string, ARDOUR::PortManager::MPM )
...at (--lua--)
voidclear ()
unsigned longcount (std::string)
boolempty ()
LuaIteriter ()
unsigned longsize ()
LuaTabletable ()

 ARDOUR:MPGainControl

C‡: std::shared_ptr< ARDOUR::MPControl<float> >, std::weak_ptr< ARDOUR::MPControl<float> >

is-a: PBD:Controllable

Methods
std::stringget_user_string ()
doubleget_value ()
boolisnil ()
doublelower ()
doublenormal ()
voidset_value (double, GroupControlDisposition)
doubleupper ()

Inherited from PBD:Controllable

Methods
voiddump_registry ()
std::stringname ()
ControllableSetregistered_controllables ()
Cast
AutomationControlto_automationcontrol ()
MPGainControlto_mpgain ()
MPToggleControlto_mptoggle ()

Inherited from PBD:StatefulPtr

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 ARDOUR:MPToggleControl

C‡: std::shared_ptr< ARDOUR::MPControl<bool> >, std::weak_ptr< ARDOUR::MPControl<bool> >

is-a: PBD:Controllable

Methods
std::stringget_user_string ()
doubleget_value ()
boolisnil ()
doublelower ()
doublenormal ()
voidset_value (double, GroupControlDisposition)

Set `internal' value

All derived classes must implement this.

Basic derived classes will ignore group_override but more sophisticated children, notably those that proxy the value setting logic via an object that is aware of group relationships between this control and others, will find it useful.

v
raw numeric value to set
gcd
if and how to propagate value to grouped controls
doubleupper ()

Inherited from PBD:Controllable

Methods
voiddump_registry ()
std::stringname ()
ControllableSetregistered_controllables ()
Cast
AutomationControlto_automationcontrol ()
MPGainControlto_mpgain ()
MPToggleControlto_mptoggle ()

Inherited from PBD:StatefulPtr

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 ARDOUR:MidiBuffer

C‡: ARDOUR::MidiBuffer

Buffer containing 8-bit unsigned char (MIDI) data.

Methods
voidcopy (MidiBuffer)
boolempty ()
boolpush_back (long, EventType, unsigned long, unsigned char*)
boolpush_event (Event)
voidresize (unsigned long)

Reallocate the buffer used internally to handle at least size_t units of data.

The buffer is not silent after this operation. the capacity argument passed to the constructor must have been non-zero.

voidsilence (long, long)

Clear (eg zero, or empty) buffer

unsigned longsize ()
...table (--lua--)

 ARDOUR:MidiModel

C‡: std::shared_ptr< ARDOUR::MidiModel >, std::weak_ptr< ARDOUR::MidiModel >

is-a: ARDOUR:AutomatableSequence

This is a higher level (than MidiBuffer) model of MIDI data, with separate representations for notes (instead of just unassociated note on/off events) and controller data. Controller data is represented as part of the Automatable base (i.e. in a map of AutomationList, keyed by Parameter). Because of this MIDI controllers and automatable controllers/widgets/etc are easily interchangeable.

Methods
voidapply_command (Session, Command)
voidapply_diff_command_as_commit (Session, Command)
boolisnil ()
NoteDiffCommandnew_note_diff_command (std::string)

Start a new NoteDiff command.

This has no side-effects on the model or Session, the returned command can be held on to for as long as the caller wishes, or discarded without formality, until apply_diff_command_* is called and ownership is taken.

Inherited from ARDOUR:AutomatableSequence

Cast
Sequenceto_sequence ()

Inherited from ARDOUR:Automatable

Methods
ParameterListall_automatable_params ()

API for Lua binding

AutomationControlautomation_control (Parameter, bool)
Cast
Slavableto_slavable ()

 ARDOUR:MidiModel:DiffCommand

C‡: ARDOUR::MidiModel::DiffCommand

is-a: PBD:Command

Base class for Undo/Redo commands and changesets

This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.

Inherited from PBD:Command

Methods
std::stringname ()
voidset_name (std::string)

Inherited from PBD:Stateful

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 ARDOUR:MidiModel:NoteDiffCommand

C‡: ARDOUR::MidiModel::NoteDiffCommand

is-a: ARDOUR:MidiModel:DiffCommand

Base class for Undo/Redo commands and changesets

Methods
voidadd (NotePtr)
voidremove (NotePtr)

Inherited from PBD:Command

Methods
std::stringname ()
voidset_name (std::string)

Inherited from PBD:Stateful

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 ARDOUR:MidiPlaylist

C‡: std::shared_ptr< ARDOUR::MidiPlaylist >, std::weak_ptr< ARDOUR::MidiPlaylist >

is-a: ARDOUR:Playlist

A named object associated with a Session. Objects derived from this class are expected to be destroyed before the session calls drop_references().

Methods
boolisnil ()
voidset_note_mode (NoteMode)

Inherited from ARDOUR:Playlist

Methods
voidadd_region (Region, timepos_t, float, bool)
Regioncombine (RegionList, Track)
unsigned intcount_regions_at (timepos_t)
Playlistcut (TimelineRangeList&)
DataTypedata_type ()
voidduplicate (Region, timepos_t&, timecnt_t, float)
voidduplicate_range (TimelineRange&, float)
voidduplicate_until (Region, timepos_t&, timecnt_t, timepos_t)
boolempty ()
Regionfind_next_region (timepos_t, RegionPoint, int)
timepos_tfind_next_region_boundary (timepos_t, int)
longfind_next_transient (timepos_t, int)
IDget_orig_track_id ()
boolhidden ()
voidlower_region (Region)
voidlower_region_to_bottom (Region)
unsigned intn_regions ()
voidraise_region (Region)
voidraise_region_to_top (Region)
Regionregion_by_id (ID)
RegionListPtrregion_list ()
RegionListPtrregions_at (timepos_t)
RegionListPtrregions_touched (timepos_t, timepos_t)
RegionListPtrregions_with_end_within (Range)
RegionListPtrregions_with_start_within (Range)
voidremove_region (Region)
boolset_name (std::string)
boolshared ()
voidsplit_region (Region, timepos_t)
Regiontop_region_at (timepos_t)
Regiontop_unmuted_region_at (timepos_t)
voiduncombine (Region)
boolused ()
Cast
AudioPlaylistto_audioplaylist ()
MidiPlaylistto_midiplaylist ()

Inherited from ARDOUR:SessionObjectPtr

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:MidiPort

C‡: std::shared_ptr< ARDOUR::MidiPort >, std::weak_ptr< ARDOUR::MidiPort >

is-a: ARDOUR:Port

Methods
MidiBufferget_midi_buffer (unsigned int)
boolinput_active ()
boolisnil ()
voidset_input_active (bool)
Cast
AsyncMIDIPortto_asyncmidiport ()

Inherited from ARDOUR:Port

Methods
intconnect (std::string)
boolconnected ()

Returns true if this port is connected to anything

boolconnected_to (std::string)
o
Port name

Returns true if this port is connected to o, otherwise false.

intdisconnect (std::string)
intdisconnect_all ()
PortFlagsflags ()

Returns flags

LuaTable(...)get_connected_latency_range (LatencyRange&, bool)
std::stringname ()

Returns Port short name

boolphysically_connected ()
std::stringpretty_name (bool)

Returns Port human readable name

LatencyRangeprivate_latency_range (bool)
LatencyRangepublic_latency_range (bool)
boolreceives_input ()

Returns true if this Port receives input, otherwise false

boolsends_output ()

Returns true if this Port sends output, otherwise false

Cast
AsyncMIDIPortto_asyncmidiport ()
AudioPortto_audioport ()
MidiPortto_midiport ()

 ARDOUR:MidiRegion

C‡: std::shared_ptr< ARDOUR::MidiRegion >, std::weak_ptr< ARDOUR::MidiRegion >

is-a: ARDOUR:Region

A named object associated with a Session. Objects derived from this class are expected to be destroyed before the session calls drop_references().

Methods
booldo_export (std::string)

Export the MIDI data of the MidiRegion to a new MIDI file (SMF).

boolisnil ()
MidiSourcemidi_source (unsigned int)
MidiModelmodel ()

Inherited from ARDOUR:Region

Methods
boolat_natural_position ()
boolautomatic ()
boolcan_move ()
boolcaptured ()
voidcaptured_xruns (XrunPositions&, bool)
voidclear_sync_position ()
Controlcontrol (Parameter, bool)
boolcovers (timepos_t)
voidcut_end (timepos_t)
voidcut_front (timepos_t)
DataTypedata_type ()
boolexternal ()
boolhas_transients ()
boolhidden ()
boolimport ()
boolis_compound ()
unsigned intlayer ()
timecnt_tlength ()
boollocked ()
voidlower ()
voidlower_to_bottom ()
StringVectormaster_source_names ()
SourceListmaster_sources ()
voidmove_start (timecnt_t)
voidmove_to_natural_position ()
boolmuted ()
voidnudge_position (timecnt_t)
boolopaque ()
Playlistplaylist ()
timepos_tposition ()

How the region parameters play together:

POSITION: first sample of the region along the timeline START: first sample of the region within its source(s) LENGTH: number of samples the region represents

boolposition_locked ()
voidraise ()
voidraise_to_top ()
voidset_hidden (bool)
voidset_initial_position (timepos_t)
voidset_length (timecnt_t)
voidset_locked (bool)
voidset_muted (bool)
boolset_name (std::string)

Note: changing the name of a Region does not constitute an edit

voidset_opaque (bool)
voidset_position (timepos_t)
voidset_position_locked (bool)
voidset_start (timepos_t)
voidset_sync_position (timepos_t)
voidset_video_locked (bool)
floatshift ()
Sourcesource (unsigned int)
timepos_tstart ()
floatstretch ()
boolsync_marked ()
LuaTable(timecnt_t, ...)sync_offset (int&)
timepos_tsync_position ()

Returns Sync position in session time

Int64Listtransients ()
voidtrim_end (timepos_t)
voidtrim_front (timepos_t)
voidtrim_to (timepos_t, timecnt_t)
boolvideo_locked ()
boolwhole_file ()
Cast
AudioRegionto_audioregion ()
MidiRegionto_midiregion ()

Inherited from ARDOUR:SessionObjectPtr

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:MidiSource

C‡: std::shared_ptr< ARDOUR::MidiSource >, std::weak_ptr< ARDOUR::MidiSource >

is-a: ARDOUR:Source

Source for MIDI data

Methods
boolempty ()
boolisnil ()
timepos_tlength ()
MidiModelmodel ()

Inherited from ARDOUR:Source

Methods
std::stringancestor_name ()
boolcan_be_analysed ()
XrunPositionscaptured_xruns ()
boolhas_been_analysed ()
timepos_tnatural_position ()
timepos_ttimeline_position ()
longtimestamp ()
intuse_count ()
boolused ()
boolwritable ()
Cast
AudioSourceto_audiosource ()
FileSourceto_filesource ()
MidiSourceto_midisource ()

Inherited from ARDOUR:SessionObjectPtr

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:MidiTrack

C‡: std::shared_ptr< ARDOUR::MidiTrack >, std::weak_ptr< ARDOUR::MidiTrack >

is-a: ARDOUR:Track

A track is an route (bus) with a recordable diskstream and related objects relevant to recording, playback and editing.

Specifically a track has a playlist object that describes material to be played from disk, and modifies that object during recording and editing.

Methods
unsigned shortget_capture_channel_mask ()
ChannelModeget_capture_channel_mode ()
ChannelModeget_playback_channel_mask ()
ChannelModeget_playback_channel_mode ()
boolinput_active ()
boolisnil ()
voidset_capture_channel_mask (unsigned short)
voidset_capture_channel_mode (ChannelMode, unsigned short)
voidset_input_active (bool)
voidset_playback_channel_mask (unsigned short)
voidset_playback_channel_mode (ChannelMode, unsigned short)
boolwrite_immediate_event (EventType, unsigned long, unsigned char*)

Inherited from ARDOUR:Track

Constructor
ARDOUR.Track ()
Methods
Regionbounce (InterThreadInfo&, std::string)

bounce track from session start to session end to new region

itt
asynchronous progress report and cancel

Returns a new audio region (or nil in case of error)

Regionbounce_range (long, long, InterThreadInfo&, Processor, bool, std::string, bool)

Bounce the given range to a new audio region.

start
start time (in samples)
end
end time (in samples)
itt
asynchronous progress report and cancel
endpoint
the processor to tap the signal off (or nil for the top)
include_endpoint
include the given processor in the bounced audio.

Returns a new audio region (or nil in case of error)

boolbounceable (Processor, bool)

Test if the track can be bounced with the given settings. If sends/inserts/returns are present in the signal path or the given track has no audio outputs bouncing is not possible.

endpoint
the processor to tap the signal off (or nil for the top)
include_endpoint
include the given processor in the bounced audio.

Returns true if the track can be bounced, or false otherwise.

boolcan_record ()
intfind_and_use_playlist (DataType, ID)
Playlistplaylist ()
boolset_name (std::string)
intuse_copy_playlist ()
intuse_new_playlist (DataType)
intuse_playlist (DataType, Playlist, bool)
Cast
AudioTrackto_audio_track ()
MidiTrackto_midi_track ()

Inherited from ARDOUR:Route

Methods
boolactive ()
intadd_aux_send (Route, Processor)

Add an aux send to a route.

route
route to send to.
before
Processor to insert before, or 0 to insert at the end.
intadd_foldback_send (Route, bool)
intadd_processor_by_index (Processor, int, ProcessorStreams, bool)

Add a processor to a route such that it ends up with a given index into the visible processors.

index
Index to add the processor at, or -1 to add at the end of the list.

Returns 0 on success, non-0 on failure.

booladd_sidechain (Processor)
Ampamp ()
voidclear_stripables ()
std::stringcomment ()
boolcustomize_plugin_insert (Processor, unsigned int, ChanCount, ChanCount)

enable custom plugin-insert configuration

proc
Processor to customize
count
number of plugin instances to use (if zero, reset to default)
outs
output port customization
sinks
input pins for variable-I/O plugins

Returns true if successful

DataTypedata_type ()
Stripablefirst_selected_stripable ()
IOinput ()
Deliverymain_outs ()

the signal processorat at end of the processing chain which produces output

MonitorControlmonitoring_control ()
MonitorStatemonitoring_state ()
boolmuted ()
ChanCountn_inputs ()
ChanCountn_outputs ()
Processornth_plugin (unsigned int)
Processornth_processor (unsigned int)
Processornth_send (unsigned int)
IOoutput ()
PannerShellpanner_shell ()
PeakMeterpeak_meter ()
longplayback_latency (bool)
intremove_processor (Processor, ProcessorStreams, bool)

remove plugin/processor

proc
processor to remove
err
error report (index where removal vailed, channel-count why it failed) may be nil
need_process_lock
if locking is required (set to true, unless called from RT context with lock)

Returns 0 on success

intremove_processors (ProcessorList, ProcessorStreams)
boolremove_sidechain (Processor)
intreorder_processors (ProcessorList, ProcessorStreams)
intreplace_processor (Processor, Processor, ProcessorStreams)

replace plugin/processor with another

old
processor to remove
sub
processor to substitute the old one with
err
error report (index where removal vailed, channel-count why it failed) may be nil

Returns 0 on success

boolreset_plugin_insert (Processor)

reset plugin-insert configuration to default, disable customizations.

This is equivalent to calling

 customize_plugin_insert (proc, 0, unused)
proc
Processor to reset

Returns true if successful

voidselect_next_stripable (bool, bool)
voidselect_prev_stripable (bool, bool)
voidset_active (bool, void*)
voidset_comment (std::string, void*)
voidset_meter_point (MeterPoint)
boolset_strict_io (bool)
longsignal_latency ()
boolsoloed ()
boolstrict_io ()
SurroundReturnsurround_return ()
SurroundSendsurround_send ()
Processorthe_instrument ()

Return the first processor that accepts has at least one MIDI input and at least one audio output. In the vast majority of cases, this will be "the instrument". This does not preclude other MIDI->audio processors later in the processing chain, but that would be a special case not covered by this utility function.

Amptrim ()
Cast
Trackto_track ()

Inherited from ARDOUR:Stripable

Methods
unsigned inteq_band_cnt ()
std::stringeq_band_name (unsigned int)
GainControlgain_control ()
boolis_auditioner ()
boolis_hidden ()
boolis_master ()
boolis_monitor ()
boolis_private_route ()
boolis_selected ()
boolis_surround_master ()
AutomationControlmapped_control (WellKnownCtrl, unsigned int)
ReadOnlyControlmapped_output (WellKnownData)
AutomationControlmaster_send_enable_controllable ()
MonitorProcessormonitor_control ()
MuteControlmute_control ()
AutomationControlpan_azimuth_control ()
AutomationControlpan_elevation_control ()
AutomationControlpan_frontback_control ()
AutomationControlpan_lfe_control ()
AutomationControlpan_width_control ()
PhaseControlphase_control ()
PresentationInfopresentation_info_ptr ()
AutomationControlrec_enable_control ()
AutomationControlrec_safe_control ()
AutomationControlsend_enable_controllable (unsigned int)
AutomationControlsend_level_controllable (unsigned int)
std::stringsend_name (unsigned int)
AutomationControlsend_pan_azimuth_controllable (unsigned int)
AutomationControlsend_pan_azimuth_enable_controllable (unsigned int)
voidset_presentation_order (unsigned int)
boolslaved ()
boolslaved_to (VCA)
SoloControlsolo_control ()
SoloIsolateControlsolo_isolate_control ()
SoloSafeControlsolo_safe_control ()
GainControltrim_control ()
Cast
Automatableto_automatable ()
Routeto_route ()
Slavableto_slavable ()
VCAto_vca ()

Inherited from ARDOUR:SessionObjectPtr

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

Inherited from PBD:Stateful

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 ARDOUR:MidiTrackList

C‡: std::list<std::shared_ptr<ARDOUR::MidiTrack> >

Constructor
ARDOUR.MidiTrackList ()
Methods
LuaTableadd (LuaTable {MidiTrack})
MidiTrackback ()
voidclear ()
boolempty ()
MidiTrackfront ()
LuaIteriter ()
voidpush_back (MidiTrack)
voidreverse ()
unsigned longsize ()
LuaTabletable ()
voidunique ()

 ARDOUR:MixerScene

C‡: std::shared_ptr< ARDOUR::MixerScene >, std::weak_ptr< ARDOUR::MixerScene >

Base class for objects with saveable and undoable state

Methods
boolapply ()
boolapply_to (ControllableSet, AutomationTypeSet)
voidclear ()
boolempty ()
boolisnil ()
std::stringname ()
boolset_name (std::string)
voidsnapshot ()

 ARDOUR:MonitorControl

C‡: std::shared_ptr< ARDOUR::MonitorControl >, std::weak_ptr< ARDOUR::MonitorControl >

is-a: ARDOUR:SlavableAutomationControl

A PBD::Controllable with associated automation data (AutomationList)

Methods
boolisnil ()
MonitorChoicemonitoring_choice ()

Inherited from ARDOUR:SlavableAutomationControl

Methods
voidadd_master (AutomationControl)
voidclear_masters ()
intget_boolean_masters ()
doubleget_masters_value ()
voidremove_master (AutomationControl)
boolslaved ()
boolslaved_to (AutomationControl)

Inherited from ARDOUR:AutomationControl

Methods
AutomationListalist ()
AutoStateautomation_state ()
ParameterDescriptordesc ()
doubleget_value ()

Get `internal' value

Returns raw value as used for the plugin/processor control port

doublelower ()
doublenormal ()
voidset_automation_state (AutoState)
voidset_value (double, GroupControlDisposition)

Set `internal' value

All derived classes must implement this.

Basic derived classes will ignore group_override but more sophisticated children, notably those that proxy the value setting logic via an object that is aware of group relationships between this control and others, will find it useful.

value
raw numeric value to set
group_override
if and how to propagate value to grouped controls
voidstart_touch (timepos_t)
voidstop_touch (timepos_t)
booltoggled ()
doubleupper ()
boolwritable ()
Cast
Controlto_ctrl ()
SlavableAutomationControlto_slavable ()

Inherited from PBD:Controllable

Methods
voiddump_registry ()
std::stringname ()
ControllableSetregistered_controllables ()
Cast
AutomationControlto_automationcontrol ()
MPGainControlto_mpgain ()
MPToggleControlto_mptoggle ()

Inherited from PBD:StatefulPtr

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 ARDOUR:MonitorProcessor

C‡: std::shared_ptr< ARDOUR::MonitorProcessor >, std::weak_ptr< ARDOUR::MonitorProcessor >

is-a: ARDOUR:Processor

A mixer strip element - plugin, send, meter, etc

Methods
Controllablechannel_cut_control (unsigned int)
Controllablechannel_dim_control (unsigned int)
Controllablechannel_polarity_control (unsigned int)
Controllablechannel_solo_control (unsigned int)
boolcut (unsigned int)
boolcut_all ()
Controllablecut_control ()
booldim_all ()
Controllabledim_control ()
floatdim_level ()
Controllabledim_level_control ()
booldimmed (unsigned int)
boolinverted (unsigned int)
boolisnil ()
boolmonitor_active ()
boolmono ()
Controllablemono_control ()
voidset_cut (unsigned int, bool)
voidset_cut_all (bool)
voidset_dim (unsigned int, bool)
voidset_dim_all (bool)
voidset_mono (bool)
voidset_polarity (unsigned int, bool)
voidset_solo (unsigned int, bool)
Controllablesolo_boost_control ()
floatsolo_boost_level ()
boolsoloed (unsigned int)

Inherited from ARDOUR:Processor

Methods
voidactivate ()
boolactive ()
longcapture_offset ()
voiddeactivate ()
std::stringdisplay_name ()
booldisplay_to_user ()
longinput_latency ()
ChanCountinput_streams ()
longoutput_latency ()
ChanCountoutput_streams ()
longplayback_offset ()
longsignal_latency ()
Cast
Ampto_amp ()
Automatableto_automatable ()
DelayLineto_delayline ()
DiskIOProcessorto_diskioprocessor ()
DiskReaderto_diskreader ()
DiskWriterto_diskwriter ()
PluginInsertto_insert ()
InternalSendto_internalsend ()
IOProcessorto_ioprocessor ()
Latentto_latent ()
PeakMeterto_meter ()
MonitorProcessorto_monitorprocessor ()
PeakMeterto_peakmeter ()
PluginInsertto_plugininsert ()
PolarityProcessorto_polarityprocessor ()
Sendto_send ()
SideChainto_sidechain ()
SurroundSendto_surroundsend ()
UnknownProcessorto_unknownprocessor ()

Inherited from ARDOUR:SessionObjectPtr

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:MuteControl

C‡: std::shared_ptr< ARDOUR::MuteControl >, std::weak_ptr< ARDOUR::MuteControl >

is-a: ARDOUR:SlavableAutomationControl

A PBD::Controllable with associated automation data (AutomationList)

Methods
boolisnil ()
MutePointmute_points ()
boolmuted ()
boolmuted_by_self ()
voidset_mute_points (MutePoint)

Inherited from ARDOUR:SlavableAutomationControl

Methods
voidadd_master (AutomationControl)
voidclear_masters ()
intget_boolean_masters ()
doubleget_masters_value ()
voidremove_master (AutomationControl)
boolslaved ()
boolslaved_to (AutomationControl)

Inherited from ARDOUR:AutomationControl

Methods
AutomationListalist ()
AutoStateautomation_state ()
ParameterDescriptordesc ()
doubleget_value ()

Get `internal' value

Returns raw value as used for the plugin/processor control port

doublelower ()
doublenormal ()
voidset_automation_state (AutoState)
voidset_value (double, GroupControlDisposition)

Set `internal' value

All derived classes must implement this.

Basic derived classes will ignore group_override but more sophisticated children, notably those that proxy the value setting logic via an object that is aware of group relationships between this control and others, will find it useful.

value
raw numeric value to set
group_override
if and how to propagate value to grouped controls
voidstart_touch (timepos_t)
voidstop_touch (timepos_t)
booltoggled ()
doubleupper ()
boolwritable ()
Cast
Controlto_ctrl ()
SlavableAutomationControlto_slavable ()

Inherited from PBD:Controllable

Methods
voiddump_registry ()
std::stringname ()
ControllableSetregistered_controllables ()
Cast
AutomationControlto_automationcontrol ()
MPGainControlto_mpgain ()
MPToggleControlto_mptoggle ()

Inherited from PBD:StatefulPtr

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 ARDOUR:NotePtrList

C‡: std::list<std::shared_ptr<Evoral::Note<Temporal::Beats> > > >

Constructor
ARDOUR.NotePtrList ()
Methods
LuaTableadd (LuaTable {Beats})
NotePtrback ()
voidclear ()
boolempty ()
NotePtrfront ()
LuaIteriter ()
voidpush_back (NotePtr)
voidreverse ()
unsigned longsize ()
LuaTabletable ()
voidunique ()

 ARDOUR:OwnedPropertyList

C‡: PBD::OwnedPropertyList

is-a: ARDOUR:PropertyList

Persistent Property List

A variant of PropertyList that does not delete its property list in its destructor. Objects with their own Properties store them in an OwnedPropertyList to avoid having them deleted at the wrong time.

This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.

 ARDOUR:PDC

C‡: ARDOUR::Latent

Methods
voidforce_zero_latency (bool)
boolzero_latency ()

 ARDOUR:PannerShell

C‡: std::shared_ptr< ARDOUR::PannerShell >, std::weak_ptr< ARDOUR::PannerShell >

is-a: ARDOUR:SessionObjectPtr

Class to manage panning by instantiating and controlling an appropriate Panner object for a given in/out configuration.

Methods
boolbypassed ()
boolisnil ()
voidset_bypassed (bool)

Inherited from ARDOUR:SessionObjectPtr

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:ParameterDescriptor

C‡: ARDOUR::ParameterDescriptor

is-a: Evoral:ParameterDescriptor

Descriptor of a parameter or control.

Essentially a union of LADSPA, VST and LV2 info.

Constructor
ARDOUR.ParameterDescriptor ()
Methods
std::stringmidi_note_name (unsigned char, bool)
Data Members
unsigned intdisplay_priority

higher is more important http://lv2plug.in/ns/ext/port-props#displayPriority

boolenumeration
boolinline_ctrl
boolinteger_step
std::stringlabel
floatlargestep
std::stringprint_fmt

format string for pretty printing

floatsmallstep
boolsr_dependent
floatstep

Inherited from Evoral:ParameterDescriptor

Constructor
Evoral.ParameterDescriptor ()
Data Members
boollogarithmic

True for log-scale parameters

floatlower

Minimum value (in Hz, for frequencies)

floatnormal

Default value

unsigned intrangesteps

number of steps, [min,max] (inclusive). <= 1 means continuous. == 2 only min, max. For integer controls this is usually (1 + max - min)

booltoggled

True iff parameter is boolean

floatupper

Maximum value (in Hz, for frequencies)

 ARDOUR:ParameterList

C‡: std::vector<Evoral::Parameter >

Constructor
ARDOUR.ParameterList ()
Methods
Parameterat (unsigned long)
boolempty ()
LuaIteriter ()
unsigned longsize ()
LuaTabletable ()

 ARDOUR:PeakMeter

C‡: std::shared_ptr< ARDOUR::PeakMeter >, std::weak_ptr< ARDOUR::PeakMeter >

is-a: ARDOUR:Processor

Meters peaks on the input and stores them for access.

Methods
boolisnil ()
floatmeter_level (unsigned int, MeterType)
MeterTypemeter_type ()
voidreset_max ()
voidset_meter_type (MeterType)

Inherited from ARDOUR:Processor

Methods
voidactivate ()
boolactive ()
longcapture_offset ()
voiddeactivate ()
std::stringdisplay_name ()
booldisplay_to_user ()
longinput_latency ()
ChanCountinput_streams ()
longoutput_latency ()
ChanCountoutput_streams ()
longplayback_offset ()
longsignal_latency ()
Cast
Ampto_amp ()
Automatableto_automatable ()
DelayLineto_delayline ()
DiskIOProcessorto_diskioprocessor ()
DiskReaderto_diskreader ()
DiskWriterto_diskwriter ()
PluginInsertto_insert ()
InternalSendto_internalsend ()
IOProcessorto_ioprocessor ()
Latentto_latent ()
PeakMeterto_meter ()
MonitorProcessorto_monitorprocessor ()
PeakMeterto_peakmeter ()
PluginInsertto_plugininsert ()
PolarityProcessorto_polarityprocessor ()
Sendto_send ()
SideChainto_sidechain ()
SurroundSendto_surroundsend ()
UnknownProcessorto_unknownprocessor ()

Inherited from ARDOUR:SessionObjectPtr

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:PhaseControl

C‡: std::shared_ptr< ARDOUR::PhaseControl >, std::weak_ptr< ARDOUR::PhaseControl >

is-a: ARDOUR:AutomationControl

A PBD::Controllable with associated automation data (AutomationList)

Methods
boolinverted (unsigned int)
boolisnil ()
voidset_phase_invert (unsigned int, bool)
c
Audio channel index.
yn
true to invert phase, otherwise false.

Inherited from ARDOUR:AutomationControl

Methods
AutomationListalist ()
AutoStateautomation_state ()
ParameterDescriptordesc ()
doubleget_value ()

Get `internal' value

Returns raw value as used for the plugin/processor control port

doublelower ()
doublenormal ()
voidset_automation_state (AutoState)
voidset_value (double, GroupControlDisposition)

Set `internal' value

All derived classes must implement this.

Basic derived classes will ignore group_override but more sophisticated children, notably those that proxy the value setting logic via an object that is aware of group relationships between this control and others, will find it useful.

value
raw numeric value to set
group_override
if and how to propagate value to grouped controls
voidstart_touch (timepos_t)
voidstop_touch (timepos_t)
booltoggled ()
doubleupper ()
boolwritable ()
Cast
Controlto_ctrl ()
SlavableAutomationControlto_slavable ()

Inherited from PBD:Controllable

Methods
voiddump_registry ()
std::stringname ()
ControllableSetregistered_controllables ()
Cast
AutomationControlto_automationcontrol ()
MPGainControlto_mpgain ()
MPToggleControlto_mptoggle ()

Inherited from PBD:StatefulPtr

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 ARDOUR:Playlist

C‡: std::shared_ptr< ARDOUR::Playlist >, std::weak_ptr< ARDOUR::Playlist >

is-a: ARDOUR:SessionObjectPtr

A named object associated with a Session. Objects derived from this class are expected to be destroyed before the session calls drop_references().

Methods
voidadd_region (Region, timepos_t, float, bool)
Regioncombine (RegionList, Track)
unsigned intcount_regions_at (timepos_t)
Playlistcut (TimelineRangeList&)
DataTypedata_type ()
voidduplicate (Region, timepos_t&, timecnt_t, float)
voidduplicate_range (TimelineRange&, float)
voidduplicate_until (Region, timepos_t&, timecnt_t, timepos_t)
boolempty ()
Regionfind_next_region (timepos_t, RegionPoint, int)
timepos_tfind_next_region_boundary (timepos_t, int)
longfind_next_transient (timepos_t, int)
IDget_orig_track_id ()
boolhidden ()
boolisnil ()
voidlower_region (Region)
voidlower_region_to_bottom (Region)
unsigned intn_regions ()
voidraise_region (Region)
voidraise_region_to_top (Region)
Regionregion_by_id (ID)
RegionListPtrregion_list ()
RegionListPtrregions_at (timepos_t)
RegionListPtrregions_touched (timepos_t, timepos_t)
RegionListPtrregions_with_end_within (Range)
RegionListPtrregions_with_start_within (Range)
voidremove_region (Region)
boolset_name (std::string)
boolshared ()
voidsplit_region (Region, timepos_t)
Regiontop_region_at (timepos_t)
Regiontop_unmuted_region_at (timepos_t)
voiduncombine (Region)
boolused ()
Cast
AudioPlaylistto_audioplaylist ()
MidiPlaylistto_midiplaylist ()

Inherited from ARDOUR:SessionObjectPtr

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:PlaylistList

C‡: std::vector<std::shared_ptr<ARDOUR::Playlist> >

Constructor
ARDOUR.PlaylistList ()
ARDOUR.PlaylistList ()
Methods
LuaTableadd (LuaTable {Playlist})
Playlistat (unsigned long)
voidclear ()
boolempty ()
LuaIteriter ()
voidpush_back (Playlist)
voidreserve (unsigned long)
unsigned longsize ()
LuaTabletable ()
...to_array (--lua--)

 ARDOUR:Plugin

C‡: std::shared_ptr< ARDOUR::Plugin >, std::weak_ptr< ARDOUR::Plugin >

is-a: PBD:StatefulDestructiblePtr

A plugin is an external module (usually 3rd party provided) loaded into Ardour for the purpose of digital signal processing.

This class provides an abstraction for methords provided by all supported plugin standards such as presets, name, parameters etc.

Plugins are not used directly in Ardour but always wrapped by a PluginInsert.

Methods
floatdefault_value (unsigned int)
IOPortDescriptiondescribe_io_port (DataType, bool, unsigned int)
std::stringget_docs ()
PluginInfoget_info ()
floatget_parameter (unsigned int)
LuaTable(int, ...)get_parameter_descriptor (unsigned int, ParameterDescriptor&)
std::stringget_parameter_docs (unsigned int)
boolisnil ()
char*label ()
PresetRecordlast_preset ()

Returns Last preset to be requested; the settings may have been changed since; find out with parameter_changed_since_last_preset.

boolload_preset (PresetRecord)

Set parameters using a preset

char*maker ()
char*name ()
LuaTable(unsigned int, ...)nth_parameter (unsigned int, bool&)
unsigned intparameter_count ()
boolparameter_is_audio (unsigned int)
boolparameter_is_control (unsigned int)
boolparameter_is_input (unsigned int)
boolparameter_is_output (unsigned int)
std::stringparameter_label (unsigned int)
PresetRecordpreset_by_label (std::string)
PresetRecordpreset_by_uri (std::string)
voidremove_preset (std::string)
PresetRecordsave_preset (std::string)

Create a new plugin-preset from the current state

name
label to use for new preset (needs to be unique)

Returns PresetRecord with empty URI on failure

std::stringunique_id ()
Cast
LuaProcto_luaproc ()

Inherited from PBD:StatefulPtr

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 ARDOUR:Plugin:IOPortDescription

C‡: ARDOUR::Plugin::IOPortDescription

Data Members
unsigned intgroup_channel
std::stringgroup_name
boolis_sidechain
std::stringname

 ARDOUR:PluginControl

C‡: std::shared_ptr< ARDOUR::PluginInsert::PluginControl >, std::weak_ptr< ARDOUR::PluginInsert::PluginControl >

is-a: ARDOUR:AutomationControl

A control that manipulates a plugin parameter (control port).

Methods
boolisnil ()

Inherited from ARDOUR:AutomationControl

Methods
AutomationListalist ()
AutoStateautomation_state ()
ParameterDescriptordesc ()
doubleget_value ()

Get `internal' value

Returns raw value as used for the plugin/processor control port

doublelower ()
doublenormal ()
voidset_automation_state (AutoState)
voidset_value (double, GroupControlDisposition)

Set `internal' value

All derived classes must implement this.

Basic derived classes will ignore group_override but more sophisticated children, notably those that proxy the value setting logic via an object that is aware of group relationships between this control and others, will find it useful.

value
raw numeric value to set
group_override
if and how to propagate value to grouped controls
voidstart_touch (timepos_t)
voidstop_touch (timepos_t)
booltoggled ()
doubleupper ()
boolwritable ()
Cast
Controlto_ctrl ()
SlavableAutomationControlto_slavable ()

Inherited from PBD:Controllable

Methods
voiddump_registry ()
std::stringname ()
ControllableSetregistered_controllables ()
Cast
AutomationControlto_automationcontrol ()
MPGainControlto_mpgain ()
MPToggleControlto_mptoggle ()

Inherited from PBD:StatefulPtr

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 ARDOUR:PluginInfo

C‡: std::shared_ptr< ARDOUR::PluginInfo >, std::weak_ptr< ARDOUR::PluginInfo >

Constructor
ARDOUR.PluginInfo ()
Methods
PresetVectorget_presets (bool)
boolis_instrument ()
boolisnil ()
Data Members
std::stringcategory
std::stringcreator
ARDOUR:ChanCountn_inputs
ARDOUR:ChanCountn_outputs
std::stringname
std::stringpath
ARDOUR.PluginType_type
std::stringunique_id

 ARDOUR:PluginInfoList

C‡: std::list<std::shared_ptr<ARDOUR::PluginInfo> >

Constructor
ARDOUR.PluginInfoList ()
Methods
LuaTableadd (LuaTable {PluginInfo})
PluginInfoback ()
voidclear ()
boolempty ()
PluginInfofront ()
LuaIteriter ()
voidpush_back (PluginInfo)
voidreverse ()
unsigned longsize ()
LuaTabletable ()
voidunique ()

 ARDOUR:PluginInsert

C‡: std::shared_ptr< ARDOUR::PluginInsert >, std::weak_ptr< ARDOUR::PluginInsert >

is-a: ARDOUR:Processor

Plugin inserts: send data through a plugin

Methods
voidactivate ()
voidclear_stats ()
ReadOnlyControlcontrol_output (unsigned int)
voiddeactivate ()
voidenable (bool)
boolenabled ()
unsigned intget_count ()
LuaTable(bool, ...)get_stats (long&, long&, double&, double&)
boolhas_sidechain ()
ChanMappinginput_map (unsigned int)
boolis_channelstrip ()
boolis_instrument ()
boolisnil ()
ChanCountnatural_input_streams ()
ChanCountnatural_output_streams ()
ChanMappingoutput_map (unsigned int)
Pluginplugin (unsigned int)
boolreset_parameters_to_default ()
voidset_input_map (unsigned int, ChanMapping)
voidset_output_map (unsigned int, ChanMapping)
voidset_thru_map (ChanMapping)
IOsidechain_input ()
longsignal_latency ()
boolstrict_io_configured ()
ChanMappingthru_map ()
PluginType_type ()
boolwrite_immediate_event (EventType, unsigned long, unsigned char*)

Inherited from ARDOUR:Processor

Methods
boolactive ()
longcapture_offset ()
std::stringdisplay_name ()
booldisplay_to_user ()
longinput_latency ()
ChanCountinput_streams ()
longoutput_latency ()
ChanCountoutput_streams ()
longplayback_offset ()
Cast
Ampto_amp ()
Automatableto_automatable ()
DelayLineto_delayline ()
DiskIOProcessorto_diskioprocessor ()
DiskReaderto_diskreader ()
DiskWriterto_diskwriter ()
PluginInsertto_insert ()
InternalSendto_internalsend ()
IOProcessorto_ioprocessor ()
Latentto_latent ()
PeakMeterto_meter ()
MonitorProcessorto_monitorprocessor ()
PeakMeterto_peakmeter ()
PluginInsertto_plugininsert ()
PolarityProcessorto_polarityprocessor ()
Sendto_send ()
SideChainto_sidechain ()
SurroundSendto_surroundsend ()
UnknownProcessorto_unknownprocessor ()

Inherited from ARDOUR:SessionObjectPtr

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR.PluginType

Methods
std::stringname (PluginType, bool)

 ARDOUR:PolarityProcessor

C‡: std::shared_ptr< ARDOUR::PolarityProcessor >, std::weak_ptr< ARDOUR::PolarityProcessor >

is-a: ARDOUR:Processor

A mixer strip element - plugin, send, meter, etc

Methods
boolisnil ()

Inherited from ARDOUR:Processor

Methods
voidactivate ()
boolactive ()
longcapture_offset ()
voiddeactivate ()
std::stringdisplay_name ()
booldisplay_to_user ()
longinput_latency ()
ChanCountinput_streams ()
longoutput_latency ()
ChanCountoutput_streams ()
longplayback_offset ()
longsignal_latency ()
Cast
Ampto_amp ()
Automatableto_automatable ()
DelayLineto_delayline ()
DiskIOProcessorto_diskioprocessor ()
DiskReaderto_diskreader ()
DiskWriterto_diskwriter ()
PluginInsertto_insert ()
InternalSendto_internalsend ()
IOProcessorto_ioprocessor ()
Latentto_latent ()
PeakMeterto_meter ()
MonitorProcessorto_monitorprocessor ()
PeakMeterto_peakmeter ()
PluginInsertto_plugininsert ()
PolarityProcessorto_polarityprocessor ()
Sendto_send ()
SideChainto_sidechain ()
SurroundSendto_surroundsend ()
UnknownProcessorto_unknownprocessor ()

Inherited from ARDOUR:SessionObjectPtr

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:Port

C‡: std::shared_ptr< ARDOUR::Port >, std::weak_ptr< ARDOUR::Port >

Methods
intconnect (std::string)
boolconnected ()

Returns true if this port is connected to anything

boolconnected_to (std::string)
o
Port name

Returns true if this port is connected to o, otherwise false.

intdisconnect (std::string)
intdisconnect_all ()
PortFlagsflags ()

Returns flags

LuaTable(...)get_connected_latency_range (LatencyRange&, bool)
boolisnil ()
std::stringname ()

Returns Port short name

boolphysically_connected ()
std::stringpretty_name (bool)

Returns Port human readable name

LatencyRangeprivate_latency_range (bool)
LatencyRangepublic_latency_range (bool)
boolreceives_input ()

Returns true if this Port receives input, otherwise false

boolsends_output ()

Returns true if this Port sends output, otherwise false

Cast
AsyncMIDIPortto_asyncmidiport ()
AudioPortto_audioport ()
MidiPortto_midiport ()

 ARDOUR:PortEngine

C‡: ARDOUR::PortEngine

This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.

 ARDOUR:PortList

C‡: std::list<std::shared_ptr<ARDOUR::Port> >

Constructor
ARDOUR.PortList ()
Methods
Portback ()
boolempty ()
Portfront ()
LuaIteriter ()
voidreverse ()
unsigned longsize ()
LuaTabletable ()

 ARDOUR:PortManager

C‡: ARDOUR::PortManager

Methods
intconnect (std::string, std::string)
boolconnected (std::string)
intdisconnect (std::string, std::string)
intdisconnect_port (Port)
LuaTable(int, ...)get_backend_ports (std::string, DataType, PortFlags, StringVector&)
LuaTable(int, ...)get_connections (std::string, StringVector&)
voidget_physical_inputs (DataType, StringVector&, MidiPortFlags, MidiPortFlags)
voidget_physical_outputs (DataType, StringVector&, MidiPortFlags, MidiPortFlags)
Portget_port_by_name (std::string)
name
Full or short name of port

Returns Corresponding Port or 0.

LuaTable(int, ...)get_ports (DataType, PortList&)
std::stringget_pretty_name_by_name (std::string)
ChanCountn_physical_inputs ()
ChanCountn_physical_outputs ()
boolphysically_connected (std::string)
PortEngineport_engine ()
boolport_is_physical (std::string)
voidreset_input_meters ()

 ARDOUR:PortSet

C‡: std::shared_ptr< ARDOUR::PortSet >, std::weak_ptr< ARDOUR::PortSet >

An ordered list of Ports, possibly of various types.

This allows access to all the ports as a list, ignoring type, or accessing the nth port of a given type. Note that port(n) and nth_audio_port(n) may NOT return the same port.

Each port is held twice; once in a per-type vector of vectors (_ports) and once in a vector of all port (_all_ports). This is to speed up the fairly common case of iterating over all ports.

Methods
voidadd (Port)
voidclear ()

Remove all ports from the PortSet. Ports are not deregistered with the engine, it's the caller's responsibility to not leak here!

boolcontains (Port)
boolempty ()
boolisnil ()
unsigned longnum_ports (DataType)
Portport (DataType, unsigned long)

nth port of type t, or nth port if t = NIL

t
data type
index
port index
boolremove (Port)

 ARDOUR:PresentationInfo

C‡: ARDOUR::PresentationInfo

is-a: PBD:Stateful

Base class for objects with saveable and undoable state

Methods
unsigned intcolor ()
Flagflags ()
unsigned intorder ()
voidset_color (unsigned int)
boolspecial (bool)

Inherited from PBD:Stateful

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 ARDOUR:PresetRecord

C‡: ARDOUR::Plugin::PresetRecord

Constructor
ARDOUR.PresetRecord ()
Data Members
std::stringlabel
std::stringuri
booluser
boolvalid

 ARDOUR:PresetVector

C‡: std::vector<ARDOUR::Plugin::PresetRecord >

Constructor
ARDOUR.PresetVector ()
ARDOUR.PresetVector ()
Methods
LuaTableadd (LuaTable {PresetRecord})
PresetRecordat (unsigned long)
voidclear ()
boolempty ()
LuaIteriter ()
voidpush_back (PresetRecord)
voidreserve (unsigned long)
unsigned longsize ()
LuaTabletable ()
...to_array (--lua--)

 ARDOUR:Processor

C‡: std::shared_ptr< ARDOUR::Processor >, std::weak_ptr< ARDOUR::Processor >

is-a: ARDOUR:SessionObjectPtr

A mixer strip element - plugin, send, meter, etc

Methods
voidactivate ()
boolactive ()
longcapture_offset ()
voiddeactivate ()
std::stringdisplay_name ()
booldisplay_to_user ()
longinput_latency ()
ChanCountinput_streams ()
boolisnil ()
longoutput_latency ()
ChanCountoutput_streams ()
longplayback_offset ()
longsignal_latency ()
Cast
Ampto_amp ()
Automatableto_automatable ()
DelayLineto_delayline ()
DiskIOProcessorto_diskioprocessor ()
DiskReaderto_diskreader ()
DiskWriterto_diskwriter ()
PluginInsertto_insert ()
InternalSendto_internalsend ()
IOProcessorto_ioprocessor ()
Latentto_latent ()
PeakMeterto_meter ()
MonitorProcessorto_monitorprocessor ()
PeakMeterto_peakmeter ()
PluginInsertto_plugininsert ()
PolarityProcessorto_polarityprocessor ()
Sendto_send ()
SideChainto_sidechain ()
SurroundSendto_surroundsend ()
UnknownProcessorto_unknownprocessor ()

Inherited from ARDOUR:SessionObjectPtr

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:ProcessorList

C‡: std::list<std::shared_ptr<ARDOUR::Processor> >

Constructor
ARDOUR.ProcessorList ()
Methods
LuaTableadd (LuaTable {Processor})
Processorback ()
voidclear ()
boolempty ()
Processorfront ()
LuaIteriter ()
voidpush_back (Processor)
voidreverse ()
unsigned longsize ()
LuaTabletable ()
voidunique ()

 ARDOUR:ProcessorVector

C‡: std::vector<std::shared_ptr<ARDOUR::Processor> >

Constructor
ARDOUR.ProcessorVector ()
ARDOUR.ProcessorVector ()
Methods
LuaTableadd (LuaTable {Processor})
Processorat (unsigned long)
voidclear ()
boolempty ()
LuaIteriter ()
voidpush_back (Processor)
voidreserve (unsigned long)
unsigned longsize ()
LuaTabletable ()
...to_array (--lua--)

 ARDOUR:Properties:BoolProperty

C‡: PBD::PropertyDescriptor<bool>

This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.

 ARDOUR:Properties:FloatProperty

C‡: PBD::PropertyDescriptor<float>

This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.

 ARDOUR:Properties:SamplePosProperty

C‡: PBD::PropertyDescriptor<long>

This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.

 ARDOUR:Properties:StringProperty

C‡: PBD::PropertyDescriptor<std::string >

This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.

 ARDOUR:Properties:TimeCntProperty

C‡: PBD::PropertyDescriptor<Temporal::timecnt_t>

This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.

 ARDOUR:Properties:TimePosProperty

C‡: PBD::PropertyDescriptor<Temporal::timepos_t>

This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.

 ARDOUR:PropertyChange

C‡: PBD::PropertyChange

A list of IDs of Properties that have changed in some situation or other

Methods
boolcontainsBool (BoolProperty)
boolcontainsFloat (FloatProperty)
boolcontainsSamplePos (SamplePosProperty)
boolcontainsString (StringProperty)
boolcontainsTimeCnt (TimeCntProperty)
boolcontainsTimePos (TimePosProperty)

 ARDOUR:PropertyList

C‡: PBD::PropertyList

A list of properties, mapped using their ID

This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.

 ARDOUR:RCConfiguration

C‡: ARDOUR::RCConfiguration

is-a: PBD:Configuration

Base class for objects with saveable and undoable state

Methods
AFLPositionget_afl_position ()
boolget_all_safe ()
boolget_allow_special_bus_removal ()
boolget_ask_replace_instrument ()
boolget_ask_setup_instrument ()
floatget_audio_capture_buffer_seconds ()
floatget_audio_playback_buffer_seconds ()
std::stringget_auditioner_output_left ()
std::stringget_auditioner_output_right ()
boolget_auto_analyse_audio ()
boolget_auto_connect_standard_busses ()
boolget_auto_enable_surfaces ()
boolget_auto_input_does_talkback ()
boolget_auto_return_after_rewind_ffwd ()
AutoReturnTargetget_auto_return_target_list ()
boolget_automation_follows_regions ()
floatget_automation_interval_msecs ()
doubleget_automation_thinning_factor ()
BufferingPresetget_buffering_preset ()
std::stringget_click_emphasis_sound ()
floatget_click_gain ()
boolget_click_record_only ()
std::stringget_click_sound ()
boolget_clicking ()
std::stringget_clip_library_dir ()
boolget_conceal_lv1_if_lv2_exists ()
boolget_conceal_vst2_if_vst3_exists ()
boolget_copy_demo_sessions ()
intget_cpu_dma_latency ()
boolget_create_xrun_marker ()
TimeDomainget_default_automation_time_domain ()
FadeShapeget_default_fade_shape ()
std::stringget_default_session_parent_dir ()
std::stringget_default_trigger_input_port ()
DenormalModelget_denormal_model ()
boolget_denormal_protection ()
boolget_disable_disarm_during_roll ()
boolget_discover_plugins_on_start ()
unsigned intget_disk_choice_space_threshold ()
std::stringget_donate_url ()
EditModeget_edit_mode ()
boolget_exclusive_solo ()
floatget_export_preroll ()
floatget_export_silence_threshold ()
unsigned intget_feedback_interval_ms ()
boolget_first_midi_bank_is_zero ()
boolget_group_override_inverts ()
boolget_hide_dummy_backend ()
boolget_hiding_groups_deactivates_groups ()
intget_history_depth ()
intget_initial_program_change ()
AutoConnectOptionget_input_auto_connect ()
intget_inter_scene_gap_samples ()
boolget_interview_editing ()
boolget_latched_record_enable ()
LayerModelget_layer_model ()
unsigned intget_limit_n_automatables ()
boolget_link_send_and_route_panner ()
ListenPositionget_listen_position ()
boolget_locate_while_waiting_for_sync ()
LoopFadeChoiceget_loop_fade_choice ()
boolget_loop_is_mode ()
std::stringget_ltc_output_port ()
floatget_ltc_output_volume ()
boolget_ltc_send_continuously ()
floatget_max_gain ()
unsigned intget_max_recent_sessions ()
unsigned intget_max_recent_templates ()
floatget_max_transport_speed ()
floatget_meter_falloff ()
MeterTypeget_meter_type_bus ()
MeterTypeget_meter_type_master ()
MeterTypeget_meter_type_track ()
std::stringget_midi_audition_synth_uri ()
doubleget_midi_clock_resolution ()
boolget_midi_clock_sets_tempo ()
boolget_midi_feedback ()
boolget_midi_input_follows_selection ()
floatget_midi_track_buffer_seconds ()
unsigned intget_minimum_disk_read_bytes ()
unsigned intget_minimum_disk_write_bytes ()
boolget_mmc_control ()
intget_mmc_receive_device_id ()
intget_mmc_send_device_id ()
std::stringget_monitor_bus_preferred_bundle ()
MonitorModelget_monitoring_model ()
intget_mtc_qf_speed_tolerance ()
boolget_mute_affects_control_outs ()
boolget_mute_affects_main_outs ()
boolget_mute_affects_post_fader ()
boolget_mute_affects_pre_fader ()
boolget_mute_affects_surround_sends ()
boolget_new_plugins_active ()
unsigned intget_osc_port ()
AutoConnectOptionget_output_auto_connect ()
unsigned intget_periodic_safety_backup_interval ()
boolget_periodic_safety_backups ()
PFLPositionget_pfl_position ()
std::stringget_pingback_url ()
unsigned intget_plugin_cache_version ()
std::stringget_plugin_path_lxvst ()
std::stringget_plugin_path_vst ()
std::stringget_plugin_path_vst3 ()
unsigned intget_plugin_scan_timeout ()
boolget_plugins_stop_with_transport ()
unsigned intget_port_resampler_quality ()
floatget_ppqn_factor_for_export ()
TimeDomainget_preferred_time_domain ()
floatget_preroll_seconds ()
intget_processor_usage ()
boolget_quieten_at_speed ()
longget_range_location_minimum ()
RangeSelectionAfterSplitget_range_selection_after_split ()
boolget_recording_resets_xrun_count ()
std::stringget_reference_manual_url ()
boolget_region_boundaries_from_onscreen_tracks ()
boolget_region_boundaries_from_selected_tracks ()
RegionEquivalenceget_region_equivalence ()
RegionSelectionAfterSplitget_region_selection_after_split ()
boolget_replicate_missing_region_channels ()
boolget_reset_default_speed_on_stop ()
std::stringget_resource_index_url ()
boolget_rewind_ffwd_like_tape_decks ()
RippleModeget_ripple_mode ()
boolget_run_all_transport_masters_always ()
std::stringget_sample_lib_path ()
boolget_save_history ()
intget_saved_history_depth ()
boolget_send_ltc ()
boolget_send_midi_clock ()
boolget_send_mmc ()
boolget_send_mtc ()
boolget_setup_sidechain ()
boolget_show_solo_mutes ()
boolget_show_video_server_dialog ()
boolget_show_vst3_micro_edit_inline ()
floatget_shuttle_max_speed ()
floatget_shuttle_speed_factor ()
floatget_shuttle_speed_threshold ()
ShuttleUnitsget_shuttle_units ()
boolget_skip_playback ()
boolget_solo_control_is_listen_control ()
floatget_solo_mute_gain ()
boolget_solo_mute_override ()
boolget_stop_at_session_end ()
boolget_stop_recording_on_xrun ()
boolget_strict_io ()
boolget_timecode_sync_frame_rate ()
boolget_trace_midi_input ()
boolget_trace_midi_output ()
TracksAutoNamingRuleget_tracks_auto_naming ()
floatget_transient_sensitivity ()
boolget_transport_masters_just_roll_when_sync_lost ()
boolget_try_autostart_engine ()
std::stringget_tutorial_manual_url ()
std::stringget_updates_url ()
boolget_use_audio_units ()
boolget_use_click_emphasis ()
boolget_use_lxvst ()
boolget_use_macvst ()
boolget_use_master_volume ()
boolget_use_monitor_bus ()
boolget_use_osc ()
boolget_use_plugin_own_gui ()
boolget_use_tranzport ()
boolget_use_vst3 ()
boolget_use_windows_vst ()
boolget_verbose_plugin_scan ()
boolget_verify_remove_last_capture ()
boolget_video_advanced_setup ()
std::stringget_video_server_docroot ()
std::stringget_video_server_url ()
boolget_work_around_jack_no_copy_optimization ()
std::stringget_xjadeo_binary ()
boolset_afl_position (AFLPosition)
boolset_all_safe (bool)
boolset_allow_special_bus_removal (bool)
boolset_ask_replace_instrument (bool)
boolset_ask_setup_instrument (bool)
boolset_audio_capture_buffer_seconds (float)
boolset_audio_playback_buffer_seconds (float)
boolset_auditioner_output_left (std::string)
boolset_auditioner_output_right (std::string)
boolset_auto_analyse_audio (bool)
boolset_auto_connect_standard_busses (bool)
boolset_auto_enable_surfaces (bool)
boolset_auto_input_does_talkback (bool)
boolset_auto_return_after_rewind_ffwd (bool)
boolset_auto_return_target_list (AutoReturnTarget)
boolset_automation_follows_regions (bool)
boolset_automation_interval_msecs (float)
boolset_automation_thinning_factor (double)
boolset_buffering_preset (BufferingPreset)
boolset_click_emphasis_sound (std::string)
boolset_click_gain (float)
boolset_click_record_only (bool)
boolset_click_sound (std::string)
boolset_clicking (bool)
boolset_clip_library_dir (std::string)
boolset_conceal_lv1_if_lv2_exists (bool)
boolset_conceal_vst2_if_vst3_exists (bool)
boolset_copy_demo_sessions (bool)
boolset_cpu_dma_latency (int)
boolset_create_xrun_marker (bool)
boolset_default_automation_time_domain (TimeDomain)
boolset_default_fade_shape (FadeShape)
boolset_default_session_parent_dir (std::string)
boolset_default_trigger_input_port (std::string)
boolset_denormal_model (DenormalModel)
boolset_denormal_protection (bool)
boolset_disable_disarm_during_roll (bool)
boolset_discover_plugins_on_start (bool)
boolset_disk_choice_space_threshold (unsigned int)
boolset_donate_url (std::string)
boolset_edit_mode (EditMode)
boolset_exclusive_solo (bool)
boolset_export_preroll (float)
boolset_export_silence_threshold (float)
boolset_feedback_interval_ms (unsigned int)
boolset_first_midi_bank_is_zero (bool)
boolset_group_override_inverts (bool)
boolset_hide_dummy_backend (bool)
boolset_hiding_groups_deactivates_groups (bool)
boolset_history_depth (int)
boolset_initial_program_change (int)
boolset_input_auto_connect (AutoConnectOption)
boolset_inter_scene_gap_samples (int)
boolset_interview_editing (bool)
boolset_latched_record_enable (bool)
boolset_layer_model (LayerModel)
boolset_limit_n_automatables (unsigned int)
boolset_link_send_and_route_panner (bool)
boolset_listen_position (ListenPosition)
boolset_locate_while_waiting_for_sync (bool)
boolset_loop_fade_choice (LoopFadeChoice)
boolset_loop_is_mode (bool)
boolset_ltc_output_port (std::string)
boolset_ltc_output_volume (float)
boolset_ltc_send_continuously (bool)
boolset_max_gain (float)
boolset_max_recent_sessions (unsigned int)
boolset_max_recent_templates (unsigned int)
boolset_max_transport_speed (float)
boolset_meter_falloff (float)
boolset_meter_type_bus (MeterType)
boolset_meter_type_master (MeterType)
boolset_meter_type_track (MeterType)
boolset_midi_audition_synth_uri (std::string)
boolset_midi_clock_resolution (double)
boolset_midi_clock_sets_tempo (bool)
boolset_midi_feedback (bool)
boolset_midi_input_follows_selection (bool)
boolset_midi_track_buffer_seconds (float)
boolset_minimum_disk_read_bytes (unsigned int)
boolset_minimum_disk_write_bytes (unsigned int)
boolset_mmc_control (bool)
boolset_mmc_receive_device_id (int)
boolset_mmc_send_device_id (int)
boolset_monitor_bus_preferred_bundle (std::string)
boolset_monitoring_model (MonitorModel)
boolset_mtc_qf_speed_tolerance (int)
boolset_mute_affects_control_outs (bool)
boolset_mute_affects_main_outs (bool)
boolset_mute_affects_post_fader (bool)
boolset_mute_affects_pre_fader (bool)
boolset_mute_affects_surround_sends (bool)
boolset_new_plugins_active (bool)
boolset_osc_port (unsigned int)
boolset_output_auto_connect (AutoConnectOption)
boolset_periodic_safety_backup_interval (unsigned int)
boolset_periodic_safety_backups (bool)
boolset_pfl_position (PFLPosition)
boolset_pingback_url (std::string)
boolset_plugin_cache_version (unsigned int)
boolset_plugin_path_lxvst (std::string)
boolset_plugin_path_vst (std::string)
boolset_plugin_path_vst3 (std::string)
boolset_plugin_scan_timeout (unsigned int)
boolset_plugins_stop_with_transport (bool)
boolset_port_resampler_quality (unsigned int)
boolset_ppqn_factor_for_export (float)
boolset_preferred_time_domain (TimeDomain)
boolset_preroll_seconds (float)
boolset_processor_usage (int)
boolset_quieten_at_speed (bool)
boolset_range_location_minimum (long)
boolset_range_selection_after_split (RangeSelectionAfterSplit)
boolset_recording_resets_xrun_count (bool)
boolset_reference_manual_url (std::string)
boolset_region_boundaries_from_onscreen_tracks (bool)
boolset_region_boundaries_from_selected_tracks (bool)
boolset_region_equivalence (RegionEquivalence)
boolset_region_selection_after_split (RegionSelectionAfterSplit)
boolset_replicate_missing_region_channels (bool)
boolset_reset_default_speed_on_stop (bool)
boolset_resource_index_url (std::string)
boolset_rewind_ffwd_like_tape_decks (bool)
boolset_ripple_mode (RippleMode)
boolset_run_all_transport_masters_always (bool)
boolset_sample_lib_path (std::string)
boolset_save_history (bool)
boolset_saved_history_depth (int)
boolset_send_ltc (bool)
boolset_send_midi_clock (bool)
boolset_send_mmc (bool)
boolset_send_mtc (bool)
boolset_setup_sidechain (bool)
boolset_show_solo_mutes (bool)
boolset_show_video_server_dialog (bool)
boolset_show_vst3_micro_edit_inline (bool)
boolset_shuttle_max_speed (float)
boolset_shuttle_speed_factor (float)
boolset_shuttle_speed_threshold (float)
boolset_shuttle_units (ShuttleUnits)
boolset_skip_playback (bool)
boolset_solo_control_is_listen_control (bool)
boolset_solo_mute_gain (float)
boolset_solo_mute_override (bool)
boolset_stop_at_session_end (bool)
boolset_stop_recording_on_xrun (bool)
boolset_strict_io (bool)
boolset_timecode_sync_frame_rate (bool)
boolset_trace_midi_input (bool)
boolset_trace_midi_output (bool)
boolset_tracks_auto_naming (TracksAutoNamingRule)
boolset_transient_sensitivity (float)
boolset_transport_masters_just_roll_when_sync_lost (bool)
boolset_try_autostart_engine (bool)
boolset_tutorial_manual_url (std::string)
boolset_updates_url (std::string)
boolset_use_audio_units (bool)
boolset_use_click_emphasis (bool)
boolset_use_lxvst (bool)
boolset_use_macvst (bool)
boolset_use_master_volume (bool)
boolset_use_monitor_bus (bool)
boolset_use_osc (bool)
boolset_use_plugin_own_gui (bool)
boolset_use_tranzport (bool)
boolset_use_vst3 (bool)
boolset_use_windows_vst (bool)
boolset_verbose_plugin_scan (bool)
boolset_verify_remove_last_capture (bool)
boolset_video_advanced_setup (bool)
boolset_video_server_docroot (std::string)
boolset_video_server_url (std::string)
boolset_work_around_jack_no_copy_optimization (bool)
boolset_xjadeo_binary (std::string)
Properties
ARDOUR.AFLPositionafl_position
boolall_safe
boolallow_special_bus_removal
boolask_replace_instrument
boolask_setup_instrument
floataudio_capture_buffer_seconds
floataudio_playback_buffer_seconds
std::stringauditioner_output_left
std::stringauditioner_output_right
boolauto_analyse_audio
boolauto_connect_standard_busses
boolauto_enable_surfaces
boolauto_input_does_talkback
boolauto_return_after_rewind_ffwd
ARDOUR.AutoReturnTargetauto_return_target_list
boolautomation_follows_regions
floatautomation_interval_msecs
doubleautomation_thinning_factor
ARDOUR.BufferingPresetbuffering_preset
std::stringclick_emphasis_sound
floatclick_gain
boolclick_record_only
std::stringclick_sound
boolclicking
std::stringclip_library_dir
boolconceal_lv1_if_lv2_exists
boolconceal_vst2_if_vst3_exists
boolcopy_demo_sessions
intcpu_dma_latency
boolcreate_xrun_marker
Temporal.TimeDomaindefault_automation_time_domain
ARDOUR.FadeShapedefault_fade_shape
std::stringdefault_session_parent_dir
std::stringdefault_trigger_input_port
ARDOUR.DenormalModeldenormal_model
booldenormal_protection
booldisable_disarm_during_roll
booldiscover_plugins_on_start
unsigned intdisk_choice_space_threshold
std::stringdonate_url
ARDOUR.EditModeedit_mode
boolexclusive_solo
floatexport_preroll
floatexport_silence_threshold
unsigned intfeedback_interval_ms
boolfirst_midi_bank_is_zero
boolgroup_override_inverts
boolhide_dummy_backend
boolhiding_groups_deactivates_groups
inthistory_depth
intinitial_program_change
ARDOUR.AutoConnectOptioninput_auto_connect
intinter_scene_gap_samples
boolinterview_editing
boollatched_record_enable
ARDOUR.LayerModellayer_model
unsigned intlimit_n_automatables
boollink_send_and_route_panner
ARDOUR.ListenPositionlisten_position
boollocate_while_waiting_for_sync
ARDOUR.LoopFadeChoiceloop_fade_choice
boolloop_is_mode
std::stringltc_output_port
floatltc_output_volume
boolltc_send_continuously
floatmax_gain
unsigned intmax_recent_sessions
unsigned intmax_recent_templates
floatmax_transport_speed
floatmeter_falloff
ARDOUR.MeterTypemeter_type_bus
ARDOUR.MeterTypemeter_type_master
ARDOUR.MeterTypemeter_type_track
std::stringmidi_audition_synth_uri
doublemidi_clock_resolution
boolmidi_clock_sets_tempo
boolmidi_feedback
boolmidi_input_follows_selection
floatmidi_track_buffer_seconds
unsigned intminimum_disk_read_bytes
unsigned intminimum_disk_write_bytes
boolmmc_control
intmmc_receive_device_id
intmmc_send_device_id
std::stringmonitor_bus_preferred_bundle
ARDOUR.MonitorModelmonitoring_model
intmtc_qf_speed_tolerance
boolmute_affects_control_outs
boolmute_affects_main_outs
boolmute_affects_post_fader
boolmute_affects_pre_fader
boolmute_affects_surround_sends
boolnew_plugins_active
unsigned intosc_port
ARDOUR.AutoConnectOptionoutput_auto_connect
unsigned intperiodic_safety_backup_interval
boolperiodic_safety_backups
ARDOUR.PFLPositionpfl_position
std::stringpingback_url
unsigned intplugin_cache_version
std::stringplugin_path_lxvst
std::stringplugin_path_vst
std::stringplugin_path_vst3
unsigned intplugin_scan_timeout
boolplugins_stop_with_transport
unsigned intport_resampler_quality
floatppqn_factor_for_export
Temporal.TimeDomainpreferred_time_domain
floatpreroll_seconds
intprocessor_usage
boolquieten_at_speed
longrange_location_minimum
ARDOUR.RangeSelectionAfterSplitrange_selection_after_split
boolrecording_resets_xrun_count
std::stringreference_manual_url
boolregion_boundaries_from_onscreen_tracks
boolregion_boundaries_from_selected_tracks
ARDOUR.RegionEquivalenceregion_equivalence
ARDOUR.RegionSelectionAfterSplitregion_selection_after_split
boolreplicate_missing_region_channels
boolreset_default_speed_on_stop
std::stringresource_index_url
boolrewind_ffwd_like_tape_decks
ARDOUR.RippleModeripple_mode
boolrun_all_transport_masters_always
std::stringsample_lib_path
boolsave_history
intsaved_history_depth
boolsend_ltc
boolsend_midi_clock
boolsend_mmc
boolsend_mtc
boolsetup_sidechain
boolshow_solo_mutes
boolshow_video_server_dialog
boolshow_vst3_micro_edit_inline
floatshuttle_max_speed
floatshuttle_speed_factor
floatshuttle_speed_threshold
ARDOUR.ShuttleUnitsshuttle_units
boolskip_playback
boolsolo_control_is_listen_control
floatsolo_mute_gain
boolsolo_mute_override
boolstop_at_session_end
boolstop_recording_on_xrun
boolstrict_io
booltimecode_sync_frame_rate
booltrace_midi_input
booltrace_midi_output
ARDOUR.TracksAutoNamingRuletracks_auto_naming
floattransient_sensitivity
booltransport_masters_just_roll_when_sync_lost
booltry_autostart_engine
std::stringtutorial_manual_url
std::stringupdates_url
booluse_audio_units
booluse_click_emphasis
booluse_lxvst
booluse_macvst
booluse_master_volume
booluse_monitor_bus
booluse_osc
booluse_plugin_own_gui
booluse_tranzport
booluse_vst3
booluse_windows_vst
boolverbose_plugin_scan
boolverify_remove_last_capture
boolvideo_advanced_setup
std::stringvideo_server_docroot
std::stringvideo_server_url
boolwork_around_jack_no_copy_optimization
std::stringxjadeo_binary

Inherited from PBD:Stateful

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 ARDOUR:RawMidiParser

C‡: ARDOUR::RawMidiParser

Constructor
ARDOUR.RawMidiParser ()
Methods
unsigned longbuffer_size ()
unsigned char*midi_buffer ()
boolprocess_byte (unsigned char)
voidreset ()

 ARDOUR:ReadOnlyControl

C‡: std::shared_ptr< ARDOUR::ReadOnlyControl >, std::weak_ptr< ARDOUR::ReadOnlyControl >

is-a: PBD:StatefulDestructiblePtr

Methods
ParameterDescriptordesc ()
std::stringdescribe_parameter ()
doubleget_parameter ()
boolisnil ()

Inherited from PBD:StatefulPtr

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 ARDOUR:Readable

C‡: std::shared_ptr< ARDOUR::AudioReadable >, std::weak_ptr< ARDOUR::AudioReadable >

Methods
boolisnil ()
ReadableListload (Session&, std::string)
unsigned intn_channels ()
longread (FloatArray, long, long, int)
longreadable_length ()

 ARDOUR:ReadableList

C‡: std::vector<std::shared_ptr<ARDOUR::AudioReadable> >

Constructor
ARDOUR.ReadableList ()
ARDOUR.ReadableList ()
Methods
LuaTableadd (LuaTable {Readable})
Readableat (unsigned long)
voidclear ()
boolempty ()
LuaIteriter ()
voidpush_back (Readable)
voidreserve (unsigned long)
unsigned longsize ()
LuaTabletable ()
...to_array (--lua--)

 ARDOUR:Region

C‡: std::shared_ptr< ARDOUR::Region >, std::weak_ptr< ARDOUR::Region >

is-a: ARDOUR:SessionObjectPtr

A named object associated with a Session. Objects derived from this class are expected to be destroyed before the session calls drop_references().

Methods
boolat_natural_position ()
boolautomatic ()
boolcan_move ()
boolcaptured ()
voidcaptured_xruns (XrunPositions&, bool)
voidclear_sync_position ()
Controlcontrol (Parameter, bool)
boolcovers (timepos_t)
voidcut_end (timepos_t)
voidcut_front (timepos_t)
DataTypedata_type ()
boolexternal ()
boolhas_transients ()
boolhidden ()
boolimport ()
boolis_compound ()
boolisnil ()
unsigned intlayer ()
timecnt_tlength ()
boollocked ()
voidlower ()
voidlower_to_bottom ()
StringVectormaster_source_names ()
SourceListmaster_sources ()
voidmove_start (timecnt_t)
voidmove_to_natural_position ()
boolmuted ()
voidnudge_position (timecnt_t)
boolopaque ()
Playlistplaylist ()
timepos_tposition ()

How the region parameters play together:

POSITION: first sample of the region along the timeline START: first sample of the region within its source(s) LENGTH: number of samples the region represents

boolposition_locked ()
voidraise ()
voidraise_to_top ()
voidset_hidden (bool)
voidset_initial_position (timepos_t)
voidset_length (timecnt_t)
voidset_locked (bool)
voidset_muted (bool)
boolset_name (std::string)

Note: changing the name of a Region does not constitute an edit

voidset_opaque (bool)
voidset_position (timepos_t)
voidset_position_locked (bool)
voidset_start (timepos_t)
voidset_sync_position (timepos_t)
voidset_video_locked (bool)
floatshift ()
Sourcesource (unsigned int)
timepos_tstart ()
floatstretch ()
boolsync_marked ()
LuaTable(timecnt_t, ...)sync_offset (int&)
timepos_tsync_position ()

Returns Sync position in session time

Int64Listtransients ()
voidtrim_end (timepos_t)
voidtrim_front (timepos_t)
voidtrim_to (timepos_t, timecnt_t)
boolvideo_locked ()
boolwhole_file ()
Cast
AudioRegionto_audioregion ()
MidiRegionto_midiregion ()

Inherited from ARDOUR:SessionObjectPtr

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:RegionFactory

C‡: ARDOUR::RegionFactory

Methods
Regionclone_region (Region, bool, bool)
Regionregion_by_id (ID)
RegionMapregions ()

 ARDOUR:RegionList

C‡: std::list<std::shared_ptr<ARDOUR::Region> >

Constructor
ARDOUR.RegionList ()
Methods
Regionback ()
boolempty ()
Regionfront ()
LuaIteriter ()
voidreverse ()
unsigned longsize ()
LuaTabletable ()

 ARDOUR:RegionListPtr

C‡: std::shared_ptr<std::list<std::shared_ptr<ARDOUR::Region> > >

Constructor
ARDOUR.RegionListPtr ()
Methods
LuaTableadd (LuaTable {Region})
voidclear ()
boolempty ()
ARDOUR.RegionListPtrfrom_regionlist (RegionList)
LuaIteriter ()
voidpush_back (Region)
voidreverse ()
unsigned longsize ()
LuaTabletable ()
voidunique ()

 ARDOUR:RegionMap

C‡: std::map<PBD::ID, std::shared_ptr<ARDOUR::Region> > >

Constructor
ARDOUR.RegionMap ()
Methods
LuaTableadd (LuaTable {Region})
...at (--lua--)
voidclear ()
unsigned longcount (ID)
boolempty ()
LuaIteriter ()
unsigned longsize ()
LuaTabletable ()

 ARDOUR:RegionVector

C‡: std::vector<std::shared_ptr<ARDOUR::Region> >

Constructor
ARDOUR.RegionVector ()
ARDOUR.RegionVector ()
Methods
LuaTableadd (LuaTable {Region})
Regionat (unsigned long)
voidclear ()
boolempty ()
LuaIteriter ()
voidpush_back (Region)
voidreserve (unsigned long)
unsigned longsize ()
LuaTabletable ()
...to_array (--lua--)

 ARDOUR:Return

C‡: std::shared_ptr< ARDOUR::Return >, std::weak_ptr< ARDOUR::Return >

is-a: ARDOUR:IOProcessor

A mixer strip element (Processor) with 1 or 2 IO elements.

Methods
boolisnil ()

Inherited from ARDOUR:IOProcessor

Methods
IOinput ()
ChanCountnatural_input_streams ()
ChanCountnatural_output_streams ()
IOoutput ()

Inherited from ARDOUR:Processor

Methods
voidactivate ()
boolactive ()
longcapture_offset ()
voiddeactivate ()
std::stringdisplay_name ()
booldisplay_to_user ()
longinput_latency ()
ChanCountinput_streams ()
longoutput_latency ()
ChanCountoutput_streams ()
longplayback_offset ()
longsignal_latency ()
Cast
Ampto_amp ()
Automatableto_automatable ()
DelayLineto_delayline ()
DiskIOProcessorto_diskioprocessor ()
DiskReaderto_diskreader ()
DiskWriterto_diskwriter ()
PluginInsertto_insert ()
InternalSendto_internalsend ()
IOProcessorto_ioprocessor ()
Latentto_latent ()
PeakMeterto_meter ()
MonitorProcessorto_monitorprocessor ()
PeakMeterto_peakmeter ()
PluginInsertto_plugininsert ()
PolarityProcessorto_polarityprocessor ()
Sendto_send ()
SideChainto_sidechain ()
SurroundSendto_surroundsend ()
UnknownProcessorto_unknownprocessor ()

Inherited from ARDOUR:SessionObjectPtr

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:Route

C‡: std::shared_ptr< ARDOUR::Route >, std::weak_ptr< ARDOUR::Route >

is-a: ARDOUR:Stripable, PBD:Stateful

Base class for objects with saveable and undoable state

Methods
boolactive ()
intadd_aux_send (Route, Processor)

Add an aux send to a route.

route
route to send to.
before
Processor to insert before, or 0 to insert at the end.
intadd_foldback_send (Route, bool)
intadd_processor_by_index (Processor, int, ProcessorStreams, bool)

Add a processor to a route such that it ends up with a given index into the visible processors.

index
Index to add the processor at, or -1 to add at the end of the list.

Returns 0 on success, non-0 on failure.

booladd_sidechain (Processor)
Ampamp ()
voidclear_stripables ()
std::stringcomment ()
boolcustomize_plugin_insert (Processor, unsigned int, ChanCount, ChanCount)

enable custom plugin-insert configuration

proc
Processor to customize
count
number of plugin instances to use (if zero, reset to default)
outs
output port customization
sinks
input pins for variable-I/O plugins

Returns true if successful

DataTypedata_type ()
Stripablefirst_selected_stripable ()
IOinput ()
boolisnil ()
Deliverymain_outs ()

the signal processorat at end of the processing chain which produces output

MonitorControlmonitoring_control ()
MonitorStatemonitoring_state ()
boolmuted ()
ChanCountn_inputs ()
ChanCountn_outputs ()
Processornth_plugin (unsigned int)
Processornth_processor (unsigned int)
Processornth_send (unsigned int)
IOoutput ()
PannerShellpanner_shell ()
PeakMeterpeak_meter ()
longplayback_latency (bool)
intremove_processor (Processor, ProcessorStreams, bool)

remove plugin/processor

proc
processor to remove
err
error report (index where removal vailed, channel-count why it failed) may be nil
need_process_lock
if locking is required (set to true, unless called from RT context with lock)

Returns 0 on success

intremove_processors (ProcessorList, ProcessorStreams)
boolremove_sidechain (Processor)
intreorder_processors (ProcessorList, ProcessorStreams)
intreplace_processor (Processor, Processor, ProcessorStreams)

replace plugin/processor with another

old
processor to remove
sub
processor to substitute the old one with
err
error report (index where removal vailed, channel-count why it failed) may be nil

Returns 0 on success

boolreset_plugin_insert (Processor)

reset plugin-insert configuration to default, disable customizations.

This is equivalent to calling

 customize_plugin_insert (proc, 0, unused)
proc
Processor to reset

Returns true if successful

voidselect_next_stripable (bool, bool)
voidselect_prev_stripable (bool, bool)
voidset_active (bool, void*)
voidset_comment (std::string, void*)
voidset_meter_point (MeterPoint)
boolset_name (std::string)
boolset_strict_io (bool)
longsignal_latency ()
boolsoloed ()
boolstrict_io ()
SurroundReturnsurround_return ()
SurroundSendsurround_send ()
Processorthe_instrument ()

Return the first processor that accepts has at least one MIDI input and at least one audio output. In the vast majority of cases, this will be "the instrument". This does not preclude other MIDI->audio processors later in the processing chain, but that would be a special case not covered by this utility function.

Amptrim ()
Cast
Trackto_track ()

Inherited from ARDOUR:Stripable

Methods
unsigned inteq_band_cnt ()
std::stringeq_band_name (unsigned int)
GainControlgain_control ()
boolis_auditioner ()
boolis_hidden ()
boolis_master ()
boolis_monitor ()
boolis_private_route ()
boolis_selected ()
boolis_surround_master ()
AutomationControlmapped_control (WellKnownCtrl, unsigned int)
ReadOnlyControlmapped_output (WellKnownData)
AutomationControlmaster_send_enable_controllable ()
MonitorProcessormonitor_control ()
MuteControlmute_control ()
AutomationControlpan_azimuth_control ()
AutomationControlpan_elevation_control ()
AutomationControlpan_frontback_control ()
AutomationControlpan_lfe_control ()
AutomationControlpan_width_control ()
PhaseControlphase_control ()
PresentationInfopresentation_info_ptr ()
AutomationControlrec_enable_control ()
AutomationControlrec_safe_control ()
AutomationControlsend_enable_controllable (unsigned int)
AutomationControlsend_level_controllable (unsigned int)
std::stringsend_name (unsigned int)
AutomationControlsend_pan_azimuth_controllable (unsigned int)
AutomationControlsend_pan_azimuth_enable_controllable (unsigned int)
voidset_presentation_order (unsigned int)
boolslaved ()
boolslaved_to (VCA)
SoloControlsolo_control ()
SoloIsolateControlsolo_isolate_control ()
SoloSafeControlsolo_safe_control ()
GainControltrim_control ()
Cast
Automatableto_automatable ()
Routeto_route ()
Slavableto_slavable ()
VCAto_vca ()

Inherited from ARDOUR:SessionObjectPtr

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

Inherited from PBD:Stateful

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 ARDOUR:Route:ProcessorStreams

C‡: ARDOUR::Route::ProcessorStreams

A record of the stream configuration at some point in the processor list. Used to return where and why an processor list configuration request failed.

Constructor
ARDOUR.Route.ProcessorStreams ()

 ARDOUR:RouteGroup

C‡: ARDOUR::RouteGroup

is-a: ARDOUR:SessionObject

A group identifier for routes.

RouteGroups permit to define properties which are shared among all Routes that use the given identifier.

A route can at most be in one group.

Methods
intadd (Route)

Add a route to a group. Adding a route which is already in the group is allowed; nothing will happen.

r
Route to add.
voidclear ()
voiddestroy_subgroup ()
boolempty ()
intgroup_master_number ()
boolhas_subgroup ()
boolis_active ()
boolis_color ()
boolis_gain ()
boolis_hidden ()
boolis_monitoring ()
boolis_mute ()
boolis_recenable ()
boolis_relative ()
boolis_route_active ()
boolis_select ()
boolis_solo ()
voidmake_subgroup (bool, Placement)
intremove (Route)
unsigned intrgba ()
RouteListPtrroute_list ()
voidset_active (bool, void*)
voidset_color (bool)
voidset_gain (bool)
voidset_hidden (bool, void*)
voidset_monitoring (bool)
voidset_mute (bool)
voidset_recenable (bool)
voidset_relative (bool, void*)
voidset_rgba (unsigned int)

set route-group color and notify UI about change

voidset_route_active (bool)
voidset_select (bool)
voidset_solo (bool)
unsigned longsize ()

Inherited from ARDOUR:SessionObject

Methods
std::stringname ()
Cast
Statefulto_stateful ()

 ARDOUR:RouteGroupList

C‡: std::list<ARDOUR::RouteGroup* >

Constructor
ARDOUR.RouteGroupList ()
Methods
RouteGroupback ()
boolempty ()
RouteGroupfront ()
LuaIteriter ()
voidreverse ()
unsigned longsize ()
LuaTabletable ()

 ARDOUR:RouteList

C‡: std::list<std::shared_ptr<ARDOUR::Route> >

Constructor
ARDOUR.RouteList ()
Methods
Routeback ()
boolempty ()
Routefront ()
LuaIteriter ()
voidreverse ()
unsigned longsize ()
LuaTabletable ()

 ARDOUR:RouteListPtr

C‡: std::shared_ptr<std::list<std::shared_ptr<ARDOUR::Route> > >

Constructor
ARDOUR.RouteListPtr ()
Methods
LuaTableadd (LuaTable {Route})
voidclear ()
boolempty ()
ARDOUR.RouteListPtrfrom_routelist (RouteList)
LuaIteriter ()
voidpush_back (Route)
voidreverse ()
unsigned longsize ()
LuaTabletable ()
voidunique ()

 ARDOUR:Send

C‡: std::shared_ptr< ARDOUR::Send >, std::weak_ptr< ARDOUR::Send >

is-a: ARDOUR:Delivery

A mixer strip element (Processor) with 1 or 2 IO elements.

Methods
GainControlgain_control ()
longget_delay_in ()
longget_delay_out ()
boolis_foldback ()
boolisnil ()
voidset_remove_on_disconnect (bool)
Cast
InternalSendto_internalsend ()

Inherited from ARDOUR:Delivery

Methods
PannerShellpanner_shell ()

Inherited from ARDOUR:IOProcessor

Methods
IOinput ()
ChanCountnatural_input_streams ()
ChanCountnatural_output_streams ()
IOoutput ()

Inherited from ARDOUR:Processor

Methods
voidactivate ()
boolactive ()
longcapture_offset ()
voiddeactivate ()
std::stringdisplay_name ()
booldisplay_to_user ()
longinput_latency ()
ChanCountinput_streams ()
longoutput_latency ()
ChanCountoutput_streams ()
longplayback_offset ()
longsignal_latency ()
Cast
Ampto_amp ()
Automatableto_automatable ()
DelayLineto_delayline ()
DiskIOProcessorto_diskioprocessor ()
DiskReaderto_diskreader ()
DiskWriterto_diskwriter ()
PluginInsertto_insert ()
InternalSendto_internalsend ()
IOProcessorto_ioprocessor ()
Latentto_latent ()
PeakMeterto_meter ()
MonitorProcessorto_monitorprocessor ()
PeakMeterto_peakmeter ()
PluginInsertto_plugininsert ()
PolarityProcessorto_polarityprocessor ()
Sendto_send ()
SideChainto_sidechain ()
SurroundSendto_surroundsend ()
UnknownProcessorto_unknownprocessor ()

Inherited from ARDOUR:SessionObjectPtr

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:Session

C‡: ARDOUR::Session

Ardour Session

Methods
boolabort_empty_reversible_command ()

Abort reversible command IFF no undo changes have been collected.

Returns true if undo operation was aborted.

voidabort_reversible_command ()

abort an open undo command This must only be called after begin_reversible_command ()

boolactively_recording ()
doubleactual_speed ()
voidadd_command (Command)
voidadd_internal_send (Route, Processor, Route)
voidadd_internal_sends (Route, Placement, RouteListPtr)
intadd_master_bus (ChanCount)
StatefulDiffCommandadd_stateful_diff_command (StatefulDestructiblePtr)

create an StatefulDiffCommand from the given object and add it to the stack.

This function must only be called after begin_reversible_command. Failing to do so may lead to a crash.

sfd
the object to diff

Returns the allocated StatefulDiffCommand (already added via add_command)

boolapply_nth_mixer_scene (unsigned long)
boolapply_nth_mixer_scene_to (unsigned long, RouteList)
voidbegin_reversible_command (std::string)

begin collecting undo information

This call must always be followed by either begin_reversible_command() or commit_reversible_command()

cmd_name
human readable name for the undo operation
ConstBundleListPtrbundles ()
voidcancel_all_solo ()
SessionConfigurationcfg ()
voidclear_all_solo_state (ConstRouteListPtr)
boolcollected_undo_commands ()

Test if any undo commands were added since the call to begin_reversible_command ()

This is useful to determine if an undoable action was performed before adding additional information (e.g. selection changes) to the undo transaction.

Returns true if undo operation is valid but empty

voidcommit_reversible_command (Command)

finalize an undo command and commit pending transactions

This must only be called after begin_reversible_command ()

cmd
(additional) command to add
Controllablecontrollable_by_id (ID)
longcurrent_end_sample ()
longcurrent_start_sample ()
voidcut_copy_section (timepos_t, timepos_t, timepos_t, SectionOperation)
voiddisable_record (bool, bool)
AudioEngineengine ()
doubleengine_speed ()
boolexport_track_state (RouteListPtr, std::string)
unsigned intget_block_size ()
boolget_play_loop ()
Routeget_remote_nth_route (unsigned int)
Stripableget_remote_nth_stripable (unsigned int, Flag)
RouteListget_routelist (bool, Flag)
ConstRouteListPtrget_routes ()
BufferSetget_scratch_buffers (ChanCount, bool)
BufferSetget_silent_buffers (ChanCount)
StripableListget_stripables ()
RouteListPtrget_tracks ()
unsigned intget_xrun_count ()
voidgoto_end ()
voidgoto_start (bool)
longio_latency ()
longlast_transport_start ()
boollistening ()
Locationslocations ()
Routemaster_out ()
GainControlmaster_volume ()
voidmaybe_enable_record (bool)
voidmaybe_update_session_range (timepos_t, timepos_t)
Routemonitor_out ()
std::stringname ()
RouteListnew_audio_route (int, int, RouteGroup, unsigned int, std::string, Flag, unsigned int)
AudioTrackListnew_audio_track (int, int, RouteGroup, unsigned int, std::string, unsigned int, TrackMode, bool, bool)
RouteListnew_midi_route (RouteGroup, unsigned int, std::string, bool, PluginInfo, PresetRecord, Flag, unsigned int)
MidiTrackListnew_midi_track (ChanCount, ChanCount, bool, PluginInfo, PresetRecord, RouteGroup, unsigned int, std::string, unsigned int, TrackMode, bool, bool)
RouteListnew_route_from_template (unsigned int, unsigned int, std::string, std::string, PlaylistDisposition)
RouteGroupnew_route_group (std::string)
longnominal_sample_rate ()

"native" sample rate of session, regardless of current audioengine rate, pullup/down etc

MixerScenenth_mixer_scene (unsigned long, bool)
boolnth_mixer_scene_valid (unsigned long)
std::stringpath ()
SessionPlaylistsplaylists ()
boolplot_process_graph (std::string)
longpreroll_samples (long)
Processorprocessor_by_id (ID)
RecordStaterecord_status ()
voidremove_route (Route)
voidremove_route_group (RouteGroup)
voidremove_routes (RouteListPtr)
intrename (std::string)
voidrequest_bounded_roll (long, long)
voidrequest_count_in_record ()
voidrequest_locate (long, bool, LocateTransportDisposition, TransportRequestSource)
voidrequest_play_loop (bool, bool)
voidrequest_preroll_record_trim (long, long)
voidrequest_roll (TransportRequestSource)
voidrequest_stop (bool, bool, TransportRequestSource)
voidrequest_transport_speed (double, TransportRequestSource)
voidreset_xrun_count ()
Routeroute_by_id (ID)
Routeroute_by_name (std::string)
Routeroute_by_selected_count (unsigned int)
RouteGroupListroute_groups ()
longsample_rate ()

"actual" sample rate of session, set by current audioengine rate, pullup/down etc.

...sample_to_timecode_lua (--lua--)
doublesamples_per_timecode_frame ()
intsave_state (std::string, bool, bool, bool, bool, bool)

save session

snapshot_name
name of the session (use an empty string for the current name)
pending
save a 'recovery', not full state (default: false)
switch_to_snapshot
switch to given snapshot after saving (default: false)
template_only
save a session template (default: false)
for_archive
save only data relevant for session-archive
only_used_assets
skip Sources that are not used, mainly useful with for_archive

Returns zero on success

voidscripts_changed ()
Routeselection ()
boolsession_range_is_free ()
voidset_control (AutomationControl, double, GroupControlDisposition)
voidset_controls (ControlListPtr, double, GroupControlDisposition)
voidset_dirty ()
voidset_exclusive_input_active (RouteListPtr, bool, bool)
voidset_session_extents (timepos_t, timepos_t)
voidset_session_range_is_free (bool)
...simple_export (--lua--)
std::stringsnap_name ()
boolsolo_isolated ()
boolsoloing ()
Sourcesource_by_id (ID)
voidstore_nth_mixer_scene (unsigned long)
Stripablestripable_by_id (ID)
Routesurround_master ()
booltimecode_drop_frames ()
longtimecode_frames_per_hour ()
doubletimecode_frames_per_second ()
...timecode_to_sample_lua (--lua--)
booltransport_rolling ()

Returns true if the the transport is actively (audible) rolling. playback speed is not zero, and count-in as well as latency-preroll is complete, and _transport_sample changes every process cycle.

longtransport_sample ()
doubletransport_speed ()
booltransport_state_rolling ()

Returns true if the transport state (TFSM) is rolling. Note: the transport may not yet move if pre-roll or count-in in ongoing.

booltransport_stopped ()

Returns true if the transport state (TFSM) is stopped

booltransport_stopped_or_stopping ()

Returns true if the transport state (TFSM) is stopped or stopping

booltransport_will_roll_forwards ()
StringListunknown_processors ()
VCAManagervca_manager ()
longworst_input_latency ()
longworst_latency_preroll ()
longworst_latency_preroll_buffer_size_ceil ()
longworst_output_latency ()
longworst_route_latency ()

 ARDOUR:SessionConfiguration

C‡: ARDOUR::SessionConfiguration

is-a: PBD:Configuration

Base class for objects with saveable and undoable state

Methods
std::stringget_audio_search_path ()
boolget_auto_input ()
boolget_auto_play ()
boolget_auto_return ()
boolget_count_in ()
CueBehaviorget_cue_behavior ()
TimeDomainget_default_time_domain ()
boolget_draw_opaque_midi_regions ()
boolget_external_sync ()
InsertMergePolicyget_insert_merge_policy ()
boolget_jack_time_master ()
unsigned intget_meterbridge_label_height ()
boolget_midi_copy_is_fork ()
std::stringget_midi_search_path ()
longget_minitimeline_span ()
SampleFormatget_native_file_data_format ()
HeaderFormatget_native_file_header_format ()
boolget_punch_in ()
boolget_punch_out ()
std::stringget_raid_path ()
boolget_realtime_export ()
RecordModeget_record_mode ()
MonitorChoiceget_session_monitoring ()
boolget_show_busses_on_meterbridge ()
boolget_show_fader_on_meterbridge ()
boolget_show_group_tabs ()
boolget_show_master_on_meterbridge ()
boolget_show_midi_on_meterbridge ()
boolget_show_monitor_on_meterbridge ()
boolget_show_mute_on_meterbridge ()
boolget_show_name_on_meterbridge ()
boolget_show_rec_on_meterbridge ()
boolget_show_region_fades ()
boolget_show_solo_on_meterbridge ()
boolget_show_summary ()
std::stringget_slave_timecode_offset ()
unsigned intget_subframes_per_frame ()
std::stringget_take_name ()
TimecodeFormatget_timecode_format ()
std::stringget_timecode_generator_offset ()
longget_timecode_offset ()
boolget_timecode_offset_negative ()
boolget_track_name_number ()
boolget_track_name_take ()
boolget_tracks_follow_session_time ()
boolget_triggerbox_overrides_disk_monitoring ()
boolget_use_monitor_fades ()
boolget_use_region_fades ()
boolget_use_surround_master ()
boolget_use_transport_fades ()
boolget_use_video_file_fps ()
boolget_use_video_sync ()
floatget_video_pullup ()
boolget_videotimeline_pullup ()
doubleget_wave_amplitude_zoom ()
unsigned shortget_wave_zoom_factor ()
boolset_audio_search_path (std::string)
boolset_auto_input (bool)
boolset_auto_play (bool)
boolset_auto_return (bool)
boolset_count_in (bool)
boolset_cue_behavior (CueBehavior)
boolset_default_time_domain (TimeDomain)
boolset_draw_opaque_midi_regions (bool)
boolset_external_sync (bool)
boolset_insert_merge_policy (InsertMergePolicy)
boolset_jack_time_master (bool)
boolset_meterbridge_label_height (unsigned int)
boolset_midi_copy_is_fork (bool)
boolset_midi_search_path (std::string)
boolset_minitimeline_span (long)
boolset_native_file_data_format (SampleFormat)
boolset_native_file_header_format (HeaderFormat)
boolset_punch_in (bool)
boolset_punch_out (bool)
boolset_raid_path (std::string)
boolset_realtime_export (bool)
boolset_record_mode (RecordMode)
boolset_session_monitoring (MonitorChoice)
boolset_show_busses_on_meterbridge (bool)
boolset_show_fader_on_meterbridge (bool)
boolset_show_group_tabs (bool)
boolset_show_master_on_meterbridge (bool)
boolset_show_midi_on_meterbridge (bool)
boolset_show_monitor_on_meterbridge (bool)
boolset_show_mute_on_meterbridge (bool)
boolset_show_name_on_meterbridge (bool)
boolset_show_rec_on_meterbridge (bool)
boolset_show_region_fades (bool)
boolset_show_solo_on_meterbridge (bool)
boolset_show_summary (bool)
boolset_slave_timecode_offset (std::string)
boolset_subframes_per_frame (unsigned int)
boolset_take_name (std::string)
boolset_timecode_format (TimecodeFormat)
boolset_timecode_generator_offset (std::string)
boolset_timecode_offset (long)
boolset_timecode_offset_negative (bool)
boolset_track_name_number (bool)
boolset_track_name_take (bool)
boolset_tracks_follow_session_time (bool)
boolset_triggerbox_overrides_disk_monitoring (bool)
boolset_use_monitor_fades (bool)
boolset_use_region_fades (bool)
boolset_use_surround_master (bool)
boolset_use_transport_fades (bool)
boolset_use_video_file_fps (bool)
boolset_use_video_sync (bool)
boolset_video_pullup (float)
boolset_videotimeline_pullup (bool)
boolset_wave_amplitude_zoom (double)
boolset_wave_zoom_factor (unsigned short)
Properties
std::stringaudio_search_path
boolauto_input
boolauto_play
boolauto_return
boolcount_in
ARDOUR.CueBehaviorcue_behavior
Temporal.TimeDomaindefault_time_domain
booldraw_opaque_midi_regions
boolexternal_sync
ARDOUR.InsertMergePolicyinsert_merge_policy
booljack_time_master
unsigned intmeterbridge_label_height
boolmidi_copy_is_fork
std::stringmidi_search_path
longminitimeline_span
ARDOUR.SampleFormatnative_file_data_format
ARDOUR.HeaderFormatnative_file_header_format
boolpunch_in
boolpunch_out
std::stringraid_path
boolrealtime_export
ARDOUR.RecordModerecord_mode
ARDOUR.MonitorChoicesession_monitoring
boolshow_busses_on_meterbridge
boolshow_fader_on_meterbridge
boolshow_group_tabs
boolshow_master_on_meterbridge
boolshow_midi_on_meterbridge
boolshow_monitor_on_meterbridge
boolshow_mute_on_meterbridge
boolshow_name_on_meterbridge
boolshow_rec_on_meterbridge
boolshow_region_fades
boolshow_solo_on_meterbridge
boolshow_summary
std::stringslave_timecode_offset
unsigned intsubframes_per_frame
std::stringtake_name
Timecode.TimecodeFormattimecode_format
std::stringtimecode_generator_offset
longtimecode_offset
booltimecode_offset_negative
booltrack_name_number
booltrack_name_take
booltracks_follow_session_time
booltriggerbox_overrides_disk_monitoring
booluse_monitor_fades
booluse_region_fades
booluse_surround_master
booluse_transport_fades
booluse_video_file_fps
booluse_video_sync
floatvideo_pullup
boolvideotimeline_pullup
doublewave_amplitude_zoom
unsigned shortwave_zoom_factor

Inherited from PBD:Stateful

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 ARDOUR:SessionObject

C‡: ARDOUR::SessionObject

A named object associated with a Session. Objects derived from this class are expected to be destroyed before the session calls drop_references().

Methods
std::stringname ()
Cast
Statefulto_stateful ()

 ARDOUR:SessionObjectPtr

C‡: std::shared_ptr< ARDOUR::SessionObject >, std::weak_ptr< ARDOUR::SessionObject >

A named object associated with a Session. Objects derived from this class are expected to be destroyed before the session calls drop_references().

Methods
boolisnil ()
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:SessionPlaylists

C‡: std::shared_ptr< ARDOUR::SessionPlaylists >, std::weak_ptr< ARDOUR::SessionPlaylists >

Methods
Playlistby_id (ID)
Playlistby_name (std::string)
PlaylistListget_unused ()
PlaylistListget_used ()
boolisnil ()
unsigned intn_playlists ()
PlaylistListplaylists_for_track (Track)

Returns list of Playlists that are associated with a track

unsigned intregion_use_count (Region)
unsigned intsource_use_count (Source)

 ARDOUR:SideChain

C‡: std::shared_ptr< ARDOUR::SideChain >, std::weak_ptr< ARDOUR::SideChain >

is-a: ARDOUR:IOProcessor

A mixer strip element (Processor) with 1 or 2 IO elements.

Methods
boolisnil ()

Inherited from ARDOUR:IOProcessor

Methods
IOinput ()
ChanCountnatural_input_streams ()
ChanCountnatural_output_streams ()
IOoutput ()

Inherited from ARDOUR:Processor

Methods
voidactivate ()
boolactive ()
longcapture_offset ()
voiddeactivate ()
std::stringdisplay_name ()
booldisplay_to_user ()
longinput_latency ()
ChanCountinput_streams ()
longoutput_latency ()
ChanCountoutput_streams ()
longplayback_offset ()
longsignal_latency ()
Cast
Ampto_amp ()
Automatableto_automatable ()
DelayLineto_delayline ()
DiskIOProcessorto_diskioprocessor ()
DiskReaderto_diskreader ()
DiskWriterto_diskwriter ()
PluginInsertto_insert ()
InternalSendto_internalsend ()
IOProcessorto_ioprocessor ()
Latentto_latent ()
PeakMeterto_meter ()
MonitorProcessorto_monitorprocessor ()
PeakMeterto_peakmeter ()
PluginInsertto_plugininsert ()
PolarityProcessorto_polarityprocessor ()
Sendto_send ()
SideChainto_sidechain ()
SurroundSendto_surroundsend ()
UnknownProcessorto_unknownprocessor ()

Inherited from ARDOUR:SessionObjectPtr

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:SimpleExport

C‡: ARDOUR::SimpleExport

Base class for audio export

This allows one to export audio from the session's master bus using a given export-preset.

Methods
boolcheck_outputs ()
boolrun_export ()
voidset_folder (std::string)
voidset_name (std::string)
boolset_preset (std::string)
voidset_range (long, long)

 ARDOUR:Slavable

C‡: std::shared_ptr< ARDOUR::Slavable >, std::weak_ptr< ARDOUR::Slavable >

Methods
voidassign (VCA)
boolassigned_to (VCAManager, VCA)

recursively test for master assignment to given VCA

boolisnil ()
VCAVectormasters (VCAManager)
voidunassign (VCA)

 ARDOUR:SlavableAutomationControl

C‡: std::shared_ptr< ARDOUR::SlavableAutomationControl >, std::weak_ptr< ARDOUR::SlavableAutomationControl >

is-a: ARDOUR:AutomationControl

A PBD::Controllable with associated automation data (AutomationList)

Methods
voidadd_master (AutomationControl)
voidclear_masters ()
intget_boolean_masters ()
doubleget_masters_value ()
boolisnil ()
voidremove_master (AutomationControl)
boolslaved ()
boolslaved_to (AutomationControl)

Inherited from ARDOUR:AutomationControl

Methods
AutomationListalist ()
AutoStateautomation_state ()
ParameterDescriptordesc ()
doubleget_value ()

Get `internal' value

Returns raw value as used for the plugin/processor control port

doublelower ()
doublenormal ()
voidset_automation_state (AutoState)
voidset_value (double, GroupControlDisposition)

Set `internal' value

All derived classes must implement this.

Basic derived classes will ignore group_override but more sophisticated children, notably those that proxy the value setting logic via an object that is aware of group relationships between this control and others, will find it useful.

value
raw numeric value to set
group_override
if and how to propagate value to grouped controls
voidstart_touch (timepos_t)
voidstop_touch (timepos_t)
booltoggled ()
doubleupper ()
boolwritable ()
Cast
Controlto_ctrl ()
SlavableAutomationControlto_slavable ()

Inherited from PBD:Controllable

Methods
voiddump_registry ()
std::stringname ()
ControllableSetregistered_controllables ()
Cast
AutomationControlto_automationcontrol ()
MPGainControlto_mpgain ()
MPToggleControlto_mptoggle ()

Inherited from PBD:StatefulPtr

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 ARDOUR:SoloControl

C‡: std::shared_ptr< ARDOUR::SoloControl >, std::weak_ptr< ARDOUR::SoloControl >

is-a: ARDOUR:SlavableAutomationControl

A PBD::Controllable with associated automation data (AutomationList)

Methods
boolcan_solo ()
boolisnil ()
boolself_soloed ()
boolsoloed ()

Inherited from ARDOUR:SlavableAutomationControl

Methods
voidadd_master (AutomationControl)
voidclear_masters ()
intget_boolean_masters ()
doubleget_masters_value ()
voidremove_master (AutomationControl)
boolslaved ()
boolslaved_to (AutomationControl)

Inherited from ARDOUR:AutomationControl

Methods
AutomationListalist ()
AutoStateautomation_state ()
ParameterDescriptordesc ()
doubleget_value ()

Get `internal' value

Returns raw value as used for the plugin/processor control port

doublelower ()
doublenormal ()
voidset_automation_state (AutoState)
voidset_value (double, GroupControlDisposition)

Set `internal' value

All derived classes must implement this.

Basic derived classes will ignore group_override but more sophisticated children, notably those that proxy the value setting logic via an object that is aware of group relationships between this control and others, will find it useful.

value
raw numeric value to set
group_override
if and how to propagate value to grouped controls
voidstart_touch (timepos_t)
voidstop_touch (timepos_t)
booltoggled ()
doubleupper ()
boolwritable ()
Cast
Controlto_ctrl ()
SlavableAutomationControlto_slavable ()

Inherited from PBD:Controllable

Methods
voiddump_registry ()
std::stringname ()
ControllableSetregistered_controllables ()
Cast
AutomationControlto_automationcontrol ()
MPGainControlto_mpgain ()
MPToggleControlto_mptoggle ()

Inherited from PBD:StatefulPtr

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 ARDOUR:SoloIsolateControl

C‡: std::shared_ptr< ARDOUR::SoloIsolateControl >, std::weak_ptr< ARDOUR::SoloIsolateControl >

is-a: ARDOUR:SlavableAutomationControl

A PBD::Controllable with associated automation data (AutomationList)

Methods
boolisnil ()
boolself_solo_isolated ()
boolsolo_isolated ()

Inherited from ARDOUR:SlavableAutomationControl

Methods
voidadd_master (AutomationControl)
voidclear_masters ()
intget_boolean_masters ()
doubleget_masters_value ()
voidremove_master (AutomationControl)
boolslaved ()
boolslaved_to (AutomationControl)

Inherited from ARDOUR:AutomationControl

Methods
AutomationListalist ()
AutoStateautomation_state ()
ParameterDescriptordesc ()
doubleget_value ()

Get `internal' value

Returns raw value as used for the plugin/processor control port

doublelower ()
doublenormal ()
voidset_automation_state (AutoState)
voidset_value (double, GroupControlDisposition)

Set `internal' value

All derived classes must implement this.

Basic derived classes will ignore group_override but more sophisticated children, notably those that proxy the value setting logic via an object that is aware of group relationships between this control and others, will find it useful.

value
raw numeric value to set
group_override
if and how to propagate value to grouped controls
voidstart_touch (timepos_t)
voidstop_touch (timepos_t)
booltoggled ()
doubleupper ()
boolwritable ()
Cast
Controlto_ctrl ()
SlavableAutomationControlto_slavable ()

Inherited from PBD:Controllable

Methods
voiddump_registry ()
std::stringname ()
ControllableSetregistered_controllables ()
Cast
AutomationControlto_automationcontrol ()
MPGainControlto_mpgain ()
MPToggleControlto_mptoggle ()

Inherited from PBD:StatefulPtr

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 ARDOUR:SoloSafeControl

C‡: std::shared_ptr< ARDOUR::SoloSafeControl >, std::weak_ptr< ARDOUR::SoloSafeControl >

is-a: ARDOUR:SlavableAutomationControl

A PBD::Controllable with associated automation data (AutomationList)

Methods
boolisnil ()
boolsolo_safe ()

Inherited from ARDOUR:SlavableAutomationControl

Methods
voidadd_master (AutomationControl)
voidclear_masters ()
intget_boolean_masters ()
doubleget_masters_value ()
voidremove_master (AutomationControl)
boolslaved ()
boolslaved_to (AutomationControl)

Inherited from ARDOUR:AutomationControl

Methods
AutomationListalist ()
AutoStateautomation_state ()
ParameterDescriptordesc ()
doubleget_value ()

Get `internal' value

Returns raw value as used for the plugin/processor control port

doublelower ()
doublenormal ()
voidset_automation_state (AutoState)
voidset_value (double, GroupControlDisposition)

Set `internal' value

All derived classes must implement this.

Basic derived classes will ignore group_override but more sophisticated children, notably those that proxy the value setting logic via an object that is aware of group relationships between this control and others, will find it useful.

value
raw numeric value to set
group_override
if and how to propagate value to grouped controls
voidstart_touch (timepos_t)
voidstop_touch (timepos_t)
booltoggled ()
doubleupper ()
boolwritable ()
Cast
Controlto_ctrl ()
SlavableAutomationControlto_slavable ()

Inherited from PBD:Controllable

Methods
voiddump_registry ()
std::stringname ()
ControllableSetregistered_controllables ()
Cast
AutomationControlto_automationcontrol ()
MPGainControlto_mpgain ()
MPToggleControlto_mptoggle ()

Inherited from PBD:StatefulPtr

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 ARDOUR:Source

C‡: std::shared_ptr< ARDOUR::Source >, std::weak_ptr< ARDOUR::Source >

is-a: ARDOUR:SessionObjectPtr

A named object associated with a Session. Objects derived from this class are expected to be destroyed before the session calls drop_references().

Methods
std::stringancestor_name ()
boolcan_be_analysed ()
XrunPositionscaptured_xruns ()
boolempty ()
boolhas_been_analysed ()
boolisnil ()
timepos_tlength ()
timepos_tnatural_position ()
timepos_ttimeline_position ()
longtimestamp ()
intuse_count ()
boolused ()
boolwritable ()
Cast
AudioSourceto_audiosource ()
FileSourceto_filesource ()
MidiSourceto_midisource ()

Inherited from ARDOUR:SessionObjectPtr

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:SourceList

C‡: std::vector<std::shared_ptr<ARDOUR::Source> >

Constructor
ARDOUR.SourceList ()
ARDOUR.SourceList ()
Methods
LuaTableadd (LuaTable {Source})
Sourceat (unsigned long)
voidclear ()
boolempty ()
LuaIteriter ()
voidpush_back (Source)
voidreserve (unsigned long)
unsigned longsize ()
LuaTabletable ()
...to_array (--lua--)

 ARDOUR:Stripable

C‡: std::shared_ptr< ARDOUR::Stripable >, std::weak_ptr< ARDOUR::Stripable >

is-a: ARDOUR:SessionObjectPtr

A named object associated with a Session. Objects derived from this class are expected to be destroyed before the session calls drop_references().

Methods
unsigned inteq_band_cnt ()
std::stringeq_band_name (unsigned int)
GainControlgain_control ()
boolis_auditioner ()
boolis_hidden ()
boolis_master ()
boolis_monitor ()
boolis_private_route ()
boolis_selected ()
boolis_surround_master ()
boolisnil ()
AutomationControlmapped_control (WellKnownCtrl, unsigned int)
ReadOnlyControlmapped_output (WellKnownData)
AutomationControlmaster_send_enable_controllable ()
MonitorProcessormonitor_control ()
MuteControlmute_control ()
AutomationControlpan_azimuth_control ()
AutomationControlpan_elevation_control ()
AutomationControlpan_frontback_control ()
AutomationControlpan_lfe_control ()
AutomationControlpan_width_control ()
PhaseControlphase_control ()
PresentationInfopresentation_info_ptr ()
AutomationControlrec_enable_control ()
AutomationControlrec_safe_control ()
AutomationControlsend_enable_controllable (unsigned int)
AutomationControlsend_level_controllable (unsigned int)
std::stringsend_name (unsigned int)
AutomationControlsend_pan_azimuth_controllable (unsigned int)
AutomationControlsend_pan_azimuth_enable_controllable (unsigned int)
voidset_presentation_order (unsigned int)
boolslaved ()
boolslaved_to (VCA)
SoloControlsolo_control ()
SoloIsolateControlsolo_isolate_control ()
SoloSafeControlsolo_safe_control ()
GainControltrim_control ()
Cast
Automatableto_automatable ()
Routeto_route ()
Slavableto_slavable ()
VCAto_vca ()

Inherited from ARDOUR:SessionObjectPtr

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:StripableList

C‡: std::list<std::shared_ptr<ARDOUR::Stripable> >

Constructor
ARDOUR.StripableList ()
Methods
Stripableback ()
boolempty ()
Stripablefront ()
LuaIteriter ()
voidreverse ()
unsigned longsize ()
LuaTabletable ()

 ARDOUR:SurroundPannable

C‡: std::shared_ptr< ARDOUR::SurroundPannable >, std::weak_ptr< ARDOUR::SurroundPannable >

is-a: ARDOUR:Automatable

Base class for objects with saveable and undoable state

Methods
boolisnil ()
Data Members
ARDOUR:AutomationControlbinaural_render_mode
ARDOUR:AutomationControlpan_pos_x
ARDOUR:AutomationControlpan_pos_y
ARDOUR:AutomationControlpan_pos_z
ARDOUR:AutomationControlpan_size
ARDOUR:AutomationControlpan_snap
ARDOUR:AutomationControlsur_elevation_enable
ARDOUR:AutomationControlsur_ramp
ARDOUR:AutomationControlsur_zones

Inherited from ARDOUR:Automatable

Methods
ParameterListall_automatable_params ()

API for Lua binding

AutomationControlautomation_control (Parameter, bool)
Cast
Slavableto_slavable ()

 ARDOUR:SurroundReturn

C‡: std::shared_ptr< ARDOUR::SurroundReturn >, std::weak_ptr< ARDOUR::SurroundReturn >

is-a: ARDOUR:Processor

A mixer strip element - plugin, send, meter, etc

Methods
boolhave_au_renderer ()
floatintegrated_loudness ()
boolisnil ()
boolload_au_preset (unsigned long)
floatmax_dbtp ()
floatmax_momentary ()
floatmomentary ()
unsigned longn_channels ()
Controllableoutput_format_controllable ()
boolset_au_param (unsigned long, float)
voidset_bed_mix (bool, std::string, IntArray)
voidset_ffoa (float)
voidset_sync_and_align (bool)
voidset_with_all_metadata (bool)
unsigned longtotal_n_channels (bool)

Inherited from ARDOUR:Processor

Methods
voidactivate ()
boolactive ()
longcapture_offset ()
voiddeactivate ()
std::stringdisplay_name ()
booldisplay_to_user ()
longinput_latency ()
ChanCountinput_streams ()
longoutput_latency ()
ChanCountoutput_streams ()
longplayback_offset ()
longsignal_latency ()
Cast
Ampto_amp ()
Automatableto_automatable ()
DelayLineto_delayline ()
DiskIOProcessorto_diskioprocessor ()
DiskReaderto_diskreader ()
DiskWriterto_diskwriter ()
PluginInsertto_insert ()
InternalSendto_internalsend ()
IOProcessorto_ioprocessor ()
Latentto_latent ()
PeakMeterto_meter ()
MonitorProcessorto_monitorprocessor ()
PeakMeterto_peakmeter ()
PluginInsertto_plugininsert ()
PolarityProcessorto_polarityprocessor ()
Sendto_send ()
SideChainto_sidechain ()
SurroundSendto_surroundsend ()
UnknownProcessorto_unknownprocessor ()

Inherited from ARDOUR:SessionObjectPtr

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:SurroundSend

C‡: std::shared_ptr< ARDOUR::SurroundSend >, std::weak_ptr< ARDOUR::SurroundSend >

is-a: ARDOUR:Processor

A mixer strip element - plugin, send, meter, etc

Methods
GainControlgain_control ()
longget_delay_in ()
longget_delay_out ()
boolisnil ()
unsigned intn_pannables ()
SurroundPannablepannable (unsigned long)

Inherited from ARDOUR:Processor

Methods
voidactivate ()
boolactive ()
longcapture_offset ()
voiddeactivate ()
std::stringdisplay_name ()
booldisplay_to_user ()
longinput_latency ()
ChanCountinput_streams ()
longoutput_latency ()
ChanCountoutput_streams ()
longplayback_offset ()
longsignal_latency ()
Cast
Ampto_amp ()
Automatableto_automatable ()
DelayLineto_delayline ()
DiskIOProcessorto_diskioprocessor ()
DiskReaderto_diskreader ()
DiskWriterto_diskwriter ()
PluginInsertto_insert ()
InternalSendto_internalsend ()
IOProcessorto_ioprocessor ()
Latentto_latent ()
PeakMeterto_meter ()
MonitorProcessorto_monitorprocessor ()
PeakMeterto_peakmeter ()
PluginInsertto_plugininsert ()
PolarityProcessorto_polarityprocessor ()
Sendto_send ()
SideChainto_sidechain ()
SurroundSendto_surroundsend ()
UnknownProcessorto_unknownprocessor ()

Inherited from ARDOUR:SessionObjectPtr

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:TimelineRange

C‡: ARDOUR::TimelineRange

Constructor
ARDOUR.TimelineRange (timepos_t, timepos_t, unsigned int)
Methods
timepos_t_end ()
boolequal (TimelineRange)
timecnt_tlength ()
timepos_tstart ()
Data Members
unsigned intid

 ARDOUR:TimelineRangeList

C‡: std::list<ARDOUR::TimelineRange >

Constructor
ARDOUR.TimelineRangeList ()
Methods
LuaTableadd (LuaTable {TimelineRange})
TimelineRangeback ()
voidclear ()
boolempty ()
TimelineRangefront ()
LuaIteriter ()
voidpush_back (TimelineRange)
voidreverse ()
unsigned longsize ()
LuaTabletable ()
voidunique ()

 ARDOUR:Track

C‡: std::shared_ptr< ARDOUR::Track >, std::weak_ptr< ARDOUR::Track >

is-a: ARDOUR:Route

A track is an route (bus) with a recordable diskstream and related objects relevant to recording, playback and editing.

Specifically a track has a playlist object that describes material to be played from disk, and modifies that object during recording and editing.

Constructor
ARDOUR.Track ()
Methods
Regionbounce (InterThreadInfo&, std::string)

bounce track from session start to session end to new region

itt
asynchronous progress report and cancel

Returns a new audio region (or nil in case of error)

Regionbounce_range (long, long, InterThreadInfo&, Processor, bool, std::string, bool)

Bounce the given range to a new audio region.

start
start time (in samples)
end
end time (in samples)
itt
asynchronous progress report and cancel
endpoint
the processor to tap the signal off (or nil for the top)
include_endpoint
include the given processor in the bounced audio.

Returns a new audio region (or nil in case of error)

boolbounceable (Processor, bool)

Test if the track can be bounced with the given settings. If sends/inserts/returns are present in the signal path or the given track has no audio outputs bouncing is not possible.

endpoint
the processor to tap the signal off (or nil for the top)
include_endpoint
include the given processor in the bounced audio.

Returns true if the track can be bounced, or false otherwise.

boolcan_record ()
intfind_and_use_playlist (DataType, ID)
boolisnil ()
Playlistplaylist ()
boolset_name (std::string)
intuse_copy_playlist ()
intuse_new_playlist (DataType)
intuse_playlist (DataType, Playlist, bool)
Cast
AudioTrackto_audio_track ()
MidiTrackto_midi_track ()

Inherited from ARDOUR:Route

Methods
boolactive ()
intadd_aux_send (Route, Processor)

Add an aux send to a route.

route
route to send to.
before
Processor to insert before, or 0 to insert at the end.
intadd_foldback_send (Route, bool)
intadd_processor_by_index (Processor, int, ProcessorStreams, bool)

Add a processor to a route such that it ends up with a given index into the visible processors.

index
Index to add the processor at, or -1 to add at the end of the list.

Returns 0 on success, non-0 on failure.

booladd_sidechain (Processor)
Ampamp ()
voidclear_stripables ()
std::stringcomment ()
boolcustomize_plugin_insert (Processor, unsigned int, ChanCount, ChanCount)

enable custom plugin-insert configuration

proc
Processor to customize
count
number of plugin instances to use (if zero, reset to default)
outs
output port customization
sinks
input pins for variable-I/O plugins

Returns true if successful

DataTypedata_type ()
Stripablefirst_selected_stripable ()
IOinput ()
Deliverymain_outs ()

the signal processorat at end of the processing chain which produces output

MonitorControlmonitoring_control ()
MonitorStatemonitoring_state ()
boolmuted ()
ChanCountn_inputs ()
ChanCountn_outputs ()
Processornth_plugin (unsigned int)
Processornth_processor (unsigned int)
Processornth_send (unsigned int)
IOoutput ()
PannerShellpanner_shell ()
PeakMeterpeak_meter ()
longplayback_latency (bool)
intremove_processor (Processor, ProcessorStreams, bool)

remove plugin/processor

proc
processor to remove
err
error report (index where removal vailed, channel-count why it failed) may be nil
need_process_lock
if locking is required (set to true, unless called from RT context with lock)

Returns 0 on success

intremove_processors (ProcessorList, ProcessorStreams)
boolremove_sidechain (Processor)
intreorder_processors (ProcessorList, ProcessorStreams)
intreplace_processor (Processor, Processor, ProcessorStreams)

replace plugin/processor with another

old
processor to remove
sub
processor to substitute the old one with
err
error report (index where removal vailed, channel-count why it failed) may be nil

Returns 0 on success

boolreset_plugin_insert (Processor)

reset plugin-insert configuration to default, disable customizations.

This is equivalent to calling

 customize_plugin_insert (proc, 0, unused)
proc
Processor to reset

Returns true if successful

voidselect_next_stripable (bool, bool)
voidselect_prev_stripable (bool, bool)
voidset_active (bool, void*)
voidset_comment (std::string, void*)
voidset_meter_point (MeterPoint)
boolset_strict_io (bool)
longsignal_latency ()
boolsoloed ()
boolstrict_io ()
SurroundReturnsurround_return ()
SurroundSendsurround_send ()
Processorthe_instrument ()

Return the first processor that accepts has at least one MIDI input and at least one audio output. In the vast majority of cases, this will be "the instrument". This does not preclude other MIDI->audio processors later in the processing chain, but that would be a special case not covered by this utility function.

Amptrim ()
Cast
Trackto_track ()

Inherited from ARDOUR:Stripable

Methods
unsigned inteq_band_cnt ()
std::stringeq_band_name (unsigned int)
GainControlgain_control ()
boolis_auditioner ()
boolis_hidden ()
boolis_master ()
boolis_monitor ()
boolis_private_route ()
boolis_selected ()
boolis_surround_master ()
AutomationControlmapped_control (WellKnownCtrl, unsigned int)
ReadOnlyControlmapped_output (WellKnownData)
AutomationControlmaster_send_enable_controllable ()
MonitorProcessormonitor_control ()
MuteControlmute_control ()
AutomationControlpan_azimuth_control ()
AutomationControlpan_elevation_control ()
AutomationControlpan_frontback_control ()
AutomationControlpan_lfe_control ()
AutomationControlpan_width_control ()
PhaseControlphase_control ()
PresentationInfopresentation_info_ptr ()
AutomationControlrec_enable_control ()
AutomationControlrec_safe_control ()
AutomationControlsend_enable_controllable (unsigned int)
AutomationControlsend_level_controllable (unsigned int)
std::stringsend_name (unsigned int)
AutomationControlsend_pan_azimuth_controllable (unsigned int)
AutomationControlsend_pan_azimuth_enable_controllable (unsigned int)
voidset_presentation_order (unsigned int)
boolslaved ()
boolslaved_to (VCA)
SoloControlsolo_control ()
SoloIsolateControlsolo_isolate_control ()
SoloSafeControlsolo_safe_control ()
GainControltrim_control ()
Cast
Automatableto_automatable ()
Routeto_route ()
Slavableto_slavable ()
VCAto_vca ()

Inherited from ARDOUR:SessionObjectPtr

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

Inherited from PBD:Stateful

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 ARDOUR:UnknownProcessor

C‡: std::shared_ptr< ARDOUR::UnknownProcessor >, std::weak_ptr< ARDOUR::UnknownProcessor >

is-a: ARDOUR:Processor

A stub Processor that can be used in place of a `real' one that cannot be created for some reason; usually because it requires a plugin which is not present. UnknownProcessors are special-cased in a few places, notably in route configuration and signal processing, so that on encountering them configuration or processing stops.

When a Processor is missing from a Route, the following processors cannot be configured, as the missing Processor's output port configuration is unknown.

The main utility of the UnknownProcessor is that it allows state to be preserved, so that, for example, loading and re-saving a session on a machine without a particular plugin will not corrupt the session.

Methods
boolisnil ()

Inherited from ARDOUR:Processor

Methods
voidactivate ()
boolactive ()
longcapture_offset ()
voiddeactivate ()
std::stringdisplay_name ()
booldisplay_to_user ()
longinput_latency ()
ChanCountinput_streams ()
longoutput_latency ()
ChanCountoutput_streams ()
longplayback_offset ()
longsignal_latency ()
Cast
Ampto_amp ()
Automatableto_automatable ()
DelayLineto_delayline ()
DiskIOProcessorto_diskioprocessor ()
DiskReaderto_diskreader ()
DiskWriterto_diskwriter ()
PluginInsertto_insert ()
InternalSendto_internalsend ()
IOProcessorto_ioprocessor ()
Latentto_latent ()
PeakMeterto_meter ()
MonitorProcessorto_monitorprocessor ()
PeakMeterto_peakmeter ()
PluginInsertto_plugininsert ()
PolarityProcessorto_polarityprocessor ()
Sendto_send ()
SideChainto_sidechain ()
SurroundSendto_surroundsend ()
UnknownProcessorto_unknownprocessor ()

Inherited from ARDOUR:SessionObjectPtr

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:UserBundle

C‡: std::shared_ptr< ARDOUR::UserBundle >, std::weak_ptr< ARDOUR::UserBundle >

is-a: ARDOUR:Bundle

A set of `channels', each of which is associated with 0 or more ports. Each channel has a name which can be anything useful, and a data type. Intended for grouping things like, for example, a buss' outputs. `Channel' is a rather overloaded term but I can't think of a better one right now.

Methods
boolisnil ()

Inherited from ARDOUR:Bundle

Methods
std::stringchannel_name (unsigned int)
ch
Channel.

Returns Channel name.

unsigned intn_total ()
std::stringname ()

Returns Bundle name

ChanCountnchannels ()

Returns Number of channels that this Bundle has

boolports_are_inputs ()
boolports_are_outputs ()
Cast
UserBundleto_userbundle ()

 ARDOUR:VCA

C‡: std::shared_ptr< ARDOUR::VCA >, std::weak_ptr< ARDOUR::VCA >

is-a: ARDOUR:Stripable

A named object associated with a Session. Objects derived from this class are expected to be destroyed before the session calls drop_references().

Methods
std::stringfull_name ()
GainControlgain_control ()
boolisnil ()
MuteControlmute_control ()
intnumber ()
SoloControlsolo_control ()

Inherited from ARDOUR:Stripable

Methods
unsigned inteq_band_cnt ()
std::stringeq_band_name (unsigned int)
boolis_auditioner ()
boolis_hidden ()
boolis_master ()
boolis_monitor ()
boolis_private_route ()
boolis_selected ()
boolis_surround_master ()
AutomationControlmapped_control (WellKnownCtrl, unsigned int)
ReadOnlyControlmapped_output (WellKnownData)
AutomationControlmaster_send_enable_controllable ()
MonitorProcessormonitor_control ()
AutomationControlpan_azimuth_control ()
AutomationControlpan_elevation_control ()
AutomationControlpan_frontback_control ()
AutomationControlpan_lfe_control ()
AutomationControlpan_width_control ()
PhaseControlphase_control ()
PresentationInfopresentation_info_ptr ()
AutomationControlrec_enable_control ()
AutomationControlrec_safe_control ()
AutomationControlsend_enable_controllable (unsigned int)
AutomationControlsend_level_controllable (unsigned int)
std::stringsend_name (unsigned int)
AutomationControlsend_pan_azimuth_controllable (unsigned int)
AutomationControlsend_pan_azimuth_enable_controllable (unsigned int)
voidset_presentation_order (unsigned int)
boolslaved ()
boolslaved_to (VCA)
SoloIsolateControlsolo_isolate_control ()
SoloSafeControlsolo_safe_control ()
GainControltrim_control ()
Cast
Automatableto_automatable ()
Routeto_route ()
Slavableto_slavable ()
VCAto_vca ()

Inherited from ARDOUR:SessionObjectPtr

Methods
std::stringname ()
Cast
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()

 ARDOUR:VCAList

C‡: std::list<std::shared_ptr<ARDOUR::VCA> >

Constructor
ARDOUR.VCAList ()
Methods
VCAback ()
boolempty ()
VCAfront ()
LuaIteriter ()
voidreverse ()
unsigned longsize ()
LuaTabletable ()

 ARDOUR:VCAManager

C‡: ARDOUR::VCAManager

is-a: PBD:StatefulDestructible

Base class for objects with saveable and undoable state with destruction notification

Methods
VCAListcreate_vca (unsigned int, std::string)
unsigned longn_vcas ()
voidremove_vca (VCA)
VCAvca_by_name (std::string)
VCAvca_by_number (int)
VCAListvcas ()

Inherited from PBD:Stateful

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 ARDOUR:VCAVector

C‡: std::vector<std::shared_ptr<ARDOUR::VCA> >

Constructor
ARDOUR.VCAVector ()
Methods
VCAat (unsigned long)
boolempty ()
LuaIteriter ()
unsigned longsize ()
LuaTabletable ()

 ARDOUR:WeakAudioSourceList

C‡: std::list<std::weak_ptr<ARDOUR::AudioSource> >

Constructor
ARDOUR.WeakAudioSourceList ()
Methods
AudioSourceback ()
boolempty ()
AudioSourcefront ()
LuaIteriter ()
voidreverse ()
unsigned longsize ()
LuaTabletable ()

 ARDOUR:WeakRouteList

C‡: std::list<std::weak_ptr<ARDOUR::Route> >

Constructor
ARDOUR.WeakRouteList ()
Methods
Routeback ()
boolempty ()
Routefront ()
LuaIteriter ()
voidreverse ()
unsigned longsize ()
LuaTabletable ()

 ARDOUR:WeakSourceList

C‡: std::list<std::weak_ptr<ARDOUR::Source> >

Constructor
ARDOUR.WeakSourceList ()
Methods
Sourceback ()
boolempty ()
Sourcefront ()
LuaIteriter ()
voidreverse ()
unsigned longsize ()
LuaTabletable ()

 ARDOUR:XrunPositions

C‡: std::vector<long >

Constructor
ARDOUR.XrunPositions ()
ARDOUR.XrunPositions ()
Methods
LuaTableadd (LuaTable {long})
longat (unsigned long)
voidclear ()
boolempty ()
LuaIteriter ()
voidpush_back (long)
voidreserve (unsigned long)
unsigned longsize ()
LuaTabletable ()
...to_array (--lua--)

 ArdourUI

Methods
LuaTableactionlist ()
UIConfigurationconfig ()
std::stringhttp_get (std::string)
voidmixer_screenshot (std::string)
ProcessorVectorprocessor_selection ()
unsigned inttranslate_order (InsertAt)

 ArdourUI:ArdourMarker

C‡: ArdourMarker

Location Marker

Editor ruler representation of a location marker or range on the timeline.

Methods
std::stringname ()
timepos_tposition ()
Type_type ()

 ArdourUI:ArdourMarkerList

C‡: std::list<ArdourMarker* >

Constructor
ArdourUI.ArdourMarkerList ()
Methods
ArdourMarkerback ()
voidclear ()
boolempty ()
ArdourMarkerfront ()
LuaIteriter ()
...push_back (--lua--)
voidreverse ()
unsigned longsize ()
LuaTabletable ()
voidunique ()

 ArdourUI:AxisView

C‡: AxisView

AxisView defines the abstract base class for horizontal and vertical presentations of Stripables.

This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.

 ArdourUI:Editor

C‡: PublicEditor

This class contains just the public interface of the Editor class, in order to decouple it from the private implementation, so that callers of PublicEditor need not be recompiled if private methods or member variables change.

Methods
voidaccess_action (std::string, std::string)
voidadd_location_from_playhead_cursor ()
voidadd_location_mark (timepos_t)
TrackViewListaxis_views_from_routes (RouteListPtr)
voidcenter_screen (long)
voidclear_grouped_playlists (RouteUI)
voidclear_playlist (Playlist)
voidconsider_auditioning (Region)

Possibly start the audition of a region.

If r is 0, or not an AudioRegion any current audition is cancelled. If we are currently auditioning r , the audition will be cancelled. Otherwise an audition of r will start.

r
Region to consider auditioning
Routecurrent_mixer_stripable ()
MouseModecurrent_mouse_mode ()

Returns The current mouse mode (gain, object, range, timefx etc.) (defined in editing_syms.h)

longcurrent_page_samples ()
voiddeselect_all ()
LuaTable(...)do_embed (StringVector, ImportDisposition, ImportMode, timepos_t&, PluginInfo, Track)
LuaTable(...)do_import (StringVector, ImportDisposition, ImportMode, SrcQuality, MidiTrackNameSource, MidiTempoMapDisposition, timepos_t&, PluginInfo, Track, bool)

Import existing media

booldragging_playhead ()

Returns true if the playhead is currently being dragged, otherwise false

MouseModeeffective_mouse_mode ()
voidexport_audio ()

Open main export dialog

voidexport_range ()

Open export dialog with current range pre-selected

voidexport_selection ()

Open export dialog with current selection pre-selected

LuaTable(Location, ...)find_location_from_marker (ArdourMarker, bool&)
ArdourMarkerfind_marker_from_location_id (ID, bool)
voidfit_selection ()
boolfollow_playhead ()

Returns true if the editor is following the playhead

longget_current_zoom ()
Selectionget_cut_buffer ()
LuaTable(Beats, ...)get_draw_length_as_beats (bool&, timepos_t)
intget_grid_beat_divisions (GridType)
LuaTable(Beats, ...)get_grid_type_as_beats (bool&, timepos_t)
LuaTable(timecnt_t, ...)get_nudge_distance (timepos_t, timecnt_t&)
timecnt_tget_paste_offset (timepos_t, unsigned int, timecnt_t)
LuaTable(...)get_pointer_position (double&, double&)
Selectionget_selection ()
LuaTable(bool, ...)get_selection_extents (timepos_t&, timepos_t&)
boolget_smart_mode ()
StripableTimeAxisViewget_stripable_time_axis_by_id (ID)
TrackViewListget_track_views ()
intget_videotl_bar_height ()
doubleget_y_origin ()
ZoomFocusget_zoom_focus ()
voidgoto_nth_marker (int)
GridTypegrid_type ()
voidhide_track_in_display (TimeAxisView, bool)
longleftmost_sample ()
voidmaximise_editing_space ()
voidmaybe_locate_with_edit_preroll (long)
voidmouse_add_new_marker (timepos_t, Flags, int)
voidnew_playlists_for_all_tracks (bool)
voidnew_playlists_for_armed_tracks (bool)
voidnew_playlists_for_grouped_tracks (RouteUI, bool)
voidnew_playlists_for_selected_tracks (bool)
voidnew_region_from_selection ()
voidoverride_visible_track_count ()
longpixel_to_sample (double)
voidplay_selection ()
voidplay_with_preroll ()
voidquick_export ()

Open Simple Export Dialog

voidredo (unsigned int)

Redo some transactions.

n
Number of transaction to redo.
RegionViewregionview_from_region (Region)
voidremove_last_capture ()
voidremove_location_at_playhead_cursor ()
voidremove_tracks ()
voidreset_x_origin (long)
voidreset_y_origin (double)
voidreset_zoom (long)
voidrestore_editing_space ()
RouteTimeAxisViewrtav_from_route (Route)
doublesample_to_pixel (long)
boolscroll_down_one_track (bool)
voidscroll_tracks_down_line ()
voidscroll_tracks_up_line ()
boolscroll_up_one_track (bool)
voidselect_all_tracks ()
voidselect_all_visible_lanes ()
voidseparate_region_from_selection ()
voidset_follow_playhead (bool, bool)

Set whether the editor should follow the playhead.

yn
true to follow playhead, otherwise false.
catch_up
true to reset the editor view to show the playhead (if yn == true), otherwise false.
voidset_loop_range (timepos_t, timepos_t, std::string)
voidset_mouse_mode (MouseMode, bool)

Set the mouse mode (gain, object, range, timefx etc.)

m
Mouse mode (defined in editing_syms.h)
force
Perform the effects of the change even if no change is required (ie even if the current mouse mode is equal to m)
voidset_punch_range (timepos_t, timepos_t, std::string)
voidset_selection (SelectionList, Operation)
voidset_snap_mode (SnapMode)

Set the snap mode.

m
Snap mode (defined in editing_syms.h)
voidset_stationary_playhead (bool)
voidset_toggleaction (std::string, std::string, bool)
voidset_video_timeline_height (int)
voidset_visible_track_count (int)
voidset_zoom_focus (ZoomFocus)
voidshow_track_in_display (TimeAxisView, bool)
SnapModesnap_mode ()
boolstationary_playhead ()
voidstem_export ()

Open stem export dialog

voidtemporal_zoom_step (bool)
voidtoggle_meter_updating ()
voidtoggle_ruler_video (bool)
voidtoggle_xjadeo_proc (int)
voidundo (unsigned int)

Undo some transactions.

n
Number of transactions to undo.
voidupdate_grid ()
doublevisible_canvas_height ()

 ArdourUI:MarkerSelection

C‡: MarkerSelection

is-a: ArdourUI:ArdourMarkerList

This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.

Inherited from ArdourUI:ArdourMarkerList

Constructor
ArdourUI.ArdourMarkerList ()
Methods
ArdourMarkerback ()
voidclear ()
boolempty ()
ArdourMarkerfront ()
LuaIteriter ()
...push_back (--lua--)
voidreverse ()
unsigned longsize ()
LuaTabletable ()
voidunique ()

 ArdourUI:RegionSelection

C‡: RegionSelection

Class to represent list of selected regions.

Methods
timepos_tend_time ()
unsigned longn_midi_regions ()
RegionListregionlist ()
timepos_tstart_time ()

 ArdourUI:RegionView

C‡: RegionView

is-a: ArdourUI:TimeAxisViewItem

Base class for items that may appear upon a TimeAxisView.

This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.

 ArdourUI:RouteTimeAxisView

C‡: RouteTimeAxisView

is-a: ArdourUI:RouteUI

Base class for objects with auto-disconnection. trackable must be inherited when objects shall automatically invalidate slots referring to them on destruction. A slot built from a member function of a trackable derived type installs a callback that is invoked when the trackable object is destroyed or overwritten.

add_destroy_notify_callback() and remove_destroy_notify_callback() can be used to manually install and remove callbacks when notification of the object dying is needed.

notify_callbacks() invokes and removes all previously installed callbacks and can therefore be used to disconnect from all signals.

Note that there is no virtual destructor. Don't use trackable* as pointer type for managing your data or the destructors of your derived types won't be called when deleting your objects.

 signal
Cast
StripableTimeAxisViewto_stripabletimeaxisview ()
TimeAxisViewto_timeaxisview ()

 ArdourUI:RouteUI

C‡: RouteUI

is-a: ArdourUI:Selectable

Base class for objects with auto-disconnection. trackable must be inherited when objects shall automatically invalidate slots referring to them on destruction. A slot built from a member function of a trackable derived type installs a callback that is invoked when the trackable object is destroyed or overwritten.

add_destroy_notify_callback() and remove_destroy_notify_callback() can be used to manually install and remove callbacks when notification of the object dying is needed.

notify_callbacks() invokes and removes all previously installed callbacks and can therefore be used to disconnect from all signals.

Note that there is no virtual destructor. Don't use trackable* as pointer type for managing your data or the destructors of your derived types won't be called when deleting your objects.

 signal

This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.

 ArdourUI:Selectable

C‡: Selectable

Base class for objects with auto-disconnection. trackable must be inherited when objects shall automatically invalidate slots referring to them on destruction. A slot built from a member function of a trackable derived type installs a callback that is invoked when the trackable object is destroyed or overwritten.

add_destroy_notify_callback() and remove_destroy_notify_callback() can be used to manually install and remove callbacks when notification of the object dying is needed.

notify_callbacks() invokes and removes all previously installed callbacks and can therefore be used to disconnect from all signals.

Note that there is no virtual destructor. Don't use trackable* as pointer type for managing your data or the destructors of your derived types won't be called when deleting your objects.

 signal

This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.

 ArdourUI:Selection

C‡: Selection

The Selection class holds lists of selected items (tracks, regions, etc. etc.).

Methods
voidclear ()

Clear everything from the Selection

voidclear_all ()
boolempty (bool)

check if all selections are empty

internal_selection
also check object internals (e.g midi notes, automation points), when false only check objects.

Returns true if nothing is selected.

Data Members
ArdourUI:MarkerSelectionmarkers
ArdourUI:RegionSelectionregions
ArdourUI:TimeSelectiontime
ArdourUI:TrackSelectiontracks

 ArdourUI:SelectionList

C‡: std::list<Selectable* >

Constructor
ArdourUI.SelectionList ()
Methods
Selectableback ()
voidclear ()
boolempty ()
Selectablefront ()
LuaIteriter ()
...push_back (--lua--)
voidreverse ()
unsigned longsize ()
LuaTabletable ()
voidunique ()

 ArdourUI:StripableTimeAxisView

C‡: StripableTimeAxisView

is-a: ArdourUI:TimeAxisView

Abstract base class for time-axis views (horizontal editor 'strips')

This class provides the basic LHS controls and display methods. This should be extended to create functional time-axis based views.

This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.

Inherited from ArdourUI:TimeAxisView

Methods
unsigned intcurrent_height ()
unsigned inteffective_height ()

Returns effective height (taking children into account) in canvas units, or 0 if this TimeAxisView has not yet been shown

intorder ()

Returns index of this TimeAxisView within its parent

voidset_height (unsigned int, TrackHeightMode, bool)
doubley_position ()

Returns y position, or -1 if hidden

 ArdourUI:TimeAxisView

C‡: TimeAxisView

is-a: ArdourUI:AxisView

Abstract base class for time-axis views (horizontal editor 'strips')

This class provides the basic LHS controls and display methods. This should be extended to create functional time-axis based views.

Methods
unsigned intcurrent_height ()
unsigned inteffective_height ()

Returns effective height (taking children into account) in canvas units, or 0 if this TimeAxisView has not yet been shown

intorder ()

Returns index of this TimeAxisView within its parent

voidset_height (unsigned int, TrackHeightMode, bool)
doubley_position ()

Returns y position, or -1 if hidden

 ArdourUI:TimeAxisViewItem

C‡: TimeAxisViewItem

is-a: ArdourUI:Selectable

Base class for items that may appear upon a TimeAxisView.

This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.

 ArdourUI:TimeSelection

C‡: TimeSelection

is-a: ARDOUR:TimelineRangeList

Methods
longend_sample ()
timepos_tend_time ()
timecnt_tlength ()
longstart_sample ()
timepos_tstart_time ()

Inherited from ARDOUR:TimelineRangeList

Constructor
ARDOUR.TimelineRangeList ()
Methods
LuaTableadd (LuaTable {TimelineRange})
TimelineRangeback ()
voidclear ()
boolempty ()
TimelineRangefront ()
LuaIteriter ()
voidpush_back (TimelineRange)
voidreverse ()
unsigned longsize ()
LuaTabletable ()
voidunique ()

 ArdourUI:TrackSelection

C‡: TrackSelection

is-a: ArdourUI:TrackViewList

This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.

Inherited from ArdourUI:TrackViewList

Methods
boolcontains (TimeAxisView)
RouteListroutelist ()
Cast
TrackViewStdListto_tav_list ()

 ArdourUI:TrackViewList

C‡: TrackViewList

Methods
boolcontains (TimeAxisView)
RouteListroutelist ()
Cast
TrackViewStdListto_tav_list ()

 ArdourUI:TrackViewStdList

C‡: std::list<TimeAxisView* >

Constructor
ArdourUI.TrackViewStdList ()
Methods
TimeAxisViewback ()
boolempty ()
TimeAxisViewfront ()
LuaIteriter ()
voidreverse ()
unsigned longsize ()
LuaTabletable ()

 ArdourUI:UIConfiguration

C‡: UIConfiguration

Base class for objects with saveable and undoable state

Methods
unsigned intget_action_table_columns ()
TimeSelectionAfterSectionPasteget_after_section_op ()
boolget_all_floating_windows_are_dialogs ()
boolget_allow_non_quarter_pulse ()
boolget_allow_to_resize_engine_dialog ()
boolget_ask_before_closing_last_window ()
boolget_ask_cut_copy_section_tempo_map ()
boolget_automation_edit_cancels_auto_hide ()
boolget_autoplay_clips ()
boolget_autoplay_files ()
boolget_autoscroll_editor ()
boolget_blink_alert_indicators ()
boolget_blink_rec_arm ()
boolget_boxy_buttons ()
boolget_buggy_gradients ()
boolget_cairo_image_surface ()
boolget_check_announcements ()
longget_clock_display_limit ()
std::stringget_color_file ()
boolget_color_regions_using_track_color ()
std::stringget_default_bindings ()
intget_default_lower_midi_note ()
boolget_default_narrow_ms ()
intget_default_upper_midi_note ()
floatget_draggable_playhead_speed ()
boolget_editor_stereo_only_meters ()
floatget_extra_ui_extents_time ()
boolget_flat_buttons ()
boolget_floating_monitor_section ()
boolget_follow_edits ()
intget_font_scale ()
std::stringget_freesound_dir ()
boolget_grid_follows_internal ()
boolget_hide_splash_screen ()
boolget_highlight_auditioned_clips ()
std::stringget_icon_set ()
InputMeterLayoutget_input_meter_layout ()
boolget_input_meter_scopes ()
unsigned intget_insert_at_position ()
std::stringget_keyboard_layout ()
std::stringget_keyboard_layout_name ()
boolget_link_region_and_track_selection ()
unsigned intget_lock_gui_after_seconds ()
unsigned intget_max_inline_controls ()
intget_max_note_height ()
intget_max_plugin_chart ()
intget_max_plugin_recent ()
floatget_meter_hold ()
MeterLineUpget_meter_line_up_din ()
MeterLineUpget_meter_line_up_level ()
floatget_meter_peak ()
boolget_meter_style_led ()
VUMeterStandardget_meter_vu_standard ()
std::stringget_mixer_strip_visibility ()
boolget_name_new_markers ()
boolget_never_display_periodic_midi ()
boolget_new_automation_points_on_lane ()
boolget_no_new_session_dialog ()
boolget_no_strobe ()
NoteNameDisplayget_note_name_display ()
AppleNSGLViewModeget_nsgl_view_mode ()
boolget_one_plugin_window_only ()
boolget_only_copy_imported_files ()
boolget_open_gui_after_adding_plugin ()
PluginGUIBehaviorget_plugin_gui_behavior ()
boolget_prefer_inline_over_gui ()
boolget_prefer_tap_tempo ()
boolget_preview_video_frame_on_drag ()
ClockDeltaModeget_primary_clock_delta_mode ()
intget_recent_session_sort ()
boolget_rubberbanding_snaps_to_grid ()
unsigned intget_ruler_granularity ()
boolget_rulers_follow_grid ()
boolget_sandbox_all_lua_scripts ()
boolget_save_export_analysis_image ()
boolget_save_export_mixer_screenshot ()
ScreenSaverModeget_screen_saver_mode ()
boolget_scroll_velocity_editing ()
ClockDeltaModeget_secondary_clock_delta_mode ()
boolget_select_last_drawn_note_only ()
boolget_sensitize_playhead ()
boolget_show_editor_meter ()
boolget_show_grids_ruler ()
boolget_show_inline_display_by_default ()
boolget_show_manager_if_plugins_are_missing ()
boolget_show_mini_timeline ()
boolget_show_name_highlight ()
boolget_show_on_cue_page ()
boolget_show_plugin_scan_window ()
boolget_show_region_cue_markers ()
boolget_show_region_gain ()
boolget_show_region_name ()
boolget_show_region_xrun_markers ()
boolget_show_secondary_clock ()
boolget_show_selection_marker ()
boolget_show_snapped_cursor ()
boolget_show_toolbar_cuectrl ()
boolget_show_toolbar_latency ()
boolget_show_toolbar_monitor_info ()
boolget_show_toolbar_monitoring ()
boolget_show_toolbar_recpunch ()
boolget_show_toolbar_selclock ()
boolget_show_track_meters ()
boolget_show_waveform_clipping ()
boolget_show_waveforms ()
boolget_show_waveforms_while_recording ()
boolget_show_zoom_tools ()
SnapTargetget_snap_target ()
unsigned intget_snap_threshold ()
boolget_snap_to_marks ()
boolget_snap_to_playhead ()
boolget_snap_to_region_end ()
boolget_snap_to_region_start ()
boolget_snap_to_region_sync ()
boolget_sound_midi_notes ()
std::stringget_stripable_color_palette ()
boolget_super_rapid_clock_update ()
intget_time_axis_name_ellipsize_mode ()
floatget_timeline_item_gradient_depth ()
boolget_transients_follow_front ()
std::stringget_ui_font_family ()
std::stringget_ui_rc_file ()
boolget_update_action_scripts ()
boolget_update_editor_during_summary_drag ()
boolget_use_cocoa_invalidation ()
boolget_use_double_click_to_zoom_to_selection ()
boolget_use_mouse_position_as_zoom_focus_on_scroll ()
boolget_use_note_bars_for_velocity ()
boolget_use_note_color_for_velocity ()
boolget_use_palette_for_new_bus ()
boolget_use_palette_for_new_track ()
boolget_use_palette_for_new_vca ()
boolget_use_route_color_widely ()
boolget_use_time_rulers_to_zoom_with_vertical_drag ()
boolget_use_tooltips ()
boolget_use_wm_visibility ()
unsigned intget_vertical_region_gap ()
std::stringget_vkeybd_layout ()
unsigned longget_waveform_cache_size ()
doubleget_waveform_clip_level ()
floatget_waveform_gradient_depth ()
WaveformScaleget_waveform_scale ()
WaveformShapeget_waveform_shape ()
boolget_widget_prelight ()
boolset_action_table_columns (unsigned int)
boolset_after_section_op (TimeSelectionAfterSectionPaste)
boolset_all_floating_windows_are_dialogs (bool)
boolset_allow_non_quarter_pulse (bool)
boolset_allow_to_resize_engine_dialog (bool)
boolset_ask_before_closing_last_window (bool)
boolset_ask_cut_copy_section_tempo_map (bool)
boolset_automation_edit_cancels_auto_hide (bool)
boolset_autoplay_clips (bool)
boolset_autoplay_files (bool)
boolset_autoscroll_editor (bool)
boolset_blink_alert_indicators (bool)
boolset_blink_rec_arm (bool)
boolset_boxy_buttons (bool)
boolset_buggy_gradients (bool)
boolset_cairo_image_surface (bool)
boolset_check_announcements (bool)
boolset_clock_display_limit (long)
boolset_color_file (std::string)
boolset_color_regions_using_track_color (bool)
boolset_default_bindings (std::string)
boolset_default_lower_midi_note (int)
boolset_default_narrow_ms (bool)
boolset_default_upper_midi_note (int)
boolset_draggable_playhead_speed (float)
boolset_editor_stereo_only_meters (bool)
boolset_extra_ui_extents_time (float)
boolset_flat_buttons (bool)
boolset_floating_monitor_section (bool)
boolset_follow_edits (bool)
boolset_font_scale (int)
boolset_freesound_dir (std::string)
boolset_grid_follows_internal (bool)
boolset_hide_splash_screen (bool)
boolset_highlight_auditioned_clips (bool)
boolset_icon_set (std::string)
boolset_input_meter_layout (InputMeterLayout)
boolset_input_meter_scopes (bool)
boolset_insert_at_position (unsigned int)
boolset_keyboard_layout (std::string)
boolset_keyboard_layout_name (std::string)
boolset_link_region_and_track_selection (bool)
boolset_lock_gui_after_seconds (unsigned int)
boolset_max_inline_controls (unsigned int)
boolset_max_note_height (int)
boolset_max_plugin_chart (int)
boolset_max_plugin_recent (int)
boolset_meter_hold (float)
boolset_meter_line_up_din (MeterLineUp)
boolset_meter_line_up_level (MeterLineUp)
boolset_meter_peak (float)
boolset_meter_style_led (bool)
boolset_meter_vu_standard (VUMeterStandard)
boolset_mixer_strip_visibility (std::string)
boolset_name_new_markers (bool)
boolset_never_display_periodic_midi (bool)
boolset_new_automation_points_on_lane (bool)
boolset_no_new_session_dialog (bool)
boolset_no_strobe (bool)
boolset_note_name_display (NoteNameDisplay)
boolset_nsgl_view_mode (AppleNSGLViewMode)
boolset_one_plugin_window_only (bool)
boolset_only_copy_imported_files (bool)
boolset_open_gui_after_adding_plugin (bool)
boolset_plugin_gui_behavior (PluginGUIBehavior)
boolset_prefer_inline_over_gui (bool)
boolset_prefer_tap_tempo (bool)
boolset_preview_video_frame_on_drag (bool)
boolset_primary_clock_delta_mode (ClockDeltaMode)
boolset_recent_session_sort (int)
boolset_rubberbanding_snaps_to_grid (bool)
boolset_ruler_granularity (unsigned int)
boolset_rulers_follow_grid (bool)
boolset_sandbox_all_lua_scripts (bool)
boolset_save_export_analysis_image (bool)
boolset_save_export_mixer_screenshot (bool)
boolset_screen_saver_mode (ScreenSaverMode)
boolset_scroll_velocity_editing (bool)
boolset_secondary_clock_delta_mode (ClockDeltaMode)
boolset_select_last_drawn_note_only (bool)
boolset_sensitize_playhead (bool)
boolset_show_editor_meter (bool)
boolset_show_grids_ruler (bool)
boolset_show_inline_display_by_default (bool)
boolset_show_manager_if_plugins_are_missing (bool)
boolset_show_mini_timeline (bool)
boolset_show_name_highlight (bool)
boolset_show_on_cue_page (bool)
boolset_show_plugin_scan_window (bool)
boolset_show_region_cue_markers (bool)
boolset_show_region_gain (bool)
boolset_show_region_name (bool)
boolset_show_region_xrun_markers (bool)
boolset_show_secondary_clock (bool)
boolset_show_selection_marker (bool)
boolset_show_snapped_cursor (bool)
boolset_show_toolbar_cuectrl (bool)
boolset_show_toolbar_latency (bool)
boolset_show_toolbar_monitor_info (bool)
boolset_show_toolbar_monitoring (bool)
boolset_show_toolbar_recpunch (bool)
boolset_show_toolbar_selclock (bool)
boolset_show_track_meters (bool)
boolset_show_waveform_clipping (bool)
boolset_show_waveforms (bool)
boolset_show_waveforms_while_recording (bool)
boolset_show_zoom_tools (bool)
boolset_snap_target (SnapTarget)
boolset_snap_threshold (unsigned int)
boolset_snap_to_marks (bool)
boolset_snap_to_playhead (bool)
boolset_snap_to_region_end (bool)
boolset_snap_to_region_start (bool)
boolset_snap_to_region_sync (bool)
boolset_sound_midi_notes (bool)
boolset_stripable_color_palette (std::string)
boolset_super_rapid_clock_update (bool)
boolset_time_axis_name_ellipsize_mode (int)
boolset_timeline_item_gradient_depth (float)
boolset_transients_follow_front (bool)
boolset_ui_font_family (std::string)
boolset_ui_rc_file (std::string)
boolset_update_action_scripts (bool)
boolset_update_editor_during_summary_drag (bool)
boolset_use_cocoa_invalidation (bool)
boolset_use_double_click_to_zoom_to_selection (bool)
boolset_use_mouse_position_as_zoom_focus_on_scroll (bool)
boolset_use_note_bars_for_velocity (bool)
boolset_use_note_color_for_velocity (bool)
boolset_use_palette_for_new_bus (bool)
boolset_use_palette_for_new_track (bool)
boolset_use_palette_for_new_vca (bool)
boolset_use_route_color_widely (bool)
boolset_use_time_rulers_to_zoom_with_vertical_drag (bool)
boolset_use_tooltips (bool)
boolset_use_wm_visibility (bool)
boolset_vertical_region_gap (unsigned int)
boolset_vkeybd_layout (std::string)
boolset_waveform_cache_size (unsigned long)
boolset_waveform_clip_level (double)
boolset_waveform_gradient_depth (float)
boolset_waveform_scale (WaveformScale)
boolset_waveform_shape (WaveformShape)
boolset_widget_prelight (bool)
Properties
unsigned intaction_table_columns
ARDOUR.TimeSelectionAfterSectionPasteafter_section_op
boolall_floating_windows_are_dialogs
boolallow_non_quarter_pulse
boolallow_to_resize_engine_dialog
boolask_before_closing_last_window
boolask_cut_copy_section_tempo_map
boolautomation_edit_cancels_auto_hide
boolautoplay_clips
boolautoplay_files
boolautoscroll_editor
boolblink_alert_indicators
boolblink_rec_arm
boolboxy_buttons
boolbuggy_gradients
boolcairo_image_surface
boolcheck_announcements
longclock_display_limit
std::stringcolor_file
boolcolor_regions_using_track_color
std::stringdefault_bindings
intdefault_lower_midi_note
booldefault_narrow_ms
intdefault_upper_midi_note
floatdraggable_playhead_speed
booleditor_stereo_only_meters
floatextra_ui_extents_time
boolflat_buttons
boolfloating_monitor_section
boolfollow_edits
intfont_scale
std::stringfreesound_dir
boolgrid_follows_internal
boolhide_splash_screen
boolhighlight_auditioned_clips
std::stringicon_set
ARDOUR.InputMeterLayoutinput_meter_layout
boolinput_meter_scopes
unsigned intinsert_at_position
std::stringkeyboard_layout
std::stringkeyboard_layout_name
boollink_region_and_track_selection
unsigned intlock_gui_after_seconds
unsigned intmax_inline_controls
intmax_note_height
intmax_plugin_chart
intmax_plugin_recent
floatmeter_hold
ARDOUR.MeterLineUpmeter_line_up_din
ARDOUR.MeterLineUpmeter_line_up_level
floatmeter_peak
boolmeter_style_led
ARDOUR.VUMeterStandardmeter_vu_standard
std::stringmixer_strip_visibility
boolname_new_markers
boolnever_display_periodic_midi
boolnew_automation_points_on_lane
boolno_new_session_dialog
boolno_strobe
Editing.NoteNameDisplaynote_name_display
ARDOUR.AppleNSGLViewModensgl_view_mode
boolone_plugin_window_only
boolonly_copy_imported_files
boolopen_gui_after_adding_plugin
ARDOUR.PluginGUIBehaviorplugin_gui_behavior
boolprefer_inline_over_gui
boolprefer_tap_tempo
boolpreview_video_frame_on_drag
ARDOUR.ClockDeltaModeprimary_clock_delta_mode
intrecent_session_sort
boolrubberbanding_snaps_to_grid
unsigned intruler_granularity
boolrulers_follow_grid
boolsandbox_all_lua_scripts
boolsave_export_analysis_image
boolsave_export_mixer_screenshot
ARDOUR.ScreenSaverModescreen_saver_mode
boolscroll_velocity_editing
ARDOUR.ClockDeltaModesecondary_clock_delta_mode
boolselect_last_drawn_note_only
boolsensitize_playhead
boolshow_editor_meter
boolshow_grids_ruler
boolshow_inline_display_by_default
boolshow_manager_if_plugins_are_missing
boolshow_mini_timeline
boolshow_name_highlight
boolshow_on_cue_page
boolshow_plugin_scan_window
boolshow_region_cue_markers
boolshow_region_gain
boolshow_region_name
boolshow_region_xrun_markers
boolshow_secondary_clock
boolshow_selection_marker
boolshow_snapped_cursor
boolshow_toolbar_cuectrl
boolshow_toolbar_latency
boolshow_toolbar_monitor_info
boolshow_toolbar_monitoring
boolshow_toolbar_recpunch
boolshow_toolbar_selclock
boolshow_track_meters
boolshow_waveform_clipping
boolshow_waveforms
boolshow_waveforms_while_recording
boolshow_zoom_tools
ARDOUR.SnapTargetsnap_target
unsigned intsnap_threshold
boolsnap_to_marks
boolsnap_to_playhead
boolsnap_to_region_end
boolsnap_to_region_start
boolsnap_to_region_sync
boolsound_midi_notes
std::stringstripable_color_palette
boolsuper_rapid_clock_update
inttime_axis_name_ellipsize_mode
floattimeline_item_gradient_depth
booltransients_follow_front
std::stringui_font_family
std::stringui_rc_file
boolupdate_action_scripts
boolupdate_editor_during_summary_drag
booluse_cocoa_invalidation
booluse_double_click_to_zoom_to_selection
booluse_mouse_position_as_zoom_focus_on_scroll
booluse_note_bars_for_velocity
booluse_note_color_for_velocity
booluse_palette_for_new_bus
booluse_palette_for_new_track
booluse_palette_for_new_vca
booluse_route_color_widely
booluse_time_rulers_to_zoom_with_vertical_drag
booluse_tooltips
booluse_wm_visibility
unsigned intvertical_region_gap
std::stringvkeybd_layout
unsigned longwaveform_cache_size
doublewaveform_clip_level
floatwaveform_gradient_depth
ARDOUR.WaveformScalewaveform_scale
ARDOUR.WaveformShapewaveform_shape
boolwidget_prelight

 C:ByteArray

C‡: unsigned char*

Methods
LuaMetaTablearray ()
LuaTableget_table ()
unsigned char*offset (unsigned int)
voidset_table (LuaTable {unsigned char})

 C:ByteVector

C‡: std::vector<unsigned char >

Constructor
C.ByteVector ()
C.ByteVector ()
Methods
LuaTableadd (LuaTable {unsigned char})
unsigned charat (unsigned long)
voidclear ()
boolempty ()
LuaIteriter ()
voidpush_back (unsigned char)
voidreserve (unsigned long)
unsigned longsize ()
LuaTabletable ()
...to_array (--lua--)

 C:DoubleArray

C‡: double*

Methods
LuaMetaTablearray ()
LuaTableget_table ()
DoubleArrayoffset (unsigned int)
voidset_table (LuaTable {double})

 C:DoubleVector

C‡: std::vector<double >

Constructor
C.DoubleVector ()
C.DoubleVector ()
Methods
LuaTableadd (LuaTable {double})
doubleat (unsigned long)
voidclear ()
boolempty ()
LuaIteriter ()
voidpush_back (double)
voidreserve (unsigned long)
unsigned longsize ()
LuaTabletable ()
...to_array (--lua--)

 C:FloatArray

C‡: float*

Methods
LuaMetaTablearray ()
LuaTableget_table ()
FloatArrayoffset (unsigned int)
voidset_table (LuaTable {float})

 C:FloatArrayVector

C‡: std::vector<float* >

Constructor
C.FloatArrayVector ()
C.FloatArrayVector ()
Methods
LuaTableadd (LuaTable {FloatArray})
FloatArrayat (unsigned long)
voidclear ()
boolempty ()
LuaIteriter ()
voidpush_back (FloatArray)
voidreserve (unsigned long)
unsigned longsize ()
LuaTabletable ()
...to_array (--lua--)

 C:FloatVector

C‡: std::vector<float >

Constructor
C.FloatVector ()
C.FloatVector ()
Methods
LuaTableadd (LuaTable {float})
floatat (unsigned long)
voidclear ()
boolempty ()
LuaIteriter ()
voidpush_back (float)
voidreserve (unsigned long)
unsigned longsize ()
LuaTabletable ()
...to_array (--lua--)

 C:Int64List

C‡: std::list<long >

Constructor
C.Int64List ()
Methods
LuaTableadd (LuaTable {long})
longback ()
voidclear ()
boolempty ()
longfront ()
LuaIteriter ()
voidpush_back (long)
voidreverse ()
unsigned longsize ()
LuaTabletable ()
voidunique ()

 C:IntArray

C‡: int*

Methods
LuaMetaTablearray ()
LuaTableget_table ()
IntArrayoffset (unsigned int)
voidset_table (LuaTable {int})

 C:IntVector

C‡: std::vector<int >

Constructor
C.IntVector ()
C.IntVector ()
Methods
LuaTableadd (LuaTable {int})
intat (unsigned long)
voidclear ()
boolempty ()
LuaIteriter ()
voidpush_back (int)
voidreserve (unsigned long)
unsigned longsize ()
LuaTabletable ()
...to_array (--lua--)

 C:StringList

C‡: std::list<std::string >

Constructor
C.StringList ()
Methods
LuaTableadd (LuaTable {std::string})
std::stringback ()
voidclear ()
boolempty ()
std::stringfront ()
LuaIteriter ()
voidpush_back (std::string)
voidreverse ()
unsigned longsize ()
LuaTabletable ()
voidunique ()

 C:StringVector

C‡: std::vector<std::string >

Constructor
C.StringVector ()
C.StringVector ()
Methods
LuaTableadd (LuaTable {std::string})
std::stringat (unsigned long)
voidclear ()
boolempty ()
LuaIteriter ()
voidpush_back (std::string)
voidreserve (unsigned long)
unsigned longsize ()
LuaTabletable ()
...to_array (--lua--)

 Cairo:Context

C‡: Cairo::Context

Context is the main class used to draw in cairomm. It contains the current state of the rendering device, including coordinates of yet to be drawn shapes.

In the simplest case, create a Context with its target Surface, set its drawing options (line width, color, etc), create shapes with methods like move_to() and line_to(), and then draw the shapes to the Surface using methods such as stroke() or fill().

Context is a reference-counted object that should be used via Cairo::RefPtr.

Methods
voidarc (double, double, double, double, double)

Adds a circular arc of the given radius to the current path. The arc is centered at (xc, yc), begins at angle1 and proceeds in the direction of increasing angles to end at angle2. If angle2 is less than angle1 it will be progressively increased by 2*M_PI until it is greater than angle1.

If there is a current point, an initial line segment will be added to the path to connect the current point to the beginning of the arc. If this initial line is undesired, it can be avoided by calling begin_new_sub_path() before calling arc().

Angles are measured in radians. An angle of 0 is in the direction of the positive X axis (in user-space). An angle of M_PI/2.0 radians (90 degrees) is in the direction of the positive Y axis (in user-space). Angles increase in the direction from the positive X axis toward the positive Y axis. So with the default transformation matrix, angles increase in a clockwise direction.

( To convert from degrees to radians, use degrees * (M_PI / 180.0). )

This function gives the arc in the direction of increasing angles; see arc_negative() to get the arc in the direction of decreasing angles.

The arc is circular in user-space. To achieve an elliptical arc, you can scale the current transformation matrix by different amounts in the X and Y directions. For example, to draw an ellipse in the box given by x, y, width, height:

 context->save();
 context->translate(x, y);
 context->scale(width / 2.0, height / 2.0);
 context->arc(0.0, 0.0, 1.0, 0.0, 2 * M_PI);
 context->restore();
xc
X position of the center of the arc
yc
Y position of the center of the arc
radius
the radius of the arc
angle1
the start angle, in radians
angle2
the end angle, in radians
voidarc_negative (double, double, double, double, double)

Adds a circular arc of the given radius to the current path. The arc is centered at (xc, yc), begins at angle1 and proceeds in the direction of decreasing angles to end at angle2. If angle2 is greater than angle1 it will be progressively decreased by 2*M_PI until it is greater than angle1.

See arc() for more details. This function differs only in the direction of the arc between the two angles.

xc
X position of the center of the arc
yc
Y position of the center of the arc
radius
the radius of the arc
angle1
the start angle, in radians
angle2
the end angle, in radians
voidbegin_new_path ()

Clears the current path. After this call there will be no current point.

voidbegin_new_sub_path ()

Begin a new subpath. Note that the existing path is not affected. After this call there will be no current point.

In many cases, this call is not needed since new subpaths are frequently started with move_to().

A call to begin_new_sub_path() is particularly useful when beginning a new subpath with one of the arc() calls. This makes things easier as it is no longer necessary to manually compute the arc's initial coordinates for a call to move_to().

1.2

voidclip ()

Establishes a new clip region by intersecting the current clip region with the current Path as it would be filled by fill() and according to the current fill rule.

After clip(), the current path will be cleared from the cairo Context.

The current clip region affects all drawing operations by effectively masking out any changes to the surface that are outside the current clip region.

Calling clip() can only make the clip region smaller, never larger. But the current clip is part of the graphics state, so a temporary restriction of the clip region can be achieved by calling clip() within a save()/restore() pair. The only other means of increasing the size of the clip region is reset_clip().

set_fill_rule()

voidclip_preserve ()

Establishes a new clip region by intersecting the current clip region with the current path as it would be filled by fill() and according to the current fill rule.

Unlike clip(), clip_preserve preserves the path within the cairo Context.

clip()

set_fill_rule()

voidclose_path ()

Adds a line segment to the path from the current point to the beginning of the current subpath, (the most recent point passed to move_to()), and closes this subpath. After this call the current point will be at the joined endpoint of the sub-path.

The behavior of close_path() is distinct from simply calling line_to() with the equivalent coordinate in the case of stroking. When a closed subpath is stroked, there are no caps on the ends of the subpath. Instead, there is a line join connecting the final and initial segments of the subpath.

If there is no current point before the call to close_path(), this function will have no effect.

voidcurve_to (double, double, double, double, double, double)

Adds a cubic Bezier spline to the path from the current point to position (x3, y3) in user-space coordinates, using (x1, y1) and (x2, y2) as the control points. After this call the current point will be (x3, y3).

If there is no current point before the call to curve_to() this function will behave as if preceded by a call to move_to(x1, y1).

x1
the X coordinate of the first control point
y1
the Y coordinate of the first control point
x2
the X coordinate of the second control point
y2
the Y coordinate of the second control point
x3
the X coordinate of the end of the curve
y3
the Y coordinate of the end of the curve
voidfill ()

A drawing operator that fills the current path according to the current fill rule, (each sub-path is implicitly closed before being filled). After fill(), the current path will be cleared from the cairo context.

set_fill_rule()

fill_preserve()

voidfill_preserve ()

A drawing operator that fills the current path according to the current fill rule, (each sub-path is implicitly closed before being filled). Unlike fill(), fill_preserve() preserves the path within the cairo Context.

set_fill_rule()

fill().

voidline_to (double, double)

Adds a line to the path from the current point to position (x, y) in user-space coordinates. After this call the current point will be (x, y).

If there is no current point before the call to line_to() this function will behave as move_to(x, y).

x
the X coordinate of the end of the new line
y
the Y coordinate of the end of the new line
voidmove_to (double, double)

If the current subpath is not empty, begin a new subpath. After this call the current point will be (x, y).

x
the X coordinate of the new position
y
the Y coordinate of the new position
voidpaint ()

A drawing operator that paints the current source everywhere within the current clip region.

voidpaint_with_alpha (double)

A drawing operator that paints the current source everywhere within the current clip region using a mask of constant alpha value alpha. The effect is similar to paint(), but the drawing is faded out using the alpha value.

alpha
an alpha value, between 0 (transparent) and 1 (opaque)
voidrectangle (double, double, double, double)

Adds a closed-subpath rectangle of the given size to the current path at position (x, y) in user-space coordinates.

This function is logically equivalent to:

 context->move_to(x, y);
 context->rel_line_to(width, 0);
 context->rel_line_to(0, height);
 context->rel_line_to(-width, 0);
 context->close_path();
x
the X coordinate of the top left corner of the rectangle
y
the Y coordinate to the top left corner of the rectangle
width
the width of the rectangle
height
the height of the rectangle
voidrel_curve_to (double, double, double, double, double, double)

Relative-coordinate version of curve_to(). All offsets are relative to the current point. Adds a cubic Bezier spline to the path from the current point to a point offset from the current point by (dx3, dy3), using points offset by (dx1, dy1) and (dx2, dy2) as the control points. After this call the current point will be offset by (dx3, dy3).

Given a current point of (x, y),

 rel_curve_to(dx1, dy1, dx2, dy2, dx3, dy3)

is logically equivalent to

 curve_to(x + dx1, y + dy1, x + dx2, y + dy2, x + dx3, y + dy3).

It is an error to call this function with no current point. Doing so will cause this to shutdown with a status of CAIRO_STATUS_NO_CURRENT_POINT. Cairomm will then throw an exception.

dx1
the X offset to the first control point
dy1
the Y offset to the first control point
dx2
the X offset to the second control point
dy2
the Y offset to the second control point
dx3
the X offset to the end of the curve
dy3
the Y offset to the end of the curve
voidrel_line_to (double, double)

Relative-coordinate version of line_to(). Adds a line to the path from the current point to a point that is offset from the current point by (dx, dy) in user space. After this call the current point will be offset by (dx, dy).

Given a current point of (x, y),

 rel_line_to(dx, dy)

is logically equivalent to

 line_to(x + dx, y + dy).

It is an error to call this function with no current point. Doing so will cause this to shutdown with a status of CAIRO_STATUS_NO_CURRENT_POINT. Cairomm will then throw an exception.

dx
the X offset to the end of the new line
dy
the Y offset to the end of the new line
voidrel_move_to (double, double)

If the current subpath is not empty, begin a new subpath. After this call the current point will offset by (x, y).

Given a current point of (x, y),

 rel_move_to(dx, dy)

is logically equivalent to

 move_to(x + dx, y + dy)

It is an error to call this function with no current point. Doing so will cause this to shutdown with a status of CAIRO_STATUS_NO_CURRENT_POINT. Cairomm will then throw an exception.

dx
the X offset
dy
the Y offset
voidreset_clip ()

Reset the current clip region to its original, unrestricted state. That is, set the clip region to an infinitely large shape containing the target surface. Equivalently, if infinity is too hard to grasp, one can imagine the clip region being reset to the exact bounds of the target surface.

Note that code meant to be reusable should not call reset_clip() as it will cause results unexpected by higher-level code which calls clip(). Consider using save() and restore() around clip() as a more robust means of temporarily restricting the clip region.

voidrestore ()

Restores cr to the state saved by a preceding call to save() and removes that state from the stack of saved states.

save()

voidrotate (double)

Modifies the current transformation matrix (CTM) by rotating the user-space axes by angle radians. The rotation of the axes takes places after any existing transformation of user space. The rotation direction for positive angles is from the positive X axis toward the positive Y axis.

angle
angle (in radians) by which the user-space axes will be rotated
voidsave ()

Makes a copy of the current state of the Context and saves it on an internal stack of saved states. When restore() is called, it will be restored to the saved state. Multiple calls to save() and restore() can be nested; each call to restore() restores the state from the matching paired save().

It isn't necessary to clear all saved states before a cairo_t is freed. Any saved states will be freed when the Context is destroyed.

restore()

voidscale (double, double)

Modifies the current transformation matrix (CTM) by scaling the X and Y user-space axes by sx and sy respectively. The scaling of the axes takes place after any existing transformation of user space.

sx
scale factor for the X dimension
sy
scale factor for the Y dimension
voidset_dash (DoubleVector, double)

Sets the dash pattern to be used by stroke(). A dash pattern is specified by dashes, an array of positive values. Each value provides the user-space length of altenate "on" and "off" portions of the stroke. The offset specifies an offset into the pattern at which the stroke begins.

Each "on" segment will have caps applied as if the segment were a separate sub-path. In particular, it is valid to use an "on" length of 0.0 with Cairo::LINE_CAP_ROUND or Cairo::LINE_CAP_SQUARE in order to distributed dots or squares along a path.

Note: The length values are in user-space units as evaluated at the time of stroking. This is not necessarily the same as the user space at the time of set_dash().

If dashes is empty dashing is disabled. If the size of dashes is 1, a symmetric pattern is assumed with alternating on and off portions of the size specified by the single value in dashes.

It is invalid for any value in dashes to be negative, or for all values to be 0. If this is the case, an exception will be thrown

dashes
an array specifying alternate lengths of on and off portions
offset
an offset into the dash pattern at which the stroke should start
voidset_font_size (double)

Sets the current font matrix to a scale by a factor of size, replacing any font matrix previously set with set_font_size() or set_font_matrix(). This results in a font size of size user space units. (More precisely, this matrix will result in the font's em-square being a by size square in user space.)

If text is drawn without a call to set_font_size(), (nor set_font_matrix() nor set_scaled_font()), the default font size is 10.0.

size
the new font size, in user space units)
voidset_line_cap (LineCap)

Sets the current line cap style within the cairo Context. See LineCap for details about how the available line cap styles are drawn.

As with the other stroke parameters, the current line cap style is examined by stroke(), stroke_extents(), and stroke_to_path(), but does not have any effect during path construction.

The default line cap style is Cairo::LINE_CAP_BUTT.

line_cap
a line cap style, as a LineCap
voidset_line_join (LineJoin)

Sets the current line join style within the cairo Context. See LineJoin for details about how the available line join styles are drawn.

As with the other stroke parameters, the current line join style is examined by stroke(), stroke_extents(), and stroke_to_path(), but does not have any effect during path construction.

The default line join style is Cairo::LINE_JOIN_MITER.

line_join
a line joint style, as a LineJoin
voidset_line_width (double)

Sets the current line width within the cairo Context. The line width specifies the diameter of a pen that is circular in user-space, (though device-space pen may be an ellipse in general due to scaling/shear/rotation of the CTM).

Note: When the description above refers to user space and CTM it refers to the user space and CTM in effect at the time of the stroking operation, not the user space and CTM in effect at the time of the call to set_line_width(). The simplest usage makes both of these spaces identical. That is, if there is no change to the CTM between a call to set_line_width() and the stroking operation, then one can just pass user-space values to set_line_width() and ignore this note.

As with the other stroke parameters, the current line cap style is examined by stroke(), stroke_extents(), and stroke_to_path(), but does not have any effect during path construction.

The default line width value is 2.0.

width
a line width, as a user-space value
voidset_operator (Operator)

Sets the compositing operator to be used for all drawing operations. See Operator for details on the semantics of each available compositing operator.

op
a compositing operator, specified as a Operator
voidset_source_rgb (double, double, double)

Sets the source pattern within the Context to an opaque color. This opaque color will then be used for any subsequent drawing operation until a new source pattern is set.

The color components are floating point numbers in the range 0 to 1. If the values passed in are outside that range, they will be clamped.

set_source_rgba()

set_source()

red
red component of color
green
green component of color
blue
blue component of color
voidset_source_rgba (double, double, double, double)

Sets the source pattern within the Context to a translucent color. This color will then be used for any subsequent drawing operation until a new source pattern is set.

The color and alpha components are floating point numbers in the range 0 to 1. If the values passed in are outside that range, they will be clamped.

set_source_rgb()

set_source()

red
red component of color
green
green component of color
blue
blue component of color
alpha
alpha component of color
voidshow_text (std::string)

A drawing operator that generates the shape from a string of UTF-8 characters, rendered according to the current font_face, font_size (font_matrix), and font_options.

This function first computes a set of glyphs for the string of text. The first glyph is placed so that its origin is at the current point. The origin of each subsequent glyph is offset from that of the previous glyph by the advance values of the previous glyph.

After this call the current point is moved to the origin of where the next glyph would be placed in this same progression. That is, the current point will be at the origin of the final glyph offset by its advance values. This allows for easy display of a single logical string with multiple calls to show_text().

Note: The show_text() function call is part of what the cairo designers call the "toy" text API. It is convenient for short demos and simple programs, but it is not expected to be adequate for serious text-using applications. See show_glyphs() for the "real" text display API in cairo.

utf8
a string containing text encoded in UTF-8
voidstroke ()

A drawing operator that strokes the current Path according to the current line width, line join, line cap, and dash settings. After stroke(), the current Path will be cleared from the cairo Context.

set_line_width()

set_line_join()

set_line_cap()

set_dash()

stroke_preserve().

Note: Degenerate segments and sub-paths are treated specially and provide a useful result. These can result in two different situations:

1. Zero-length "on" segments set in set_dash(). If the cap style is Cairo::LINE_CAP_ROUND or Cairo::LINE_CAP_SQUARE then these segments will be drawn as circular dots or squares respectively. In the case of Cairo::LINE_CAP_SQUARE, the orientation of the squares is determined by the direction of the underlying path.

2. A sub-path created by move_to() followed by either a close_path() or one or more calls to line_to() to the same coordinate as the move_to(). If the cap style is Cairo::LINE_CAP_ROUND then these sub-paths will be drawn as circular dots. Note that in the case of Cairo::LINE_CAP_SQUARE a degenerate sub-path will not be drawn at all, (since the correct orientation is indeterminate).

In no case will a cap style of Cairo::LINE_CAP_BUTT cause anything to be drawn in the case of either degenerate segments or sub-paths.

voidstroke_preserve ()

A drawing operator that strokes the current Path according to the current line width, line join, line cap, and dash settings. Unlike stroke(), stroke_preserve() preserves the Path within the cairo Context.

set_line_width()

set_line_join()

set_line_cap()

set_dash()

stroke_preserve().

voidtranslate (double, double)

Modifies the current transformation matrix (CTM) by translating the user-space origin by (tx, ty). This offset is interpreted as a user-space coordinate according to the CTM in place before the new call to translate. In other words, the translation of the user-space origin takes place after any existing transformation.

tx
amount to translate in the X direction
ty
amount to translate in the Y direction
voidunset_dash ()

This function disables a dash pattern that was set with set_dash()

 Cairo:ImageSurface

C‡: LuaCairo::ImageSurface

wrap RefPtr< Cairo::ImageSurface >

Image surfaces provide the ability to render to memory buffers either allocated by cairo or by the calling code. The supported image formats are those defined in Cairo::Format.

Constructor
Cairo.ImageSurface (Format, int, int)
Methods
Contextcontext ()

Returns a context object to perform operations on the surface

intget_height ()

Gets the height of the ImageSurface in pixels

intget_stride ()

Returns the stride of the image surface in bytes (or 0 if surface is not an image surface). The stride is the distance in bytes from the beginning of one row of the image data to the beginning of the next row.

intget_width ()

Gets the width of the ImageSurface in pixels

voidset_as_source (Context, int, int)

Set this surface as source for another context. This allows to draw this surface

 Cairo:PangoLayout

C‡: LuaCairo::PangoLayout

Constructor
Cairo.PangoLayout (Context, std::string)
Methods
Alignmentget_alignment ()

Gets the alignment for the layout: how partial lines are positioned within the horizontal space available.

Returns The alignment.

EllipsizeModeget_ellipsize ()

Gets the type of ellipsization being performed for layout. See set_ellipsize()

Use is_ellipsized() to query whether any paragraphs were actually ellipsized.

Returns The current ellipsization mode for layout.

...get_pixel_size (--lua--)

Determines the logical width and height of a Pango::Layout in device units.

std::stringget_text ()

Gets the text in the layout. The returned text should not be freed or modified.

Returns The text in the layout.

WrapModeget_wrap ()

Gets the wrap mode for the layout.

Use is_wrapped() to query whether any paragraphs were actually wrapped.

Returns Active wrap mode.

boolis_ellipsized ()

Queries whether the layout had to ellipsize any paragraphs.

This returns true if the ellipsization mode for layout is not Pango::ELLIPSIZE_NONE, a positive width is set on layout, and there are paragraphs exceeding that width that have to be ellipsized.

Returns true if any paragraphs had to be ellipsized, false otherwise.

boolis_wrapped ()

Queries whether the layout had to wrap any paragraphs.

This returns true if a positive width is set on layout, ellipsization mode of layout is set to Pango::ELLIPSIZE_NONE, and there are paragraphs exceeding the layout width that have to be wrapped.

Returns true if any paragraphs had to be wrapped, false otherwise.

voidlayout_cairo_path (Context)
voidset_alignment (Alignment)

Sets the alignment for the layout: how partial lines are positioned within the horizontal space available.

alignment
The alignment.
voidset_ellipsize (EllipsizeMode)

Sets the type of ellipsization being performed for layout. Depending on the ellipsization mode ellipsize text is removed from the start, middle, or end of text so they fit within the width and height of layout set with set_width() and set_height().

If the layout contains characters such as newlines that force it to be layed out in multiple paragraphs, then whether each paragraph is ellipsized separately or the entire layout is ellipsized as a whole depends on the set height of the layout. See set_height() for details.

ellipsize
The new ellipsization mode for layout.
voidset_markup (std::string)

Sets the layout text and attribute list from marked-up text (see markup format). Replaces the current text and attribute list.

markup
Some marked-up text.
voidset_text (std::string)

Set the text of the layout.

text
The text for the layout.
voidset_width (float)

Sets the width to which the lines of the Pango::Layout should wrap or ellipsized. The default value is -1: no width set.

width
The desired width in Pango units, or -1 to indicate that no wrapping or ellipsization should be performed.
voidset_wrap (WrapMode)

Sets the wrap mode; the wrap mode only has effect if a width is set on the layout with set_width(). To turn off wrapping, set the width to -1.

wrap
The wrap mode.
voidshow_in_cairo_context (Context)

Draws a Layout in the specified Cairo context. The top-left corner of the Layout will be drawn at the current point of the cairo context.

context
A Cairo context.

 Evoral:Control

C‡: std::shared_ptr< Evoral::Control >, std::weak_ptr< Evoral::Control >

Base class representing some kind of (automatable) control; a fader's gain, for example, or a compressor plugin's threshold.

The class knows the Evoral::Parameter that it is controlling, and has a list of values for automation.

Methods
boolisnil ()
ControlListlist ()

 Evoral:ControlEvent

C‡: Evoral::ControlEvent

A single event (time-stamped value) for a control

Data Members
doublevalue
Temporal:timepos_twhen

 Evoral:ControlList

C‡: std::shared_ptr< Evoral::ControlList >, std::weak_ptr< Evoral::ControlList >

A list (sequence) of time-stamped values for a control

Methods
voidadd (timepos_t, double, bool, bool)
voidclear (timepos_t, timepos_t)
voidclear_list ()
booleditor_add (timepos_t, double, bool)
doubleeval (timepos_t)
EventListevents ()

Returns the list of events

boolin_write_pass ()

Returns true if transport is running and this list is in write mode

InterpolationStyleinterpolation ()

query interpolation style of the automation data

Returns Interpolation Style

boolisnil ()
LuaTable(double, ...)rt_safe_eval (timepos_t, bool&)
boolset_interpolation (InterpolationStyle)

Sets the interpolation style of the automation data.

This will fail when asking for Logarithmic scale and min,max crosses 0 or Exponential scale with min != 0.

is
interpolation style

Returns true if style change was successful

unsigned longsize ()
voidthin (double)

Thin the number of events in this list.

The thinning factor corresponds to the area of a triangle computed between three points in the list (time-difference * value-difference). If the area is large, it indicates significant non-linearity between the points.

Time is measured in samples, value is usually normalized to 0..1.

During automation recording we thin the recorded points using this value. If a point is sufficiently co-linear with its neighbours (as defined by the area of the triangle formed by three of them), we will not include it in the list. The larger the value, the more points are excluded, so this effectively measures the amount of thinning to be done.

thinning_factor
area-size (default: 20)
voidtruncate_end (timepos_t)
voidtruncate_start (timecnt_t)
Cast
AutomationListto_automationlist ()

 Evoral:ControlSet

C‡: std::shared_ptr< Evoral::ControlSet >, std::weak_ptr< Evoral::ControlSet >

Methods
boolisnil ()

 Evoral:Event

C‡: Evoral::Event<long>

Methods
unsigned char*buffer ()
unsigned charchannel ()
voidclear ()
voidset_buffer (unsigned int, unsigned char*, bool)
voidset_channel (unsigned char)
voidset_type (unsigned char)
unsigned intsize ()
longtime ()
unsigned char_type ()

 Evoral:NotePtr

C‡: std::shared_ptr< Evoral::Note<Temporal::Beats> >, std::weak_ptr< Evoral::Note<Temporal::Beats> >

Methods
unsigned charchannel ()
boolisnil ()
Beatslength ()
unsigned charnote ()
unsigned charoff_velocity ()
Beatstime ()
unsigned charvelocity ()

 Evoral:Parameter

C‡: Evoral::Parameter

ID of a [play|record|automate]able parameter.

A parameter is defined by (type, id, channel). Type is an integer which can be used in any way by the application (e.g. cast to a custom enum, map to/from a URI, etc). ID is type specific (e.g. MIDI controller #).

This class defines a < operator which is a strict weak ordering, so Parameter may be stored in a std::set, used as a std::map key, etc.

Constructor
Evoral.Parameter (unsigned int, unsigned char, unsigned int)
Methods
unsigned charchannel ()
unsigned intid ()
unsigned int_type ()

 Evoral:ParameterDescriptor

C‡: Evoral::ParameterDescriptor

Description of the value range of a parameter or control.

Constructor
Evoral.ParameterDescriptor ()
Data Members
boollogarithmic

True for log-scale parameters

floatlower

Minimum value (in Hz, for frequencies)

floatnormal

Default value

unsigned intrangesteps

number of steps, [min,max] (inclusive). <= 1 means continuous. == 2 only min, max. For integer controls this is usually (1 + max - min)

booltoggled

True iff parameter is boolean

floatupper

Maximum value (in Hz, for frequencies)

 Evoral:Range

C‡: Temporal::Range

Constructor
Evoral.Range (timepos_t, timepos_t)
Methods
timepos_t_end ()
timepos_tstart ()

 Evoral:Sequence

C‡: std::shared_ptr< Evoral::Sequence<Temporal::Beats> >, std::weak_ptr< Evoral::Sequence<Temporal::Beats> >

is-a: Evoral:ControlSet

Methods
boolisnil ()

 LuaDialog:Dialog

C‡: LuaDialog::Dialog

Constructor
LuaDialog.Dialog (std::string, Lua-Function)
Methods
...run (--lua--)

 LuaDialog:Message

C‡: LuaDialog::Message

Constructor
LuaDialog.Message (std::string, std::string, MessageType, ButtonType)
Methods
intrun ()

 LuaDialog:ProgressWindow

C‡: LuaDialog::ProgressWindow

Synchronous GUI-thread Progress dialog

This shows a modal progress dialog with an optional "Cancel" button. Since it runs in the UI thread the script needs to regularly call progress(), as well as close the dialog, as needed.

Constructor
LuaDialog.ProgressWindow (std::string, bool)
Methods
boolcanceled ()
voiddone ()

Close and hide the dialog.

This is required to be at the end, since the dialog is modal and prevents other UI operations while visible.

boolprogress (float, std::string)

Report progress and update GUI.

prog
progress in range 0..1 show a bar, values outside this range show a pulsing dialog.
text
optional text to show on the progress-bar

Returns true if cancel was clicked, false otherwise

 LuaSignal:Set

C‡: std::bitset<50ul>

Constructor
LuaSignal.Set ()
Methods
LuaTableadd (50ul)
boolany ()
unsigned longcount ()
boolnone ()
Setreset ()
Setset (unsigned long, bool)
unsigned longsize ()
LuaTabletable ()
booltest (unsigned long)

 PBD

Methods
boolopen_uri (std::string)
boolopen_uri (std::string)

 PBD:Command

C‡: PBD::Command

is-a: PBD:StatefulDestructible

Base class for Undo/Redo commands and changesets

Methods
std::stringname ()
voidset_name (std::string)

Inherited from PBD:Stateful

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 PBD:Configuration

C‡: PBD::Configuration

is-a: PBD:Stateful

Base class for objects with saveable and undoable state

This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.

Inherited from PBD:Stateful

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 PBD:Controllable

C‡: std::shared_ptr< PBD::Controllable >, std::weak_ptr< PBD::Controllable >

is-a: PBD:StatefulDestructiblePtr

This is a pure virtual class to represent a scalar control.

Note that it contains no storage/state for the controllable thing that it represents. Derived classes must provide set_value()/get_value() methods, which will involve (somehow) an actual location to store the value.

In essence, this is an interface, not a class.

Without overriding upper() and lower(), a derived class will function as a control whose value can range between 0 and 1.0.

We express Controllable values in one of three ways: 1. `user' --- as presented to the user (e.g. dB, Hz, etc.) 2. `interface' --- as used in some cases for the UI representation (in order to make controls behave logarithmically). 3. `internal' --- as passed to a processor, track, plugin, or whatever.

Note that in some cases user and internal may be the same (and interface different) e.g. frequency, which is presented to the user and passed to the processor in linear terms, but which needs log scaling in the interface.

In other cases, user and interface may be the same (and internal different) e.g. gain, which is presented to the user in log terms (dB) but passed to the processor as a linear quantity.

Methods
voiddump_registry ()
doubleget_value ()

Get `internal' value

Returns raw value as used for the plugin/processor control port

boolisnil ()
std::stringname ()
ControllableSetregistered_controllables ()
Cast
AutomationControlto_automationcontrol ()
MPGainControlto_mpgain ()
MPToggleControlto_mptoggle ()

Inherited from PBD:StatefulPtr

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 PBD:ID

C‡: PBD::ID

a unique ID to identify objects numerically

Constructor
PBD.ID (std::string)
Methods
std::stringto_s ()

 PBD:IdVector

C‡: std::vector<PBD::ID >

Constructor
PBD.IdVector ()
PBD.IdVector ()
Methods
LuaTableadd (LuaTable {ID})
IDat (unsigned long)
voidclear ()
boolempty ()
LuaIteriter ()
voidpush_back (ID)
voidreserve (unsigned long)
unsigned longsize ()
LuaTabletable ()
...to_array (--lua--)

 PBD:Progress

C‡: PBD::Progress

A class to handle reporting of progress of something

This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.

 PBD:RingBuffer8

C‡: PBD::RingBufferNPT<unsigned char>

Constructor
PBD.RingBuffer8 (unsigned long)
Methods
voidincrement_read_ptr (unsigned long)
voidincrement_write_ptr (unsigned long)
unsigned longread (unsigned char*, unsigned long)
unsigned longread_space ()
voidreset ()
unsigned longwrite (unsigned char*, unsigned long)
unsigned longwrite_one (unsigned char)
unsigned longwrite_space ()

 PBD:RingBufferF

C‡: PBD::RingBufferNPT<float>

Constructor
PBD.RingBufferF (unsigned long)
Methods
voidincrement_read_ptr (unsigned long)
voidincrement_write_ptr (unsigned long)
unsigned longread (FloatArray, unsigned long)
unsigned longread_space ()
voidreset ()
unsigned longwrite (FloatArray, unsigned long)
unsigned longwrite_one (float)
unsigned longwrite_space ()

 PBD:RingBufferI

C‡: PBD::RingBufferNPT<int>

Constructor
PBD.RingBufferI (unsigned long)
Methods
voidincrement_read_ptr (unsigned long)
voidincrement_write_ptr (unsigned long)
unsigned longread (IntArray, unsigned long)
unsigned longread_space ()
voidreset ()
unsigned longwrite (IntArray, unsigned long)
unsigned longwrite_one (int)
unsigned longwrite_space ()

 PBD:Stateful

C‡: PBD::Stateful

Base class for objects with saveable and undoable state

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 PBD:StatefulDestructible

C‡: PBD::StatefulDestructible

is-a: PBD:Stateful

Base class for objects with saveable and undoable state with destruction notification

This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.

Inherited from PBD:Stateful

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 PBD:StatefulDestructiblePtr

C‡: std::shared_ptr< PBD::StatefulDestructible >, std::weak_ptr< PBD::StatefulDestructible >

is-a: PBD:StatefulPtr

Base class for objects with saveable and undoable state with destruction notification

Methods
boolisnil ()

Inherited from PBD:StatefulPtr

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 PBD:StatefulDiffCommand

C‡: PBD::StatefulDiffCommand

is-a: PBD:Command

A Command which stores its action as the differences between the before and after state of a Stateful object.

Methods
boolempty ()
voidundo ()

Inherited from PBD:Command

Methods
std::stringname ()
voidset_name (std::string)

Inherited from PBD:Stateful

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 PBD:StatefulPtr

C‡: std::shared_ptr< PBD::Stateful >, std::weak_ptr< PBD::Stateful >

Base class for objects with saveable and undoable state

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
boolisnil ()
OwnedPropertyListproperties ()

 PBD:XMLNode

C‡: XMLNode

Methods
std::stringname ()

 Temporal

Methods
longsuperclock_ticks_per_second ()

 Temporal:BBT_Argument

C‡: Temporal::BBT_Argument

is-a: Temporal:BBT_TIME

Bar, Beat, Tick Time (i.e. Tempo-Based Time)

Constructor
Temporal.BBT_Argument (int, int, int)

Inherited from Temporal:BBT_TIME

Constructor
Temporal.BBT_TIME (int, int, int)
Methods
std::stringstr ()
Data Members
intbars
intbeats
intticks

 Temporal:BBT_Offset

C‡: Temporal::BBT_Offset

Constructor
Temporal.BBT_Offset (unsigned int, unsigned int, unsigned int)
Methods
std::stringstr ()
Data Members
intbars
intbeats
intticks

 Temporal:BBT_TIME

C‡: Temporal::BBT_Time

Bar, Beat, Tick Time (i.e. Tempo-Based Time)

Constructor
Temporal.BBT_TIME (int, int, int)
Methods
std::stringstr ()
Data Members
intbars
intbeats
intticks

 Temporal:Beats

C‡: Temporal::Beats

Musical time in beats.

Constructor
Temporal.Beats (int, int)
Methods
Beatsbeats (long)
Beatsdiff (Beats)
Beatsfrom_double (double)
longget_beats ()
intget_ticks ()
Beatsnext_beat ()
Beatsprev_beat ()
Beatsround_down_to_beat ()
Beatsround_to_beat ()
Beatsround_up_to_beat ()
std::stringstr ()
Beatsticks (long)
longto_ticks ()

 Temporal:Meter

C‡: Temporal::Meter

Meter, or time signature (subdivisions per bar, and which note type is a single subdivision).

Constructor
Temporal.Meter (double, double)
Methods
intdivisions_per_bar ()
intnote_value ()

 Temporal:MeterPoint

C‡: Temporal::MeterPoint

is-a: Temporal:Meter

Meter, or time signature (subdivisions per bar, and which note type is a single subdivision).

Cast
Pointto_point ()

Inherited from Temporal:Meter

Constructor
Temporal.Meter (double, double)
Methods
intdivisions_per_bar ()
intnote_value ()

 Temporal:Point

C‡: Temporal::Point

Methods
BBT_TIMEbbt ()
Beatsbeats ()
longsample (int)
longsclock ()
timepos_ttime ()

 Temporal:Tempo

C‡: Temporal::Tempo

Tempo, the speed at which musical time progresses (BPM).

Constructor
Temporal.Tempo (double, double, int)
Methods
intnote_type ()
doublenote_types_per_minute ()
doublequarter_notes_per_minute ()
doublesamples_per_note_type (int)
doublesamples_per_quarter_note (int)
longsuperclocks_per_note_type ()

 Temporal:TempoMap

C‡: std::shared_ptr< Temporal::TempoMap >, std::weak_ptr< Temporal::TempoMap >

Base class for objects with saveable and undoable state with destruction notification

Methods
voidabort_update ()
BBT_Argumentbbt_at (timepos_t)
BBT_Argumentbbt_at_beats (Beats)
timecnt_tbbt_duration_at (timepos_t, BBT_Offset)
BBT_Argumentbbt_walk (BBT_Argument, BBT_Offset)
Beatsbbtwalk_to_quarters (Beats, BBT_Offset)
Beatsbbtwalk_to_quarters_bbt (BBT_Argument, BBT_Offset)
timecnt_tconvert_duration (timecnt_t, timepos_t, TimeDomain)
LuaTable(...)grid (TempoMapPoints&, long, long, unsigned int, unsigned int)
boolisnil ()
MeterPointmeter_at (timepos_t)
MeterPointmeter_at_bbt (BBT_Argument)
MeterPointmeter_at_beats (Beats)
MeterPointmeter_at_sc (long)
LuaTable(...)midi_clock_beat_at_or_after (long, long&, unsigned int&)
Beatsquarters_at (timepos_t)
Beatsquarters_at_bbt (BBT_Argument)
Beatsquarters_at_sample (long)
doublequarters_per_minute_at (timepos_t)
TempoMapread ()
BBT_Argumentround_to_bar (BBT_Argument)
longsample_at (timepos_t)
longsample_at_bbt (Beats)
longsample_at_beats (Beats)
boolset_continuing (TempoPoint&, bool)
MeterPointset_meter (Meter, timepos_t)
boolset_ramped (TempoPoint&, bool)
TempoPointset_tempo (Tempo, timepos_t)
longsuperclock_at (timepos_t)
longsuperclock_at_bbt (BBT_Argument)
longsuperclock_at_beats (Beats)
TempoPointtempo_at (timepos_t)
TempoPointtempo_at_bbt (BBT_Argument)
TempoPointtempo_at_beats (Beats)
TempoPointtempo_at_sc (long)
intupdate (TempoMap)
TempoMapwrite_copy ()

 Temporal:TempoMapPoint

C‡: Temporal::TempoMapPoint

is-a: Temporal:Point

Tempo Map - mapping of timecode to musical time. convert audio-samples, sample-rate to Bar/Beat/Tick, Meter/Tempo

Methods
timepos_ttime ()
Cast
TempoMetricto_tempometric ()

Inherited from Temporal:Point

Methods
BBT_TIMEbbt ()
Beatsbeats ()
longsample (int)
longsclock ()

 Temporal:TempoMapPoints

C‡: std::vector<Temporal::TempoMapPoint >

Constructor
Temporal.TempoMapPoints ()
Temporal.TempoMapPoints ()
Methods
LuaTableadd (LuaTable {TempoMapPoint})
TempoMapPointat (unsigned long)
voidclear ()
boolempty ()
LuaIteriter ()
voidpush_back (TempoMapPoint)
voidreserve (unsigned long)
unsigned longsize ()
LuaTabletable ()
...to_array (--lua--)

 Temporal:TempoMetric

C‡: Temporal::TempoMetric

Helper class to perform computations that require both Tempo and Meter at a given point in time.

It may seem nicer to make this IS-A TempoPoint and IS-A MeterPoint. Doing so runs into multiple inheritance of Point, plus the major semantic issue that pairing a tempo and a meter does in fact allow for two positions, not one. That means we have to provide accessors to the TempoPoint and MeterPoint and thus it may as well be HAS-A rather than IS-A.

This object should always be short lived. It holds references to a TempoPoint and a MeterPoint that are not lifetime-managed. It's just a convenience object, in essence, to avoid having to replicate the computation code that requires both tempo and meter information every place it is used.

Methods
intdivisions_per_bar ()
MeterPointmeter ()
intnote_type ()
intnote_value ()
Beatsquarters_at (BBT_TIME)
longsample_at (Beats)
TempoPointtempo ()

 Temporal:TempoPoint

C‡: Temporal::TempoPoint

is-a: Temporal:Tempo

Tempo, the speed at which musical time progresses (BPM).

Methods
Beatsquarters_at_sample (long)
timepos_ttime ()
Cast
Pointto_point ()
Tempoto_tempo ()

Inherited from Temporal:Tempo

Constructor
Temporal.Tempo (double, double, int)
Methods
intnote_type ()
doublenote_types_per_minute ()
doublequarter_notes_per_minute ()
doublesamples_per_note_type (int)
doublesamples_per_quarter_note (int)
longsuperclocks_per_note_type ()

 Temporal:ratio

C‡: Temporal::_ratio_t<long>

Constructor
Temporal.ratio (long, long)
Methods
boolis_unity ()
boolis_zero ()

 Temporal:timecnt_t

C‡: Temporal::timecnt_t

Constructor
Temporal.timecnt_t (long)
Methods
timecnt_tabs ()
Beatsbeats ()
timecnt_tdecrement ()
timecnt_tfrom_samples (long)
timecnt_tfrom_superclock (long)
timecnt_tfrom_ticks (long)
boolis_negative ()
boolis_positive ()
boolis_zero ()
longmagnitude ()
timecnt_tmax ()
timepos_tposition ()
longsamples ()
timecnt_tscale (ratio)
timecnt_tscale (ratio)
voidset_position (timepos_t)
voidset_time_domain (TimeDomain)
std::stringstr ()
longsuperclocks ()
longticks ()
TimeDomaintime_domain ()
timecnt_tzero (TimeDomain)

 Temporal:timepos_t

C‡: Temporal::timepos_t

Constructor
Temporal.timepos_t (long)
Methods
Beatsbeats ()
timepos_tdecrement ()
timecnt_tdistance (timepos_t)
timepos_tfrom_superclock (long)
timepos_tfrom_ticks (long)
timepos_tincrement ()
boolis_beats ()
boolis_negative ()
boolis_positive ()
boolis_superclock ()
boolis_zero ()
timepos_tmax (TimeDomain)
longsamples ()
timepos_tscale (ratio)
timepos_tsmallest_step (TimeDomain)
std::stringstr ()
longsuperclocks ()
longticks ()
TimeDomaintime_domain ()
timepos_tzero (bool)

 Timecode:Time

C‡: Timecode::Time

Constructor
Timecode.Time (double)
Data Members
booldrop

Whether this Time uses dropframe Timecode

unsigned intframes

Timecode frames (not audio frames)

unsigned inthours
unsigned intminutes
boolnegative
doublerate

Frame rate of this Time

unsigned intseconds
unsigned intsubframes

Typically unused

 Vamp:Plugin

C‡: Vamp::Plugin

is-a: Vamp:PluginBase

Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio or related data.

In most cases, the input will be audio and the output will be a stream of derived data at a lower sampling resolution than the input.

Note that this class inherits several abstract methods from PluginBase. These must be implemented by the subclass.

PLUGIN LIFECYCLE

Feature extraction plugins are managed differently from real-time plugins (such as VST effects). The main difference is that the parameters for a feature extraction plugin are configured before the plugin is used, and do not change during use.

1. Host constructs the plugin, passing it the input sample rate. The plugin may do basic initialisation, but should not do anything computationally expensive at this point. You must make sure your plugin is cheap to construct, otherwise you'll seriously affect the startup performance of almost all hosts. If you have serious initialisation to do, the proper place is in initialise() (step 5).

2. Host may query the plugin's available outputs.

3. Host queries programs and parameter descriptors, and may set some or all of them. Parameters that are not explicitly set should take their default values as specified in the parameter descriptor. When a program is set, the parameter values may change and the host will re-query them to check.

4. Host queries the preferred step size, block size and number of channels. These may all vary depending on the parameter values. (Note however that you cannot make the number of distinct outputs dependent on parameter values.)

5. Plugin is properly initialised with a call to initialise. This fixes the step size, block size, and number of channels, as well as all of the parameter and program settings. If the values passed in to initialise do not match the plugin's advertised preferred values from step 4, the plugin may refuse to initialise and return false (although if possible it should accept the new values). Any computationally expensive setup code should take place here.

6. Host finally checks the number of values, resolution, extents etc per output (which may vary depending on the number of channels, step size and block size as well as the parameter values).

7. Host will repeatedly call the process method to pass in blocks of input data. This method may return features extracted from that data (if the plugin is causal).

8. Host will call getRemainingFeatures exactly once, after all the input data has been processed. This may return any non-causal or leftover features.

9. At any point after initialise was called, the host may optionally call the reset method and restart processing. (This does not mean it can change the parameters, which are fixed from initialise until destruction.)

A plugin does not need to handle the case where setParameter or selectProgram is called after initialise has been called. It's the host's responsibility not to do that. Similarly, the plugin may safely assume that initialise is called no more than once.

Methods
InputDomaingetInputDomain ()

Get the plugin's required input domain.

If this is TimeDomain, the samples provided to the process() function (below) will be in the time domain, as for a traditional audio processing plugin.

If this is FrequencyDomain, the host will carry out a windowed FFT of size equal to the negotiated block size on the data before passing the frequency bin data in to process(). The input data for the FFT will be rotated so as to place the origin in the centre of the block. The plugin does not get to choose the window type -- the host will either let the user do so, or will use a Hanning window.

unsigned longgetMaxChannelCount ()

Get the maximum supported number of input channels.

unsigned longgetMinChannelCount ()

Get the minimum supported number of input channels.

OutputListgetOutputDescriptors ()

Get the outputs of this plugin. An output's index in this list is used as its numeric index when looking it up in the FeatureSet returned from the process() call.

unsigned longgetPreferredBlockSize ()

Get the preferred block size (window size -- the number of sample frames passed in each block to the process() function). This should be called before initialise().

A plugin that can handle any block size may return 0. The final block size will be set in the initialise() call.

unsigned longgetPreferredStepSize ()

Get the preferred step size (window increment -- the distance in sample frames between the start frames of consecutive blocks passed to the process() function) for the plugin. This should be called before initialise().

A plugin may return 0 if it has no particular interest in the step size. In this case, the host should make the step size equal to the block size if the plugin is accepting input in the time domain. If the plugin is accepting input in the frequency domain, the host may use any step size. The final step size will be set in the initialise() call.

FeatureSetgetRemainingFeatures ()

After all blocks have been processed, calculate and return any remaining features derived from the complete input.

std::stringgetType ()

Used to distinguish between Vamp::Plugin and other potential sibling subclasses of PluginBase. Do not reimplement this function in your subclass.

boolinitialise (unsigned long, unsigned long, unsigned long)

Initialise a plugin to prepare it for use with the given number of input channels, step size (window increment, in sample frames) and block size (window size, in sample frames).

The input sample rate should have been already specified at construction time.

Return true for successful initialisation, false if the number of input channels, step size and/or block size cannot be supported.

voidreset ()

Reset the plugin after use, to prepare it for another clean run. Not called for the first initialisation (i.e. initialise must also do a reset).

Inherited from Vamp:PluginBase

Methods
std::stringgetCopyright ()

Get the copyright statement or licensing summary for the plugin. This can be an informative text, without the same presentation constraints as mentioned for getMaker above.

std::stringgetCurrentProgram ()

Get the current program.

std::stringgetDescription ()

Get a human-readable description for the plugin, typically a line of text that may optionally be displayed in addition to the plugin's "name". May be empty if the name has said it all already.

Example: "Detect and count zero crossing points"

std::stringgetIdentifier ()

Get the computer-usable name of the plugin. This should be reasonably short and contain no whitespace or punctuation characters. It may only contain the characters [a-zA-Z0-9_-]. This is the authoritative way for a program to identify a plugin within a given library.

This text may be visible to the user, but it should not be the main text used to identify a plugin to the user (that will be the name, below).

Example: "zero_crossings"

std::stringgetMaker ()

Get the name of the author or vendor of the plugin in human-readable form. This should be a short identifying text, as it may be used to label plugins from the same source in a menu or similar.

std::stringgetName ()

Get a human-readable name or title of the plugin. This should be brief and self-contained, as it may be used to identify the plugin to the user in isolation (i.e. without also showing the plugin's "identifier").

Example: "Zero Crossings"

floatgetParameter (std::string)

Get the value of a named parameter. The argument is the identifier field from that parameter's descriptor.

ParameterListgetParameterDescriptors ()

Get the controllable parameters of this plugin.

intgetPluginVersion ()

Get the version number of the plugin.

StringVectorgetPrograms ()

Get the program settings available in this plugin. A program is a named shorthand for a set of parameter values; changing the program may cause the plugin to alter the values of its published parameters (and/or non-public internal processing parameters). The host should re-read the plugin's parameter values after setting a new program.

The programs must have unique names.

voidselectProgram (std::string)

Select a program. (If the given program name is not one of the available programs, do nothing.)

voidsetParameter (std::string, float)

Set a named parameter. The first argument is the identifier field from that parameter's descriptor.

 Vamp:Plugin:Feature

C‡: Vamp::Plugin::Feature

Data Members
Vamp:RealTimeduration

Duration of the output feature. This is mandatory if the output has VariableSampleRate or FixedSampleRate and hasDuration is true, and unused otherwise.

boolhasDuration

True if an output feature has a specified duration. This is optional if the output has VariableSampleRate or FixedSampleRate, and and unused if the output has OneSamplePerStep.

boolhasTimestamp

True if an output feature has its own timestamp. This is mandatory if the output has VariableSampleRate, optional if the output has FixedSampleRate, and unused if the output has OneSamplePerStep.

std::stringlabel

Label for the sample of this feature.

Vamp:RealTimetimestamp

Timestamp of the output feature. This is mandatory if the output has VariableSampleRate or if the output has FixedSampleRate and hasTimestamp is true, and unused otherwise.

C:FloatVectorvalues

Results for a single sample of this feature. If the output hasFixedBinCount, there must be the same number of values as the output's binCount count.

 Vamp:Plugin:FeatureList

C‡: std::vector<Vamp::Plugin::Feature >

Constructor
Vamp.Plugin.FeatureList ()
Vamp.Plugin.FeatureList ()
Methods
LuaTableadd (LuaTable {Feature})
Featureat (unsigned long)
voidclear ()
boolempty ()
LuaIteriter ()
voidpush_back (Feature)
voidreserve (unsigned long)
unsigned longsize ()
LuaTabletable ()
...to_array (--lua--)

 Vamp:Plugin:FeatureSet

C‡: std::map<int, std::vector<Vamp::Plugin::Feature > > > >

Constructor
Vamp.Plugin.FeatureSet ()
Methods
LuaTableadd (LuaTable {Feature})
...at (--lua--)
voidclear ()
unsigned longcount (int)
boolempty ()
LuaIteriter ()
unsigned longsize ()
LuaTabletable ()

 Vamp:Plugin:OutputDescriptor

C‡: Vamp::Plugin::OutputDescriptor

Data Members
unsigned longbinCount

The number of values per result of the output. Undefined if hasFixedBinCount is false. If this is zero, the output is point data (i.e. only the time of each output is of interest, the value list will be empty).

C:StringVectorbinNames

The (human-readable) names of each of the bins, if appropriate. This is always optional.

std::stringdescription

A human-readable short text describing the output. May be empty if the name has said it all already. Example: "The number of zero crossing points per processing block"

boolhasDuration

True if the returned results for this output are known to have a duration field.

boolhasFixedBinCount

True if the output has the same number of values per sample for every output sample. Outputs for which this is false are unlikely to be very useful in a general-purpose host.

boolhasKnownExtents

True if the results in each output bin fall within a fixed numeric range (minimum and maximum values). Undefined if binCount is zero.

std::stringidentifier

The name of the output, in computer-usable form. Should be reasonably short and without whitespace or punctuation, using the characters [a-zA-Z0-9_-] only. Example: "zero_crossing_count"

boolisQuantized

True if the output values are quantized to a particular resolution. Undefined if binCount is zero.

floatmaxValue

Maximum value of the results in the output. Undefined if hasKnownExtents is false or binCount is zero.

floatminValue

Minimum value of the results in the output. Undefined if hasKnownExtents is false or binCount is zero.

floatquantizeStep

Quantization resolution of the output values (e.g. 1.0 if they are all integers). Undefined if isQuantized is false or binCount is zero.

floatsampleRate

Sample rate of the output results, as samples per second. Undefined if sampleType is OneSamplePerStep.

If sampleType is VariableSampleRate and this value is non-zero, then it may be used to calculate a resolution for the output (i.e. the "duration" of each sample, in time, will be 1/sampleRate seconds). It's recommended to set this to zero if that behaviour is not desired.

Vamp.Plugin.OutputDescriptor.SampleTypesampleType

Positioning in time of the output results.

std::stringunit

The unit of the output, in human-readable form.

 Vamp:Plugin:OutputList

C‡: std::vector<Vamp::Plugin::OutputDescriptor >

Constructor
Vamp.Plugin.OutputList ()
Vamp.Plugin.OutputList ()
Methods
LuaTableadd (LuaTable {OutputDescriptor})
OutputDescriptorat (unsigned long)
voidclear ()
boolempty ()
LuaIteriter ()
voidpush_back (OutputDescriptor)
voidreserve (unsigned long)
unsigned longsize ()
LuaTabletable ()
...to_array (--lua--)

 Vamp:PluginBase

C‡: Vamp::PluginBase

A base class for plugins with optional configurable parameters, programs, etc. The Vamp::Plugin is derived from this, and individual Vamp plugins should derive from that.

This class does not provide the necessary interfaces to instantiate or run a plugin. It only specifies an interface for retrieving those controls that the host may wish to show to the user for editing. It could meaningfully be subclassed by real-time plugins or other sorts of plugin as well as Vamp plugins.

Methods
std::stringgetCopyright ()

Get the copyright statement or licensing summary for the plugin. This can be an informative text, without the same presentation constraints as mentioned for getMaker above.

std::stringgetCurrentProgram ()

Get the current program.

std::stringgetDescription ()

Get a human-readable description for the plugin, typically a line of text that may optionally be displayed in addition to the plugin's "name". May be empty if the name has said it all already.

Example: "Detect and count zero crossing points"

std::stringgetIdentifier ()

Get the computer-usable name of the plugin. This should be reasonably short and contain no whitespace or punctuation characters. It may only contain the characters [a-zA-Z0-9_-]. This is the authoritative way for a program to identify a plugin within a given library.

This text may be visible to the user, but it should not be the main text used to identify a plugin to the user (that will be the name, below).

Example: "zero_crossings"

std::stringgetMaker ()

Get the name of the author or vendor of the plugin in human-readable form. This should be a short identifying text, as it may be used to label plugins from the same source in a menu or similar.

std::stringgetName ()

Get a human-readable name or title of the plugin. This should be brief and self-contained, as it may be used to identify the plugin to the user in isolation (i.e. without also showing the plugin's "identifier").

Example: "Zero Crossings"

floatgetParameter (std::string)

Get the value of a named parameter. The argument is the identifier field from that parameter's descriptor.

ParameterListgetParameterDescriptors ()

Get the controllable parameters of this plugin.

intgetPluginVersion ()

Get the version number of the plugin.

StringVectorgetPrograms ()

Get the program settings available in this plugin. A program is a named shorthand for a set of parameter values; changing the program may cause the plugin to alter the values of its published parameters (and/or non-public internal processing parameters). The host should re-read the plugin's parameter values after setting a new program.

The programs must have unique names.

std::stringgetType ()

Get the type of plugin. This is to be implemented by the immediate subclass, not by actual plugins. Do not attempt to implement this in plugin code.

voidselectProgram (std::string)

Select a program. (If the given program name is not one of the available programs, do nothing.)

voidsetParameter (std::string, float)

Set a named parameter. The first argument is the identifier field from that parameter's descriptor.

 Vamp:PluginBase:ParameterDescriptor

C‡: Vamp::PluginBase::ParameterDescriptor

Data Members
floatdefaultValue

The default value of the parameter. The plugin should ensure that parameters have this value on initialisation (i.e. the host is not required to explicitly set parameters if it wants to use their default values).

std::stringdescription

A human-readable short text describing the parameter. May be empty if the name has said it all already.

std::stringidentifier

The name of the parameter, in computer-usable form. Should be reasonably short, and may only contain the characters [a-zA-Z0-9_-].

boolisQuantized

True if the parameter values are quantized to a particular resolution.

floatmaxValue

The maximum value of the parameter.

floatminValue

The minimum value of the parameter.

std::stringname

The human-readable name of the parameter.

floatquantizeStep

Quantization resolution of the parameter values (e.g. 1.0 if they are all integers). Undefined if isQuantized is false.

std::stringunit

The unit of the parameter, in human-readable form.

C:StringVectorvalueNames

Names for the quantized values. If isQuantized is true, this may either be empty or contain one string for each of the quantize steps from minValue up to maxValue inclusive. Undefined if isQuantized is false.

If these names are provided, they should be shown to the user in preference to the values themselves. The user may never see the actual numeric values unless they are also encoded in the names.

 Vamp:PluginBase:ParameterList

C‡: std::vector<Vamp::PluginBase::ParameterDescriptor >

Constructor
Vamp.PluginBase.ParameterList ()
Vamp.PluginBase.ParameterList ()
Methods
LuaTableadd (LuaTable {ParameterDescriptor})
ParameterDescriptorat (unsigned long)
voidclear ()
boolempty ()
LuaIteriter ()
voidpush_back (ParameterDescriptor)
voidreserve (unsigned long)
unsigned longsize ()
LuaTabletable ()
...to_array (--lua--)

 Vamp:RealTime

C‡: Vamp::RealTime

RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conversion functions.

Constructor
Vamp.RealTime (int, int)
Methods
RealTimeframe2RealTime (long, unsigned int)
intmsec ()
longrealTime2Frame (RealTime, unsigned int)
std::stringtoString ()

Return a human-readable debug-type string to full precision (probably not a format to show to a user directly)

intusec ()
Data Members
intnsec
intsec

 os

Methods
intexecute (std::string)
LuaTableforkexec ()

Enum/Constants

 PBD.Controllable.GroupControlDisposition

  • PBD.GroupControlDisposition.InverseGroup
  • PBD.GroupControlDisposition.NoGroup
  • PBD.GroupControlDisposition.UseGroup

 Timecode.TimecodeFormat

  • Timecode.TimecodeFormat.TC23976
  • Timecode.TimecodeFormat.TC24
  • Timecode.TimecodeFormat.TC24976
  • Timecode.TimecodeFormat.TC25
  • Timecode.TimecodeFormat.TC2997
  • Timecode.TimecodeFormat.TC2997DF
  • Timecode.TimecodeFormat.TC2997000
  • Timecode.TimecodeFormat.TC2997000DF
  • Timecode.TimecodeFormat.TC30
  • Timecode.TimecodeFormat.TC5994
  • Timecode.TimecodeFormat.TC60

 Temporal

  • Temporal.ticks_per_beat

 Temporal.TimeDomain

  • Temporal.TimeDomain.AudioTime
  • Temporal.TimeDomain.BeatTime

 Temporal.Tempo.Type

  • Temporal.Tempo.Type.Ramp
  • Temporal.Tempo.Type.Constant

 Evoral.ControlList.InterpolationStyle

  • Evoral.InterpolationStyle.Discrete
  • Evoral.InterpolationStyle.Linear
  • Evoral.InterpolationStyle.Curved
  • Evoral.InterpolationStyle.Logarithmic
  • Evoral.InterpolationStyle.Exponential

 Evoral.EventType

  • Evoral.EventType.NO_EVENT
  • Evoral.EventType.MIDI_EVENT
  • Evoral.EventType.LIVE_MIDI_EVENT

 Vamp.Plugin.InputDomain

  • Vamp.Plugin.InputDomain.TimeDomain
  • Vamp.Plugin.InputDomain.FrequencyDomain

 Vamp.Plugin.OutputDescriptor.SampleType

  • Vamp.Plugin.OutputDescriptor.SampleType.OneSamplePerStep
  • Vamp.Plugin.OutputDescriptor.SampleType.FixedSampleRate
  • Vamp.Plugin.OutputDescriptor.SampleType.VariableSampleRate

 ARDOUR

  • ARDOUR.revision

 ARDOUR.ChanMapping

  • ARDOUR.ChanMapping.Invalid

 PBD.PropertyDescriptor<Temporal.timepos_t>*

  • ARDOUR.Properties.Start

 PBD.PropertyDescriptor<Temporal.timecnt_t>*

  • ARDOUR.Properties.Length

 PBD.PropertyDescriptor<unsigned int>*

  • ARDOUR.Properties.Layer

 PBD.PropertyDescriptor<bool>*

  • ARDOUR.Properties.Muted
  • ARDOUR.Properties.Opaque

 ARDOUR.PresentationInfo

  • ARDOUR.PresentationInfo.max_order

 ARDOUR.PluginType

  • ARDOUR.PluginType.AudioUnit
  • ARDOUR.PluginType.LADSPA
  • ARDOUR.PluginType.LV2
  • ARDOUR.PluginType.Windows_VST
  • ARDOUR.PluginType.LXVST
  • ARDOUR.PluginType.MacVST
  • ARDOUR.PluginType.Lua
  • ARDOUR.PluginType.VST3

 ARDOUR.PresentationInfo.Flag

  • ARDOUR.PresentationInfo.Flag.AudioTrack
  • ARDOUR.PresentationInfo.Flag.MidiTrack
  • ARDOUR.PresentationInfo.Flag.AudioBus
  • ARDOUR.PresentationInfo.Flag.MidiBus
  • ARDOUR.PresentationInfo.Flag.VCA
  • ARDOUR.PresentationInfo.Flag.MasterOut
  • ARDOUR.PresentationInfo.Flag.MonitorOut
  • ARDOUR.PresentationInfo.Flag.Auditioner
  • ARDOUR.PresentationInfo.Flag.Hidden
  • ARDOUR.PresentationInfo.Flag.GroupOrderSet
  • ARDOUR.PresentationInfo.Flag.TriggerTrack
  • ARDOUR.PresentationInfo.Flag.StatusMask
  • ARDOUR.PresentationInfo.Flag.TypeMask

 ARDOUR.AutoState

  • ARDOUR.AutoState.Off
  • ARDOUR.AutoState.Write
  • ARDOUR.AutoState.Touch
  • ARDOUR.AutoState.Play
  • ARDOUR.AutoState.Latch

 ARDOUR.AutomationType

  • ARDOUR.AutomationType.GainAutomation
  • ARDOUR.AutomationType.BusSendLevel
  • ARDOUR.AutomationType.SurroundSendLevel
  • ARDOUR.AutomationType.InsertReturnLevel
  • ARDOUR.AutomationType.PluginAutomation
  • ARDOUR.AutomationType.SoloAutomation
  • ARDOUR.AutomationType.SoloIsolateAutomation
  • ARDOUR.AutomationType.SoloSafeAutomation
  • ARDOUR.AutomationType.MuteAutomation
  • ARDOUR.AutomationType.RecEnableAutomation
  • ARDOUR.AutomationType.RecSafeAutomation
  • ARDOUR.AutomationType.TrimAutomation
  • ARDOUR.AutomationType.PhaseAutomation
  • ARDOUR.AutomationType.MidiCCAutomation
  • ARDOUR.AutomationType.MidiPgmChangeAutomation
  • ARDOUR.AutomationType.MidiPitchBenderAutomation
  • ARDOUR.AutomationType.MidiChannelPressureAutomation
  • ARDOUR.AutomationType.MidiNotePressureAutomation
  • ARDOUR.AutomationType.MidiSystemExclusiveAutomation

 ARDOUR.SrcQuality

  • ARDOUR.SrcQuality.SrcBest

 ARDOUR.SectionOperation

  • ARDOUR.SectionOperation.CopyPaste
  • ARDOUR.SectionOperation.CutPaste
  • ARDOUR.SectionOperation.Insert
  • ARDOUR.SectionOperation.Delete

 ARDOUR.MeterType

  • ARDOUR.MeterType.MeterMaxSignal
  • ARDOUR.MeterType.MeterMaxPeak
  • ARDOUR.MeterType.MeterPeak
  • ARDOUR.MeterType.MeterKrms
  • ARDOUR.MeterType.MeterK20
  • ARDOUR.MeterType.MeterK14
  • ARDOUR.MeterType.MeterIEC1DIN
  • ARDOUR.MeterType.MeterIEC1NOR
  • ARDOUR.MeterType.MeterIEC2BBC
  • ARDOUR.MeterType.MeterIEC2EBU
  • ARDOUR.MeterType.MeterVU
  • ARDOUR.MeterType.MeterK12
  • ARDOUR.MeterType.MeterPeak0dB
  • ARDOUR.MeterType.MeterMCP

 ARDOUR.MeterPoint

  • ARDOUR.MeterPoint.MeterInput
  • ARDOUR.MeterPoint.MeterPreFader
  • ARDOUR.MeterPoint.MeterPostFader
  • ARDOUR.MeterPoint.MeterOutput
  • ARDOUR.MeterPoint.MeterCustom

 ARDOUR.Placement

  • ARDOUR.Placement.PreFader
  • ARDOUR.Placement.PostFader

 ARDOUR.MonitorChoice

  • ARDOUR.MonitorChoice.MonitorAuto
  • ARDOUR.MonitorChoice.MonitorInput
  • ARDOUR.MonitorChoice.MonitorDisk
  • ARDOUR.MonitorChoice.MonitorCue

 ARDOUR.MonitorState

  • ARDOUR.MonitorState.MonitoringSilence
  • ARDOUR.MonitorState.MonitoringInput
  • ARDOUR.MonitorState.MonitoringDisk
  • ARDOUR.MonitorState.MonitoringCue

 ARDOUR.MuteMaster.MutePoint

  • ARDOUR.MutePoint.PreFader
  • ARDOUR.MutePoint.PostFader
  • ARDOUR.MutePoint.Listen
  • ARDOUR.MutePoint.Main

 ARDOUR.NoteMode

  • ARDOUR.NoteMode.Sustained
  • ARDOUR.NoteMode.Percussive

 ARDOUR.ChannelMode

  • ARDOUR.ChannelMode.AllChannels
  • ARDOUR.ChannelMode.FilterChannels
  • ARDOUR.ChannelMode.ForceChannel

 ARDOUR.PortFlags

  • ARDOUR.PortFlags.IsInput
  • ARDOUR.PortFlags.IsOutput
  • ARDOUR.PortFlags.IsPhysical
  • ARDOUR.PortFlags.CanMonitor
  • ARDOUR.PortFlags.IsTerminal

 ARDOUR.MidiPortFlags

  • ARDOUR.MidiPortFlags.MidiPortMusic
  • ARDOUR.MidiPortFlags.MidiPortControl
  • ARDOUR.MidiPortFlags.MidiPortSelection
  • ARDOUR.MidiPortFlags.MidiPortVirtual

 ARDOUR.PlaylistDisposition

  • ARDOUR.PlaylistDisposition.CopyPlaylist
  • ARDOUR.PlaylistDisposition.NewPlaylist
  • ARDOUR.PlaylistDisposition.SharePlaylist

 ARDOUR.MidiTrackNameSource

  • ARDOUR.MidiTrackNameSource.SMFTrackNumber
  • ARDOUR.MidiTrackNameSource.SMFTrackName
  • ARDOUR.MidiTrackNameSource.SMFInstrumentName

 ARDOUR.MidiTempoMapDisposition

  • ARDOUR.MidiTempoMapDisposition.SMFTempoIgnore
  • ARDOUR.MidiTempoMapDisposition.SMFTempoUse

 ARDOUR.RegionEquivalence

  • ARDOUR.RegionEquivalence.Exact
  • ARDOUR.RegionEquivalence.Enclosed
  • ARDOUR.RegionEquivalence.Overlap
  • ARDOUR.RegionEquivalence.LayerTime

 ARDOUR.RegionPoint

  • ARDOUR.RegionPoint.Start
  • ARDOUR.RegionPoint.End
  • ARDOUR.RegionPoint.SyncPoint

 ARDOUR.TrackMode

  • ARDOUR.TrackMode.Normal
  • ARDOUR.TrackMode.NonLayered

 ARDOUR.RecordMode

  • ARDOUR.RecordMode.RecLayered
  • ARDOUR.RecordMode.RecNonLayered
  • ARDOUR.RecordMode.RecSoundOnSound

 ARDOUR.TransportRequestSource

  • ARDOUR.TransportRequestSource.TRS_Engine
  • ARDOUR.TransportRequestSource.TRS_UI

 ARDOUR.LocateTransportDisposition

  • ARDOUR.LocateTransportDisposition.MustRoll
  • ARDOUR.LocateTransportDisposition.MustStop
  • ARDOUR.LocateTransportDisposition.RollIfAppropriate

 ARDOUR.CueBehavior

  • ARDOUR.CueBehavior.FollowCues
  • ARDOUR.CueBehavior.ImplicitlyIgnoreCues

 ARDOUR.WellKnownCtrl

  • ARDOUR.WellKnownCtrl.EQ_Enable
  • ARDOUR.WellKnownCtrl.EQ_BandGain
  • ARDOUR.WellKnownCtrl.EQ_BandFreq
  • ARDOUR.WellKnownCtrl.EQ_BandQ
  • ARDOUR.WellKnownCtrl.EQ_BandShape
  • ARDOUR.WellKnownCtrl.HPF_Enable
  • ARDOUR.WellKnownCtrl.HPF_Freq
  • ARDOUR.WellKnownCtrl.HPF_Slope
  • ARDOUR.WellKnownCtrl.LPF_Enable
  • ARDOUR.WellKnownCtrl.LPF_Freq
  • ARDOUR.WellKnownCtrl.LPF_Slope
  • ARDOUR.WellKnownCtrl.TapeDrive_Drive
  • ARDOUR.WellKnownCtrl.TapeDrive_Mode
  • ARDOUR.WellKnownCtrl.Comp_Enable
  • ARDOUR.WellKnownCtrl.Comp_Mode
  • ARDOUR.WellKnownCtrl.Comp_Threshold
  • ARDOUR.WellKnownCtrl.Comp_Makeup
  • ARDOUR.WellKnownCtrl.Comp_Ratio
  • ARDOUR.WellKnownCtrl.Comp_Attack
  • ARDOUR.WellKnownCtrl.Comp_Release
  • ARDOUR.WellKnownCtrl.Comp_KeyFilterFreq
  • ARDOUR.WellKnownCtrl.Gate_Enable
  • ARDOUR.WellKnownCtrl.Gate_Mode
  • ARDOUR.WellKnownCtrl.Gate_Threshold
  • ARDOUR.WellKnownCtrl.Gate_Ratio
  • ARDOUR.WellKnownCtrl.Gate_Knee
  • ARDOUR.WellKnownCtrl.Gate_Depth
  • ARDOUR.WellKnownCtrl.Gate_Hysteresis
  • ARDOUR.WellKnownCtrl.Gate_Hold
  • ARDOUR.WellKnownCtrl.Gate_Attack
  • ARDOUR.WellKnownCtrl.Gate_Release
  • ARDOUR.WellKnownCtrl.Gate_KeyListen
  • ARDOUR.WellKnownCtrl.Gate_KeyFilterEnable
  • ARDOUR.WellKnownCtrl.Gate_KeyFilterFreq
  • ARDOUR.WellKnownCtrl.Master_Limiter_Enable

 ARDOUR.WellKnownData

  • ARDOUR.WellKnownData.TapeDrive_Saturation
  • ARDOUR.WellKnownData.Master_PhaseCorrelationMin
  • ARDOUR.WellKnownData.Master_PhaseCorrelationMax
  • ARDOUR.WellKnownData.Master_KMeter
  • ARDOUR.WellKnownData.Master_LimiterRedux
  • ARDOUR.WellKnownData.Comp_Meter
  • ARDOUR.WellKnownData.Comp_Redux
  • ARDOUR.WellKnownData.Gate_Meter
  • ARDOUR.WellKnownData.Gate_Redux

 ARDOUR.SampleFormat

  • ARDOUR.SampleFormat.Float
  • ARDOUR.SampleFormat.Int24
  • ARDOUR.SampleFormat.Int16

 ARDOUR.HeaderFormat

  • ARDOUR.HeaderFormat.BWF
  • ARDOUR.HeaderFormat.WAVE
  • ARDOUR.HeaderFormat.WAVE64
  • ARDOUR.HeaderFormat.CAF
  • ARDOUR.HeaderFormat.AIFF
  • ARDOUR.HeaderFormat.iXML
  • ARDOUR.HeaderFormat.RF64
  • ARDOUR.HeaderFormat.RF64_WAV
  • ARDOUR.HeaderFormat.MBWF
  • ARDOUR.HeaderFormat.FLAC

 ARDOUR.InsertMergePolicy

  • ARDOUR.InsertMergePolicy.Reject
  • ARDOUR.InsertMergePolicy.Relax
  • ARDOUR.InsertMergePolicy.Replace
  • ARDOUR.InsertMergePolicy.TruncateExisting
  • ARDOUR.InsertMergePolicy.TruncateAddition
  • ARDOUR.InsertMergePolicy.Extend

 ARDOUR.AFLPosition

  • ARDOUR.AFLPosition.AFLFromBeforeProcessors
  • ARDOUR.AFLPosition.AFLFromAfterProcessors

 ARDOUR.PFLPosition

  • ARDOUR.PFLPosition.PFLFromBeforeProcessors
  • ARDOUR.PFLPosition.PFLFromAfterProcessors

 ARDOUR.AutoReturnTarget

  • ARDOUR.AutoReturnTarget.LastLocate
  • ARDOUR.AutoReturnTarget.RangeSelectionStart
  • ARDOUR.AutoReturnTarget.Loop
  • ARDOUR.AutoReturnTarget.RegionSelectionStart

 ARDOUR.FadeShape

  • ARDOUR.FadeShape.FadeLinear
  • ARDOUR.FadeShape.FadeFast
  • ARDOUR.FadeShape.FadeSlow
  • ARDOUR.FadeShape.FadeConstantPower
  • ARDOUR.FadeShape.FadeSymmetric

 ARDOUR.LoopFadeChoice

  • ARDOUR.LoopFadeChoice.NoLoopFade
  • ARDOUR.LoopFadeChoice.EndLoopFade
  • ARDOUR.LoopFadeChoice.BothLoopFade
  • ARDOUR.LoopFadeChoice.XFadeLoop

 ARDOUR.DenormalModel

  • ARDOUR.DenormalModel.DenormalNone
  • ARDOUR.DenormalModel.DenormalFTZ
  • ARDOUR.DenormalModel.DenormalDAZ
  • ARDOUR.DenormalModel.DenormalFTZDAZ

 ARDOUR.BufferingPreset

  • ARDOUR.BufferingPreset.Small
  • ARDOUR.BufferingPreset.Medium
  • ARDOUR.BufferingPreset.Large
  • ARDOUR.BufferingPreset.Custom

 ARDOUR.EditMode

  • ARDOUR.EditMode.Slide
  • ARDOUR.EditMode.Ripple
  • ARDOUR.EditMode.Lock

 ARDOUR.RippleMode

  • ARDOUR.RippleMode.RippleSelected
  • ARDOUR.RippleMode.RippleAll
  • ARDOUR.RippleMode.RippleInterview

 ARDOUR.AutoConnectOption

  • ARDOUR.AutoConnectOption.ManualConnect
  • ARDOUR.AutoConnectOption.AutoConnectPhysical
  • ARDOUR.AutoConnectOption.AutoConnectMaster

 ARDOUR.LayerModel

  • ARDOUR.LayerModel.LaterHigher
  • ARDOUR.LayerModel.Manual

 ARDOUR.ListenPosition

  • ARDOUR.ListenPosition.AfterFaderListen
  • ARDOUR.ListenPosition.PreFaderListen

 ARDOUR.MonitorModel

  • ARDOUR.MonitorModel.HardwareMonitoring
  • ARDOUR.MonitorModel.SoftwareMonitoring
  • ARDOUR.MonitorModel.ExternalMonitoring

 ARDOUR.SnapTarget

  • ARDOUR.SnapTarget.SnapTargetGrid
  • ARDOUR.SnapTarget.SnapTargetOther
  • ARDOUR.SnapTarget.SnapTargetBoth

 ARDOUR.RegionSelectionAfterSplit

  • ARDOUR.SnapTarget.RegionSelectionAfterSplit.None
  • ARDOUR.SnapTarget.RegionSelectionAfterSplit.NewlyCreatedLeft
  • ARDOUR.SnapTarget.RegionSelectionAfterSplit.NewlyCreatedRight
  • ARDOUR.SnapTarget.RegionSelectionAfterSplit.NewlyCreatedBoth
  • ARDOUR.SnapTarget.RegionSelectionAfterSplit.Existing
  • ARDOUR.SnapTarget.RegionSelectionAfterSplit.ExistingNewlyCreatedLeft
  • ARDOUR.SnapTarget.RegionSelectionAfterSplit.ExistingNewlyCreatedRight
  • ARDOUR.SnapTarget.RegionSelectionAfterSplit.ExistingNewlyCreatedBoth

 ARDOUR.RangeSelectionAfterSplit

  • ARDOUR.SnapTarget.RangeSelectionAfterSplit.ClearSel
  • ARDOUR.SnapTarget.RangeSelectionAfterSplit.PreserveSel
  • ARDOUR.SnapTarget.RangeSelectionAfterSplit.ForceSel

 ARDOUR.TimeSelectionAfterSectionPaste

  • ARDOUR.SnapTarget.TimeSelectionAfterSectionPaste.SectionSelectNoop
  • ARDOUR.SnapTarget.TimeSelectionAfterSectionPaste.SectionSelectClear
  • ARDOUR.SnapTarget.TimeSelectionAfterSectionPaste.SectionSelectRetain
  • ARDOUR.SnapTarget.TimeSelectionAfterSectionPaste.SectionSelectRetainAndMovePlayhead

 ARDOUR.ScreenSaverMode

  • ARDOUR.SnapTarget.ScreenSaverMode.InhibitNever
  • ARDOUR.SnapTarget.ScreenSaverMode.InhibitWhileRecording
  • ARDOUR.SnapTarget.ScreenSaverMode.InhibitAlways

 ARDOUR.AppleNSGLViewMode

  • ARDOUR.SnapTarget.AppleNSGLViewMode.NSGLHiRes
  • ARDOUR.SnapTarget.AppleNSGLViewMode.NSGLLoRes
  • ARDOUR.SnapTarget.AppleNSGLViewMode.NSGLDisable

 ARDOUR.PluginGUIBehavior

  • ARDOUR.SnapTarget.PluginGUIBehavior.PluginGUIHide
  • ARDOUR.SnapTarget.PluginGUIBehavior.PluginGUIDestroyAny
  • ARDOUR.SnapTarget.PluginGUIBehavior.PluginGUIDestroyVST

 ARDOUR.ClockDeltaMode

  • ARDOUR.SnapTarget.ClockDeltaMode.NoDelta
  • ARDOUR.SnapTarget.ClockDeltaMode.DeltaEditPoint
  • ARDOUR.SnapTarget.ClockDeltaMode.DeltaOriginMarker

 ARDOUR.WaveformScale

  • ARDOUR.SnapTarget.WaveformScale.Linear
  • ARDOUR.SnapTarget.WaveformScale.Logarithmic

 ARDOUR.WaveformShape

  • ARDOUR.SnapTarget.WaveformShape.Traditional
  • ARDOUR.SnapTarget.WaveformShape.Rectified

 ARDOUR.MeterLineUp

  • ARDOUR.SnapTarget.MeterLineUp.MeteringLineUp24
  • ARDOUR.SnapTarget.MeterLineUp.MeteringLineUp20
  • ARDOUR.SnapTarget.MeterLineUp.MeteringLineUp18
  • ARDOUR.SnapTarget.MeterLineUp.MeteringLineUp15
  • ARDOUR.SnapTarget.InputMeterLayout.MeteringLineUp15

 ARDOUR.InputMeterLayout

  • ARDOUR.SnapTarget.InputMeterLayout.LayoutVertical
  • ARDOUR.SnapTarget.InputMeterLayout.LayoutHorizontal
  • ARDOUR.SnapTarget.InputMeterLayout.LayoutAutomatic

 ARDOUR.VUMeterStandard

  • ARDOUR.SnapTarget.VUMeterStandard.MeteringVUfrench
  • ARDOUR.SnapTarget.VUMeterStandard.MeteringVUamerican
  • ARDOUR.SnapTarget.VUMeterStandard.MeteringVUstandard
  • ARDOUR.SnapTarget.VUMeterStandard.MeteringVUeight

 ARDOUR.ShuttleUnits

  • ARDOUR.SnapTarget.ShuttleUnits.Percentage
  • ARDOUR.SnapTarget.ShuttleUnits.Semitones

 ARDOUR.SyncSource

  • ARDOUR.SnapTarget.SyncSource.Engine
  • ARDOUR.SnapTarget.SyncSource.MTC
  • ARDOUR.SnapTarget.SyncSource.MIDIClock
  • ARDOUR.SnapTarget.SyncSource.LTC

 ARDOUR.TracksAutoNamingRule

  • ARDOUR.SnapTarget.TracksAutoNamingRule.UseDefaultNames
  • ARDOUR.SnapTarget.TracksAutoNamingRule.NameAfterDriver

 ARDOUR.Session.RecordState

  • ARDOUR.Session.RecordState.Disabled
  • ARDOUR.Session.RecordState.Enabled
  • ARDOUR.Session.RecordState.Recording

 ARDOUR.Location.Flags

  • ARDOUR.LocationFlags.IsMark
  • ARDOUR.LocationFlags.IsAutoPunch
  • ARDOUR.LocationFlags.IsAutoLoop
  • ARDOUR.LocationFlags.IsHidden
  • ARDOUR.LocationFlags.IsCDMarker
  • ARDOUR.LocationFlags.IsCueMarker
  • ARDOUR.LocationFlags.IsSection
  • ARDOUR.LocationFlags.IsRangeMarker
  • ARDOUR.LocationFlags.IsSessionRange
  • ARDOUR.LocationFlags.IsSkip
  • ARDOUR.LocationFlags.IsSkipping

 Glib.FileTest

  • ARDOUR.LuaAPI.FileTest.IsRegular
  • ARDOUR.LuaAPI.FileTest.IsSymlink
  • ARDOUR.LuaAPI.FileTest.IsDir
  • ARDOUR.LuaAPI.FileTest.IsExecutable
  • ARDOUR.LuaAPI.FileTest.Exists

 ARDOUR.DSP.Biquad.Type

  • ARDOUR.DSP.BiquadType.LowPass
  • ARDOUR.DSP.BiquadType.HighPass
  • ARDOUR.DSP.BiquadType.BandPassSkirt
  • ARDOUR.DSP.BiquadType.BandPass0dB
  • ARDOUR.DSP.BiquadType.Notch
  • ARDOUR.DSP.BiquadType.AllPass
  • ARDOUR.DSP.BiquadType.Peaking
  • ARDOUR.DSP.BiquadType.LowShelf
  • ARDOUR.DSP.BiquadType.HighShelf
  • ARDOUR.DSP.BiquadType.MatchedLowPass
  • ARDOUR.DSP.BiquadType.MatchedHighPass
  • ARDOUR.DSP.BiquadType.MatchedBandPass0dB
  • ARDOUR.DSP.BiquadType.MatchedPeaking

 ARDOUR.DSP.Generator.Type

  • ARDOUR.DSP.NoiseType.UniformWhiteNoise
  • ARDOUR.DSP.NoiseType.GaussianWhiteNoise
  • ARDOUR.DSP.NoiseType.PinkNoise

 ARDOUR.DSP.LTC_TV_STANDARD

  • ARDOUR.DSP.LTC_TV_STANDARD.LTC_TV_525_60
  • ARDOUR.DSP.LTC_TV_STANDARD.LTC_TV_625_50
  • ARDOUR.DSP.LTC_TV_STANDARD.LTC_TV_1125_60
  • ARDOUR.DSP.LTC_TV_STANDARD.LTC_TV_FILM_24

 ARDOUR.DSP.Convolver.IRChannelConfig

  • ARDOUR.DSP.IRChannelConfig.Mono
  • ARDOUR.DSP.IRChannelConfig.MonoToStereo
  • ARDOUR.DSP.IRChannelConfig.Stereo

 Cairo.LineCap

  • Cairo.LineCap.Butt
  • Cairo.LineCap.Round
  • Cairo.LineCap.Square

 Cairo.LineJoin

  • Cairo.LineJoin.Miter
  • Cairo.LineJoin.Round
  • Cairo.LineJoin.Bevel

 Cairo.Operator

  • Cairo.Operator.Clear
  • Cairo.Operator.Source
  • Cairo.Operator.Over
  • Cairo.Operator.Add

 Cairo.Format

  • Cairo.Format.ARGB32
  • Cairo.Format.RGB24

 Pango.EllipsizeMode

  • Cairo.EllipsizeMode.None
  • Cairo.EllipsizeMode.Start
  • Cairo.EllipsizeMode.Middle
  • Cairo.EllipsizeMode.End

 Pango.Alignment

  • Cairo.Alignment.Left
  • Cairo.Alignment.Center
  • Cairo.Alignment.Right

 Pango.WrapMode

  • Cairo.WrapMode.Word
  • Cairo.WrapMode.Char
  • Cairo.WrapMode.WordChar

 LuaDialog.Message.MessageType

  • LuaDialog.MessageType.Info
  • LuaDialog.MessageType.Warning
  • LuaDialog.MessageType.Question
  • LuaDialog.MessageType.Error

 LuaDialog.Message.ButtonType

  • LuaDialog.ButtonType.OK
  • LuaDialog.ButtonType.Close
  • LuaDialog.ButtonType.Cancel
  • LuaDialog.ButtonType.Yes_No
  • LuaDialog.ButtonType.OK_Cancel

 LuaDialog.Response

  • LuaDialog.Response.OK
  • LuaDialog.Response.Cancel
  • LuaDialog.Response.Close
  • LuaDialog.Response.Yes
  • LuaDialog.Response.No
  • LuaDialog.Response.None

 RouteDialogs.InsertAt

  • ArdourUI.InsertAt.BeforeSelection
  • ArdourUI.InsertAt.AfterSelection
  • ArdourUI.InsertAt.First
  • ArdourUI.InsertAt.Last

 ArdourMarker.Type

  • ArdourUI.MarkerType.Mark
  • ArdourUI.MarkerType.Tempo
  • ArdourUI.MarkerType.Meter
  • ArdourUI.MarkerType.SessionStart
  • ArdourUI.MarkerType.SessionEnd
  • ArdourUI.MarkerType.RangeStart
  • ArdourUI.MarkerType.RangeEnd
  • ArdourUI.MarkerType.LoopStart
  • ArdourUI.MarkerType.LoopEnd
  • ArdourUI.MarkerType.PunchIn
  • ArdourUI.MarkerType.PunchOut

 Selection.Operation

  • ArdourUI.SelectionOp.Toggle
  • ArdourUI.SelectionOp.Set
  • ArdourUI.SelectionOp.Extend
  • ArdourUI.SelectionOp.Add

 TimeAxisView.TrackHeightMode

  • ArdourUI.TrackHeightMode.OnlySelf
  • ArdourUI.TrackHeightMode.TotalHeight
  • ArdourUI.TrackHeightMode.HeightPerLane,

 Editing.GridType

  • Editing.GridTypeNone
  • Editing.GridTypeBar
  • Editing.GridTypeBeat
  • Editing.GridTypeBeatDiv2
  • Editing.GridTypeBeatDiv4
  • Editing.GridTypeBeatDiv8
  • Editing.GridTypeBeatDiv16
  • Editing.GridTypeBeatDiv32
  • Editing.GridTypeBeatDiv3
  • Editing.GridTypeBeatDiv6
  • Editing.GridTypeBeatDiv12
  • Editing.GridTypeBeatDiv24
  • Editing.GridTypeBeatDiv5
  • Editing.GridTypeBeatDiv10
  • Editing.GridTypeBeatDiv20
  • Editing.GridTypeBeatDiv7
  • Editing.GridTypeBeatDiv14
  • Editing.GridTypeBeatDiv28
  • Editing.GridTypeTimecode
  • Editing.GridTypeMinSec
  • Editing.GridTypeCDFrame

 Editing.SnapMode

  • Editing.SnapOff
  • Editing.SnapNormal
  • Editing.SnapMagnetic

 Editing.MouseMode

  • Editing.MouseObject
  • Editing.MouseRange
  • Editing.MouseCut
  • Editing.MouseTimeFX
  • Editing.MouseGrid
  • Editing.MouseDraw
  • Editing.MouseContent

 Editing.ZoomFocus

  • Editing.ZoomFocusLeft
  • Editing.ZoomFocusRight
  • Editing.ZoomFocusCenter
  • Editing.ZoomFocusPlayhead
  • Editing.ZoomFocusMouse
  • Editing.ZoomFocusEdit

 Editing.DisplayControl

  • Editing.FollowPlayhead
  • Editing.ShowMeasures
  • Editing.ShowWaveforms
  • Editing.ShowWaveformsRecording

 Editing.ImportMode

  • Editing.ImportAsRegion
  • Editing.ImportToTrack
  • Editing.ImportAsTrack
  • Editing.ImportAsTrigger

 Editing.ImportPosition

  • Editing.ImportAtTimestamp
  • Editing.ImportAtEditPoint
  • Editing.ImportAtPlayhead
  • Editing.ImportAtStart

 Editing.ImportDisposition

  • Editing.ImportDistinctFiles
  • Editing.ImportMergeFiles
  • Editing.ImportSerializeFiles
  • Editing.ImportDistinctChannels

 Editing.NoteNameDisplay

  • Editing.Always
  • Editing.WithMIDNAM
  • Editing.Never

 LuaSignal.LuaSignal

  • LuaSignal.ConfigChanged
  • LuaSignal.EngineRunning
  • LuaSignal.EngineStopped
  • LuaSignal.EngineHalted
  • LuaSignal.EngineDeviceListChanged
  • LuaSignal.BufferSizeChanged
  • LuaSignal.SampleRateChanged
  • LuaSignal.FeedbackDetected
  • LuaSignal.SuccessfulGraphSort
  • LuaSignal.StartTimeChanged
  • LuaSignal.EndTimeChanged
  • LuaSignal.Exported
  • LuaSignal.Change
  • LuaSignal.SessionConfigChanged
  • LuaSignal.TransportStateChange
  • LuaSignal.DirtyChanged
  • LuaSignal.StateSaved
  • LuaSignal.Xrun
  • LuaSignal.TransportLooped
  • LuaSignal.SoloActive
  • LuaSignal.SoloChanged
  • LuaSignal.IsolatedChanged
  • LuaSignal.MonitorChanged
  • LuaSignal.RecordStateChanged
  • LuaSignal.RecordArmStateChanged
  • LuaSignal.AudioLoopLocationChanged
  • LuaSignal.AudioPunchLocationChanged
  • LuaSignal.LocationsModified
  • LuaSignal.AuditionActive
  • LuaSignal.BundleAddedOrRemoved
  • LuaSignal.PositionChanged
  • LuaSignal.Located
  • LuaSignal.RoutesReconnected
  • LuaSignal.RouteAdded
  • LuaSignal.RouteGroupPropertyChanged
  • LuaSignal.RouteAddedToRouteGroup
  • LuaSignal.RouteRemovedFromRouteGroup
  • LuaSignal.StepEditStatusChange
  • LuaSignal.RouteGroupAdded
  • LuaSignal.RouteGroupRemoved
  • LuaSignal.RouteGroupsReordered
  • LuaSignal.PluginListChanged
  • LuaSignal.PluginStatusChanged
  • LuaSignal.DiskOverrun
  • LuaSignal.DiskUnderrun
  • LuaSignal.RegionsPropertyChanged
  • LuaSignal.LuaTimerS
  • LuaSignal.LuaTimerDS
  • LuaSignal.SetSession
  • LuaSignal.SelectionChanged

Class Index

Ardour 8.6  -  Sat, 13 Apr 2024 20:08:17 +0200