From 477fca0de02853b32ba5f0b43119d636e77f7a46 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Thu, 3 Mar 2011 18:32:06 +0000 Subject: deframe audio regions as well as MIDI when entering internal edit mode git-svn-id: svn://localhost/ardour2/branches/3.0@9057 d708f5d6-7413-0410-9779-e7cbd77b26cf --- gtk2_ardour/audio_region_view.cc | 50 ++++++++++++++++++++------------------ gtk2_ardour/audio_time_axis.cc | 16 ++++++++++++ gtk2_ardour/audio_time_axis.h | 3 +++ gtk2_ardour/midi_region_view.cc | 10 ++------ gtk2_ardour/midi_streamview.cc | 16 ------------ gtk2_ardour/midi_streamview.h | 3 --- gtk2_ardour/streamview.cc | 16 ++++++++++++ gtk2_ardour/streamview.h | 4 +-- gtk2_ardour/time_axis_view_item.cc | 10 ++++++++ 9 files changed, 75 insertions(+), 53 deletions(-) diff --git a/gtk2_ardour/audio_region_view.cc b/gtk2_ardour/audio_region_view.cc index d88b6b5266..0dea60b278 100644 --- a/gtk2_ardour/audio_region_view.cc +++ b/gtk2_ardour/audio_region_view.cc @@ -1335,37 +1335,39 @@ AudioRegionView::set_frame_color () } TimeAxisViewItem::set_frame_color (); + + uint32_t wc; + uint32_t fc; if (_selected) { - for (vector::iterator w = waves.begin(); w != waves.end(); ++w) { - if (_region->muted()) { - (*w)->property_wave_color() = UINT_RGBA_CHANGE_A(ARDOUR_UI::config()->canvasvar_SelectedWaveForm.get(), MUTED_ALPHA); - } else { - (*w)->property_wave_color() = ARDOUR_UI::config()->canvasvar_SelectedWaveForm.get(); - (*w)->property_fill_color() = ARDOUR_UI::config()->canvasvar_SelectedWaveFormFill.get(); - } - } + wc = UINT_RGBA_CHANGE_A(ARDOUR_UI::config()->canvasvar_SelectedWaveForm.get(), MUTED_ALPHA); + fc = ARDOUR_UI::config()->canvasvar_SelectedWaveFormFill.get(); } else { if (_recregion) { - for (vector::iterator w = waves.begin(); w != waves.end(); ++w) { - if (_region->muted()) { - (*w)->property_wave_color() = UINT_RGBA_CHANGE_A(ARDOUR_UI::config()->canvasvar_RecWaveForm.get(), MUTED_ALPHA); - } else { - (*w)->property_wave_color() = ARDOUR_UI::config()->canvasvar_RecWaveForm.get(); - (*w)->property_fill_color() = ARDOUR_UI::config()->canvasvar_RecWaveFormFill.get(); - } - } + if (_region->muted()) { + wc = UINT_RGBA_CHANGE_A(ARDOUR_UI::config()->canvasvar_RecWaveForm.get(), MUTED_ALPHA); + } else { + wc = ARDOUR_UI::config()->canvasvar_RecWaveForm.get(); + fc = ARDOUR_UI::config()->canvasvar_RecWaveFormFill.get(); + } } else { - for (vector::iterator w = waves.begin(); w != waves.end(); ++w) { - if (_region->muted()) { - (*w)->property_wave_color() = UINT_RGBA_CHANGE_A(ARDOUR_UI::config()->canvasvar_WaveForm.get(), MUTED_ALPHA); - } else { - (*w)->property_wave_color() = ARDOUR_UI::config()->canvasvar_WaveForm.get(); - (*w)->property_fill_color() = ARDOUR_UI::config()->canvasvar_WaveFormFill.get(); - } - } + if (_region->muted()) { + wc = UINT_RGBA_CHANGE_A(ARDOUR_UI::config()->canvasvar_WaveForm.get(), MUTED_ALPHA); + } else { + wc = ARDOUR_UI::config()->canvasvar_WaveForm.get(); + fc = ARDOUR_UI::config()->canvasvar_WaveFormFill.get(); + } } } + + for (vector::iterator w = waves.begin(); w != waves.end(); ++w) { + if (_region->muted()) { + (*w)->property_wave_color() = wc; + } else { + (*w)->property_wave_color() = wc; + (*w)->property_fill_color() = fc; + } + } } void diff --git a/gtk2_ardour/audio_time_axis.cc b/gtk2_ardour/audio_time_axis.cc index 35033c3991..5cfe3500db 100644 --- a/gtk2_ardour/audio_time_axis.cc +++ b/gtk2_ardour/audio_time_axis.cc @@ -477,3 +477,19 @@ AudioTimeAxisView::add_processor_to_subplugin_menu (boost::weak_ptr w RouteTimeAxisView::add_processor_to_subplugin_menu (wp); } } + +void +AudioTimeAxisView::enter_internal_edit_mode () +{ + if (audio_view()) { + audio_view()->enter_internal_edit_mode (); + } +} + +void +AudioTimeAxisView::leave_internal_edit_mode () +{ + if (audio_view()) { + audio_view()->leave_internal_edit_mode (); + } +} diff --git a/gtk2_ardour/audio_time_axis.h b/gtk2_ardour/audio_time_axis.h index 4841fcda81..1023c1edf5 100644 --- a/gtk2_ardour/audio_time_axis.h +++ b/gtk2_ardour/audio_time_axis.h @@ -80,6 +80,9 @@ class AudioTimeAxisView : public RouteTimeAxisView guint32 show_at (double y, int& nth, Gtk::VBox *parent); void hide (); + void enter_internal_edit_mode (); + void leave_internal_edit_mode (); + void create_automation_child (const Evoral::Parameter& param, bool show); void first_idle (); diff --git a/gtk2_ardour/midi_region_view.cc b/gtk2_ardour/midi_region_view.cc index 3ae527cc9a..464058397a 100644 --- a/gtk2_ardour/midi_region_view.cc +++ b/gtk2_ardour/midi_region_view.cc @@ -2858,6 +2858,8 @@ MidiRegionView::set_frame_color() { uint32_t f; + TimeAxisViewItem::set_frame_color (); + if (!frame) { return; } @@ -2875,14 +2877,6 @@ MidiRegionView::set_frame_color() } frame->property_fill_color_rgba() = f; - - f = ARDOUR_UI::config()->canvasvar_TimeAxisFrame.get(); - - if (!rect_visible) { - f = UINT_RGBA_CHANGE_A (f, 64); - } - - frame->property_outline_color_rgba() = f; } void diff --git a/gtk2_ardour/midi_streamview.cc b/gtk2_ardour/midi_streamview.cc index 807d6253d4..723b522202 100644 --- a/gtk2_ardour/midi_streamview.cc +++ b/gtk2_ardour/midi_streamview.cc @@ -206,22 +206,6 @@ MidiStreamView::display_region(MidiRegionView* region_view, bool load_model) region_view->display_model(source->model()); } -void -MidiStreamView::enter_internal_edit_mode () -{ - for (list::iterator i = region_views.begin(); i != region_views.end(); ++i) { - (*i)->hide_rect (); - } -} - -void -MidiStreamView::leave_internal_edit_mode () -{ - for (list::iterator i = region_views.begin(); i != region_views.end(); ++i) { - (*i)->show_rect (); - } -} - void MidiStreamView::display_track (boost::shared_ptr tr) { diff --git a/gtk2_ardour/midi_streamview.h b/gtk2_ardour/midi_streamview.h index 8acb62b51e..0774fd61bd 100644 --- a/gtk2_ardour/midi_streamview.h +++ b/gtk2_ardour/midi_streamview.h @@ -56,9 +56,6 @@ class MidiStreamView : public StreamView MidiStreamView (MidiTimeAxisView&); ~MidiStreamView (); - void enter_internal_edit_mode (); - void leave_internal_edit_mode (); - void set_selected_regionviews (RegionSelection&); void get_inverted_selectables (Selection&, std::list& results); diff --git a/gtk2_ardour/streamview.cc b/gtk2_ardour/streamview.cc index f17e66f9d3..34e2b394af 100644 --- a/gtk2_ardour/streamview.cc +++ b/gtk2_ardour/streamview.cc @@ -648,3 +648,19 @@ StreamView::setup_new_rec_layer_time (boost::shared_ptr region) _new_rec_layer_time = max_framepos; } } + +void +StreamView::enter_internal_edit_mode () +{ + for (list::iterator i = region_views.begin(); i != region_views.end(); ++i) { + (*i)->hide_rect (); + } +} + +void +StreamView::leave_internal_edit_mode () +{ + for (list::iterator i = region_views.begin(); i != region_views.end(); ++i) { + (*i)->show_rect (); + } +} diff --git a/gtk2_ardour/streamview.h b/gtk2_ardour/streamview.h index 3268519534..24ab1182d9 100644 --- a/gtk2_ardour/streamview.h +++ b/gtk2_ardour/streamview.h @@ -74,8 +74,8 @@ public: gdouble get_samples_per_unit () { return _samples_per_unit; } virtual void horizontal_position_changed () {} - virtual void enter_internal_edit_mode () {} - virtual void leave_internal_edit_mode () {} + virtual void enter_internal_edit_mode (); + virtual void leave_internal_edit_mode (); void set_layer_display (LayerDisplay); LayerDisplay layer_display () const { return _layer_display; } diff --git a/gtk2_ardour/time_axis_view_item.cc b/gtk2_ardour/time_axis_view_item.cc index 43634f43f5..aa9fc24b23 100644 --- a/gtk2_ardour/time_axis_view_item.cc +++ b/gtk2_ardour/time_axis_view_item.cc @@ -746,6 +746,16 @@ TimeAxisViewItem::set_frame_color() } frame->property_fill_color_rgba() = f; + + if (!_recregion) { + f = ARDOUR_UI::config()->canvasvar_TimeAxisFrame.get(); + + if (!rect_visible) { + f = UINT_RGBA_CHANGE_A (f, 64); + } + + frame->property_outline_color_rgba() = f; + } } /** -- cgit v1.2.3