Snap new automation points on audio lanes (part of #4297).
git-svn-id: svn://localhost/ardour2/branches/3.0@10570 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
ef4ac379a3
commit
28123e436d
@ -558,7 +558,7 @@ AutomationTimeAxisView::build_display_menu ()
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
AutomationTimeAxisView::add_automation_event (ArdourCanvas::Item* /*item*/, GdkEvent* /*event*/, framepos_t when, double y)
|
AutomationTimeAxisView::add_automation_event (GdkEvent* event, framepos_t when, double y)
|
||||||
{
|
{
|
||||||
if (!_line) {
|
if (!_line) {
|
||||||
return;
|
return;
|
||||||
@ -578,6 +578,8 @@ AutomationTimeAxisView::add_automation_event (ArdourCanvas::Item* /*item*/, GdkE
|
|||||||
|
|
||||||
boost::shared_ptr<AutomationList> list = _line->the_list ();
|
boost::shared_ptr<AutomationList> list = _line->the_list ();
|
||||||
|
|
||||||
|
_editor.snap_to_with_modifier (when, event);
|
||||||
|
|
||||||
_session->begin_reversible_command (_("add automation event"));
|
_session->begin_reversible_command (_("add automation event"));
|
||||||
XMLNode& before = list->get_state();
|
XMLNode& before = list->get_state();
|
||||||
|
|
||||||
|
@ -72,7 +72,7 @@ class AutomationTimeAxisView : public TimeAxisView {
|
|||||||
void set_samples_per_unit (double);
|
void set_samples_per_unit (double);
|
||||||
std::string name() const { return _name; }
|
std::string name() const { return _name; }
|
||||||
|
|
||||||
void add_automation_event (ArdourCanvas::Item *item, GdkEvent *event, framepos_t, double);
|
void add_automation_event (GdkEvent *, framepos_t, double);
|
||||||
|
|
||||||
void clear_lines ();
|
void clear_lines ();
|
||||||
|
|
||||||
|
@ -1474,7 +1474,7 @@ Editor::button_release_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemT
|
|||||||
case AutomationTrackItem:
|
case AutomationTrackItem:
|
||||||
atv = dynamic_cast<AutomationTimeAxisView*>(clicked_axisview);
|
atv = dynamic_cast<AutomationTimeAxisView*>(clicked_axisview);
|
||||||
if (atv) {
|
if (atv) {
|
||||||
atv->add_automation_event (item, event, where, event->button.y);
|
atv->add_automation_event (event, where, event->button.y);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
break;
|
break;
|
||||||
@ -1502,7 +1502,7 @@ Editor::button_release_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemT
|
|||||||
|
|
||||||
case AutomationTrackItem:
|
case AutomationTrackItem:
|
||||||
dynamic_cast<AutomationTimeAxisView*>(clicked_axisview)->
|
dynamic_cast<AutomationTimeAxisView*>(clicked_axisview)->
|
||||||
add_automation_event (item, event, where, event->button.y);
|
add_automation_event (event, where, event->button.y);
|
||||||
return true;
|
return true;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -387,6 +387,8 @@ class PublicEditor : public Gtk::Window, public PBD::StatefulDestructible {
|
|||||||
virtual ARDOUR::Location* find_location_from_marker (Marker *, bool &) const = 0;
|
virtual ARDOUR::Location* find_location_from_marker (Marker *, bool &) const = 0;
|
||||||
virtual Marker* find_marker_from_location_id (PBD::ID const &, bool) const = 0;
|
virtual Marker* find_marker_from_location_id (PBD::ID const &, bool) const = 0;
|
||||||
|
|
||||||
|
virtual void snap_to_with_modifier (framepos_t &, GdkEvent const *, int32_t direction = 0, bool for_mark = false) = 0;
|
||||||
|
|
||||||
/// Singleton instance, set up by Editor::Editor()
|
/// Singleton instance, set up by Editor::Editor()
|
||||||
|
|
||||||
static PublicEditor* _instance;
|
static PublicEditor* _instance;
|
||||||
|
Loading…
Reference in New Issue
Block a user