Edit on GitHub

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 explicily 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 inhertis 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 boost::shared_ptr to manage lifetimes. The Lua bindings provide a complete abstration 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 boost::weak_ptr. As opposed to boost::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 inidicated 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 ()

 ARDOUR:Amp

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

is-a: ARDOUR:Processor

Applies a declick operation to all audio inputs, passing the same number of audio outputs, and passing through any other types unchanged.

Methods
GainControlgain_control ()
boolisnil ()

Inherited from ARDOUR:Processor

Methods
voidactivate ()
boolactive ()
voiddeactivate ()
std::stringdisplay_name ()
booldisplay_to_user ()
ChanCountinput_streams ()
ChanCountoutput_streams ()
Cast
Ampto_amp ()
Automatableto_automatable ()
PluginInsertto_insert ()
IOProcessorto_ioprocessor ()
PeakMeterto_meter ()
MonitorProcessorto_monitorprocessor ()
PeakMeterto_peakmeter ()
PluginInsertto_plugininsert ()
SideChainto_sidechain ()
UnknownProcessorto_unknownprocessor ()

Inherited from ARDOUR:SessionObjectPtr

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

 ARDOUR:AudioBackend

C‡: boost::shared_ptr< ARDOUR::AudioBackend >, boost::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

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

name
as the driver, non-zero otherwise.
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)
boolcheck_silence (unsigned int, unsigned int&)

check buffer for silence

nframes
number of frames 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 ()
floatget_dsp_load ()
std::stringget_last_backend_error ()
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)

 ARDOUR:AudioPlaylist

C‡: boost::shared_ptr< ARDOUR::AudioPlaylist >, boost::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 ()
longread (FloatArray, FloatArray, FloatArray, long, long, unsigned int)

Inherited from ARDOUR:Playlist

Methods
voidadd_region (Region, long, float, bool, int, double, bool)

Note: this calls set_layer (..., DBL_MAX) so it will reset the layering index of region

Regioncombine (RegionList)
unsigned intcount_regions_at (long)
Playlistcut (AudioRangeList&, bool)
DataTypedata_type ()
voidduplicate (Region, long, long, float)
gap
from the beginning of the region to the next beginning
voidduplicate_range (AudioRange&, float)
voidduplicate_until (Region, long, long, long)
gap
from the beginning of the region to the next beginning
end
the first frame that does _not_ contain a duplicated frame
Regionfind_next_region (long, RegionPoint, int)
longfind_next_region_boundary (long, int)
longfind_next_transient (long, int)
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 (long)
RegionListPtrregions_touched (long, long)
start
Range start.
end
Range end.

Returns regions which have some part within this range.

RegionListPtrregions_with_end_within (Range)
RegionListPtrregions_with_start_within (Range)
voidremove_region (Region)
voidsplit (long)
voidsplit_region (Region, MusicFrame)
Regiontop_region_at (long)
Regiontop_unmuted_region_at (long)
voiduncombine (Region)
Cast
AudioPlaylistto_audioplaylist ()
MidiPlaylistto_midiplaylist ()

Inherited from ARDOUR:SessionObjectPtr

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

 ARDOUR:AudioPort

C‡: boost::shared_ptr< ARDOUR::AudioPort >, boost::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 ()
std::stringname ()

Returns Port short name

std::stringpretty_name (bool)

Returns Port human readable name

boolreceives_input ()

Returns true if this Port receives input, otherwise false

boolsends_output ()

Returns true if this Port sends output, otherwise false

Cast
AudioPortto_audioport ()
MidiPortto_midiport ()

 ARDOUR:AudioRange

C‡: ARDOUR::AudioRange

Constructor
ARDOUR.AudioRange (long, long, unsigned int)
Methods
boolequal (AudioRange)
longlength ()
Data Members
longend
unsigned intid
longstart

 ARDOUR:AudioRangeList

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

Constructor
ARDOUR.AudioRangeList ()
Methods
AudioRangeback ()
boolempty ()
AudioRangefront ()
LuaIteriter ()
voidreverse ()
unsigned longsize ()
LuaTabletable ()

 ARDOUR:AudioRegion

C‡: boost::shared_ptr< ARDOUR::AudioRegion >, boost::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)
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.

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_scale_amplitude (float)

Inherited from ARDOUR:Region

Methods
boolat_natural_position ()
boolautomatic ()
boolcan_move ()
boolcaptured ()
voidclear_sync_position ()
Controlcontrol (Parameter, bool)
boolcovers (long)
voidcut_end (long, int)
voidcut_front (long, int)
DataTypedata_type ()
boolexternal ()
boolhas_transients ()
boolhidden ()
boolimport ()
boolis_compound ()
unsigned intlayer ()
longlength ()
boollocked ()
voidlower ()
voidlower_to_bottom ()
StringVectormaster_source_names ()
SourceListmaster_sources ()
voidmove_start (long, int)
voidmove_to_natural_position ()
boolmuted ()
unsigned intn_channels ()
voidnudge_position (long)
boolopaque ()
longposition ()

How the region parameters play together:

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

boolposition_locked ()
doublequarter_note ()
voidraise ()
voidraise_to_top ()
voidset_hidden (bool)
voidset_initial_position (long)

A gui may need to create a region, then place it in an initial position determined by the user. When this takes place within one gui operation, we have to reset _last_position to prevent an implied move.

voidset_length (long, int)
voidset_locked (bool)
voidset_muted (bool)
voidset_opaque (bool)
voidset_position (long, int)
voidset_position_locked (bool)
voidset_start (long)
voidset_sync_position (long)

Set the region's sync point.

absolute_pos
Session time.
voidset_video_locked (bool)
floatshift ()
Sourcesource (unsigned int)
longstart ()
floatstretch ()
boolsync_marked ()
LuaTable(long, ...)sync_offset (int&)
longsync_position ()

Returns Sync position in session time

Int64Listtransients ()
voidtrim_end (long, int)
voidtrim_front (long, int)
voidtrim_to (long, long, int)
boolvideo_locked ()
boolwhole_file ()
Cast
AudioRegionto_audioregion ()
MidiRegionto_midiregion ()
Readableto_readable ()

Inherited from ARDOUR:SessionObjectPtr

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

 ARDOUR:AudioSource

C‡: boost::shared_ptr< ARDOUR::AudioSource >, boost::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 ()
longlength (long)
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 ()
booldestructive ()
boolhas_been_analysed ()
longnatural_position ()
longtimeline_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‡: boost::shared_ptr< ARDOUR::AudioTrack >, boost::weak_ptr< ARDOUR::AudioTrack >

is-a: ARDOUR:Track

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

Specifically a track has regions and playlist objects.

Methods
boolisnil ()

Inherited from ARDOUR:Track

Methods
Regionbounce (InterThreadInfo&)

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)

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 ()
Playlistplaylist ()
boolset_name (std::string)
Cast
AudioTrackto_audio_track ()
MidiTrackto_midi_track ()

Inherited from ARDOUR:Route

Methods
boolactive ()
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 ()
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

IOinput ()
Deliverymain_outs ()

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

boolmuted ()
ChanCountn_inputs ()
ChanCountn_outputs ()
Processornth_plugin (unsigned int)
Processornth_processor (unsigned int)
Processornth_send (unsigned int)
IOoutput ()
PannerShellpanner_shell ()
PeakMeterpeak_meter ()

************************************************************* Pure interface begins here*************************************************************

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

voidset_active (bool, void*)
voidset_comment (std::string, void*)
voidset_meter_point (MeterPoint, bool)
boolset_strict_io (bool)
boolsoloed ()
boolstrict_io ()
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
Automatableto_automatable ()
Slavableto_slavable ()
Trackto_track ()

Inherited from ARDOUR:Stripable

Methods
AutomationControlcomp_enable_control ()
AutomationControlcomp_makeup_control ()
AutomationControlcomp_mode_control ()
std::stringcomp_mode_name (unsigned int)
ReadOnlyControlcomp_redux_control ()
AutomationControlcomp_speed_control ()
std::stringcomp_speed_name (unsigned int)
AutomationControlcomp_threshold_control ()
unsigned inteq_band_cnt ()
std::stringeq_band_name (unsigned int)
AutomationControleq_enable_control ()
AutomationControleq_freq_control (unsigned int)
AutomationControleq_gain_control (unsigned int)
AutomationControleq_q_control (unsigned int)
AutomationControleq_shape_control (unsigned int)
AutomationControlfilter_enable_controllable (bool)
AutomationControlfilter_freq_controllable (bool)
AutomationControlfilter_slope_controllable (bool)
GainControlgain_control ()
boolis_auditioner ()
boolis_hidden ()
boolis_master ()
boolis_monitor ()
boolis_selected ()
AutomationControlmaster_send_enable_control ()
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_control (unsigned int)
AutomationControlsend_level_control (unsigned int)
std::stringsend_name (unsigned int)
voidset_presentation_order (unsigned int)
SoloControlsolo_control ()
SoloIsolateControlsolo_isolate_control ()
SoloSafeControlsolo_safe_control ()
GainControltrim_control ()
Cast
Routeto_route ()
VCAto_vca ()

Inherited from ARDOUR:SessionObjectPtr

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

 ARDOUR:AudioTrackList

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

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

 ARDOUR:Automatable

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

is-a: Evoral:ControlSet

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

 ARDOUR:AutomatableSequence

C‡: boost::shared_ptr< ARDOUR::AutomatableSequence<Evoral::Beats> >, boost::weak_ptr< ARDOUR::AutomatableSequence<Evoral::Beats> >

is-a: ARDOUR:Automatable

Methods
boolisnil ()
Cast
Sequenceto_sequence ()

Inherited from ARDOUR:Automatable

Methods
AutomationControlautomation_control (Parameter, bool)
Cast
Slavableto_slavable ()

 ARDOUR:AutomationControl

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

is-a: PBD:Controllable

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

Methods
AutomationListalist ()
AutoStateautomation_state ()
doubleget_value ()

Get the current effective `user' value based on automation state

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

Get and 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.
voidstart_touch (double)
voidstop_touch (double)
boolwritable ()
Cast
Controlto_ctrl ()
SlavableAutomationControlto_slavable ()

Inherited from PBD:Controllable

Methods
std::stringname ()

Inherited from PBD:StatefulPtr

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 ARDOUR:AutomationList

C‡: boost::shared_ptr< ARDOUR::AutomationList >, boost::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 (double, double, bool, bool)

add automation events

when
absolute time in samples
value
parameter value
with_guards
if true, add guard-points
with_initial
if true, add an initial point if the list is empty
voidclear (double, double)

remove all automation events between the given time range

start
start of range (inclusive) in audio samples
end
end of range (inclusive) in audio samples
voidclear_list ()
doubleeval (double)

query value at given time (takes a read-lock, not safe while writing automation)

where
absolute time in samples

Returns parameter value

EventListevents ()
boolin_write_pass ()
InterpolationStyleinterpolation ()

query interpolation style of the automation data

Returns Interpolation Style

LuaTable(double, ...)rt_safe_eval (double, bool&)

realtime safe version of eval, may fail if read-lock cannot be taken

where
absolute time in samples
ok
boolean reference if returned value is valid

Returns parameter value

boolset_interpolation (InterpolationStyle)

set 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

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 (double)

truncate the event list after the given time

last_coordinate
last event to include
voidtruncate_start (double)

truncate the event list to the given time

overall_length
overall length

 ARDOUR:BackendVector

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

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

 ARDOUR:BeatsFramesConverter

C‡: ARDOUR::BeatsFramesConverter

Converter between quarter-note beats and frames. Takes distances in quarter-note beats or frames from some origin (supplied to the constructor in frames), and converts them to the opposite unit, taking tempo changes into account.

Constructor
ARDOUR.BeatsFramesConverter (TempoMap, long)
Methods
Beatsfrom (long)

Convert B time to A time (A from B)

longto (Beats)

Convert A time to B time (A to B)

 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
ChanCountcount ()
AudioBufferget_audio (unsigned long)
MidiBufferget_midi (unsigned long)

 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

type
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

count
number of channels
type
data type

 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

from
numeric source id
type
data type

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

from
numeric source id
to
buffer
type
data type

 ARDOUR:ControlList

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

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

 ARDOUR:ControlListPtr

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

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

 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, ChanMapping, ChanMapping, unsigned int, long, DataType)

 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

type
filter type (LowPass, HighPass, etc)
freq
filter frequency
Q
filter quality
gain
filter gain
voidconfigure (double, double, double, double, double)

setup filter, set coefficients directly

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

 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

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

Returns signal power at given bin (in dBFS)

voidset_data_hann (FloatArray, unsigned int, unsigned int)

 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
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:Delivery

C‡: boost::shared_ptr< ARDOUR::Delivery >, boost::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 ()
voiddeactivate ()
std::stringdisplay_name ()
booldisplay_to_user ()
ChanCountinput_streams ()
ChanCountoutput_streams ()
Cast
Ampto_amp ()
Automatableto_automatable ()
PluginInsertto_insert ()
IOProcessorto_ioprocessor ()
PeakMeterto_meter ()
MonitorProcessorto_monitorprocessor ()
PeakMeterto_peakmeter ()
PluginInsertto_plugininsert ()
SideChainto_sidechain ()
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)
boolempty ()
LuaIteriter ()
voidpush_back (DeviceStatus)
unsigned longsize ()
LuaTabletable ()

 ARDOUR:DoubleBeatsFramesConverter

C‡: ARDOUR::DoubleBeatsFramesConverter

Converter between quarter-note beats and frames. Takes distances in quarter-note beats or frames from some origin (supplied to the constructor in frames), and converts them to the opposite unit, taking tempo changes into account.

Constructor
ARDOUR.DoubleBeatsFramesConverter (TempoMap, long)
Methods
doublefrom (long)

Convert B time to A time (A from B)

longto (double)

Convert A time to B time (A to B)

 ARDOUR:EventList

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

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

 ARDOUR:FileSource

C‡: boost::shared_ptr< ARDOUR::FileSource >, boost::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 ()
booldestructive ()
boolempty ()
boolhas_been_analysed ()
longlength (long)
longnatural_position ()
longtimeline_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
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‡: boost::shared_ptr< ARDOUR::GainControl >, boost::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 ()
doubleget_value ()

Get the current effective `user' value based on automation state

voidset_automation_state (AutoState)
voidset_value (double, GroupControlDisposition)

Get and 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.
voidstart_touch (double)
voidstop_touch (double)
boolwritable ()
Cast
Controlto_ctrl ()
SlavableAutomationControlto_slavable ()

Inherited from PBD:Controllable

Methods
std::stringname ()

Inherited from PBD:StatefulPtr

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 ARDOUR:IO

C‡: boost::shared_ptr< ARDOUR::IO >, boost::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 ()
MidiPortmidi (unsigned int)
ChanCountn_ports ()
Portnth (unsigned int)
boolphysically_connected ()
Portport_by_name (unsigned int)
intremove_port (Port, void*)

Inherited from ARDOUR:SessionObjectPtr

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

 ARDOUR:IOProcessor

C‡: boost::shared_ptr< ARDOUR::IOProcessor >, boost::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 ()
voiddeactivate ()
std::stringdisplay_name ()
booldisplay_to_user ()
ChanCountinput_streams ()
ChanCountoutput_streams ()
Cast
Ampto_amp ()
Automatableto_automatable ()
PluginInsertto_insert ()
IOProcessorto_ioprocessor ()
PeakMeterto_meter ()
MonitorProcessorto_monitorprocessor ()
PeakMeterto_peakmeter ()
PluginInsertto_plugininsert ()
SideChainto_sidechain ()
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:Location

C‡: ARDOUR::Location

is-a: PBD:StatefulDestructible

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

Methods
longend ()
Flagsflags ()
boolis_auto_loop ()
boolis_auto_punch ()
boolis_cd_marker ()
boolis_hidden ()
boolis_mark ()
boolis_range_marker ()
boolis_session_range ()
longlength ()
voidlock ()
boollocked ()
boolmatches (Flags)
intmove_to (long, unsigned int)
std::stringname ()
intset_end (long, bool, bool, unsigned int)

Set end position.

force
true to force setting, even if the given new end is before the current start.
allow_beat_recompute
True to recompute BEAT end time from the new given end time.
s
New end.
intset_length (long, long, bool, unsigned int)
intset_start (long, bool, bool, unsigned int)

Set start position.

s
New start.
force
true to force setting, even if the given new start is after the current end.
allow_beat_recompute
True to recompute BEAT start time from the new given start time.
longstart ()
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
Locationauto_loop_location ()
Locationauto_punch_location ()
LuaTable(...)find_all_between (long, long, LocationList&, Flags)
longfirst_mark_after (long, bool)
Locationfirst_mark_at (long, long)
longfirst_mark_before (long, bool)
LocationListlist ()
LuaTable(...)marks_either_side (long, long&, long&)

Look for the `marks' (either locations which are marks, or start/end points of range markers) either side of a frame. Note that if frame is exactly on a `mark', that mark will not be considered for returning as before/after.

frame
Frame to look for.
before
Filled in with the position of the last `mark' before `frame' (or max_framepos if none exists)
after
Filled in with the position of the next `mark' after `frame' (or max_framepos if none exists)
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
...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)

LuaTable(float, ...)get_plugin_insert_param (PluginInsert, unsigned int, bool&)

get a plugin control parameter value

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.
proc
Plugin-Insert

Returns value

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)

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

create a new Lua Processor (Plugin)

s
Session Handle
p
Identifier or Name of the Processor

Returns Processor object (may be nil)

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

create a new Plugin Instance

s
Session Handle
id
Plugin Name, ID or URI
type
Plugin Type

Returns Processor or nil

PluginInfonew_plugin_info (std::string, PluginType)

search a Plugin

id
Plugin Name, ID or URI
type
Plugin Type

Returns PluginInfo or nil if not found

Processornil_proc ()
NotePtrListnote_list (MidiModel)
...plugin_automation (--lua--)

A convenience function to get a Automation Lists and ParamaterDescriptor 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, ParamaterDescriptor

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)

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.

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

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

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)

 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 Readable.

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

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

r
readable
channel
channel to process
fn
lua callback function

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 intialization 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‡: boost::shared_ptr< ARDOUR::LuaProc >, boost::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
IOPortDescriptiondescribe_io_port (DataType, bool, unsigned int)
std::stringget_docs ()
PluginInfoget_info ()
LuaTable(int, ...)get_parameter_descriptor (unsigned int, ParameterDescriptor&)
std::stringget_parameter_docs (unsigned int)
char*label ()
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)
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:Meter

C‡: ARDOUR::Meter

Meter, or time signature (beats per bar, and which note type is a beat).

Constructor
ARDOUR.Meter (double, double)
Methods
doubledivisions_per_bar ()
doubleframes_per_bar (Tempo, long)
doubleframes_per_grid (Tempo, long)
doublenote_divisor ()

 ARDOUR:MeterSection

C‡: ARDOUR::MeterSection

is-a: ARDOUR:MetricSection

A section of timeline with a certain Meter.

Methods
voidset_beat (double)
voidset_pulse (double)
Cast
Meterto_meter ()

Inherited from ARDOUR:MetricSection

Methods
doublepulse ()

 ARDOUR:MetricSection

C‡: ARDOUR::MetricSection

A section of timeline with a certain Tempo or Meter.

Methods
doublepulse ()
voidset_pulse (double)

 ARDOUR:MidiBuffer

C‡: ARDOUR::MidiBuffer

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

Methods
voidcopy (MidiBuffer)
boolempty ()
boolpush_back (long, 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‡: boost::shared_ptr< ARDOUR::MidiModel >, boost::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)
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_command is called and ownership is taken.

Inherited from ARDOUR:AutomatableSequence

Cast
Sequenceto_sequence ()

Inherited from ARDOUR:Automatable

Methods
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‡: boost::shared_ptr< ARDOUR::MidiPlaylist >, boost::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, long, float, bool, int, double, bool)

Note: this calls set_layer (..., DBL_MAX) so it will reset the layering index of region

Regioncombine (RegionList)
unsigned intcount_regions_at (long)
Playlistcut (AudioRangeList&, bool)
DataTypedata_type ()
voidduplicate (Region, long, long, float)
gap
from the beginning of the region to the next beginning
voidduplicate_range (AudioRange&, float)
voidduplicate_until (Region, long, long, long)
gap
from the beginning of the region to the next beginning
end
the first frame that does _not_ contain a duplicated frame
Regionfind_next_region (long, RegionPoint, int)
longfind_next_region_boundary (long, int)
longfind_next_transient (long, int)
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 (long)
RegionListPtrregions_touched (long, long)
start
Range start.
end
Range end.

Returns regions which have some part within this range.

RegionListPtrregions_with_end_within (Range)
RegionListPtrregions_with_start_within (Range)
voidremove_region (Region)
voidsplit (long)
voidsplit_region (Region, MusicFrame)
Regiontop_region_at (long)
Regiontop_unmuted_region_at (long)
voiduncombine (Region)
Cast
AudioPlaylistto_audioplaylist ()
MidiPlaylistto_midiplaylist ()

Inherited from ARDOUR:SessionObjectPtr

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

 ARDOUR:MidiPort

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

is-a: ARDOUR:Port

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

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 ()
std::stringname ()

Returns Port short name

std::stringpretty_name (bool)

Returns Port human readable name

boolreceives_input ()

Returns true if this Port receives input, otherwise false

boolsends_output ()

Returns true if this Port sends output, otherwise false

Cast
AudioPortto_audioport ()
MidiPortto_midiport ()

 ARDOUR:MidiRegion

C‡: boost::shared_ptr< ARDOUR::MidiRegion >, boost::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 ()
doublelength_beats ()
MidiSourcemidi_source (unsigned int)
MidiModelmodel ()
doublestart_beats ()

Inherited from ARDOUR:Region

Methods
boolat_natural_position ()
boolautomatic ()
boolcan_move ()
boolcaptured ()
voidclear_sync_position ()
Controlcontrol (Parameter, bool)
boolcovers (long)
voidcut_end (long, int)
voidcut_front (long, int)
DataTypedata_type ()
boolexternal ()
boolhas_transients ()
boolhidden ()
boolimport ()
boolis_compound ()
unsigned intlayer ()
longlength ()
boollocked ()
voidlower ()
voidlower_to_bottom ()
StringVectormaster_source_names ()
SourceListmaster_sources ()
voidmove_start (long, int)
voidmove_to_natural_position ()
boolmuted ()
unsigned intn_channels ()
voidnudge_position (long)
boolopaque ()
longposition ()

How the region parameters play together:

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

boolposition_locked ()
doublequarter_note ()
voidraise ()
voidraise_to_top ()
voidset_hidden (bool)
voidset_initial_position (long)

A gui may need to create a region, then place it in an initial position determined by the user. When this takes place within one gui operation, we have to reset _last_position to prevent an implied move.

voidset_length (long, int)
voidset_locked (bool)
voidset_muted (bool)
voidset_opaque (bool)
voidset_position (long, int)
voidset_position_locked (bool)
voidset_start (long)
voidset_sync_position (long)

Set the region's sync point.

absolute_pos
Session time.
voidset_video_locked (bool)
floatshift ()
Sourcesource (unsigned int)
longstart ()
floatstretch ()
boolsync_marked ()
LuaTable(long, ...)sync_offset (int&)
longsync_position ()

Returns Sync position in session time

Int64Listtransients ()
voidtrim_end (long, int)
voidtrim_front (long, int)
voidtrim_to (long, long, int)
boolvideo_locked ()
boolwhole_file ()
Cast
AudioRegionto_audioregion ()
MidiRegionto_midiregion ()
Readableto_readable ()

Inherited from ARDOUR:SessionObjectPtr

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

 ARDOUR:MidiSource

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

is-a: ARDOUR:Source

Source for MIDI data

Methods
boolempty ()
boolisnil ()
longlength (long)
MidiModelmodel ()

Inherited from ARDOUR:Source

Methods
std::stringancestor_name ()
boolcan_be_analysed ()
booldestructive ()
boolhas_been_analysed ()
longnatural_position ()
longtimeline_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‡: boost::shared_ptr< ARDOUR::MidiTrack >, boost::weak_ptr< ARDOUR::MidiTrack >

is-a: ARDOUR:Track

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

Specifically a track has regions and playlist objects.

Methods
boolisnil ()

Inherited from ARDOUR:Track

Methods
Regionbounce (InterThreadInfo&)

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)

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 ()
Playlistplaylist ()
boolset_name (std::string)
Cast
AudioTrackto_audio_track ()
MidiTrackto_midi_track ()

Inherited from ARDOUR:Route

Methods
boolactive ()
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 ()
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

IOinput ()
Deliverymain_outs ()

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

boolmuted ()
ChanCountn_inputs ()
ChanCountn_outputs ()
Processornth_plugin (unsigned int)
Processornth_processor (unsigned int)
Processornth_send (unsigned int)
IOoutput ()
PannerShellpanner_shell ()
PeakMeterpeak_meter ()

************************************************************* Pure interface begins here*************************************************************

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

voidset_active (bool, void*)
voidset_comment (std::string, void*)
voidset_meter_point (MeterPoint, bool)
boolset_strict_io (bool)
boolsoloed ()
boolstrict_io ()
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
Automatableto_automatable ()
Slavableto_slavable ()
Trackto_track ()

Inherited from ARDOUR:Stripable

Methods
AutomationControlcomp_enable_control ()
AutomationControlcomp_makeup_control ()
AutomationControlcomp_mode_control ()
std::stringcomp_mode_name (unsigned int)
ReadOnlyControlcomp_redux_control ()
AutomationControlcomp_speed_control ()
std::stringcomp_speed_name (unsigned int)
AutomationControlcomp_threshold_control ()
unsigned inteq_band_cnt ()
std::stringeq_band_name (unsigned int)
AutomationControleq_enable_control ()
AutomationControleq_freq_control (unsigned int)
AutomationControleq_gain_control (unsigned int)
AutomationControleq_q_control (unsigned int)
AutomationControleq_shape_control (unsigned int)
AutomationControlfilter_enable_controllable (bool)
AutomationControlfilter_freq_controllable (bool)
AutomationControlfilter_slope_controllable (bool)
GainControlgain_control ()
boolis_auditioner ()
boolis_hidden ()
boolis_master ()
boolis_monitor ()
boolis_selected ()
AutomationControlmaster_send_enable_control ()
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_control (unsigned int)
AutomationControlsend_level_control (unsigned int)
std::stringsend_name (unsigned int)
voidset_presentation_order (unsigned int)
SoloControlsolo_control ()
SoloIsolateControlsolo_isolate_control ()
SoloSafeControlsolo_safe_control ()
GainControltrim_control ()
Cast
Routeto_route ()
VCAto_vca ()

Inherited from ARDOUR:SessionObjectPtr

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

 ARDOUR:MidiTrackList

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

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

 ARDOUR:MonitorProcessor

C‡: boost::shared_ptr< ARDOUR::MonitorProcessor >, boost::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 ()
voiddeactivate ()
std::stringdisplay_name ()
booldisplay_to_user ()
ChanCountinput_streams ()
ChanCountoutput_streams ()
Cast
Ampto_amp ()
Automatableto_automatable ()
PluginInsertto_insert ()
IOProcessorto_ioprocessor ()
PeakMeterto_meter ()
MonitorProcessorto_monitorprocessor ()
PeakMeterto_peakmeter ()
PluginInsertto_plugininsert ()
SideChainto_sidechain ()
UnknownProcessorto_unknownprocessor ()

Inherited from ARDOUR:SessionObjectPtr

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

 ARDOUR:MusicFrame

C‡: ARDOUR::MusicFrame

Constructor
ARDOUR.MusicFrame (long, int)
Methods
voidset (long, int)
Data Members
intdivision
longframe

 ARDOUR:MuteControl

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

is-a: ARDOUR:SlavableAutomationControl

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

Methods
boolisnil ()
boolmuted ()
boolmuted_by_self ()

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 ()
doubleget_value ()

Get the current effective `user' value based on automation state

voidset_automation_state (AutoState)
voidset_value (double, GroupControlDisposition)

Get and 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.
voidstart_touch (double)
voidstop_touch (double)
boolwritable ()
Cast
Controlto_ctrl ()
SlavableAutomationControlto_slavable ()

Inherited from PBD:Controllable

Methods
std::stringname ()

Inherited from PBD:StatefulPtr

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 ARDOUR:NotePtrList

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

Constructor
ARDOUR.NotePtrList ()
Methods
LuaTableadd (LuaTable {Beats})
NotePtrback ()
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:PannerShell

C‡: boost::shared_ptr< ARDOUR::PannerShell >, boost::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
std::stringlabel

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

booltoggled

True iff parameter is boolean

floatupper

Maximum value (in Hz, for frequencies)

 ARDOUR:PeakMeter

C‡: boost::shared_ptr< ARDOUR::PeakMeter >, boost::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)
voidreset_max ()
voidset_type (MeterType)

Inherited from ARDOUR:Processor

Methods
voidactivate ()
boolactive ()
voiddeactivate ()
std::stringdisplay_name ()
booldisplay_to_user ()
ChanCountinput_streams ()
ChanCountoutput_streams ()
Cast
Ampto_amp ()
Automatableto_automatable ()
PluginInsertto_insert ()
IOProcessorto_ioprocessor ()
PeakMeterto_meter ()
MonitorProcessorto_monitorprocessor ()
PeakMeterto_peakmeter ()
PluginInsertto_plugininsert ()
SideChainto_sidechain ()
UnknownProcessorto_unknownprocessor ()

Inherited from ARDOUR:SessionObjectPtr

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

 ARDOUR:PhaseControl

C‡: boost::shared_ptr< ARDOUR::PhaseControl >, boost::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 ()
doubleget_value ()

Get the current effective `user' value based on automation state

voidset_automation_state (AutoState)
voidset_value (double, GroupControlDisposition)

Get and 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.
voidstart_touch (double)
voidstop_touch (double)
boolwritable ()
Cast
Controlto_ctrl ()
SlavableAutomationControlto_slavable ()

Inherited from PBD:Controllable

Methods
std::stringname ()

Inherited from PBD:StatefulPtr

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 ARDOUR:Playlist

C‡: boost::shared_ptr< ARDOUR::Playlist >, boost::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, long, float, bool, int, double, bool)

Note: this calls set_layer (..., DBL_MAX) so it will reset the layering index of region

Regioncombine (RegionList)
unsigned intcount_regions_at (long)
Playlistcut (AudioRangeList&, bool)
DataTypedata_type ()
voidduplicate (Region, long, long, float)
gap
from the beginning of the region to the next beginning
voidduplicate_range (AudioRange&, float)
voidduplicate_until (Region, long, long, long)
gap
from the beginning of the region to the next beginning
end
the first frame that does _not_ contain a duplicated frame
Regionfind_next_region (long, RegionPoint, int)
longfind_next_region_boundary (long, int)
longfind_next_transient (long, int)
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 (long)
RegionListPtrregions_touched (long, long)
start
Range start.
end
Range end.

Returns regions which have some part within this range.

RegionListPtrregions_with_end_within (Range)
RegionListPtrregions_with_start_within (Range)
voidremove_region (Region)
voidsplit (long)
voidsplit_region (Region, MusicFrame)
Regiontop_region_at (long)
Regiontop_unmuted_region_at (long)
voiduncombine (Region)
Cast
AudioPlaylistto_audioplaylist ()
MidiPlaylistto_midiplaylist ()

Inherited from ARDOUR:SessionObjectPtr

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

 ARDOUR:Plugin

C‡: boost::shared_ptr< ARDOUR::Plugin >, boost::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
IOPortDescriptiondescribe_io_port (DataType, bool, unsigned int)
std::stringget_docs ()
PluginInfoget_info ()
LuaTable(int, ...)get_parameter_descriptor (unsigned int, ParameterDescriptor&)
std::stringget_parameter_docs (unsigned int)
boolisnil ()
char*label ()
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)
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‡: boost::shared_ptr< ARDOUR::PluginInsert::PluginControl >, boost::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 ()
doubleget_value ()

Get the current effective `user' value based on automation state

voidset_automation_state (AutoState)
voidset_value (double, GroupControlDisposition)

Get and 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.
voidstart_touch (double)
voidstop_touch (double)
boolwritable ()
Cast
Controlto_ctrl ()
SlavableAutomationControlto_slavable ()

Inherited from PBD:Controllable

Methods
std::stringname ()

Inherited from PBD:StatefulPtr

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 ARDOUR:PluginInfo

C‡: boost::shared_ptr< ARDOUR::PluginInfo >, boost::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.PluginTypetype
std::stringunique_id

 ARDOUR:PluginInsert

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

is-a: ARDOUR:Processor

Plugin inserts: send data through a plugin

Methods
voidactivate ()
voiddeactivate ()
ChanMappinginput_map (unsigned int)
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)
boolstrict_io_configured ()

Inherited from ARDOUR:Processor

Methods
boolactive ()
std::stringdisplay_name ()
booldisplay_to_user ()
ChanCountinput_streams ()
ChanCountoutput_streams ()
Cast
Ampto_amp ()
Automatableto_automatable ()
PluginInsertto_insert ()
IOProcessorto_ioprocessor ()
PeakMeterto_meter ()
MonitorProcessorto_monitorprocessor ()
PeakMeterto_peakmeter ()
PluginInsertto_plugininsert ()
SideChainto_sidechain ()
UnknownProcessorto_unknownprocessor ()

Inherited from ARDOUR:SessionObjectPtr

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

 ARDOUR:Port

C‡: boost::shared_ptr< ARDOUR::Port >, boost::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 ()
boolisnil ()
std::stringname ()

Returns Port short name

std::stringpretty_name (bool)

Returns Port human readable name

boolreceives_input ()

Returns true if this Port receives input, otherwise false

boolsends_output ()

Returns true if this Port sends output, otherwise false

Cast
AudioPortto_audioport ()
MidiPortto_midiport ()

 ARDOUR:PortEngine

C‡: ARDOUR::PortEngine

PortEngine is an abstract base class that defines the functionality required by Ardour.

A Port is basically an endpoint for a datastream (which can either be continuous, like audio, or event-based, like MIDI). Ports have buffers associated with them into which data can be written (if they are output ports) and from which data can be read (if they input ports). Ports can be connected together so that data written to an output port can be read from an input port. These connections can be 1:1, 1:N OR N:1.

Ports may be associated with software only, or with hardware. Hardware related ports are often referred to as physical, and correspond to some relevant physical entity on a hardware device, such as an audio jack or a MIDI connector. Physical ports may be potentially asked to monitor their inputs, though some implementations may not support this.

Most physical ports will also be considered "terminal", which means that data delivered there or read from there will go to or comes from a system outside of the PortEngine implementation's control (e.g. the analog domain for audio, or external MIDI devices for MIDI). Non-physical ports can also be considered "terminal". For example, the output port of a software synthesizer is a terminal port, because the data contained in its buffer does not and cannot be considered to come from any other port - it is synthesized by its owner.

Ports also have latency associated with them. Each port has a playback latency and a capture latency:

capture latency: how long since the data read from the buffer of a port arrived at at a terminal port. The data will have come from the "outside world" if the terminal port is also physical, or will have been synthesized by the entity that owns the terminal port.

playback latency: how long until the data written to the buffer of port will reach a terminal port.

For more detailed questions about the PortEngine API, consult the JACK API documentation, on which this entire object is based.

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

 ARDOUR:PortList

C‡: std::list<boost::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)

 ARDOUR:PortSet

C‡: boost::shared_ptr< ARDOUR::PortSet >, boost::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)
boolempty ()
LuaIteriter ()
voidpush_back (PresetRecord)
unsigned longsize ()
LuaTabletable ()

 ARDOUR:Processor

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

is-a: ARDOUR:SessionObjectPtr

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

Methods
voidactivate ()
boolactive ()
voiddeactivate ()
std::stringdisplay_name ()
booldisplay_to_user ()
ChanCountinput_streams ()
boolisnil ()
ChanCountoutput_streams ()
Cast
Ampto_amp ()
Automatableto_automatable ()
PluginInsertto_insert ()
IOProcessorto_ioprocessor ()
PeakMeterto_meter ()
MonitorProcessorto_monitorprocessor ()
PeakMeterto_peakmeter ()
PluginInsertto_plugininsert ()
SideChainto_sidechain ()
UnknownProcessorto_unknownprocessor ()

Inherited from ARDOUR:SessionObjectPtr

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

 ARDOUR:ProcessorList

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

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

 ARDOUR:ProcessorVector

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

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

 ARDOUR:Progress

C‡: ARDOUR::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.

 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:FrameposProperty

C‡: PBD::PropertyDescriptor<long>

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)
boolcontainsFramePos (FrameposProperty)

 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 ()
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 ()
boolget_copy_demo_sessions ()
boolget_create_xrun_marker ()
FadeShapeget_default_fade_shape ()
std::stringget_default_session_parent_dir ()
DenormalModelget_denormal_model ()
boolget_denormal_protection ()
boolget_disable_disarm_during_roll ()
boolget_discover_audio_units ()
boolget_discover_vst_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 ()
std::stringget_freesound_download_dir ()
boolget_hide_dummy_backend ()
boolget_hiding_groups_deactivates_groups ()
intget_history_depth ()
intget_initial_program_change ()
AutoConnectOptionget_input_auto_connect ()
intget_inter_scene_gap_frames ()
boolget_latched_record_enable ()
LayerModelget_layer_model ()
boolget_link_send_and_route_panner ()
std::stringget_linux_pingback_url ()
ListenPositionget_listen_position ()
boolget_locate_while_waiting_for_sync ()
boolget_loop_is_mode ()
std::stringget_ltc_output_port ()
floatget_ltc_output_volume ()
boolget_ltc_send_continuously ()
std::stringget_ltc_source_port ()
floatget_max_gain ()
unsigned intget_max_recent_sessions ()
unsigned intget_max_recent_templates ()
floatget_meter_falloff ()
MeterTypeget_meter_type_bus ()
MeterTypeget_meter_type_master ()
MeterTypeget_meter_type_track ()
std::stringget_midi_audition_synth_uri ()
boolget_midi_feedback ()
boolget_midi_input_follows_selection ()
floatget_midi_readahead ()
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_new_plugins_active ()
unsigned intget_osc_port ()
std::stringget_osx_pingback_url ()
AutoConnectOptionget_output_auto_connect ()
unsigned intget_periodic_safety_backup_interval ()
boolget_periodic_safety_backups ()
PFLPositionget_pfl_position ()
std::stringget_plugin_path_lxvst ()
std::stringget_plugin_path_vst ()
boolget_plugins_stop_with_transport ()
longget_postroll ()
longget_preroll ()
floatget_preroll_seconds ()
intget_processor_usage ()
boolget_quieten_at_speed ()
longget_range_location_minimum ()
std::stringget_reference_manual_url ()
boolget_region_boundaries_from_onscreen_tracks ()
boolget_region_boundaries_from_selected_tracks ()
RegionSelectionAfterSplitget_region_selection_after_split ()
boolget_replicate_missing_region_channels ()
floatget_rf_speed ()
boolget_save_history ()
intget_saved_history_depth ()
boolget_seamless_loop ()
boolget_send_ltc ()
boolget_send_midi_clock ()
boolget_send_mmc ()
boolget_send_mtc ()
boolget_show_solo_mutes ()
boolget_show_video_export_info ()
boolget_show_video_server_dialog ()
ShuttleBehaviourget_shuttle_behaviour ()
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 ()
SyncSourceget_sync_source ()
boolget_tape_machine_mode ()
boolget_timecode_source_2997 ()
boolget_timecode_source_is_synced ()
boolget_timecode_sync_frame_rate ()
boolget_trace_midi_input ()
boolget_trace_midi_output ()
TracksAutoNamingRuleget_tracks_auto_naming ()
floatget_transient_sensitivity ()
boolget_try_autostart_engine ()
std::stringget_tutorial_manual_url ()
std::stringget_updates_url ()
boolget_use_click_emphasis ()
boolget_use_lxvst ()
boolget_use_macvst ()
boolget_use_monitor_bus ()
boolget_use_osc ()
boolget_use_overlap_equivalency ()
boolget_use_plugin_own_gui ()
boolget_use_tranzport ()
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 ()
intget_vst_scan_timeout ()
std::stringget_windows_pingback_url ()
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_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_copy_demo_sessions (bool)
boolset_create_xrun_marker (bool)
boolset_default_fade_shape (FadeShape)
boolset_default_session_parent_dir (std::string)
boolset_denormal_model (DenormalModel)
boolset_denormal_protection (bool)
boolset_disable_disarm_during_roll (bool)
boolset_discover_audio_units (bool)
boolset_discover_vst_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_freesound_download_dir (std::string)
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_frames (int)
boolset_latched_record_enable (bool)
boolset_layer_model (LayerModel)
boolset_link_send_and_route_panner (bool)
boolset_linux_pingback_url (std::string)
boolset_listen_position (ListenPosition)
boolset_locate_while_waiting_for_sync (bool)
boolset_loop_is_mode (bool)
boolset_ltc_output_port (std::string)
boolset_ltc_output_volume (float)
boolset_ltc_send_continuously (bool)
boolset_ltc_source_port (std::string)
boolset_max_gain (float)
boolset_max_recent_sessions (unsigned int)
boolset_max_recent_templates (unsigned int)
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_feedback (bool)
boolset_midi_input_follows_selection (bool)
boolset_midi_readahead (float)
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_new_plugins_active (bool)
boolset_osc_port (unsigned int)
boolset_osx_pingback_url (std::string)
boolset_output_auto_connect (AutoConnectOption)
boolset_periodic_safety_backup_interval (unsigned int)
boolset_periodic_safety_backups (bool)
boolset_pfl_position (PFLPosition)
boolset_plugin_path_lxvst (std::string)
boolset_plugin_path_vst (std::string)
boolset_plugins_stop_with_transport (bool)
boolset_postroll (long)
boolset_preroll (long)
boolset_preroll_seconds (float)
boolset_processor_usage (int)
boolset_quieten_at_speed (bool)
boolset_range_location_minimum (long)
boolset_reference_manual_url (std::string)
boolset_region_boundaries_from_onscreen_tracks (bool)
boolset_region_boundaries_from_selected_tracks (bool)
boolset_region_selection_after_split (RegionSelectionAfterSplit)
boolset_replicate_missing_region_channels (bool)
boolset_rf_speed (float)
boolset_save_history (bool)
boolset_saved_history_depth (int)
boolset_seamless_loop (bool)
boolset_send_ltc (bool)
boolset_send_midi_clock (bool)
boolset_send_mmc (bool)
boolset_send_mtc (bool)
boolset_show_solo_mutes (bool)
boolset_show_video_export_info (bool)
boolset_show_video_server_dialog (bool)
boolset_shuttle_behaviour (ShuttleBehaviour)
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_sync_source (SyncSource)
boolset_tape_machine_mode (bool)
boolset_timecode_source_2997 (bool)
boolset_timecode_source_is_synced (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_try_autostart_engine (bool)
boolset_tutorial_manual_url (std::string)
boolset_updates_url (std::string)
boolset_use_click_emphasis (bool)
boolset_use_lxvst (bool)
boolset_use_macvst (bool)
boolset_use_monitor_bus (bool)
boolset_use_osc (bool)
boolset_use_overlap_equivalency (bool)
boolset_use_plugin_own_gui (bool)
boolset_use_tranzport (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_vst_scan_timeout (int)
boolset_windows_pingback_url (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
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
boolcopy_demo_sessions
boolcreate_xrun_marker
ARDOUR.FadeShapedefault_fade_shape
std::stringdefault_session_parent_dir
ARDOUR.DenormalModeldenormal_model
booldenormal_protection
booldisable_disarm_during_roll
booldiscover_audio_units
booldiscover_vst_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
std::stringfreesound_download_dir
boolhide_dummy_backend
boolhiding_groups_deactivates_groups
inthistory_depth
intinitial_program_change
ARDOUR.AutoConnectOptioninput_auto_connect
intinter_scene_gap_frames
boollatched_record_enable
ARDOUR.LayerModellayer_model
boollink_send_and_route_panner
std::stringlinux_pingback_url
ARDOUR.ListenPositionlisten_position
boollocate_while_waiting_for_sync
boolloop_is_mode
std::stringltc_output_port
floatltc_output_volume
boolltc_send_continuously
std::stringltc_source_port
floatmax_gain
unsigned intmax_recent_sessions
unsigned intmax_recent_templates
floatmeter_falloff
ARDOUR.MeterTypemeter_type_bus
ARDOUR.MeterTypemeter_type_master
ARDOUR.MeterTypemeter_type_track
std::stringmidi_audition_synth_uri
boolmidi_feedback
boolmidi_input_follows_selection
floatmidi_readahead
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
boolnew_plugins_active
unsigned intosc_port
std::stringosx_pingback_url
ARDOUR.AutoConnectOptionoutput_auto_connect
unsigned intperiodic_safety_backup_interval
boolperiodic_safety_backups
ARDOUR.PFLPositionpfl_position
std::stringplugin_path_lxvst
std::stringplugin_path_vst
boolplugins_stop_with_transport
longpostroll
longpreroll
floatpreroll_seconds
intprocessor_usage
boolquieten_at_speed
longrange_location_minimum
std::stringreference_manual_url
boolregion_boundaries_from_onscreen_tracks
boolregion_boundaries_from_selected_tracks
ARDOUR.RegionSelectionAfterSplitregion_selection_after_split
boolreplicate_missing_region_channels
floatrf_speed
boolsave_history
intsaved_history_depth
boolseamless_loop
boolsend_ltc
boolsend_midi_clock
boolsend_mmc
boolsend_mtc
boolshow_solo_mutes
boolshow_video_export_info
boolshow_video_server_dialog
ARDOUR.ShuttleBehaviourshuttle_behaviour
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
ARDOUR.SyncSourcesync_source
booltape_machine_mode
booltimecode_source_2997
booltimecode_source_is_synced
booltimecode_sync_frame_rate
booltrace_midi_input
booltrace_midi_output
ARDOUR.TracksAutoNamingRuletracks_auto_naming
floattransient_sensitivity
booltry_autostart_engine
std::stringtutorial_manual_url
std::stringupdates_url
booluse_click_emphasis
booluse_lxvst
booluse_macvst
booluse_monitor_bus
booluse_osc
booluse_overlap_equivalency
booluse_plugin_own_gui
booluse_tranzport
booluse_windows_vst
boolverbose_plugin_scan
boolverify_remove_last_capture
boolvideo_advanced_setup
std::stringvideo_server_docroot
std::stringvideo_server_url
intvst_scan_timeout
std::stringwindows_pingback_url

Inherited from PBD:Stateful

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 ARDOUR:ReadOnlyControl

C‡: boost::shared_ptr< ARDOUR::ReadOnlyControl >, boost::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‡: boost::shared_ptr< ARDOUR::Readable >, boost::weak_ptr< ARDOUR::Readable >

Methods
boolisnil ()
unsigned intn_channels ()
longread (FloatArray, long, long, int)
longreadable_length ()

 ARDOUR:Region

C‡: boost::shared_ptr< ARDOUR::Region >, boost::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 ()
voidclear_sync_position ()
Controlcontrol (Parameter, bool)
boolcovers (long)
voidcut_end (long, int)
voidcut_front (long, int)
DataTypedata_type ()
boolexternal ()
boolhas_transients ()
boolhidden ()
boolimport ()
boolis_compound ()
boolisnil ()
unsigned intlayer ()
longlength ()
boollocked ()
voidlower ()
voidlower_to_bottom ()
StringVectormaster_source_names ()
SourceListmaster_sources ()
voidmove_start (long, int)
voidmove_to_natural_position ()
boolmuted ()
unsigned intn_channels ()
voidnudge_position (long)
boolopaque ()
longposition ()

How the region parameters play together:

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

boolposition_locked ()
doublequarter_note ()
voidraise ()
voidraise_to_top ()
voidset_hidden (bool)
voidset_initial_position (long)

A gui may need to create a region, then place it in an initial position determined by the user. When this takes place within one gui operation, we have to reset _last_position to prevent an implied move.

voidset_length (long, int)
voidset_locked (bool)
voidset_muted (bool)
voidset_opaque (bool)
voidset_position (long, int)
voidset_position_locked (bool)
voidset_start (long)
voidset_sync_position (long)

Set the region's sync point.

absolute_pos
Session time.
voidset_video_locked (bool)
floatshift ()
Sourcesource (unsigned int)
longstart ()
floatstretch ()
boolsync_marked ()
LuaTable(long, ...)sync_offset (int&)
longsync_position ()

Returns Sync position in session time

Int64Listtransients ()
voidtrim_end (long, int)
voidtrim_front (long, int)
voidtrim_to (long, long, int)
boolvideo_locked ()
boolwhole_file ()
Cast
AudioRegionto_audioregion ()
MidiRegionto_midiregion ()
Readableto_readable ()

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<boost::shared_ptr<ARDOUR::Region> >

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

 ARDOUR:RegionListPtr

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

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

 ARDOUR:RegionMap

C‡: std::map<PBD::ID, boost::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<boost::shared_ptr<ARDOUR::Region> >

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

 ARDOUR:Route

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

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
boolactive ()
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 ()
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

IOinput ()
boolisnil ()
Deliverymain_outs ()

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

boolmuted ()
ChanCountn_inputs ()
ChanCountn_outputs ()
Processornth_plugin (unsigned int)
Processornth_processor (unsigned int)
Processornth_send (unsigned int)
IOoutput ()
PannerShellpanner_shell ()
PeakMeterpeak_meter ()

************************************************************* Pure interface begins here*************************************************************

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

voidset_active (bool, void*)
voidset_comment (std::string, void*)
voidset_meter_point (MeterPoint, bool)
boolset_name (std::string)
boolset_strict_io (bool)
boolsoloed ()
boolstrict_io ()
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
Automatableto_automatable ()
Slavableto_slavable ()
Trackto_track ()

Inherited from ARDOUR:Stripable

Methods
AutomationControlcomp_enable_control ()
AutomationControlcomp_makeup_control ()
AutomationControlcomp_mode_control ()
std::stringcomp_mode_name (unsigned int)
ReadOnlyControlcomp_redux_control ()
AutomationControlcomp_speed_control ()
std::stringcomp_speed_name (unsigned int)
AutomationControlcomp_threshold_control ()
unsigned inteq_band_cnt ()
std::stringeq_band_name (unsigned int)
AutomationControleq_enable_control ()
AutomationControleq_freq_control (unsigned int)
AutomationControleq_gain_control (unsigned int)
AutomationControleq_q_control (unsigned int)
AutomationControleq_shape_control (unsigned int)
AutomationControlfilter_enable_controllable (bool)
AutomationControlfilter_freq_controllable (bool)
AutomationControlfilter_slope_controllable (bool)
GainControlgain_control ()
boolis_auditioner ()
boolis_hidden ()
boolis_master ()
boolis_monitor ()
boolis_selected ()
AutomationControlmaster_send_enable_control ()
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_control (unsigned int)
AutomationControlsend_level_control (unsigned int)
std::stringsend_name (unsigned int)
voidset_presentation_order (unsigned int)
SoloControlsolo_control ()
SoloIsolateControlsolo_isolate_control ()
SoloSafeControlsolo_safe_control ()
GainControltrim_control ()
Cast
Routeto_route ()
VCAto_vca ()

Inherited from ARDOUR:SessionObjectPtr

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

 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<boost::shared_ptr<ARDOUR::Route> >

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

 ARDOUR:RouteListPtr

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

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

 ARDOUR:Session

C‡: ARDOUR::Session

Ardour Session

Methods
voidabort_reversible_command ()

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

boolactively_recording ()
voidadd_command (Command)
voidadd_internal_sends (Route, Placement, RouteListPtr)
intadd_master_bus (ChanCount)
voidadd_monitor_section ()
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)

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
voidcancel_all_solo ()
SessionConfigurationcfg ()
voidclear_all_solo_state (RouteListPtr)
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_frame ()
longcurrent_start_frame ()
voiddisable_record (bool, bool)
boolend_is_free ()
AudioEngineengine ()
boolexport_track_state (RouteListPtr, std::string)
longframe_rate ()

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

unsigned intget_block_size ()
boolget_play_loop ()
Routeget_remote_nth_route (unsigned int)
Stripableget_remote_nth_stripable (unsigned int, Flag)
RouteListPtrget_routes ()
BufferSetget_scratch_buffers (ChanCount, bool)
BufferSetget_silent_buffers (ChanCount)
StripableListget_stripables ()
RouteListPtrget_tracks ()
voidgoto_end ()
voidgoto_start (bool)
longlast_transport_start ()
boollistening ()
Locationslocations ()
Routemaster_out ()
voidmaybe_enable_record (bool)
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)
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)
RouteListnew_route_from_template (unsigned int, unsigned int, std::string, std::string, PlaylistDisposition)
RouteGroupnew_route_group (std::string)
longnominal_frame_rate ()

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

std::stringpath ()
Processorprocessor_by_id (ID)
RecordStaterecord_status ()
voidremove_monitor_section ()
voidremove_route_group (RouteGroup)
voidrequest_locate (long, bool)
voidrequest_play_loop (bool, bool)
voidrequest_stop (bool, bool)
voidrequest_transport_speed (double, bool)
Routeroute_by_id (ID)
Routeroute_by_name (std::string)
Routeroute_by_selected_count (unsigned int)
RouteGroupListroute_groups ()
...sample_to_timecode_lua (--lua--)
doublesamples_per_timecode_frame ()
intsave_state (std::string, 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)

Returns zero on success

voidscripts_changed ()
voidset_control (AutomationControl, double, GroupControlDisposition)
voidset_controls (ControlListPtr, double, GroupControlDisposition)
voidset_dirty ()
voidset_end_is_free (bool)
voidset_exclusive_input_active (RouteListPtr, bool, bool)
std::stringsnap_name ()
boolsolo_isolated ()
boolsoloing ()
Sourcesource_by_id (ID)
TempoMaptempo_map ()
booltimecode_drop_frames ()
longtimecode_frames_per_hour ()
doubletimecode_frames_per_second ()
...timecode_to_sample_lua (--lua--)
Tracktrack_by_diskstream_id (ID)
longtransport_frame ()
booltransport_rolling ()
doubletransport_speed ()
StringListunknown_processors ()
VCAManagervca_manager ()
longworst_input_latency ()
longworst_output_latency ()
longworst_playback_latency ()
longworst_track_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 ()
unsigned intget_destructive_xfade_msecs ()
boolget_external_sync ()
boolget_glue_new_markers_to_bars_and_beats ()
boolget_glue_new_regions_to_bars_and_beats ()
InsertMergePolicyget_insert_merge_policy ()
boolget_jack_time_master ()
boolget_layered_record_mode ()
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 ()
MonitorChoiceget_session_monitoring ()
boolget_show_busses_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_use_monitor_fades ()
boolget_use_region_fades ()
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_destructive_xfade_msecs (unsigned int)
boolset_external_sync (bool)
boolset_glue_new_markers_to_bars_and_beats (bool)
boolset_glue_new_regions_to_bars_and_beats (bool)
boolset_insert_merge_policy (InsertMergePolicy)
boolset_jack_time_master (bool)
boolset_layered_record_mode (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_session_monitoring (MonitorChoice)
boolset_show_busses_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_use_monitor_fades (bool)
boolset_use_region_fades (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
unsigned intdestructive_xfade_msecs
boolexternal_sync
boolglue_new_markers_to_bars_and_beats
boolglue_new_regions_to_bars_and_beats
ARDOUR.InsertMergePolicyinsert_merge_policy
booljack_time_master
boollayered_record_mode
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.MonitorChoicesession_monitoring
boolshow_busses_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
booluse_monitor_fades
booluse_region_fades
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‡: boost::shared_ptr< ARDOUR::SessionObject >, boost::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:SideChain

C‡: boost::shared_ptr< ARDOUR::SideChain >, boost::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 ()
voiddeactivate ()
std::stringdisplay_name ()
booldisplay_to_user ()
ChanCountinput_streams ()
ChanCountoutput_streams ()
Cast
Ampto_amp ()
Automatableto_automatable ()
PluginInsertto_insert ()
IOProcessorto_ioprocessor ()
PeakMeterto_meter ()
MonitorProcessorto_monitorprocessor ()
PeakMeterto_peakmeter ()
PluginInsertto_plugininsert ()
SideChainto_sidechain ()
UnknownProcessorto_unknownprocessor ()

Inherited from ARDOUR:SessionObjectPtr

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

 ARDOUR:Slavable

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

Methods
voidassign (VCA)
boolisnil ()
voidunassign (VCA)

 ARDOUR:SlavableAutomationControl

C‡: boost::shared_ptr< ARDOUR::SlavableAutomationControl >, boost::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 ()
doubleget_value ()

Get the current effective `user' value based on automation state

voidset_automation_state (AutoState)
voidset_value (double, GroupControlDisposition)

Get and 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.
voidstart_touch (double)
voidstop_touch (double)
boolwritable ()
Cast
Controlto_ctrl ()
SlavableAutomationControlto_slavable ()

Inherited from PBD:Controllable

Methods
std::stringname ()

Inherited from PBD:StatefulPtr

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 ARDOUR:SoloControl

C‡: boost::shared_ptr< ARDOUR::SoloControl >, boost::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 ()
doubleget_value ()

Get the current effective `user' value based on automation state

voidset_automation_state (AutoState)
voidset_value (double, GroupControlDisposition)

Get and 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.
voidstart_touch (double)
voidstop_touch (double)
boolwritable ()
Cast
Controlto_ctrl ()
SlavableAutomationControlto_slavable ()

Inherited from PBD:Controllable

Methods
std::stringname ()

Inherited from PBD:StatefulPtr

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 ARDOUR:SoloIsolateControl

C‡: boost::shared_ptr< ARDOUR::SoloIsolateControl >, boost::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 ()
doubleget_value ()

Get the current effective `user' value based on automation state

voidset_automation_state (AutoState)
voidset_value (double, GroupControlDisposition)

Get and 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.
voidstart_touch (double)
voidstop_touch (double)
boolwritable ()
Cast
Controlto_ctrl ()
SlavableAutomationControlto_slavable ()

Inherited from PBD:Controllable

Methods
std::stringname ()

Inherited from PBD:StatefulPtr

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 ARDOUR:SoloSafeControl

C‡: boost::shared_ptr< ARDOUR::SoloSafeControl >, boost::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 ()
doubleget_value ()

Get the current effective `user' value based on automation state

voidset_automation_state (AutoState)
voidset_value (double, GroupControlDisposition)

Get and 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.
voidstart_touch (double)
voidstop_touch (double)
boolwritable ()
Cast
Controlto_ctrl ()
SlavableAutomationControlto_slavable ()

Inherited from PBD:Controllable

Methods
std::stringname ()

Inherited from PBD:StatefulPtr

Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 ARDOUR:Source

C‡: boost::shared_ptr< ARDOUR::Source >, boost::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 ()
booldestructive ()
boolempty ()
boolhas_been_analysed ()
boolisnil ()
longlength (long)
longnatural_position ()
longtimeline_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<boost::shared_ptr<ARDOUR::Source> >

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

 ARDOUR:Stripable

C‡: boost::shared_ptr< ARDOUR::Stripable >, boost::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
AutomationControlcomp_enable_control ()
AutomationControlcomp_makeup_control ()
AutomationControlcomp_mode_control ()
std::stringcomp_mode_name (unsigned int)
ReadOnlyControlcomp_redux_control ()
AutomationControlcomp_speed_control ()
std::stringcomp_speed_name (unsigned int)
AutomationControlcomp_threshold_control ()
unsigned inteq_band_cnt ()
std::stringeq_band_name (unsigned int)
AutomationControleq_enable_control ()
AutomationControleq_freq_control (unsigned int)
AutomationControleq_gain_control (unsigned int)
AutomationControleq_q_control (unsigned int)
AutomationControleq_shape_control (unsigned int)
AutomationControlfilter_enable_controllable (bool)
AutomationControlfilter_freq_controllable (bool)
AutomationControlfilter_slope_controllable (bool)
GainControlgain_control ()
boolis_auditioner ()
boolis_hidden ()
boolis_master ()
boolis_monitor ()
boolis_selected ()
boolisnil ()
AutomationControlmaster_send_enable_control ()
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_control (unsigned int)
AutomationControlsend_level_control (unsigned int)
std::stringsend_name (unsigned int)
voidset_presentation_order (unsigned int)
SoloControlsolo_control ()
SoloIsolateControlsolo_isolate_control ()
SoloSafeControlsolo_safe_control ()
GainControltrim_control ()
Cast
Routeto_route ()
VCAto_vca ()

Inherited from ARDOUR:SessionObjectPtr

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

 ARDOUR:StripableList

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

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

 ARDOUR:Tempo

C‡: ARDOUR::Tempo

Tempo, the speed at which musical time progresses (BPM).

Constructor
ARDOUR.Tempo (double, double, double)
Methods
doubleframes_per_note_type (long)

audio samples per note type. if you want an instantaneous value for this, use TempoMap::frames_per_quarter_note_at() instead.

sr
samplerate
doubleframes_per_quarter_note (long)

audio samples per quarter note. if you want an instantaneous value for this, use TempoMap::frames_per_quarter_note_at() instead.

sr
samplerate
doublenote_type ()
doublenote_types_per_minute ()
doublequarter_notes_per_minute ()

 ARDOUR:TempoMap

C‡: ARDOUR::TempoMap

Tempo Map - mapping of timecode to musical time. convert audio-samples, sample-rate to Bar/Beat/Tick, Meter/Tempo

Methods
MeterSectionadd_meter (Meter, BBT_TIME, long, PositionLockStyle)
TempoSectionadd_tempo (Tempo, double, long, PositionLockStyle)
BBT_TIMEbbt_at_frame (long)

Returns the BBT time corresponding to the supplied frame position.

frame
the position in audio samples.

Returns the BBT time at the frame position .

doubleexact_beat_at_frame (long, int)
doubleexact_qn_at_frame (long, int)
longframepos_plus_qn (long, Beats)

Add some (fractional) Beats to a session frame position, and return the result in frames. pos can be -ve, if required.

Beatsframewalk_to_qn (long, long)

Count the number of beats that are equivalent to distance when going forward, starting at pos.

MeterSectionmeter_section_at_beat (double)
MeterSectionmeter_section_at_frame (long)
TempoSectiontempo_section_at_frame (long)
TempoSectiontempo_section_at_frame (long)

 ARDOUR:TempoSection

C‡: ARDOUR::TempoSection

is-a: ARDOUR:MetricSection

A section of timeline with a certain Tempo.

Methods
doublec ()

Inherited from ARDOUR:MetricSection

Methods
doublepulse ()
voidset_pulse (double)

 ARDOUR:Track

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

is-a: ARDOUR:Route

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

Specifically a track has regions and playlist objects.

Methods
Regionbounce (InterThreadInfo&)

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)

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 ()
boolisnil ()
Playlistplaylist ()
boolset_name (std::string)
Cast
AudioTrackto_audio_track ()
MidiTrackto_midi_track ()

Inherited from ARDOUR:Route

Methods
boolactive ()
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 ()
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

IOinput ()
Deliverymain_outs ()

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

boolmuted ()
ChanCountn_inputs ()
ChanCountn_outputs ()
Processornth_plugin (unsigned int)
Processornth_processor (unsigned int)
Processornth_send (unsigned int)
IOoutput ()
PannerShellpanner_shell ()
PeakMeterpeak_meter ()

************************************************************* Pure interface begins here*************************************************************

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

voidset_active (bool, void*)
voidset_comment (std::string, void*)
voidset_meter_point (MeterPoint, bool)
boolset_strict_io (bool)
boolsoloed ()
boolstrict_io ()
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
Automatableto_automatable ()
Slavableto_slavable ()
Trackto_track ()

Inherited from ARDOUR:Stripable

Methods
AutomationControlcomp_enable_control ()
AutomationControlcomp_makeup_control ()
AutomationControlcomp_mode_control ()
std::stringcomp_mode_name (unsigned int)
ReadOnlyControlcomp_redux_control ()
AutomationControlcomp_speed_control ()
std::stringcomp_speed_name (unsigned int)
AutomationControlcomp_threshold_control ()
unsigned inteq_band_cnt ()
std::stringeq_band_name (unsigned int)
AutomationControleq_enable_control ()
AutomationControleq_freq_control (unsigned int)
AutomationControleq_gain_control (unsigned int)
AutomationControleq_q_control (unsigned int)
AutomationControleq_shape_control (unsigned int)
AutomationControlfilter_enable_controllable (bool)
AutomationControlfilter_freq_controllable (bool)
AutomationControlfilter_slope_controllable (bool)
GainControlgain_control ()
boolis_auditioner ()
boolis_hidden ()
boolis_master ()
boolis_monitor ()
boolis_selected ()
AutomationControlmaster_send_enable_control ()
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_control (unsigned int)
AutomationControlsend_level_control (unsigned int)
std::stringsend_name (unsigned int)
voidset_presentation_order (unsigned int)
SoloControlsolo_control ()
SoloIsolateControlsolo_isolate_control ()
SoloSafeControlsolo_safe_control ()
GainControltrim_control ()
Cast
Routeto_route ()
VCAto_vca ()

Inherited from ARDOUR:SessionObjectPtr

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

 ARDOUR:UnknownProcessor

C‡: boost::shared_ptr< ARDOUR::UnknownProcessor >, boost::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 ()
voiddeactivate ()
std::stringdisplay_name ()
booldisplay_to_user ()
ChanCountinput_streams ()
ChanCountoutput_streams ()
Cast
Ampto_amp ()
Automatableto_automatable ()
PluginInsertto_insert ()
IOProcessorto_ioprocessor ()
PeakMeterto_meter ()
MonitorProcessorto_monitorprocessor ()
PeakMeterto_peakmeter ()
PluginInsertto_plugininsert ()
SideChainto_sidechain ()
UnknownProcessorto_unknownprocessor ()

Inherited from ARDOUR:SessionObjectPtr

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

 ARDOUR:VCA

C‡: boost::shared_ptr< ARDOUR::VCA >, boost::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
AutomationControlcomp_enable_control ()
AutomationControlcomp_makeup_control ()
AutomationControlcomp_mode_control ()
std::stringcomp_mode_name (unsigned int)
ReadOnlyControlcomp_redux_control ()
AutomationControlcomp_speed_control ()
std::stringcomp_speed_name (unsigned int)
AutomationControlcomp_threshold_control ()
unsigned inteq_band_cnt ()
std::stringeq_band_name (unsigned int)
AutomationControleq_enable_control ()
AutomationControleq_freq_control (unsigned int)
AutomationControleq_gain_control (unsigned int)
AutomationControleq_q_control (unsigned int)
AutomationControleq_shape_control (unsigned int)
AutomationControlfilter_enable_controllable (bool)
AutomationControlfilter_freq_controllable (bool)
AutomationControlfilter_slope_controllable (bool)
boolis_auditioner ()
boolis_hidden ()
boolis_master ()
boolis_monitor ()
boolis_selected ()
AutomationControlmaster_send_enable_control ()
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_control (unsigned int)
AutomationControlsend_level_control (unsigned int)
std::stringsend_name (unsigned int)
voidset_presentation_order (unsigned int)
SoloIsolateControlsolo_isolate_control ()
SoloSafeControlsolo_safe_control ()
GainControltrim_control ()
Cast
Routeto_route ()
VCAto_vca ()

Inherited from ARDOUR:SessionObjectPtr

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

 ARDOUR:VCAList

C‡: std::list<boost::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
intcreate_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:WeakAudioSourceList

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

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

 ARDOUR:WeakRouteList

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

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

 ARDOUR:WeakSourceList

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

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

 ArdourUI

Methods
std::stringhttp_get (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 ()
longposition ()
Typetype ()

 ArdourUI:ArdourMarkerList

C‡: std::list<ArdourMarker* >

Constructor
ArdourUI.ArdourMarkerList ()
Methods
LuaTableadd (ArdourMarker* )
ArdourMarkerback ()
boolempty ()
ArdourMarkerfront ()
LuaIteriter ()
voidpush_back (ArdourMarker)
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 ()
TrackViewListaxis_views_from_routes (RouteListPtr)
voidcenter_screen (long)
voidclear_playlist (Playlist)
voidclear_playlists (TimeAxisView)
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
will start.
r
Region to consider.
r,
the audition will be cancelled. Otherwise an audition of
voidcopy_playlists (TimeAxisView)
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, long&, PluginInfo)
LuaTable(...)do_import (StringVector, ImportDisposition, ImportMode, SrcQuality, MidiTrackNameSource, MidiTempoMapDisposition, long&, PluginInfo)

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 ()
unsigned intget_grid_beat_divisions (long)
LuaTable(Beats, ...)get_grid_type_as_beats (bool&, long)
LuaTable(long, ...)get_nudge_distance (long, long&)
longget_paste_offset (long, unsigned int, long)
LuaTable(...)get_pointer_position (double&, double&)
Selectionget_selection ()
LuaTable(bool, ...)get_selection_extents (long&, long&)
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)
voidhide_track_in_display (TimeAxisView, bool)
longleftmost_sample ()
voidmaximise_editing_space ()
voidmaybe_locate_with_edit_preroll (long)
voidmouse_add_new_marker (long, bool)
voidnew_playlists (TimeAxisView)
voidnew_region_from_selection ()
voidoverride_visible_track_count ()
longpixel_to_sample (double)
voidplay_selection ()
voidplay_with_preroll ()
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 ()
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 (long, long, 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
voidset_punch_range (long, long, std::string)
voidset_selection (SelectionList, Operation)
voidset_show_measures (bool)
voidset_snap_mode (SnapMode)

Set the snap mode.

m
Snap mode (defined in editing_syms.h)
voidset_snap_threshold (double)

Set the snap threshold.

t
Snap threshold in `units'.
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)
boolshow_measures ()
voidshow_track_in_display (TimeAxisView, bool)
SnapModesnap_mode ()
SnapTypesnap_type ()
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.
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
LuaTableadd (ArdourMarker* )
ArdourMarkerback ()
boolempty ()
ArdourMarkerfront ()
LuaIteriter ()
voidpush_back (ArdourMarker)
voidreverse ()
unsigned longsize ()
LuaTabletable ()
voidunique ()

 ArdourUI:RegionSelection

C‡: RegionSelection

Class to represent list of selected regions.

Methods
longend_frame ()
unsigned longn_midi_regions ()
RegionListregionlist ()
longstart ()

 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 ()
boolempty ()
Selectablefront ()
LuaIteriter ()
voidpush_back (Selectable)
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.

 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.

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

 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:AudioRangeList

Methods
longend_frame ()
longlength ()
longstart ()

Inherited from ARDOUR:AudioRangeList

Constructor
ARDOUR.AudioRangeList ()
Methods
AudioRangeback ()
boolempty ()
AudioRangefront ()
LuaIteriter ()
voidreverse ()
unsigned longsize ()
LuaTabletable ()

 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 ()

Inherited from ArdourUI:TrackViewStdList

Constructor
ArdourUI.TrackViewStdList ()
Methods
TimeAxisViewback ()
boolempty ()
TimeAxisViewfront ()
LuaIteriter ()
voidpush_back (TimeAxisView)
voidreverse ()
unsigned longsize ()
LuaTabletable ()
voidunique ()

 ArdourUI:TrackViewList

C‡: TrackViewList

is-a: ArdourUI:TrackViewStdList

Methods
boolcontains (TimeAxisView)
RouteListroutelist ()

Inherited from ArdourUI:TrackViewStdList

Constructor
ArdourUI.TrackViewStdList ()
Methods
TimeAxisViewback ()
boolempty ()
TimeAxisViewfront ()
LuaIteriter ()
voidpush_back (TimeAxisView)
voidreverse ()
unsigned longsize ()
LuaTabletable ()
voidunique ()

 ArdourUI:TrackViewStdList

C‡: std::list<TimeAxisView* >

Constructor
ArdourUI.TrackViewStdList ()
Methods
TimeAxisViewback ()
boolempty ()
TimeAxisViewfront ()
LuaIteriter ()
voidpush_back (TimeAxisView)
voidreverse ()
unsigned longsize ()
LuaTabletable ()
voidunique ()

 C:ByteArray

C‡: unsigned char*

Methods
LuaMetaTablearray ()
LuaTableget_table ()
unsigned char*offset (unsigned int)
voidset_table (LuaTable {unsigned char})

 C:DoubleVector

C‡: std::vector<double >

Constructor
C.DoubleVector ()
C.DoubleVector ()
Methods
LuaTableadd (LuaTable {double})
doubleat (unsigned long)
boolempty ()
LuaIteriter ()
voidpush_back (double)
unsigned longsize ()
LuaTabletable ()

 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)
boolempty ()
LuaIteriter ()
voidpush_back (FloatArray)
unsigned longsize ()
LuaTabletable ()

 C:FloatVector

C‡: std::vector<float >

Constructor
C.FloatVector ()
C.FloatVector ()
Methods
LuaTableadd (LuaTable {float})
floatat (unsigned long)
boolempty ()
LuaIteriter ()
voidpush_back (float)
unsigned longsize ()
LuaTabletable ()

 C:Int64List

C‡: std::list<long >

Constructor
C.Int64List ()
Methods
LuaTableadd (LuaTable {long})
longback ()
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:StringList

C‡: std::list<std::string >

Constructor
C.StringList ()
Methods
LuaTableadd (LuaTable {std::string})
std::stringback ()
boolempty ()
std::stringfront (