delete _step_editor;
}
+void
+MidiTimeAxisView::enter_internal_edit_mode ()
+{
+ if (midi_view()) {
+ midi_view()->enter_internal_edit_mode ();
+ }
+}
+
+void
+MidiTimeAxisView::leave_internal_edit_mode ()
+{
+ if (midi_view()) {
+ midi_view()->leave_internal_edit_mode ();
+ }
+}
+
void
MidiTimeAxisView::check_step_edit ()
{
items.push_back (CheckMenuElem (_("MIDI Thru"), sigc::mem_fun(*this, &MidiTimeAxisView::toggle_midi_thru)));
_midi_thru_item = dynamic_cast<CheckMenuItem*>(&items.back());
+
+ items.push_back (SeparatorElem ());
}
Gtk::Menu*
automation_items.push_back (MenuElem (_("Controllers"), *controller_menu));
} else {
automation_items.push_back (MenuElem (string_compose ("<i>%1</i>", _("No MIDI Channels selected"))));
+ dynamic_cast<Label*> (automation_items.back().get_child())->set_use_markup (true);
}
}
if (selected_channels & (0x0001 << chn)) {
Evoral::Parameter fully_qualified_param (MidiCCAutomation, chn, ctl);
- ctl_items.push_back (CheckMenuElem (_route->describe_parameter (fully_qualified_param),
- sigc::bind (sigc::mem_fun (*this, &RouteTimeAxisView::toggle_automation_track),
- fully_qualified_param)));
+ ctl_items.push_back (
+ CheckMenuElem (
+ string_compose ("<b>%1</b>: %2 [%3]", ctl, midi_name (ctl), int (chn)),
+ sigc::bind (sigc::mem_fun (*this, &RouteTimeAxisView::toggle_automation_track),
+ fully_qualified_param)
+ )
+ );
+ dynamic_cast<Label*> (ctl_items.back().get_child())->set_use_markup (true);
boost::shared_ptr<AutomationTimeAxisView> track = automation_child (fully_qualified_param);
bool visible = false;
/* These controllers are region "automation", so we do not create
* an AutomationList/Line for the track */
- boost::shared_ptr<AutomationControl> c = _route->get_control (param);
- assert (c);
-
- boost::shared_ptr<AutomationTimeAxisView> track(new AutomationTimeAxisView (_session,
- _route, boost::shared_ptr<ARDOUR::Automatable>(), c,
- _editor,
- *this,
- true,
- parent_canvas,
- _route->describe_parameter(param)));
+ boost::shared_ptr<AutomationTimeAxisView> track (
+ new AutomationTimeAxisView (
+ _session,
+ _route,
+ boost::shared_ptr<Automatable> (),
+ boost::shared_ptr<AutomationControl> (),
+ param,
+ _editor,
+ *this,
+ true,
+ parent_canvas,
+ _route->describe_parameter(param)
+ )
+ );
+
+ if (_view) {
+ _view->foreach_regionview (sigc::mem_fun (*track.get(), &TimeAxisView::add_ghost));
+ }
add_automation_child (param, track, show);
}
/* TODO: Bender, Pressure */
- /* invalidate the controller menu, so that we rebuilt it next time */
+ /* invalidate the controller menu, so that we rebuild it next time */
_controller_menu_map.clear ();
delete controller_menu;
controller_menu = 0;