This documentation is far from complete may be inaccurate and subject to change.
The top-level entry point are ARDOUR:Session and ArdourUI:Editor. Most other Classes are used indirectly starting with a Session function. e.g. Session:get_routes().
A few classes are dedicated to certain script types, e.g. Lua DSP processors have exclusive access to ARDOUR.DSP and ARDOUR:ChanMapping. Action Hooks Scripts to LuaSignal:Set etc.
Detailed documentation (parameter names, method description) is not yet available. Please stay tuned.
Ardour's structure is object oriented. The main object is the Session. A Session contains Audio Tracks, Midi Tracks and Busses. Audio and Midi tracks are derived from a more general "Track" Object, which in turn is derived from a "Route" (aka Bus). (We say "An Audio Track is-a Track is-a Route"). Tracks contain specifics. For Example a track has-a diskstream (for file i/o).
Operations are performed on objects. One gets a reference to an object and then calls a method.
e.g obj = Session:route_by_name("Audio") obj:set_name("Guitar")
.
Lua automatically follows C++ class inheritance. e.g one can directly call all SessionObject and Route methods on Track object. However lua does not automatically promote objects. A Route object which just happens to be a Track needs to be explicily cast to a Track. Methods for casts are provided with each class. Note that the cast may fail and return a nil reference.
Likewise multiple inheritance is a non-trivial issue in lua. To avoid performance penalties involved with lookups, explicit casts are required in this case. One example is ARDOUR:SessionObject which is-a StatefulDestructible which inhertis from both Stateful and Destructible.
Object lifetimes are managed by the Session. Most Objects cannot be directly created, but one asks the Session to create or destroy them. This is mainly due to realtime constrains: you cannot simply remove a track that is currently processing audio. There are various factory methods for object creation or removal.
Since lua functions are closures, C++ methods that pass arguments by reference cannot be used as-is. All parameters passed to a C++ method which uses references are returned as Lua Table. If the C++ method also returns a value it is prefixed. Two parameters are returned: the value and a Lua Table holding the parameters.
void set_ref (int& var, long& val)
{
printf ("%d %ld\n", var, val);
var = 5;
val = 7;
}
local var = 0; ref = set_ref (var, 2); -- output from C++ printf()
0 2-- var is still 0 here print (ref[1], ref[2])
5 7
int set_ref2 (int &var, std::string unused)
{
var = 5;
return 3;
}
rv, ref = set_ref2 (0, "hello");
print (rv, ref[1], ref[2])
3 5 hello
Libardour makes extensive use of reference counted boost::shared_ptr
to manage lifetimes.
The Lua bindings provide a complete abstration of this. There are no pointers in lua.
For example a ARDOUR:Route is a pointer in C++, but lua functions operate on it like it was a class instance.
shared_ptr
are reference counted. Once assigned to a lua variable, the C++ object will be kept and remains valid.
It is good practice to assign references to lua local
variables or reset the variable to nil
to drop the ref.
All pointer classes have a isnil ()
method. This is for two cases:
Construction may fail. e.g. ARDOUR.LuaAPI.newplugin()
may not be able to find the given plugin and hence cannot create an object.
The second case if for boost::weak_ptr
. As opposed to boost::shared_ptr
weak-pointers are not reference counted.
The object may vanish at any time.
If lua code calls a method on a nil object, the interpreter will raise an exception and the script will not continue.
This is not unlike a = nil a:test()
which results in en error "attempt to index a nil value".
From the lua side of things there is no distinction between weak and shared pointers. They behave identically. Below they're inidicated in orange and have an arrow to indicate the pointer type. Pointer Classes cannot be created in lua scripts. It always requires a call to C++ to create the Object and obtain a reference to it.
C‡: boost::shared_ptr< ARDOUR::Amp >, boost::weak_ptr< ARDOUR::Amp >
is-a: ARDOUR:Processor
Applies a declick operation to all audio inputs, passing the same number of audio outputs, and passing through any other types unchanged.
Methods | ||
---|---|---|
GainControl | gain_control () | |
bool | isnil () |
Methods | ||
---|---|---|
void | activate () | |
bool | active () | |
void | deactivate () | |
std::string | display_name () | |
bool | display_to_user () | |
ChanCount | input_streams () | |
ChanCount | output_streams () | |
Cast | ||
Amp | to_amp () | |
Automatable | to_automatable () | |
PluginInsert | to_insert () | |
IOProcessor | to_ioprocessor () | |
PeakMeter | to_meter () | |
MonitorProcessor | to_monitorprocessor () | |
PeakMeter | to_peakmeter () | |
PluginInsert | to_plugininsert () | |
SideChain | to_sidechain () | |
UnknownProcessor | to_unknownprocessor () |
Methods | ||
---|---|---|
std::string | name () | |
Cast | ||
Stateful | to_stateful () | |
StatefulDestructible | to_statefuldestructible () |
C‡: boost::shared_ptr< ARDOUR::AudioBackend >, boost::weak_ptr< ARDOUR::AudioBackend >
AudioBackend is an high-level abstraction for interacting with the operating system's audio and midi I/O.
Methods | ||
---|---|---|
unsigned int | buffer_size () | |
std::string | device_name () | |
std::string | driver_name () | |
override this if this implementation returns true from requires_driver_selection() | ||
float | dsp_load () | |
return the fraction of the time represented by the current buffer size that is being used for each buffer process cycle, as a value from 0.0 to 1.0 E.g. if the buffer size represents 5msec and current processing takes 1msec, the returned value should be 0.2. Implementations can feel free to smooth the values returned over time (e.g. high pass filtering, or its equivalent). | ||
DeviceStatusVector | enumerate_devices () | |
Returns a collection of DeviceStatuses identifying devices discovered by this backend since the start of the process. Any of the names in each DeviceStatus may be used to identify a device in other calls to the backend, though any of them may become invalid at any time. | ||
StringVector | enumerate_drivers () | |
If the return value of requires_driver_selection() is true, then this function can return the list of known driver names. If the return value of requires_driver_selection() is false, then this function should not be called. If it is called its return value is an empty vector of strings. | ||
DeviceStatusVector | enumerate_input_devices () | |
Returns a collection of DeviceStatuses identifying input devices discovered by this backend since the start of the process. Any of the names in each DeviceStatus may be used to identify a device in other calls to the backend, though any of them may become invalid at any time. | ||
DeviceStatusVector | enumerate_output_devices () | |
Returns a collection of DeviceStatuses identifying output devices discovered by this backend since the start of the process. Any of the names in each DeviceStatus may be used to identify a device in other calls to the backend, though any of them may become invalid at any time. | ||
AudioBackendInfo | info () | |
Return the AudioBackendInfo object from which this backend was constructed. | ||
unsigned int | input_channels () | |
std::string | input_device_name () | |
bool | isnil () | |
unsigned int | output_channels () | |
std::string | output_device_name () | |
unsigned int | period_size () | |
float | sample_rate () | |
int | set_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). | ||
int | set_device_name (std::string) | |
Set the name of the device to be used | ||
int | set_driver (std::string) | |
Returns zero if the backend can successfully use Should not be used unless the backend returns true from requires_driver_selection()
| ||
int | set_input_device_name (std::string) | |
Set the name of the input device to be used if using separate input/output devices. use_separate_input_and_output_devices() | ||
int | set_output_device_name (std::string) | |
Set the name of the output device to be used if using separate input/output devices. use_separate_input_and_output_devices() | ||
int | set_peridod_size (unsigned int) | |
Set the period size to be used. must be called before starting the backend. | ||
int | set_sample_rate (float) | |
Set the sample rate to be used | ||
bool | use_separate_input_and_output_devices () | |
An optional alternate interface for backends to provide a facility to select separate input and output devices. If a backend returns true then enumerate_input_devices() and enumerate_output_devices() will be used instead of enumerate_devices() to enumerate devices. Similarly set_input/output_device_name() should be used to set devices instead of set_device_name(). |
C‡: ARDOUR::AudioBackendInfo
Data Members | ||
---|---|---|
char* | name |
C‡: ARDOUR::AudioBuffer
Buffer containing audio data.
Methods | ||
---|---|---|
void | apply_gain (float, long) | |
bool | check_silence (unsigned int, unsigned int&) | |
check buffer for silence
Returns true if all samples are zero | ||
FloatArray | data (long) | |
void | read_from (FloatArray, long, long, long) | |
void | silence (long, long) | |
silence buffer
|
C‡: ARDOUR::AudioEngine
is-a: ARDOUR:PortManager
Methods | ||
---|---|---|
BackendVector | available_backends () | |
std::string | current_backend_name () | |
float | get_dsp_load () | |
std::string | get_last_backend_error () | |
AudioBackend | set_backend (std::string, std::string, std::string) | |
int | set_buffer_size (unsigned int) | |
int | set_device_name (std::string) | |
int | set_sample_rate (float) | |
bool | setup_required () | |
int | start (bool) | |
int | stop (bool) |
Methods | ||
---|---|---|
int | connect (std::string, std::string) | |
bool | connected (std::string) | |
int | disconnect (std::string, std::string) | |
int | disconnect_port (Port) | |
LuaTable(int, ...) | get_backend_ports (std::string, DataType, PortFlags, StringVector&) | |
LuaTable(int, ...) | get_connections (std::string, StringVector&) | |
void | get_physical_inputs (DataType, StringVector&, MidiPortFlags, MidiPortFlags) | |
void | get_physical_outputs (DataType, StringVector&, MidiPortFlags, MidiPortFlags) | |
Port | get_port_by_name (std::string) | |
Returns Corresponding Port or 0. | ||
LuaTable(int, ...) | get_ports (DataType, PortList&) | |
std::string | get_pretty_name_by_name (std::string) | |
ChanCount | n_physical_inputs () | |
ChanCount | n_physical_outputs () | |
bool | physically_connected (std::string) | |
PortEngine | port_engine () | |
bool | port_is_physical (std::string) |
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 | ||
---|---|---|
bool | isnil () | |
long | read (FloatArray, FloatArray, FloatArray, long, long, unsigned int) |
Methods | ||
---|---|---|
void | add_region (Region, long, float, bool, int, double, bool) | |
Note: this calls set_layer (..., DBL_MAX) so it will reset the layering index of region | ||
Region | combine (RegionList) | |
unsigned int | count_regions_at (long) | |
Playlist | cut (AudioRangeList&, bool) | |
DataType | data_type () | |
void | duplicate (Region, long, long, float) | |
| ||
void | duplicate_range (AudioRange&, float) | |
void | duplicate_until (Region, long, long, long) | |
| ||
Region | find_next_region (long, RegionPoint, int) | |
long | find_next_region_boundary (long, int) | |
long | find_next_transient (long, int) | |
void | lower_region (Region) | |
void | lower_region_to_bottom (Region) | |
unsigned int | n_regions () | |
void | raise_region (Region) | |
void | raise_region_to_top (Region) | |
Region | region_by_id (ID) | |
RegionListPtr | region_list () | |
RegionListPtr | regions_at (long) | |
RegionListPtr | regions_touched (long, long) | |
Returns regions which have some part within this range. | ||
RegionListPtr | regions_with_end_within (Range) | |
RegionListPtr | regions_with_start_within (Range) | |
void | remove_region (Region) | |
void | split (long) | |
void | split_region (Region, MusicFrame) | |
Region | top_region_at (long) | |
Region | top_unmuted_region_at (long) | |
void | uncombine (Region) | |
Cast | ||
AudioPlaylist | to_audioplaylist () | |
MidiPlaylist | to_midiplaylist () |
Methods | ||
---|---|---|
std::string | name () | |
Cast | ||
Stateful | to_stateful () | |
StatefulDestructible | to_statefuldestructible () |
C‡: boost::shared_ptr< ARDOUR::AudioPort >, boost::weak_ptr< ARDOUR::AudioPort >
is-a: ARDOUR:Port
Methods | ||
---|---|---|
bool | isnil () |
Methods | ||
---|---|---|
int | connect (std::string) | |
bool | connected () | |
Returns true if this port is connected to anything | ||
bool | connected_to (std::string) | |
Returns true if this port is connected to o, otherwise false. | ||
int | disconnect (std::string) | |
int | disconnect_all () | |
std::string | name () | |
Returns Port short name | ||
std::string | pretty_name (bool) | |
Returns Port human readable name | ||
bool | receives_input () | |
Returns true if this Port receives input, otherwise false | ||
bool | sends_output () | |
Returns true if this Port sends output, otherwise false | ||
Cast | ||
AudioPort | to_audioport () | |
MidiPort | to_midiport () |
C‡: ARDOUR::AudioRange
Constructor | ||
---|---|---|
ℂ | ARDOUR.AudioRange (long, long, unsigned int) | |
Methods | ||
bool | equal (AudioRange) | |
long | length () | |
Data Members | ||
long | end | |
unsigned int | id | |
long | start |
C‡: std::list<ARDOUR::AudioRange >
Constructor | ||
---|---|---|
ℂ | ARDOUR.AudioRangeList () | |
Methods | ||
AudioRange | back () | |
bool | empty () | |
AudioRange | front () | |
LuaIter | iter () | |
void | reverse () | |
unsigned long | size () | |
LuaTable | table () |
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 | ||
---|---|---|
AudioSource | audio_source (unsigned int) | |
bool | isnil () | |
double | maximum_amplitude (Progress) | |
Returns the maximum (linear) amplitude of the region, or a -ve number if the Progress object reports that the process was cancelled. | ||
double | rms (Progress) | |
Returns the maximum (rms) signal power of the region, or a -1 if the Progress object reports that the process was cancelled. | ||
float | scale_amplitude () | |
void | set_scale_amplitude (float) |
Methods | ||
---|---|---|
bool | at_natural_position () | |
bool | automatic () | |
bool | can_move () | |
bool | captured () | |
void | clear_sync_position () | |
Control | control (Parameter, bool) | |
bool | covers (long) | |
void | cut_end (long, int) | |
void | cut_front (long, int) | |
DataType | data_type () | |
bool | external () | |
bool | has_transients () | |
bool | hidden () | |
bool | import () | |
bool | is_compound () | |
unsigned int | layer () | |
long | length () | |
bool | locked () | |
void | lower () | |
void | lower_to_bottom () | |
StringVector | master_source_names () | |
SourceList | master_sources () | |
void | move_start (long, int) | |
void | move_to_natural_position () | |
bool | muted () | |
unsigned int | n_channels () | |
void | nudge_position (long) | |
bool | opaque () | |
long | position () | |
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 | ||
bool | position_locked () | |
double | quarter_note () | |
void | raise () | |
void | raise_to_top () | |
void | set_hidden (bool) | |
void | set_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. | ||
void | set_length (long, int) | |
void | set_locked (bool) | |
void | set_muted (bool) | |
void | set_opaque (bool) | |
void | set_position (long, int) | |
void | set_position_locked (bool) | |
void | set_start (long) | |
void | set_sync_position (long) | |
Set the region's sync point.
| ||
void | set_video_locked (bool) | |
float | shift () | |
Source | source (unsigned int) | |
long | start () | |
float | stretch () | |
bool | sync_marked () | |
LuaTable(long, ...) | sync_offset (int&) | |
long | sync_position () | |
Returns Sync position in session time | ||
Int64List | transients () | |
void | trim_end (long, int) | |
void | trim_front (long, int) | |
void | trim_to (long, long, int) | |
bool | video_locked () | |
bool | whole_file () | |
Cast | ||
AudioRegion | to_audioregion () | |
MidiRegion | to_midiregion () | |
Readable | to_readable () |
Methods | ||
---|---|---|
std::string | name () | |
Cast | ||
Stateful | to_stateful () | |
StatefulDestructible | to_statefuldestructible () |
C‡: boost::shared_ptr< ARDOUR::AudioSource >, boost::weak_ptr< ARDOUR::AudioSource >
is-a: ARDOUR:Source
A named object associated with a Session. Objects derived from this class are expected to be destroyed before the session calls drop_references().
Methods | ||
---|---|---|
std::string | captured_for () | |
bool | empty () | |
bool | isnil () | |
bool | isnil () | |
long | length (long) | |
unsigned int | n_channels () | |
unsigned int | n_channels () | |
long | read (FloatArray, long, long, int) | |
long | readable_length () | |
long | readable_length () | |
float | sample_rate () | |
Cast | ||
Readable | to_readable () |
Methods | ||
---|---|---|
std::string | ancestor_name () | |
bool | can_be_analysed () | |
bool | destructive () | |
bool | has_been_analysed () | |
long | natural_position () | |
long | timeline_position () | |
long | timestamp () | |
int | use_count () | |
bool | used () | |
bool | writable () | |
Cast | ||
AudioSource | to_audiosource () | |
FileSource | to_filesource () | |
MidiSource | to_midisource () |
Methods | ||
---|---|---|
std::string | name () | |
Cast | ||
Stateful | to_stateful () | |
StatefulDestructible | to_statefuldestructible () |
C‡: boost::shared_ptr< ARDOUR::AudioTrack >, boost::weak_ptr< ARDOUR::AudioTrack >
is-a: ARDOUR:Track
A track is an route (bus) with a recordable diskstream and related objects relevant to tracking, playback and editing.
Specifically a track has regions and playlist objects.
Methods | ||
---|---|---|
bool | isnil () |
Methods | ||
---|---|---|
Region | bounce (InterThreadInfo&) | |
bounce track from session start to session end to new region
Returns a new audio region (or nil in case of error) | ||
Region | bounce_range (long, long, InterThreadInfo&, Processor, bool) | |
Bounce the given range to a new audio region.
Returns a new audio region (or nil in case of error) | ||
bool | bounceable (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.
Returns true if the track can be bounced, or false otherwise. | ||
bool | can_record () | |
Playlist | playlist () | |
bool | set_name (std::string) | |
Cast | ||
AudioTrack | to_audio_track () | |
MidiTrack | to_midi_track () |
Methods | ||
---|---|---|
bool | active () | |
int | add_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.
Returns 0 on success, non-0 on failure. | ||
bool | add_sidechain (Processor) | |
Amp | amp () | |
std::string | comment () | |
bool | customize_plugin_insert (Processor, unsigned int, ChanCount, ChanCount) | |
enable custom plugin-insert configuration
Returns true if successful | ||
IO | input () | |
Delivery | main_outs () | |
the signal processorat at end of the processing chain which produces output | ||
bool | muted () | |
ChanCount | n_inputs () | |
ChanCount | n_outputs () | |
Processor | nth_plugin (unsigned int) | |
Processor | nth_processor (unsigned int) | |
Processor | nth_send (unsigned int) | |
IO | output () | |
PannerShell | panner_shell () | |
PeakMeter | peak_meter () | |
************************************************************* Pure interface begins here************************************************************* | ||
int | remove_processor (Processor, ProcessorStreams, bool) | |
remove plugin/processor
Returns 0 on success | ||
int | remove_processors (ProcessorList, ProcessorStreams) | |
bool | remove_sidechain (Processor) | |
int | reorder_processors (ProcessorList, ProcessorStreams) | |
int | replace_processor (Processor, Processor, ProcessorStreams) | |
replace plugin/processor with another
Returns 0 on success | ||
bool | reset_plugin_insert (Processor) | |
reset plugin-insert configuration to default, disable customizations. This is equivalent to calling customize_plugin_insert (proc, 0, unused)
Returns true if successful | ||
void | set_active (bool, void*) | |
void | set_comment (std::string, void*) | |
void | set_meter_point (MeterPoint, bool) | |
bool | set_strict_io (bool) | |
bool | soloed () | |
bool | strict_io () | |
Processor | the_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. | ||
Amp | trim () | |
Cast | ||
Automatable | to_automatable () | |
Track | to_track () |
Methods | ||
---|---|---|
AutomationControl | comp_enable_control () | |
AutomationControl | comp_makeup_control () | |
AutomationControl | comp_mode_control () | |
std::string | comp_mode_name (unsigned int) | |
--MISSING (boost::shared_ptr<ARDOUR::ReadOnlyControl>)-- | comp_redux_control () | |
AutomationControl | comp_speed_control () | |
std::string | comp_speed_name (unsigned int) | |
AutomationControl | comp_threshold_control () | |
unsigned int | eq_band_cnt () | |
std::string | eq_band_name (unsigned int) | |
AutomationControl | eq_enable_control () | |
AutomationControl | eq_freq_control (unsigned int) | |
AutomationControl | eq_gain_control (unsigned int) | |
AutomationControl | eq_q_control (unsigned int) | |
AutomationControl | eq_shape_control (unsigned int) | |
AutomationControl | filter_enable_controllable (bool) | |
AutomationControl | filter_freq_controllable (bool) | |
AutomationControl | filter_slope_controllable (bool) | |
GainControl | gain_control () | |
bool | is_auditioner () | |
bool | is_hidden () | |
bool | is_master () | |
bool | is_monitor () | |
bool | is_selected () | |
AutomationControl | master_send_enable_control () | |
MonitorProcessor | monitor_control () | |
MuteControl | mute_control () | |
AutomationControl | pan_azimuth_control () | |
AutomationControl | pan_elevation_control () | |
AutomationControl | pan_frontback_control () | |
AutomationControl | pan_lfe_control () | |
AutomationControl | pan_width_control () | |
PhaseControl | phase_control () | |
PresentationInfo | presentation_info_ptr () | |
AutomationControl | rec_enable_control () | |
AutomationControl | rec_safe_control () | |
AutomationControl | send_enable_control (unsigned int) | |
AutomationControl | send_level_control (unsigned int) | |
std::string | send_name (unsigned int) | |
void | set_presentation_order (unsigned int) | |
SoloControl | solo_control () | |
SoloIsolateControl | solo_isolate_control () | |
SoloSafeControl | solo_safe_control () | |
GainControl | trim_control () | |
Cast | ||
Route | to_route () |
Methods | ||
---|---|---|
std::string | name () | |
Cast | ||
Stateful | to_stateful () | |
StatefulDestructible | to_statefuldestructible () |
C‡: std::list<boost::shared_ptr<ARDOUR::AudioTrack> >
Constructor | ||
---|---|---|
ℂ | ARDOUR.AudioTrackList () | |
Methods | ||
LuaTable | add (LuaTable {AudioTrack}) | |
AudioTrack | back () | |
bool | empty () | |
AudioTrack | front () | |
LuaIter | iter () | |
void | push_back (AudioTrack) | |
void | reverse () | |
unsigned long | size () | |
LuaTable | table () | |
void | unique () |
C‡: boost::shared_ptr< ARDOUR::Automatable >, boost::weak_ptr< ARDOUR::Automatable >
is-a: Evoral:ControlSet
Methods | ||
---|---|---|
AutomationControl | automation_control (Parameter, bool) | |
bool | isnil () |
C‡: boost::shared_ptr< ARDOUR::AutomatableSequence<Evoral::Beats> >, boost::weak_ptr< ARDOUR::AutomatableSequence<Evoral::Beats> >
is-a: ARDOUR:Automatable
Methods | ||
---|---|---|
bool | isnil () | |
Cast | ||
Sequence | to_sequence () |
Methods | ||
---|---|---|
AutomationControl | automation_control (Parameter, bool) |
C‡: boost::shared_ptr< ARDOUR::AutomationControl >, boost::weak_ptr< ARDOUR::AutomationControl >
is-a: PBD:Controllable
A PBD::Controllable with associated automation data (AutomationList)
Methods | ||
---|---|---|
AutomationList | alist () | |
AutoState | automation_state () | |
AutoStyle | automation_style () | |
double | get_value () | |
Get the current effective `user' value based on automation state | ||
bool | isnil () | |
void | set_automation_state (AutoState) | |
void | set_automation_style (AutoStyle) | |
void | set_value (double, GroupControlDisposition) | |
Get and Set `internal' value All derived classes must implement this. Basic derived classes will ignore
| ||
void | start_touch (double) | |
void | stop_touch (bool, double) | |
bool | writable () | |
Cast | ||
Control | to_ctrl () |
Methods | ||
---|---|---|
std::string | name () |
Methods | ||
---|---|---|
void | clear_changes () | |
Forget about any changes to this object's properties | ||
ID | id () | |
OwnedPropertyList | properties () |
C‡: boost::shared_ptr< ARDOUR::AutomationList >, boost::weak_ptr< ARDOUR::AutomationList >
is-a: Evoral:ControlList
AutomationList is a stateful wrapper around Evoral::ControlList. It includes session-specifics (such as automation state), control logic (e.g. touch, signals) and acts as proxy to the underlying ControlList which holds the actual data.
Methods | ||
---|---|---|
XMLNode | get_state () | |
bool | isnil () | |
Command | memento_command (XMLNode, XMLNode) | |
bool | touch_enabled () | |
bool | touching () | |
bool | writing () | |
Cast | ||
ControlList | list () | |
Stateful | to_stateful () | |
StatefulDestructible | to_statefuldestructible () |
Methods | ||
---|---|---|
void | add (double, double, bool, bool) | |
add automation events
| ||
void | clear (double, double) | |
remove all automation events between the given time range
| ||
void | clear_list () | |
double | eval (double) | |
query value at given time (takes a read-lock, not safe while writing automation)
Returns parameter value | ||
EventList | events () | |
bool | in_write_pass () | |
InterpolationStyle | interpolation () | |
query interpolation style of the automation data Returns Interpolation Style | ||
LuaTable(double, ...) | rt_safe_eval (double, bool&) | |
realtime safe version of eval, may fail if read-lock cannot be taken
Returns parameter value | ||
void | set_interpolation (InterpolationStyle) | |
set the interpolation style of the automation data
| ||
void | thin (double) | |
Thin the number of events in this list. The thinning factor corresponds to the area of a triangle computed between three points in the list (time-difference * value-difference). If the area is large, it indicates significant non-linearity between the points. Time is measured in samples, value is usually normalized to 0..1. During automation recording we thin the recorded points using this value. If a point is sufficiently co-linear with its neighbours (as defined by the area of the triangle formed by three of them), we will not include it in the list. The larger the value, the more points are excluded, so this effectively measures the amount of thinning to be done.
| ||
void | truncate_end (double) | |
truncate the event list after the given time
| ||
void | truncate_start (double) | |
truncate the event list to the given time
|
C‡: std::vector<ARDOUR::AudioBackendInfo const* >
Constructor | ||
---|---|---|
ℂ | ARDOUR.BackendVector () | |
Methods | ||
AudioBackendInfo | at (unsigned long) | |
bool | empty () | |
LuaIter | iter () | |
unsigned long | size () | |
LuaTable | table () |
C‡: ARDOUR::BeatsFramesConverter
Converter between quarter-note beats and frames. Takes distances in quarter-note beats or frames from some origin (supplied to the constructor in frames), and converts them to the opposite unit, taking tempo changes into account.
Constructor | ||
---|---|---|
ℂ | ARDOUR.BeatsFramesConverter (TempoMap, long) | |
Methods | ||
Beats | from (long) | |
Convert B time to A time (A from B) | ||
long | to (Beats) | |
Convert A time to B time (A to B) |
C‡: ARDOUR::BufferSet
A set of buffers of various types.
These are mainly accessed from Session and passed around as scratch buffers (eg as parameters to run() methods) to do in-place signal processing.
There are two types of counts associated with a BufferSet - available, and the 'use count'. Available is the actual number of allocated buffers (and so is the maximum acceptable value for the use counts).
The use counts are how things determine the form of their input and inform others the form of their output (eg what they did to the BufferSet). Setting the use counts is realtime safe.
Methods | ||
---|---|---|
ChanCount | count () | |
AudioBuffer | get_audio (unsigned long) | |
MidiBuffer | get_midi (unsigned long) |
C‡: ARDOUR::ChanCount
A count of channels, possibly with many types.
Operators are defined so this may safely be used as if it were a simple (single-typed) integer count of channels.
Constructor | ||
---|---|---|
ℂ | ARDOUR.ChanCount (DataType, unsigned int) | |
Convenience constructor for making single-typed streams (mono, stereo, midi, etc)
| ||
Methods | ||
unsigned int | get (DataType) | |
query channel count for given type
Returns channel count for given type | ||
unsigned int | n_audio () | |
query number of audio channels Returns number of audio channels | ||
unsigned int | n_midi () | |
query number of midi channels Returns number of midi channels | ||
unsigned int | n_total () | |
query total channel count of all data types Returns total channel count (audio + midi) | ||
void | reset () | |
zero count of all data types | ||
void | set (DataType, unsigned int) | |
set channel count for given type
|
C‡: ARDOUR::ChanMapping
A mapping from one set of channels to another. The general form is 1 source (from), many sinks (to). numeric IDs are used to identify sources and sinks.
for plugins this is used to map "plugin-pin" to "audio-buffer"
Constructor | ||
---|---|---|
ℂ | ARDOUR.ChanMapping () | |
Methods | ||
ChanCount | count () | |
unsigned int | get (DataType, unsigned int) | |
get buffer mapping for given data type and pin
Returns mapped buffer number (or ChanMapping::Invalid) | ||
bool | is_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 int | n_total () | |
void | set (DataType, unsigned int, unsigned int) | |
set buffer mapping for given data type
|
C‡: std::list<boost::shared_ptr<ARDOUR::AutomationControl> >
Constructor | ||
---|---|---|
ℂ | ARDOUR.ControlList () | |
Methods | ||
LuaTable | add (LuaTable {AutomationControl}) | |
AutomationControl | back () | |
bool | empty () | |
AutomationControl | front () | |
LuaIter | iter () | |
void | push_back (AutomationControl) | |
void | reverse () | |
unsigned long | size () | |
LuaTable | table () | |
void | unique () |
C‡: boost::shared_ptr<std::list<boost::shared_ptr<ARDOUR::AutomationControl> > >
Constructor | ||
---|---|---|
ℂ | ARDOUR.ControlListPtr () | |
Methods | ||
LuaTable | add (LuaTable {AutomationControl}) | |
bool | empty () | |
LuaIter | iter () | |
void | push_back (AutomationControl) | |
void | reverse () | |
unsigned long | size () | |
LuaTable | table () | |
void | unique () |
Methods | ||
---|---|---|
float | accurate_coefficient_to_dB (float) | |
void | apply_gain_to_buffer (FloatArray, unsigned int, float) | |
float | compute_peak (FloatArray, unsigned int, float) | |
void | copy_vector (FloatArray, FloatArray, unsigned int) | |
float | dB_to_coefficient (float) | |
float | fast_coefficient_to_dB (float) | |
void | find_peaks (FloatArray, unsigned int, FloatArray, FloatArray) | |
float | log_meter (float) | |
non-linear power-scale meter deflection
Returns deflected value | ||
float | log_meter_coeff (float) | |
non-linear power-scale meter deflection
Returns deflected value | ||
void | memset (FloatArray, float, unsigned int) | |
lua wrapper to memset() | ||
void | mix_buffers_no_gain (FloatArray, FloatArray, unsigned int) | |
void | mix_buffers_with_gain (FloatArray, FloatArray, unsigned int, float) | |
void | mmult (FloatArray, FloatArray, unsigned int) | |
matrix multiply multiply every sample of `data' with the corresponding sample at `mult'.
| ||
LuaTable(...) | peaks (FloatArray, float&, float&, unsigned int) | |
void | process_map (BufferSet, ChanMapping, ChanMapping, unsigned int, long, DataType) |
C‡: ARDOUR::DSP::Biquad
Biquad Filter
Constructor | ||
---|---|---|
ℂ | ARDOUR.DSP.Biquad (double) | |
Instantiate Biquad Filter
| ||
Methods | ||
void | compute (Type, double, double, double) | |
setup filter, compute coefficients
| ||
void | configure (double, double, double, double, double) | |
setup filter, set coefficients directly | ||
float | dB_at_freq (float) | |
filter transfer function (filter response for spectrum visualization)
Returns gain at given frequency in dB (clamped to -120..+120) | ||
void | reset () | |
reset filter state | ||
void | run (FloatArray, unsigned int) | |
process audio data
|
C‡: ARDOUR::DSP::DspShm
C/C++ Shared Memory
A convenience class representing a C array of float[] or int32_t[] data values. This is useful for lua scripts to perform DSP operations directly using C/C++ with CPU Hardware acceleration.
Access to this memory area is always 4 byte aligned. The data is interpreted either as float or as int.
This memory area can also be shared between different instances or the same lua plugin (DSP, GUI).
Since memory allocation is not realtime safe it should be allocated during dsp_init() or dsp_configure(). The memory is free()ed automatically when the lua instance is destroyed.
Constructor | ||
---|---|---|
ℂ | ARDOUR.DSP.DspShm (unsigned long) | |
Methods | ||
void | allocate (unsigned long) | |
[re] allocate memory in host's memory space
| ||
int | atomic_get_int (unsigned long) | |
atomically read integer at offset This involves a memory barrier. This call is intended for buffers which are shared with another instance.
Returns value at offset | ||
void | atomic_set_int (unsigned long, int) | |
atomically set integer at offset This involves a memory barrier. This call is intended for buffers which are shared with another instance.
| ||
void | clear () | |
clear memory (set to zero) | ||
FloatArray | to_float (unsigned long) | |
access memory as float array
Returns float[] | ||
IntArray | to_int (unsigned long) | |
access memory as integer array
Returns int_32_t[] |
C‡: ARDOUR::DSP::FFTSpectrum
Constructor | ||
---|---|---|
ℂ | ARDOUR.DSP.FFTSpectrum (unsigned int, double) | |
Methods | ||
void | execute () | |
process current data in buffer | ||
float | freq_at_bin (unsigned int) | |
float | power_at_bin (unsigned int, float) | |
query
Returns signal power at given bin (in dBFS) | ||
void | set_data_hann (FloatArray, unsigned int, unsigned int) |
C‡: ARDOUR::DSP::LowPass
1st order Low Pass filter
Constructor | ||
---|---|---|
ℂ | ARDOUR.DSP.LowPass (double, float) | |
instantiate a LPF
| ||
Methods | ||
void | ctrl (FloatArray, float, unsigned int) | |
filter control data This is useful for parameter smoothing.
| ||
void | proc (FloatArray, unsigned int) | |
process audio data
| ||
void | reset () | |
reset filter state | ||
void | set_cutoff (float) | |
update filter cut-off frequency
|
C‡: ARDOUR::DataType
A type of Data Ardour is capable of processing.
The majority of this class is dedicated to conversion to and from various other type representations, simple comparison between then, etc. This code is deliberately 'ugly' so other code doesn't have to be.
Constructor | ||
---|---|---|
ℂ | ARDOUR.DataType (std::string) | |
Methods | ||
DataType | audio () | |
convenience constructor for DataType::AUDIO with managed lifetime Returns DataType::AUDIO | ||
DataType | midi () | |
convenience constructor for DataType::MIDI with managed lifetime Returns DataType::MIDI | ||
DataType | null () | |
convenience constructor for DataType::NIL with managed lifetime Returns DataType::NIL | ||
char* | to_string () | |
Inverse of the from-string constructor |
C‡: boost::shared_ptr< ARDOUR::Delivery >, boost::weak_ptr< ARDOUR::Delivery >
is-a: ARDOUR:IOProcessor
A mixer strip element (Processor) with 1 or 2 IO elements.
Methods | ||
---|---|---|
bool | isnil () | |
PannerShell | panner_shell () |
Methods | ||
---|---|---|
IO | input () | |
ChanCount | natural_input_streams () | |
ChanCount | natural_output_streams () | |
IO | output () |
Methods | ||
---|---|---|
void | activate () | |
bool | active () | |
void | deactivate () | |
std::string | display_name () | |
bool | display_to_user () | |
ChanCount | input_streams () | |
ChanCount | output_streams () | |
Cast | ||
Amp | to_amp () | |
Automatable | to_automatable () | |
PluginInsert | to_insert () | |
IOProcessor | to_ioprocessor () | |
PeakMeter | to_meter () | |
MonitorProcessor | to_monitorprocessor () | |
PeakMeter | to_peakmeter () | |
PluginInsert | to_plugininsert () | |
SideChain | to_sidechain () | |
UnknownProcessor | to_unknownprocessor () |
Methods | ||
---|---|---|
std::string | name () | |
Cast | ||
Stateful | to_stateful () | |
StatefulDestructible | to_statefuldestructible () |
C‡: ARDOUR::AudioBackend::DeviceStatus
used to list device names along with whether or not they are currently available.
Data Members | ||
---|---|---|
bool | available | |
std::string | name |
C‡: std::vector<ARDOUR::AudioBackend::DeviceStatus >
Constructor | ||
---|---|---|
ℂ | ARDOUR.DeviceStatusVector () | |
ℂ | ARDOUR.DeviceStatusVector () | |
Methods | ||
LuaTable | add (LuaTable {DeviceStatus}) | |
DeviceStatus | at (unsigned long) | |
bool | empty () | |
LuaIter | iter () | |
void | push_back (DeviceStatus) | |
unsigned long | size () | |
LuaTable | table () |
C‡: ARDOUR::DoubleBeatsFramesConverter
Converter between quarter-note beats and frames. Takes distances in quarter-note beats or frames from some origin (supplied to the constructor in frames), and converts them to the opposite unit, taking tempo changes into account.
Constructor | ||
---|---|---|
ℂ | ARDOUR.DoubleBeatsFramesConverter (TempoMap, long) | |
Methods | ||
double | from (long) | |
Convert B time to A time (A from B) | ||
long | to (double) | |
Convert A time to B time (A to B) |
C‡: std::list<Evoral::ControlEvent* >
Constructor | ||
---|---|---|
ℂ | ARDOUR.EventList () | |
Methods | ||
ControlEvent | back () | |
bool | empty () | |
ControlEvent | front () | |
LuaIter | iter () | |
void | reverse () | |
unsigned long | size () | |
LuaTable | table () |
C‡: boost::shared_ptr< ARDOUR::FileSource >, boost::weak_ptr< ARDOUR::FileSource >
is-a: ARDOUR:Source
A source associated with a file on disk somewhere
Methods | ||
---|---|---|
unsigned short | channel () | |
float | gain () | |
bool | isnil () | |
std::string | origin () | |
std::string | path () | |
std::string | take_id () | |
bool | within_session () |
Methods | ||
---|---|---|
std::string | ancestor_name () | |
bool | can_be_analysed () | |
bool | destructive () | |
bool | empty () | |
bool | has_been_analysed () | |
long | length (long) | |
long | natural_position () | |
long | timeline_position () | |
long | timestamp () | |
int | use_count () | |
bool | used () | |
bool | writable () | |
Cast | ||
AudioSource | to_audiosource () | |
FileSource | to_filesource () | |
MidiSource | to_midisource () |
Methods | ||
---|---|---|
std::string | name () | |
Cast | ||
Stateful | to_stateful () | |
StatefulDestructible | to_statefuldestructible () |
C‡: ARDOUR::FluidSynth
Constructor | ||
---|---|---|
ℂ | ARDOUR.FluidSynth (float, int) | |
instantiate a Synth
| ||
Methods | ||
bool | load_sf2 (std::string) | |
bool | midi_event (unsigned char*, unsigned long) | |
void | panic () | |
unsigned int | program_count () | |
std::string | program_name (unsigned int) | |
bool | select_program (unsigned int, unsigned char) | |
bool | synth (FloatArray, FloatArray, unsigned int) |
C‡: boost::shared_ptr< ARDOUR::GainControl >, boost::weak_ptr< ARDOUR::GainControl >
is-a: ARDOUR:SlavableAutomationControl,
A PBD::Controllable with associated automation data (AutomationList)
Methods | ||
---|---|---|
bool | isnil () |
Methods | ||
---|---|---|
void | add_master (AutomationControl, bool) | |
void | clear_masters () | |
int | get_boolean_masters () | |
double | get_masters_value () | |
void | remove_master (AutomationControl) | |
bool | slaved () | |
bool | slaved_to (AutomationControl) |
Methods | ||
---|---|---|
AutomationList | alist () | |
AutoState | automation_state () | |
AutoStyle | automation_style () | |
double | get_value () | |
Get the current effective `user' value based on automation state | ||
void | set_automation_state (AutoState) | |
void | set_automation_style (AutoStyle) | |
void | set_value (double, GroupControlDisposition) | |
Get and Set `internal' value All derived classes must implement this. Basic derived classes will ignore
| ||
void | start_touch (double) | |
void | stop_touch (bool, double) | |
bool | writable () | |
Cast | ||
Control | to_ctrl () |
Methods | ||
---|---|---|
std::string | name () |
Methods | ||
---|---|---|
void | clear_changes () | |
Forget about any changes to this object's properties | ||
ID | id () | |
OwnedPropertyList | properties () |
C‡: boost::shared_ptr< ARDOUR::IO >, boost::weak_ptr< ARDOUR::IO >
is-a: ARDOUR:SessionObjectPtr
A collection of ports (all input or all output) with connections.
An IO can contain ports of varying types, making routes/inserts/etc with varied combinations of types (eg MIDI and audio) possible.
Methods | ||
---|---|---|
bool | active () | |
int | add_port (std::string, void*, DataType) | |
Add a port.
| ||
AudioPort | audio (unsigned int) | |
int | connect (Port, std::string, void*) | |
int | disconnect (Port, std::string, void*) | |
int | disconnect_all (void*) | |
bool | has_port (Port) | |
bool | isnil () | |
MidiPort | midi (unsigned int) | |
ChanCount | n_ports () | |
Port | nth (unsigned int) | |
bool | physically_connected () | |
Port | port_by_name (unsigned int) | |
int | remove_port (Port, void*) |
Methods | ||
---|---|---|
std::string | name () | |
Cast | ||
Stateful | to_stateful () | |
StatefulDestructible | to_statefuldestructible () |
C‡: boost::shared_ptr< ARDOUR::IOProcessor >, boost::weak_ptr< ARDOUR::IOProcessor >
is-a: ARDOUR:Processor
A mixer strip element (Processor) with 1 or 2 IO elements.
Methods | ||
---|---|---|
IO | input () | |
bool | isnil () | |
ChanCount | natural_input_streams () | |
ChanCount | natural_output_streams () | |
IO | output () |
Methods | ||
---|---|---|
void | activate () | |
bool | active () | |
void | deactivate () | |
std::string | display_name () | |
bool | display_to_user () | |
ChanCount | input_streams () | |
ChanCount | output_streams () | |
Cast | ||
Amp | to_amp () | |
Automatable | to_automatable () | |
PluginInsert | to_insert () | |
IOProcessor | to_ioprocessor () | |
PeakMeter | to_meter () | |
MonitorProcessor | to_monitorprocessor () | |
PeakMeter | to_peakmeter () | |
PluginInsert | to_plugininsert () | |
SideChain | to_sidechain () | |
UnknownProcessor | to_unknownprocessor () |
Methods | ||
---|---|---|
std::string | name () | |
Cast | ||
Stateful | to_stateful () | |
StatefulDestructible | to_statefuldestructible () |
C‡: ARDOUR::InterThreadInfo
Constructor | ||
---|---|---|
ℂ | ARDOUR.InterThreadInfo () | |
Data Members | ||
bool | done | |
float | progress |
C‡: ARDOUR::Location
is-a: PBD:StatefulDestructible
Location on Timeline - abstract representation for Markers, Loop/Punch Ranges, CD-Markers etc.
Methods | ||
---|---|---|
long | end () | |
Flags | flags () | |
bool | is_auto_loop () | |
bool | is_auto_punch () | |
bool | is_cd_marker () | |
bool | is_hidden () | |
bool | is_mark () | |
bool | is_range_marker () | |
bool | is_session_range () | |
long | length () | |
void | lock () | |
bool | locked () | |
bool | matches (Flags) | |
int | move_to (long, unsigned int) | |
std::string | name () | |
int | set_end (long, bool, bool, unsigned int) | |
Set end position.
| ||
int | set_length (long, long, bool, unsigned int) | |
int | set_start (long, bool, bool, unsigned int) | |
Set start position.
| ||
long | start () | |
void | unlock () |
Methods | ||
---|---|---|
void | clear_changes () | |
Forget about any changes to this object's properties | ||
ID | id () | |
OwnedPropertyList | properties () |
C‡: std::list<ARDOUR::Location* >
Constructor | ||
---|---|---|
ℂ | ARDOUR.LocationList () | |
Methods | ||
Location | back () | |
bool | empty () | |
Location | front () | |
LuaIter | iter () | |
void | reverse () | |
unsigned long | size () | |
LuaTable | table () |
C‡: ARDOUR::Locations
is-a: PBD:StatefulDestructible
A collection of session locations including unique dedicated locations (loop, punch, etc)
Methods | ||
---|---|---|
Location | auto_loop_location () | |
Location | auto_punch_location () | |
LuaTable(...) | find_all_between (long, long, LocationList&, Flags) | |
long | first_mark_after (long, bool) | |
Location | first_mark_at (long, long) | |
long | first_mark_before (long, bool) | |
LocationList | list () | |
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.
| ||
void | remove (Location) | |
Location | session_range_location () |
Methods | ||
---|---|---|
void | clear_changes () | |
Forget about any changes to this object's properties | ||
ID | id () | |
OwnedPropertyList | properties () |
Methods | ||
---|---|---|
... | build_filename (--lua--) | |
Creates a filename from a series of elements using the correct separator for filenames. No attempt is made to force the resulting filename to be an absolute path. If the first element is a relative path, the result will be a relative path. | ||
... | color_to_rgba (--lua--) | |
A convenience function to expand RGBA parameters from an integer convert a Canvas::Color (uint32_t 0xRRGGBBAA) into double RGBA values which can be passed as parameters to Cairo::Context::set_source_rgba Example: local r, g, b, a = ARDOUR.LuaAPI.color_to_rgba (0x88aa44ff) cairo_ctx:set_source_rgba (ARDOUR.LuaAPI.color_to_rgba (0x11336699) Returns 4 parameters: red, green, blue, alpha (in range 0..1) | ||
LuaTable(float, ...) | get_plugin_insert_param (PluginInsert, unsigned int, bool&) | |
get a plugin control parameter value
Returns value | ||
LuaTable(float, ...) | get_processor_param (Processor, unsigned int, bool&) | |
get a plugin control parameter 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) | ||
long | monotonic_time () | |
Processor | new_luaproc (Session, std::string) | |
create a new Lua Processor (Plugin)
Returns Processor object (may be nil) | ||
NotePtr | new_noteptr (unsigned char, Beats, Beats, unsigned char, unsigned char) | |
Processor | new_plugin (Session, std::string, PluginType, std::string) | |
create a new Plugin Instance
Returns Processor or nil | ||
PluginInfo | new_plugin_info (std::string, PluginType) | |
search a Plugin
Returns PluginInfo or nil if not found | ||
Processor | nil_proc () | |
NotePtrList | note_list (MidiModel) | |
... | plugin_automation (--lua--) | |
A convenience function to get a Automation Lists and ParamaterDescriptor for a given plugin control. This is equivalent to the following lua code function (processor, param_id) local plugininsert = processor:to_insert () local plugin = plugininsert:plugin(0) local _, t = plugin:get_parameter_descriptor(param_id, ARDOUR.ParameterDescriptor ()) local ctrl = Evoral.Parameter (ARDOUR.AutomationType.PluginAutomation, 0, param_id) local ac = pi:automation_control (ctrl, false) local acl = ac:alist() return ac:alist(), ac:to_ctrl():list(), t[2] end Example usage: get the third input parameter of first plugin on the given route (Ardour starts counting at zero). local al, cl, pd = ARDOUR.LuaAPI.plugin_automation (route:nth_plugin (0), 3) Returns 3 parameters: AutomationList, ControlList, ParamaterDescriptor | ||
bool | reset_processor_to_default (Processor) | |
reset a processor to its default values (only works for plugins ) This is a wrapper which looks up the Processor by plugin-insert.
Returns true on success, false when the processor is not a plugin | ||
... | sample_to_timecode (--lua--) | |
Generic conversion from audio sample count to timecode. (TimecodeType, sample-rate, sample-pos) | ||
bool | set_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.
Returns true on success, false on error or out-of-bounds value | ||
bool | set_processor_param (Processor, unsigned int, float) | |
set a plugin control-input parameter value
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) | ||
void | usleep (unsigned long) |
C‡: ARDOUR::LuaAPI::Vamp
Constructor | ||
---|---|---|
ℂ | ARDOUR.LuaAPI.Vamp (std::string, float) | |
Methods | ||
int | analyze (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.
Returns 0 on success | ||
bool | initialize () | |
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) | ||
StringVector | list_plugins () | |
Plugin | plugin () | |
FeatureSet | process (FloatArrayVector, RealTime) | |
process given array of audio-samples. This is a lua-binding for vamp:plugin():process ()
Returns features extracted from that data (if the plugin is causal) | ||
void | reset () | |
call plugin():reset() and clear intialization flag |
C‡: ARDOUR::LuaOSC::Address
OSC transmitter
A Class to send OSC messages.
Constructor | ||
---|---|---|
ℂ | ARDOUR.LuaOSC.Address (std::string) | |
Construct a new OSC transmitter object
| ||
Methods | ||
... | send (--lua--) | |
Transmit an OSC message Path (string) and type (string) must always be given. The number of following args must match the type. Supported types are: 'i': integer (lua number) 'f': float (lua number) 'd': double (lua number) 'h': 64bit integer (lua number) 's': string (lua string) 'c': character (lua string) 'T': boolean (lua bool) -- this is not implicily True, a lua true/false must be given 'F': boolean (lua bool) -- this is not implicily False, a lua true/false must be given
Returns boolean true if successful, false on error. |
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 | ||
---|---|---|
bool | isnil () | |
DspShm | shmem () | |
LuaTableRef | table () |
Methods | ||
---|---|---|
IOPortDescription | describe_io_port (DataType, bool, unsigned int) | |
std::string | get_docs () | |
PluginInfo | get_info () | |
LuaTable(int, ...) | get_parameter_descriptor (unsigned int, ParameterDescriptor&) | |
std::string | get_parameter_docs (unsigned int) | |
char* | label () | |
bool | load_preset (PresetRecord) | |
Set parameters using a preset | ||
char* | maker () | |
char* | name () | |
LuaTable(unsigned int, ...) | nth_parameter (unsigned int, bool&) | |
unsigned int | parameter_count () | |
bool | parameter_is_audio (unsigned int) | |
bool | parameter_is_control (unsigned int) | |
bool | parameter_is_input (unsigned int) | |
bool | parameter_is_output (unsigned int) | |
std::string | parameter_label (unsigned int) | |
PresetRecord | preset_by_label (std::string) | |
PresetRecord | preset_by_uri (std::string) | |
std::string | unique_id () | |
Cast | ||
LuaProc | to_luaproc () |
Methods | ||
---|---|---|
void | clear_changes () | |
Forget about any changes to this object's properties | ||
ID | id () | |
OwnedPropertyList | properties () |
C‡: ARDOUR::LuaTableRef
Methods | ||
---|---|---|
... | get (--lua--) | |
... | set (--lua--) |
C‡: ARDOUR::Meter
Meter, or time signature (beats per bar, and which note type is a beat).
Constructor | ||
---|---|---|
ℂ | ARDOUR.Meter (double, double) | |
Methods | ||
double | divisions_per_bar () | |
double | frames_per_bar (Tempo, long) | |
double | frames_per_grid (Tempo, long) | |
double | note_divisor () |
C‡: ARDOUR::MeterSection
is-a: ARDOUR:MetricSection
A section of timeline with a certain Meter.
Methods | ||
---|---|---|
void | set_beat (double) | |
void | set_pulse (double) | |
Cast | ||
Meter | to_meter () |
Methods | ||
---|---|---|
double | pulse () |
C‡: ARDOUR::MetricSection
A section of timeline with a certain Tempo or Meter.
Methods | ||
---|---|---|
double | pulse () | |
void | set_pulse (double) |
C‡: ARDOUR::MidiBuffer
Buffer containing 8-bit unsigned char (MIDI) data.
Methods | ||
---|---|---|
void | copy (MidiBuffer) | |
bool | empty () | |
bool | push_back (long, unsigned long, unsigned char*) | |
bool | push_event (Event) | |
void | resize (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. | ||
void | silence (long, long) | |
Clear (eg zero, or empty) buffer | ||
unsigned long | size () | |
... | table (--lua--) |
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 | ||
---|---|---|
void | apply_command (Session, Command) | |
bool | isnil () | |
NoteDiffCommand | new_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. |
Cast | ||
---|---|---|
Sequence | to_sequence () |
Methods | ||
---|---|---|
AutomationControl | automation_control (Parameter, bool) |
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.
Methods | ||
---|---|---|
std::string | name () | |
void | set_name (std::string) |
Methods | ||
---|---|---|
void | clear_changes () | |
Forget about any changes to this object's properties | ||
ID | id () | |
OwnedPropertyList | properties () |
C‡: ARDOUR::MidiModel::NoteDiffCommand
is-a: ARDOUR:MidiModel:DiffCommand
Base class for Undo/Redo commands and changesets
Methods | ||
---|---|---|
void | add (NotePtr) | |
void | remove (NotePtr) |
Methods | ||
---|---|---|
std::string | name () | |
void | set_name (std::string) |
Methods | ||
---|---|---|
void | clear_changes () | |
Forget about any changes to this object's properties | ||
ID | id () | |
OwnedPropertyList | properties () |
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 | ||
---|---|---|
bool | isnil () | |
void | set_note_mode (NoteMode) |
Methods | ||
---|---|---|
void | add_region (Region, long, float, bool, int, double, bool) | |
Note: this calls set_layer (..., DBL_MAX) so it will reset the layering index of region | ||
Region | combine (RegionList) | |
unsigned int | count_regions_at (long) | |
Playlist | cut (AudioRangeList&, bool) | |
DataType | data_type () | |
void | duplicate (Region, long, long, float) | |
| ||
void | duplicate_range (AudioRange&, float) | |
void | duplicate_until (Region, long, long, long) | |
| ||
Region | find_next_region (long, RegionPoint, int) | |
long | find_next_region_boundary (long, int) | |
long | find_next_transient (long, int) | |
void | lower_region (Region) | |
void | lower_region_to_bottom (Region) | |
unsigned int | n_regions () | |
void | raise_region (Region) | |
void | raise_region_to_top (Region) | |
Region | region_by_id (ID) | |
RegionListPtr | region_list () | |
RegionListPtr | regions_at (long) | |
RegionListPtr | regions_touched (long, long) | |
Returns regions which have some part within this range. | ||
RegionListPtr | regions_with_end_within (Range) | |
RegionListPtr | regions_with_start_within (Range) | |
void | remove_region (Region) | |
void | split (long) | |
void | split_region (Region, MusicFrame) | |
Region | top_region_at (long) | |
Region | top_unmuted_region_at (long) | |
void | uncombine (Region) | |
Cast | ||
AudioPlaylist | to_audioplaylist () | |
MidiPlaylist | to_midiplaylist () |
Methods | ||
---|---|---|
std::string | name () | |
Cast | ||
Stateful | to_stateful () | |
StatefulDestructible | to_statefuldestructible () |
C‡: boost::shared_ptr< ARDOUR::MidiPort >, boost::weak_ptr< ARDOUR::MidiPort >
is-a: ARDOUR:Port
Methods | ||
---|---|---|
MidiBuffer | get_midi_buffer (unsigned int) | |
bool | input_active () | |
bool | isnil () | |
void | set_input_active (bool) |
Methods | ||
---|---|---|
int | connect (std::string) | |
bool | connected () | |
Returns true if this port is connected to anything | ||
bool | connected_to (std::string) | |
Returns true if this port is connected to o, otherwise false. | ||
int | disconnect (std::string) | |
int | disconnect_all () | |
std::string | name () | |
Returns Port short name | ||
std::string | pretty_name (bool) | |
Returns Port human readable name | ||
bool | receives_input () | |
Returns true if this Port receives input, otherwise false | ||
bool | sends_output () | |
Returns true if this Port sends output, otherwise false | ||
Cast | ||
AudioPort | to_audioport () | |
MidiPort | to_midiport () |
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 | ||
---|---|---|
bool | do_export (std::string) | |
Export the MIDI data of the MidiRegion to a new MIDI file (SMF). | ||
bool | isnil () | |
double | length_beats () | |
MidiSource | midi_source (unsigned int) | |
MidiModel | model () | |
double | start_beats () |
Methods | ||
---|---|---|
bool | at_natural_position () | |
bool | automatic () | |
bool | can_move () | |
bool | captured () | |
void | clear_sync_position () | |
Control | control (Parameter, bool) | |
bool | covers (long) | |
void | cut_end (long, int) | |
void | cut_front (long, int) | |
DataType | data_type () | |
bool | external () | |
bool | has_transients () | |
bool | hidden () | |
bool | import () | |
bool | is_compound () | |
unsigned int | layer () | |
long | length () | |
bool | locked () | |
void | lower () | |
void | lower_to_bottom () | |
StringVector | master_source_names () | |
SourceList | master_sources () | |
void | move_start (long, int) | |
void | move_to_natural_position () | |
bool | muted () | |
unsigned int | n_channels () | |
void | nudge_position (long) | |
bool | opaque () | |
long | position () | |
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 | ||
bool | position_locked () | |
double | quarter_note () | |
void | raise () | |
void | raise_to_top () | |
void | set_hidden (bool) | |
void | set_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. | ||
void | set_length (long, int) | |
void | set_locked (bool) | |
void | set_muted (bool) | |
void | set_opaque (bool) | |
void | set_position (long, int) | |
void | set_position_locked (bool) | |
void | set_start (long) | |
void | set_sync_position (long) | |
Set the region's sync point.
| ||
void | set_video_locked (bool) | |
float | shift () | |
Source | source (unsigned int) | |
long | start () | |
float | stretch () | |
bool | sync_marked () | |
LuaTable(long, ...) | sync_offset (int&) | |
long | sync_position () | |
Returns Sync position in session time | ||
Int64List | transients () | |
void | trim_end (long, int) | |
void | trim_front (long, int) | |
void | trim_to (long, long, int) | |
bool | video_locked () | |
bool | whole_file () | |
Cast | ||
AudioRegion | to_audioregion () | |
MidiRegion | to_midiregion () | |
Readable | to_readable () |
Methods | ||
---|---|---|
std::string | name () | |
Cast | ||
Stateful | to_stateful () | |
StatefulDestructible | to_statefuldestructible () |
C‡: boost::shared_ptr< ARDOUR::MidiSource >, boost::weak_ptr< ARDOUR::MidiSource >
is-a: ARDOUR:Source
Source for MIDI data
Methods | ||
---|---|---|
bool | empty () | |
bool | isnil () | |
long | length (long) | |
MidiModel | model () |
Methods | ||
---|---|---|
std::string | ancestor_name () | |
bool | can_be_analysed () | |
bool | destructive () | |
bool | has_been_analysed () | |
long | natural_position () | |
long | timeline_position () | |
long | timestamp () | |
int | use_count () | |
bool | used () | |
bool | writable () | |
Cast | ||
AudioSource | to_audiosource () | |
FileSource | to_filesource () | |
MidiSource | to_midisource () |
Methods | ||
---|---|---|
std::string | name () | |
Cast | ||
Stateful | to_stateful () | |
StatefulDestructible | to_statefuldestructible () |
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 | ||
---|---|---|
bool | isnil () |
Methods | ||
---|---|---|
Region | bounce (InterThreadInfo&) | |
bounce track from session start to session end to new region
Returns a new audio region (or nil in case of error) | ||
Region | bounce_range (long, long, InterThreadInfo&, Processor, bool) | |
Bounce the given range to a new audio region.
Returns a new audio region (or nil in case of error) | ||
bool | bounceable (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.
Returns true if the track can be bounced, or false otherwise. | ||
bool | can_record () | |
Playlist | playlist () | |
bool | set_name (std::string) | |
Cast | ||
AudioTrack | to_audio_track () | |
MidiTrack | to_midi_track () |
Methods | ||
---|---|---|
bool | active () | |
int | add_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.
Returns 0 on success, non-0 on failure. | ||
bool | add_sidechain (Processor) | |
Amp | amp () | |
std::string | comment () | |
bool | customize_plugin_insert (Processor, unsigned int, ChanCount, ChanCount) | |
enable custom plugin-insert configuration
Returns true if successful | ||
IO | input () | |
Delivery | main_outs () | |
the signal processorat at end of the processing chain which produces output | ||
bool | muted () | |
ChanCount | n_inputs () | |
ChanCount | n_outputs () | |
Processor | nth_plugin (unsigned int) | |
Processor | nth_processor (unsigned int) | |
Processor | nth_send (unsigned int) | |
IO | output () | |
PannerShell | panner_shell () | |
PeakMeter | peak_meter () | |
************************************************************* Pure interface begins here************************************************************* | ||
int | remove_processor (Processor, ProcessorStreams, bool) | |
remove plugin/processor
Returns 0 on success | ||
int | remove_processors (ProcessorList, ProcessorStreams) | |
bool | remove_sidechain (Processor) | |
int | reorder_processors (ProcessorList, ProcessorStreams) | |
int | replace_processor (Processor, Processor, ProcessorStreams) | |
replace plugin/processor with another
Returns 0 on success | ||
bool | reset_plugin_insert (Processor) | |
reset plugin-insert configuration to default, disable customizations. This is equivalent to calling customize_plugin_insert (proc, 0, unused)
Returns true if successful | ||
void | set_active (bool, void*) | |
void | set_comment (std::string, void*) | |
void | set_meter_point (MeterPoint, bool) | |
bool | set_strict_io (bool) | |
bool | soloed () | |
bool | strict_io () | |
Processor | the_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. | ||
Amp | trim () | |
Cast | ||
Automatable | to_automatable () | |
Track | to_track () |
Methods | ||
---|---|---|
AutomationControl | comp_enable_control () | |
AutomationControl | comp_makeup_control () | |
AutomationControl | comp_mode_control () | |
std::string | comp_mode_name (unsigned int) | |
--MISSING (boost::shared_ptr<ARDOUR::ReadOnlyControl>)-- | comp_redux_control () | |
AutomationControl | comp_speed_control () | |
std::string | comp_speed_name (unsigned int) | |
AutomationControl | comp_threshold_control () | |
unsigned int | eq_band_cnt () | |
std::string | eq_band_name (unsigned int) | |
AutomationControl | eq_enable_control () | |
AutomationControl | eq_freq_control (unsigned int) | |
AutomationControl | eq_gain_control (unsigned int) | |
AutomationControl | eq_q_control (unsigned int) | |
AutomationControl | eq_shape_control (unsigned int) | |
AutomationControl | filter_enable_controllable (bool) | |
AutomationControl | filter_freq_controllable (bool) | |
AutomationControl | filter_slope_controllable (bool) | |
GainControl | gain_control () | |
bool | is_auditioner () | |
bool | is_hidden () | |
bool | is_master () | |
bool | is_monitor () | |
bool | is_selected () | |
AutomationControl | master_send_enable_control () | |
MonitorProcessor | monitor_control () | |
MuteControl | mute_control () | |
AutomationControl | pan_azimuth_control () | |
AutomationControl | pan_elevation_control () | |
AutomationControl | pan_frontback_control () | |
AutomationControl | pan_lfe_control () | |
AutomationControl | pan_width_control () | |
PhaseControl | phase_control () | |
PresentationInfo | presentation_info_ptr () | |
AutomationControl | rec_enable_control () | |
AutomationControl | rec_safe_control () | |
AutomationControl | send_enable_control (unsigned int) | |
AutomationControl | send_level_control (unsigned int) | |
std::string | send_name (unsigned int) | |
void | set_presentation_order (unsigned int) | |
SoloControl | solo_control () | |
SoloIsolateControl | solo_isolate_control () | |
SoloSafeControl | solo_safe_control () | |
GainControl | trim_control () | |
Cast | ||
Route | to_route () |
Methods | ||
---|---|---|
std::string | name () | |
Cast | ||
Stateful | to_stateful () | |
StatefulDestructible | to_statefuldestructible () |
C‡: std::list<boost::shared_ptr<ARDOUR::MidiTrack> >
Constructor | ||
---|---|---|
ℂ | ARDOUR.MidiTrackList () | |
Methods | ||
LuaTable | add (LuaTable {MidiTrack}) | |
MidiTrack | back () | |
bool | empty () | |
MidiTrack | front () | |
LuaIter | iter () | |
void | push_back (MidiTrack) | |
void | reverse () | |
unsigned long | size () | |
LuaTable | table () | |
void | unique () |
C‡: boost::shared_ptr< ARDOUR::MonitorProcessor >, boost::weak_ptr< ARDOUR::MonitorProcessor >
is-a: ARDOUR:Processor
A mixer strip element - plugin, send, meter, etc
Methods | ||
---|---|---|
Controllable | channel_cut_control (unsigned int) | |
Controllable | channel_dim_control (unsigned int) | |
Controllable | channel_polarity_control (unsigned int) | |
Controllable | channel_solo_control (unsigned int) | |
bool | cut (unsigned int) | |
bool | cut_all () | |
Controllable | cut_control () | |
bool | dim_all () | |
Controllable | dim_control () | |
float | dim_level () | |
Controllable | dim_level_control () | |
bool | dimmed (unsigned int) | |
bool | inverted (unsigned int) | |
bool | isnil () | |
bool | monitor_active () | |
bool | mono () | |
Controllable | mono_control () | |
void | set_cut (unsigned int, bool) | |
void | set_cut_all (bool) | |
void | set_dim (unsigned int, bool) | |
void | set_dim_all (bool) | |
void | set_mono (bool) | |
void | set_polarity (unsigned int, bool) | |
void | set_solo (unsigned int, bool) | |
Controllable | solo_boost_control () | |
float | solo_boost_level () | |
bool | soloed (unsigned int) |
Methods | ||
---|---|---|
void | activate () | |
bool | active () | |
void | deactivate () | |
std::string | display_name () | |
bool | display_to_user () | |
ChanCount | input_streams () | |
ChanCount | output_streams () | |
Cast | ||
Amp | to_amp () | |
Automatable | to_automatable () | |
PluginInsert | to_insert () | |
IOProcessor | to_ioprocessor () | |
PeakMeter | to_meter () | |
MonitorProcessor | to_monitorprocessor () | |
PeakMeter | to_peakmeter () | |
PluginInsert | to_plugininsert () | |
SideChain | to_sidechain () | |
UnknownProcessor | to_unknownprocessor () |
Methods | ||
---|---|---|
std::string | name () | |
Cast | ||
Stateful | to_stateful () | |
StatefulDestructible | to_statefuldestructible () |
C‡: ARDOUR::MusicFrame
Constructor | ||
---|---|---|
ℂ | ARDOUR.MusicFrame (long, int) | |
Methods | ||
void | set (long, int) | |
Data Members | ||
int | division | |
long | frame |
C‡: boost::shared_ptr< ARDOUR::MuteControl >, boost::weak_ptr< ARDOUR::MuteControl >
is-a: ARDOUR:SlavableAutomationControl,
A PBD::Controllable with associated automation data (AutomationList)
Methods | ||
---|---|---|
bool | isnil () | |
bool | muted () | |
bool | muted_by_self () |
Methods | ||
---|---|---|
void | add_master (AutomationControl, bool) | |
void | clear_masters () | |
int | get_boolean_masters () | |
double | get_masters_value () | |
void | remove_master (AutomationControl) | |
bool | slaved () | |
bool | slaved_to (AutomationControl) |
Methods | ||
---|---|---|
AutomationList | alist () | |
AutoState | automation_state () | |
AutoStyle | automation_style () | |
double | get_value () | |
Get the current effective `user' value based on automation state | ||
void | set_automation_state (AutoState) | |
void | set_automation_style (AutoStyle) | |
void | set_value (double, GroupControlDisposition) | |
Get and Set `internal' value All derived classes must implement this. Basic derived classes will ignore
| ||
void | start_touch (double) | |
void | stop_touch (bool, double) | |
bool | writable () | |
Cast | ||
Control | to_ctrl () |
Methods | ||
---|---|---|
std::string | name () |
Methods | ||
---|---|---|
void | clear_changes () | |
Forget about any changes to this object's properties | ||
ID | id () | |
OwnedPropertyList | properties () |
C‡: std::list<boost::shared_ptr<Evoral::Note<Evoral::Beats> > > >
Constructor | ||
---|---|---|
ℂ | ARDOUR.NotePtrList () | |
Methods | ||
LuaTable | add (LuaTable {Beats}) | |
NotePtr | back () | |
bool | empty () | |
NotePtr | front () | |
LuaIter | iter () | |
void | push_back (NotePtr) | |
void | reverse () | |
unsigned long | size () | |
LuaTable | table () | |
void | unique () |
C‡: PBD::OwnedPropertyList
is-a: ARDOUR:PropertyList
Persistent Property List
A variant of PropertyList that does not delete its property list in its destructor. Objects with their own Properties store them in an OwnedPropertyList to avoid having them deleted at the wrong time.
This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.
C‡: boost::shared_ptr< ARDOUR::PannerShell >, boost::weak_ptr< ARDOUR::PannerShell >
is-a: ARDOUR:SessionObjectPtr
Class to manage panning by instantiating and controlling an appropriate Panner object for a given in/out configuration.
Methods | ||
---|---|---|
bool | bypassed () | |
bool | isnil () | |
void | set_bypassed (bool) |
Methods | ||
---|---|---|
std::string | name () | |
Cast | ||
Stateful | to_stateful () | |
StatefulDestructible | to_statefuldestructible () |
C‡: ARDOUR::ParameterDescriptor
is-a: Evoral:ParameterDescriptor
Descriptor of a parameter or control.
Essentially a union of LADSPA, VST and LV2 info.
Constructor | ||
---|---|---|
ℂ | ARDOUR.ParameterDescriptor () | |
Methods | ||
std::string | midi_note_name (unsigned char, bool) | |
Data Members | ||
std::string | label | |
bool | logarithmic |
Constructor | ||
---|---|---|
ℂ | Evoral.ParameterDescriptor () | |
Data Members | ||
float | lower | |
Minimum value (in Hz, for frequencies) | ||
float | normal | |
Default value | ||
bool | toggled | |
True iff parameter is boolean | ||
float | upper | |
Maximum value (in Hz, for frequencies) |
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 | ||
---|---|---|
bool | isnil () | |
float | meter_level (unsigned int, MeterType) | |
void | reset_max () | |
void | set_type (MeterType) |
Methods | ||
---|---|---|
void | activate () | |
bool | active () | |
void | deactivate () | |
std::string | display_name () | |
bool | display_to_user () | |
ChanCount | input_streams () | |
ChanCount | output_streams () | |
Cast | ||
Amp | to_amp () | |
Automatable | to_automatable () | |
PluginInsert | to_insert () | |
IOProcessor | to_ioprocessor () | |
PeakMeter | to_meter () | |
MonitorProcessor | to_monitorprocessor () | |
PeakMeter | to_peakmeter () | |
PluginInsert | to_plugininsert () | |
SideChain | to_sidechain () | |
UnknownProcessor | to_unknownprocessor () |
Methods | ||
---|---|---|
std::string | name () | |
Cast | ||
Stateful | to_stateful () | |
StatefulDestructible | to_statefuldestructible () |
C‡: boost::shared_ptr< ARDOUR::PhaseControl >, boost::weak_ptr< ARDOUR::PhaseControl >
is-a: ARDOUR:AutomationControl
A PBD::Controllable with associated automation data (AutomationList)
Methods | ||
---|---|---|
bool | inverted (unsigned int) | |
bool | isnil () | |
void | set_phase_invert (unsigned int, bool) | |
|
Methods | ||
---|---|---|
AutomationList | alist () | |
AutoState | automation_state () | |
AutoStyle | automation_style () | |
double | get_value () | |
Get the current effective `user' value based on automation state | ||
void | set_automation_state (AutoState) | |
void | set_automation_style (AutoStyle) | |
void | set_value (double, GroupControlDisposition) | |
Get and Set `internal' value All derived classes must implement this. Basic derived classes will ignore
| ||
void | start_touch (double) | |
void | stop_touch (bool, double) | |
bool | writable () | |
Cast | ||
Control | to_ctrl () |
Methods | ||
---|---|---|
std::string | name () |
Methods | ||
---|---|---|
void | clear_changes () | |
Forget about any changes to this object's properties | ||
ID | id () | |
OwnedPropertyList | properties () |
C‡: boost::shared_ptr< ARDOUR::Playlist >, boost::weak_ptr< ARDOUR::Playlist >
is-a: ARDOUR:SessionObjectPtr
A named object associated with a Session. Objects derived from this class are expected to be destroyed before the session calls drop_references().
Methods | ||
---|---|---|
void | add_region (Region, long, float, bool, int, double, bool) | |
Note: this calls set_layer (..., DBL_MAX) so it will reset the layering index of region | ||
Region | combine (RegionList) | |
unsigned int | count_regions_at (long) | |
Playlist | cut (AudioRangeList&, bool) | |
DataType | data_type () | |
void | duplicate (Region, long, long, float) | |
| ||
void | duplicate_range (AudioRange&, float) | |
void | duplicate_until (Region, long, long, long) | |
| ||
Region | find_next_region (long, RegionPoint, int) | |
long | find_next_region_boundary (long, int) | |
long | find_next_transient (long, int) | |
bool | isnil () | |
void | lower_region (Region) | |
void | lower_region_to_bottom (Region) | |
unsigned int | n_regions () | |
void | raise_region (Region) | |
void | raise_region_to_top (Region) | |
Region | region_by_id (ID) | |
RegionListPtr | region_list () | |
RegionListPtr | regions_at (long) | |
RegionListPtr | regions_touched (long, long) | |
Returns regions which have some part within this range. | ||
RegionListPtr | regions_with_end_within (Range) | |
RegionListPtr | regions_with_start_within (Range) | |
void | remove_region (Region) | |
void | split (long) | |
void | split_region (Region, MusicFrame) | |
Region | top_region_at (long) | |
Region | top_unmuted_region_at (long) | |
void | uncombine (Region) | |
Cast | ||
AudioPlaylist | to_audioplaylist () | |
MidiPlaylist | to_midiplaylist () |
Methods | ||
---|---|---|
std::string | name () | |
Cast | ||
Stateful | to_stateful () | |
StatefulDestructible | to_statefuldestructible () |
C‡: boost::shared_ptr< ARDOUR::Plugin >, boost::weak_ptr< ARDOUR::Plugin >
is-a: PBD:StatefulDestructiblePtr
A plugin is an external module (usually 3rd party provided) loaded into Ardour for the purpose of digital signal processing.
This class provides an abstraction for methords provided by all supported plugin standards such as presets, name, parameters etc.
Plugins are not used directly in Ardour but always wrapped by a PluginInsert.
Methods | ||
---|---|---|
IOPortDescription | describe_io_port (DataType, bool, unsigned int) | |
std::string | get_docs () | |
PluginInfo | get_info () | |
LuaTable(int, ...) | get_parameter_descriptor (unsigned int, ParameterDescriptor&) | |
std::string | get_parameter_docs (unsigned int) | |
bool | isnil () | |
char* | label () | |
bool | load_preset (PresetRecord) | |
Set parameters using a preset | ||
char* | maker () | |
char* | name () | |
LuaTable(unsigned int, ...) | nth_parameter (unsigned int, bool&) | |
unsigned int | parameter_count () | |
bool | parameter_is_audio (unsigned int) | |
bool | parameter_is_control (unsigned int) | |
bool | parameter_is_input (unsigned int) | |
bool | parameter_is_output (unsigned int) | |
std::string | parameter_label (unsigned int) | |
PresetRecord | preset_by_label (std::string) | |
PresetRecord | preset_by_uri (std::string) | |
std::string | unique_id () | |
Cast | ||
LuaProc | to_luaproc () |
Methods | ||
---|---|---|
void | clear_changes () | |
Forget about any changes to this object's properties | ||
ID | id () | |
OwnedPropertyList | properties () |
C‡: ARDOUR::Plugin::IOPortDescription
Data Members | ||
---|---|---|
unsigned int | group_channel | |
std::string | group_name | |
bool | is_sidechain | |
std::string | name |
C‡: boost::shared_ptr< ARDOUR::PluginInsert::PluginControl >, boost::weak_ptr< ARDOUR::PluginInsert::PluginControl >
is-a: ARDOUR:AutomationControl
A control that manipulates a plugin parameter (control port).
Methods | ||
---|---|---|
bool | isnil () |
Methods | ||
---|---|---|
AutomationList | alist () | |
AutoState | automation_state () | |
AutoStyle | automation_style () | |
double | get_value () | |
Get the current effective `user' value based on automation state | ||
void | set_automation_state (AutoState) | |
void | set_automation_style (AutoStyle) | |
void | set_value (double, GroupControlDisposition) | |
Get and Set `internal' value All derived classes must implement this. Basic derived classes will ignore
| ||
void | start_touch (double) | |
void | stop_touch (bool, double) | |
bool | writable () | |
Cast | ||
Control | to_ctrl () |
Methods | ||
---|---|---|
std::string | name () |
Methods | ||
---|---|---|
void | clear_changes () | |
Forget about any changes to this object's properties | ||
ID | id () | |
OwnedPropertyList | properties () |
C‡: boost::shared_ptr< ARDOUR::PluginInfo >, boost::weak_ptr< ARDOUR::PluginInfo >
Constructor | ||
---|---|---|
ℵ | ARDOUR.PluginInfo () | |
Methods | ||
PresetVector | get_presets (bool) | |
bool | is_instrument () | |
bool | isnil () | |
Data Members | ||
std::string | category | |
std::string | creator | |
ARDOUR:ChanCount | n_inputs | |
ARDOUR:ChanCount | n_outputs | |
std::string | name | |
std::string | path | |
ARDOUR.PluginType | type | |
std::string | unique_id |
C‡: boost::shared_ptr< ARDOUR::PluginInsert >, boost::weak_ptr< ARDOUR::PluginInsert >
is-a: ARDOUR:Processor
Plugin inserts: send data through a plugin
Methods | ||
---|---|---|
void | activate () | |
void | deactivate () | |
ChanMapping | input_map (unsigned int) | |
bool | isnil () | |
ChanCount | natural_input_streams () | |
ChanCount | natural_output_streams () | |
ChanMapping | output_map (unsigned int) | |
Plugin | plugin (unsigned int) | |
bool | reset_parameters_to_default () | |
void | set_input_map (unsigned int, ChanMapping) | |
void | set_output_map (unsigned int, ChanMapping) | |
bool | strict_io_configured () |
Methods | ||
---|---|---|
bool | active () | |
std::string | display_name () | |
bool | display_to_user () | |
ChanCount | input_streams () | |
ChanCount | output_streams () | |
Cast | ||
Amp | to_amp () | |
Automatable | to_automatable () | |
PluginInsert | to_insert () | |
IOProcessor | to_ioprocessor () | |
PeakMeter | to_meter () | |
MonitorProcessor | to_monitorprocessor () | |
PeakMeter | to_peakmeter () | |
PluginInsert | to_plugininsert () | |
SideChain | to_sidechain () | |
UnknownProcessor | to_unknownprocessor () |
Methods | ||
---|---|---|
std::string | name () | |
Cast | ||
Stateful | to_stateful () | |
StatefulDestructible | to_statefuldestructible () |
C‡: boost::shared_ptr< ARDOUR::Port >, boost::weak_ptr< ARDOUR::Port >
Methods | ||
---|---|---|
int | connect (std::string) | |
bool | connected () | |
Returns true if this port is connected to anything | ||
bool | connected_to (std::string) | |
Returns true if this port is connected to o, otherwise false. | ||
int | disconnect (std::string) | |
int | disconnect_all () | |
bool | isnil () | |
std::string | name () | |
Returns Port short name | ||
std::string | pretty_name (bool) | |
Returns Port human readable name | ||
bool | receives_input () | |
Returns true if this Port receives input, otherwise false | ||
bool | sends_output () | |
Returns true if this Port sends output, otherwise false | ||
Cast | ||
AudioPort | to_audioport () | |
MidiPort | to_midiport () |
C‡: ARDOUR::PortEngine
PortEngine is an abstract base class that defines the functionality required by Ardour.
A Port is basically an endpoint for a datastream (which can either be continuous, like audio, or event-based, like MIDI). Ports have buffers associated with them into which data can be written (if they are output ports) and from which data can be read (if they input ports). Ports can be connected together so that data written to an output port can be read from an input port. These connections can be 1:1, 1:N OR N:1.
Ports may be associated with software only, or with hardware. Hardware related ports are often referred to as physical, and correspond to some relevant physical entity on a hardware device, such as an audio jack or a MIDI connector. Physical ports may be potentially asked to monitor their inputs, though some implementations may not support this.
Most physical ports will also be considered "terminal", which means that data delivered there or read from there will go to or comes from a system outside of the PortEngine implementation's control (e.g. the analog domain for audio, or external MIDI devices for MIDI). Non-physical ports can also be considered "terminal". For example, the output port of a software synthesizer is a terminal port, because the data contained in its buffer does not and cannot be considered to come from any other port - it is synthesized by its owner.
Ports also have latency associated with them. Each port has a playback latency and a capture latency:
capture latency: how long since the data read from the buffer of a port arrived at at a terminal port. The data will have come from the "outside world" if the terminal port is also physical, or will have been synthesized by the entity that owns the terminal port.
playback latency: how long until the data written to the buffer of port will reach a terminal port.
For more detailed questions about the PortEngine API, consult the JACK API documentation, on which this entire object is based.
This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.
C‡: std::list<boost::shared_ptr<ARDOUR::Port> >
Constructor | ||
---|---|---|
ℂ | ARDOUR.PortList () | |
Methods | ||
Port | back () | |
bool | empty () | |
Port | front () | |
LuaIter | iter () | |
void | reverse () | |
unsigned long | size () | |
LuaTable | table () |
C‡: ARDOUR::PortManager
Methods | ||
---|---|---|
int | connect (std::string, std::string) | |
bool | connected (std::string) | |
int | disconnect (std::string, std::string) | |
int | disconnect_port (Port) | |
LuaTable(int, ...) | get_backend_ports (std::string, DataType, PortFlags, StringVector&) | |
LuaTable(int, ...) | get_connections (std::string, StringVector&) | |
void | get_physical_inputs (DataType, StringVector&, MidiPortFlags, MidiPortFlags) | |
void | get_physical_outputs (DataType, StringVector&, MidiPortFlags, MidiPortFlags) | |
Port | get_port_by_name (std::string) | |
Returns Corresponding Port or 0. | ||
LuaTable(int, ...) | get_ports (DataType, PortList&) | |
std::string | get_pretty_name_by_name (std::string) | |
ChanCount | n_physical_inputs () | |
ChanCount | n_physical_outputs () | |
bool | physically_connected (std::string) | |
PortEngine | port_engine () | |
bool | port_is_physical (std::string) |
C‡: boost::shared_ptr< ARDOUR::PortSet >, boost::weak_ptr< ARDOUR::PortSet >
An ordered list of Ports, possibly of various types.
This allows access to all the ports as a list, ignoring type, or accessing the nth port of a given type. Note that port(n) and nth_audio_port(n) may NOT return the same port.
Each port is held twice; once in a per-type vector of vectors (_ports) and once in a vector of all port (_all_ports). This is to speed up the fairly common case of iterating over all ports.
Methods | ||
---|---|---|
void | add (Port) | |
void | clear () | |
Remove all ports from the PortSet. Ports are not deregistered with the engine, it's the caller's responsibility to not leak here! | ||
bool | contains (Port) | |
bool | empty () | |
bool | isnil () | |
unsigned long | num_ports (DataType) | |
Port | port (DataType, unsigned long) | |
nth port of type t, or nth port if t = NIL
| ||
bool | remove (Port) |
C‡: ARDOUR::PresentationInfo
is-a: PBD:Stateful
Base class for objects with saveable and undoable state
Methods | ||
---|---|---|
unsigned int | color () | |
unsigned int | order () | |
void | set_color (unsigned int) |
Methods | ||
---|---|---|
void | clear_changes () | |
Forget about any changes to this object's properties | ||
ID | id () | |
OwnedPropertyList | properties () |
C‡: ARDOUR::Plugin::PresetRecord
Constructor | ||
---|---|---|
ℂ | ARDOUR.PresetRecord () | |
Data Members | ||
std::string | label | |
std::string | uri | |
bool | user | |
bool | valid |
C‡: std::vector<ARDOUR::Plugin::PresetRecord >
Constructor | ||
---|---|---|
ℂ | ARDOUR.PresetVector () | |
ℂ | ARDOUR.PresetVector () | |
Methods | ||
LuaTable | add (LuaTable {PresetRecord}) | |
PresetRecord | at (unsigned long) | |
bool | empty () | |
LuaIter | iter () | |
void | push_back (PresetRecord) | |
unsigned long | size () | |
LuaTable | table () |
C‡: boost::shared_ptr< ARDOUR::Processor >, boost::weak_ptr< ARDOUR::Processor >
is-a: ARDOUR:SessionObjectPtr
A mixer strip element - plugin, send, meter, etc
Methods | ||
---|---|---|
void | activate () | |
bool | active () | |
void | deactivate () | |
std::string | display_name () | |
bool | display_to_user () | |
ChanCount | input_streams () | |
bool | isnil () | |
ChanCount | output_streams () | |
Cast | ||
Amp | to_amp () | |
Automatable | to_automatable () | |
PluginInsert | to_insert () | |
IOProcessor | to_ioprocessor () | |
PeakMeter | to_meter () | |
MonitorProcessor | to_monitorprocessor () | |
PeakMeter | to_peakmeter () | |
PluginInsert | to_plugininsert () | |
SideChain | to_sidechain () | |
UnknownProcessor | to_unknownprocessor () |
Methods | ||
---|---|---|
std::string | name () | |
Cast | ||
Stateful | to_stateful () | |
StatefulDestructible | to_statefuldestructible () |
C‡: std::list<boost::shared_ptr<ARDOUR::Processor> >
Constructor | ||
---|---|---|
ℂ | ARDOUR.ProcessorList () | |
Methods | ||
LuaTable | add (LuaTable {Processor}) | |
Processor | back () | |
bool | empty () | |
Processor | front () | |
LuaIter | iter () | |
void | push_back (Processor) | |
void | reverse () | |
unsigned long | size () | |
LuaTable | table () | |
void | unique () |
C‡: std::vector<boost::shared_ptr<ARDOUR::Processor> >
Constructor | ||
---|---|---|
ℂ | ARDOUR.ProcessorVector () | |
ℂ | ARDOUR.ProcessorVector () | |
Methods | ||
LuaTable | add (LuaTable {Processor}) | |
Processor | at (unsigned long) | |
bool | empty () | |
LuaIter | iter () | |
void | push_back (Processor) | |
unsigned long | size () | |
LuaTable | table () |
C‡: ARDOUR::Progress
A class to handle reporting of progress of something
This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.
C‡: PBD::PropertyDescriptor<bool>
This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.
C‡: PBD::PropertyDescriptor<float>
This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.
C‡: PBD::PropertyDescriptor<long>
This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.
C‡: PBD::PropertyChange
A list of IDs of Properties that have changed in some situation or other
Methods | ||
---|---|---|
bool | containsBool (BoolProperty) | |
bool | containsFloat (FloatProperty) | |
bool | containsFramePos (FrameposProperty) |
C‡: PBD::PropertyList
A list of properties, mapped using their ID
This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.
C‡: boost::shared_ptr< ARDOUR::Readable >, boost::weak_ptr< ARDOUR::Readable >
Methods | ||
---|---|---|
bool | isnil () | |
unsigned int | n_channels () | |
long | read (FloatArray, long, long, int) | |
long | readable_length () |
C‡: boost::shared_ptr< ARDOUR::Region >, boost::weak_ptr< ARDOUR::Region >
is-a: ARDOUR:SessionObjectPtr
A named object associated with a Session. Objects derived from this class are expected to be destroyed before the session calls drop_references().
Methods | ||
---|---|---|
bool | at_natural_position () | |
bool | automatic () | |
bool | can_move () | |
bool | captured () | |
void | clear_sync_position () | |
Control | control (Parameter, bool) | |
bool | covers (long) | |
void | cut_end (long, int) | |
void | cut_front (long, int) | |
DataType | data_type () | |
bool | external () | |
bool | has_transients () | |
bool | hidden () | |
bool | import () | |
bool | is_compound () | |
bool | isnil () | |
unsigned int | layer () | |
long | length () | |
bool | locked () | |
void | lower () | |
void | lower_to_bottom () | |
StringVector | master_source_names () | |
SourceList | master_sources () | |
void | move_start (long, int) | |
void | move_to_natural_position () | |
bool | muted () | |
unsigned int | n_channels () | |
void | nudge_position (long) | |
bool | opaque () | |
long | position () | |
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 | ||
bool | position_locked () | |
double | quarter_note () | |
void | raise () | |
void | raise_to_top () | |
void | set_hidden (bool) | |
void | set_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. | ||
void | set_length (long, int) | |
void | set_locked (bool) | |
void | set_muted (bool) | |
void | set_opaque (bool) | |
void | set_position (long, int) | |
void | set_position_locked (bool) | |
void | set_start (long) | |
void | set_sync_position (long) | |
Set the region's sync point.
| ||
void | set_video_locked (bool) | |
float | shift () | |
Source | source (unsigned int) | |
long | start () | |
float | stretch () | |
bool | sync_marked () | |
LuaTable(long, ...) | sync_offset (int&) | |
long | sync_position () | |
Returns Sync position in session time | ||
Int64List | transients () | |
void | trim_end (long, int) | |
void | trim_front (long, int) | |
void | trim_to (long, long, int) | |
bool | video_locked () | |
bool | whole_file () | |
Cast | ||
AudioRegion | to_audioregion () | |
MidiRegion | to_midiregion () | |
Readable | to_readable () |
Methods | ||
---|---|---|
std::string | name () | |
Cast | ||
Stateful | to_stateful () | |
StatefulDestructible | to_statefuldestructible () |
C‡: ARDOUR::RegionFactory
Methods | ||
---|---|---|
Region | region_by_id (ID) |
C‡: std::list<boost::shared_ptr<ARDOUR::Region> >
Constructor | ||
---|---|---|
ℂ | ARDOUR.RegionList () | |
Methods | ||
Region | back () | |
bool | empty () | |
Region | front () | |
LuaIter | iter () | |
void | reverse () | |
unsigned long | size () | |
LuaTable | table () |
C‡: boost::shared_ptr<std::list<boost::shared_ptr<ARDOUR::Region> > >
Constructor | ||
---|---|---|
ℂ | ARDOUR.RegionListPtr () | |
Methods | ||
LuaTable | add (LuaTable {Region}) | |
bool | empty () | |
LuaIter | iter () | |
void | push_back (Region) | |
void | reverse () | |
unsigned long | size () | |
LuaTable | table () | |
void | unique () |
C‡: boost::shared_ptr< ARDOUR::Route >, boost::weak_ptr< ARDOUR::Route >
is-a: ARDOUR:Stripable
A named object associated with a Session. Objects derived from this class are expected to be destroyed before the session calls drop_references().
Methods | ||
---|---|---|
bool | active () | |
int | add_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.
Returns 0 on success, non-0 on failure. | ||
bool | add_sidechain (Processor) | |
Amp | amp () | |
std::string | comment () | |
bool | customize_plugin_insert (Processor, unsigned int, ChanCount, ChanCount) | |
enable custom plugin-insert configuration
Returns true if successful | ||
IO | input () | |
bool | isnil () | |
Delivery | main_outs () | |
the signal processorat at end of the processing chain which produces output | ||
bool | muted () | |
ChanCount | n_inputs () | |
ChanCount | n_outputs () | |
Processor | nth_plugin (unsigned int) | |
Processor | nth_processor (unsigned int) | |
Processor | nth_send (unsigned int) | |
IO | output () | |
PannerShell | panner_shell () | |
PeakMeter | peak_meter () | |
************************************************************* Pure interface begins here************************************************************* | ||
int | remove_processor (Processor, ProcessorStreams, bool) | |
remove plugin/processor
Returns 0 on success | ||
int | remove_processors (ProcessorList, ProcessorStreams) | |
bool | remove_sidechain (Processor) | |
int | reorder_processors (ProcessorList, ProcessorStreams) | |
int | replace_processor (Processor, Processor, ProcessorStreams) | |
replace plugin/processor with another
Returns 0 on success | ||
bool | reset_plugin_insert (Processor) | |
reset plugin-insert configuration to default, disable customizations. This is equivalent to calling customize_plugin_insert (proc, 0, unused)
Returns true if successful | ||
void | set_active (bool, void*) | |
void | set_comment (std::string, void*) | |
void | set_meter_point (MeterPoint, bool) | |
bool | set_name (std::string) | |
bool | set_strict_io (bool) | |
bool | soloed () | |
bool | strict_io () | |
Processor | the_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. | ||
Amp | trim () | |
Cast | ||
Automatable | to_automatable () | |
Track | to_track () |
Methods | ||
---|---|---|
AutomationControl | comp_enable_control () | |
AutomationControl | comp_makeup_control () | |
AutomationControl | comp_mode_control () | |
std::string | comp_mode_name (unsigned int) | |
--MISSING (boost::shared_ptr<ARDOUR::ReadOnlyControl>)-- | comp_redux_control () | |
AutomationControl | comp_speed_control () | |
std::string | comp_speed_name (unsigned int) | |
AutomationControl | comp_threshold_control () | |
unsigned int | eq_band_cnt () | |
std::string | eq_band_name (unsigned int) | |
AutomationControl | eq_enable_control () | |
AutomationControl | eq_freq_control (unsigned int) | |
AutomationControl | eq_gain_control (unsigned int) | |
AutomationControl | eq_q_control (unsigned int) | |
AutomationControl | eq_shape_control (unsigned int) | |
AutomationControl | filter_enable_controllable (bool) | |
AutomationControl | filter_freq_controllable (bool) | |
AutomationControl | filter_slope_controllable (bool) | |
GainControl | gain_control () | |
bool | is_auditioner () | |
bool | is_hidden () | |
bool | is_master () | |
bool | is_monitor () | |
bool | is_selected () | |
AutomationControl | master_send_enable_control () | |
MonitorProcessor | monitor_control () | |
MuteControl | mute_control () | |
AutomationControl | pan_azimuth_control () | |
AutomationControl | pan_elevation_control () | |
AutomationControl | pan_frontback_control () | |
AutomationControl | pan_lfe_control () | |
AutomationControl | pan_width_control () | |
PhaseControl | phase_control () | |
PresentationInfo | presentation_info_ptr () | |
AutomationControl | rec_enable_control () | |
AutomationControl | rec_safe_control () | |
AutomationControl | send_enable_control (unsigned int) | |
AutomationControl | send_level_control (unsigned int) | |
std::string | send_name (unsigned int) | |
void | set_presentation_order (unsigned int) | |
SoloControl | solo_control () | |
SoloIsolateControl | solo_isolate_control () | |
SoloSafeControl | solo_safe_control () | |
GainControl | trim_control () | |
Cast | ||
Route | to_route () |
Methods | ||
---|---|---|
std::string | name () | |
Cast | ||
Stateful | to_stateful () | |
StatefulDestructible | to_statefuldestructible () |
C‡: ARDOUR::Route::ProcessorStreams
A record of the stream configuration at some point in the processor list. Used to return where and why an processor list configuration request failed.
Constructor | ||
---|---|---|
ℂ | ARDOUR.Route.ProcessorStreams () |
C‡: ARDOUR::RouteGroup
is-a: ARDOUR:SessionObject
A group identifier for routes.
RouteGroups permit to define properties which are shared among all Routes that use the given identifier.
A route can at most be in one group.
Methods | ||
---|---|---|
int | add (Route) | |
Add a route to a group. Adding a route which is already in the group is allowed; nothing will happen.
| ||
void | clear () | |
void | destroy_subgroup () | |
bool | empty () | |
int | group_master_number () | |
bool | has_subgroup () | |
bool | is_active () | |
bool | is_color () | |
bool | is_gain () | |
bool | is_hidden () | |
bool | is_monitoring () | |
bool | is_mute () | |
bool | is_recenable () | |
bool | is_relative () | |
bool | is_route_active () | |
bool | is_select () | |
bool | is_solo () | |
void | make_subgroup (bool, Placement) | |
int | remove (Route) | |
unsigned int | rgba () | |
RouteListPtr | route_list () | |
void | set_active (bool, void*) | |
void | set_color (bool) | |
void | set_gain (bool) | |
void | set_hidden (bool, void*) | |
void | set_monitoring (bool) | |
void | set_mute (bool) | |
void | set_recenable (bool) | |
void | set_relative (bool, void*) | |
void | set_rgba (unsigned int) | |
set route-group color and notify UI about change | ||
void | set_route_active (bool) | |
void | set_select (bool) | |
void | set_solo (bool) | |
unsigned long | size () |
Methods | ||
---|---|---|
std::string | name () | |
Cast | ||
Stateful | to_stateful () |
C‡: std::list<ARDOUR::RouteGroup* >
Constructor | ||
---|---|---|
ℂ | ARDOUR.RouteGroupList () | |
Methods | ||
RouteGroup | back () | |
bool | empty () | |
RouteGroup | front () | |
LuaIter | iter () | |
void | reverse () | |
unsigned long | size () | |
LuaTable | table () |
C‡: std::list<boost::shared_ptr<ARDOUR::Route> >
Constructor | ||
---|---|---|
ℂ | ARDOUR.RouteList () | |
Methods | ||
Route | back () | |
bool | empty () | |
Route | front () | |
LuaIter | iter () | |
void | reverse () | |
unsigned long | size () | |
LuaTable | table () |
C‡: boost::shared_ptr<std::list<boost::shared_ptr<ARDOUR::Route> > >
Constructor | ||
---|---|---|
ℂ | ARDOUR.RouteListPtr () | |
Methods | ||
LuaTable | add (LuaTable {Route}) | |
bool | empty () | |
LuaIter | iter () | |
void | push_back (Route) | |
void | reverse () | |
unsigned long | size () | |
LuaTable | table () | |
void | unique () |
C‡: ARDOUR::Session
Ardour Session
Methods | ||
---|---|---|
void | abort_reversible_command () | |
abort an open undo command This must only be called after begin_reversible_command () | ||
bool | actively_recording () | |
void | add_command (Command) | |
void | add_internal_sends (Route, Placement, RouteListPtr) | |
StatefulDiffCommand | add_stateful_diff_command (StatefulDestructiblePtr) | |
create an StatefulDiffCommand from the given object and add it to the stack. This function must only be called after begin_reversible_command. Failing to do so may lead to a crash.
Returns the allocated StatefulDiffCommand (already added via add_command) | ||
void | begin_reversible_command (std::string) | |
begin collecting undo information This call must always be followed by either begin_reversible_command() or commit_reversible_command()
| ||
void | cancel_all_solo () | |
SessionConfiguration | cfg () | |
void | clear_all_solo_state (RouteListPtr) | |
void | commit_reversible_command (Command) | |
finalize an undo command and commit pending transactions This must only be called after begin_reversible_command ()
| ||
Controllable | controllable_by_id (ID) | |
long | current_end_frame () | |
long | current_start_frame () | |
void | disable_record (bool, bool) | |
bool | end_is_free () | |
AudioEngine | engine () | |
bool | export_track_state (RouteListPtr, std::string) | |
long | frame_rate () | |
"actual" sample rate of session, set by current audioengine rate, pullup/down etc. | ||
unsigned int | get_block_size () | |
bool | get_play_loop () | |
Route | get_remote_nth_route (unsigned int) | |
Stripable | get_remote_nth_stripable (unsigned int, Flag) | |
RouteListPtr | get_routes () | |
BufferSet | get_scratch_buffers (ChanCount, bool) | |
BufferSet | get_silent_buffers (ChanCount) | |
RouteListPtr | get_tracks () | |
void | goto_end () | |
void | goto_start (bool) | |
long | last_transport_start () | |
bool | listening () | |
Locations | locations () | |
Route | master_out () | |
void | maybe_enable_record (bool) | |
Route | monitor_out () | |
std::string | name () | |
RouteList | new_audio_route (int, int, RouteGroup, unsigned int, std::string, Flag, unsigned int) | |
AudioTrackList | new_audio_track (int, int, RouteGroup, unsigned int, std::string, unsigned int, TrackMode) | |
RouteList | new_midi_route (RouteGroup, unsigned int, std::string, bool, PluginInfo, PresetRecord, Flag, unsigned int) | |
MidiTrackList | new_midi_track (ChanCount, ChanCount, bool, PluginInfo, PresetRecord, RouteGroup, unsigned int, std::string, unsigned int, TrackMode) | |
RouteList | new_route_from_template (unsigned int, unsigned int, std::string, std::string, PlaylistDisposition) | |
RouteGroup | new_route_group (std::string) | |
long | nominal_frame_rate () | |
"native" sample rate of session, regardless of current audioengine rate, pullup/down etc | ||
std::string | path () | |
Processor | processor_by_id (ID) | |
RecordState | record_status () | |
void | remove_route_group (RouteGroup) | |
void | request_locate (long, bool) | |
void | request_play_loop (bool, bool) | |
void | request_stop (bool, bool) | |
void | request_transport_speed (double, bool) | |
Route | route_by_id (ID) | |
Route | route_by_name (std::string) | |
Route | route_by_selected_count (unsigned int) | |
RouteGroupList | route_groups () | |
... | sample_to_timecode_lua (--lua--) | |
double | samples_per_timecode_frame () | |
int | save_state (std::string, bool, bool, bool) | |
save session
Returns zero on success | ||
void | scripts_changed () | |
void | set_control (AutomationControl, double, GroupControlDisposition) | |
void | set_controls (ControlListPtr, double, GroupControlDisposition) | |
void | set_dirty () | |
void | set_end_is_free (bool) | |
void | set_exclusive_input_active (RouteListPtr, bool, bool) | |
std::string | snap_name () | |
bool | solo_isolated () | |
bool | soloing () | |
Source | source_by_id (ID) | |
TempoMap | tempo_map () | |
bool | timecode_drop_frames () | |
long | timecode_frames_per_hour () | |
double | timecode_frames_per_second () | |
... | timecode_to_sample_lua (--lua--) | |
Track | track_by_diskstream_id (ID) | |
long | transport_frame () | |
bool | transport_rolling () | |
double | transport_speed () | |
StringList | unknown_processors () | |
long | worst_input_latency () | |
long | worst_output_latency () | |
long | worst_playback_latency () | |
long | worst_track_latency () |
C‡: ARDOUR::SessionConfiguration
is-a: PBD:Configuration
Base class for objects with saveable and undoable state
Methods | ||
---|---|---|
std::string | get_audio_search_path () | |
bool | get_auto_input () | |
bool | get_auto_play () | |
bool | get_auto_return () | |
bool | get_count_in () | |
unsigned int | get_destructive_xfade_msecs () | |
bool | get_external_sync () | |
bool | get_glue_new_markers_to_bars_and_beats () | |
bool | get_glue_new_regions_to_bars_and_beats () | |
InsertMergePolicy | get_insert_merge_policy () | |
bool | get_jack_time_master () | |
bool | get_layered_record_mode () | |
unsigned int | get_meterbridge_label_height () | |
bool | get_midi_copy_is_fork () | |
std::string | get_midi_search_path () | |
long | get_minitimeline_span () | |
SampleFormat | get_native_file_data_format () | |
HeaderFormat | get_native_file_header_format () | |
bool | get_punch_in () | |
bool | get_punch_out () | |
std::string | get_raid_path () | |
bool | get_realtime_export () | |
MonitorChoice | get_session_monitoring () | |
bool | get_show_busses_on_meterbridge () | |
bool | get_show_group_tabs () | |
bool | get_show_master_on_meterbridge () | |
bool | get_show_midi_on_meterbridge () | |
bool | get_show_monitor_on_meterbridge () | |
bool | get_show_mute_on_meterbridge () | |
bool | get_show_name_on_meterbridge () | |
bool | get_show_rec_on_meterbridge () | |
bool | get_show_region_fades () | |
bool | get_show_solo_on_meterbridge () | |
bool | get_show_summary () | |
std::string | get_slave_timecode_offset () | |
unsigned int | get_subframes_per_frame () | |
std::string | get_take_name () | |
TimecodeFormat | get_timecode_format () | |
std::string | get_timecode_generator_offset () | |
long | get_timecode_offset () | |
bool | get_timecode_offset_negative () | |
bool | get_track_name_number () | |
bool | get_track_name_take () | |
bool | get_use_monitor_fades () | |
bool | get_use_region_fades () | |
bool | get_use_transport_fades () | |
bool | get_use_video_file_fps () | |
bool | get_use_video_sync () | |
float | get_video_pullup () | |
bool | get_videotimeline_pullup () | |
double | get_wave_amplitude_zoom () | |
unsigned short | get_wave_zoom_factor () | |
bool | set_audio_search_path (std::string) | |
bool | set_auto_input (bool) | |
bool | set_auto_play (bool) | |
bool | set_auto_return (bool) | |
bool | set_count_in (bool) | |
bool | set_destructive_xfade_msecs (unsigned int) | |
bool | set_external_sync (bool) | |
bool | set_glue_new_markers_to_bars_and_beats (bool) | |
bool | set_glue_new_regions_to_bars_and_beats (bool) | |
bool | set_insert_merge_policy (InsertMergePolicy) | |
bool | set_jack_time_master (bool) | |
bool | set_layered_record_mode (bool) | |
bool | set_meterbridge_label_height (unsigned int) | |
bool | set_midi_copy_is_fork (bool) | |
bool | set_midi_search_path (std::string) | |
bool | set_minitimeline_span (long) | |
bool | set_native_file_data_format (SampleFormat) | |
bool | set_native_file_header_format (HeaderFormat) | |
bool | set_punch_in (bool) | |
bool | set_punch_out (bool) | |
bool | set_raid_path (std::string) | |
bool | set_realtime_export (bool) | |
bool | set_session_monitoring (MonitorChoice) | |
bool | set_show_busses_on_meterbridge (bool) | |
bool | set_show_group_tabs (bool) | |
bool | set_show_master_on_meterbridge (bool) | |
bool | set_show_midi_on_meterbridge (bool) | |
bool | set_show_monitor_on_meterbridge (bool) | |
bool | set_show_mute_on_meterbridge (bool) | |
bool | set_show_name_on_meterbridge (bool) | |
bool | set_show_rec_on_meterbridge (bool) | |
bool | set_show_region_fades (bool) | |
bool | set_show_solo_on_meterbridge (bool) | |
bool | set_show_summary (bool) | |
bool | set_slave_timecode_offset (std::string) | |
bool | set_subframes_per_frame (unsigned int) | |
bool | set_take_name (std::string) | |
bool | set_timecode_format (TimecodeFormat) | |
bool | set_timecode_generator_offset (std::string) | |
bool | set_timecode_offset (long) | |
bool | set_timecode_offset_negative (bool) | |
bool | set_track_name_number (bool) | |
bool | set_track_name_take (bool) | |
bool | set_use_monitor_fades (bool) | |
bool | set_use_region_fades (bool) | |
bool | set_use_transport_fades (bool) | |
bool | set_use_video_file_fps (bool) | |
bool | set_use_video_sync (bool) | |
bool | set_video_pullup (float) | |
bool | set_videotimeline_pullup (bool) | |
bool | set_wave_amplitude_zoom (double) | |
bool | set_wave_zoom_factor (unsigned short) | |
Properties | ||
std::string | audio_search_path | |
bool | auto_input | |
bool | auto_play | |
bool | auto_return | |
bool | count_in | |
unsigned int | destructive_xfade_msecs | |
bool | external_sync | |
bool | glue_new_markers_to_bars_and_beats | |
bool | glue_new_regions_to_bars_and_beats | |
ARDOUR.InsertMergePolicy | insert_merge_policy | |
bool | jack_time_master | |
bool | layered_record_mode | |
unsigned int | meterbridge_label_height | |
bool | midi_copy_is_fork | |
std::string | midi_search_path | |
long | minitimeline_span | |
ARDOUR.SampleFormat | native_file_data_format | |
ARDOUR.HeaderFormat | native_file_header_format | |
bool | punch_in | |
bool | punch_out | |
std::string | raid_path | |
bool | realtime_export | |
ARDOUR.MonitorChoice | session_monitoring | |
bool | show_busses_on_meterbridge | |
bool | show_group_tabs | |
bool | show_master_on_meterbridge | |
bool | show_midi_on_meterbridge | |
bool | show_monitor_on_meterbridge | |
bool | show_mute_on_meterbridge | |
bool | show_name_on_meterbridge | |
bool | show_rec_on_meterbridge | |
bool | show_region_fades | |
bool | show_solo_on_meterbridge | |
bool | show_summary | |
std::string | slave_timecode_offset | |
unsigned int | subframes_per_frame | |
std::string | take_name | |
Timecode.TimecodeFormat | timecode_format | |
std::string | timecode_generator_offset | |
long | timecode_offset | |
bool | timecode_offset_negative | |
bool | track_name_number | |
bool | track_name_take | |
bool | use_monitor_fades | |
bool | use_region_fades | |
bool | use_transport_fades | |
bool | use_video_file_fps | |
bool | use_video_sync | |
float | video_pullup | |
bool | videotimeline_pullup | |
double | wave_amplitude_zoom | |
unsigned short | wave_zoom_factor |
Methods | ||
---|---|---|
void | clear_changes () | |
Forget about any changes to this object's properties | ||
ID | id () | |
OwnedPropertyList | properties () |
C‡: ARDOUR::SessionObject
A named object associated with a Session. Objects derived from this class are expected to be destroyed before the session calls drop_references().
Methods | ||
---|---|---|
std::string | name () | |
Cast | ||
Stateful | to_stateful () |
C‡: boost::shared_ptr< ARDOUR::SessionObject >, boost::weak_ptr< ARDOUR::SessionObject >
A named object associated with a Session. Objects derived from this class are expected to be destroyed before the session calls drop_references().
Methods | ||
---|---|---|
bool | isnil () | |
std::string | name () | |
Cast | ||
Stateful | to_stateful () | |
StatefulDestructible | to_statefuldestructible () |
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 | ||
---|---|---|
bool | isnil () |
Methods | ||
---|---|---|
IO | input () | |
ChanCount | natural_input_streams () | |
ChanCount | natural_output_streams () | |
IO | output () |
Methods | ||
---|---|---|
void | activate () | |
bool | active () | |
void | deactivate () | |
std::string | display_name () | |
bool | display_to_user () | |
ChanCount | input_streams () | |
ChanCount | output_streams () | |
Cast | ||
Amp | to_amp () | |
Automatable | to_automatable () | |
PluginInsert | to_insert () | |
IOProcessor | to_ioprocessor () | |
PeakMeter | to_meter () | |
MonitorProcessor | to_monitorprocessor () | |
PeakMeter | to_peakmeter () | |
PluginInsert | to_plugininsert () | |
SideChain | to_sidechain () | |
UnknownProcessor | to_unknownprocessor () |
Methods | ||
---|---|---|
std::string | name () | |
Cast | ||
Stateful | to_stateful () | |
StatefulDestructible | to_statefuldestructible () |
C‡: boost::shared_ptr< ARDOUR::SlavableAutomationControl >, boost::weak_ptr< ARDOUR::SlavableAutomationControl >
is-a: ARDOUR:AutomationControl
A PBD::Controllable with associated automation data (AutomationList)
Methods | ||
---|---|---|
void | add_master (AutomationControl, bool) | |
void | clear_masters () | |
int | get_boolean_masters () | |
double | get_masters_value () | |
bool | isnil () | |
void | remove_master (AutomationControl) | |
bool | slaved () | |
bool | slaved_to (AutomationControl) |
Methods | ||
---|---|---|
AutomationList | alist () | |
AutoState | automation_state () | |
AutoStyle | automation_style () | |
double | get_value () | |
Get the current effective `user' value based on automation state | ||
void | set_automation_state (AutoState) | |
void | set_automation_style (AutoStyle) | |
void | set_value (double, GroupControlDisposition) | |
Get and Set `internal' value All derived classes must implement this. Basic derived classes will ignore
| ||
void | start_touch (double) | |
void | stop_touch (bool, double) | |
bool | writable () | |
Cast | ||
Control | to_ctrl () |
Methods | ||
---|---|---|
std::string | name () |
Methods | ||
---|---|---|
void | clear_changes () | |
Forget about any changes to this object's properties | ||
ID | id () | |
OwnedPropertyList | properties () |
C‡: boost::shared_ptr< ARDOUR::SoloControl >, boost::weak_ptr< ARDOUR::SoloControl >
is-a: ARDOUR:SlavableAutomationControl,
A PBD::Controllable with associated automation data (AutomationList)
Methods | ||
---|---|---|
bool | can_solo () | |
bool | isnil () | |
bool | self_soloed () | |
bool | soloed () |
Methods | ||
---|---|---|
void | add_master (AutomationControl, bool) | |
void | clear_masters () | |
int | get_boolean_masters () | |
double | get_masters_value () | |
void | remove_master (AutomationControl) | |
bool | slaved () | |
bool | slaved_to (AutomationControl) |
Methods | ||
---|---|---|
AutomationList | alist () | |
AutoState | automation_state () | |
AutoStyle | automation_style () | |
double | get_value () | |
Get the current effective `user' value based on automation state | ||
void | set_automation_state (AutoState) | |
void | set_automation_style (AutoStyle) | |
void | set_value (double, GroupControlDisposition) | |
Get and Set `internal' value All derived classes must implement this. Basic derived classes will ignore
| ||
void | start_touch (double) | |
void | stop_touch (bool, double) | |
bool | writable () | |
Cast | ||
Control | to_ctrl () |
Methods | ||
---|---|---|
std::string | name () |
Methods | ||
---|---|---|
void | clear_changes () | |
Forget about any changes to this object's properties | ||
ID | id () | |
OwnedPropertyList | properties () |
C‡: boost::shared_ptr< ARDOUR::SoloIsolateControl >, boost::weak_ptr< ARDOUR::SoloIsolateControl >
is-a: ARDOUR:SlavableAutomationControl,
A PBD::Controllable with associated automation data (AutomationList)
Methods | ||
---|---|---|
bool | isnil () | |
bool | self_solo_isolated () | |
bool | solo_isolated () |
Methods | ||
---|---|---|
void | add_master (AutomationControl, bool) | |
void | clear_masters () | |
int | get_boolean_masters () | |
double | get_masters_value () | |
void | remove_master (AutomationControl) | |
bool | slaved () | |
bool | slaved_to (AutomationControl) |
Methods | ||
---|---|---|
AutomationList | alist () | |
AutoState | automation_state () | |
AutoStyle | automation_style () | |
double | get_value () | |
Get the current effective `user' value based on automation state | ||
void | set_automation_state (AutoState) | |
void | set_automation_style (AutoStyle) | |
void | set_value (double, GroupControlDisposition) | |
Get and Set `internal' value All derived classes must implement this. Basic derived classes will ignore
| ||
void | start_touch (double) | |
void | stop_touch (bool, double) | |
bool | writable () | |
Cast | ||
Control | to_ctrl () |
Methods | ||
---|---|---|
std::string | name () |
Methods | ||
---|---|---|
void | clear_changes () | |
Forget about any changes to this object's properties | ||
ID | id () | |
OwnedPropertyList | properties () |
C‡: boost::shared_ptr< ARDOUR::SoloSafeControl >, boost::weak_ptr< ARDOUR::SoloSafeControl >
is-a: ARDOUR:SlavableAutomationControl,
A PBD::Controllable with associated automation data (AutomationList)
Methods | ||
---|---|---|
bool | isnil () | |
bool | solo_safe () |
Methods | ||
---|---|---|
void | add_master (AutomationControl, bool) | |
void | clear_masters () | |
int | get_boolean_masters () | |
double | get_masters_value () | |
void | remove_master (AutomationControl) | |
bool | slaved () | |
bool | slaved_to (AutomationControl) |
Methods | ||
---|---|---|
AutomationList | alist () | |
AutoState | automation_state () | |
AutoStyle | automation_style () | |
double | get_value () | |
Get the current effective `user' value based on automation state | ||
void | set_automation_state (AutoState) | |
void | set_automation_style (AutoStyle) | |
void | set_value (double, GroupControlDisposition) | |
Get and Set `internal' value All derived classes must implement this. Basic derived classes will ignore
| ||
void | start_touch (double) | |
void | stop_touch (bool, double) | |
bool | writable () | |
Cast | ||
Control | to_ctrl () |
Methods | ||
---|---|---|
std::string | name () |
Methods | ||
---|---|---|
void | clear_changes () | |
Forget about any changes to this object's properties | ||
ID | id () | |
OwnedPropertyList | properties () |
C‡: boost::shared_ptr< ARDOUR::Source >, boost::weak_ptr< ARDOUR::Source >
is-a: ARDOUR:SessionObjectPtr
A named object associated with a Session. Objects derived from this class are expected to be destroyed before the session calls drop_references().
Methods | ||
---|---|---|
std::string | ancestor_name () | |
bool | can_be_analysed () | |
bool | destructive () | |
bool | empty () | |
bool | has_been_analysed () | |
bool | isnil () | |
long | length (long) | |
long | natural_position () | |
long | timeline_position () | |
long | timestamp () | |
int | use_count () | |
bool | used () | |
bool | writable () | |
Cast | ||
AudioSource | to_audiosource () | |
FileSource | to_filesource () | |
MidiSource | to_midisource () |
Methods | ||
---|---|---|
std::string | name () | |
Cast | ||
Stateful | to_stateful () | |
StatefulDestructible | to_statefuldestructible () |
C‡: std::vector<boost::shared_ptr<ARDOUR::Source> >
Constructor | ||
---|---|---|
ℂ | ARDOUR.SourceList () | |
ℂ | ARDOUR.SourceList () | |
Methods | ||
LuaTable | add (LuaTable {Source}) | |
Source | at (unsigned long) | |
bool | empty () | |
LuaIter | iter () | |
void | push_back (Source) | |
unsigned long | size () | |
LuaTable | table () |
C‡: boost::shared_ptr< ARDOUR::Stripable >, boost::weak_ptr< ARDOUR::Stripable >
is-a: ARDOUR:SessionObjectPtr
A named object associated with a Session. Objects derived from this class are expected to be destroyed before the session calls drop_references().
Methods | ||
---|---|---|
AutomationControl | comp_enable_control () | |
AutomationControl | comp_makeup_control () | |
AutomationControl | comp_mode_control () | |
std::string | comp_mode_name (unsigned int) | |
--MISSING (boost::shared_ptr<ARDOUR::ReadOnlyControl>)-- | comp_redux_control () | |
AutomationControl | comp_speed_control () | |
std::string | comp_speed_name (unsigned int) | |
AutomationControl | comp_threshold_control () | |
unsigned int | eq_band_cnt () | |
std::string | eq_band_name (unsigned int) | |
AutomationControl | eq_enable_control () | |
AutomationControl | eq_freq_control (unsigned int) | |
AutomationControl | eq_gain_control (unsigned int) | |
AutomationControl | eq_q_control (unsigned int) | |
AutomationControl | eq_shape_control (unsigned int) | |
AutomationControl | filter_enable_controllable (bool) | |
AutomationControl | filter_freq_controllable (bool) | |
AutomationControl | filter_slope_controllable (bool) | |
GainControl | gain_control () | |
bool | is_auditioner () | |
bool | is_hidden () | |
bool | is_master () | |
bool | is_monitor () | |
bool | is_selected () | |
bool | isnil () | |
AutomationControl | master_send_enable_control () | |
MonitorProcessor | monitor_control () | |
MuteControl | mute_control () | |
AutomationControl | pan_azimuth_control () | |
AutomationControl | pan_elevation_control () | |
AutomationControl | pan_frontback_control () | |
AutomationControl | pan_lfe_control () | |
AutomationControl | pan_width_control () | |
PhaseControl | phase_control () | |
PresentationInfo | presentation_info_ptr () | |
AutomationControl | rec_enable_control () | |
AutomationControl | rec_safe_control () | |
AutomationControl | send_enable_control (unsigned int) | |
AutomationControl | send_level_control (unsigned int) | |
std::string | send_name (unsigned int) | |
void | set_presentation_order (unsigned int) | |
SoloControl | solo_control () | |
SoloIsolateControl | solo_isolate_control () | |
SoloSafeControl | solo_safe_control () | |
GainControl | trim_control () | |
Cast | ||
Route | to_route () |
Methods | ||
---|---|---|
std::string | name () | |
Cast | ||
Stateful | to_stateful () | |
StatefulDestructible | to_statefuldestructible () |
C‡: ARDOUR::Tempo
Tempo, the speed at which musical time progresses (BPM).
Constructor | ||
---|---|---|
ℂ | ARDOUR.Tempo (double, double, double) | |
Methods | ||
double | frames_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.
| ||
double | frames_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.
| ||
double | note_type () | |
double | note_types_per_minute () | |
double | quarter_notes_per_minute () |
C‡: ARDOUR::TempoMap
Tempo Map - mapping of timecode to musical time. convert audio-samples, sample-rate to Bar/Beat/Tick, Meter/Tempo
Methods | ||
---|---|---|
MeterSection | add_meter (Meter, double, BBT_TIME, long, PositionLockStyle) | |
TempoSection | add_tempo (Tempo, double, long, PositionLockStyle) | |
BBT_TIME | bbt_at_frame (long) | |
Returns the BBT time corresponding to the supplied frame position.
Returns the BBT time at the frame position . | ||
double | exact_beat_at_frame (long, int) | |
double | exact_qn_at_frame (long, int) | |
long | framepos_plus_qn (long, Beats) | |
Add some (fractional) Beats to a session frame position, and return the result in frames. pos can be -ve, if required. | ||
Beats | framewalk_to_qn (long, long) | |
Count the number of beats that are equivalent to distance when going forward, starting at pos. | ||
MeterSection | meter_section_at_beat (double) | |
MeterSection | meter_section_at_frame (long) | |
TempoSection | tempo_section_at_frame (long) | |
TempoSection | tempo_section_at_frame (long) |
C‡: ARDOUR::TempoSection
is-a: ARDOUR:MetricSection
A section of timeline with a certain Tempo.
Methods | ||
---|---|---|
double | c () |
Methods | ||
---|---|---|
double | pulse () | |
void | set_pulse (double) |
C‡: boost::shared_ptr< ARDOUR::Track >, boost::weak_ptr< ARDOUR::Track >
is-a: ARDOUR:Route
A track is an route (bus) with a recordable diskstream and related objects relevant to tracking, playback and editing.
Specifically a track has regions and playlist objects.
Methods | ||
---|---|---|
Region | bounce (InterThreadInfo&) | |
bounce track from session start to session end to new region
Returns a new audio region (or nil in case of error) | ||
Region | bounce_range (long, long, InterThreadInfo&, Processor, bool) | |
Bounce the given range to a new audio region.
Returns a new audio region (or nil in case of error) | ||
bool | bounceable (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.
Returns true if the track can be bounced, or false otherwise. | ||
bool | can_record () | |
bool | isnil () | |
Playlist | playlist () | |
bool | set_name (std::string) | |
Cast | ||
AudioTrack | to_audio_track () | |
MidiTrack | to_midi_track () |
Methods | ||
---|---|---|
bool | active () | |
int | add_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.
Returns 0 on success, non-0 on failure. | ||
bool | add_sidechain (Processor) | |
Amp | amp () | |
std::string | comment () | |
bool | customize_plugin_insert (Processor, unsigned int, ChanCount, ChanCount) | |
enable custom plugin-insert configuration
Returns true if successful | ||
IO | input () | |
Delivery | main_outs () | |
the signal processorat at end of the processing chain which produces output | ||
bool | muted () | |
ChanCount | n_inputs () | |
ChanCount | n_outputs () | |
Processor | nth_plugin (unsigned int) | |
Processor | nth_processor (unsigned int) | |
Processor | nth_send (unsigned int) | |
IO | output () | |
PannerShell | panner_shell () | |
PeakMeter | peak_meter () | |
************************************************************* Pure interface begins here************************************************************* | ||
int | remove_processor (Processor, ProcessorStreams, bool) | |
remove plugin/processor
Returns 0 on success | ||
int | remove_processors (ProcessorList, ProcessorStreams) | |
bool | remove_sidechain (Processor) | |
int | reorder_processors (ProcessorList, ProcessorStreams) | |
int | replace_processor (Processor, Processor, ProcessorStreams) | |
replace plugin/processor with another
Returns 0 on success | ||
bool | reset_plugin_insert (Processor) | |
reset plugin-insert configuration to default, disable customizations. This is equivalent to calling customize_plugin_insert (proc, 0, unused)
Returns true if successful | ||
void | set_active (bool, void*) | |
void | set_comment (std::string, void*) | |
void | set_meter_point (MeterPoint, bool) | |
bool | set_strict_io (bool) | |
bool | soloed () | |
bool | strict_io () | |
Processor | the_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. | ||
Amp | trim () | |
Cast | ||
Automatable | to_automatable () | |
Track | to_track () |
Methods | ||
---|---|---|
AutomationControl | comp_enable_control () | |
AutomationControl | comp_makeup_control () | |
AutomationControl | comp_mode_control () | |
std::string | comp_mode_name (unsigned int) | |
--MISSING (boost::shared_ptr<ARDOUR::ReadOnlyControl>)-- | comp_redux_control () | |
AutomationControl | comp_speed_control () | |
std::string | comp_speed_name (unsigned int) | |
AutomationControl | comp_threshold_control () | |
unsigned int | eq_band_cnt () | |
std::string | eq_band_name (unsigned int) | |
AutomationControl | eq_enable_control () | |
AutomationControl | eq_freq_control (unsigned int) | |
AutomationControl | eq_gain_control (unsigned int) | |
AutomationControl | eq_q_control (unsigned int) | |
AutomationControl | eq_shape_control (unsigned int) | |
AutomationControl | filter_enable_controllable (bool) | |
AutomationControl | filter_freq_controllable (bool) | |
AutomationControl | filter_slope_controllable (bool) | |
GainControl | gain_control () | |
bool | is_auditioner () | |
bool | is_hidden () | |
bool | is_master () | |
bool | is_monitor () | |
bool | is_selected () | |
AutomationControl | master_send_enable_control () | |
MonitorProcessor | monitor_control () | |
MuteControl | mute_control () | |
AutomationControl | pan_azimuth_control () | |
AutomationControl | pan_elevation_control () | |
AutomationControl | pan_frontback_control () | |
AutomationControl | pan_lfe_control () | |
AutomationControl | pan_width_control () | |
PhaseControl | phase_control () | |
PresentationInfo | presentation_info_ptr () | |
AutomationControl | rec_enable_control () | |
AutomationControl | rec_safe_control () | |
AutomationControl | send_enable_control (unsigned int) | |
AutomationControl | send_level_control (unsigned int) | |
std::string | send_name (unsigned int) | |
void | set_presentation_order (unsigned int) | |
SoloControl | solo_control () | |
SoloIsolateControl | solo_isolate_control () | |
SoloSafeControl | solo_safe_control () | |
GainControl | trim_control () | |
Cast | ||
Route | to_route () |
Methods | ||
---|---|---|
std::string | name () | |
Cast | ||
Stateful | to_stateful () | |
StatefulDestructible | to_statefuldestructible () |
C‡: boost::shared_ptr< ARDOUR::UnknownProcessor >, boost::weak_ptr< ARDOUR::UnknownProcessor >
is-a: ARDOUR:Processor
A stub Processor that can be used in place of a `real' one that cannot be created for some reason; usually because it requires a plugin which is not present. UnknownProcessors are special-cased in a few places, notably in route configuration and signal processing, so that on encountering them configuration or processing stops.
When a Processor is missing from a Route, the following processors cannot be configured, as the missing Processor's output port configuration is unknown.
The main utility of the UnknownProcessor is that it allows state to be preserved, so that, for example, loading and re-saving a session on a machine without a particular plugin will not corrupt the session.
Methods | ||
---|---|---|
bool | isnil () |
Methods | ||
---|---|---|
void | activate () | |
bool | active () | |
void | deactivate () | |
std::string | display_name () | |
bool | display_to_user () | |
ChanCount | input_streams () | |
ChanCount | output_streams () | |
Cast | ||
Amp | to_amp () | |
Automatable | to_automatable () | |
PluginInsert | to_insert () | |
IOProcessor | to_ioprocessor () | |
PeakMeter | to_meter () | |
MonitorProcessor | to_monitorprocessor () | |
PeakMeter | to_peakmeter () | |
PluginInsert | to_plugininsert () | |
SideChain | to_sidechain () | |
UnknownProcessor | to_unknownprocessor () |
Methods | ||
---|---|---|
std::string | name () | |
Cast | ||
Stateful | to_stateful () | |
StatefulDestructible | to_statefuldestructible () |
C‡: std::list<boost::weak_ptr<ARDOUR::AudioSource> >
Constructor | ||
---|---|---|
ℂ | ARDOUR.WeakAudioSourceList () | |
Methods | ||
AudioSource | back () | |
bool | empty () | |
AudioSource | front () | |
LuaIter | iter () | |
void | reverse () | |
unsigned long | size () | |
LuaTable | table () |
C‡: std::list<boost::weak_ptr<ARDOUR::Route> >
Constructor | ||
---|---|---|
ℂ | ARDOUR.WeakRouteList () | |
Methods | ||
Route | back () | |
bool | empty () | |
Route | front () | |
LuaIter | iter () | |
void | reverse () | |
unsigned long | size () | |
LuaTable | table () |
C‡: std::list<boost::weak_ptr<ARDOUR::Source> >
Constructor | ||
---|---|---|
ℂ | ARDOUR.WeakSourceList () | |
Methods | ||
Source | back () | |
bool | empty () | |
Source | front () | |
LuaIter | iter () | |
void | reverse () | |
unsigned long | size () | |
LuaTable | table () |
Methods | ||
---|---|---|
std::string | http_get (std::string) | |
ProcessorVector | processor_selection () |
C‡: ArdourMarker
Location Marker
Editor ruler representation of a location marker or range on the timeline.
Methods | ||
---|---|---|
std::string | name () | |
long | position () | |
Type | type () |
C‡: std::list<ArdourMarker* >
Constructor | ||
---|---|---|
ℂ | ArdourUI.ArdourMarkerList () | |
Methods | ||
LuaTable | add (ArdourMarker* ) | |
ArdourMarker | back () | |
bool | empty () | |
ArdourMarker | front () | |
LuaIter | iter () | |
void | push_back (ArdourMarker) | |
void | reverse () | |
unsigned long | size () | |
LuaTable | table () | |
void | unique () |
C‡: AxisView
AxisView defines the abstract base class for horizontal and vertical presentations of Stripables.
This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.
C‡: PublicEditor
This class contains just the public interface of the Editor class, in order to decouple it from the private implementation, so that callers of PublicEditor need not be recompiled if private methods or member variables change.
Methods | ||
---|---|---|
void | access_action (std::string, std::string) | |
void | add_location_from_playhead_cursor () | |
TrackViewList | axis_views_from_routes (RouteListPtr) | |
void | center_screen (long) | |
void | clear_playlist (Playlist) | |
void | clear_playlists (TimeAxisView) | |
void | consider_auditioning (Region) | |
Possibly start the audition of a region. If
| ||
void | copy_playlists (TimeAxisView) | |
MouseMode | current_mouse_mode () | |
Returns The current mouse mode (gain, object, range, timefx etc.) (defined in editing_syms.h) | ||
long | current_page_samples () | |
void | deselect_all () | |
LuaTable(...) | do_embed (StringVector, ImportDisposition, ImportMode, long&, PluginInfo) | |
LuaTable(...) | do_import (StringVector, ImportDisposition, ImportMode, SrcQuality, MidiTrackNameSource, --MISSING (ARDOUR::MidiTempoMapDisposition)--, long&, PluginInfo) | |
Import existing media | ||
bool | dragging_playhead () | |
Returns true if the playhead is currently being dragged, otherwise false | ||
MouseMode | effective_mouse_mode () | |
void | export_audio () | |
Open main export dialog | ||
void | export_range () | |
Open export dialog with current range pre-selected | ||
void | export_selection () | |
Open export dialog with current selection pre-selected | ||
LuaTable(Location, ...) | find_location_from_marker (ArdourMarker, bool&) | |
ArdourMarker | find_marker_from_location_id (ID, bool) | |
bool | follow_playhead () | |
Returns true if the editor is following the playhead | ||
long | get_current_zoom () | |
Selection | get_cut_buffer () | |
unsigned int | get_grid_beat_divisions (long) | |
LuaTable(Beats, ...) | get_grid_type_as_beats (bool&, long) | |
LuaTable(long, ...) | get_nudge_distance (long, long&) | |
long | get_paste_offset (long, unsigned int, long) | |
LuaTable(...) | get_pointer_position (double&, double&) | |
RouteTimeAxisView | get_route_view_by_route_id (ID) | |
Selection | get_selection () | |
LuaTable(bool, ...) | get_selection_extents (long&, long&) | |
bool | get_smart_mode () | |
TrackViewList | get_track_views () | |
int | get_videotl_bar_height () | |
double | get_y_origin () | |
ZoomFocus | get_zoom_focus () | |
void | goto_nth_marker (int) | |
void | hide_track_in_display (TimeAxisView, bool) | |
long | leftmost_sample () | |
void | maximise_editing_space () | |
void | maybe_locate_with_edit_preroll (long) | |
void | mouse_add_new_marker (long, bool) | |
void | new_playlists (TimeAxisView) | |
void | new_region_from_selection () | |
void | override_visible_track_count () | |
long | pixel_to_sample (double) | |
void | play_selection () | |
void | play_with_preroll () | |
void | redo (unsigned int) | |
Redo some transactions.
| ||
RegionView | regionview_from_region (Region) | |
void | remove_last_capture () | |
void | remove_location_at_playhead_cursor () | |
void | remove_tracks () | |
void | reset_x_origin (long) | |
void | reset_y_origin (double) | |
void | reset_zoom (long) | |
void | restore_editing_space () | |
RouteTimeAxisView | rtav_from_route (Route) | |
double | sample_to_pixel (long) | |
bool | scroll_down_one_track (bool) | |
void | scroll_tracks_down_line () | |
void | scroll_tracks_up_line () | |
bool | scroll_up_one_track (bool) | |
void | select_all_tracks () | |
void | separate_region_from_selection () | |
void | set_follow_playhead (bool, bool) | |
Set whether the editor should follow the playhead.
| ||
void | set_loop_range (long, long, std::string) | |
void | set_mouse_mode (MouseMode, bool) | |
Set the mouse mode (gain, object, range, timefx etc.)
| ||
void | set_punch_range (long, long, std::string) | |
void | set_selection (SelectionList, Operation) | |
void | set_show_measures (bool) | |
void | set_snap_mode (SnapMode) | |
Set the snap mode.
| ||
void | set_snap_threshold (double) | |
Set the snap threshold.
| ||
void | set_stationary_playhead (bool) | |
void | set_video_timeline_height (int) | |
void | set_zoom_focus (ZoomFocus) | |
bool | show_measures () | |
void | show_track_in_display (TimeAxisView, bool) | |
SnapMode | snap_mode () | |
SnapType | snap_type () | |
bool | stationary_playhead () | |
void | stem_export () | |
Open stem export dialog | ||
void | temporal_zoom_step (bool) | |
void | toggle_meter_updating () | |
void | toggle_ruler_video (bool) | |
void | toggle_xjadeo_proc (int) | |
void | undo (unsigned int) | |
Undo some transactions.
| ||
double | visible_canvas_height () |
C‡: MarkerSelection
is-a: ArdourUI:ArdourMarkerList
This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.
Constructor | ||
---|---|---|
ℂ | ArdourUI.ArdourMarkerList () | |
Methods | ||
LuaTable | add (ArdourMarker* ) | |
ArdourMarker | back () | |
bool | empty () | |
ArdourMarker | front () | |
LuaIter | iter () | |
void | push_back (ArdourMarker) | |
void | reverse () | |
unsigned long | size () | |
LuaTable | table () | |
void | unique () |
C‡: RegionSelection
Class to represent list of selected regions.
Methods | ||
---|---|---|
long | end_frame () | |
unsigned long | n_midi_regions () | |
RegionList | regionlist () | |
long | start () |
C‡: RegionView
is-a: ArdourUI:TimeAxisViewItem
Base class for items that may appear upon a TimeAxisView.
This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.
C‡: RouteTimeAxisView
is-a: ArdourUI:RouteUI
Base class for objects with auto-disconnection. trackable must be inherited when objects shall automatically invalidate slots referring to them on destruction. A slot built from a member function of a trackable derived type installs a callback that is invoked when the trackable object is destroyed or overwritten.
add_destroy_notify_callback() and remove_destroy_notify_callback() can be used to manually install and remove callbacks when notification of the object dying is needed.
notify_callbacks() invokes and removes all previously installed callbacks and can therefore be used to disconnect from all signals.
Note that there is no virtual destructor. Don't use trackable* as pointer type for managing your data or the destructors of your derived types won't be called when deleting your objects.
signal
Cast | ||
---|---|---|
TimeAxisView | to_timeaxisview () |
C‡: RouteUI
is-a: ArdourUI:Selectable
Base class for objects with auto-disconnection. trackable must be inherited when objects shall automatically invalidate slots referring to them on destruction. A slot built from a member function of a trackable derived type installs a callback that is invoked when the trackable object is destroyed or overwritten.
add_destroy_notify_callback() and remove_destroy_notify_callback() can be used to manually install and remove callbacks when notification of the object dying is needed.
notify_callbacks() invokes and removes all previously installed callbacks and can therefore be used to disconnect from all signals.
Note that there is no virtual destructor. Don't use trackable* as pointer type for managing your data or the destructors of your derived types won't be called when deleting your objects.
signal
This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.
C‡: Selectable
Base class for objects with auto-disconnection. trackable must be inherited when objects shall automatically invalidate slots referring to them on destruction. A slot built from a member function of a trackable derived type installs a callback that is invoked when the trackable object is destroyed or overwritten.
add_destroy_notify_callback() and remove_destroy_notify_callback() can be used to manually install and remove callbacks when notification of the object dying is needed.
notify_callbacks() invokes and removes all previously installed callbacks and can therefore be used to disconnect from all signals.
Note that there is no virtual destructor. Don't use trackable* as pointer type for managing your data or the destructors of your derived types won't be called when deleting your objects.
signal
This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.
C‡: Selection
The Selection class holds lists of selected items (tracks, regions, etc. etc.).
Methods | ||
---|---|---|
void | clear () | |
Clear everything from the Selection | ||
void | clear_all () | |
bool | empty (bool) | |
check if all selections are empty
Returns true if nothing is selected. | ||
Data Members | ||
ArdourUI:MarkerSelection | markers | |
ArdourUI:RegionSelection | regions | |
ArdourUI:TimeSelection | time | |
ArdourUI:TrackSelection | tracks |
C‡: std::list<Selectable* >
Constructor | ||
---|---|---|
ℂ | ArdourUI.SelectionList () | |
Methods | ||
Selectable | back () | |
bool | empty () | |
Selectable | front () | |
LuaIter | iter () | |
void | push_back (Selectable) | |
void | reverse () | |
unsigned long | size () | |
LuaTable | table () | |
void | unique () |
C‡: TimeAxisView
is-a: ArdourUI:AxisView
Abstract base class for time-axis views (horizontal editor 'strips')
This class provides the basic LHS controls and display methods. This should be extended to create functional time-axis based views.
This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.
C‡: TimeAxisViewItem
is-a: ArdourUI:Selectable
Base class for items that may appear upon a TimeAxisView.
This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.
C‡: TimeSelection
is-a: ARDOUR:AudioRangeList
Methods | ||
---|---|---|
long | end_frame () | |
long | length () | |
long | start () |
Constructor | ||
---|---|---|
ℂ | ARDOUR.AudioRangeList () | |
Methods | ||
AudioRange | back () | |
bool | empty () | |
AudioRange | front () | |
LuaIter | iter () | |
void | reverse () | |
unsigned long | size () | |
LuaTable | table () |
C‡: TrackSelection
is-a: ArdourUI:TrackViewList
This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.
Methods | ||
---|---|---|
bool | contains (TimeAxisView) | |
RouteList | routelist () |
Constructor | ||
---|---|---|
ℂ | ArdourUI.TrackViewStdList () | |
Methods | ||
TimeAxisView | back () | |
bool | empty () | |
TimeAxisView | front () | |
LuaIter | iter () | |
void | push_back (TimeAxisView) | |
void | reverse () | |
unsigned long | size () | |
LuaTable | table () | |
void | unique () |
C‡: TrackViewList
is-a: ArdourUI:TrackViewStdList
Methods | ||
---|---|---|
bool | contains (TimeAxisView) | |
RouteList | routelist () |
Constructor | ||
---|---|---|
ℂ | ArdourUI.TrackViewStdList () | |
Methods | ||
TimeAxisView | back () | |
bool | empty () | |
TimeAxisView | front () | |
LuaIter | iter () | |
void | push_back (TimeAxisView) | |
void | reverse () | |
unsigned long | size () | |
LuaTable | table () | |
void | unique () |
C‡: std::list<TimeAxisView* >
Constructor | ||
---|---|---|
ℂ | ArdourUI.TrackViewStdList () | |
Methods | ||
TimeAxisView | back () | |
bool | empty () | |
TimeAxisView | front () | |
LuaIter | iter () | |
void | push_back (TimeAxisView) | |
void | reverse () | |
unsigned long | size () | |
LuaTable | table () | |
void | unique () |
C‡: unsigned char*
Methods | ||
---|---|---|
LuaMetaTable | array () | |
LuaTable | get_table () | |
unsigned char* | offset (unsigned int) | |
void | set_table (LuaTable {unsigned char}) |
C‡: std::vector<double >
Constructor | ||
---|---|---|
ℂ | C.DoubleVector () | |
ℂ | C.DoubleVector () | |
Methods | ||
LuaTable | add (LuaTable {double}) | |
double | at (unsigned long) | |
bool | empty () | |
LuaIter | iter () | |
void | push_back (double) | |
unsigned long | size () | |
LuaTable | table () |
C‡: float*
Methods | ||
---|---|---|
LuaMetaTable | array () | |
LuaTable | get_table () | |
FloatArray | offset (unsigned int) | |
void | set_table (LuaTable {float}) |
C‡: std::vector<float* >
Constructor | ||
---|---|---|
ℂ | C.FloatArrayVector () | |
ℂ | C.FloatArrayVector () | |
Methods | ||
LuaTable | add (LuaTable {FloatArray}) | |
FloatArray | at (unsigned long) | |
bool | empty () | |
LuaIter | iter () | |
void | push_back (FloatArray) | |
unsigned long | size () | |
LuaTable | table () |
C‡: std::vector<float >
Constructor | ||
---|---|---|
ℂ | C.FloatVector () | |
ℂ | C.FloatVector () | |
Methods | ||
LuaTable | add (LuaTable {float}) | |
float | at (unsigned long) | |
bool | empty () | |
LuaIter | iter () | |
void | push_back (float) | |
unsigned long | size () | |
LuaTable | table () |
C‡: std::list<long >
Constructor | ||
---|---|---|
ℂ | C.Int64List () | |
Methods | ||
LuaTable | add (LuaTable {long}) | |
long | back () | |
bool | empty () | |
long | front () | |
LuaIter | iter () | |
void | push_back (long) | |
void | reverse () | |
unsigned long | size () | |
LuaTable | table () | |
void | unique () |
C‡: int*
Methods | ||
---|---|---|
LuaMetaTable | array () | |
LuaTable | get_table () | |
IntArray | offset (unsigned int) | |
void | set_table (LuaTable {int}) |
C‡: std::list<std::string >
Constructor | ||
---|---|---|
ℂ | C.StringList () | |
Methods | ||
LuaTable | add (LuaTable {std::string}) | |
std::string | back () | |
bool | empty () | |
std::string | front () | |
LuaIter | iter () | |
void | push_back (std::string) | |
void | reverse () | |
unsigned long | size () | |
LuaTable | table () | |
void | unique () |
C‡: std::vector<std::string >
Constructor | ||
---|---|---|
ℂ | C.StringVector () | |
ℂ | C.StringVector () | |
Methods | ||
LuaTable | add (LuaTable {std::string}) | |
std::string | at (unsigned long) | |
bool | empty () | |
LuaIter | iter () | |
void | push_back (std::string) | |
unsigned long | size () | |
LuaTable | table () |
C‡: Cairo::Context
Context is the main class used to draw in cairomm. It contains the current state of the rendering device, including coordinates of yet to be drawn shapes.
In the simplest case, create a Context with its target Surface, set its drawing options (line width, color, etc), create shapes with methods like move_to() and line_to(), and then draw the shapes to the Surface using methods such as stroke() or fill().
Context is a reference-counted object that should be used via Cairo::RefPtr.
Methods | ||
---|---|---|
void | arc (double, double, double, double, double) | |
Adds a circular arc of the given radius to the current path. The arc is centered at (xc, yc), begins at angle1 and proceeds in the direction of increasing angles to end at angle2. If angle2 is less than angle1 it will be progressively increased by 2*M_PI until it is greater than angle1. If there is a current point, an initial line segment will be added to the path to connect the current point to the beginning of the arc. If this initial line is undesired, it can be avoided by calling begin_new_sub_path() before calling arc(). Angles are measured in radians. An angle of 0 is in the direction of the positive X axis (in user-space). An angle of M_PI/2.0 radians (90 degrees) is in the direction of the positive Y axis (in user-space). Angles increase in the direction from the positive X axis toward the positive Y axis. So with the default transformation matrix, angles increase in a clockwise direction. ( To convert from degrees to radians, use degrees * (M_PI / 180.0). ) This function gives the arc in the direction of increasing angles; see arc_negative() to get the arc in the direction of decreasing angles. The arc is circular in user-space. To achieve an elliptical arc, you can scale the current transformation matrix by different amounts in the X and Y directions. For example, to draw an ellipse in the box given by x, y, width, height: context->save(); context->translate(x, y); context->scale(width / 2.0, height / 2.0); context->arc(0.0, 0.0, 1.0, 0.0, 2 * M_PI); context->restore();
| ||
void | arc_negative (double, double, double, double, double) | |
Adds a circular arc of the given radius to the current path. The arc is centered at (xc, yc), begins at angle1 and proceeds in the direction of decreasing angles to end at angle2. If angle2 is greater than angle1 it will be progressively decreased by 2*M_PI until it is greater than angle1. See arc() for more details. This function differs only in the direction of the arc between the two angles.
| ||
void | begin_new_path () | |
Clears the current path. After this call there will be no current point. | ||
void | begin_new_sub_path () | |
Begin a new subpath. Note that the existing path is not affected. After this call there will be no current point. In many cases, this call is not needed since new subpaths are frequently started with move_to(). A call to begin_new_sub_path() is particularly useful when beginning a new subpath with one of the arc() calls. This makes things easier as it is no longer necessary to manually compute the arc's initial coordinates for a call to move_to(). 1.2 | ||
void | clip () | |
Establishes a new clip region by intersecting the current clip region with the current Path as it would be filled by fill() and according to the current fill rule. After clip(), the current path will be cleared from the cairo Context. The current clip region affects all drawing operations by effectively masking out any changes to the surface that are outside the current clip region. Calling clip() can only make the clip region smaller, never larger. But the current clip is part of the graphics state, so a temporary restriction of the clip region can be achieved by calling clip() within a save()/restore() pair. The only other means of increasing the size of the clip region is reset_clip(). set_fill_rule() | ||
void | clip_preserve () | |
Establishes a new clip region by intersecting the current clip region with the current path as it would be filled by fill() and according to the current fill rule. Unlike clip(), clip_preserve preserves the path within the cairo Context. clip() set_fill_rule() | ||
void | close_path () | |
Adds a line segment to the path from the current point to the beginning of the current subpath, (the most recent point passed to move_to()), and closes this subpath. After this call the current point will be at the joined endpoint of the sub-path. The behavior of close_path() is distinct from simply calling line_to() with the equivalent coordinate in the case of stroking. When a closed subpath is stroked, there are no caps on the ends of the subpath. Instead, there is a line join connecting the final and initial segments of the subpath. If there is no current point before the call to close_path(), this function will have no effect. | ||
void | curve_to (double, double, double, double, double, double) | |
Adds a cubic Bezier spline to the path from the current point to position (x3, y3) in user-space coordinates, using (x1, y1) and (x2, y2) as the control points. After this call the current point will be (x3, y3). If there is no current point before the call to curve_to() this function will behave as if preceded by a call to move_to(x1, y1).
| ||
void | fill () | |
A drawing operator that fills the current path according to the current fill rule, (each sub-path is implicitly closed before being filled). After fill(), the current path will be cleared from the cairo context. set_fill_rule() fill_preserve() | ||
void | fill_preserve () | |
A drawing operator that fills the current path according to the current fill rule, (each sub-path is implicitly closed before being filled). Unlike fill(), fill_preserve() preserves the path within the cairo Context. set_fill_rule() fill(). | ||
void | line_to (double, double) | |
Adds a line to the path from the current point to position (x, y) in user-space coordinates. After this call the current point will be (x, y). If there is no current point before the call to line_to() this function will behave as move_to(x, y).
| ||
void | move_to (double, double) | |
If the current subpath is not empty, begin a new subpath. After this call the current point will be (x, y).
| ||
void | paint () | |
A drawing operator that paints the current source everywhere within the current clip region. | ||
void | paint_with_alpha (double) | |
A drawing operator that paints the current source everywhere within the current clip region using a mask of constant alpha value alpha. The effect is similar to paint(), but the drawing is faded out using the alpha value.
| ||
void | rectangle (double, double, double, double) | |
Adds a closed-subpath rectangle of the given size to the current path at position (x, y) in user-space coordinates. This function is logically equivalent to: context->move_to(x, y); context->rel_line_to(width, 0); context->rel_line_to(0, height); context->rel_line_to(-width, 0); context->close_path();
| ||
void | rel_curve_to (double, double, double, double, double, double) | |
Relative-coordinate version of curve_to(). All offsets are relative to the current point. Adds a cubic Bezier spline to the path from the current point to a point offset from the current point by (dx3, dy3), using points offset by (dx1, dy1) and (dx2, dy2) as the control points. After this call the current point will be offset by (dx3, dy3). Given a current point of (x, y), rel_curve_to(dx1, dy1, dx2, dy2, dx3, dy3) is logically equivalent to curve_to(x + dx1, y + dy1, x + dx2, y + dy2, x + dx3, y + dy3). It is an error to call this function with no current point. Doing so will cause this to shutdown with a status of CAIRO_STATUS_NO_CURRENT_POINT. Cairomm will then throw an exception.
| ||
void | rel_line_to (double, double) | |
Relative-coordinate version of line_to(). Adds a line to the path from the current point to a point that is offset from the current point by (dx, dy) in user space. After this call the current point will be offset by (dx, dy). Given a current point of (x, y), rel_line_to(dx, dy) is logically equivalent to line_to(x + dx, y + dy). It is an error to call this function with no current point. Doing so will cause this to shutdown with a status of CAIRO_STATUS_NO_CURRENT_POINT. Cairomm will then throw an exception.
| ||
void | rel_move_to (double, double) | |
If the current subpath is not empty, begin a new subpath. After this call the current point will offset by (x, y). Given a current point of (x, y), rel_move_to(dx, dy) is logically equivalent to move_to(x + dx, y + dy) It is an error to call this function with no current point. Doing so will cause this to shutdown with a status of CAIRO_STATUS_NO_CURRENT_POINT. Cairomm will then throw an exception.
| ||
void | reset_clip () | |
Reset the current clip region to its original, unrestricted state. That is, set the clip region to an infinitely large shape containing the target surface. Equivalently, if infinity is too hard to grasp, one can imagine the clip region being reset to the exact bounds of the target surface. Note that code meant to be reusable should not call reset_clip() as it will cause results unexpected by higher-level code which calls clip(). Consider using save() and restore() around clip() as a more robust means of temporarily restricting the clip region. | ||
void | restore () | |
Restores cr to the state saved by a preceding call to save() and removes that state from the stack of saved states. save() | ||
void | rotate (double) | |
Modifies the current transformation matrix (CTM) by rotating the user-space axes by angle radians. The rotation of the axes takes places after any existing transformation of user space. The rotation direction for positive angles is from the positive X axis toward the positive Y axis.
| ||
void | save () | |
Makes a copy of the current state of the Context and saves it on an internal stack of saved states. When restore() is called, it will be restored to the saved state. Multiple calls to save() and restore() can be nested; each call to restore() restores the state from the matching paired save(). It isn't necessary to clear all saved states before a cairo_t is freed. Any saved states will be freed when the Context is destroyed. restore() | ||
void | scale (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.
| ||
void | set_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
| ||
void | set_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.
| ||
void | set_line_cap (LineCap) | |
Sets the current line cap style within the cairo Context. See LineCap for details about how the available line cap styles are drawn. As with the other stroke parameters, the current line cap style is examined by stroke(), stroke_extents(), and stroke_to_path(), but does not have any effect during path construction. The default line cap style is Cairo::LINE_CAP_BUTT.
| ||
void | set_line_join (LineJoin) | |
Sets the current line join style within the cairo Context. See LineJoin for details about how the available line join styles are drawn. As with the other stroke parameters, the current line join style is examined by stroke(), stroke_extents(), and stroke_to_path(), but does not have any effect during path construction. The default line join style is Cairo::LINE_JOIN_MITER.
| ||
void | set_line_width (double) | |
Sets the current line width within the cairo Context. The line width specifies the diameter of a pen that is circular in user-space, (though device-space pen may be an ellipse in general due to scaling/shear/rotation of the CTM). Note: When the description above refers to user space and CTM it refers to the user space and CTM in effect at the time of the stroking operation, not the user space and CTM in effect at the time of the call to set_line_width(). The simplest usage makes both of these spaces identical. That is, if there is no change to the CTM between a call to set_line_width() and the stroking operation, then one can just pass user-space values to set_line_width() and ignore this note. As with the other stroke parameters, the current line cap style is examined by stroke(), stroke_extents(), and stroke_to_path(), but does not have any effect during path construction. The default line width value is 2.0.
| ||
void | set_operator (Operator) | |
Sets the compositing operator to be used for all drawing operations. See Operator for details on the semantics of each available compositing operator.
| ||
void | set_source_rgb (double, double, double) | |
Sets the source pattern within the Context to an opaque color. This opaque color will then be used for any subsequent drawing operation until a new source pattern is set. The color components are floating point numbers in the range 0 to 1. If the values passed in are outside that range, they will be clamped. set_source_rgba() set_source()
| ||
void | set_source_rgba (double, double, double, double) | |
Sets the source pattern within the Context to a translucent color. This color will then be used for any subsequent drawing operation until a new source pattern is set. The color and alpha components are floating point numbers in the range 0 to 1. If the values passed in are outside that range, they will be clamped. set_source_rgb() set_source()
| ||
void | show_text (std::string) | |
A drawing operator that generates the shape from a string of UTF-8 characters, rendered according to the current font_face, font_size (font_matrix), and font_options. This function first computes a set of glyphs for the string of text. The first glyph is placed so that its origin is at the current point. The origin of each subsequent glyph is offset from that of the previous glyph by the advance values of the previous glyph. After this call the current point is moved to the origin of where the next glyph would be placed in this same progression. That is, the current point will be at the origin of the final glyph offset by its advance values. This allows for easy display of a single logical string with multiple calls to show_text(). Note: The show_text() function call is part of what the cairo designers call the "toy" text API. It is convenient for short demos and simple programs, but it is not expected to be adequate for serious text-using applications. See show_glyphs() for the "real" text display API in cairo.
| ||
void | stroke () | |
A drawing operator that strokes the current Path according to the current line width, line join, line cap, and dash settings. After stroke(), the current Path will be cleared from the cairo Context. set_line_width() set_line_join() set_line_cap() set_dash() stroke_preserve(). Note: Degenerate segments and sub-paths are treated specially and provide a useful result. These can result in two different situations: 1. Zero-length "on" segments set in set_dash(). If the cap style is Cairo::LINE_CAP_ROUND or Cairo::LINE_CAP_SQUARE then these segments will be drawn as circular dots or squares respectively. In the case of Cairo::LINE_CAP_SQUARE, the orientation of the squares is determined by the direction of the underlying path. 2. A sub-path created by move_to() followed by either a close_path() or one or more calls to line_to() to the same coordinate as the move_to(). If the cap style is Cairo::LINE_CAP_ROUND then these sub-paths will be drawn as circular dots. Note that in the case of Cairo::LINE_CAP_SQUARE a degenerate sub-path will not be drawn at all, (since the correct orientation is indeterminate). In no case will a cap style of Cairo::LINE_CAP_BUTT cause anything to be drawn in the case of either degenerate segments or sub-paths. | ||
void | stroke_preserve () | |
A drawing operator that strokes the current Path according to the current line width, line join, line cap, and dash settings. Unlike stroke(), stroke_preserve() preserves the Path within the cairo Context. set_line_width() set_line_join() set_line_cap() set_dash() stroke_preserve(). | ||
void | translate (double, double) | |
Modifies the current transformation matrix (CTM) by translating the user-space origin by (tx, ty). This offset is interpreted as a user-space coordinate according to the CTM in place before the new call to translate. In other words, the translation of the user-space origin takes place after any existing transformation.
| ||
void | unset_dash () | |
This function disables a dash pattern that was set with set_dash() |
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 | ||
Context | context () | |
Returns a context object to perform operations on the surface | ||
int | get_height () | |
Gets the height of the ImageSurface in pixels | ||
int | get_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. | ||
int | get_width () | |
Gets the width of the ImageSurface in pixels | ||
void | set_as_source (Context, int, int) |
C‡: LuaCairo::PangoLayout
Constructor | ||
---|---|---|
ℂ | Cairo.PangoLayout (Context, std::string) | |
Methods | ||
EllipsizeMode | get_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::string | get_text () | |
Gets the text in the layout. The returned text should not be freed or modified. Returns The text in the layout. | ||
WrapMode | get_wrap () | |
Gets the wrap mode for the layout. Use is_wrapped() to query whether any paragraphs were actually wrapped. Returns Active wrap mode. | ||
bool | is_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. | ||
bool | is_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. | ||
void | layout_cairo_path (Context) | |
void | set_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.
| ||
void | set_markup (std::string) | |
Sets the layout text and attribute list from marked-up text (see markup format). Replaces the current text and attribute list.
| ||
void | set_text (std::string) | |
Set the text of the layout.
| ||
void | set_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.
| ||
void | set_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.
| ||
void | show_in_cairo_context (Context) |
C‡: Evoral::Beats
Musical time in beats.
Constructor | ||
---|---|---|
ℂ | Evoral.Beats (double) | |
Create from a real number of beats. | ||
Methods | ||
double | to_double () |
C‡: boost::shared_ptr< Evoral::Control >, boost::weak_ptr< Evoral::Control >
Base class representing some kind of (automatable) control; a fader's gain, for example, or a compressor plugin's threshold.
The class knows the Evoral::Parameter that it is controlling, and has a list of values for automation.
Methods | ||
---|---|---|
bool | isnil () | |
ControlList | list () |
C‡: Evoral::ControlEvent
A single event (time-stamped value) for a control
Data Members | ||
---|---|---|
double | value | |
double | when |
C‡: boost::shared_ptr< Evoral::ControlList >, boost::weak_ptr< Evoral::ControlList >
A list (sequence) of time-stamped values for a control
Methods | ||
---|---|---|
void | add (double, double, bool, bool) | |
add automation events
| ||
void | clear (double, double) | |
remove all automation events between the given time range
| ||
void | clear_list () | |
double | eval (double) | |
query value at given time (takes a read-lock, not safe while writing automation)
Returns parameter value | ||
EventList | events () | |
bool | in_write_pass () | |
InterpolationStyle | interpolation () | |
query interpolation style of the automation data Returns Interpolation Style | ||
bool | isnil () | |
LuaTable(double, ...) | rt_safe_eval (double, bool&) | |
realtime safe version of eval, may fail if read-lock cannot be taken
Returns parameter value | ||
void | set_interpolation (InterpolationStyle) | |
set the interpolation style of the automation data
| ||
void | thin (double) | |
Thin the number of events in this list. The thinning factor corresponds to the area of a triangle computed between three points in the list (time-difference * value-difference). If the area is large, it indicates significant non-linearity between the points. Time is measured in samples, value is usually normalized to 0..1. During automation recording we thin the recorded points using this value. If a point is sufficiently co-linear with its neighbours (as defined by the area of the triangle formed by three of them), we will not include it in the list. The larger the value, the more points are excluded, so this effectively measures the amount of thinning to be done.
| ||
void | truncate_end (double) | |
truncate the event list after the given time
| ||
void | truncate_start (double) | |
truncate the event list to the given time
|
C‡: boost::shared_ptr< Evoral::ControlSet >, boost::weak_ptr< Evoral::ControlSet >
Methods | ||
---|---|---|
bool | isnil () |
C‡: Evoral::Event<long>
Methods | ||
---|---|---|
unsigned char* | buffer () | |
unsigned char | channel () | |
void | clear () | |
void | set_buffer (unsigned int, unsigned char*, bool) | |
void | set_channel (unsigned char) | |
void | set_type (unsigned char) | |
unsigned int | size () | |
long | time () | |
unsigned char | type () |
C‡: boost::shared_ptr< Evoral::Note<Evoral::Beats> >, boost::weak_ptr< Evoral::Note<Evoral::Beats> >
Methods | ||
---|---|---|
unsigned char | channel () | |
bool | isnil () | |
Beats | length () | |
unsigned char | note () | |
unsigned char | off_velocity () | |
Beats | time () | |
unsigned char | velocity () |
C‡: Evoral::Parameter
ID of a [play|record|automate]able parameter.
A parameter is defined by (type, id, channel). Type is an integer which can be used in any way by the application (e.g. cast to a custom enum, map to/from a URI, etc). ID is type specific (e.g. MIDI controller #).
This class defines a < operator which is a strict weak ordering, so Parameter may be stored in a std::set, used as a std::map key, etc.
Constructor | ||
---|---|---|
ℂ | Evoral.Parameter (unsigned int, unsigned char, unsigned int) | |
Methods | ||
unsigned char | channel () | |
unsigned int | id () | |
unsigned int | type () |
C‡: Evoral::ParameterDescriptor
Description of the value range of a parameter or control.
Constructor | ||
---|---|---|
ℂ | Evoral.ParameterDescriptor () | |
Data Members | ||
float | lower | |
Minimum value (in Hz, for frequencies) | ||
float | normal | |
Default value | ||
bool | toggled | |
True iff parameter is boolean | ||
float | upper | |
Maximum value (in Hz, for frequencies) |
C‡: Evoral::Range<long>
Constructor | ||
---|---|---|
ℂ | Evoral.Range (long, long) | |
Data Members | ||
long | from | |
long | to |
C‡: boost::shared_ptr< Evoral::Sequence<Evoral::Beats> >, boost::weak_ptr< Evoral::Sequence<Evoral::Beats> >
is-a: Evoral:ControlSet
Methods | ||
---|---|---|
bool | isnil () |
C‡: LuaDialog::Dialog
Constructor | ||
---|---|---|
ℂ | LuaDialog.Dialog (std::string, Lua-Function) | |
Methods | ||
... | run (--lua--) |
C‡: LuaDialog::Message
Constructor | ||
---|---|---|
ℂ | LuaDialog.Message (std::string, std::string, MessageType, ButtonType) | |
Methods | ||
int | run () |
C‡: std::bitset<47ul>
Constructor | ||
---|---|---|
ℂ | LuaSignal.Set () | |
Methods | ||
LuaTable | add (47ul) | |
bool | any () | |
unsigned long | count () | |
bool | none () | |
Set | reset () | |
Set | set (unsigned long, bool) | |
unsigned long | size () | |
LuaTable | table () | |
bool | test (unsigned long) |
Methods | ||
---|---|---|
bool | open_uri (std::string) | |
bool | open_uri (std::string) |
C‡: Command
is-a: PBD:StatefulDestructible
Base class for Undo/Redo commands and changesets
Methods | ||
---|---|---|
std::string | name () | |
void | set_name (std::string) |
Methods | ||
---|---|---|
void | clear_changes () | |
Forget about any changes to this object's properties | ||
ID | id () | |
OwnedPropertyList | properties () |
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.
Methods | ||
---|---|---|
void | clear_changes () | |
Forget about any changes to this object's properties | ||
ID | id () | |
OwnedPropertyList | properties () |
C‡: boost::shared_ptr< PBD::Controllable >, boost::weak_ptr< PBD::Controllable >
is-a: PBD:StatefulDestructiblePtr
This is a pure virtual class to represent a scalar control.
Note that it contains no storage/state for the controllable thing that it represents. Derived classes must provide set_value()/get_value() methods, which will involve (somehow) an actual location to store the value.
In essence, this is an interface, not a class.
Without overriding upper() and lower(), a derived class will function as a control whose value can range between 0 and 1.0.
Methods | ||
---|---|---|
double | get_value () | |
bool | isnil () | |
std::string | name () |
Methods | ||
---|---|---|
void | clear_changes () | |
Forget about any changes to this object's properties | ||
ID | id () | |
OwnedPropertyList | properties () |
C‡: PBD::ID
a unique ID to identify objects numerically
Constructor | ||
---|---|---|
ℂ | PBD.ID (std::string) | |
Methods | ||
std::string | to_s () |
C‡: std::vector<PBD::ID >
Constructor | ||
---|---|---|
ℂ | PBD.IdVector () | |
ℂ | PBD.IdVector () | |
Methods | ||
LuaTable | add (LuaTable {ID}) | |
ID | at (unsigned long) | |
bool | empty () | |
LuaIter | iter () | |
void | push_back (ID) | |
unsigned long | size () | |
LuaTable | table () |
C‡: PBD::RingBufferNPT<unsigned char>
Constructor | ||
---|---|---|
ℂ | PBD.RingBuffer8 (unsigned long) | |
Methods | ||
void | increment_read_ptr (unsigned long) | |
void | increment_write_ptr (unsigned long) | |
unsigned long | read (unsigned char*, unsigned long) | |
unsigned long | read_space () | |
void | reset () | |
unsigned long | write (unsigned char*, unsigned long) | |
unsigned long | write_one (unsigned char) | |
unsigned long | write_space () |
C‡: PBD::RingBufferNPT<float>
Constructor | ||
---|---|---|
ℂ | PBD.RingBufferF (unsigned long) | |
Methods | ||
void | increment_read_ptr (unsigned long) | |
void | increment_write_ptr (unsigned long) | |
unsigned long | read (FloatArray, unsigned long) | |
unsigned long | read_space () | |
void | reset () | |
unsigned long | write (FloatArray, unsigned long) | |
unsigned long | write_one (float) | |
unsigned long | write_space () |
C‡: PBD::RingBufferNPT<int>
Constructor | ||
---|---|---|
ℂ | PBD.RingBufferI (unsigned long) | |
Methods | ||
void | increment_read_ptr (unsigned long) | |
void | increment_write_ptr (unsigned long) | |
unsigned long | read (IntArray, unsigned long) | |
unsigned long | read_space () | |
void | reset () | |
unsigned long | write (IntArray, unsigned long) | |
unsigned long | write_one (int) | |
unsigned long | write_space () |
C‡: PBD::Stateful
Base class for objects with saveable and undoable state
Methods | ||
---|---|---|
void | clear_changes () | |
Forget about any changes to this object's properties | ||
ID | id () | |
OwnedPropertyList | properties () |
C‡: PBD::StatefulDestructible
is-a: PBD:Stateful
Base class for objects with saveable and undoable state with destruction notification
This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.
Methods | ||
---|---|---|
void | clear_changes () | |
Forget about any changes to this object's properties | ||
ID | id () | |
OwnedPropertyList | properties () |
C‡: boost::shared_ptr< PBD::StatefulDestructible >, boost::weak_ptr< PBD::StatefulDestructible >
is-a: PBD:StatefulPtr
Base class for objects with saveable and undoable state with destruction notification
Methods | ||
---|---|---|
bool | isnil () |
Methods | ||
---|---|---|
void | clear_changes () | |
Forget about any changes to this object's properties | ||
ID | id () | |
OwnedPropertyList | properties () |
C‡: PBD::StatefulDiffCommand
is-a: PBD:Command
A Command which stores its action as the differences between the before and after state of a Stateful object.
Methods | ||
---|---|---|
bool | empty () | |
void | undo () |
Methods | ||
---|---|---|
std::string | name () | |
void | set_name (std::string) |
Methods | ||
---|---|---|
void | clear_changes () | |
Forget about any changes to this object's properties | ||
ID | id () | |
OwnedPropertyList | properties () |
C‡: boost::shared_ptr< PBD::Stateful >, boost::weak_ptr< PBD::Stateful >
Base class for objects with saveable and undoable state
Methods | ||
---|---|---|
void | clear_changes () | |
Forget about any changes to this object's properties | ||
ID | id () | |
bool | isnil () | |
OwnedPropertyList | properties () |
C‡: XMLNode
Methods | ||
---|---|---|
std::string | name () |
C‡: Timecode::BBT_Time
Bar, Beat, Tick Time (i.e. Tempo-Based Time)
Constructor | ||
---|---|---|
ℂ | Timecode.BBT_TIME (unsigned int, unsigned int, unsigned int) | |
Data Members | ||
unsigned int | bars | |
unsigned int | beats | |
unsigned int | ticks |
C‡: Timecode::Time
Constructor | ||
---|---|---|
ℂ | Timecode.Time (double) | |
Data Members | ||
bool | drop | |
Whether this Time uses dropframe Timecode | ||
unsigned int | frames | |
Timecode frames (not audio samples) | ||
unsigned int | hours | |
unsigned int | minutes | |
bool | negative | |
double | rate | |
Frame rate of this Time | ||
unsigned int | seconds | |
unsigned int | subframes | |
Typically unused |
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 | ||
---|---|---|
InputDomain | getInputDomain () | |
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 long | getMaxChannelCount () | |
Get the maximum supported number of input channels. | ||
unsigned long | getMinChannelCount () | |
Get the minimum supported number of input channels. | ||
OutputList | getOutputDescriptors () | |
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 long | getPreferredBlockSize () | |
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 long | getPreferredStepSize () | |
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. | ||
FeatureSet | getRemainingFeatures () | |
After all blocks have been processed, calculate and return any remaining features derived from the complete input. | ||
std::string | getType () | |
Used to distinguish between Vamp::Plugin and other potential sibling subclasses of PluginBase. Do not reimplement this function in your subclass. | ||
bool | initialise (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. | ||
void | reset () | |
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). |
Methods | ||
---|---|---|
std::string | getCopyright () | |
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::string | getCurrentProgram () | |
Get the current program. | ||
std::string | getDescription () | |
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::string | getIdentifier () | |
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::string | getMaker () | |
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::string | getName () | |
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" | ||
float | getParameter (std::string) | |
Get the value of a named parameter. The argument is the identifier field from that parameter's descriptor. | ||
ParameterList | getParameterDescriptors () | |
Get the controllable parameters of this plugin. | ||
int | getPluginVersion () | |
Get the version number of the plugin. | ||
StringVector | getPrograms () | |
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. | ||
void | selectProgram (std::string) | |
Select a program. (If the given program name is not one of the available programs, do nothing.) | ||
void | setParameter (std::string, float) | |
Set a named parameter. The first argument is the identifier field from that parameter's descriptor. |
C‡: Vamp::Plugin::Feature
Data Members | ||
---|---|---|
Vamp:RealTime | duration | |
Duration of the output feature. This is mandatory if the output has VariableSampleRate or FixedSampleRate and hasDuration is true, and unused otherwise. | ||
bool | hasDuration | |
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. | ||
bool | hasTimestamp | |
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::string | label | |
Label for the sample of this feature. | ||
Vamp:RealTime | timestamp | |
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:FloatVector | values | |
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. |
C‡: std::vector<Vamp::Plugin::Feature >
Constructor | ||
---|---|---|
ℂ | Vamp.Plugin.FeatureList () | |
ℂ | Vamp.Plugin.FeatureList () | |
Methods | ||
LuaTable | add (LuaTable {Feature}) | |
Feature | at (unsigned long) | |
bool | empty () | |
LuaIter | iter () | |
void | push_back (Feature) | |
unsigned long | size () | |
LuaTable | table () |
C‡: std::map<int, std::vector<Vamp::Plugin::Feature > > > >
Constructor | ||
---|---|---|
ℂ | Vamp.Plugin.FeatureSet () | |
Methods | ||
LuaTable | add (LuaTable {Feature}) | |
... | at (--lua--) | |
void | clear () | |
unsigned long | count (int) | |
bool | empty () | |
LuaIter | iter () | |
unsigned long | size () | |
LuaTable | table () |
C‡: Vamp::Plugin::OutputDescriptor
Data Members | ||
---|---|---|
unsigned long | binCount | |
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:StringVector | binNames | |
The (human-readable) names of each of the bins, if appropriate. This is always optional. | ||
std::string | description | |
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" | ||
bool | hasDuration | |
True if the returned results for this output are known to have a duration field. | ||
bool | hasFixedBinCount | |
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. | ||
bool | hasKnownExtents | |
True if the results in each output bin fall within a fixed numeric range (minimum and maximum values). Undefined if binCount is zero. | ||
std::string | identifier | |
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" | ||
bool | isQuantized | |
True if the output values are quantized to a particular resolution. Undefined if binCount is zero. | ||
float | maxValue | |
Maximum value of the results in the output. Undefined if hasKnownExtents is false or binCount is zero. | ||
float | minValue | |
Minimum value of the results in the output. Undefined if hasKnownExtents is false or binCount is zero. | ||
float | quantizeStep | |
Quantization resolution of the output values (e.g. 1.0 if they are all integers). Undefined if isQuantized is false or binCount is zero. | ||
float | sampleRate | |
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.SampleType | sampleType | |
Positioning in time of the output results. | ||
std::string | unit | |
The unit of the output, in human-readable form. |
C‡: std::vector<Vamp::Plugin::OutputDescriptor >
Constructor | ||
---|---|---|
ℂ | Vamp.Plugin.OutputList () | |
ℂ | Vamp.Plugin.OutputList () | |
Methods | ||
LuaTable | add (LuaTable {OutputDescriptor}) | |
OutputDescriptor | at (unsigned long) | |
bool | empty () | |
LuaIter | iter () | |
void | push_back (OutputDescriptor) | |
unsigned long | size () | |
LuaTable | table () |
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::string | getCopyright () | |
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::string | getCurrentProgram () | |
Get the current program. | ||
std::string | getDescription () | |
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::string | getIdentifier () | |
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::string | getMaker () | |
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::string | getName () | |
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" | ||
float | getParameter (std::string) | |
Get the value of a named parameter. The argument is the identifier field from that parameter's descriptor. | ||
ParameterList | getParameterDescriptors () | |
Get the controllable parameters of this plugin. | ||
int | getPluginVersion () | |
Get the version number of the plugin. | ||
StringVector | getPrograms () | |
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::string | getType () | |
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. | ||
void | selectProgram (std::string) | |
Select a program. (If the given program name is not one of the available programs, do nothing.) | ||
void | setParameter (std::string, float) | |
Set a named parameter. The first argument is the identifier field from that parameter's descriptor. |
C‡: Vamp::PluginBase::ParameterDescriptor
Data Members | ||
---|---|---|
float | defaultValue | |
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::string | description | |
A human-readable short text describing the parameter. May be empty if the name has said it all already. | ||
std::string | identifier | |
The name of the parameter, in computer-usable form. Should be reasonably short, and may only contain the characters [a-zA-Z0-9_-]. | ||
bool | isQuantized | |
True if the parameter values are quantized to a particular resolution. | ||
float | maxValue | |
The maximum value of the parameter. | ||
float | minValue | |
The minimum value of the parameter. | ||
std::string | name | |
The human-readable name of the parameter. | ||
float | quantizeStep | |
Quantization resolution of the parameter values (e.g. 1.0 if they are all integers). Undefined if isQuantized is false. | ||
std::string | unit | |
The unit of the parameter, in human-readable form. | ||
C:StringVector | valueNames | |
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. |
C‡: std::vector<Vamp::PluginBase::ParameterDescriptor >
Constructor | ||
---|---|---|
ℂ | Vamp.PluginBase.ParameterList () | |
ℂ | Vamp.PluginBase.ParameterList () | |
Methods | ||
LuaTable | add (LuaTable {ParameterDescriptor}) | |
ParameterDescriptor | at (unsigned long) | |
bool | empty () | |
LuaIter | iter () | |
void | push_back (ParameterDescriptor) | |
unsigned long | size () | |
LuaTable | table () |
C‡: Vamp::RealTime
RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conversion functions.
Constructor | ||
---|---|---|
ℂ | Vamp.RealTime (int, int) | |
Methods | ||
RealTime | frame2RealTime (long, unsigned int) | |
int | msec () | |
long | realTime2Frame (RealTime, unsigned int) | |
std::string | toString () | |
Return a human-readable debug-type string to full precision (probably not a format to show to a user directly) | ||
int | usec () | |
Data Members | ||
int | nsec | |
int | sec |