diff options
author | Hans Baier <hansfbaier@googlemail.com> | 2009-01-28 04:55:31 +0000 |
---|---|---|
committer | Hans Baier <hansfbaier@googlemail.com> | 2009-01-28 04:55:31 +0000 |
commit | 3705a2d6307cf443acbf8419b0e0f560591f2016 (patch) | |
tree | 0702629940e808aa553d1d344ac49dac2d7ca9c2 /gtk2_ardour | |
parent | 6c538ab719c49262da159e9568bb1f8fb30e1518 (diff) |
* MIDI control lanes: Set Interpolationtype according to Parameter
git-svn-id: svn://localhost/ardour2/branches/3.0@4452 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/automation_region_view.cc | 1 | ||||
-rw-r--r-- | gtk2_ardour/automation_streamview.cc | 6 | ||||
-rw-r--r-- | gtk2_ardour/automation_time_axis.cc | 15 | ||||
-rw-r--r-- | gtk2_ardour/midi_region_view.cc | 3 | ||||
-rw-r--r-- | gtk2_ardour/midi_streamview.cc | 3 | ||||
-rw-r--r-- | gtk2_ardour/midi_time_axis.cc | 2 |
6 files changed, 22 insertions, 8 deletions
diff --git a/gtk2_ardour/automation_region_view.cc b/gtk2_ardour/automation_region_view.cc index 9efb03c9f9..5eae11463f 100644 --- a/gtk2_ardour/automation_region_view.cc +++ b/gtk2_ardour/automation_region_view.cc @@ -68,6 +68,7 @@ AutomationRegionView::create_line (boost::shared_ptr<ARDOUR::AutomationList> lis ARDOUR::EventTypeMap::instance().to_symbol(list->parameter()), trackview, *get_canvas_group(), list)); _line->set_colors(); + _line->set_interpolation(list->interpolation()); _line->show(); _line->show_all_control_points(); _line->set_height ((uint32_t)rint(trackview.current_height() - NAME_HIGHLIGHT_SIZE)); diff --git a/gtk2_ardour/automation_streamview.cc b/gtk2_ardour/automation_streamview.cc index b02d511d07..e7ab760709 100644 --- a/gtk2_ardour/automation_streamview.cc +++ b/gtk2_ardour/automation_streamview.cc @@ -158,11 +158,13 @@ AutomationStreamView::redisplay_diskstream () { list<RegionView *>::iterator i, tmp; - for (i = region_views.begin(); i != region_views.end(); ++i) + for (i = region_views.begin(); i != region_views.end(); ++i) { (*i)->set_valid (false); + } if (_trackview.is_track()) { - _trackview.get_diskstream()->playlist()->foreach_region (static_cast<StreamView*>(this), &StreamView::add_region_view); + _trackview.get_diskstream()->playlist()->foreach_region ( + static_cast<StreamView*>(this), &StreamView::add_region_view); } for (i = region_views.begin(); i != region_views.end(); ) { diff --git a/gtk2_ardour/automation_time_axis.cc b/gtk2_ardour/automation_time_axis.cc index e3b5ee9f4c..3fa98003ce 100644 --- a/gtk2_ardour/automation_time_axis.cc +++ b/gtk2_ardour/automation_time_axis.cc @@ -377,7 +377,11 @@ void AutomationTimeAxisView::set_height (uint32_t h) { bool changed = (height != (uint32_t) h) || first_call_to_set_height; - bool changed_between_small_and_normal = ( (height < hNormal && h >= hNormal) || (height >= hNormal || h < hNormal) ); + bool changed_between_small_and_normal = ( + (height < hNormal && h >= hNormal) || + (height >= hNormal || + h < hNormal) + ); TimeAxisView* state_parent = get_parent_with_state (); assert(state_parent); @@ -527,7 +531,9 @@ AutomationTimeAxisView::build_display_menu () items.push_back (MenuElem (_("State"), *auto_state_menu)); /* mode menu */ - + + // To be deleted: MIDI events should always be discrete, so no choice for the user here. + /* if ( EventTypeMap::instance().is_midi_parameter(_control->parameter()) ) { Menu* auto_mode_menu = manage (new Menu); @@ -540,16 +546,17 @@ AutomationTimeAxisView::build_display_menu () 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); + mode_discrete_item->set_active(_control->list()->interpolation() == AutomationList::Discrete); 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); + mode_line_item->set_active(_control->list()->interpolation() == AutomationList::Linear); items.push_back (MenuElem (_("Mode"), *auto_mode_menu)); } + */ /* make sure the automation menu state is correct */ diff --git a/gtk2_ardour/midi_region_view.cc b/gtk2_ardour/midi_region_view.cc index 1c18dd60c4..b00a4a5550 100644 --- a/gtk2_ardour/midi_region_view.cc +++ b/gtk2_ardour/midi_region_view.cc @@ -147,8 +147,9 @@ MidiRegionView::MidiRegionView (const MidiRegionView& other, boost::shared_ptr<M void MidiRegionView::init (Gdk::Color& basic_color, bool wfd) { - if (wfd) + if (wfd) { midi_region()->midi_source(0)->load_model(); + } const Meter& m = trackview.session().tempo_map().meter_at(_region->position()); const Tempo& t = trackview.session().tempo_map().tempo_at(_region->position()); diff --git a/gtk2_ardour/midi_streamview.cc b/gtk2_ardour/midi_streamview.cc index 4646729c42..f3d807af03 100644 --- a/gtk2_ardour/midi_streamview.cc +++ b/gtk2_ardour/midi_streamview.cc @@ -177,8 +177,9 @@ MidiStreamView::display_region(MidiRegionView* region_view, bool load_model) boost::shared_ptr<MidiSource> source(region_view->midi_region()->midi_source(0)); - if (load_model) + if (load_model) { source->load_model(); + } _range_dirty = update_data_note_range( source->model()->lowest_note(), diff --git a/gtk2_ardour/midi_time_axis.cc b/gtk2_ardour/midi_time_axis.cc index c482c744cf..3376a9da9f 100644 --- a/gtk2_ardour/midi_time_axis.cc +++ b/gtk2_ardour/midi_time_axis.cc @@ -503,6 +503,8 @@ MidiTimeAxisView::create_automation_child (const Evoral::Parameter& param, bool c = boost::dynamic_pointer_cast<AutomationControl>(_route->control_factory(param)); _route->add_control(c); } + + assert(c); boost::shared_ptr<AutomationTimeAxisView> track(new AutomationTimeAxisView (_session, _route, boost::shared_ptr<ARDOUR::Automatable>(), c, |