summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk2_ardour/automation_time_axis.cc17
-rw-r--r--libs/ardour/event_type_map.cc6
2 files changed, 12 insertions, 11 deletions
diff --git a/gtk2_ardour/automation_time_axis.cc b/gtk2_ardour/automation_time_axis.cc
index 63476b051b..8e0445c4eb 100644
--- a/gtk2_ardour/automation_time_axis.cc
+++ b/gtk2_ardour/automation_time_axis.cc
@@ -535,7 +535,7 @@ AutomationTimeAxisView::build_display_menu ()
/* 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");
@@ -544,17 +544,18 @@ AutomationTimeAxisView::build_display_menu ()
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);
}
diff --git a/libs/ardour/event_type_map.cc b/libs/ardour/event_type_map.cc
index dd5b1a9149..0388a934f2 100644
--- a/libs/ardour/event_type_map.cc
+++ b/libs/ardour/event_type_map.cc
@@ -118,9 +118,9 @@ EventTypeMap::interpolation_of(const Evoral::Parameter& param)
case MIDI_CTL_OMNI_ON:
case MIDI_CTL_MONO:
case MIDI_CTL_POLY:
- return Evoral::ControlList::Discrete;
- break;
- default: return Evoral::ControlList::Linear; break;
+ return Evoral::ControlList::Discrete; break;
+ default:
+ return Evoral::ControlList::Linear; break;
}
break;
case MidiPgmChangeAutomation: return Evoral::ControlList::Discrete; break;