X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=_manual%2F24_lua-scripting%2F02_class_reference.html;h=f21f6aea82c427a6e30c9fc1d10b210755b1b0b7;hb=a3167e17b75f9430c13e48f7c26c2c235aec24ec;hp=503e8774823dab3f07dd8ab589f2625ac0992a1c;hpb=fd1ad5d44650630a40b1afa2bd6c5278737346b9;p=ardour-manual diff --git a/_manual/24_lua-scripting/02_class_reference.html b/_manual/24_lua-scripting/02_class_reference.html index 503e877..f21f6ae 100644 --- a/_manual/24_lua-scripting/02_class_reference.html +++ b/_manual/24_lua-scripting/02_class_reference.html @@ -135,21 +135,25 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C Methods GainControlgain_control () boolisnil () + boolsameinstance (Amp)

Inherited from ARDOUR:Processor

- - + + + + +
Methods
voidactivate ()
boolactive ()
AutomationControlautomation_control (Parameter, bool)
Controlcontrol (Parameter, bool)
voiddeactivate ()
std::stringdisplay_name ()
ChanCountinput_streams ()
ChanCountoutput_streams ()
Cast
Ampto_amp ()
Automatableto_automatable ()
PluginInsertto_insert ()
IOProcessorto_ioprocessor ()
PeakMeterto_meter ()
MonitorProcessorto_monitorprocessor ()
PeakMeterto_peakmeter ()
SideChainto_sidechain ()
UnknownProcessorto_unknownprocessor ()
@@ -189,6 +193,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C unsigned intoutput_channels () std::stringoutput_device_name () unsigned intperiod_size () + boolsameinstance (AudioBackend) 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).

@@ -256,8 +261,8 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C 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&) - voidget_physical_outputs (DataType, 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&) @@ -268,6 +273,62 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C 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)
boolsameinstance (AudioPlaylist)
+

Inherited from ARDOUR:Playlist

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Methods
voidadd_region (Region, long, float, bool, int)
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)
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, long, int)
Regiontop_region_at (long)
Regiontop_unmuted_region_at (long)
voiduncombine (Region)
Cast
AudioPlaylistto_audioplaylist ()
MidiPlaylistto_midiplaylist ()
+

Inherited from ARDOUR:SessionObject

+ + + + + + +
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

@@ -275,19 +336,18 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C +
Methods
boolisnil ()
boolsameinstance (AudioPort)

Inherited from ARDOUR:Port

- - + - - - + + + - @@ -327,6 +387,93 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
Methods
intconnect (Port)
intconnect_by_name (std::string)
intconnect (std::string)
boolconnected ()

Returns true if this port is connected to anything

boolconnected_to (Port)
boolconnected_to_name (std::string)
intdisconnect (Port)
boolconnected_to (std::string)
o
Port name

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

intdisconnect (std::string)
intdisconnect_all ()
intdisconnect_by_name (std::string)
std::stringname ()

Returns Port short name

std::stringpretty_name (bool)
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 ()
boolsameinstance (AudioRegion)
floatscale_amplitude ()
voidset_scale_amplitude (float)
+

Inherited from ARDOUR:Region

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Methods
boolat_natural_position ()
boolautomatic ()
boolcan_move ()
boolcaptured ()
voidclear_sync_position ()
boolcovers (long)
voidcut_end (long, int)
voidcut_front (long, int)
DataTypedata_type ()
boolexternal ()
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

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

+ + + + + + +
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

@@ -334,10 +481,47 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C

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 ()
boolsameinstance (AudioSource)
boolsameinstance (AudioSource)
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 ()
MidiSourceto_midisource ()
+

Inherited from ARDOUR:SessionObject

+ + + + + + +
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

@@ -346,6 +530,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C +
Methods
boolisnil ()
boolsameinstance (AudioTrack)

Inherited from ARDOUR:Track

@@ -358,11 +543,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C - - - - @@ -378,6 +559,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C + @@ -386,6 +568,10 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C + + + + @@ -395,13 +581,65 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C + + + +

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 ()
boolrecord_enabled ()
boolrecord_safe ()
boolset_name (std::string)
voidset_record_enabled (bool, GroupControlDisposition)
voidset_record_safe (bool, GroupControlDisposition)
Cast
AudioTrackto_audio_track ()
MidiTrackto_midi_track ()
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 ()
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

boolremove_sidechain (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 ()
Trackto_track ()
+

Inherited from ARDOUR:Stripable

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Methods
AutomationControlcomp_enable_control ()
AutomationControlcomp_makeup_control ()
AutomationControlcomp_mode_control ()
std::stringcomp_mode_name (unsigned int)
AutomationControlcomp_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_hpf_control ()
AutomationControleq_q_control (unsigned int)
AutomationControleq_shape_control (unsigned int)
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, bool)
SoloControlsolo_control ()
SoloIsolateControlsolo_isolate_control ()
SoloSafeControlsolo_safe_control ()
GainControltrim_control ()
Cast
Routeto_route ()

Inherited from ARDOUR:SessionObject

@@ -434,7 +672,24 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C + +
Methods
Methods
AutomationControlautomation_control (Parameter, bool)
boolisnil ()
boolsameinstance (Automatable)
+

 ARDOUR:AutomatableSequence

+

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

+

is-a: ARDOUR:Automatable

+
+ + + + + +
Methods
boolisnil ()
boolsameinstance (AutomatableSequence)
Cast
Sequenceto_sequence ()
+

Inherited from ARDOUR:Automatable

+ + + +
Methods
AutomationControlautomation_control (Parameter, bool)

 ARDOUR:AutomationControl

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

is-a: PBD:Controllable

@@ -448,6 +703,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C doubleget_value ()

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

boolisnil () + boolsameinstance (AutomationControl) voidset_automation_state (AutoState) voidset_automation_style (AutoStyle) voidset_value (double, GroupControlDisposition) @@ -480,6 +736,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C XMLNodeget_state () boolisnil () Commandmemento_command (XMLNode, XMLNode) + boolsameinstance (AutomationList) booltouch_enabled () booltouching () boolwriting () @@ -495,7 +752,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C Constructor ℂARDOUR.BackendVector () Methods - LuaTableadd (LuaTable {ARDOUR::AudioBackendInfo* }) + LuaTableadd (ARDOUR::AudioBackendInfo* ) AudioBackendInfoat (unsigned long) boolempty () LuaIteriter () @@ -511,6 +768,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C Methods ChanCountcount () AudioBufferget_audio (unsigned long) + MidiBufferget_midi (unsigned long) boolsameinstance (BufferSet)

 ARDOUR:ChanCount

@@ -543,8 +801,12 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C 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
@@ -569,8 +831,8 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C 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) -

calculate peaks

data
data to analyze
min
result, minimum value found in range
max
result, max value found in range
n_samples
number of samples to analyze
+ LuaTable(...)peaks (FloatArray, float&, float&, unsigned int) + voidprocess_map (BufferSet, ChanMapping, ChanMapping, unsigned int, long, DataType)

 ARDOUR:DSP:Biquad

C‡: ARDOUR::DSP::Biquad

@@ -583,6 +845,8 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C 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 () @@ -595,6 +859,8 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C

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.

+ + @@ -609,6 +875,20 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
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.
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

@@ -652,6 +932,8 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C + +
Methods
boolisnil ()
PannerShellpanner_shell ()
boolsameinstance (Delivery)

Inherited from ARDOUR:IOProcessor

@@ -666,15 +948,18 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C - - + + + + +
Methods
voidactivate ()
boolactive ()
AutomationControlautomation_control (Parameter, bool)
Controlcontrol (Parameter, bool)
voiddeactivate ()
std::stringdisplay_name ()
ChanCountinput_streams ()
ChanCountoutput_streams ()
Cast
Ampto_amp ()
Automatableto_automatable ()
PluginInsertto_insert ()
IOProcessorto_ioprocessor ()
PeakMeterto_meter ()
MonitorProcessorto_monitorprocessor ()
PeakMeterto_peakmeter ()
SideChainto_sidechain ()
UnknownProcessorto_unknownprocessor ()
@@ -710,15 +995,43 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C unsigned longsize () LuaTabletable () +

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

+

is-a: ARDOUR:SlavableAutomationControl,

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

+
Methods
boolisnil ()
boolsameinstance (GainControl)
+

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

@@ -763,6 +1076,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C + @@ -771,6 +1085,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C +
Methods
AudioPortaudio (unsigned int)
intconnect (Port, std::string, void*)
intdisconnect (Port, std::string, void*)
intdisconnect_all (void*)
boolhas_port (Port)
boolisnil ()
MidiPortmidi (unsigned int)
boolphysically_connected ()
Portport_by_name (unsigned int)
intremove_port (Port, void*)
boolsameinstance (IO)

Inherited from ARDOUR:SessionObject

@@ -792,21 +1107,25 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C +
ChanCountnatural_input_streams ()
ChanCountnatural_output_streams ()
IOoutput ()
boolsameinstance (IOProcessor)

Inherited from ARDOUR:Processor

- - + + + + +
Methods
voidactivate ()
boolactive ()
AutomationControlautomation_control (Parameter, bool)
Controlcontrol (Parameter, bool)
voiddeactivate ()
std::stringdisplay_name ()
ChanCountinput_streams ()
ChanCountoutput_streams ()
Cast
Ampto_amp ()
Automatableto_automatable ()
PluginInsertto_insert ()
IOProcessorto_ioprocessor ()
PeakMeterto_meter ()
MonitorProcessorto_monitorprocessor ()
PeakMeterto_peakmeter ()
SideChainto_sidechain ()
UnknownProcessorto_unknownprocessor ()
@@ -836,16 +1155,27 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C + + + + + + + + + + +
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)
std::stringname ()
intset_end (long, bool, bool)

Set end position.

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

Set start position.

s
New start.
force
true to force setting, even if the given new start is after the current end.
allow_bbt_recompute
True to recompute BBT start time from the new given start time.
longstart ()
voidunlock ()

Inherited from PBD:Stateful

@@ -881,8 +1211,10 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C + +
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

@@ -897,14 +1229,23 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
+ + + + + + + + + - + + + + +
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.

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)

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 ()
LuaTableplugin_automation ()
...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)
@@ -914,12 +1255,37 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
   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

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

@@ -932,6 +1298,56 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C ...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 ()
boolsameinstance (LuaProc)
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_input (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

@@ -945,94 +1361,373 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C 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 (MidiEvent)
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.

boolsameinstance (MidiBuffer)
voidsilence (long, long)

Clear (eg zero, or empty) buffer

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

 ARDOUR:MidiPort

-

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

-

is-a: ARDOUR:Port

+

 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
MidiBufferget_midi_buffer (unsigned int)
boolinput_active ()
voidapply_command (Session, Command)
boolisnil ()
voidset_input_active (bool)
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.

boolsameinstance (MidiModel)
-

Inherited from ARDOUR:Port

+

Inherited from ARDOUR:AutomatableSequence

- - - - - - - - - - - - - - - - - - - - +
Methods
intconnect (Port)
intconnect_by_name (std::string)
boolconnected ()

Returns true if this port is connected to anything

boolconnected_to (Port)
boolconnected_to_name (std::string)
intdisconnect (Port)
intdisconnect_all ()
intdisconnect_by_name (std::string)
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 ()
Sequenceto_sequence ()
-

 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.

+

Inherited from ARDOUR:Automatable

- -
Methods
boolisnil ()
-

Inherited from ARDOUR:Track

+ AutomationControlautomation_control (Parameter, bool) + +

 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
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 ()
boolrecord_enabled ()
boolrecord_safe ()
boolset_name (std::string)
voidset_record_enabled (bool, GroupControlDisposition)
voidset_record_safe (bool, GroupControlDisposition)
Cast
AudioTrackto_audio_track ()
MidiTrackto_midi_track ()
std::stringname ()
voidset_name (std::string)
-

Inherited from ARDOUR:Route

+

Inherited from PBD:Stateful

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

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 ()
boolsameinstance (MidiPlaylist)
voidset_note_mode (NoteMode)
+

Inherited from ARDOUR:Playlist

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Methods
voidadd_region (Region, long, float, bool, int)
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)
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, long, int)
Regiontop_region_at (long)
Regiontop_unmuted_region_at (long)
voiduncombine (Region)
Cast
AudioPlaylistto_audioplaylist ()
MidiPlaylistto_midiplaylist ()
+

Inherited from ARDOUR:SessionObject

+ + + + + + +
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 ()
boolsameinstance (MidiPort)
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 ()
boolsameinstance (MidiRegion)
doublestart_beats ()
+

Inherited from ARDOUR:Region

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Methods
boolat_natural_position ()
boolautomatic ()
boolcan_move ()
boolcaptured ()
voidclear_sync_position ()
boolcovers (long)
voidcut_end (long, int)
voidcut_front (long, int)
DataTypedata_type ()
boolexternal ()
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

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

+ + + + + + +
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 ()
boolsameinstance (MidiSource)
+

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

Inherited from ARDOUR:SessionObject

+ + + + + + +
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 ()
boolsameinstance (MidiTrack)
+

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

+ + + + + + @@ -1041,6 +1736,10 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C + + + + @@ -1050,13 +1749,65 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C + + + +
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 ()
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

boolremove_sidechain (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 ()
Trackto_track ()
+

Inherited from ARDOUR:Stripable

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Methods
AutomationControlcomp_enable_control ()
AutomationControlcomp_makeup_control ()
AutomationControlcomp_mode_control ()
std::stringcomp_mode_name (unsigned int)
AutomationControlcomp_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_hpf_control ()
AutomationControleq_q_control (unsigned int)
AutomationControleq_shape_control (unsigned int)
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, bool)
SoloControlsolo_control ()
SoloIsolateControlsolo_isolate_control ()
SoloSafeControlsolo_safe_control ()
GainControltrim_control ()
Cast
Routeto_route ()

Inherited from ARDOUR:SessionObject

@@ -1081,12 +1832,150 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
Methods
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 ()
boolsameinstance (MonitorProcessor)
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 ()
ChanCountinput_streams ()
ChanCountoutput_streams ()
Cast
Ampto_amp ()
Automatableto_automatable ()
PluginInsertto_insert ()
IOProcessorto_ioprocessor ()
PeakMeterto_meter ()
MonitorProcessorto_monitorprocessor ()
PeakMeterto_peakmeter ()
SideChainto_sidechain ()
UnknownProcessorto_unknownprocessor ()
+

Inherited from ARDOUR:SessionObject

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

 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 ()
boolsameinstance (MuteControl)
+

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

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

voidset_automation_state (AutoState)
voidset_automation_style (AutoStyle)
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 (bool, double)
boolwritable ()
Cast
Controlto_ctrl ()
+

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

C‡: PBD::OwnedPropertyList

is-a: ARDOUR:PropertyList

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

+
+

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

+ + + + + + +
Methods
boolbypassed ()
boolisnil ()
boolsameinstance (PannerShell)
voidset_bypassed (bool)
+

Inherited from ARDOUR:SessionObject

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

 ARDOUR:ParameterDescriptor

C‡: ARDOUR::ParameterDescriptor

is-a: Evoral:ParameterDescriptor

@@ -1095,6 +1984,8 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C + + @@ -1105,9 +1996,98 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C + + + + +
Constructor
ARDOUR.ParameterDescriptor ()
Methods
std::stringmidi_note_name (unsigned char)
Data Members
std::stringlabel
boollogarithmic
Evoral.ParameterDescriptor ()
Data Members
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 ()
boolsameinstance (PeakMeter)
voidset_type (MeterType)
+

Inherited from ARDOUR:Processor

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

Inherited from ARDOUR:SessionObject

+ + + + + + +
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 ()
boolsameinstance (PhaseControl)
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 ()
AutoStyleautomation_style ()
doubleget_value ()

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

voidset_automation_state (AutoState)
voidset_automation_style (AutoStyle)
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 (bool, double)
boolwritable ()
Cast
Controlto_ctrl ()
+

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 >

@@ -1116,8 +2096,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C

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

- - + @@ -1136,17 +2115,22 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C + + - + + + +
Methods
voidadd_region (Region, long, float, bool)

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

voidadd_region (Region, long, float, bool, int)
Regioncombine (RegionList)
unsigned intcount_regions_at (long)
Playlistcut (AudioRangeList&, bool)
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)
boolsameinstance (Playlist)
voidsplit (long)
voidsplit_region (Region, long)
voidsplit_region (Region, long, int)
Regiontop_region_at (long)
Regiontop_unmuted_region_at (long)
voiduncombine (Region)
Cast
AudioPlaylistto_audioplaylist ()
MidiPlaylistto_midiplaylist ()

Inherited from ARDOUR:SessionObject

@@ -1163,7 +2147,9 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C

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.

+ + @@ -1177,6 +2163,10 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C + + + +
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 ()
boolparameter_is_input (unsigned int)
PresetRecordpreset_by_label (std::string)
PresetRecordpreset_by_uri (std::string)
boolsameinstance (Plugin)
std::stringunique_id ()
Cast
LuaProcto_luaproc ()

Inherited from PBD:StatefulPtr

@@ -1186,6 +2176,16 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
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

@@ -1194,6 +2194,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C +
Methods
boolisnil ()
boolsameinstance (PluginControl)

Inherited from ARDOUR:AutomationControl

@@ -1233,7 +2234,19 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C + + + + + + + + + + + +
Constructor
ARDOUR.PluginInfo ()
Methods
PresetVectorget_presets (bool)
boolis_instrument ()
boolisnil ()
boolsameinstance (PluginInfo)
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 >

@@ -1246,25 +2259,31 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C voiddeactivate () ChanMappinginput_map (unsigned int) boolisnil () + ChanCountnatural_input_streams () + ChanCountnatural_output_streams () ChanMappingoutput_map (unsigned int) Pluginplugin (unsigned int) + boolreset_parameters_to_default () + boolsameinstance (PluginInsert) voidset_input_map (unsigned int, ChanMapping) voidset_output_map (unsigned int, ChanMapping) - IOsidechain_input () boolstrict_io_configured ()

Inherited from ARDOUR:Processor

- - + + + + +
Methods
boolactive ()
AutomationControlautomation_control (Parameter, bool)
Controlcontrol (Parameter, bool)
std::stringdisplay_name ()
ChanCountinput_streams ()
ChanCountoutput_streams ()
Cast
Ampto_amp ()
Automatableto_automatable ()
PluginInsertto_insert ()
IOProcessorto_ioprocessor ()
PeakMeterto_meter ()
MonitorProcessorto_monitorprocessor ()
PeakMeterto_peakmeter ()
SideChainto_sidechain ()
UnknownProcessorto_unknownprocessor ()
@@ -1281,15 +2300,13 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
- - + - - - + + + - @@ -1297,6 +2314,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C + @@ -1332,8 +2350,8 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C - - + + @@ -1360,7 +2378,27 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C +
Methods
intconnect (Port)
intconnect_by_name (std::string)
intconnect (std::string)
boolconnected ()

Returns true if this port is connected to anything

boolconnected_to (Port)
boolconnected_to_name (std::string)
intdisconnect (Port)
boolconnected_to (std::string)
o
Port name

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

intdisconnect (std::string)
intdisconnect_all ()
intdisconnect_by_name (std::string)
boolisnil ()
std::stringname ()

Returns Port short name

Returns Port human readable name

boolreceives_input ()

Returns true if this Port receives input, otherwise false

boolsameinstance (Port)
boolsends_output ()

Returns true if this Port sends output, otherwise false

Cast
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&)
voidget_physical_outputs (DataType, 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&)
Portport (DataType, unsigned long)

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

t
data type
index
port index
boolremove (Port)
boolsameinstance (PortSet)
+

 ARDOUR:PresentationInfo

+

C‡: ARDOUR::PresentationInfo

+

is-a: PBD:Stateful

+
+

Base class for objects with saveable and undoable state

+ + + + + +
Methods
unsigned intcolor ()
unsigned intorder ()
voidset_color (unsigned int)
+

Inherited from PBD:Stateful

+ + + + + + +
Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 ARDOUR:PresetRecord

C‡: ARDOUR::Plugin::PresetRecord

@@ -1373,6 +2411,21 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C booluser boolvalid +

 ARDOUR:PresetVector

+

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

+
+ + + + + + + + + + + +
Constructor
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:SessionObject

@@ -1382,16 +2435,20 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C Methods voidactivate () boolactive () - AutomationControlautomation_control (Parameter, bool) - Controlcontrol (Parameter, bool) voiddeactivate () std::stringdisplay_name () + ChanCountinput_streams () boolisnil () + ChanCountoutput_streams () + boolsameinstance (Processor) Cast Ampto_amp () Automatableto_automatable () PluginInsertto_insert () IOProcessorto_ioprocessor () + PeakMeterto_meter () + MonitorProcessorto_monitorprocessor () + PeakMeterto_peakmeter () SideChainto_sidechain () UnknownProcessorto_unknownprocessor () @@ -1403,6 +2460,21 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C Statefulto_stateful () StatefulDestructibleto_statefuldestructible () +

 ARDOUR:ProcessorVector

+

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

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

 ARDOUR:Properties:BoolProperty

C‡: PBD::PropertyDescriptor<bool>

@@ -1430,6 +2502,17 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C

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

+

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

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

 ARDOUR:Region

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

is-a: ARDOUR:SessionObject

@@ -1443,8 +2526,8 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C boolcaptured () voidclear_sync_position () boolcovers (long) - voidcut_end (long) - voidcut_front (long) + voidcut_end (long, int) + voidcut_front (long, int) DataTypedata_type () boolexternal () boolhidden () @@ -1456,42 +2539,51 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C boollocked () voidlower () voidlower_to_bottom () - voidmove_start (long) + 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 () + boolsameinstance (Region) 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) + voidset_length (long, int) voidset_locked (bool) voidset_muted (bool) voidset_opaque (bool) - voidset_position (long) + 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

- voidtrim_end (long) -
new_endpoint
New region end point, such that, for example, a region at 0 of length 10 has an endpoint of 9.
- voidtrim_front (long) - voidtrim_to (long, long) + 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:SessionObject

@@ -1539,7 +2631,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C

 ARDOUR:Route

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

-

is-a: ARDOUR:SessionObject

+

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

@@ -1552,6 +2644,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C + @@ -1561,6 +2654,10 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C + + + + @@ -1568,16 +2665,69 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C + + + + +
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

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

boolremove_sidechain (Processor)

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

boolsameinstance (Route)
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 ()
Trackto_track ()
+

Inherited from ARDOUR:Stripable

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Methods
AutomationControlcomp_enable_control ()
AutomationControlcomp_makeup_control ()
AutomationControlcomp_mode_control ()
std::stringcomp_mode_name (unsigned int)
AutomationControlcomp_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_hpf_control ()
AutomationControleq_q_control (unsigned int)
AutomationControleq_shape_control (unsigned int)
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, bool)
SoloControlsolo_control ()
SoloIsolateControlsolo_isolate_control ()
SoloSafeControlsolo_safe_control ()
GainControltrim_control ()
Cast
Routeto_route ()

Inherited from ARDOUR:SessionObject

@@ -1594,11 +2744,59 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
Methods
Constructor
ARDOUR.Route.ProcessorStreams ()
-

 ARDOUR:RouteGroup

+

 ARDOUR:RouteGroup

C‡: ARDOUR::RouteGroup

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.

-

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
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)
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_route_active (bool)
voidset_select (bool)
voidset_solo (bool)
unsigned longsize ()
+

 ARDOUR:RouteGroupList

+

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

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

 ARDOUR:RouteList

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

@@ -1642,46 +2840,54 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C

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
+ SessionConfigurationcfg () 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) AudioEngineengine () longframe_rate ()

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

- doubleframes_per_timecode_frame () 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) RouteListPtrget_tracks () voidgoto_end () - voidgoto_start () + voidgoto_start (bool) longlast_transport_start () Locationslocations () Routemaster_out () + voidmaybe_enable_record () Routemonitor_out () std::stringname () - RouteListnew_audio_route (int, int, RouteGroup, unsigned int, std::string) -

Caller must not hold process lock.

name_template
string to use for the start of the name, or "" to use "Bus".
- AudioTrackListnew_audio_track (int, int, TrackMode, RouteGroup, unsigned int, std::string) -

Caller must not hold process lock

name_template
string to use for the start of the name, or "" to use "Audio".
- RouteListnew_midi_route (RouteGroup, unsigned int, std::string, PluginInfo, PresetRecord) - MidiTrackListnew_midi_track (ChanCount, ChanCount, PluginInfo, TrackMode, RouteGroup, unsigned int, std::string, PresetRecord) - RouteListnew_route_from_template (unsigned int, std::string, std::string, PlaylistDisposition) -

create a new track or bus from a template (XML path)

how_many
how many tracks or busses to create
template_path
path to xml template file
name
name (prefix) of the route to create
pd
Playlist disposition

Returns list of newly created routes

+ 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, PluginInfo, PresetRecord, Flag, unsigned int) + MidiTrackListnew_midi_track (ChanCount, ChanCount, 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_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_remote_id (unsigned int) + 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 () @@ -1690,9 +2896,13 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C Sourcesource_by_id (ID) TempoMaptempo_map () booltimecode_drop_frames () + booltimecode_drop_frames () + longtimecode_frames_per_hour () longtimecode_frames_per_hour () doubletimecode_frames_per_second () - Tracktrack_by_diskstream_id (ID) + doubletimecode_frames_per_second () + ...timecode_to_sample_lua (--lua--) + Tracktrack_by_diskstream_id (ID) longtransport_frame () booltransport_rolling () doubletransport_speed () @@ -1702,6 +2912,167 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C 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 ()
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 ()
unsigned intget_meterbridge_label_height ()
boolget_midi_copy_is_fork ()
std::stringget_midi_search_path ()
SampleFormatget_native_file_data_format ()
HeaderFormatget_native_file_header_format ()
boolget_punch_in ()
boolget_punch_out ()
std::stringget_raid_path ()
boolget_realtime_export ()
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_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_meterbridge_label_height (unsigned int)
boolset_midi_copy_is_fork (bool)
boolset_midi_search_path (std::string)
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_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
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
unsigned intmeterbridge_label_height
boolmidi_copy_is_fork
std::stringmidi_search_path
ARDOUR.SampleFormatnative_file_data_format
ARDOUR.HeaderFormatnative_file_header_format
boolpunch_in
boolpunch_out
std::stringraid_path
boolrealtime_export
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‡: boost::shared_ptr< ARDOUR::SessionObject >, boost::weak_ptr< ARDOUR::SessionObject >

@@ -1710,44 +3081,369 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C Methods boolisnil () std::stringname () + boolsameinstance (SessionObject) + 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 ()
boolsameinstance (SideChain)
+

Inherited from ARDOUR:IOProcessor

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

Inherited from ARDOUR:Processor

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

Inherited from ARDOUR:SessionObject

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

 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)
boolsameinstance (SlavableAutomationControl,)
boolslaved ()
boolslaved_to (AutomationControl)
+

Inherited from ARDOUR:AutomationControl

+ + + + + + + + + + + + + + + + +
Methods
AutomationListalist ()
AutoStateautomation_state ()
AutoStyleautomation_style ()
doubleget_value ()

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

voidset_automation_state (AutoState)
voidset_automation_style (AutoStyle)
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 (bool, double)
boolwritable ()
Cast
Controlto_ctrl ()
+

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 ()
boolsameinstance (SoloControl)
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 ()
AutoStyleautomation_style ()
doubleget_value ()

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

voidset_automation_state (AutoState)
voidset_automation_style (AutoStyle)
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 (bool, double)
boolwritable ()
Cast
Controlto_ctrl ()
+

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 ()
boolsameinstance (SoloIsolateControl)
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 ()
AutoStyleautomation_style ()
doubleget_value ()

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

voidset_automation_state (AutoState)
voidset_automation_style (AutoStyle)
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 (bool, double)
boolwritable ()
Cast
Controlto_ctrl ()
+

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 ()
boolsameinstance (SoloSafeControl)
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 ()
AutoStyleautomation_style ()
doubleget_value ()

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

voidset_automation_state (AutoState)
voidset_automation_style (AutoStyle)
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 (bool, double)
boolwritable ()
Cast
Controlto_ctrl ()
+

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: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::stringancestor_name ()
boolcan_be_analysed ()
booldestructive ()
boolempty ()
boolhas_been_analysed ()
boolisnil ()
longlength (long)
longnatural_position ()
boolsameinstance (Source)
longtimeline_position ()
longtimestamp ()
intuse_count ()
boolused ()
boolwritable ()
Cast
AudioSourceto_audiosource ()
MidiSourceto_midisource ()
+

Inherited from ARDOUR:SessionObject

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

 ARDOUR:SideChain

-

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

-

is-a: ARDOUR:IOProcessor

+ +

 ARDOUR:SourceList

+

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

-

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

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

Inherited from ARDOUR:IOProcessor

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

Inherited from ARDOUR:Processor

+

 ARDOUR:Stripable

+

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

+

is-a: 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
voidactivate ()
boolactive ()
AutomationControlautomation_control (Parameter, bool)
Controlcontrol (Parameter, bool)
voiddeactivate ()
std::stringdisplay_name ()
AutomationControlcomp_enable_control ()
AutomationControlcomp_makeup_control ()
AutomationControlcomp_mode_control ()
std::stringcomp_mode_name (unsigned int)
AutomationControlcomp_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_hpf_control ()
AutomationControleq_q_control (unsigned int)
AutomationControleq_shape_control (unsigned int)
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 ()
boolsameinstance (Stripable)
AutomationControlsend_enable_control (unsigned int)
AutomationControlsend_level_control (unsigned int)
std::stringsend_name (unsigned int)
voidset_presentation_order (unsigned int, bool)
SoloControlsolo_control ()
SoloIsolateControlsolo_isolate_control ()
SoloSafeControlsolo_safe_control ()
GainControltrim_control ()
Cast
Ampto_amp ()
Automatableto_automatable ()
PluginInsertto_insert ()
IOProcessorto_ioprocessor ()
SideChainto_sidechain ()
UnknownProcessorto_unknownprocessor ()
+ Routeto_route () +

Inherited from ARDOUR:SessionObject

@@ -1756,14 +3452,6 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
Methods
Statefulto_stateful ()
StatefulDestructibleto_statefuldestructible ()
-

 ARDOUR:Source

-

C‡: boost::shared_ptr< ARDOUR::Source >, boost::weak_ptr< 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
boolisnil ()

 ARDOUR:Tempo

C‡: ARDOUR::Tempo

@@ -1771,12 +3459,15 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C - + - - - + + + + + +
Constructor
ARDOUR.Tempo (double, double)
bpm
Beats Per Minute
type
Note Type (default `4': quarter note)
npm
Note Types per minute
type
Note Type (default `4': quarter note)
Methods
doublebeats_per_minute ()
doubleframes_per_beat (long)

audio samples per beat

sr
samplerate
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

@@ -1784,9 +3475,31 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C

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

- - + + + + + + + + + +
Methods
--MISSING (ARDOUR::MeterSection*)--add_meter (Meter, double, BBT_TIME, long, --MISSING (ARDOUR::PositionLockStyle)--)
--MISSING (ARDOUR::TempoSection*)--add_tempo (Tempo, double, long, --MISSING (ARDOUR::TempoSection::Type)--, --MISSING (ARDOUR::PositionLockStyle)--)
MeterSectionadd_meter (Meter, double, BBT_TIME, PositionLockStyle)
TempoSectionadd_tempo (Tempo, double, long, Type, 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)
MeterSectionmeter_section_at_beat (double)
MeterSectionmeter_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_func ()
+

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

@@ -1803,11 +3516,8 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C boolcan_record () boolisnil () Playlistplaylist () - boolrecord_enabled () - boolrecord_safe () + boolsameinstance (Track) boolset_name (std::string) - voidset_record_enabled (bool, GroupControlDisposition) - voidset_record_safe (bool, GroupControlDisposition) Cast AudioTrackto_audio_track () MidiTrackto_midi_track () @@ -1823,6 +3533,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C 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 () @@ -1831,6 +3542,10 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C 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

boolremove_sidechain (Processor) @@ -1840,13 +3555,65 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C

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

Inherited from ARDOUR:Stripable

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Methods
AutomationControlcomp_enable_control ()
AutomationControlcomp_makeup_control ()
AutomationControlcomp_mode_control ()
std::stringcomp_mode_name (unsigned int)
AutomationControlcomp_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_hpf_control ()
AutomationControleq_q_control (unsigned int)
AutomationControleq_shape_control (unsigned int)
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, bool)
SoloControlsolo_control ()
SoloIsolateControlsolo_isolate_control ()
SoloSafeControlsolo_safe_control ()
GainControltrim_control ()
Cast
Routeto_route ()

Inherited from ARDOUR:SessionObject

@@ -1863,21 +3630,25 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
Methods
+
Methods
boolisnil ()
boolsameinstance (UnknownProcessor)

Inherited from ARDOUR:Processor

- - + + + + +
Methods
voidactivate ()
boolactive ()
AutomationControlautomation_control (Parameter, bool)
Controlcontrol (Parameter, bool)
voiddeactivate ()
std::stringdisplay_name ()
ChanCountinput_streams ()
ChanCountoutput_streams ()
Cast
Ampto_amp ()
Automatableto_automatable ()
PluginInsertto_insert ()
IOProcessorto_ioprocessor ()
PeakMeterto_meter ()
MonitorProcessorto_monitorprocessor ()
PeakMeterto_peakmeter ()
SideChainto_sidechain ()
UnknownProcessorto_unknownprocessor ()
@@ -1928,6 +3699,13 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C unsigned longsize () LuaTabletable () +

 ArdourUI

+
+ + + + +
Methods
std::stringhttp_get (std::string)
ProcessorVectorprocessor_selection ()

 ArdourUI:ArdourMarker

C‡: ArdourMarker

@@ -1945,7 +3723,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C Constructor ℂArdourUI.ArdourMarkerList () Methods - LuaTableadd (LuaTable {ArdourMarker* }) + LuaTableadd (ArdourMarker* ) boolempty () LuaIteriter () voidpush_back (ArdourMarker) @@ -1971,6 +3749,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C voiddeselect_all () LuaTable(...)do_embed (StringVector, ImportDisposition, ImportMode, long&, PluginInfo) LuaTable(...)do_import (StringVector, ImportDisposition, ImportMode, SrcQuality, long&, PluginInfo) +

Import existing media

booldragging_playhead ()

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

MouseModeeffective_mouse_mode () @@ -2061,7 +3840,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C Constructor ℂArdourUI.ArdourMarkerList () Methods - LuaTableadd (LuaTable {ArdourMarker* }) + LuaTableadd (ArdourMarker* ) boolempty () LuaIteriter () voidpush_back (ArdourMarker) @@ -2138,6 +3917,17 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C Methods RouteListroutelist () +

 C:ByteArray

+

C‡: unsigned char*

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

 C:DoubleVector

C‡: std::vector<double >

@@ -2164,6 +3954,36 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C boolsameinstance (FloatArray) voidset_table (LuaTable {float}) +

 C:FloatArrayVector

+

C‡: std::vector<float* >

+
+ + + + + + + + + + + +
Constructor
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 ()
Methods
LuaTableadd (LuaTable {float})
floatat (unsigned long)
boolempty ()
LuaIteriter ()
voidpush_back (float)
unsigned longsize ()
LuaTabletable ()

 C:IntArray

C‡: int*

@@ -2267,6 +4087,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C voidscale (double, double)

Modifies the current transformation matrix (CTM) by scaling the X and Y user-space axes by sx and sy respectively. The scaling of the axes takes place after any existing transformation of user space.

sx
scale factor for the X dimension
sy
scale factor for the Y dimension
voidset_dash (DoubleVector, double) +

Sets the dash pattern to be used by stroke(). A dash pattern is specified by dashes, an array of positive values. Each value provides the user-space length of altenate "on" and "off" portions of the stroke. The offset specifies an offset into the pattern at which the stroke begins.

Each "on" segment will have caps applied as if the segment were a separate sub-path. In particular, it is valid to use an "on" length of 0.0 with Cairo::LINE_CAP_ROUND or Cairo::LINE_CAP_SQUARE in order to distributed dots or squares along a path.

Note: The length values are in user-space units as evaluated at the time of stroking. This is not necessarily the same as the user space at the time of set_dash().

If dashes is empty dashing is disabled. If the size of dashes is 1, a symmetric pattern is assumed with alternating on and off portions of the size specified by the single value in dashes.

It is invalid for any value in dashes to be negative, or for all values to be 0. If this is the case, an exception will be thrown

dashes
an array specifying alternate lengths of on and off portions
offset
an offset into the dash pattern at which the stroke should start
voidset_font_size (double)

Sets the current font matrix to a scale by a factor of size, replacing any font matrix previously set with set_font_size() or set_font_matrix(). This results in a font size of size user space units. (More precisely, this matrix will result in the font's em-square being a by size square in user space.)

If text is drawn without a call to set_font_size(), (nor set_font_matrix() nor set_scaled_font()), the default font size is 10.0.

size
the new font size, in user space units)
voidset_line_cap (LineCap) @@ -2292,11 +4113,63 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C voidunset_dash ()

This function disables a dash pattern that was set with set_dash()

+

 Cairo:ImageSurface

+

C‡: LuaCairo::ImageSurface

+
+

wrap RefPtr< Cairo::ImageSurface >

Image surfaces provide the ability to render to memory buffers either allocated by cairo or by the calling code. The supported image formats are those defined in Cairo::Format.

+ + + + + + + + + + + + + +
Constructor
Cairo.ImageSurface (Format, int, int)
Methods
Contextcontext ()

Returns a context object to perform operations on the surface

intget_height ()

Gets the height of the ImageSurface in pixels

intget_stride ()

Returns the stride of the image surface in bytes (or 0 if surface is not an image surface). The stride is the distance in bytes from the beginning of one row of the image data to the beginning of the next row.

intget_width ()

Gets the width of the ImageSurface in pixels

voidset_as_source (Context, int, int)
+

 Cairo:PangoLayout

+

C‡: LuaCairo::PangoLayout

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Constructor
Cairo.PangoLayout (Context, std::string)
Methods
EllipsizeModeget_ellipsize ()

Gets the type of ellipsization being performed for layout. See set_ellipsize()

Use is_ellipsized() to query whether any paragraphs were actually ellipsized.

Returns The current ellipsization mode for layout.

...get_pixel_size (--lua--)

Determines the logical width and height of a Pango::Layout in device units.

std::stringget_text ()

Gets the text in the layout. The returned text should not be freed or modified.

Returns The text in the layout.

WrapModeget_wrap ()

Gets the wrap mode for the layout.

Use is_wrapped() to query whether any paragraphs were actually wrapped.

Returns Active wrap mode.

boolis_ellipsized ()

Queries whether the layout had to ellipsize any paragraphs.

This returns true if the ellipsization mode for layout is not Pango::ELLIPSIZE_NONE, a positive width is set on layout, and there are paragraphs exceeding that width that have to be ellipsized.

Returns true if any paragraphs had to be ellipsized, false otherwise.

boolis_wrapped ()

Queries whether the layout had to wrap any paragraphs.

This returns true if a positive width is set on layout, ellipsization mode of layout is set to Pango::ELLIPSIZE_NONE, and there are paragraphs exceeding the layout width that have to be wrapped.

Returns true if any paragraphs had to be wrapped, false otherwise.

voidset_ellipsize (EllipsizeMode)

Sets the type of ellipsization being performed for layout. Depending on the ellipsization mode ellipsize text is removed from the start, middle, or end of text so they fit within the width and height of layout set with set_width() and set_height().

If the layout contains characters such as newlines that force it to be layed out in multiple paragraphs, then whether each paragraph is ellipsized separately or the entire layout is ellipsized as a whole depends on the set height of the layout. See set_height() for details.

ellipsize
The new ellipsization mode for layout.
voidset_markup (std::string)

Sets the layout text and attribute list from marked-up text (see markup format). Replaces the current text and attribute list.

markup
Some marked-up text.
voidset_text (std::string)

Set the text of the layout.

text
The text for the layout.
voidset_width (int)

Sets the width to which the lines of the Pango::Layout should wrap or ellipsized. The default value is -1: no width set.

width
The desired width in Pango units, or -1 to indicate that no wrapping or ellipsization should be performed.
voidset_wrap (WrapMode)

Sets the wrap mode; the wrap mode only has effect if a width is set on the layout with set_width(). To turn off wrapping, set the width to -1.

wrap
The wrap mode.
voidshow_in_cairo_context (Context)

 Evoral:Beats

C‡: Evoral::Beats

Musical time in beats.

+ + +
Constructor
Evoral.Beats (double)

Create from a real number of beats.

Methods
doubleto_double ()
@@ -2308,6 +4181,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C Methods boolisnil () ControlListlist () + boolsameinstance (Control)

 Evoral:ControlList

C‡: boost::shared_ptr< Evoral::ControlList >, boost::weak_ptr< Evoral::ControlList >

@@ -2327,6 +4201,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C boolisnil () 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

+ boolsameinstance (ControlList) voidset_interpolation (InterpolationStyle)

set the interpolation style of the automation data

is
interpolation style
voidthin (double) @@ -2342,6 +4217,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C +
Methods
boolisnil ()
boolsameinstance (ControlSet)

 Evoral:Event

C‡: Evoral::Event<long>

@@ -2349,29 +4225,29 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C + + + + +
Methods
unsigned char*buffer ()
unsigned charchannel ()
voidclear ()
voidset_buffer (unsigned int, unsigned char*, bool)
voidset_channel (unsigned char)
voidset_type (unsigned char)
unsigned intsize ()
longtime ()
unsigned chartype ()
-

 Evoral:MidiEvent

-

C‡: Evoral::MIDIEvent<long>

-

is-a: Evoral:Event

+

 Evoral:NotePtr

+

C‡: boost::shared_ptr< Evoral::Note<Evoral::Beats> >, boost::weak_ptr< Evoral::Note<Evoral::Beats> >

- - - - + + + + + + + +
Methods
unsigned charchannel ()
voidset_channel (unsigned char)
voidset_type (unsigned char)
unsigned chartype ()
unsigned charchannel ()
boolisnil ()
Beatslength ()
unsigned charnote ()
unsigned charoff_velocity ()
boolsameinstance (NotePtr)
Beatstime ()
unsigned charvelocity ()
-

Inherited from Evoral:Event

- - - - - - -
Methods
unsigned char*buffer ()
voidclear ()
voidset_buffer (unsigned int, unsigned char*, bool)
unsigned intsize ()

 Evoral:Parameter

C‡: Evoral::Parameter

@@ -2393,9 +4269,13 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C ℂEvoral.ParameterDescriptor () Data Members floatlower +

Minimum value (in Hz, for frequencies)

floatnormal +

Default value

booltoggled +

True iff parameter is boolean

floatupper +

Maximum value (in Hz, for frequencies)

 Evoral:Range

C‡: Evoral::Range<long>

@@ -2407,6 +4287,15 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C longfrom longto +

 Evoral:Sequence

+

C‡: boost::shared_ptr< Evoral::Sequence<Evoral::Beats> >, boost::weak_ptr< Evoral::Sequence<Evoral::Beats> >

+

is-a: Evoral:ControlSet

+
+ + + + +
Methods
boolisnil ()
boolsameinstance (Sequence)

 LuaSignal:Set

C‡: std::bitset<47ul>

@@ -2414,7 +4303,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C Constructor ℂLuaSignal.Set () Methods - LuaTableadd (LuaTable {47ul}) + LuaTableadd (47ul) boolany () unsigned longcount () boolnone () @@ -2424,6 +4313,13 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C LuaTabletable () booltest (unsigned long) +

 PBD

+
+ + + + +
Methods
boolopen_uri (std::string)
boolopen_uri (std::string)

 PBD:Command

C‡: Command

is-a: PBD:StatefulDestructible

@@ -2442,6 +4338,20 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C IDid () OwnedPropertyListproperties () +

 PBD:Configuration

+

C‡: PBD::Configuration

+

is-a: PBD:Stateful

+
+

Base class for objects with saveable and undoable state

+

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

+

Inherited from PBD:Stateful

+ + + + + + +
Methods
voidclear_changes ()

Forget about any changes to this object's properties

IDid ()
OwnedPropertyListproperties ()

 PBD:Controllable

C‡: boost::shared_ptr< PBD::Controllable >, boost::weak_ptr< PBD::Controllable >

is-a: PBD:StatefulDestructiblePtr

@@ -2452,6 +4362,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C doubleget_value () boolisnil () std::stringname () + boolsameinstance (Controllable)

Inherited from PBD:StatefulPtr

@@ -2471,6 +4382,69 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
Methods
std::stringto_s ()
+

 PBD:IdVector

+

C‡: std::vector<PBD::ID >

+
+ + + + + + + + + + + +
Constructor
PBD.IdVector ()
Methods
LuaTableadd (LuaTable {ID})
IDat (unsigned long)
boolempty ()
LuaIteriter ()
voidpush_back (ID)
unsigned longsize ()
LuaTabletable ()
+

 PBD:RingBuffer8

+

C‡: PBD::RingBufferNPT<unsigned char>

+
+ + + + + + + + + + + + +
Constructor
PBD.RingBuffer8 (unsigned long)
Methods
voidincrement_read_ptr (unsigned long)
voidincrement_write_ptr (unsigned long)
unsigned longread (unsigned char*, unsigned long)
unsigned longread_space ()
voidreset ()
unsigned longwrite (unsigned char*, unsigned long)
unsigned longwrite_one (unsigned char)
unsigned longwrite_space ()
+

 PBD:RingBufferF

+

C‡: PBD::RingBufferNPT<float>

+
+ + + + + + + + + + + + +
Constructor
PBD.RingBufferF (unsigned long)
Methods
voidincrement_read_ptr (unsigned long)
voidincrement_write_ptr (unsigned long)
unsigned longread (FloatArray, unsigned long)
unsigned longread_space ()
voidreset ()
unsigned longwrite (FloatArray, unsigned long)
unsigned longwrite_one (float)
unsigned longwrite_space ()
+

 PBD:RingBufferI

+

C‡: PBD::RingBufferNPT<int>

+
+ + + + + + + + + + + + +
Constructor
PBD.RingBufferI (unsigned long)
Methods
voidincrement_read_ptr (unsigned long)
voidincrement_write_ptr (unsigned long)
unsigned longread (IntArray, unsigned long)
unsigned longread_space ()
voidreset ()
unsigned longwrite (IntArray, unsigned long)
unsigned longwrite_one (int)
unsigned longwrite_space ()

 PBD:Stateful

C‡: PBD::Stateful

@@ -2504,6 +4478,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C +
Methods
boolisnil ()
boolsameinstance (StatefulDestructible)

Inherited from PBD:StatefulPtr

@@ -2548,6 +4523,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C +
IDid ()
boolisnil ()
OwnedPropertyListproperties ()
boolsameinstance (Stateful)

 PBD:XMLNode

C‡: XMLNode

@@ -2563,6 +4539,276 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C + + + + +
Constructor
Timecode.BBT_TIME (unsigned int, unsigned int, unsigned int)
Data Members
unsigned intbars
unsigned intbeats
unsigned intticks
+

 Timecode:Time

+

C‡: Timecode::Time

+
+ + + + + + + + + + + + + + + + +
Constructor
Timecode.Time (double)
Data Members
booldrop

Whether this Time uses dropframe Timecode

unsigned intframes

Timecode frames (not audio samples)

unsigned inthours
unsigned intminutes
boolnegative
doublerate

Frame rate of this Time

unsigned intseconds
unsigned intsubframes

Typically unused

+

 Vamp:Plugin

+

C‡: Vamp::Plugin

+

is-a: Vamp:PluginBase

+
+

Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio or related data.

In most cases, the input will be audio and the output will be a stream of derived data at a lower sampling resolution than the input.

Note that this class inherits several abstract methods from PluginBase. These must be implemented by the subclass.

PLUGIN LIFECYCLE

Feature extraction plugins are managed differently from real-time plugins (such as VST effects). The main difference is that the parameters for a feature extraction plugin are configured before the plugin is used, and do not change during use.

1. Host constructs the plugin, passing it the input sample rate. The plugin may do basic initialisation, but should not do anything computationally expensive at this point. You must make sure your plugin is cheap to construct, otherwise you'll seriously affect the startup performance of almost all hosts. If you have serious initialisation to do, the proper place is in initialise() (step 5).

2. Host may query the plugin's available outputs.

3. Host queries programs and parameter descriptors, and may set some or all of them. Parameters that are not explicitly set should take their default values as specified in the parameter descriptor. When a program is set, the parameter values may change and the host will re-query them to check.

4. Host queries the preferred step size, block size and number of channels. These may all vary depending on the parameter values. (Note however that you cannot make the number of distinct outputs dependent on parameter values.)

5. Plugin is properly initialised with a call to initialise. This fixes the step size, block size, and number of channels, as well as all of the parameter and program settings. If the values passed in to initialise do not match the plugin's advertised preferred values from step 4, the plugin may refuse to initialise and return false (although if possible it should accept the new values). Any computationally expensive setup code should take place here.

6. Host finally checks the number of values, resolution, extents etc per output (which may vary depending on the number of channels, step size and block size as well as the parameter values).

7. Host will repeatedly call the process method to pass in blocks of input data. This method may return features extracted from that data (if the plugin is causal).

8. Host will call getRemainingFeatures exactly once, after all the input data has been processed. This may return any non-causal or leftover features.

9. At any point after initialise was called, the host may optionally call the reset method and restart processing. (This does not mean it can change the parameters, which are fixed from initialise until destruction.)

A plugin does not need to handle the case where setParameter or selectProgram is called after initialise has been called. It's the host's responsibility not to do that. Similarly, the plugin may safely assume that initialise is called no more than once.

+ + + + + + + + + + + + + + + + + + + + + + +
Methods
InputDomaingetInputDomain ()

Get the plugin's required input domain.

If this is TimeDomain, the samples provided to the process() function (below) will be in the time domain, as for a traditional audio processing plugin.

If this is FrequencyDomain, the host will carry out a windowed FFT of size equal to the negotiated block size on the data before passing the frequency bin data in to process(). The input data for the FFT will be rotated so as to place the origin in the centre of the block. The plugin does not get to choose the window type -- the host will either let the user do so, or will use a Hanning window.

unsigned longgetMaxChannelCount ()

Get the maximum supported number of input channels.

unsigned longgetMinChannelCount ()

Get the minimum supported number of input channels.

OutputListgetOutputDescriptors ()

Get the outputs of this plugin. An output's index in this list is used as its numeric index when looking it up in the FeatureSet returned from the process() call.

unsigned longgetPreferredBlockSize ()

Get the preferred block size (window size -- the number of sample frames passed in each block to the process() function). This should be called before initialise().

A plugin that can handle any block size may return 0. The final block size will be set in the initialise() call.

unsigned longgetPreferredStepSize ()

Get the preferred step size (window increment -- the distance in sample frames between the start frames of consecutive blocks passed to the process() function) for the plugin. This should be called before initialise().

A plugin may return 0 if it has no particular interest in the step size. In this case, the host should make the step size equal to the block size if the plugin is accepting input in the time domain. If the plugin is accepting input in the frequency domain, the host may use any step size. The final step size will be set in the initialise() call.

FeatureSetgetRemainingFeatures ()

After all blocks have been processed, calculate and return any remaining features derived from the complete input.

std::stringgetType ()

Used to distinguish between Vamp::Plugin and other potential sibling subclasses of PluginBase. Do not reimplement this function in your subclass.

boolinitialise (unsigned long, unsigned long, unsigned long)

Initialise a plugin to prepare it for use with the given number of input channels, step size (window increment, in sample frames) and block size (window size, in sample frames).

The input sample rate should have been already specified at construction time.

Return true for successful initialisation, false if the number of input channels, step size and/or block size cannot be supported.

voidreset ()

Reset the plugin after use, to prepare it for another clean run. Not called for the first initialisation (i.e. initialise must also do a reset).

+

Inherited from Vamp:PluginBase

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Methods
std::stringgetCopyright ()

Get the copyright statement or licensing summary for the plugin. This can be an informative text, without the same presentation constraints as mentioned for getMaker above.

std::stringgetCurrentProgram ()

Get the current program.

std::stringgetDescription ()

Get a human-readable description for the plugin, typically a line of text that may optionally be displayed in addition to the plugin's "name". May be empty if the name has said it all already.

Example: "Detect and count zero crossing points"

std::stringgetIdentifier ()

Get the computer-usable name of the plugin. This should be reasonably short and contain no whitespace or punctuation characters. It may only contain the characters [a-zA-Z0-9_-]. This is the authoritative way for a program to identify a plugin within a given library.

This text may be visible to the user, but it should not be the main text used to identify a plugin to the user (that will be the name, below).

Example: "zero_crossings"

std::stringgetMaker ()

Get the name of the author or vendor of the plugin in human-readable form. This should be a short identifying text, as it may be used to label plugins from the same source in a menu or similar.

std::stringgetName ()

Get a human-readable name or title of the plugin. This should be brief and self-contained, as it may be used to identify the plugin to the user in isolation (i.e. without also showing the plugin's "identifier").

Example: "Zero Crossings"

floatgetParameter (std::string)

Get the value of a named parameter. The argument is the identifier field from that parameter's descriptor.

ParameterListgetParameterDescriptors ()

Get the controllable parameters of this plugin.

intgetPluginVersion ()

Get the version number of the plugin.

StringVectorgetPrograms ()

Get the program settings available in this plugin. A program is a named shorthand for a set of parameter values; changing the program may cause the plugin to alter the values of its published parameters (and/or non-public internal processing parameters). The host should re-read the plugin's parameter values after setting a new program.

The programs must have unique names.

voidselectProgram (std::string)

Select a program. (If the given program name is not one of the available programs, do nothing.)

voidsetParameter (std::string, float)

Set a named parameter. The first argument is the identifier field from that parameter's descriptor.

+

 Vamp:Plugin:Feature

+

C‡: Vamp::Plugin::Feature

+
+ + + + + + + + + + + + + + +
Data Members
Vamp:RealTimeduration

Duration of the output feature. This is mandatory if the output has VariableSampleRate or FixedSampleRate and hasDuration is true, and unused otherwise.

boolhasDuration

True if an output feature has a specified duration. This is optional if the output has VariableSampleRate or FixedSampleRate, and and unused if the output has OneSamplePerStep.

boolhasTimestamp

True if an output feature has its own timestamp. This is mandatory if the output has VariableSampleRate, optional if the output has FixedSampleRate, and unused if the output has OneSamplePerStep.

std::stringlabel

Label for the sample of this feature.

Vamp:RealTimetimestamp

Timestamp of the output feature. This is mandatory if the output has VariableSampleRate or if the output has FixedSampleRate and hasTimestamp is true, and unused otherwise.

C:FloatVectorvalues

Results for a single sample of this feature. If the output hasFixedBinCount, there must be the same number of values as the output's binCount count.

+

 Vamp:Plugin:FeatureList

+

C‡: std::vector<Vamp::Plugin::Feature >

+
+ + + + + + + + + + + +
Constructor
Vamp.Plugin.FeatureList ()
Methods
LuaTableadd (LuaTable {Feature})
Featureat (unsigned long)
boolempty ()
LuaIteriter ()
voidpush_back (Feature)
unsigned longsize ()
LuaTabletable ()
+

 Vamp:Plugin:FeatureSet

+

C‡: std::map<int, std::vector<Vamp::Plugin::Feature > > > >

+
+ + + + + + + + + + + + +
Constructor
Vamp.Plugin.FeatureSet ()
Methods
LuaTableadd (LuaTable {Feature})
...at (--lua--)
voidclear ()
unsigned longcount (int)
boolempty ()
LuaIteriter ()
unsigned longsize ()
LuaTabletable ()
+

 Vamp:Plugin:OutputDescriptor

+

C‡: Vamp::Plugin::OutputDescriptor

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Data Members
unsigned longbinCount

The number of values per result of the output. Undefined if hasFixedBinCount is false. If this is zero, the output is point data (i.e. only the time of each output is of interest, the value list will be empty).

C:StringVectorbinNames

The (human-readable) names of each of the bins, if appropriate. This is always optional.

std::stringdescription

A human-readable short text describing the output. May be empty if the name has said it all already. Example: "The number of zero crossing points per processing block"

boolhasDuration

True if the returned results for this output are known to have a duration field.

boolhasFixedBinCount

True if the output has the same number of values per sample for every output sample. Outputs for which this is false are unlikely to be very useful in a general-purpose host.

boolhasKnownExtents

True if the results in each output bin fall within a fixed numeric range (minimum and maximum values). Undefined if binCount is zero.

std::stringidentifier

The name of the output, in computer-usable form. Should be reasonably short and without whitespace or punctuation, using the characters [a-zA-Z0-9_-] only. Example: "zero_crossing_count"

boolisQuantized

True if the output values are quantized to a particular resolution. Undefined if binCount is zero.

floatmaxValue

Maximum value of the results in the output. Undefined if hasKnownExtents is false or binCount is zero.

floatminValue

Minimum value of the results in the output. Undefined if hasKnownExtents is false or binCount is zero.

floatquantizeStep

Quantization resolution of the output values (e.g. 1.0 if they are all integers). Undefined if isQuantized is false or binCount is zero.

floatsampleRate

Sample rate of the output results, as samples per second. Undefined if sampleType is OneSamplePerStep.

If sampleType is VariableSampleRate and this value is non-zero, then it may be used to calculate a resolution for the output (i.e. the "duration" of each sample, in time, will be 1/sampleRate seconds). It's recommended to set this to zero if that behaviour is not desired.

Vamp.Plugin.OutputDescriptor.SampleTypesampleType

Positioning in time of the output results.

std::stringunit

The unit of the output, in human-readable form.

+

 Vamp:Plugin:OutputList

+

C‡: std::vector<Vamp::Plugin::OutputDescriptor >

+
+ + + + + + + + + + + +
Constructor
Vamp.Plugin.OutputList ()
Methods
LuaTableadd (LuaTable {OutputDescriptor})
OutputDescriptorat (unsigned long)
boolempty ()
LuaIteriter ()
voidpush_back (OutputDescriptor)
unsigned longsize ()
LuaTabletable ()
+

 Vamp:PluginBase

+

C‡: Vamp::PluginBase

+
+

A base class for plugins with optional configurable parameters, programs, etc. The Vamp::Plugin is derived from this, and individual Vamp plugins should derive from that.

This class does not provide the necessary interfaces to instantiate or run a plugin. It only specifies an interface for retrieving those controls that the host may wish to show to the user for editing. It could meaningfully be subclassed by real-time plugins or other sorts of plugin as well as Vamp plugins.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Methods
std::stringgetCopyright ()

Get the copyright statement or licensing summary for the plugin. This can be an informative text, without the same presentation constraints as mentioned for getMaker above.

std::stringgetCurrentProgram ()

Get the current program.

std::stringgetDescription ()

Get a human-readable description for the plugin, typically a line of text that may optionally be displayed in addition to the plugin's "name". May be empty if the name has said it all already.

Example: "Detect and count zero crossing points"

std::stringgetIdentifier ()

Get the computer-usable name of the plugin. This should be reasonably short and contain no whitespace or punctuation characters. It may only contain the characters [a-zA-Z0-9_-]. This is the authoritative way for a program to identify a plugin within a given library.

This text may be visible to the user, but it should not be the main text used to identify a plugin to the user (that will be the name, below).

Example: "zero_crossings"

std::stringgetMaker ()

Get the name of the author or vendor of the plugin in human-readable form. This should be a short identifying text, as it may be used to label plugins from the same source in a menu or similar.

std::stringgetName ()

Get a human-readable name or title of the plugin. This should be brief and self-contained, as it may be used to identify the plugin to the user in isolation (i.e. without also showing the plugin's "identifier").

Example: "Zero Crossings"

floatgetParameter (std::string)

Get the value of a named parameter. The argument is the identifier field from that parameter's descriptor.

ParameterListgetParameterDescriptors ()

Get the controllable parameters of this plugin.

intgetPluginVersion ()

Get the version number of the plugin.

StringVectorgetPrograms ()

Get the program settings available in this plugin. A program is a named shorthand for a set of parameter values; changing the program may cause the plugin to alter the values of its published parameters (and/or non-public internal processing parameters). The host should re-read the plugin's parameter values after setting a new program.

The programs must have unique names.

std::stringgetType ()

Get the type of plugin. This is to be implemented by the immediate subclass, not by actual plugins. Do not attempt to implement this in plugin code.

voidselectProgram (std::string)

Select a program. (If the given program name is not one of the available programs, do nothing.)

voidsetParameter (std::string, float)

Set a named parameter. The first argument is the identifier field from that parameter's descriptor.

+

 Vamp:PluginBase:ParameterDescriptor

+

C‡: Vamp::PluginBase::ParameterDescriptor

+
+ + + + + + + + + + + + + + + + + + + + + + +
Data Members
floatdefaultValue

The default value of the parameter. The plugin should ensure that parameters have this value on initialisation (i.e. the host is not required to explicitly set parameters if it wants to use their default values).

std::stringdescription

A human-readable short text describing the parameter. May be empty if the name has said it all already.

std::stringidentifier

The name of the parameter, in computer-usable form. Should be reasonably short, and may only contain the characters [a-zA-Z0-9_-].

boolisQuantized

True if the parameter values are quantized to a particular resolution.

floatmaxValue

The maximum value of the parameter.

floatminValue

The minimum value of the parameter.

std::stringname

The human-readable name of the parameter.

floatquantizeStep

Quantization resolution of the parameter values (e.g. 1.0 if they are all integers). Undefined if isQuantized is false.

std::stringunit

The unit of the parameter, in human-readable form.

C:StringVectorvalueNames

Names for the quantized values. If isQuantized is true, this may either be empty or contain one string for each of the quantize steps from minValue up to maxValue inclusive. Undefined if isQuantized is false.

If these names are provided, they should be shown to the user in preference to the values themselves. The user may never see the actual numeric values unless they are also encoded in the names.

+

 Vamp:PluginBase:ParameterList

+

C‡: std::vector<Vamp::PluginBase::ParameterDescriptor >

+
+ + + + + + + + + + + +
Constructor
Vamp.PluginBase.ParameterList ()
Methods
LuaTableadd (LuaTable {ParameterDescriptor})
ParameterDescriptorat (unsigned long)
boolempty ()
LuaIteriter ()
voidpush_back (ParameterDescriptor)
unsigned longsize ()
LuaTabletable ()
+

 Vamp:RealTime

+

C‡: Vamp::RealTime

+
+

RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conversion functions.

+ + + + + + + + + + + + +
Constructor
Vamp.RealTime (int, int)
Methods
RealTimeframe2RealTime (long, unsigned int)
intmsec ()
longrealTime2Frame (RealTime, unsigned int)
std::stringtoString ()

Return a human-readable debug-type string to full precision (probably not a format to show to a user directly)

intusec ()
Data Members
intnsec
intsec

Enum/Constants

 PBD.Controllable.GroupControlDisposition

@@ -2571,12 +4817,37 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
  • PBD.GroupControlDisposition.NoGroup
  • PBD.GroupControlDisposition.UseGroup
  • +

     Timecode.TimecodeFormat

    +

     Evoral.ControlList.InterpolationStyle

    +

     Vamp.Plugin.InputDomain

    + +

     Vamp.Plugin.OutputDescriptor.SampleType

    +

     ARDOUR.ChanMapping

    +

     ARDOUR.PresentationInfo

    +

     ARDOUR.PluginType

    +

     ARDOUR.PresentationInfo.Flag

    +

     ARDOUR.AutoStyle

     ARDOUR.AutomationType

     ARDOUR.SrcQuality

    +

     ARDOUR.MeterType

    + +

     ARDOUR.MeterPoint

    + +

     ARDOUR.Placement

    + +

     ARDOUR.NoteMode

    +

     ARDOUR.PortFlags

    +

     ARDOUR.MidiPortFlags

    +

     ARDOUR.PlaylistDisposition

    +

     ARDOUR.PositionLockStyle

    + +

     ARDOUR.TempoSection.Type

    +

     ARDOUR.TrackMode

    +

     ARDOUR.SampleFormat

    + +

     ARDOUR.HeaderFormat

    + +

     ARDOUR.InsertMergePolicy

    +

     ARDOUR.Session.RecordState

    +

     ARDOUR.DSP.Biquad.Type

    +

     Cairo.LineCap

    +

     Cairo.Format

    + +

     Pango.EllipsizeMode

    + +

     Pango.WrapMode

    +

     LuaSignal.LuaSignal

     ArdourMarker.Type

    -

     ARDOUR.DSP.Biquad.Type

    -

    Class Index

    - + -
    Ardour 4.7-1385-gca8ac05  -  Tue, 31 May 2016 03:23:16 +0200
    +
    Ardour 5.5-66-g4992ed1  -  Thu, 08 Dec 2016 13:34:35 +0100