49 , syncing_selection (false)
50 , syncing_punch (false)
52 set_name (
X_(
"TimeInfoBox"));
70 set_homogeneous (
false);
74 pack_start (
left,
true,
true);
76 pack_start (
right,
true,
true);
79 left.set_homogeneous (
false);
80 left.set_spacings (0);
81 left.set_border_width (2);
82 left.set_col_spacings (2);
84 right.set_homogeneous (
false);
85 right.set_spacings (0);
86 right.set_border_width (2);
87 right.set_col_spacings (2);
93 l = manage (
new Label);
94 l->set_text (
_(
"Start"));
95 l->set_alignment (1.0, 0.5);
96 l->set_name (
X_(
"TimeInfoSelectionLabel"));
97 left.attach (*l, 0, 1, 1, 2, FILL);
100 l = manage (
new Label);
101 l->set_text (
_(
"End"));
102 l->set_alignment (1.0, 0.5);
103 l->set_name (
X_(
"TimeInfoSelectionLabel"));
104 left.attach (*l, 0, 1, 2, 3, FILL);
107 l = manage (
new Label);
108 l->set_text (
_(
"Length"));
109 l->set_alignment (1.0, 0.5);
110 l->set_name (
X_(
"TimeInfoSelectionLabel"));
111 left.attach (*l, 0, 1, 3, 4, FILL);
177 if (selection.
regions.empty()) {
187 if (!what_changed.
contains (our_interests)) {
206 if (ev->button == 1) {
243 SessionHandlePtr::set_session (s);
274 case Editing::MouseContent:
281 case Editing::MouseObject:
282 if (selection.
regions.empty()) {
283 if (selection.
points.empty()) {
285 Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic (act);
287 if (tact && tact->get_active() && !selection.
time.empty()) {
303 for (PointSelection::iterator i = selection.
points.begin(); i != selection.
points.end(); ++i) {
304 framepos_t const p = (*i)->line().session_position ((*i)->model ());
327 case Editing::MouseRange:
328 if (selection.
time.empty()) {
330 Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic (act);
332 if (tact && tact->get_active() && !selection.
regions.empty()) {
static PBD::Signal1< void, Location * > start_changed
framepos_t current_time(framepos_t position=0) const
static PBD::Signal1< void, Location * > end_changed
void set(framepos_t, bool force=false, ARDOUR::framecnt_t offset=0)
void set_session(ARDOUR::Session *s)
framepos_t end_frame() const
void region_property_change(boost::shared_ptr< ARDOUR::Region > r, const PBD::PropertyChange &what_changed)
Lists of selected things.
sigc::signal< void > mode_changed
LIBGTKMM2EXT_API Glib::RefPtr< Gtk::Action > get_action(const char *group, const char *name)
ARDOUR::framepos_t end_frame()
sigc::signal< void > TimeChanged
void set_session(ARDOUR::Session *)
LIBARDOUR_API PBD::PropertyDescriptor< framepos_t > start
void sync_punch_mode(AudioClock *)
void request_locate(framepos_t frame, bool with_roll=false)
PBD::ScopedConnectionList editor_connections
void punch_changed(ARDOUR::Location *)
bool clock_button_release_event(GdkEventButton *ev, AudioClock *src)
ArdourButton punch_out_button
AudioClock * selection_length
PBD::ScopedConnectionList region_property_connections
PBD::ScopedConnectionList punch_connections
virtual Selection & get_selection() const =0
PBD::ScopedConnectionList _session_connections
LIBARDOUR_API RuntimeProfile * Profile
void set_tip(Gtk::Widget &w, const gchar *tip)
static PublicEditor & instance()
void punch_location_changed(ARDOUR::Location *)
ARDOUR::framepos_t start()
ARDOUR::framepos_t length()
ArdourButton punch_in_button
LIBARDOUR_API PBD::PropertyDescriptor< framepos_t > position
AudioClock * selection_end
AudioClock * selection_start
PBD::Signal1< void, Location * > auto_punch_location_changed
Gtk::Label selection_title
bool contains(PropertyDescriptor< T > p) const
void sync_selection_mode(AudioClock *)
static const framepos_t max_framepos
sigc::signal< void > RegionsChanged
#define MISSING_INVALIDATOR
PBD::Signal0< void > MouseModeChanged
void watch_punch(ARDOUR::Location *)
ARDOUR::Session * _session
LIBARDOUR_API PBD::PropertyDescriptor< framecnt_t > length
Location * auto_punch_location() const