ardour
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | Private Member Functions | Private Attributes | List of all members
ARDOUR::Location Class Reference

#include <location.h>

Inheritance diagram for ARDOUR::Location:
ARDOUR::SessionHandleRef PBD::StatefulDestructible PBD::ScopedConnectionList PBD::Stateful PBD::Destructible

Public Types

enum  Flags {
  IsMark = 0x1, IsAutoPunch = 0x2, IsAutoLoop = 0x4, IsHidden = 0x8,
  IsCDMarker = 0x10, IsRangeMarker = 0x20, IsSessionRange = 0x40, IsSkip = 0x80,
  IsSkipping = 0x100
}
 

Public Member Functions

 Location (Session &)
 
 Location (Session &, framepos_t, framepos_t, const std::string &, Flags bits=Flags(0))
 
 Location (const Location &other)
 
 Location (Session &, const XMLNode &)
 
Locationoperator= (const Location &other)
 
bool operator== (const Location &other)
 
bool locked () const
 
void lock ()
 
void unlock ()
 
framepos_t start () const
 
framepos_t end () const
 
framecnt_t length () const
 
int set_start (framepos_t s, bool force=false, bool allow_bbt_recompute=true)
 
int set_end (framepos_t e, bool force=false, bool allow_bbt_recompute=true)
 
int set (framepos_t start, framepos_t end, bool allow_bbt_recompute=true)
 
int move_to (framepos_t 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_is_range_marker (bool yn, void *src)
 
void set_skip (bool yn)
 
void set_skipping (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_session_range () const
 
bool is_range_marker () const
 
bool is_skip () const
 
bool is_skipping () const
 
bool matches (Flags f) const
 
Flags flags () const
 
boost::shared_ptr< SceneChangescene_change () const
 
void set_scene_change (boost::shared_ptr< SceneChange >)
 
XMLNodecd_info_node (const std::string &, const std::string &)
 
XMLNodeget_state (void)
 
int set_state (const XMLNode &, int version)
 
PositionLockStyle position_lock_style () const
 
void set_position_lock_style (PositionLockStyle ps)
 
void recompute_frames_from_bbt ()
 
- Public Member Functions inherited from ARDOUR::SessionHandleRef
 SessionHandleRef (ARDOUR::Session &s)
 
virtual ~SessionHandleRef ()
 
- Public Member Functions inherited from PBD::ScopedConnectionList
 ScopedConnectionList ()
 
virtual ~ScopedConnectionList ()
 
void add_connection (const UnscopedConnection &c)
 
void drop_connections ()
 
- Public Member Functions inherited from PBD::Stateful
 Stateful ()
 
virtual ~Stateful ()
 
virtual bool apply_changes (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 (Command *) const
 
virtual void rdiff (std::vector< 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
 Destructible ()
 
virtual ~Destructible ()
 
void drop_references ()
 

Public Attributes

PBD::Signal0< void > NameChanged
 
PBD::Signal0< void > EndChanged
 
PBD::Signal0< void > StartChanged
 
PBD::Signal0< void > Changed
 
PBD::Signal0< void > FlagsChanged
 
PBD::Signal0< void > LockChanged
 
PBD::Signal0< void > PositionLockStyleChanged
 
std::map< std::string,
std::string > 
cd_info
 
- Public Attributes inherited from PBD::Stateful
PBD::Signal1< void, const
PropertyChange & > 
PropertyChanged
 
- Public Attributes inherited from PBD::Destructible
PBD::Signal0< void > Destroyed
 
PBD::Signal0< void > DropReferences
 

Static Public Attributes

static PBD::Signal1< void,
Location * > 
name_changed
 
static PBD::Signal1< void,
Location * > 
end_changed
 
static PBD::Signal1< void,
Location * > 
start_changed
 
static PBD::Signal1< void,
Location * > 
flags_changed
 
static PBD::Signal1< void,
Location * > 
lock_changed
 
static PBD::Signal1< void,
Location * > 
position_lock_style_changed
 
static PBD::Signal1< void,
Location * > 
changed
 
static PBD::Signal0< void > scene_changed
 
- Static Public Attributes inherited from PBD::Stateful
static int current_state_version = 0
 
static int loading_state_version = 0
 

Private Member Functions

void set_mark (bool yn)
 
bool set_flag_internal (bool yn, Flags flag)
 
void recompute_bbt_from_frames ()
 

Private Attributes

std::string _name
 
framepos_t _start
 
Timecode::BBT_Time _bbt_start
 
framepos_t _end
 
Timecode::BBT_Time _bbt_end
 
Flags _flags
 
bool _locked
 
PositionLockStyle _position_lock_style
 
boost::shared_ptr< SceneChange_scene_change
 

Additional Inherited Members

- 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 &)
 
PropertyChange set_values (XMLNode const &)
 
virtual void post_set (const PropertyChange &)
 
virtual void send_change (const PropertyChange &)
 
virtual void mid_thaw (const PropertyChange &)
 
- 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 44 of file location.h.

Member Enumeration Documentation

Enumerator
IsMark 
IsAutoPunch 
IsAutoLoop 
IsHidden 
IsCDMarker 
IsRangeMarker 
IsSessionRange 
IsSkip 
IsSkipping 

Definition at line 47 of file location.h.

Constructor & Destructor Documentation

Location::Location ( Session s)

Definition at line 54 of file location.cc.

Location::Location ( Session s,
framepos_t  sample_start,
framepos_t  sample_end,
const std::string &  name,
Flags  bits = Flags(0) 
)

Construct a new Location, giving it the position lock style determined by glue-new-markers-to-bars-and-beats

Definition at line 67 of file location.cc.

Location::Location ( const Location other)

Definition at line 82 of file location.cc.

Location::Location ( Session s,
const XMLNode node 
)

Definition at line 103 of file location.cc.

Member Function Documentation

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

Definition at line 554 of file location.cc.

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

Definition at line 72 of file location.h.

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

Definition at line 103 of file location.h.

XMLNode & Location::get_state ( void  )
virtual

Implements PBD::Stateful.

Definition at line 566 of file location.cc.

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

Definition at line 93 of file location.h.

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

Definition at line 92 of file location.h.

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

Definition at line 96 of file location.h.

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

Definition at line 95 of file location.h.

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

Definition at line 94 of file location.h.

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

Definition at line 98 of file location.h.

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

Definition at line 97 of file location.h.

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

Definition at line 99 of file location.h.

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

Definition at line 100 of file location.h.

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

Definition at line 73 of file location.h.

void Location::lock ( )

Definition at line 737 of file location.cc.

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

Definition at line 67 of file location.h.

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

Definition at line 101 of file location.h.

int Location::move_to ( framepos_t  pos)

Definition at line 415 of file location.cc.

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

Definition at line 81 of file location.h.

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

Definition at line 135 of file location.cc.

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

Definition at line 120 of file location.cc.

PositionLockStyle ARDOUR::Location::position_lock_style ( ) const
inline

Definition at line 142 of file location.h.

void Location::recompute_bbt_from_frames ( )
private

Definition at line 715 of file location.cc.

void Location::recompute_frames_from_bbt ( )

Definition at line 726 of file location.cc.

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

Definition at line 105 of file location.h.

int Location::set ( framepos_t  start,
framepos_t  end,
bool  allow_bbt_recompute = true 
)

Definition at line 321 of file location.cc.

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

Definition at line 511 of file location.cc.

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

Definition at line 498 of file location.cc.

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

Definition at line 450 of file location.cc.

int Location::set_end ( framepos_t  e,
bool  force = false,
bool  allow_bbt_recompute = true 
)

Set end position.

Parameters
sNew end.
forcetrue to force setting, even if the given new end is before the current start.
allow_bbt_recomputeTrue to recompute BBT end time from the new given end time.

Definition at line 258 of file location.cc.

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

Definition at line 524 of file location.cc.

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

Definition at line 441 of file location.cc.

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

Definition at line 467 of file location.cc.

void Location::set_mark ( bool  yn)
private

Definition at line 541 of file location.cc.

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

Set location name

Definition at line 167 of file location.cc.

void Location::set_position_lock_style ( PositionLockStyle  ps)

Definition at line 700 of file location.cc.

void Location::set_scene_change ( boost::shared_ptr< SceneChange sc)

Definition at line 753 of file location.cc.

void Location::set_skip ( bool  yn)

Definition at line 476 of file location.cc.

void Location::set_skipping ( bool  yn)

Definition at line 487 of file location.cc.

int Location::set_start ( framepos_t  s,
bool  force = false,
bool  allow_bbt_recompute = true 
)

Set start position.

Parameters
sNew start.
forcetrue to force setting, even if the given new start is after the current end.
allow_bbt_recomputeTrue to recompute BBT start time from the new given start time.

Definition at line 181 of file location.cc.

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

Implements PBD::Stateful.

Definition at line 596 of file location.cc.

framepos_t ARDOUR::Location::start ( ) const
inline

Definition at line 71 of file location.h.

void Location::unlock ( )

Definition at line 745 of file location.cc.

Member Data Documentation

Timecode::BBT_Time ARDOUR::Location::_bbt_end
private

Definition at line 153 of file location.h.

Timecode::BBT_Time ARDOUR::Location::_bbt_start
private

Definition at line 151 of file location.h.

framepos_t ARDOUR::Location::_end
private

Definition at line 152 of file location.h.

Flags ARDOUR::Location::_flags
private

Definition at line 154 of file location.h.

bool ARDOUR::Location::_locked
private

Definition at line 155 of file location.h.

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

Definition at line 149 of file location.h.

PositionLockStyle ARDOUR::Location::_position_lock_style
private

Definition at line 156 of file location.h.

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

Definition at line 157 of file location.h.

framepos_t ARDOUR::Location::_start
private

Definition at line 150 of file location.h.

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

Definition at line 136 of file location.h.

PBD::Signal1< void, Location * > Location::changed
static

Definition at line 120 of file location.h.

PBD::Signal0<void> ARDOUR::Location::Changed

Definition at line 129 of file location.h.

PBD::Signal1< void, Location * > Location::end_changed
static

Definition at line 113 of file location.h.

PBD::Signal0<void> ARDOUR::Location::EndChanged

Definition at line 127 of file location.h.

PBD::Signal1< void, Location * > Location::flags_changed
static

Definition at line 115 of file location.h.

PBD::Signal0<void> ARDOUR::Location::FlagsChanged

Definition at line 130 of file location.h.

PBD::Signal1< void, Location * > Location::lock_changed
static

Definition at line 116 of file location.h.

PBD::Signal0<void> ARDOUR::Location::LockChanged

Definition at line 131 of file location.h.

PBD::Signal1< void, Location * > Location::name_changed
static

Definition at line 112 of file location.h.

PBD::Signal0<void> ARDOUR::Location::NameChanged

Definition at line 126 of file location.h.

PBD::Signal1< void, Location * > Location::position_lock_style_changed
static

Definition at line 117 of file location.h.

PBD::Signal0<void> ARDOUR::Location::PositionLockStyleChanged

Definition at line 132 of file location.h.

PBD::Signal0< void > Location::scene_changed
static

Definition at line 146 of file location.h.

PBD::Signal1< void, Location * > Location::start_changed
static

Definition at line 114 of file location.h.

PBD::Signal0<void> ARDOUR::Location::StartChanged

Definition at line 128 of file location.h.


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