#include "ardour/automation_control.h"
#include "ardour/event_type_map.h"
#include "ardour/route.h"
+#include "ardour/session.h"
#include "ardour_ui.h"
#include "automation_time_axis.h"
mem_fun (_editor, &PublicEditor::canvas_automation_track_event),
_base_rect, this));
- // _base_rect->lower_to_bottom();
+ if (!a) {
+ _base_rect->lower_to_bottom();
+ }
hide_button.add (*(manage (new Gtk::Image (::get_icon("hide")))));
shortened = true;
}
- plugname = new Label (pname);
+ plugname = new Label (pname);
plugname->set_name (X_("TrackPlugName"));
plugname->show();
name_label.set_name (X_("TrackParameterName"));
/* mode menu */
- if ( EventTypeMap::instance().is_midi_parameter(_control->parameter()) ) {
+ if (EventTypeMap::instance().is_midi_parameter(_control->parameter())) {
Menu* auto_mode_menu = manage (new Menu);
auto_mode_menu->set_name ("ArdourContextMenu");
RadioMenuItem::Group group;
am_items.push_back (RadioMenuElem (group, _("Discrete"), bind (
- mem_fun(*this, &AutomationTimeAxisView::set_interpolation),
- AutomationList::Discrete)));
+ mem_fun(*this, &AutomationTimeAxisView::set_interpolation),
+ AutomationList::Discrete)));
mode_discrete_item = dynamic_cast<CheckMenuItem*>(&am_items.back());
mode_discrete_item->set_active(_control->list()->interpolation() == AutomationList::Discrete);
- // For discrete types we dont allow the linear option since it makes no sense for those Controls
+ am_items.push_back (RadioMenuElem (group, _("Linear"), bind (
+ mem_fun(*this, &AutomationTimeAxisView::set_interpolation),
+ AutomationList::Linear)));
+ mode_line_item = dynamic_cast<CheckMenuItem*>(&am_items.back());
+
+ // Set default interpolation type to linear if this isn't a (usually) discrete controller
if (EventTypeMap::instance().interpolation_of(_control->parameter()) == Evoral::ControlList::Linear) {
- am_items.push_back (RadioMenuElem (group, _("Line"), bind (
- mem_fun(*this, &AutomationTimeAxisView::set_interpolation),
- AutomationList::Linear)));
- mode_line_item = dynamic_cast<CheckMenuItem*>(&am_items.back());
mode_line_item->set_active(_control->list()->interpolation() == AutomationList::Linear);
}
_session.set_dirty ();
}
-
bool
AutomationTimeAxisView::cut_copy_clear (Selection& selection, CutCopyOp op)
{