ardour
Public Types | Public Member Functions | Public Attributes | Private Attributes | List of all members
Selection Class Reference

Lists of selected things. More...

#include <selection.h>

Inheritance diagram for Selection:
PBD::ScopedConnectionList

Public Types

enum  SelectionType { Object = 0x1, Range = 0x2 }
 
enum  Operation { Set, Add, Toggle, Extend }
 

Public Member Functions

 Selection (PublicEditor const *e)
 
void block_tracks_changed (bool)
 
void clear ()
 
bool empty (bool internal_selection=false)
 
void dump_region_layers ()
 
bool selected (TimeAxisView *)
 
bool selected (RegionView *)
 
bool selected (Marker *)
 
bool selected (ControlPoint *)
 
void set (std::list< Selectable * > const &)
 
void add (std::list< Selectable * > const &)
 
void toggle (std::list< Selectable * > const &)
 
void set (TimeAxisView *)
 
void set (const TrackViewList &)
 
void set (const MidiNoteSelection &)
 
void set (RegionView *, bool also_clear_tracks=true)
 
void set (MidiRegionView *)
 
void set (std::vector< RegionView * > &)
 
long set (framepos_t, framepos_t)
 
void set_preserving_all_ranges (framepos_t, framepos_t)
 
void set (boost::shared_ptr< Evoral::ControlList >)
 
void set (boost::shared_ptr< ARDOUR::Playlist >)
 
void set (const std::list< boost::shared_ptr< ARDOUR::Playlist > > &)
 
void set (ControlPoint *)
 
void set (Marker *)
 
void set (const RegionSelection &)
 
void toggle (TimeAxisView *)
 
void toggle (const TrackViewList &)
 
void toggle (const MidiNoteSelection &)
 
void toggle (RegionView *)
 
void toggle (MidiRegionView *)
 
void toggle (MidiCutBuffer *)
 
void toggle (std::vector< RegionView * > &)
 
long toggle (framepos_t, framepos_t)
 
void toggle (ARDOUR::AutomationList *)
 
void toggle (boost::shared_ptr< ARDOUR::Playlist >)
 
void toggle (const std::list< boost::shared_ptr< ARDOUR::Playlist > > &)
 
void toggle (ControlPoint *)
 
void toggle (std::vector< ControlPoint * > const &)
 
void toggle (Marker *)
 
void add (TimeAxisView *)
 
void add (const TrackViewList &)
 
void add (const MidiNoteSelection &)
 
void add (RegionView *)
 
void add (MidiRegionView *)
 
void add (MidiCutBuffer *)
 
void add (std::vector< RegionView * > &)
 
long add (framepos_t, framepos_t)
 
void add (boost::shared_ptr< Evoral::ControlList >)
 
void add (boost::shared_ptr< ARDOUR::Playlist >)
 
void add (const std::list< boost::shared_ptr< ARDOUR::Playlist > > &)
 
void add (ControlPoint *)
 
void add (std::vector< ControlPoint * > const &)
 
void add (Marker *)
 
void add (const std::list< Marker * > &)
 
void add (const RegionSelection &)
 
void add (const PointSelection &)
 
void remove (TimeAxisView *)
 
void remove (const TrackViewList &)
 
void remove (const MidiNoteSelection &)
 
void remove (RegionView *)
 
void remove (MidiRegionView *)
 
void remove (MidiCutBuffer *)
 
void remove (uint32_t selection_id)
 
void remove (framepos_t, framepos_t)
 
void remove (boost::shared_ptr< ARDOUR::AutomationList >)
 
void remove (boost::shared_ptr< ARDOUR::Playlist >)
 
void remove (const std::list< boost::shared_ptr< ARDOUR::Playlist > > &)
 
void remove (const std::list< Selectable * > &)
 
void remove (Marker *)
 
void remove (ControlPoint *)
 
void remove_regions (TimeAxisView *)
 
void move_time (framecnt_t)
 
void replace (uint32_t time_index, framepos_t start, framepos_t end)
 
void clear_all ()
 
void clear_time ()
 
void clear_tracks ()
 
void clear_objects ()
 
void clear_regions ()
 
void clear_lines ()
 
void clear_playlists ()
 
void clear_points ()
 
void clear_markers ()
 
void clear_midi_notes ()
 
void clear_midi_regions ()
 
void foreach_region (void(ARDOUR::Region::*method)(void))
 
void foreach_regionview (void(RegionView::*method)(void))
 
void foreach_midi_regionview (void(MidiRegionView::*method)(void))
 
template<class A >
void foreach_region (void(ARDOUR::Region::*method)(A), A arg)
 
XMLNodeget_state () const
 
int set_state (XMLNode const &, int)
 
- Public Member Functions inherited from PBD::ScopedConnectionList
 ScopedConnectionList ()
 
virtual ~ScopedConnectionList ()
 
void add_connection (const UnscopedConnection &c)
 
void drop_connections ()
 

Public Attributes

TrackSelection tracks
 
RegionSelection regions
 
TimeSelection time
 
AutomationSelection lines
 
PlaylistSelection playlists
 
PointSelection points
 
MarkerSelection markers
 
MidiRegionSelection midi_regions
 
MidiNoteSelection midi_notes
 
sigc::signal< void > RegionsChanged
 
sigc::signal< void > TracksChanged
 
sigc::signal< void > TimeChanged
 
sigc::signal< void > LinesChanged
 
sigc::signal< void > PlaylistsChanged
 
sigc::signal< void > PointsChanged
 
sigc::signal< void > MarkersChanged
 
sigc::signal< void > MidiNotesChanged
 
sigc::signal< void > MidiRegionsChanged
 
PBD::Signal0< void > ClearMidiNoteSelection
 
std::list< std::pair< PBD::ID
const, std::list
< boost::shared_ptr
< Evoral::Note< Evoral::Beats > > > > > 
pending_midi_note_selection
 

Private Attributes

PublicEditor const * editor
 
uint32_t next_time_id
 
bool _no_tracks_changed
 

Detailed Description

Lists of selected things.

The Selection class holds lists of selected items (tracks, regions, etc. etc.).

Definition at line 66 of file selection.h.

Member Enumeration Documentation

Enumerator
Set 
Add 
Toggle 
Extend 

Definition at line 74 of file selection.h.

Enumerator
Object 
Range 

Definition at line 69 of file selection.h.

Constructor & Destructor Documentation

Selection::Selection ( PublicEditor const *  e)

Definition at line 51 of file selection.cc.

Member Function Documentation

void Selection::add ( std::list< Selectable * > const &  selectables)

Definition at line 1045 of file selection.cc.

void Selection::add ( TimeAxisView track)

Definition at line 422 of file selection.cc.

void Selection::add ( const TrackViewList track_list)

Definition at line 405 of file selection.cc.

void Selection::add ( const MidiNoteSelection midi_list)

Definition at line 433 of file selection.cc.

void Selection::add ( RegionView r)

Definition at line 503 of file selection.cc.

void Selection::add ( MidiRegionView mrv)

Definition at line 517 of file selection.cc.

void Selection::add ( MidiCutBuffer midi)

Definition at line 448 of file selection.cc.

void Selection::add ( std::vector< RegionView * > &  v)

Definition at line 459 of file selection.cc.

long Selection::add ( framepos_t  start,
framepos_t  end 
)

Definition at line 530 of file selection.cc.

void Selection::add ( boost::shared_ptr< Evoral::ControlList cl)

Definition at line 585 of file selection.cc.

void Selection::add ( boost::shared_ptr< ARDOUR::Playlist pl)

Definition at line 371 of file selection.cc.

void Selection::add ( const std::list< boost::shared_ptr< ARDOUR::Playlist > > &  pllist)

Definition at line 384 of file selection.cc.

void Selection::add ( ControlPoint cp)

Definition at line 1087 of file selection.cc.

void Selection::add ( std::vector< ControlPoint * > const &  cps)

Definition at line 1098 of file selection.cc.

void Selection::add ( Marker m)

Definition at line 1162 of file selection.cc.

void Selection::add ( const std::list< Marker * > &  m)

Definition at line 1174 of file selection.cc.

void Selection::add ( const RegionSelection rs)

Definition at line 481 of file selection.cc.

void Selection::add ( const PointSelection s)

Definition at line 1034 of file selection.cc.

void Selection::block_tracks_changed ( bool  yn)

Definition at line 1518 of file selection.cc.

void Selection::clear ( )

Clear everything from the Selection

Definition at line 101 of file selection.cc.

void Selection::clear_all ( )
inline

Definition at line 201 of file selection.h.

void Selection::clear_lines ( )

Definition at line 210 of file selection.cc.

void Selection::clear_markers ( )

Definition at line 219 of file selection.cc.

void Selection::clear_midi_notes ( )

Definition at line 168 of file selection.cc.

void Selection::clear_midi_regions ( )

Definition at line 184 of file selection.cc.

void Selection::clear_objects ( )

Definition at line 116 of file selection.cc.

void Selection::clear_playlists ( )

Definition at line 193 of file selection.cc.

void Selection::clear_points ( )

Definition at line 1078 of file selection.cc.

void Selection::clear_regions ( )

Definition at line 159 of file selection.cc.

void Selection::clear_time ( )

Definition at line 141 of file selection.cc.

void Selection::clear_tracks ( )

Definition at line 127 of file selection.cc.

void Selection::dump_region_layers ( )

Definition at line 149 of file selection.cc.

bool Selection::empty ( bool  internal_selection = false)

Definition at line 938 of file selection.cc.

void Selection::foreach_midi_regionview ( void(MidiRegionView::*)(void)  method)
inline

Definition at line 50 of file selection_templates.h.

void Selection::foreach_region ( void(ARDOUR::Region::*)(void)  method)
inline

Definition at line 35 of file selection_templates.h.

template<class A >
void Selection::foreach_region ( void(ARDOUR::Region::*)(A)  method,
arg 
)
inline

Definition at line 60 of file selection_templates.h.

void Selection::foreach_regionview ( void(RegionView::*)(void)  method)
inline

Definition at line 43 of file selection_templates.h.

XMLNode & Selection::get_state ( void  ) const

Definition at line 1208 of file selection.cc.

void Selection::move_time ( framecnt_t  )

Definition at line 548 of file selection.cc.

void Selection::remove ( TimeAxisView track)

Definition at line 603 of file selection.cc.

void Selection::remove ( const TrackViewList track_list)

Definition at line 616 of file selection.cc.

void Selection::remove ( const MidiNoteSelection midi_list)

Definition at line 647 of file selection.cc.

void Selection::remove ( RegionView r)

Definition at line 710 of file selection.cc.

void Selection::remove ( MidiRegionView mrv)

Definition at line 718 of file selection.cc.

void Selection::remove ( MidiCutBuffer midi)

Definition at line 667 of file selection.cc.

void Selection::remove ( uint32_t  selection_id)

Definition at line 730 of file selection.cc.

void Selection::remove ( framepos_t  ,
framepos_t   
)

Definition at line 747 of file selection.cc.

void Selection::remove ( boost::shared_ptr< ARDOUR::AutomationList ac)

Definition at line 752 of file selection.cc.

void Selection::remove ( boost::shared_ptr< ARDOUR::Playlist track)

Definition at line 680 of file selection.cc.

void Selection::remove ( const std::list< boost::shared_ptr< ARDOUR::Playlist > > &  pllist)

Definition at line 690 of file selection.cc.

void Selection::remove ( const std::list< Selectable * > &  )
void Selection::remove ( Marker m)

Definition at line 1151 of file selection.cc.

void Selection::remove ( ControlPoint p)

Definition at line 638 of file selection.cc.

void Selection::remove_regions ( TimeAxisView t)

Definition at line 1502 of file selection.cc.

void Selection::replace ( uint32_t  time_index,
framepos_t  start,
framepos_t  end 
)

Definition at line 563 of file selection.cc.

bool Selection::selected ( TimeAxisView tv)

Definition at line 920 of file selection.cc.

bool Selection::selected ( RegionView rv)

Definition at line 926 of file selection.cc.

bool Selection::selected ( Marker m)

Definition at line 914 of file selection.cc.

bool Selection::selected ( ControlPoint cp)

Definition at line 932 of file selection.cc.

void Selection::set ( std::list< Selectable * > const &  selectables)

Definition at line 1024 of file selection.cc.

void Selection::set ( TimeAxisView track)

Definition at line 762 of file selection.cc.

void Selection::set ( const TrackViewList track_list)

Definition at line 770 of file selection.cc.

void Selection::set ( const MidiNoteSelection midi_list)

Definition at line 778 of file selection.cc.

void Selection::set ( RegionView r,
bool  also_clear_tracks = true 
)

Definition at line 823 of file selection.cc.

void Selection::set ( MidiRegionView mrv)

Definition at line 814 of file selection.cc.

void Selection::set ( std::vector< RegionView * > &  v)

Definition at line 832 of file selection.cc.

long Selection::set ( framepos_t  start,
framepos_t  end 
)

Set the start and end time of the time selection, without changing the list of tracks it applies to.

Definition at line 845 of file selection.cc.

void Selection::set ( boost::shared_ptr< Evoral::ControlList ac)

Definition at line 904 of file selection.cc.

void Selection::set ( boost::shared_ptr< ARDOUR::Playlist playlist)

Definition at line 787 of file selection.cc.

void Selection::set ( const std::list< boost::shared_ptr< ARDOUR::Playlist > > &  pllist)

Definition at line 796 of file selection.cc.

void Selection::set ( ControlPoint cp)

Definition at line 1111 of file selection.cc.

void Selection::set ( Marker m)

Definition at line 1129 of file selection.cc.

void Selection::set ( const RegionSelection rs)

Definition at line 804 of file selection.cc.

void Selection::set_preserving_all_ranges ( framepos_t  start,
framepos_t  end 
)

Set the start and end of the range selection. If more than one range is currently selected, the start of the earliest range and the end of the latest range are set. If no range is currently selected, this method selects a single range from start to end.

Parameters
startNew start time.
endNew end time.

Definition at line 882 of file selection.cc.

int Selection::set_state ( XMLNode const &  node,
int   
)

Definition at line 1307 of file selection.cc.

void Selection::toggle ( std::list< Selectable * > const &  selectables)

Definition at line 991 of file selection.cc.

void Selection::toggle ( TimeAxisView track)

Definition at line 254 of file selection.cc.

void Selection::toggle ( const TrackViewList track_list)

Definition at line 246 of file selection.cc.

void Selection::toggle ( const MidiNoteSelection midi_note_list)

Definition at line 272 of file selection.cc.

void Selection::toggle ( RegionView r)

Definition at line 300 of file selection.cc.

void Selection::toggle ( MidiRegionView mrv)

Definition at line 317 of file selection.cc.

void Selection::toggle ( MidiCutBuffer midi)

Definition at line 283 of file selection.cc.

void Selection::toggle ( std::vector< RegionView * > &  r)

Definition at line 334 of file selection.cc.

long Selection::toggle ( framepos_t  start,
framepos_t  end 
)

Definition at line 353 of file selection.cc.

void Selection::toggle ( ARDOUR::AutomationList )
void Selection::toggle ( boost::shared_ptr< ARDOUR::Playlist pl)

Definition at line 228 of file selection.cc.

void Selection::toggle ( const std::list< boost::shared_ptr< ARDOUR::Playlist > > &  )
void Selection::toggle ( ControlPoint cp)

Definition at line 963 of file selection.cc.

void Selection::toggle ( std::vector< ControlPoint * > const &  cps)

Definition at line 980 of file selection.cc.

void Selection::toggle ( Marker m)

Definition at line 1139 of file selection.cc.

Member Data Documentation

bool Selection::_no_tracks_changed
private

Definition at line 231 of file selection.h.

PBD::Signal0<void> Selection::ClearMidiNoteSelection

Definition at line 224 of file selection.h.

PublicEditor const* Selection::editor
private

Definition at line 229 of file selection.h.

AutomationSelection Selection::lines

Definition at line 84 of file selection.h.

sigc::signal<void> Selection::LinesChanged

Definition at line 100 of file selection.h.

MarkerSelection Selection::markers

Definition at line 87 of file selection.h.

sigc::signal<void> Selection::MarkersChanged

Definition at line 103 of file selection.h.

MidiNoteSelection Selection::midi_notes

only used when this class is used as a cut buffer

Definition at line 91 of file selection.h.

MidiRegionSelection Selection::midi_regions

Definition at line 88 of file selection.h.

sigc::signal<void> Selection::MidiNotesChanged

Definition at line 104 of file selection.h.

sigc::signal<void> Selection::MidiRegionsChanged

Definition at line 105 of file selection.h.

uint32_t Selection::next_time_id
private

Definition at line 230 of file selection.h.

std::list<std::pair<PBD::ID const, std::list<boost::shared_ptr<Evoral::Note<Evoral::Beats> > > > > Selection::pending_midi_note_selection

Definition at line 226 of file selection.h.

PlaylistSelection Selection::playlists

Definition at line 85 of file selection.h.

sigc::signal<void> Selection::PlaylistsChanged

Definition at line 101 of file selection.h.

PointSelection Selection::points

Definition at line 86 of file selection.h.

sigc::signal<void> Selection::PointsChanged

Definition at line 102 of file selection.h.

RegionSelection Selection::regions

Definition at line 82 of file selection.h.

sigc::signal<void> Selection::RegionsChanged

Definition at line 97 of file selection.h.

TimeSelection Selection::time

Definition at line 83 of file selection.h.

sigc::signal<void> Selection::TimeChanged

Definition at line 99 of file selection.h.

TrackSelection Selection::tracks

Definition at line 81 of file selection.h.

sigc::signal<void> Selection::TracksChanged

Definition at line 98 of file selection.h.


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