X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=include%2Fclass-reference.html;h=5b20480279d8676269f7d945952ef334968b089b;hb=45a7af9adad19e60f15cf0c17a3926d8c48c77f2;hp=9d8816d5b9bed278b3bb788dd1d05369a72888e0;hpb=26510f4a576e5d917580a167c868ad2fbd432ad0;p=ardour-manual diff --git a/include/class-reference.html b/include/class-reference.html index 9d8816d..5b20480 100644 --- a/include/class-reference.html +++ b/include/class-reference.html @@ -129,7 +129,7 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to C
Returns the path to the directory used to store user specific caches (e.g. plugin indices, blacklist/whitelist) it defaults to XDG_CACHE_HOME
user_config_directory() exists IF version was negative.
Returns the path to the directory used to store user specific configuration files for the given
user_config_directory() exists IF version was negative.
Returns the path to the directory used to store user specific configuration files for the given version of the program. If version is negative, the build-time string PROGRAM_VERSION will be used to determine the version number.
C‡: boost::shared_ptr< ARDOUR::Amp >, boost::weak_ptr< ARDOUR::Amp >
@@ -341,6 +341,7 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to CC‡: boost::shared_ptr< ARDOUR::AudioPlaylist >, boost::weak_ptr< ARDOUR::AudioPlaylist >
@@ -350,27 +351,23 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to CMethods | ||
---|---|---|
bool | isnil () | |
long | read (FloatArray, FloatArray, FloatArray, long, long, unsigned int) | |
| ||
timecnt_t | read (FloatArray, FloatArray, FloatArray, timepos_t, timecnt_t, 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) | |
void | add_region (Region, timepos_t, float, bool) | |
Region | combine (RegionList, Track) | |
unsigned int | count_regions_at (timepos_t) | |
Playlist | cut (TimelineRangeList&, bool) | |
DataType | data_type () | |
void | duplicate (Region, long, long, float) | |
| ||
void | duplicate_range (AudioRange&, float) | |
void | duplicate_until (Region, long, long, long) | |
| ||
void | duplicate (Region, timepos_t&, timecnt_t, float) | |
void | duplicate_range (TimelineRange&, float) | |
void | duplicate_until (Region, timepos_t&, timecnt_t, timepos_t) | |
bool | empty () | |
Region | find_next_region (long, RegionPoint, int) | |
long | find_next_region_boundary (long, int) | |
long | find_next_transient (long, int) | |
Region | find_next_region (timepos_t, RegionPoint, int) | |
timepos_t | find_next_region_boundary (timepos_t, int) | |
long | find_next_transient (timepos_t, int) | |
ID | get_orig_track_id () | |
bool | hidden () | |
void | lower_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) | |
RegionListPtr | regions_at (timepos_t) | |
RegionListPtr | regions_touched (timepos_t, timepos_t) | |
RegionListPtr | regions_with_end_within (Range) | |
RegionListPtr | regions_with_start_within (Range) | |
void | remove_region (Region) | |
bool | set_name (std::string) | |
bool | shared () | |
void | split_region (Region, MusicSample) | |
Region | top_region_at (long) | |
Region | top_unmuted_region_at (long) | |
void | split_region (Region, timepos_t) | |
Region | top_region_at (timepos_t) | |
Region | top_unmuted_region_at (timepos_t) | |
void | uncombine (Region) | |
bool | used () | |
Cast | ||
AudioPort | to_audioport () | |
MidiPort | to_midiport () |
C‡: ARDOUR::AudioRange
+C‡: std::map<std::string, ARDOUR::PortManager::DPM >
Constructor | ||
---|---|---|
ℂ | ARDOUR.AudioRange (long, long, unsigned int) | |
ℂ | ARDOUR.AudioPortMeters () | |
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 () | |
LuaTable | add (std::string, ARDOUR::PortManager::DPM ) | |
... | at (--lua--) | |
void | clear () | |
unsigned long | count (std::string) | |
bool | empty () | |
LuaIter | iter () | |
void | reverse () | |
unsigned long | size () | |
unsigned long | size () | |
LuaTable | table () |
Methods | ||
---|---|---|
AudioSource | audio_source (unsigned int) | |
AutomationList | envelope () | |
bool | envelope_active () | |
bool | fade_in_active () | |
bool | fade_out_active () | |
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. | ||
unsigned int | n_channels () | |
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 () | |
LuaTable(int, ...) | separate_by_channel (RegionVector&) | |
void | set_envelope_active (bool) | |
void | set_fade_in_active (bool) | |
void | set_fade_in_length (long) | |
void | set_fade_in_shape (FadeShape) | |
void | set_fade_out_length (long) | |
void | set_fade_out_shape (FadeShape) | |
void | set_scale_amplitude (float) | |
Cast | ||
Readable | to_readable () |
bool | automatic () | |
bool | can_move () | |
bool | captured () | |
void | captured_xruns (XrunPositions&, bool) | |
void | clear_sync_position () | |
Control | control (Parameter, bool) | |
bool | covers (long) | |
void | cut_end (long, int) | |
void | cut_front (long, int) | |
bool | covers (timepos_t) | |
void | cut_end (timepos_t) | |
void | cut_front (timepos_t) | |
DataType | data_type () | |
bool | external () | |
bool | has_transients () | |
bool | import () | |
bool | is_compound () | |
unsigned int | layer () | |
long | length () | |
timecnt_t | length () | |
bool | locked () | |
void | lower () | |
void | lower_to_bottom () | |
StringVector | master_source_names () | |
SourceList | master_sources () | |
void | move_start (long, int) | |
void | move_start (timecnt_t) | |
void | move_to_natural_position () | |
bool | muted () | |
unsigned int | n_channels () | |
void | nudge_position (long) | |
void | nudge_position (timecnt_t) | |
bool | opaque () | |
Playlist | playlist () | |
long | position () | |
timepos_t | position () | |
How the region parameters play together: POSITION: first sample of the region along the timeline START: first sample of the region within its source(s) LENGTH: number of samples the region represents | ||
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_initial_position (timepos_t) | |
void | set_length (timecnt_t) | |
void | set_locked (bool) | |
void | set_muted (bool) | |
bool | set_name (std::string) | |
Note: changing the name of a Region does not constitute an edit | ||
void | set_opaque (bool) | |
void | set_position (long, int) | |
void | set_position (timepos_t) | |
void | set_position_locked (bool) | |
void | set_start (long) | |
void | set_sync_position (long) | |
Set the region's sync point.
| ||
void | set_start (timepos_t) | |
void | set_sync_position (timepos_t) | |
void | set_video_locked (bool) | |
float | shift () | |
Source | source (unsigned int) | |
long | start () | |
timepos_t | start () | |
float | stretch () | |
bool | sync_marked () | |
LuaTable(long, ...) | sync_offset (int&) | |
long | sync_position () | |
LuaTable(timecnt_t, ...) | sync_offset (int&) | |
timepos_t | 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) | |
void | trim_end (timepos_t) | |
void | trim_front (timepos_t) | |
void | trim_to (timepos_t, timecnt_t) | |
bool | video_locked () | |
bool | whole_file () | |
Cast | ||
---|---|---|
AudioRegion | to_audioregion () | |
MidiRegion | to_midiregion () | |
Readable | to_readable () |
Methods | ||
---|---|---|
ReadableList | load (Session&, std::string) | |
unsigned int | n_channels () | |
long | read (FloatArray, long, long, int) | |
long | readable_length () | |
ReadableList | load (Session&, std::string) | |
unsigned int | n_channels () | |
long | read (FloatArray, long, long, int) | |
long | readable_length () |
C‡: boost::shared_ptr< ARDOUR::AudioSource >, boost::weak_ptr< ARDOUR::AudioSource >
@@ -603,7 +589,7 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to CMethods | ||
---|---|---|
std::string | ancestor_name () | |
bool | can_be_analysed () | |
XrunPositions | captured_xruns () | |
bool | has_been_analysed () | |
long | natural_position () | |
long | timeline_position () | |
timepos_t | natural_position () | |
timepos_t | timeline_position () | |
long | timestamp () | |
int | use_count () | |
bool | used () |
Constructor | ||
---|---|---|
ℵ | ARDOUR.Track () | |
Methods | ||
Region | bounce (InterThreadInfo&, std::string) | |
bounce track from session start to session end to new region
Returns a new audio region (or nil in case of error) | ||
bool | set_name (std::string) | |
int | use_copy_playlist () | |
int | use_new_playlist (DataType) | |
int | use_playlist (DataType, Playlist) | |
int | use_playlist (DataType, Playlist, bool) | |
Cast | ||
AudioTrack | to_audio_track () | |
MidiTrack | to_midi_track () |
Methods | ||
---|---|---|
bool | active () | |
int | add_aux_send (Route, Processor) | |
Add an aux send to a route.
| ||
int | add_foldback_send (Route, bool) | |
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. | ||
IO | input () | |
Delivery | main_outs () | |
the signal processorat at end of the processing chain which produces output | ||
MonitorControl | monitoring_control () | |
MonitorState | monitoring_state () | |
bool | muted () | |
ChanCount | n_inputs () | |
ChanCount | n_outputs () |
Methods | ||
---|---|---|
ParameterList | all_automatable_params () | |
API for Lua binding | ||
AutomationControl | automation_control (Parameter, bool) | |
bool | isnil () | |
Cast |
Methods | ||
---|---|---|
ParameterList | all_automatable_params () | |
API for Lua binding | ||
AutomationControl | automation_control (Parameter, bool) | |
Cast | ||
Slavable | to_slavable () | |
void | set_automation_state (AutoState) | |
void | set_value (double, GroupControlDisposition) | |
Set `internal' value All derived classes must implement this. Basic derived classes will ignore group_override but more sophisticated children, notably those that proxy the value setting logic via an object that is aware of group relationships between this control and others, will find it useful.
| ||
void | start_touch (double) | |
void | stop_touch (double) | |
void | start_touch (timepos_t) | |
void | stop_touch (timepos_t) | |
bool | toggled () | |
double | upper () | |
bool | writable () |
Methods | ||
---|---|---|
void | dump_registry () | |
std::string | name () | |
ControllableSet | registered_controllables () | |
Cast | ||
AutomationControl | to_automationcontrol () | |
MPGainControl | to_mpgain () | |
MPToggleControl | to_mptoggle () |
Methods | ||
---|---|---|
XMLNode | get_state () | |
XMLNode | get_state () | |
bool | isnil () | |
Command | memento_command (XMLNode, XMLNode) | |
bool | touch_enabled () |
Methods | ||
---|---|---|
void | add (double, double, bool, bool) | |
Add an event to this list. This method is intended to write automation in realtime. If the transport is stopped, guard-points will be added regardless of parameter with_guards.
| ||
void | clear (double, double) | |
Remove all events in the given time range from this list.
| ||
void | add (timepos_t, double, bool, bool) | |
void | clear (timepos_t, timepos_t) | |
void | clear_list () | |
bool | editor_add (double, double, bool) | |
Add an event to this list. This method is intended for making manual changes from the GUI. An event will only be created if no other event exists at the given time.
Returns true if an event was added. | ||
double | eval (double) | |
Queries the event value at the given time (takes a read-lock, not safe while writing automation).
Returns parameter value | ||
bool | editor_add (timepos_t, double, bool) | |
double | eval (timepos_t) | |
EventList | events () | |
Returns the list of events | ||
bool | in_write_pass () | |
Returns true if transport is running and this list is in write mode | ||
InterpolationStyle | interpolation () | |
query interpolation style of the automation data Returns Interpolation Style | ||
LuaTable(double, ...) | rt_safe_eval (double, bool&) | |
Realtime safe version of eval(). This may fail if a read-lock cannot be taken.
Returns parameter value | ||
LuaTable(double, ...) | rt_safe_eval (timepos_t, bool&) | |
bool | set_interpolation (InterpolationStyle) | |
Sets the interpolation style of the automation data. This will fail when asking for Logarithmic scale and min,max crosses 0 or Exponential scale with min != 0.
Returns true if style change was successful | ||
unsigned long | size () | |
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) | |
Remove all events after the given time from this list.
| ||
void | truncate_start (double) | |
Remove all events up to to the given time from this list.
| ||
void | truncate_end (timepos_t) | |
void | truncate_start (timecnt_t) | |
Cast | ||
AutomationList | to_automationlist () |
C‡: std::set<ARDOUR::AutomationType >
+ +Constructor | ||
---|---|---|
ℂ | ARDOUR.AutomationTypeSet () | |
Methods | ||
void | clear () | |
bool | empty () | |
LuaIter | iter () | |
unsigned long | size () | |
LuaTable | table () |
C‡: std::vector<ARDOUR::AudioBackendInfo const* >
@@ -929,19 +940,6 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to CC‡: ARDOUR::BeatsSamplesConverter
- -Converter between quarter-note beats and samples. Takes distances in quarter-note beats or samples from some origin (supplied to the constructor in samples), and converts them to the opposite unit, taking tempo changes into account.
Constructor | ||
---|---|---|
ℂ | ARDOUR.BeatsSamplesConverter (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
@@ -953,6 +951,40 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to CC‡: boost::shared_ptr< ARDOUR::Bundle >, boost::weak_ptr< ARDOUR::Bundle >
+ +A set of `channels', each of which is associated with 0 or more ports. Each channel has a name which can be anything useful, and a data type. Intended for grouping things like, for example, a buss' outputs. `Channel' is a rather overloaded term but I can't think of a better one right now.
Methods | ||
---|---|---|
std::string | channel_name (unsigned int) | |
Returns Channel name. | ||
bool | isnil () | |
unsigned int | n_total () | |
std::string | name () | |
Returns Bundle name | ||
ChanCount | nchannels () | |
Returns Number of channels that this Bundle has | ||
bool | ports_are_inputs () | |
bool | ports_are_outputs () | |
Cast | ||
UserBundle | to_userbundle () |
C‡: boost::shared_ptr<std::vector<boost::shared_ptr<ARDOUR::Bundle> > >
+ +Constructor | ||
---|---|---|
ℂ | ARDOUR.BundleListPtr () | |
Methods | ||
LuaTable | add (LuaTable {Bundle}) | |
Bundle | at (unsigned long) | |
bool | empty () | |
LuaIter | iter () | |
void | push_back (Bundle) | |
unsigned long | size () | |
LuaTable | table () |
C‡: ARDOUR::ChanCount
@@ -1030,6 +1062,19 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to CC‡: std::set<boost::shared_ptr<PBD::Controllable> > >
+ +Constructor | ||
---|---|---|
ℂ | ARDOUR.ControllableSet () | |
Methods | ||
void | clear () | |
bool | empty () | |
LuaIter | iter () | |
unsigned long | size () | |
LuaTable | table () |
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 | ||
setup filter, compute coefficients
| ||
void | configure (Biquad) | |
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
| ||
void | set_coefficients (double, double, double, double, double) |
C‡: ARDOUR::DSP::Convolution
@@ -1081,13 +1126,16 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to CC‡: ARDOUR::DSP::Convolver
@@ -1097,21 +1145,24 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to CConstructor | ||
---|---|---|
ℂ | ARDOUR.DSP.Convolution (Session&, unsigned int, unsigned int) | |
Methods | ||
bool | add_impdata (unsigned int, unsigned int, Readable, float, unsigned int, long, long, unsigned int) | |
bool | add_impdata (unsigned int, unsigned int, Readable, float, unsigned int, long, long, unsigned int) | |
void | clear_impdata () | |
unsigned int | latency () | |
unsigned int | n_inputs () | |
unsigned int | n_outputs () | |
bool | ready () | |
void | restart () | |
void | run (BufferSet&, ChanMapping, ChanMapping, unsigned int, long) | |
void | run_mono_buffered (FloatArray, unsigned int) | |
void | run_mono_no_latency (FloatArray, unsigned int) |
C‡: ARDOUR::DSP::DspShm
@@ -1145,7 +1196,7 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to Cprocess current data in buffer
query
Returns signal power at given bin (in dBFS)
query
Returns signal power at given bin (in dBFS)
C‡: ARDOUR::DoubleBeatsSamplesConverter
- -Converter between quarter-note beats and samples. Takes distances in quarter-note beats or samples from some origin (supplied to the constructor in samples), and converts them to the opposite unit, taking tempo changes into account.
Constructor | ||
---|---|---|
ℂ | ARDOUR.DoubleBeatsSamplesConverter (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* >
@@ -1563,11 +1601,12 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to CSet `internal' value
All derived classes must implement this.
Basic derived classes will ignore group_override but more sophisticated children, notably those that proxy the value setting logic via an object that is aware of group relationships between this control and others, will find it useful.
Methods | ||
---|---|---|
void | dump_registry () | |
std::string | name () | |
ControllableSet | registered_controllables () | |
Cast | ||
AutomationControl | to_automationcontrol () | |
MPGainControl | to_mpgain () | |
MPToggleControl | to_mptoggle () |
Methods | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
bool | isnil () |
Methods | ||
---|---|---|
GainControl | gain_control () | |
GainControl | gain_control () | |
long | get_delay_in () | |
long | get_delay_out () | |
bool | is_foldback () | |
void | set_remove_on_disconnect (bool) | |
Cast | ||
InternalSend | to_internalsend () |
Location on Timeline - abstract representation for Markers, Loop/Punch Ranges, CD-Markers etc.
Methods | ||
---|---|---|
long | end () | |
timepos_t | _end () | |
Flags | flags () | |
bool | is_auto_loop () | |
bool | is_auto_punch () | |
bool | is_cd_marker () | |
bool | is_cue_marker () | |
bool | is_hidden () | |
bool | is_mark () | |
bool | is_range_marker () | |
bool | is_session_range () | |
long | length () | |
timecnt_t | length () | |
void | lock () | |
bool | locked () | |
bool | matches (Flags) | |
int | move_to (long, unsigned int) | |
int | move_to (timepos_t) | |
std::string | name () | |
int | set (long, long, bool, unsigned int) | |
int | set_end (long, bool, bool, unsigned int) | |
Set end position.
| ||
int | set_length (long, long, bool, unsigned int) | |
int | set (timepos_t, timepos_t) | |
int | set_end (timepos_t, bool) | |
int | set_length (timepos_t, timepos_t) | |
void | set_name (std::string) | |
Set location name | ||
int | set_start (long, bool, bool, unsigned int) | |
Set start position.
| ||
long | start () | |
Set location name | ||
int | set_start (timepos_t, bool) | |
timepos_t | start () | |
void | unlock () |
A collection of session locations including unique dedicated locations (loop, punch, etc)
Methods | ||
---|---|---|
Location | add_range (timepos_t, timepos_t) | |
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) | |
LuaTable(...) | find_all_between (timepos_t, timepos_t, LocationList&, Flags) | |
timepos_t | first_mark_after (timepos_t, bool) | |
Location | first_mark_at (timepos_t, timecnt_t) | |
timepos_t | first_mark_before (timepos_t, bool) | |
LocationList | list () | |
Location | mark_at (long, long) | |
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 sample. Note that if sample is exactly on a `mark', that mark will not be considered for returning as before/after.
| ||
Location | mark_at (timepos_t, timecnt_t) | |
LuaTable(...) | marks_either_side (timepos_t, timepos_t&, timepos_t&) | |
Location | range_starts_at (timepos_t, timecnt_t, bool) | |
void | remove (Location) | |
Location | session_range_location () |
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)
Write a list of untagged plugins to a file, so we can bulk-tag them
Returns path to XML file or empty string on error
List all installed plugins
create a new Lua Processor (Plugin)
Returns Processor object (may be nil)
create a new Lua Processor (Plugin)
Returns Processor object (may be nil)
create a new Plugin Instance
Returns Processor or nil
search a Plugin
Returns PluginInfo or nil if not found
search a Plugin
Returns PluginInfo or nil if not found
create a new Plugin Instance
Returns Processor or nil
add a new [external] Send to the given Route
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) ++ end A convenience function to get a Automation Lists and ParameterDescriptor for a given plugin control.
This is equivalent to the following lua code
function (processor, param_id) local plugininsert = processor:to_insert () local plugin = plugininsert:plugin(0) local _, t = plugin:get_parameter_descriptor(param_id, ARDOUR.ParameterDescriptor ()) @@ -2040,11 +2094,13 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to C local ac = pi:automation_control (ctrl, false) local acl = ac:alist() return ac:alist(), ac:to_ctrl():list(), t[2] - endExample 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
Example usage: get the third input parameter of first plugin on the given route (Ardour starts counting at zero).
local al, cl, pd = ARDOUR.LuaAPI.plugin_automation (route:nth_plugin (0), 3)
Returns 3 parameters: AutomationList, ControlList, ParameterDescriptor
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
Generic conversion from audio sample count to timecode. (TimecodeType, sample-rate, sample-pos)
Crash Test Dummy
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
high-level abstraction to process a single channel of the given Readable.
If the plugin is not yet initialized, initialize() is called.
if fn is not nil, it is called with the immediate Vamp::Plugin::Features on every process call.
Returns 0 on success
high-level abstraction to process a single channel of the given AudioReadable.
If the plugin is not yet initialized, initialize() is called.
if fn is not nil, it is called with the immediate Vamp::Plugin::Features on every process call.
Returns 0 on success
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 () @@ -2088,7 +2144,7 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to CFeatureSet process (FloatArrayVector, RealTime) process given array of audio-samples.
This is a lua-binding for vamp:plugin():process ()
- d
- audio-data, the vector must match the configured channel count and hold a complete buffer for every channel as set during plugin():initialise()
- rt
- timestamp matching the provided buffer.
Returns features extracted from that data (if the plugin is causal)
- void reset () + call plugin():reset() and clear intialization flag
call plugin():reset() and clear initialization flag
C‡: ARDOUR::LuaOSC::Address
@@ -2122,6 +2178,8 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to CReturns Last preset to be requested; the settings may have been changed since; find out with parameter_changed_since_last_preset.
Set parameters using a preset
Create a new plugin-preset from the current state
Returns PresetRecord with empty URI on failure
C‡: ARDOUR::Meter
+C‡: std::map<std::string, ARDOUR::PortManager::MPM >
-Meter, or time signature (beats per bar, and which note type is a beat).
Constructor | ||
---|---|---|
ℂ | ARDOUR.Meter (double, double) | |
ℂ | ARDOUR.MIDIPortMeters () | |
Methods | ||
double | divisions_per_bar () | |
double | note_divisor () | |
double | samples_per_bar (Tempo, long) | |
double | samples_per_grid (Tempo, long) | |
LuaTable | add (std::string, ARDOUR::PortManager::MPM ) | |
... | at (--lua--) | |
void | clear () | |
unsigned long | count (std::string) | |
bool | empty () | |
LuaIter | iter () | |
unsigned long | size () | |
LuaTable | table () |
C‡: ARDOUR::MeterSection
-is-a: ARDOUR:MetricSection
+C‡: boost::shared_ptr< ARDOUR::MPControl<float> >, boost::weak_ptr< ARDOUR::MPControl<float> >
+is-a: PBD:Controllable
-A section of timeline with a certain Meter.
Methods | ||
---|---|---|
BBT_TIME | bbt () | |
double | beat () | |
void | set_beat (double) | |
Cast | ||
Meter | to_meter () | |
std::string | get_user_string () | |
double | get_value () | |
bool | isnil () | |
double | lower () | |
double | normal () | |
void | set_value (double, GroupControlDisposition) | |
double | upper () |
Methods | ||
---|---|---|
void | dump_registry () | |
std::string | name () | |
ControllableSet | registered_controllables () | |
Cast | ||
AutomationControl | to_automationcontrol () | |
MPGainControl | to_mpgain () | |
MPToggleControl | to_mptoggle () |
Methods | ||
---|---|---|
bool | initial () | |
bool | is_tempo () | |
double | minute () | |
double | minute_at_sample (long) | |
double | pulse () | |
long | sample () | |
long | sample_at_minute (double) | |
void | set_pulse (double) | |
void | clear_changes () | |
Forget about any changes to this object's properties | ||
ID | id () | |
OwnedPropertyList | properties () |
C‡: ARDOUR::MetricSection
+C‡: boost::shared_ptr< ARDOUR::MPControl<bool> >, boost::weak_ptr< ARDOUR::MPControl<bool> >
+is-a: PBD:Controllable
-A section of timeline with a certain Tempo or Meter.
Methods | ||
---|---|---|
bool | initial () | |
bool | is_tempo () | |
double | minute () | |
double | minute_at_sample (long) | |
double | pulse () | |
long | sample () | |
long | sample_at_minute (double) | |
void | set_pulse (double) | |
std::string | get_user_string () | |
double | get_value () | |
bool | isnil () | |
double | lower () | |
double | normal () | |
void | set_value (double, GroupControlDisposition) | |
Set `internal' value All derived classes must implement this. Basic derived classes will ignore group_override but more sophisticated children, notably those that proxy the value setting logic via an object that is aware of group relationships between this control and others, will find it useful.
| ||
double | upper () |
Methods | ||
---|---|---|
void | dump_registry () | |
std::string | name () | |
ControllableSet | registered_controllables () | |
Cast | ||
AutomationControl | to_automationcontrol () | |
MPGainControl | to_mpgain () | |
MPToggleControl | to_mptoggle () |
Methods | ||
---|---|---|
void | clear_changes () | |
Forget about any changes to this object's properties | ||
ID | id () | |
OwnedPropertyList | properties () |
C‡: ARDOUR::MidiBuffer
@@ -2233,9 +2324,10 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to CMethods | ||
---|---|---|
void | apply_command (Session, Command) | |
void | apply_diff_command_as_commit (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. | ||
Start a new NoteDiff command. This has no side-effects on the model or Session, the returned command can be held on to for as long as the caller wishes, or discarded without formality, until apply_diff_command_* is called and ownership is taken. |
Methods | ||
---|---|---|
ParameterList | all_automatable_params () | |
API for Lua binding | ||
AutomationControl | automation_control (Parameter, bool) | |
Cast | ||
Slavable | to_slavable () |
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) | |
void | add_region (Region, timepos_t, float, bool) | |
Region | combine (RegionList, Track) | |
unsigned int | count_regions_at (timepos_t) | |
Playlist | cut (TimelineRangeList&, bool) | |
DataType | data_type () | |
void | duplicate (Region, long, long, float) | |
| ||
void | duplicate_range (AudioRange&, float) | |
void | duplicate_until (Region, long, long, long) | |
| ||
void | duplicate (Region, timepos_t&, timecnt_t, float) | |
void | duplicate_range (TimelineRange&, float) | |
void | duplicate_until (Region, timepos_t&, timecnt_t, timepos_t) | |
bool | empty () | |
Region | find_next_region (long, RegionPoint, int) | |
long | find_next_region_boundary (long, int) | |
long | find_next_transient (long, int) | |
Region | find_next_region (timepos_t, RegionPoint, int) | |
timepos_t | find_next_region_boundary (timepos_t, int) | |
long | find_next_transient (timepos_t, int) | |
ID | get_orig_track_id () | |
bool | hidden () | |
void | lower_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) | |
RegionListPtr | regions_at (timepos_t) | |
RegionListPtr | regions_touched (timepos_t, timepos_t) | |
RegionListPtr | regions_with_end_within (Range) | |
RegionListPtr | regions_with_start_within (Range) | |
void | remove_region (Region) | |
bool | set_name (std::string) | |
bool | shared () | |
void | split_region (Region, MusicSample) | |
Region | top_region_at (long) | |
Region | top_unmuted_region_at (long) | |
void | split_region (Region, timepos_t) | |
Region | top_region_at (timepos_t) | |
Region | top_unmuted_region_at (timepos_t) | |
void | uncombine (Region) | |
bool | used () | |
Cast |
Methods | ||
---|---|---|
bool | do_export (std::string) | |
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 () |
bool | automatic () | |
bool | can_move () | |
bool | captured () | |
void | captured_xruns (XrunPositions&, bool) | |
void | clear_sync_position () | |
Control | control (Parameter, bool) | |
bool | covers (long) | |
void | cut_end (long, int) | |
void | cut_front (long, int) | |
bool | covers (timepos_t) | |
void | cut_end (timepos_t) | |
void | cut_front (timepos_t) | |
DataType | data_type () | |
bool | external () | |
bool | has_transients () | |
bool | import () | |
bool | is_compound () | |
unsigned int | layer () | |
long | length () | |
timecnt_t | length () | |
bool | locked () | |
void | lower () | |
void | lower_to_bottom () | |
StringVector | master_source_names () | |
SourceList | master_sources () | |
void | move_start (long, int) | |
void | move_start (timecnt_t) | |
void | move_to_natural_position () | |
bool | muted () | |
unsigned int | n_channels () | |
void | nudge_position (long) | |
void | nudge_position (timecnt_t) | |
bool | opaque () | |
Playlist | playlist () | |
long | position () | |
timepos_t | position () | |
How the region parameters play together: POSITION: first sample of the region along the timeline START: first sample of the region within its source(s) LENGTH: number of samples the region represents | ||
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_initial_position (timepos_t) | |
void | set_length (timecnt_t) | |
void | set_locked (bool) | |
void | set_muted (bool) | |
bool | set_name (std::string) | |
Note: changing the name of a Region does not constitute an edit | ||
void | set_opaque (bool) | |
void | set_position (long, int) | |
void | set_position (timepos_t) | |
void | set_position_locked (bool) | |
void | set_start (long) | |
void | set_sync_position (long) | |
Set the region's sync point.
| ||
void | set_start (timepos_t) | |
void | set_sync_position (timepos_t) | |
void | set_video_locked (bool) | |
float | shift () | |
Source | source (unsigned int) | |
long | start () | |
timepos_t | start () | |
float | stretch () | |
bool | sync_marked () | |
LuaTable(long, ...) | sync_offset (int&) | |
long | sync_position () | |
LuaTable(timecnt_t, ...) | sync_offset (int&) | |
timepos_t | 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) | |
void | trim_end (timepos_t) | |
void | trim_front (timepos_t) | |
void | trim_to (timepos_t, timecnt_t) | |
bool | video_locked () | |
bool | whole_file () | |
Cast | ||
---|---|---|
AudioRegion | to_audioregion () | |
MidiRegion | to_midiregion () | |
Readable | to_readable () |
Methods | ||
---|---|---|
bool | empty () | |
bool | empty () | |
bool | isnil () | |
long | length (long) | |
timepos_t | length () | |
MidiModel | model () |
A track is an route (bus) with a recordable diskstream and related objects relevant to recording, playback and editing.
Specifically a track has a playlist object that describes material to be played from disk, and modifies that object during recording and editing.
Methods | ||
---|---|---|
unsigned short | get_capture_channel_mask () | |
ChannelMode | get_capture_channel_mode () | |
ChannelMode | get_playback_channel_mask () | |
ChannelMode | get_playback_channel_mode () | |
bool | input_active () | |
bool | isnil () | |
void | set_capture_channel_mask (unsigned short) | |
void | set_capture_channel_mode (ChannelMode, unsigned short) | |
void | set_input_active (bool) | |
void | set_playback_channel_mask (unsigned short) | |
void | set_playback_channel_mode (ChannelMode, unsigned short) | |
bool | write_immediate_event (EventType, unsigned long, unsigned char*) |
Constructor | ||
---|---|---|
ℵ | ARDOUR.Track () | |
Methods | ||
Region | bounce (InterThreadInfo&, std::string) | |
bounce track from session start to session end to new region
Returns a new audio region (or nil in case of error) | ||
bool | set_name (std::string) | |
int | use_copy_playlist () | |
int | use_new_playlist (DataType) | |
int | use_playlist (DataType, Playlist) | |
int | use_playlist (DataType, Playlist, bool) | |
Cast | ||
AudioTrack | to_audio_track () | |
MidiTrack | to_midi_track () |
Methods | ||
---|---|---|
bool | active () | |
int | add_aux_send (Route, Processor) | |
Add an aux send to a route.
| ||
int | add_foldback_send (Route, bool) | |
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. | ||
IO | input () | |
Delivery | main_outs () | |
the signal processorat at end of the processing chain which produces output | ||
MonitorControl | monitoring_control () | |
MonitorState | monitoring_state () | |
bool | muted () | |
ChanCount | n_inputs () | |
ChanCount | n_outputs () | |
LuaTable | table () | |
void | unique () |
C‡: boost::shared_ptr< ARDOUR::MixerScene >, boost::weak_ptr< ARDOUR::MixerScene >
+ +Base class for objects with saveable and undoable state
Methods | ||
---|---|---|
bool | apply () | |
bool | apply_to (ControllableSet, AutomationTypeSet) | |
void | clear () | |
bool | empty () | |
bool | isnil () | |
std::string | name () | |
bool | set_name (std::string) | |
void | snapshot () |
C‡: boost::shared_ptr< ARDOUR::MonitorControl >, boost::weak_ptr< ARDOUR::MonitorControl >
+is-a: ARDOUR:SlavableAutomationControl
+ +A PBD::Controllable with associated automation data (AutomationList)
Methods | ||
---|---|---|
bool | isnil () | |
MonitorChoice | monitoring_choice () |
Methods | ||
---|---|---|
void | add_master (AutomationControl) | |
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 () | |
ParameterDescriptor | desc () | |
double | get_value () | |
Get `internal' value Returns raw value as used for the plugin/processor control port | ||
double | lower () | |
double | normal () | |
void | set_automation_state (AutoState) | |
void | set_value (double, GroupControlDisposition) | |
Set `internal' value All derived classes must implement this. Basic derived classes will ignore group_override but more sophisticated children, notably those that proxy the value setting logic via an object that is aware of group relationships between this control and others, will find it useful.
| ||
void | start_touch (timepos_t) | |
void | stop_touch (timepos_t) | |
bool | toggled () | |
double | upper () | |
bool | writable () | |
Cast | ||
Control | to_ctrl () | |
SlavableAutomationControl | to_slavable () |
Methods | ||
---|---|---|
void | dump_registry () | |
std::string | name () | |
ControllableSet | registered_controllables () | |
Cast | ||
AutomationControl | to_automationcontrol () | |
MPGainControl | to_mpgain () | |
MPToggleControl | to_mptoggle () |
Methods | ||
---|---|---|
void | clear_changes () | |
Forget about any changes to this object's properties | ||
ID | id () | |
OwnedPropertyList | properties () |
C‡: boost::shared_ptr< ARDOUR::MonitorProcessor >, boost::weak_ptr< ARDOUR::MonitorProcessor >
is-a: ARDOUR:Processor
@@ -2769,18 +2948,6 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to CC‡: ARDOUR::MusicSample
- -Constructor | ||
---|---|---|
ℂ | ARDOUR.MusicSample (long, int) | |
Methods | ||
void | set (long, int) | |
Data Members | ||
int | division | |
long | sample |
C‡: boost::shared_ptr< ARDOUR::MuteControl >, boost::weak_ptr< ARDOUR::MuteControl >
is-a: ARDOUR:SlavableAutomationControl
@@ -2816,8 +2983,8 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to CSet `internal' value
All derived classes must implement this.
Basic derived classes will ignore group_override but more sophisticated children, notably those that proxy the value setting logic via an object that is aware of group relationships between this control and others, will find it useful.
Methods | ||
---|---|---|
void | dump_registry () | |
std::string | name () | |
ControllableSet | registered_controllables () | |
Cast | ||
AutomationControl | to_automationcontrol () | |
MPGainControl | to_mpgain () | |
MPToggleControl | to_mptoggle () |
Constructor | ||
---|---|---|
ℂ | ARDOUR.NotePtrList () | |
Methods | ||
LuaTable | add (LuaTable {Beats}) | |
LuaTable | add (LuaTable {Beats}) | |
NotePtr | back () | |
bool | empty () | |
NotePtr | front () | |
Methods | ||
std::string | midi_note_name (unsigned char, bool) | |
Data Members | ||
unsigned int | display_priority | |
higher is more important http://lv2plug.in/ns/ext/port-props#displayPriority | ||
bool | enumeration | |
bool | inline_ctrl | |
bool | integer_step | |
std::string | label | |
float | largestep | |
std::string | print_fmt | |
format string for pretty printing | ||
float | smallstep | |
bool | sr_dependent | |
float | step |
Minimum value (in Hz, for frequencies) | ||
float | normal | |
Default value | ||
unsigned int | rangesteps | |
number of steps, [min,max] (inclusive). <= 1 means continuous. == 2 only min, max. For integer controls this is usually (1 + max - min) | ||
bool | toggled | |
True iff parameter is boolean | ||
float | upper | |
Maximum value (in Hz, for frequencies) |
C‡: std::vector<Evoral::Parameter >
+ +Constructor | ||
---|---|---|
ℂ | ARDOUR.ParameterList () | |
Methods | ||
Parameter | at (unsigned long) | |
bool | empty () | |
LuaIter | iter () | |
unsigned long | size () | |
LuaTable | table () |
C‡: boost::shared_ptr< ARDOUR::PeakMeter >, boost::weak_ptr< ARDOUR::PeakMeter >
is-a: ARDOUR:Processor
@@ -2999,8 +3198,8 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to CSet `internal' value
All derived classes must implement this.
Basic derived classes will ignore group_override but more sophisticated children, notably those that proxy the value setting logic via an object that is aware of group relationships between this control and others, will find it useful.
Methods | ||
---|---|---|
void | dump_registry () | |
std::string | name () | |
ControllableSet | registered_controllables () | |
Cast | ||
AutomationControl | to_automationcontrol () | |
MPGainControl | to_mpgain () | |
MPToggleControl | to_mptoggle () |
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) | |
void | add_region (Region, timepos_t, float, bool) | |
Region | combine (RegionList, Track) | |
unsigned int | count_regions_at (timepos_t) | |
Playlist | cut (TimelineRangeList&, bool) | |
DataType | data_type () | |
void | duplicate (Region, long, long, float) | |
| ||
void | duplicate_range (AudioRange&, float) | |
void | duplicate_until (Region, long, long, long) | |
| ||
void | duplicate (Region, timepos_t&, timecnt_t, float) | |
void | duplicate_range (TimelineRange&, float) | |
void | duplicate_until (Region, timepos_t&, timecnt_t, timepos_t) | |
bool | empty () | |
Region | find_next_region (long, RegionPoint, int) | |
long | find_next_region_boundary (long, int) | |
long | find_next_transient (long, int) | |
Region | find_next_region (timepos_t, RegionPoint, int) | |
timepos_t | find_next_region_boundary (timepos_t, int) | |
long | find_next_transient (timepos_t, int) | |
ID | get_orig_track_id () | |
bool | hidden () | |
bool | isnil () | |
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) | |
RegionListPtr | regions_at (timepos_t) | |
RegionListPtr | regions_touched (timepos_t, timepos_t) | |
RegionListPtr | regions_with_end_within (Range) | |
RegionListPtr | regions_with_start_within (Range) | |
void | remove_region (Region) | |
bool | set_name (std::string) | |
bool | shared () | |
void | split_region (Region, MusicSample) | |
Region | top_region_at (long) | |
Region | top_unmuted_region_at (long) | |
void | split_region (Region, timepos_t) | |
Region | top_region_at (timepos_t) | |
Region | top_unmuted_region_at (timepos_t) | |
void | uncombine (Region) | |
bool | used () | |
Cast | ||
std::string | get_parameter_docs (unsigned int) | |
bool | isnil () | |
char* | label () | |
PresetRecord | last_preset () | |
Returns Last preset to be requested; the settings may have been changed since; find out with parameter_changed_since_last_preset. | ||
bool | load_preset (PresetRecord) | |
Set parameters using a preset | ||
char* | maker () | |
std::string | parameter_label (unsigned int) | |
PresetRecord | preset_by_label (std::string) | |
PresetRecord | preset_by_uri (std::string) | |
void | remove_preset (std::string) | |
PresetRecord | save_preset (std::string) | |
Create a new plugin-preset from the current state
Returns PresetRecord with empty URI on failure | ||
std::string | unique_id () | |
Cast | ||
LuaProc | to_luaproc () | |
void | set_automation_state (AutoState) | |
void | set_value (double, GroupControlDisposition) | |
Set `internal' value All derived classes must implement this. Basic derived classes will ignore group_override but more sophisticated children, notably those that proxy the value setting logic via an object that is aware of group relationships between this control and others, will find it useful.
| ||
void | start_touch (double) | |
void | stop_touch (double) | |
void | start_touch (timepos_t) | |
void | stop_touch (timepos_t) | |
bool | toggled () | |
double | upper () | |
bool | writable () |
Methods | ||
---|---|---|
void | dump_registry () | |
std::string | name () | |
ControllableSet | registered_controllables () | |
Cast | ||
AutomationControl | to_automationcontrol () | |
MPGainControl | to_mpgain () | |
MPToggleControl | to_mptoggle () |
ARDOUR:ChanCount | n_outputs | |
std::string | name | |
std::string | path | |
ARDOUR.PluginType | type | |
ARDOUR.PluginType | _type | |
std::string | unique_id |
C‡: boost::shared_ptr< ARDOUR::PortSet >, boost::weak_ptr< ARDOUR::PortSet >
@@ -3594,10 +3811,22 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to CC‡: 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::PropertyDescriptor<std::string >
+ +This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.
+C‡: PBD::PropertyDescriptor<Temporal::timecnt_t>
+ +This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.
+C‡: PBD::PropertyDescriptor<Temporal::timepos_t>
+ +This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.
C‡: PBD::PropertyChange
@@ -3606,7 +3835,10 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to CC‡: PBD::PropertyList
@@ -3632,6 +3864,7 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to CC‡: boost::shared_ptr< ARDOUR::Readable >, boost::weak_ptr< ARDOUR::Readable >
+C‡: boost::shared_ptr< ARDOUR::AudioReadable >, boost::weak_ptr< ARDOUR::AudioReadable >
Methods | ||
---|---|---|
bool | isnil () | |
ReadableList | load (Session&, std::string) | |
unsigned int | n_channels () | |
long | read (FloatArray, long, long, int) | |
long | readable_length () | |
ReadableList | load (Session&, std::string) | |
unsigned int | n_channels () | |
long | read (FloatArray, long, long, int) | |
long | readable_length () |
C‡: std::vector<boost::shared_ptr<ARDOUR::Readable> >
+C‡: std::vector<boost::shared_ptr<ARDOUR::AudioReadable> >
Constructor | ||
---|---|---|
ℂ | ARDOUR.ReadableList () | |
Methods | ||
LuaTable | add (LuaTable {Readable}) | |
Readable | at (unsigned long) | |
void | clear () | |
bool | empty () | |
Readable | at (unsigned long) | |
void | clear () | |
bool | empty () | |
LuaIter | iter () | |
void | push_back (Readable) | |
unsigned long | size () | |
void | push_back (Readable) | |
unsigned long | size () | |
LuaTable | table () | |
... | to_array (--lua--) |
How the region parameters play together:
POSITION: first sample of the region along the timeline START: first sample of the region within its source(s) LENGTH: number of samples the region represents
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.
Note: changing the name of a Region does not constitute an edit
Set the region's sync point.
Returns Sync position in session time
Methods | ||
---|---|---|
bool | active () | |
int | add_aux_send (Route, Processor) | |
Add an aux send to a route.
| ||
int | add_foldback_send (Route, bool) | |
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 | isnil () | |
Delivery | main_outs () | |
the signal processorat at end of the processing chain which produces output | ||
MonitorControl | monitoring_control () | |
MonitorState | monitoring_state () | |
bool | muted () | |
ChanCount | n_inputs () | |
ChanCount | n_outputs () |
Methods | ||
---|---|---|
GainControl | gain_control () | |
GainControl | gain_control () | |
long | get_delay_in () | |
long | get_delay_out () | |
bool | is_foldback () | |
bool | isnil () | |
void | set_remove_on_disconnect (bool) | |
Cast | ||
InternalSend | to_internalsend () |
Ardour Session
Methods | ||
---|---|---|
bool | abort_empty_reversible_command () | |
Abort reversible command IFF no undo changes have been collected. Returns true if undo operation was aborted. | ||
void | abort_reversible_command () | |
abort an open undo command This must only be called after begin_reversible_command () | ||
bool | actively_recording () | |
int | add_master_bus (ChanCount) | |
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) | ||
bool | apply_nth_mixer_scene (unsigned long) | |
bool | apply_nth_mixer_scene_to (unsigned long, RouteList) | |
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()
| ||
BundleListPtr | bundles () | |
void | cancel_all_solo () | |
SessionConfiguration | cfg () | |
void | clear_all_solo_state (RouteListPtr) | |
bool | collected_undo_commands () | |
Test if any undo commands were added since the call to begin_reversible_command () This is useful to determine if an undoable action was performed before adding additional information (e.g. selection changes) to the undo transaction. Returns true if undo operation is valid but empty | ||
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) | |
unsigned int | get_xrun_count () | |
void | goto_end () | |
void | goto_start (bool) | |
long | io_latency () | |
long | last_transport_start () | |
bool | listening () | |
Locations | locations () | |
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, bool) | |
AudioTrackList | new_audio_track (int, int, RouteGroup, unsigned int, std::string, unsigned int, TrackMode, bool, bool) | |
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) | |
MidiTrackList | new_midi_track (ChanCount, ChanCount, bool, PluginInfo, PresetRecord, RouteGroup, unsigned int, std::string, unsigned int, TrackMode, bool, bool) | |
RouteList | new_route_from_template (unsigned int, unsigned int, std::string, std::string, PlaylistDisposition) | |
RouteGroup | new_route_group (std::string) | |
long | nominal_sample_rate () | |
"native" sample rate of session, regardless of current audioengine rate, pullup/down etc | ||
MixerScene | nth_mixer_scene (unsigned long, bool) | |
bool | nth_mixer_scene_valid (unsigned long) | |
std::string | path () | |
SessionPlaylists | playlists () | |
bool | plot_process_graph (std::string) | |
Processor | processor_by_id (ID) | |
RecordState | record_status () | |
void | remove_route_group (RouteGroup) | |
int | rename (std::string) | |
void | request_bounded_roll (long, long) | |
void | request_locate (long, LocateTransportDisposition, TransportRequestSource) | |
void | request_locate (long, bool, LocateTransportDisposition, TransportRequestSource) | |
void | request_play_loop (bool, bool) | |
void | request_roll (TransportRequestSource) | |
void | request_stop (bool, bool, TransportRequestSource) | |
void | request_transport_speed (double, bool, TransportRequestSource) | |
void | request_transport_speed (double, TransportRequestSource) | |
void | reset_xrun_count () | |
Route | route_by_id (ID) | |
Route | route_by_name (std::string) | |
void | set_dirty () | |
void | set_exclusive_input_active (RouteListPtr, bool, bool) | |
void | set_session_range_is_free (bool) | |
... | simple_export (--lua--) | |
std::string | snap_name () | |
bool | solo_isolated () | |
bool | soloing () | |
Source | source_by_id (ID) | |
void | store_nth_mixer_scene (unsigned long) | |
Stripable | stripable_by_id (ID) | |
TempoMap | tempo_map () | |
bool | timecode_drop_frames () | |
long | timecode_frames_per_hour () | |
double | timecode_frames_per_second () | |
VCAManager | vca_manager () | |
long | worst_input_latency () | |
long | worst_latency_preroll () | |
long | worst_latency_preroll_buffer_size_ceil () | |
long | worst_output_latency () | |
long | worst_route_latency () |
C‡: ARDOUR::SimpleExport
+ +Base class for audio export
This allows one to export audio from the session's master bus using a given export-preset.
Methods | ||
---|---|---|
bool | check_outputs () | |
bool | run_export () | |
void | set_folder (std::string) | |
void | set_name (std::string) | |
bool | set_preset (std::string) | |
void | set_range (long, long) |
C‡: boost::shared_ptr< ARDOUR::Slavable >, boost::weak_ptr< ARDOUR::Slavable >
@@ -5104,8 +5412,8 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to CSet `internal' value
All derived classes must implement this.
Basic derived classes will ignore group_override but more sophisticated children, notably those that proxy the value setting logic via an object that is aware of group relationships between this control and others, will find it useful.
Methods | ||
---|---|---|
void | dump_registry () | |
std::string | name () | |
ControllableSet | registered_controllables () | |
Cast | ||
AutomationControl | to_automationcontrol () | |
MPGainControl | to_mpgain () | |
MPToggleControl | to_mptoggle () |
void | set_automation_state (AutoState) | |
void | set_value (double, GroupControlDisposition) | |
Set `internal' value All derived classes must implement this. Basic derived classes will ignore group_override but more sophisticated children, notably those that proxy the value setting logic via an object that is aware of group relationships between this control and others, will find it useful.
| ||
void | start_touch (double) | |
void | stop_touch (double) | |
void | start_touch (timepos_t) | |
void | stop_touch (timepos_t) | |
bool | toggled () | |
double | upper () | |
bool | writable () |
Methods | ||
---|---|---|
void | dump_registry () | |
std::string | name () | |
ControllableSet | registered_controllables () | |
Cast | ||
AutomationControl | to_automationcontrol () | |
MPGainControl | to_mpgain () | |
MPToggleControl | to_mptoggle () |
void | set_automation_state (AutoState) | |
void | set_value (double, GroupControlDisposition) | |
Set `internal' value All derived classes must implement this. Basic derived classes will ignore group_override but more sophisticated children, notably those that proxy the value setting logic via an object that is aware of group relationships between this control and others, will find it useful.
| ||
void | start_touch (double) | |
void | stop_touch (double) | |
void | start_touch (timepos_t) | |
void | stop_touch (timepos_t) | |
bool | toggled () | |
double | upper () | |
bool | writable () |
Methods | ||
---|---|---|
void | dump_registry () | |
std::string | name () | |
ControllableSet | registered_controllables () | |
Cast | ||
AutomationControl | to_automationcontrol () | |
MPGainControl | to_mpgain () | |
MPToggleControl | to_mptoggle () |
void | set_automation_state (AutoState) | |
void | set_value (double, GroupControlDisposition) | |
Set `internal' value All derived classes must implement this. Basic derived classes will ignore group_override but more sophisticated children, notably those that proxy the value setting logic via an object that is aware of group relationships between this control and others, will find it useful.
| ||
void | start_touch (double) | |
void | stop_touch (double) | |
void | start_touch (timepos_t) | |
void | stop_touch (timepos_t) | |
bool | toggled () | |
double | upper () | |
bool | writable () |
Methods | ||
---|---|---|
void | dump_registry () | |
std::string | name () | |
ControllableSet | registered_controllables () | |
Cast | ||
AutomationControl | to_automationcontrol () | |
MPGainControl | to_mpgain () | |
MPToggleControl | to_mptoggle () |
Methods | ||
---|---|---|
std::string | ancestor_name () | |
bool | can_be_analysed () | |
XrunPositions | captured_xruns () | |
bool | empty () | |
bool | has_been_analysed () | |
bool | isnil () | |
long | length (long) | |
long | natural_position () | |
long | timeline_position () | |
timepos_t | length () | |
timepos_t | natural_position () | |
timepos_t | timeline_position () | |
long | timestamp () | |
int | use_count () | |
bool | used () | |
unsigned long | size () | |
LuaTable | table () |
C‡: ARDOUR::Tempo
+C‡: ARDOUR::TimelineRange
-Tempo, the speed at which musical time progresses (BPM).
Constructor | ||
---|---|---|
ℂ | ARDOUR.Tempo (double, double, double) | |
ℂ | ARDOUR.TimelineRange (timepos_t, timepos_t, unsigned int) | |
Methods | ||
double | end_note_types_per_minute () | |
double | note_type () | |
double | note_types_per_minute () | |
double | quarter_notes_per_minute () | |
double | samples_per_note_type (long) | |
audio samples per note type. if you want an instantaneous value for this, use TempoMap::samples_per_quarter_note_at() instead.
| ||
double | samples_per_quarter_note (long) | |
audio samples per quarter note. if you want an instantaneous value for this, use TempoMap::samples_per_quarter_note_at() instead.
|
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, BBT_TIME, long, PositionLockStyle) | |
TempoSection | add_tempo (Tempo, double, long, PositionLockStyle) | |
BBT_TIME | bbt_at_sample (long) | |
Returns the BBT time corresponding to the supplied sample position.
Returns the BBT time at the sample position . | ||
double | exact_beat_at_sample (long, int) | |
double | exact_qn_at_sample (long, int) | |
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_sample (long) | |
TempoSection | next_tempo_section (TempoSection) | |
TempoSection | previous_tempo_section (TempoSection) | |
long | samplepos_plus_qn (long, Beats) | |
Add some (fractional) Beats to a session sample position, and return the result in samples. pos can be -ve, if required. | ||
TempoSection | tempo_section_at_sample (long) | |
timepos_t | _end () | |
bool | equal (TimelineRange) | |
timecnt_t | length () | |
timepos_t | start () | |
Data Members | ||
unsigned int | id |
C‡: ARDOUR::TempoSection
-is-a: ARDOUR:MetricSection
+C‡: std::list<ARDOUR::TimelineRange >
-A section of timeline with a certain Tempo.
Constructor | ||
---|---|---|
ℂ | ARDOUR.TimelineRangeList () | |
Methods | ||
bool | active () | |
double | c () | |
bool | clamped () | |
bool | locked_to_meter () | |
Cast | ||
Tempo | to_tempo () | |
LuaTable | add (LuaTable {TimelineRange}) | |
TimelineRange | back () | |
bool | empty () | |
TimelineRange | front () | |
LuaIter | iter () | |
void | push_back (TimelineRange) | |
void | reverse () | |
unsigned long | size () | |
LuaTable | table () | |
void | unique () |
Methods | ||
---|---|---|
bool | initial () | |
bool | is_tempo () | |
double | minute () | |
double | minute_at_sample (long) | |
double | pulse () | |
long | sample () | |
long | sample_at_minute (double) | |
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 recording, playback and editing.
Specifically a track has a playlist object that describes material to be played from disk, and modifies that object during recording and editing.
Constructor | ||
---|---|---|
ℵ | ARDOUR.Track () | |
Methods | ||
Region | bounce (InterThreadInfo&, std::string) | |
bounce track from session start to session end to new region
Returns a new audio region (or nil in case of error) | ||
bool | set_name (std::string) | |
int | use_copy_playlist () | |
int | use_new_playlist (DataType) | |
int | use_playlist (DataType, Playlist) | |
int | use_playlist (DataType, Playlist, bool) | |
Cast | ||
AudioTrack | to_audio_track () | |
MidiTrack | to_midi_track () |
Methods | ||
---|---|---|
bool | active () | |
int | add_aux_send (Route, Processor) | |
Add an aux send to a route.
| ||
int | add_foldback_send (Route, bool) | |
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. | ||
IO | input () | |
Delivery | main_outs () | |
the signal processorat at end of the processing chain which produces output | ||
MonitorControl | monitoring_control () | |
MonitorState | monitoring_state () | |
bool | muted () | |
ChanCount | n_inputs () | |
ChanCount | n_outputs () | |
Stateful | to_stateful () | |
StatefulDestructible | to_statefuldestructible () |
C‡: boost::shared_ptr< ARDOUR::UserBundle >, boost::weak_ptr< ARDOUR::UserBundle >
+is-a: ARDOUR:Bundle
+ +A set of `channels', each of which is associated with 0 or more ports. Each channel has a name which can be anything useful, and a data type. Intended for grouping things like, for example, a buss' outputs. `Channel' is a rather overloaded term but I can't think of a better one right now.
Methods | ||
---|---|---|
bool | isnil () |
Methods | ||
---|---|---|
std::string | channel_name (unsigned int) | |
Returns Channel name. | ||
unsigned int | n_total () | |
std::string | name () | |
Returns Bundle name | ||
ChanCount | nchannels () | |
Returns Number of channels that this Bundle has | ||
bool | ports_are_inputs () | |
bool | ports_are_outputs () | |
Cast | ||
UserBundle | to_userbundle () |
C‡: boost::shared_ptr< ARDOUR::VCA >, boost::weak_ptr< ARDOUR::VCA >
is-a: ARDOUR:Stripable
@@ -5862,6 +6192,24 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to CC‡: std::vector<long >
+ +Constructor | ||
---|---|---|
ℂ | ARDOUR.XrunPositions () | |
ℂ | ARDOUR.XrunPositions () | |
Methods | ||
LuaTable | add (LuaTable {long}) | |
long | at (unsigned long) | |
void | clear () | |
bool | empty () | |
LuaIter | iter () | |
void | push_back (long) | |
unsigned long | size () | |
LuaTable | table () | |
... | to_array (--lua--) |
Methods | ||
---|---|---|
std::string | name () | |
long | position () | |
Type | type () | |
timepos_t | position () | |
Type | _type () |
C‡: std::list<ArdourMarker* >
@@ -5913,20 +6261,19 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to CPossibly start the audition of a region.
If r is 0, or not an AudioRegion any current audition is cancelled. If we are currently auditioning r , the audition will be cancelled. Otherwise an audition of r will start.
Returns The current mouse mode (gain, object, range, timefx etc.) (defined in editing_syms.h)
Import existing media
Returns true if the playhead is currently being dragged, otherwise false
Returns true if the editor is following the playhead
Open Simple Export Dialog
Redo some transactions.
Set whether the editor should follow the playhead.
Set the mouse mode (gain, object, range, timefx etc.)
Set the mouse mode (gain, object, range, timefx etc.)
Set the snap mode.
Class to represent list of selected regions.
Methods | ||
---|---|---|
long | end_sample () | |
timepos_t | end_time () | |
unsigned long | n_midi_regions () | |
RegionList | regionlist () | |
long | start () | |
timepos_t | start_time () |
C‡: RegionView
@@ -6123,7 +6476,7 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to CReturns effective height (taking children into account) in canvas units, or 0 if this TimeAxisView has not yet been shown
Returns index of this TimeAxisView within its parent
Returns y position, or -1 if hidden
Returns effective height (taking children into account) in canvas units, or 0 if this TimeAxisView has not yet been shown
Returns index of this TimeAxisView within its parent
Returns y position, or -1 if hidden
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
+is-a: ARDOUR:TimelineRangeList
Methods | ||
---|---|---|
long | end_sample () | |
long | length () | |
long | start () | |
timepos_t | end_time () | |
timecnt_t | length () | |
long | start_sample () | |
timepos_t | start_time () |
Constructor | ||
---|---|---|
ℂ | ARDOUR.AudioRangeList () | |
ℂ | ARDOUR.TimelineRangeList () | |
Methods | ||
AudioRange | back () | |
bool | empty () | |
AudioRange | front () | |
LuaTable | add (LuaTable {TimelineRange}) | |
TimelineRange | back () | |
bool | empty () | |
TimelineRange | front () | |
LuaIter | iter () | |
void | reverse () | |
unsigned long | size () | |
void | push_back (TimelineRange) | |
void | reverse () | |
unsigned long | size () | |
LuaTable | table () | |
void | unique () |
C‡: TrackSelection
@@ -6219,6 +6577,9 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to CDraws a Layout in the specified Cairo context. The top-left corner of the Layout will be drawn at the current point of the cairo context.
C‡: Temporal::Beats
- -Musical time in beats.
Constructor | ||
---|---|---|
ℂ | Evoral.Beats (double) | |
Methods | ||
double | to_double () |
C‡: boost::shared_ptr< Evoral::Control >, boost::weak_ptr< Evoral::Control >
@@ -6871,7 +7282,7 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to CData Members | ||
---|---|---|
double | value | |
double | when | |
Temporal:timepos_t | when |
C‡: boost::shared_ptr< Evoral::ControlList >, boost::weak_ptr< Evoral::ControlList >
@@ -6879,15 +7290,11 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to CA list (sequence) of time-stamped values for a control
Methods | ||
---|---|---|
void | add (double, double, bool, bool) | |
Add an event to this list. This method is intended to write automation in realtime. If the transport is stopped, guard-points will be added regardless of parameter with_guards.
| ||
void | clear (double, double) | |
Remove all events in the given time range from this list.
| ||
void | add (timepos_t, double, bool, bool) | |
void | clear (timepos_t, timepos_t) | |
void | clear_list () | |
bool | editor_add (double, double, bool) | |
Add an event to this list. This method is intended for making manual changes from the GUI. An event will only be created if no other event exists at the given time.
Returns true if an event was added. | ||
double | eval (double) | |
Queries the event value at the given time (takes a read-lock, not safe while writing automation).
Returns parameter value | ||
bool | editor_add (timepos_t, double, bool) | |
double | eval (timepos_t) | |
EventList | events () | |
Returns the list of 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(). This may fail if a read-lock cannot be taken.
Returns parameter value | ||
LuaTable(double, ...) | rt_safe_eval (timepos_t, bool&) | |
bool | set_interpolation (InterpolationStyle) | |
Sets the interpolation style of the automation data. This will fail when asking for Logarithmic scale and min,max crosses 0 or Exponential scale with min != 0.
Returns true if style change was successful | ||
unsigned long | size () | |
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) | |
Remove all events after the given time from this list.
| ||
void | truncate_start (double) | |
Remove all events up to to the given time from this list.
| ||
void | truncate_end (timepos_t) | |
void | truncate_start (timecnt_t) | |
Cast | ||
AutomationList | to_automationlist () |
C‡: boost::shared_ptr< Evoral::ControlSet >, boost::weak_ptr< Evoral::ControlSet >
@@ -6927,7 +7333,7 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to CC‡: boost::shared_ptr< Evoral::Note<Temporal::Beats> >, boost::weak_ptr< Evoral::Note<Temporal::Beats> >
@@ -6936,10 +7342,10 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to CC‡: Evoral::ParameterDescriptor
@@ -6968,20 +7374,22 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to CMinimum value (in Hz, for frequencies)
Default value
number of steps, [min,max] (inclusive). <= 1 means continuous. == 2 only min, max. For integer controls this is usually (1 + max - min)
True iff parameter is boolean
Maximum value (in Hz, for frequencies)
C‡: Evoral::Range<long>
+C‡: Temporal::Range
Constructor | ||
---|---|---|
ℂ | Evoral.Range (long, long) | |
Data Members | ||
long | from | |
long | to | |
ℂ | Evoral.Range (timepos_t, timepos_t) | |
Methods | ||
timepos_t | _end () | |
timepos_t | start () |
C‡: boost::shared_ptr< Evoral::Sequence<Temporal::Beats> >, boost::weak_ptr< Evoral::Sequence<Temporal::Beats> >
@@ -7086,10 +7494,16 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to CThis is a pure virtual class to represent a scalar control.
Note that it contains no storage/state for the controllable thing that it represents. Derived classes must provide set_value()/get_value() methods, which will involve (somehow) an actual location to store the value.
In essence, this is an interface, not a class.
Without overriding upper() and lower(), a derived class will function as a control whose value can range between 0 and 1.0.
We express Controllable values in one of three ways: 1. `user' --- as presented to the user (e.g. dB, Hz, etc.) 2. `interface' --- as used in some cases for the UI representation (in order to make controls behave logarithmically). 3. `internal' --- as passed to a processor, track, plugin, or whatever.
Note that in some cases user and internal may be the same (and interface different) e.g. frequency, which is presented to the user and passed to the processor in linear terms, but which needs log scaling in the interface.
In other cases, user and interface may be the same (and internal different) e.g. gain, which is presented to the user in log terms (dB) but passed to the processor as a linear quantity.
Methods | ||
---|---|---|
void | dump_registry () | |
double | get_value () | |
Get `internal' value Returns raw value as used for the plugin/processor control port | ||
bool | isnil () | |
std::string | name () | |
ControllableSet | registered_controllables () | |
Cast | ||
AutomationControl | to_automationcontrol () | |
MPGainControl | to_mpgain () | |
MPToggleControl | to_mptoggle () |
Methods | ||
---|---|---|
std::string | name () |
C‡: Timecode::BBT_Time
+Methods | ||
---|---|---|
long | superclock_ticks_per_second () |
C‡: Temporal::BBT_Offset
+ +Constructor | ||
---|---|---|
ℂ | Temporal.BBT_Offset (unsigned int, unsigned int, unsigned int) | |
Methods | ||
std::string | str () | |
Data Members | ||
int | bars | |
int | beats | |
int | ticks |
C‡: Temporal::BBT_Time
Bar, Beat, Tick Time (i.e. Tempo-Based Time)
Constructor | ||
---|---|---|
ℂ | Timecode.BBT_TIME (unsigned int, unsigned int, unsigned int) | |
ℂ | Temporal.BBT_TIME (unsigned int, unsigned int, unsigned int) | |
Methods | ||
std::string | str () | |
Data Members | ||
int | bars | |
int | beats | |
int | ticks |
C‡: Temporal::Beats
+ +Musical time in beats.
Constructor | ||
---|---|---|
ℂ | Temporal.Beats (int, int) | |
Methods | ||
Beats | beats (long) | |
Beats | diff (Beats) | |
Beats | from_double (double) | |
Beats | next_beat () | |
Beats | prev_beat () | |
Beats | round_down_to_beat () | |
Beats | round_to_beat () | |
Beats | round_up_to_beat () | |
std::string | str () | |
Beats | ticks (long) |
C‡: Temporal::Meter
+ +Meter, or time signature (subdivisions per bar, and which note type is a single subdivision).
Constructor | ||
---|---|---|
ℂ | Temporal.Meter (double, double) | |
Methods | ||
int | divisions_per_bar () | |
int | note_value () |
C‡: Temporal::MeterPoint
+is-a: Temporal:Meter
+ +Meter, or time signature (subdivisions per bar, and which note type is a single subdivision).
Cast | ||
---|---|---|
Point | to_point () |
Constructor | ||
---|---|---|
ℂ | Temporal.Meter (double, double) | |
Methods | ||
int | divisions_per_bar () | |
int | note_value () |
C‡: Temporal::Point
+ +Methods | ||
---|---|---|
BBT_TIME | bbt () | |
Beats | beats () | |
long | sample (int) | |
long | sclock () | |
timepos_t | time () |
C‡: Temporal::Tempo
+ +Tempo, the speed at which musical time progresses (BPM).
Constructor | ||
---|---|---|
ℂ | Temporal.Tempo (double, double, int) | |
Methods | ||
int | note_type () | |
double | note_types_per_minute () | |
double | quarter_notes_per_minute () | |
double | samples_per_note_type (int) | |
double | samples_per_quarter_note (int) | |
long | superclocks_per_note_type () |
C‡: boost::shared_ptr< Temporal::TempoMap >, boost::weak_ptr< Temporal::TempoMap >
+ +Base class for objects with saveable and undoable state with destruction notification
Methods | ||
---|---|---|
void | abort_update () | |
BBT_TIME | bbt_at (timepos_t) | |
BBT_TIME | bbt_at_beats (Beats) | |
timecnt_t | bbt_duration_at (timepos_t, BBT_Offset) | |
BBT_TIME | bbt_walk (BBT_TIME, BBT_Offset) | |
Beats | bbtwalk_to_quarters (Beats, BBT_Offset) | |
Beats | bbtwalk_to_quarters_bbt (BBT_TIME, BBT_Offset) | |
timecnt_t | convert_duration (timecnt_t, timepos_t, TimeDomain) | |
unsigned int | count_bars (Beats, Beats) | |
TempoMap | fetch_writable () | |
bool | isnil () | |
MeterPoint | meter_at (timepos_t) | |
MeterPoint | meter_at_bbt (BBT_TIME) | |
MeterPoint | meter_at_beats (Beats) | |
MeterPoint | meter_at_sc (long) | |
LuaTable(...) | midi_clock_beat_at_or_after (long, long&, unsigned int&) | |
Beats | quarters_at (timepos_t) | |
Beats | quarters_at_bbt (BBT_TIME) | |
Beats | quarters_at_sample (long) | |
double | quarters_per_minute_at (timepos_t) | |
TempoMap | read () | |
BBT_TIME | round_to_bar (BBT_TIME) | |
long | sample_at (timepos_t) | |
long | sample_at_bbt (Beats) | |
long | sample_at_beats (Beats) | |
bool | set_continuing (TempoPoint&, bool) | |
MeterPoint | set_meter (Meter, timepos_t) | |
bool | set_ramped (TempoPoint&, bool) | |
TempoPoint | set_tempo (Tempo, timepos_t) | |
long | superclock_at (timepos_t) | |
long | superclock_at_bbt (BBT_TIME) | |
long | superclock_at_beats (Beats) | |
TempoPoint | tempo_at (timepos_t) | |
TempoPoint | tempo_at_bbt (BBT_TIME) | |
TempoPoint | tempo_at_beats (Beats) | |
TempoPoint | tempo_at_sc (long) | |
int | update (TempoMap) | |
TempoMap | write_copy () |
C‡: Temporal::TempoPoint
+is-a: Temporal:Tempo
+ +Tempo, the speed at which musical time progresses (BPM).
Methods | ||
---|---|---|
Beats | quarters_at_sample (long) | |
timepos_t | time () | |
Cast | ||
Point | to_point () | |
Tempo | to_tempo () |
Constructor | ||
---|---|---|
ℂ | Temporal.Tempo (double, double, int) | |
Methods | ||
int | note_type () | |
double | note_types_per_minute () | |
double | quarter_notes_per_minute () | |
double | samples_per_note_type (int) | |
double | samples_per_quarter_note (int) | |
long | superclocks_per_note_type () |
C‡: Temporal::_ratio_t<long>
+ +Constructor | ||
---|---|---|
ℂ | Temporal.ratio (long, long) | |
Methods | ||
bool | is_unity () | |
bool | is_zero () |
C‡: Temporal::timecnt_t
+ +a timecnt_t measures a duration in a specified time domain and starting at a specific position.
It can be freely converted between time domains, as well as used as the subject of most arithmetic operations.
An important distinction between timepos_t and timecnt_t can be thought of this way: a timepos_t ALWAYS refers to a position relative to the origin of the timeline (technically, the origin in the tempo map used to translate between audio and musical domains). By contrast, a timecnt_t refers to a certain distance beyond some arbitrary (specified) origin. So, a timepos_t of "3 beats" always means "3 beats measured from the timeline origin". A timecnt_t of "3 beats" always come with a position, and so is really "3 beats after <position>".
The ambiguity surrounding operator-() that affects timepos_t does not exist for timecnt_t: all uses of operator-() are intended to compute the result of subtracting one timecnt_t from another which will always result in another timecnt_t of lesser value than the first operand.
Constructor | ||
---|---|---|
ℂ | Temporal.timecnt_t (long) | |
Methods | ||
timecnt_t | abs () | |
Beats | beats () | |
timecnt_t | decrement () | |
timecnt_t | from_samples (long) | |
timecnt_t | from_superclock (long) | |
timecnt_t | from_ticks (long) | |
bool | is_negative () | |
bool | is_positive () | |
bool | is_zero () | |
long | magnitude () | |
timecnt_t | max () | |
timepos_t | origin () | |
timepos_t | position () | |
long | samples () | |
timecnt_t | scale (ratio) | |
timecnt_t | scale (ratio) | |
void | set_position (timepos_t) | |
void | set_time_domain (TimeDomain) | |
std::string | str () | |
long | superclocks () | |
long | ticks () | |
TimeDomain | time_domain () | |
timecnt_t | zero (TimeDomain) |
C‡: Temporal::timepos_t
+ +Constructor | ||
---|---|---|
ℂ | Temporal.timepos_t (long) | |
Methods | ||
Beats | beats () | |
timepos_t | decrement () | |
timecnt_t | distance (timepos_t) | |
timepos_t | from_superclock (long) | |
timepos_t | from_ticks (long) | |
timepos_t | increment () | |
bool | is_beats () | |
bool | is_negative () | |
bool | is_positive () | |
bool | is_superclock () | |
bool | is_zero () | |
timepos_t | max (TimeDomain) | |
long | samples () | |
timepos_t | scale (ratio) | |
timepos_t | smallest_step (TimeDomain) | |
std::string | str () | |
long | superclocks () | |
long | ticks () | |
TimeDomain | time_domain () | |
timepos_t | zero (bool) |
C‡: Timecode::Time
@@ -7575,6 +8223,20 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to C