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

#include <location.h>

Inheritance diagram for ARDOUR::Location:
[legend]

Classes

class  ChangeSuspender
 

Public Types

enum  Flags {
  IsMark = 0x1 , IsAutoPunch = 0x2 , IsAutoLoop = 0x4 , IsHidden = 0x8 ,
  IsCDMarker = 0x10 , IsRangeMarker = 0x20 , IsSessionRange = 0x40 , IsSkip = 0x80 ,
  IsSkipping = 0x100 , IsClockOrigin = 0x200 , IsXrun = 0x400 , IsCueMarker = 0x800 ,
  IsSection = 0x1000 , IsScene = 0x2000
}
 

Public Member Functions

 Location (Session &)
 
 Location (Session &, Temporal::timepos_t const &, Temporal::timepos_t const &, const std::string &, Flags bits=Flags(0), int32_t cue_id=0)
 
 Location (Location const &other, bool no_signal)
 
 Location (Session &, const XMLNode &)
 
Locationoperator= (const Location &other)
 
bool operator== (const Location &other)
 
bool locked () const
 
void lock ()
 
void unlock ()
 
int64_t timestamp () const
 
timepos_t start () const
 
timepos_t end () const
 
timecnt_t length () const
 
samplepos_t start_sample () const
 
samplepos_t end_sample () const
 
samplecnt_t length_samples () const
 
int set_start (timepos_t const &s, bool force=false)
 
int set_end (timepos_t const &e, bool force=false)
 
int set (timepos_t const &start, timepos_t const &end)
 
int move_to (timepos_t const &pos)
 
const std::string & name () const
 
void set_name (const std::string &str)
 
void set_auto_punch (bool yn, void *src)
 
void set_auto_loop (bool yn, void *src)
 
void set_hidden (bool yn, void *src)
 
void set_cd (bool yn, void *src)
 
void set_cue (bool yn, void *src)
 
void set_is_range_marker (bool yn, void *src)
 
void set_is_clock_origin (bool yn, void *src)
 
void set_skip (bool yn)
 
void set_skipping (bool yn)
 
void set_section (bool yn)
 
bool is_auto_punch () const
 
bool is_auto_loop () const
 
bool is_mark () const
 
bool is_hidden () const
 
bool is_cd_marker () const
 
bool is_cue_marker () const
 
bool is_session_range () const
 
bool is_range_marker () const
 
bool is_skip () const
 
bool is_clock_origin () const
 
bool is_skipping () const
 
bool is_xrun () const
 
bool is_section () const
 
bool is_scene () const
 
bool matches (Flags f) const
 
bool is_range () const
 
Flags flags () const
 
std::shared_ptr< SceneChangescene_change () const
 
void set_scene_change (std::shared_ptr< SceneChange >)
 
int32_t cue_id () const
 
void set_cue_id (int32_t)
 
XMLNodeget_state () const
 
int set_state (const XMLNode &, int version)
 
Temporal::TimeDomain position_time_domain () const
 
void start_domain_bounce (Temporal::DomainBounceInfo &)
 
void finish_domain_bounce (Temporal::DomainBounceInfo &)
 
void set_time_domain (Temporal::TimeDomain)
 
- 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 suspend_property_changes ()
 
virtual void resume_property_changes ()
 
bool property_changes_suspended () const
 
- Public Member Functions inherited from PBD::Destructible
virtual ~Destructible ()
 
virtual void drop_references ()
 

Static Public Member Functions

static XMLNodecd_info_node (const std::string &, const std::string &)
 

Public Attributes

PBD::Signal< void()> Changed
 
PBD::Signal< void()> NameChanged
 
PBD::Signal< void()> EndChanged
 
PBD::Signal< void()> StartChanged
 
PBD::Signal< void()> FlagsChanged
 
PBD::Signal< void()> LockChanged
 
PBD::Signal< void()> CueChanged
 
PBD::Signal< void()> SceneChanged
 
PBD::Signal< void()> TimeDomainChanged
 
std::map< std::string, std::string > cd_info
 
- 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

static PBD::Signal< void(Location *)> name_changed
 
static PBD::Signal< void(Location *)> end_changed
 
static PBD::Signal< void(Location *)> start_changed
 
static PBD::Signal< void(Location *)> flags_changed
 
static PBD::Signal< void(Location *)> lock_changed
 
static PBD::Signal< void(Location *)> cue_change
 
static PBD::Signal< void(Location *)> scene_changed
 
static PBD::Signal< void(Location *)> time_domain_changed
 
static PBD::Signal< void(Location *)> changed
 
- Static Public Attributes inherited from PBD::Stateful
static int current_state_version
 
static int loading_state_version
 

Protected Member Functions

void suspend_signals ()
 
void resume_signals ()
 
- 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 &)
 
virtual void post_set (const PropertyChange &)
 
virtual void send_change (const PropertyChange &)
 
virtual void mid_thaw (const PropertyChange &)
 
bool regenerate_xml_or_string_ids () const
 

Private Types

enum  Signal {
  Name , StartEnd , End , Start ,
  Flag , Lock , Cue , Scene ,
  Domain
}
 

Private Member Functions

 Location (Location const &)
 
void set_mark (bool yn)
 
bool set_flag_internal (bool yn, Flags flag)
 
void emit_signal (Signal)
 
void actually_emit_signal (Signal)
 
void set_position_time_domain (Temporal::TimeDomain)
 

Private Attributes

std::string _name
 
timepos_t _start
 
timepos_t _end
 
Flags _flags
 
bool _locked
 
int64_t _timestamp
 
int32_t _cue
 
uint32_t _signals_suspended
 
std::set< Signal_postponed_signals
 
std::shared_ptr< SceneChange_scene_change
 

Friends

class ChangeSuspender
 

Additional Inherited Members

- 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

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

Definition at line 54 of file location.h.

Member Enumeration Documentation

◆ Flags

Enumerator
IsMark 
IsAutoPunch 
IsAutoLoop 
IsHidden 
IsCDMarker 
IsRangeMarker 
IsSessionRange 
IsSkip 
IsSkipping 
IsClockOrigin 
IsXrun 
IsCueMarker 
IsSection 
IsScene 

Definition at line 57 of file location.h.

◆ Signal

Enumerator
Name 
StartEnd 
End 
Start 
Flag 
Lock 
Cue 
Scene 
Domain 

Definition at line 215 of file location.h.

Constructor & Destructor Documentation

◆ Location() [1/5]

ARDOUR::Location::Location ( Session )

◆ Location() [2/5]

ARDOUR::Location::Location ( Session ,
Temporal::timepos_t const &  ,
Temporal::timepos_t const &  ,
const std::string &  ,
Flags  bits = Flags(0),
int32_t  cue_id = 0 
)

◆ Location() [3/5]

ARDOUR::Location::Location ( Location const &  other,
bool  no_signal 
)

◆ Location() [4/5]

ARDOUR::Location::Location ( Session ,
const XMLNode  
)

◆ Location() [5/5]

ARDOUR::Location::Location ( Location const &  )
private

Member Function Documentation

◆ actually_emit_signal()

void ARDOUR::Location::actually_emit_signal ( Signal  )
private

◆ cd_info_node()

static XMLNode& ARDOUR::Location::cd_info_node ( const std::string &  ,
const std::string &   
)
static

◆ cue_id()

int32_t ARDOUR::Location::cue_id ( ) const
inline

Definition at line 139 of file location.h.

◆ emit_signal()

void ARDOUR::Location::emit_signal ( Signal  )
private

◆ end()

timepos_t ARDOUR::Location::end ( ) const
inline

Definition at line 88 of file location.h.

◆ end_sample()

samplepos_t ARDOUR::Location::end_sample ( ) const
inline

Definition at line 92 of file location.h.

◆ finish_domain_bounce()

void ARDOUR::Location::finish_domain_bounce ( Temporal::DomainBounceInfo )

◆ flags()

Flags ARDOUR::Location::flags ( ) const
inline

Definition at line 134 of file location.h.

◆ get_state()

XMLNode& ARDOUR::Location::get_state ( ) const
virtual

Implements PBD::Stateful.

◆ is_auto_loop()

bool ARDOUR::Location::is_auto_loop ( ) const
inline

Definition at line 116 of file location.h.

◆ is_auto_punch()

bool ARDOUR::Location::is_auto_punch ( ) const
inline

Definition at line 115 of file location.h.

◆ is_cd_marker()

bool ARDOUR::Location::is_cd_marker ( ) const
inline

Definition at line 119 of file location.h.

◆ is_clock_origin()

bool ARDOUR::Location::is_clock_origin ( ) const
inline

Definition at line 124 of file location.h.

◆ is_cue_marker()

bool ARDOUR::Location::is_cue_marker ( ) const
inline

Definition at line 120 of file location.h.

◆ is_hidden()

bool ARDOUR::Location::is_hidden ( ) const
inline

Definition at line 118 of file location.h.

◆ is_mark()

bool ARDOUR::Location::is_mark ( ) const
inline

Definition at line 117 of file location.h.

◆ is_range()

bool ARDOUR::Location::is_range ( ) const
inline

Definition at line 132 of file location.h.

◆ is_range_marker()

bool ARDOUR::Location::is_range_marker ( ) const
inline

Definition at line 122 of file location.h.

◆ is_scene()

bool ARDOUR::Location::is_scene ( ) const
inline

Definition at line 128 of file location.h.

◆ is_section()

bool ARDOUR::Location::is_section ( ) const
inline

Definition at line 127 of file location.h.

◆ is_session_range()

bool ARDOUR::Location::is_session_range ( ) const
inline

Definition at line 121 of file location.h.

◆ is_skip()

bool ARDOUR::Location::is_skip ( ) const
inline

Definition at line 123 of file location.h.

◆ is_skipping()

bool ARDOUR::Location::is_skipping ( ) const
inline

Definition at line 125 of file location.h.

◆ is_xrun()

bool ARDOUR::Location::is_xrun ( ) const
inline

Definition at line 126 of file location.h.

◆ length()

timecnt_t ARDOUR::Location::length ( ) const
inline

Definition at line 89 of file location.h.

◆ length_samples()

samplecnt_t ARDOUR::Location::length_samples ( ) const
inline

Definition at line 93 of file location.h.

◆ lock()

void ARDOUR::Location::lock ( )

◆ locked()

bool ARDOUR::Location::locked ( ) const
inline

Definition at line 82 of file location.h.

◆ matches()

bool ARDOUR::Location::matches ( Flags  f) const
inline

Definition at line 129 of file location.h.

◆ move_to()

int ARDOUR::Location::move_to ( timepos_t const &  pos)

◆ name()

const std::string& ARDOUR::Location::name ( ) const
inline

Definition at line 101 of file location.h.

◆ operator=()

Location* ARDOUR::Location::operator= ( const Location other)

◆ operator==()

bool ARDOUR::Location::operator== ( const Location other)

◆ position_time_domain()

Temporal::TimeDomain ARDOUR::Location::position_time_domain ( ) const
inline

Definition at line 181 of file location.h.

◆ resume_signals()

void ARDOUR::Location::resume_signals ( )
protected

◆ scene_change()

std::shared_ptr<SceneChange> ARDOUR::Location::scene_change ( ) const
inline

Definition at line 136 of file location.h.

◆ set()

int ARDOUR::Location::set ( timepos_t const &  start,
timepos_t const &  end 
)

◆ set_auto_loop()

void ARDOUR::Location::set_auto_loop ( bool  yn,
void *  src 
)

◆ set_auto_punch()

void ARDOUR::Location::set_auto_punch ( bool  yn,
void *  src 
)

◆ set_cd()

void ARDOUR::Location::set_cd ( bool  yn,
void *  src 
)

◆ set_cue()

void ARDOUR::Location::set_cue ( bool  yn,
void *  src 
)

◆ set_cue_id()

void ARDOUR::Location::set_cue_id ( int32_t  )

◆ set_end()

int ARDOUR::Location::set_end ( timepos_t const &  e,
bool  force = false 
)

◆ set_flag_internal()

bool ARDOUR::Location::set_flag_internal ( bool  yn,
Flags  flag 
)
private

◆ set_hidden()

void ARDOUR::Location::set_hidden ( bool  yn,
void *  src 
)

◆ set_is_clock_origin()

void ARDOUR::Location::set_is_clock_origin ( bool  yn,
void *  src 
)

◆ set_is_range_marker()

void ARDOUR::Location::set_is_range_marker ( bool  yn,
void *  src 
)

◆ set_mark()

void ARDOUR::Location::set_mark ( bool  yn)
private

◆ set_name()

void ARDOUR::Location::set_name ( const std::string &  str)

◆ set_position_time_domain()

void ARDOUR::Location::set_position_time_domain ( Temporal::TimeDomain  )
private

◆ set_scene_change()

void ARDOUR::Location::set_scene_change ( std::shared_ptr< SceneChange )

◆ set_section()

void ARDOUR::Location::set_section ( bool  yn)

◆ set_skip()

void ARDOUR::Location::set_skip ( bool  yn)

◆ set_skipping()

void ARDOUR::Location::set_skipping ( bool  yn)

◆ set_start()

int ARDOUR::Location::set_start ( timepos_t const &  s,
bool  force = false 
)

◆ set_state()

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

Implements PBD::Stateful.

◆ set_time_domain()

void ARDOUR::Location::set_time_domain ( Temporal::TimeDomain  )

◆ start()

timepos_t ARDOUR::Location::start ( void  ) const
inline

Definition at line 87 of file location.h.

◆ start_domain_bounce()

void ARDOUR::Location::start_domain_bounce ( Temporal::DomainBounceInfo )

◆ start_sample()

samplepos_t ARDOUR::Location::start_sample ( ) const
inline

Definition at line 91 of file location.h.

◆ suspend_signals()

void ARDOUR::Location::suspend_signals ( )
protected

◆ timestamp()

int64_t ARDOUR::Location::timestamp ( ) const
inline

Definition at line 86 of file location.h.

◆ unlock()

void ARDOUR::Location::unlock ( )

Friends And Related Function Documentation

◆ ChangeSuspender

friend class ChangeSuspender
friend

Definition at line 206 of file location.h.

Member Data Documentation

◆ _cue

int32_t ARDOUR::Location::_cue
private

Definition at line 237 of file location.h.

◆ _end

timepos_t ARDOUR::Location::_end
private

Definition at line 233 of file location.h.

◆ _flags

Flags ARDOUR::Location::_flags
private

Definition at line 234 of file location.h.

◆ _locked

bool ARDOUR::Location::_locked
private

Definition at line 235 of file location.h.

◆ _name

std::string ARDOUR::Location::_name
private

Definition at line 231 of file location.h.

◆ _postponed_signals

std::set<Signal> ARDOUR::Location::_postponed_signals
private

Definition at line 240 of file location.h.

◆ _scene_change

std::shared_ptr<SceneChange> ARDOUR::Location::_scene_change
private

Definition at line 242 of file location.h.

◆ _signals_suspended

uint32_t ARDOUR::Location::_signals_suspended
private

Definition at line 239 of file location.h.

◆ _start

timepos_t ARDOUR::Location::_start
private

Definition at line 232 of file location.h.

◆ _timestamp

int64_t ARDOUR::Location::_timestamp
private

Definition at line 236 of file location.h.

◆ cd_info

std::map<std::string, std::string> ARDOUR::Location::cd_info

Definition at line 175 of file location.h.

◆ changed

PBD::Signal<void(Location*)> ARDOUR::Location::changed
static

Definition at line 156 of file location.h.

◆ Changed

PBD::Signal<void()> ARDOUR::Location::Changed

Definition at line 162 of file location.h.

◆ cue_change

PBD::Signal<void(Location*)> ARDOUR::Location::cue_change
static

Definition at line 151 of file location.h.

◆ CueChanged

PBD::Signal<void()> ARDOUR::Location::CueChanged

Definition at line 169 of file location.h.

◆ end_changed

PBD::Signal<void(Location*)> ARDOUR::Location::end_changed
static

Definition at line 147 of file location.h.

◆ EndChanged

PBD::Signal<void()> ARDOUR::Location::EndChanged

Definition at line 165 of file location.h.

◆ flags_changed

PBD::Signal<void(Location*)> ARDOUR::Location::flags_changed
static

Definition at line 149 of file location.h.

◆ FlagsChanged

PBD::Signal<void()> ARDOUR::Location::FlagsChanged

Definition at line 167 of file location.h.

◆ lock_changed

PBD::Signal<void(Location*)> ARDOUR::Location::lock_changed
static

Definition at line 150 of file location.h.

◆ LockChanged

PBD::Signal<void()> ARDOUR::Location::LockChanged

Definition at line 168 of file location.h.

◆ name_changed

PBD::Signal<void(Location*)> ARDOUR::Location::name_changed
static

Definition at line 146 of file location.h.

◆ NameChanged

PBD::Signal<void()> ARDOUR::Location::NameChanged

Definition at line 164 of file location.h.

◆ scene_changed

PBD::Signal<void(Location*)> ARDOUR::Location::scene_changed
static

Definition at line 152 of file location.h.

◆ SceneChanged

PBD::Signal<void()> ARDOUR::Location::SceneChanged

Definition at line 170 of file location.h.

◆ start_changed

PBD::Signal<void(Location*)> ARDOUR::Location::start_changed
static

Definition at line 148 of file location.h.

◆ StartChanged

PBD::Signal<void()> ARDOUR::Location::StartChanged

Definition at line 166 of file location.h.

◆ time_domain_changed

PBD::Signal<void(Location*)> ARDOUR::Location::time_domain_changed
static

Definition at line 153 of file location.h.

◆ TimeDomainChanged

PBD::Signal<void()> ARDOUR::Location::TimeDomainChanged

Definition at line 171 of file location.h.


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