projects
/
ardour.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add keybinding editor
[ardour.git]
/
gtk2_ardour
/
selection.h
diff --git
a/gtk2_ardour/selection.h
b/gtk2_ardour/selection.h
index 1aab4144534fbe5c394cd16bab740204ef602686..5e9bc047596c013d1a9f0bd42fc3d5482c3913db 100644
(file)
--- a/
gtk2_ardour/selection.h
+++ b/
gtk2_ardour/selection.h
@@
-15,13
+15,13
@@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- $Id$
*/
#ifndef __ardour_gtk_selection_h__
#define __ardour_gtk_selection_h__
#include <vector>
*/
#ifndef __ardour_gtk_selection_h__
#define __ardour_gtk_selection_h__
#include <vector>
+#include <boost/shared_ptr.hpp>
#include <sigc++/signal.h>
#include <sigc++/signal.h>
@@
-30,21
+30,26
@@
#include "track_selection.h"
#include "automation_selection.h"
#include "playlist_selection.h"
#include "track_selection.h"
#include "automation_selection.h"
#include "playlist_selection.h"
-#include "
redirect
_selection.h"
+#include "
processor
_selection.h"
#include "point_selection.h"
class TimeAxisView;
class RegionView;
class Selectable;
#include "point_selection.h"
class TimeAxisView;
class RegionView;
class Selectable;
+class PublicEditor;
namespace ARDOUR {
class Region;
class AudioRegion;
class Playlist;
namespace ARDOUR {
class Region;
class AudioRegion;
class Playlist;
- class
Redirect
;
+ class
Processor
;
class AutomationList;
}
class AutomationList;
}
+/// Lists of selected things
+
+/** The Selection class holds lists of selected items (tracks, regions, etc. etc.). */
+
class Selection : public sigc::trackable
{
public:
class Selection : public sigc::trackable
{
public:
@@
-55,6
+60,7
@@
class Selection : public sigc::trackable
enum Operation {
Set,
enum Operation {
Set,
+ Add,
Toggle,
Extend
};
Toggle,
Extend
};
@@
-64,11
+70,9
@@
class Selection : public sigc::trackable
TimeSelection time;
AutomationSelection lines;
PlaylistSelection playlists;
TimeSelection time;
AutomationSelection lines;
PlaylistSelection playlists;
- RedirectSelection redirects;
PointSelection points;
PointSelection points;
- Selection() {
- next_time_id = 0;
+ Selection (PublicEditor const * e) : editor (e), next_time_id (0) {
clear();
}
clear();
}
@@
-79,7
+83,6
@@
class Selection : public sigc::trackable
sigc::signal<void> TimeChanged;
sigc::signal<void> LinesChanged;
sigc::signal<void> PlaylistsChanged;
sigc::signal<void> TimeChanged;
sigc::signal<void> LinesChanged;
sigc::signal<void> PlaylistsChanged;
- sigc::signal<void> RedirectsChanged;
sigc::signal<void> PointsChanged;
void clear ();
sigc::signal<void> PointsChanged;
void clear ();
@@
-90,64
+93,66
@@
class Selection : public sigc::trackable
bool selected (TimeAxisView*);
bool selected (RegionView*);
bool selected (TimeAxisView*);
bool selected (RegionView*);
- void set (list<Selectable*>&);
- void add (list<Selectable*>&);
+ void set (std::list<Selectable*>&);
+ void add (std::list<Selectable*>&);
+ void toggle (std::list<Selectable*>&);
void set (TimeAxisView*);
void set (TimeAxisView*);
- void set (const list<TimeAxisView*>&);
+ void set (const
std::
list<TimeAxisView*>&);
void set (RegionView*);
void set (std::vector<RegionView*>&);
void set (RegionView*);
void set (std::vector<RegionView*>&);
- long set (TimeAxisView*,
jack_nframes_t, jack_
nframes_t);
+ long set (TimeAxisView*,
nframes_t,
nframes_t);
void set (ARDOUR::AutomationList*);
void set (ARDOUR::AutomationList*);
- void set (ARDOUR::Playlist*);
- void set (const list<ARDOUR::Playlist*>&);
- void set (ARDOUR::Redirect*);
+ void set (boost::shared_ptr<ARDOUR::Playlist>);
+ void set (const std::list<boost::shared_ptr<ARDOUR::Playlist> >&);
void set (AutomationSelectable*);
void toggle (TimeAxisView*);
void set (AutomationSelectable*);
void toggle (TimeAxisView*);
- void toggle (const list<TimeAxisView*>&);
+ void toggle (const
std::
list<TimeAxisView*>&);
void toggle (RegionView*);
void toggle (std::vector<RegionView*>&);
void toggle (RegionView*);
void toggle (std::vector<RegionView*>&);
- long toggle (
jack_nframes_t, jack_
nframes_t);
+ long toggle (
nframes_t,
nframes_t);
void toggle (ARDOUR::AutomationList*);
void toggle (ARDOUR::AutomationList*);
- void toggle (
ARDOUR::Playlist*
);
- void toggle (const
list<ARDOUR::Playlist*
>&);
- void toggle (
ARDOUR::Redirect*
);
+ void toggle (
boost::shared_ptr<ARDOUR::Playlist>
);
+ void toggle (const
std::list<boost::shared_ptr<ARDOUR::Playlist>
>&);
+ void toggle (
const std::vector<AutomationSelectable*>&
);
void add (TimeAxisView*);
void add (TimeAxisView*);
- void add (const list<TimeAxisView*>&);
+ void add (const
std::
list<TimeAxisView*>&);
void add (RegionView*);
void add (std::vector<RegionView*>&);
void add (RegionView*);
void add (std::vector<RegionView*>&);
- long add (
jack_nframes_t, jack_
nframes_t);
+ long add (
nframes_t,
nframes_t);
void add (ARDOUR::AutomationList*);
void add (ARDOUR::AutomationList*);
- void add (ARDOUR::Playlist*);
- void add (const list<ARDOUR::Playlist*>&);
- void add (ARDOUR::Redirect*);
+ void add (boost::shared_ptr<ARDOUR::Playlist>);
+ void add (const std::list<boost::shared_ptr<ARDOUR::Playlist> >&);
void remove (TimeAxisView*);
void remove (TimeAxisView*);
- void remove (const list<TimeAxisView*>&);
+ void remove (const
std::
list<TimeAxisView*>&);
void remove (RegionView*);
void remove (uint32_t selection_id);
void remove (RegionView*);
void remove (uint32_t selection_id);
- void remove (
jack_nframes_t, jack_
nframes_t);
+ void remove (
nframes_t,
nframes_t);
void remove (ARDOUR::AutomationList*);
void remove (ARDOUR::AutomationList*);
- void remove (
ARDOUR::Playlist*
);
- void remove (const
list<ARDOUR::Playlist*
>&);
- void remove (
ARDOUR::Redirect*
);
+ void remove (
boost::shared_ptr<ARDOUR::Playlist>
);
+ void remove (const
std::list<boost::shared_ptr<ARDOUR::Playlist>
>&);
+ void remove (
const list<Selectable*>&
);
- void replace (uint32_t time_index,
jack_nframes_t start, jack_
nframes_t end);
+ void replace (uint32_t time_index,
nframes_t start,
nframes_t end);
void clear_regions();
void clear_tracks ();
void clear_time();
void clear_lines ();
void clear_playlists ();
void clear_regions();
void clear_tracks ();
void clear_time();
void clear_lines ();
void clear_playlists ();
- void clear_redirects ();
void clear_points ();
void foreach_region (void (ARDOUR::Region::*method)(void));
void clear_points ();
void foreach_region (void (ARDOUR::Region::*method)(void));
+ void foreach_regionview (void (RegionView::*method)(void));
template<class A> void foreach_region (void (ARDOUR::Region::*method)(A), A arg);
template<class A> void foreach_region (void (ARDOUR::Region::*method)(A), A arg);
+ void select_edit_group_regions ();
+
private:
private:
+ PublicEditor const * editor;
uint32_t next_time_id;
void add (std::vector<AutomationSelectable*>&);
uint32_t next_time_id;
void add (std::vector<AutomationSelectable*>&);