Ardour  9.0-pre0-582-g084a23a80d
ARDOUR::AudioRegion Class Reference

#include <audioregion.h>

Inheritance diagram for ARDOUR::AudioRegion:
[legend]

Public Member Functions

 ~AudioRegion ()
 
void copy_settings (std::shared_ptr< const AudioRegion >)
 
bool source_equivalent (std::shared_ptr< const Region >) const
 
bool speed_mismatch (float) const
 
std::shared_ptr< AudioSourceaudio_source (uint32_t n=0) const
 
void set_scale_amplitude (gain_t)
 
gain_t scale_amplitude () const
 
void normalize (float, float target_in_dB=0.0f)
 
double maximum_amplitude (PBD::Progress *p=0) const
 
double rms (PBD::Progress *p=0) const
 
bool loudness (float &tp, float &i, float &s, float &m, PBD::Progress *p=0) const
 
bool envelope_active () const
 
bool fade_in_active () const
 
bool fade_out_active () const
 
bool fade_before_fx () const
 
std::shared_ptr< AutomationListfade_in ()
 
std::shared_ptr< AutomationListinverse_fade_in ()
 
std::shared_ptr< AutomationListfade_out ()
 
std::shared_ptr< AutomationListinverse_fade_out ()
 
std::shared_ptr< AutomationListenvelope ()
 
Temporal::Range body_range () const
 
virtual samplecnt_t read_peaks (PeakData *buf, samplecnt_t npeaks, samplecnt_t offset, samplecnt_t cnt, uint32_t chan_n=0, double samples_per_pixel=1.0) const
 
samplecnt_t read (Sample *, samplepos_t pos, samplecnt_t cnt, int channel) const
 
samplecnt_t readable_length_samples () const
 
uint32_t n_channels () const
 
samplecnt_t read_at (Sample *buf, Sample *mixdown_buf, gain_t *gain_buf, samplepos_t position, samplecnt_t cnt, uint32_t chan_n=0) const
 
samplecnt_t master_read_at (Sample *buf, samplepos_t position, samplecnt_t cnt, uint32_t chan_n=0) const
 
samplecnt_t read_raw_internal (Sample *, samplepos_t, samplecnt_t, int channel) const
 
XMLNodestate () const
 
XMLNodeget_basic_state () const
 
int set_state (const XMLNode &, int version)
 
void fade_range (samplepos_t, samplepos_t)
 
bool fade_in_is_default () const
 
bool fade_out_is_default () const
 
void set_fade_in_active (bool yn)
 
void set_fade_in_shape (FadeShape)
 
void set_fade_in_length (samplecnt_t)
 
void set_fade_in (FadeShape, samplecnt_t)
 
void set_fade_in (std::shared_ptr< AutomationList >)
 
void set_fade_out_active (bool yn)
 
void set_fade_out_shape (FadeShape)
 
void set_fade_out_length (samplecnt_t)
 
void set_fade_out (FadeShape, samplecnt_t)
 
void set_fade_out (std::shared_ptr< AutomationList >)
 
void set_default_fade_in ()
 
void set_default_fade_out ()
 
samplecnt_t verify_xfade_bounds (samplecnt_t, bool start)
 
void set_envelope_active (bool yn)
 
void set_default_envelope ()
 
void set_fade_before_fx (bool yn)
 
int separate_by_channel (std::vector< std::shared_ptr< Region > > &) const
 
bool remove_plugin (std::shared_ptr< RegionFxPlugin >)
 
void reorder_plugins (RegionFxList const &)
 
timecnt_t tail () const
 
std::shared_ptr< Evoral::Controlcontrol (const Evoral::Parameter &id, bool create=false)
 
virtual std::shared_ptr< const Evoral::Controlcontrol (const Evoral::Parameter &id) const
 
bool do_export (std::string const &) const
 
void suspend_fade_in ()
 
void suspend_fade_out ()
 
void resume_fade_in ()
 
void resume_fade_out ()
 
void add_transient (samplepos_t where)
 
void remove_transient (samplepos_t where)
 
void clear_transients ()
 
void set_onsets (AnalysisFeatureList &)
 
void get_transients (AnalysisFeatureList &)
 
void update_transient (samplepos_t old_position, samplepos_t new_position)
 
AudioIntervalResult find_silence (Sample, samplecnt_t, samplecnt_t, InterThreadInfo &) const
 
- Public Member Functions inherited from ARDOUR::Region
virtual ~Region ()
 
bool set_name (const std::string &str)
 
PBD::PropertyList derive_properties (bool with_times=true, bool with_envelope=false) const
 
const DataTypedata_type () const
 
Temporal::TimeDomain time_domain () const
 
void start_domain_bounce (Temporal::DomainBounceInfo &)
 
void finish_domain_bounce (Temporal::DomainBounceInfo &)
 
timepos_t position () const
 
timepos_t start () const
 
timecnt_t length () const
 
timepos_t end () const
 
timepos_t nt_last () const
 
timepos_t source_position () const
 
timecnt_t source_relative_position (Temporal::timepos_t const &) const
 
timecnt_t region_relative_position (Temporal::timepos_t const &) const
 
samplepos_t position_sample () const
 
samplecnt_t start_sample () const
 
samplecnt_t length_samples () const
 
layer_t layer () const
 
void set_selected_for_solo (bool yn)
 
timepos_t source_length (uint32_t n) const
 
uint32_t max_source_level () const
 
timepos_t last_position () const
 
timecnt_t last_length () const
 
samplecnt_t ancestral_start_sample () const
 
samplecnt_t ancestral_length_samples () const
 
timepos_t ancestral_start () const
 
timecnt_t ancestral_length () const
 
uint64_t region_group () const
 
void set_region_group (uint64_t rg, bool explicitly=false)
 
void unset_region_group (bool explicitly=false)
 
bool is_explicitly_grouped ()
 
bool is_implicitly_ungrouped ()
 
bool is_explicitly_ungrouped ()
 
float stretch () const
 
float shift () const
 
void set_ancestral_data (timepos_t const &start, timecnt_t const &length, float stretch, float shift)
 
timecnt_t sync_offset (int &dir) const
 
timepos_t sync_position () const
 
timepos_t adjust_to_sync (timepos_t const &) const
 
samplepos_t first_sample () const
 
samplepos_t last_sample () const
 
timepos_t earliest_possible_position () const
 
samplepos_t latest_possible_sample () const
 
Temporal::TimeRange last_range () const
 
Temporal::TimeRange range_samples () const
 
Temporal::TimeRange range () const
 
bool hidden () const
 
bool muted () const
 
bool opaque () const
 
bool locked () const
 
bool position_locked () const
 
bool video_locked () const
 
bool automatic () const
 
bool whole_file () const
 
bool captured () const
 
bool can_move () const
 
bool sync_marked () const
 
bool external () const
 
bool import () const
 
Trimmable::CanTrim can_trim () const
 
Temporal::TimeDomain position_time_domain () const
 
void set_position_time_domain (Temporal::TimeDomain ps)
 
void recompute_position_from_time_domain ()
 
void suspend_property_changes ()
 
bool covers (samplepos_t sample) const
 
bool covers (timepos_t const &pos) const
 
Temporal::OverlapType coverage (timepos_t const &start, timepos_t const &end, bool with_tail=false) const
 
bool exact_equivalent (std::shared_ptr< const Region >) const
 
bool size_equivalent (std::shared_ptr< const Region >) const
 
bool overlap_equivalent (std::shared_ptr< const Region >) const
 
bool enclosed_equivalent (std::shared_ptr< const Region >) const
 
bool layer_and_time_equivalent (std::shared_ptr< const Region >) const
 
bool source_equivalent (std::shared_ptr< const Region >) const
 
bool any_source_equivalent (std::shared_ptr< const Region >) const
 
bool uses_source (std::shared_ptr< const Source >, bool shallow=false) const
 
void deep_sources (std::set< std::shared_ptr< Source > > &) const
 
std::string source_string () const
 
void set_length (timecnt_t const &)
 
void set_start (timepos_t const &)
 
void set_position (timepos_t const &)
 
void set_initial_position (timepos_t const &)
 
void special_set_position (timepos_t const &)
 
virtual void update_after_tempo_map_change (bool send_change=true)
 
void nudge_position (timecnt_t const &)
 
bool at_natural_position () const
 
void move_to_natural_position ()
 
void move_start (timecnt_t const &distance)
 
void trim_front (timepos_t const &new_position)
 
void trim_end (timepos_t const &new_position)
 
void trim_to (timepos_t const &pos, timecnt_t const &length)
 
void cut_front (timepos_t const &new_position)
 
void cut_end (timepos_t const &new_position)
 
void raise ()
 
void lower ()
 
void raise_to_top ()
 
void lower_to_bottom ()
 
void set_sync_position (timepos_t const &n)
 
void clear_sync_position ()
 
void set_hidden (bool yn)
 
void set_muted (bool yn)
 
void set_whole_file (bool yn)
 
void set_automatic (bool yn)
 
void set_opaque (bool yn)
 
void set_locked (bool yn)
 
void set_video_locked (bool yn)
 
void set_position_locked (bool yn)
 
void set_layer (layer_t l)
 
void set_length_unchecked (timecnt_t const &)
 
void set_position_unchecked (timepos_t const &)
 
void modify_front_unchecked (timepos_t const &new_position, bool reset_fade)
 
void modify_end_unchecked (timepos_t const &new_position, bool reset_fade)
 
Temporal::timepos_t region_beats_to_absolute_time (Temporal::Beats beats) const
 
Temporal::timepos_t region_beats_to_region_time (Temporal::Beats beats) const
 
Temporal::Beats region_beats_to_source_beats (Temporal::Beats beats) const
 
Temporal::Beats region_distance_to_region_beats (Temporal::timecnt_t const &) const
 
Temporal::Beats source_beats_to_absolute_beats (Temporal::Beats beats) const
 
Temporal::timepos_t source_beats_to_absolute_time (Temporal::Beats beats) const
 
Temporal::timepos_t source_beats_to_region_time (Temporal::Beats beats) const
 
Temporal::Beats absolute_time_to_source_beats (Temporal::timepos_t const &) const
 
Temporal::Beats absolute_time_to_region_beats (Temporal::timepos_t const &) const
 
Temporal::timepos_t absolute_time_to_region_time (Temporal::timepos_t const &) const
 
int apply (Filter &, PBD::Progress *progress=0)
 
std::shared_ptr< ARDOUR::Playlistplaylist () const
 
virtual void set_playlist (std::weak_ptr< ARDOUR::Playlist >)
 
void source_deleted (std::weak_ptr< Source >)
 
bool is_compound () const
 
std::shared_ptr< Sourcesource (uint32_t n=0) const
 
SourceListsources_for_edit ()
 
const SourceListsources () const
 
const SourceListmaster_sources () const
 
std::vector< std::string > master_source_names ()
 
void set_master_sources (const SourceList &)
 
std::string tags () const
 
virtual bool set_tags (const std::string &str)
 
XMLNodeget_state () const
 
virtual std::shared_ptr< Regionget_parent () const
 
uint64_t layering_index () const
 
void set_layering_index (uint64_t when)
 
virtual bool is_dependent () const
 
virtual bool depends_on (std::shared_ptr< Region >) const
 
void transients (AnalysisFeatureList &)
 
void captured_xruns (XrunPositions &, bool abs=false) const
 
AnalysisFeatureList transients ()
 
bool has_transients () const
 
void maybe_invalidate_transients ()
 
void drop_sources ()
 
void set_changemap (ChangeMap *changemap)
 
void get_cue_markers (CueMarkers &, bool abs=false) const
 
void move_cue_marker (CueMarker const &, timepos_t const &region_relative_position)
 
void rename_cue_marker (CueMarker &, std::string const &)
 
bool load_plugin (ARDOUR::PluginType type, std::string const &name)
 
bool add_plugin (std::shared_ptr< RegionFxPlugin >, std::shared_ptr< RegionFxPlugin > pos=std::shared_ptr< RegionFxPlugin >())
 
bool has_region_fx () const
 
std::shared_ptr< RegionFxPluginnth_plugin (uint32_t n) const
 
void foreach_plugin (std::function< void(std::weak_ptr< RegionFxPlugin >)> method) const
 
- Public Member Functions inherited from ARDOUR::SessionObject
 SessionObject (Session &session, const std::string &name)
 
Sessionsession () const
 
std::string name () const
 
- Public Member Functions inherited from ARDOUR::SessionHandleRef
 SessionHandleRef (ARDOUR::Session &s)
 
virtual ~SessionHandleRef ()
 
- Public Member Functions inherited from PBD::ScopedConnectionList
 ScopedConnectionList ()
 
 ScopedConnectionList (const ScopedConnectionList &)=delete
 
ScopedConnectionListoperator= (const ScopedConnectionList &)=delete
 
virtual ~ScopedConnectionList ()
 
void add_connection (const UnscopedConnection &c)
 
void drop_connections ()
 
- Public Member Functions inherited from PBD::Stateful
 Stateful ()
 
virtual ~Stateful ()
 
virtual bool apply_change (PropertyBase const &)
 
PropertyChange apply_changes (PropertyList const &)
 
const OwnedPropertyListproperties () const
 
void add_property (PropertyBase &s)
 
void add_extra_xml (XMLNode &)
 
XMLNodeextra_xml (const std::string &str, bool add_if_missing=false)
 
void save_extra_xml (const XMLNode &)
 
const PBD::IDid () const
 
bool set_id (const XMLNode &)
 
void set_id (const std::string &)
 
void reset_id ()
 
void clear_changes ()
 
virtual void clear_owned_changes ()
 
PropertyListget_changes_as_properties (PBD::Command *) const
 
virtual void rdiff (std::vector< PBD::Command * > &) const
 
bool changed () const
 
virtual PropertyListproperty_factory (const XMLNode &) const
 
virtual void resume_property_changes ()
 
bool property_changes_suspended () const
 
- Public Member Functions inherited from PBD::Destructible
virtual ~Destructible ()
 
virtual void drop_references ()
 
- Public Member Functions inherited from ARDOUR::Trimmable
 Trimmable ()
 
virtual ~Trimmable ()
 
- Public Member Functions inherited from ARDOUR::Movable
 Movable ()
 
bool locked () const
 
- Public Member Functions inherited from Temporal::TimeDomainSwapper
virtual ~TimeDomainSwapper ()
 
- Public Member Functions inherited from ARDOUR::AudioReadable
virtual ~AudioReadable ()
 

Static Public Member Functions

static void make_property_quarks ()
 
- Static Public Member Functions inherited from ARDOUR::Region
static void make_property_quarks ()
 
static uint64_t next_group_id ()
 
static void set_next_group_id (uint64_t ngid)
 
static uint64_t get_retained_group_id (uint64_t take=0)
 
static uint64_t get_region_operation_group_id (uint64_t old_region_group, RegionOperationFlag flags)
 
- Static Public Member Functions inherited from ARDOUR::SessionObject
static void make_property_quarks ()
 
- Static Public Member Functions inherited from ARDOUR::AudioReadable
static std::vector< std::shared_ptr< AudioReadable > > load (Session &, std::string const &)
 

Protected Member Functions

 AudioRegion (Session &s, timepos_t const &, timecnt_t const &, std::string name)
 
bool _add_plugin (std::shared_ptr< RegionFxPlugin >, std::shared_ptr< RegionFxPlugin >, bool)
 
int _set_state (const XMLNode &, int version, PBD::PropertyChange &what_changed, bool send_signal)
 
void send_change (const PBD::PropertyChange &)
 
- Protected Member Functions inherited from ARDOUR::Region
 Region (const SourceList &srcs)
 
 Region (std::shared_ptr< const Region >)
 
 Region (std::shared_ptr< const Region >, timecnt_t const &start_offset)
 
 Region (std::shared_ptr< const Region >, const SourceList &)
 
 Region (Session &s, timepos_t const &start, timecnt_t const &length, const std::string &name, DataType)
 
virtual bool can_trim_start_before_source_start () const
 
virtual void set_position_internal (timepos_t const &pos)
 
virtual void set_length_internal (timecnt_t const &)
 
virtual void set_start_internal (timepos_t const &)
 
bool verify_start_and_length (timepos_t const &, timecnt_t &)
 
void first_edit ()
 
void override_opaqueness (bool yn)
 
timepos_t len_as_tpos () const
 
void merge_features (AnalysisFeatureList &, const AnalysisFeatureList &, const sampleoffset_t) const
 
- Protected Member Functions inherited from ARDOUR::SessionHandleRef
virtual void session_going_away ()
 
virtual void insanity_check ()
 
- Protected Member Functions inherited from PBD::Stateful
void add_instant_xml (XMLNode &, const std::string &directory_path)
 
XMLNodeinstant_xml (const std::string &str, const std::string &directory_path)
 
void add_properties (XMLNode &) const
 
PropertyChange set_values (XMLNode const &)
 
bool regenerate_xml_or_string_ids () const
 

Private Member Functions

 AudioRegion (std::shared_ptr< AudioSource >)
 
 AudioRegion (const SourceList &)
 
 AudioRegion (std::shared_ptr< const AudioRegion >)
 
 AudioRegion (std::shared_ptr< const AudioRegion >, timecnt_t const &offset)
 
 AudioRegion (std::shared_ptr< const AudioRegion >, const SourceList &)
 
 AudioRegion (SourceList &)
 
void build_transients ()
 
void register_properties ()
 
void post_set (const PBD::PropertyChange &)
 
void init ()
 
void set_default_fades ()
 
void recompute_gain_at_end ()
 
void recompute_gain_at_start ()
 
samplecnt_t read_from_sources (SourceList const &, samplecnt_t, Sample *, samplepos_t, samplecnt_t, uint32_t) const
 
void recompute_at_start ()
 
void recompute_at_end ()
 
void envelope_changed ()
 
void fade_in_changed ()
 
void fade_out_changed ()
 
void source_offset_changed ()
 
void listen_to_my_curves ()
 
void connect_to_analysis_changed ()
 
void connect_to_header_position_offset_changed ()
 
std::shared_ptr< ARDOUR::Regionget_single_other_xfade_region (bool start) const
 
void apply_region_fx (BufferSet &, samplepos_t, samplepos_t, samplecnt_t)
 
void fx_latency_changed (bool no_emit)
 
void fx_tail_changed (bool no_emit)
 
void copy_plugin_state (std::shared_ptr< const AudioRegion >)
 

Private Attributes

PBD::Property< bool > _envelope_active
 
PBD::Property< bool > _default_fade_in
 
PBD::Property< bool > _default_fade_out
 
PBD::Property< bool > _fade_in_active
 
PBD::Property< bool > _fade_out_active
 
PBD::Property< bool > _fade_before_fx
 
PBD::Property< gain_t_scale_amplitude
 
AutomationListProperty _fade_in
 
AutomationListProperty _inverse_fade_in
 
AutomationListProperty _fade_out
 
AutomationListProperty _inverse_fade_out
 
AutomationListProperty _envelope
 
Automatable _automatable
 
uint32_t _fade_in_suspended
 
uint32_t _fade_out_suspended
 
samplepos_t _fx_pos
 
pframes_t _fx_block_size
 
bool _fx_latent_read
 
Glib::Threads::Mutex _cache_lock
 
BufferSet _readcache
 
samplepos_t _cache_start
 
samplepos_t _cache_end
 
samplecnt_t _cache_tail
 
std::atomic< bool > _invalidated
 

Friends

class RegionFactory
 
class ::AudioRegionReadTest
 
class ::PlaylistReadTest
 

Additional Inherited Members

- Public Types inherited from ARDOUR::Region
typedef std::vector< std::shared_ptr< Source > > SourceList
 
typedef std::list< std::shared_ptr< RegionFxPlugin > > RegionFxList
 
typedef std::map< PBD::PropertyChange, RegionListChangeMap
 
- Public Types inherited from ARDOUR::Trimmable
enum  CanTrim {
  FrontTrimEarlier = 0x1 , FrontTrimLater = 0x2 , EndTrimEarlier = 0x4 , EndTrimLater = 0x8 ,
  TopTrimUp = 0x10 , TopTrimDown = 0x20 , BottomTrimUp = 0x40 , BottomTrimDown = 0x80
}
 
- Public Attributes inherited from ARDOUR::Region
PBD::Signal< void()> RegionFxChanged
 
- Public Attributes inherited from PBD::Stateful
PBD::Signal< void(const PropertyChange &)> PropertyChanged
 
- Public Attributes inherited from PBD::Destructible
PBD::Signal< void()> Destroyed
 
PBD::Signal< void()> DropReferences
 
- Static Public Attributes inherited from ARDOUR::Region
static PBD::Signal< void(std::shared_ptr< RegionList >, const PBD::PropertyChange &)> RegionsPropertyChanged
 
- Static Public Attributes inherited from PBD::Stateful
static int current_state_version
 
static int loading_state_version
 
- Protected Attributes inherited from ARDOUR::Region
DataType _type
 
Glib::Threads::RWLock _fx_lock
 
uint32_t _fx_latency
 
uint32_t _fx_tail
 
RegionFxList _plugins
 
PBD::Property< bool > _sync_marked
 
PBD::Property< bool > _left_of_split
 
PBD::Property< bool > _right_of_split
 
PBD::Property< bool > _valid_transients
 
PBD::Property< timepos_t_start
 
PBD::Property< timecnt_t_length
 
PBD::Property< timepos_t_sync_position
 
SourceList _sources
 
SourceList _master_sources
 
std::weak_ptr< ARDOUR::Playlist_playlist
 
AnalysisFeatureList _onsets
 
AnalysisFeatureList _user_transients
 
samplepos_t _transient_user_start
 
AnalysisFeatureList _transients
 
samplepos_t _transient_analysis_start
 
samplepos_t _transient_analysis_end
 
bool _soloSelected
 
- Protected Attributes inherited from ARDOUR::SessionObject
PBD::Property< std::string > _name
 
- Protected Attributes inherited from ARDOUR::SessionHandleRef
ARDOUR::Session_session
 
- Protected Attributes inherited from PBD::Stateful
XMLNode_extra_xml
 
XMLNode_instant_xml
 
PBD::PropertyChange _pending_changed
 
Glib::Threads::Mutex _lock
 
std::string _xml_node_name
 name of node to use for this object in XML More...
 
OwnedPropertyList_properties
 

Detailed Description

Definition at line 68 of file audioregion.h.

Constructor & Destructor Documentation

◆ ~AudioRegion()

ARDOUR::AudioRegion::~AudioRegion ( )

◆ AudioRegion() [1/7]

ARDOUR::AudioRegion::AudioRegion ( std::shared_ptr< AudioSource )
private

◆ AudioRegion() [2/7]

ARDOUR::AudioRegion::AudioRegion ( const SourceList )
private

◆ AudioRegion() [3/7]

ARDOUR::AudioRegion::AudioRegion ( std::shared_ptr< const AudioRegion )
private

◆ AudioRegion() [4/7]

ARDOUR::AudioRegion::AudioRegion ( std::shared_ptr< const AudioRegion ,
timecnt_t const &  offset 
)
private

◆ AudioRegion() [5/7]

ARDOUR::AudioRegion::AudioRegion ( std::shared_ptr< const AudioRegion ,
const SourceList  
)
private

◆ AudioRegion() [6/7]

ARDOUR::AudioRegion::AudioRegion ( SourceList )
private

◆ AudioRegion() [7/7]

ARDOUR::AudioRegion::AudioRegion ( Session s,
timepos_t const &  ,
timecnt_t const &  ,
std::string  name 
)
protected

Member Function Documentation

◆ _add_plugin()

bool ARDOUR::AudioRegion::_add_plugin ( std::shared_ptr< RegionFxPlugin ,
std::shared_ptr< RegionFxPlugin ,
bool   
)
protectedvirtual

Reimplemented from ARDOUR::Region.

◆ _set_state()

int ARDOUR::AudioRegion::_set_state ( const XMLNode ,
int  version,
PBD::PropertyChange what_changed,
bool  send_signal 
)
protectedvirtual

Reimplemented from ARDOUR::Region.

◆ add_transient()

void ARDOUR::AudioRegion::add_transient ( samplepos_t  where)
virtual

Reimplemented from ARDOUR::Region.

◆ apply_region_fx()

void ARDOUR::AudioRegion::apply_region_fx ( BufferSet ,
samplepos_t  ,
samplepos_t  ,
samplecnt_t   
)
private

◆ audio_source()

std::shared_ptr<AudioSource> ARDOUR::AudioRegion::audio_source ( uint32_t  n = 0) const

◆ body_range()

Temporal::Range ARDOUR::AudioRegion::body_range ( ) const

◆ build_transients()

void ARDOUR::AudioRegion::build_transients ( )
private

◆ clear_transients()

void ARDOUR::AudioRegion::clear_transients ( )
virtual

Reimplemented from ARDOUR::Region.

◆ connect_to_analysis_changed()

void ARDOUR::AudioRegion::connect_to_analysis_changed ( )
private

◆ connect_to_header_position_offset_changed()

void ARDOUR::AudioRegion::connect_to_header_position_offset_changed ( )
private

◆ control() [1/2]

virtual std::shared_ptr<const Evoral::Control> ARDOUR::AudioRegion::control ( const Evoral::Parameter id) const
inlinevirtual

Implements ARDOUR::Region.

Definition at line 183 of file audioregion.h.

◆ control() [2/2]

std::shared_ptr<Evoral::Control> ARDOUR::AudioRegion::control ( const Evoral::Parameter id,
bool  create = false 
)
inlinevirtual

Implements ARDOUR::Region.

Definition at line 178 of file audioregion.h.

◆ copy_plugin_state()

void ARDOUR::AudioRegion::copy_plugin_state ( std::shared_ptr< const AudioRegion )
private

◆ copy_settings()

void ARDOUR::AudioRegion::copy_settings ( std::shared_ptr< const AudioRegion )

◆ do_export()

bool ARDOUR::AudioRegion::do_export ( std::string const &  ) const
virtual

Implements ARDOUR::Region.

◆ envelope()

std::shared_ptr<AutomationList> ARDOUR::AudioRegion::envelope ( )
inline

Definition at line 109 of file audioregion.h.

◆ envelope_active()

bool ARDOUR::AudioRegion::envelope_active ( ) const
inline

Definition at line 100 of file audioregion.h.

◆ envelope_changed()

void ARDOUR::AudioRegion::envelope_changed ( )
private

◆ fade_before_fx()

bool ARDOUR::AudioRegion::fade_before_fx ( ) const
inline

Definition at line 103 of file audioregion.h.

◆ fade_in()

std::shared_ptr<AutomationList> ARDOUR::AudioRegion::fade_in ( )
inline

Definition at line 105 of file audioregion.h.

◆ fade_in_active()

bool ARDOUR::AudioRegion::fade_in_active ( ) const
inline

Definition at line 101 of file audioregion.h.

◆ fade_in_changed()

void ARDOUR::AudioRegion::fade_in_changed ( )
private

◆ fade_in_is_default()

bool ARDOUR::AudioRegion::fade_in_is_default ( ) const

◆ fade_out()

std::shared_ptr<AutomationList> ARDOUR::AudioRegion::fade_out ( )
inline

Definition at line 107 of file audioregion.h.

◆ fade_out_active()

bool ARDOUR::AudioRegion::fade_out_active ( ) const
inline

Definition at line 102 of file audioregion.h.

◆ fade_out_changed()

void ARDOUR::AudioRegion::fade_out_changed ( )
private

◆ fade_out_is_default()

bool ARDOUR::AudioRegion::fade_out_is_default ( ) const

◆ fade_range()

void ARDOUR::AudioRegion::fade_range ( samplepos_t  ,
samplepos_t   
)
virtual

Reimplemented from ARDOUR::Region.

◆ find_silence()

AudioIntervalResult ARDOUR::AudioRegion::find_silence ( Sample  ,
samplecnt_t  ,
samplecnt_t  ,
InterThreadInfo  
) const

◆ fx_latency_changed()

void ARDOUR::AudioRegion::fx_latency_changed ( bool  no_emit)
privatevirtual

Reimplemented from ARDOUR::Region.

◆ fx_tail_changed()

void ARDOUR::AudioRegion::fx_tail_changed ( bool  no_emit)
privatevirtual

Reimplemented from ARDOUR::Region.

◆ get_basic_state()

XMLNode& ARDOUR::AudioRegion::get_basic_state ( ) const

◆ get_single_other_xfade_region()

std::shared_ptr<ARDOUR::Region> ARDOUR::AudioRegion::get_single_other_xfade_region ( bool  start) const
private

◆ get_transients()

void ARDOUR::AudioRegion::get_transients ( AnalysisFeatureList )
virtual

merges _onsets OR _transients with _user_transients into given list if _onsets and _transients are unset, run analysis. list is not thinned, duplicates remain in place.

intended for: Playlist::find_next_transient ()

Reimplemented from ARDOUR::Region.

◆ init()

void ARDOUR::AudioRegion::init ( )
private

◆ inverse_fade_in()

std::shared_ptr<AutomationList> ARDOUR::AudioRegion::inverse_fade_in ( )
inline

Definition at line 106 of file audioregion.h.

◆ inverse_fade_out()

std::shared_ptr<AutomationList> ARDOUR::AudioRegion::inverse_fade_out ( )
inline

Definition at line 108 of file audioregion.h.

◆ listen_to_my_curves()

void ARDOUR::AudioRegion::listen_to_my_curves ( )
private

◆ loudness()

bool ARDOUR::AudioRegion::loudness ( float &  tp,
float &  i,
float &  s,
float &  m,
PBD::Progress p = 0 
) const

◆ make_property_quarks()

static void ARDOUR::AudioRegion::make_property_quarks ( )
static

◆ master_read_at()

samplecnt_t ARDOUR::AudioRegion::master_read_at ( Sample buf,
samplepos_t  position,
samplecnt_t  cnt,
uint32_t  chan_n = 0 
) const

◆ maximum_amplitude()

double ARDOUR::AudioRegion::maximum_amplitude ( PBD::Progress p = 0) const
Returns
the maximum (linear) amplitude of the region, or a -ve number if the Progress object reports that the process was cancelled.

◆ n_channels()

uint32_t ARDOUR::AudioRegion::n_channels ( ) const
inlinevirtual

Implements ARDOUR::AudioReadable.

Definition at line 121 of file audioregion.h.

◆ normalize()

void ARDOUR::AudioRegion::normalize ( float  ,
float  target_in_dB = 0.0f 
)

◆ post_set()

void ARDOUR::AudioRegion::post_set ( const PBD::PropertyChange )
privatevirtual

Reimplemented from PBD::Stateful.

◆ read()

samplecnt_t ARDOUR::AudioRegion::read ( Sample ,
samplepos_t  pos,
samplecnt_t  cnt,
int  channel 
) const
virtual

Implements ARDOUR::AudioReadable.

◆ read_at()

samplecnt_t ARDOUR::AudioRegion::read_at ( Sample buf,
Sample mixdown_buf,
gain_t gain_buf,
samplepos_t  position,
samplecnt_t  cnt,
uint32_t  chan_n = 0 
) const

◆ read_from_sources()

samplecnt_t ARDOUR::AudioRegion::read_from_sources ( SourceList const &  ,
samplecnt_t  ,
Sample ,
samplepos_t  ,
samplecnt_t  ,
uint32_t   
) const
private

◆ read_peaks()

virtual samplecnt_t ARDOUR::AudioRegion::read_peaks ( PeakData buf,
samplecnt_t  npeaks,
samplecnt_t  offset,
samplecnt_t  cnt,
uint32_t  chan_n = 0,
double  samples_per_pixel = 1.0 
) const
virtual

◆ read_raw_internal()

samplecnt_t ARDOUR::AudioRegion::read_raw_internal ( Sample ,
samplepos_t  ,
samplecnt_t  ,
int  channel 
) const

◆ readable_length_samples()

samplecnt_t ARDOUR::AudioRegion::readable_length_samples ( ) const
inlinevirtual

Implements ARDOUR::AudioReadable.

Definition at line 120 of file audioregion.h.

◆ recompute_at_end()

void ARDOUR::AudioRegion::recompute_at_end ( )
privatevirtual

Implements ARDOUR::Region.

◆ recompute_at_start()

void ARDOUR::AudioRegion::recompute_at_start ( )
privatevirtual

Implements ARDOUR::Region.

◆ recompute_gain_at_end()

void ARDOUR::AudioRegion::recompute_gain_at_end ( )
private

◆ recompute_gain_at_start()

void ARDOUR::AudioRegion::recompute_gain_at_start ( )
private

◆ register_properties()

void ARDOUR::AudioRegion::register_properties ( )
private

◆ remove_plugin()

bool ARDOUR::AudioRegion::remove_plugin ( std::shared_ptr< RegionFxPlugin )
virtual

Reimplemented from ARDOUR::Region.

◆ remove_transient()

void ARDOUR::AudioRegion::remove_transient ( samplepos_t  where)
virtual

Reimplemented from ARDOUR::Region.

◆ reorder_plugins()

void ARDOUR::AudioRegion::reorder_plugins ( RegionFxList const &  )
virtual

Reimplemented from ARDOUR::Region.

◆ resume_fade_in()

void ARDOUR::AudioRegion::resume_fade_in ( )

◆ resume_fade_out()

void ARDOUR::AudioRegion::resume_fade_out ( )

◆ rms()

double ARDOUR::AudioRegion::rms ( PBD::Progress p = 0) const
Returns
the maximum (rms) signal power of the region, or a -1 if the Progress object reports that the process was cancelled.

◆ scale_amplitude()

gain_t ARDOUR::AudioRegion::scale_amplitude ( ) const
inline

Definition at line 84 of file audioregion.h.

◆ send_change()

void ARDOUR::AudioRegion::send_change ( const PBD::PropertyChange )
protectedvirtual

Reimplemented from ARDOUR::Region.

◆ separate_by_channel()

int ARDOUR::AudioRegion::separate_by_channel ( std::vector< std::shared_ptr< Region > > &  ) const
virtual

Reimplemented from ARDOUR::Region.

◆ set_default_envelope()

void ARDOUR::AudioRegion::set_default_envelope ( )

◆ set_default_fade_in()

void ARDOUR::AudioRegion::set_default_fade_in ( )

◆ set_default_fade_out()

void ARDOUR::AudioRegion::set_default_fade_out ( )

◆ set_default_fades()

void ARDOUR::AudioRegion::set_default_fades ( )
private

◆ set_envelope_active()

void ARDOUR::AudioRegion::set_envelope_active ( bool  yn)

◆ set_fade_before_fx()

void ARDOUR::AudioRegion::set_fade_before_fx ( bool  yn)

◆ set_fade_in() [1/2]

void ARDOUR::AudioRegion::set_fade_in ( FadeShape  ,
samplecnt_t   
)

◆ set_fade_in() [2/2]

void ARDOUR::AudioRegion::set_fade_in ( std::shared_ptr< AutomationList )

◆ set_fade_in_active()

void ARDOUR::AudioRegion::set_fade_in_active ( bool  yn)

◆ set_fade_in_length()

void ARDOUR::AudioRegion::set_fade_in_length ( samplecnt_t  )

◆ set_fade_in_shape()

void ARDOUR::AudioRegion::set_fade_in_shape ( FadeShape  )

◆ set_fade_out() [1/2]

void ARDOUR::AudioRegion::set_fade_out ( FadeShape  ,
samplecnt_t   
)

◆ set_fade_out() [2/2]

void ARDOUR::AudioRegion::set_fade_out ( std::shared_ptr< AutomationList )

◆ set_fade_out_active()

void ARDOUR::AudioRegion::set_fade_out_active ( bool  yn)

◆ set_fade_out_length()

void ARDOUR::AudioRegion::set_fade_out_length ( samplecnt_t  )

◆ set_fade_out_shape()

void ARDOUR::AudioRegion::set_fade_out_shape ( FadeShape  )

◆ set_onsets()

void ARDOUR::AudioRegion::set_onsets ( AnalysisFeatureList )
virtual

Reimplemented from ARDOUR::Region.

◆ set_scale_amplitude()

void ARDOUR::AudioRegion::set_scale_amplitude ( gain_t  )

◆ set_state()

int ARDOUR::AudioRegion::set_state ( const XMLNode ,
int  version 
)
virtual

Reimplemented from ARDOUR::Region.

◆ source_equivalent()

bool ARDOUR::AudioRegion::source_equivalent ( std::shared_ptr< const Region ) const

◆ source_offset_changed()

void ARDOUR::AudioRegion::source_offset_changed ( )
private

◆ speed_mismatch()

bool ARDOUR::AudioRegion::speed_mismatch ( float  ) const

◆ state()

XMLNode& ARDOUR::AudioRegion::state ( ) const
virtual

Reimplemented from ARDOUR::Region.

◆ suspend_fade_in()

void ARDOUR::AudioRegion::suspend_fade_in ( )

◆ suspend_fade_out()

void ARDOUR::AudioRegion::suspend_fade_out ( )

◆ tail()

timecnt_t ARDOUR::AudioRegion::tail ( ) const
virtual

Reimplemented from ARDOUR::Region.

◆ update_transient()

void ARDOUR::AudioRegion::update_transient ( samplepos_t  old_position,
samplepos_t  new_position 
)
virtual

Reimplemented from ARDOUR::Region.

◆ verify_xfade_bounds()

samplecnt_t ARDOUR::AudioRegion::verify_xfade_bounds ( samplecnt_t  ,
bool  start 
)

Friends And Related Function Documentation

◆ ::AudioRegionReadTest

friend class ::AudioRegionReadTest
friend

Definition at line 218 of file audioregion.h.

◆ ::PlaylistReadTest

friend class ::PlaylistReadTest
friend

Definition at line 219 of file audioregion.h.

◆ RegionFactory

friend class RegionFactory
friend

Definition at line 208 of file audioregion.h.

Member Data Documentation

◆ _automatable

Automatable ARDOUR::AudioRegion::_automatable
private

Definition at line 260 of file audioregion.h.

◆ _cache_end

samplepos_t ARDOUR::AudioRegion::_cache_end
mutableprivate

Definition at line 278 of file audioregion.h.

◆ _cache_lock

Glib::Threads::Mutex ARDOUR::AudioRegion::_cache_lock
mutableprivate

Definition at line 275 of file audioregion.h.

◆ _cache_start

samplepos_t ARDOUR::AudioRegion::_cache_start
mutableprivate

Definition at line 277 of file audioregion.h.

◆ _cache_tail

samplecnt_t ARDOUR::AudioRegion::_cache_tail
mutableprivate

Definition at line 279 of file audioregion.h.

◆ _default_fade_in

PBD::Property<bool> ARDOUR::AudioRegion::_default_fade_in
private

Definition at line 224 of file audioregion.h.

◆ _default_fade_out

PBD::Property<bool> ARDOUR::AudioRegion::_default_fade_out
private

Definition at line 225 of file audioregion.h.

◆ _envelope

AutomationListProperty ARDOUR::AudioRegion::_envelope
private

Definition at line 259 of file audioregion.h.

◆ _envelope_active

PBD::Property<bool> ARDOUR::AudioRegion::_envelope_active
private

Definition at line 223 of file audioregion.h.

◆ _fade_before_fx

PBD::Property<bool> ARDOUR::AudioRegion::_fade_before_fx
private

Definition at line 228 of file audioregion.h.

◆ _fade_in

AutomationListProperty ARDOUR::AudioRegion::_fade_in
private

Definition at line 255 of file audioregion.h.

◆ _fade_in_active

PBD::Property<bool> ARDOUR::AudioRegion::_fade_in_active
private

Definition at line 226 of file audioregion.h.

◆ _fade_in_suspended

uint32_t ARDOUR::AudioRegion::_fade_in_suspended
private

Definition at line 261 of file audioregion.h.

◆ _fade_out

AutomationListProperty ARDOUR::AudioRegion::_fade_out
private

Definition at line 257 of file audioregion.h.

◆ _fade_out_active

PBD::Property<bool> ARDOUR::AudioRegion::_fade_out_active
private

Definition at line 227 of file audioregion.h.

◆ _fade_out_suspended

uint32_t ARDOUR::AudioRegion::_fade_out_suspended
private

Definition at line 262 of file audioregion.h.

◆ _fx_block_size

pframes_t ARDOUR::AudioRegion::_fx_block_size
private

Definition at line 272 of file audioregion.h.

◆ _fx_latent_read

bool ARDOUR::AudioRegion::_fx_latent_read
mutableprivate

Definition at line 273 of file audioregion.h.

◆ _fx_pos

samplepos_t ARDOUR::AudioRegion::_fx_pos
mutableprivate

Definition at line 271 of file audioregion.h.

◆ _invalidated

std::atomic<bool> ARDOUR::AudioRegion::_invalidated
mutableprivate

Definition at line 280 of file audioregion.h.

◆ _inverse_fade_in

AutomationListProperty ARDOUR::AudioRegion::_inverse_fade_in
private

Definition at line 256 of file audioregion.h.

◆ _inverse_fade_out

AutomationListProperty ARDOUR::AudioRegion::_inverse_fade_out
private

Definition at line 258 of file audioregion.h.

◆ _readcache

BufferSet ARDOUR::AudioRegion::_readcache
mutableprivate

Definition at line 276 of file audioregion.h.

◆ _scale_amplitude

PBD::Property<gain_t> ARDOUR::AudioRegion::_scale_amplitude
private

linear gain to apply to the whole region

Definition at line 230 of file audioregion.h.


The documentation for this class was generated from the following file: