summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2011-03-03 18:32:06 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2011-03-03 18:32:06 +0000
commit477fca0de02853b32ba5f0b43119d636e77f7a46 (patch)
tree4f40bbc3cd20db5668efe5311b665140e398b25b /gtk2_ardour
parent80c46cc451fed4b50bd1e974b4586fcea99c1ab5 (diff)
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
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/audio_region_view.cc50
-rw-r--r--gtk2_ardour/audio_time_axis.cc16
-rw-r--r--gtk2_ardour/audio_time_axis.h3
-rw-r--r--gtk2_ardour/midi_region_view.cc10
-rw-r--r--gtk2_ardour/midi_streamview.cc16
-rw-r--r--gtk2_ardour/midi_streamview.h3
-rw-r--r--gtk2_ardour/streamview.cc16
-rw-r--r--gtk2_ardour/streamview.h4
-rw-r--r--gtk2_ardour/time_axis_view_item.cc10
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<ArdourCanvas::WaveView*>::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<ArdourCanvas::WaveView*>::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<ArdourCanvas::WaveView*>::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<ArdourCanvas::WaveView*>::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<Processor> 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
@@ -207,22 +207,6 @@ MidiStreamView::display_region(MidiRegionView* region_view, bool load_model)
}
void
-MidiStreamView::enter_internal_edit_mode ()
-{
- for (list<RegionView*>::iterator i = region_views.begin(); i != region_views.end(); ++i) {
- (*i)->hide_rect ();
- }
-}
-
-void
-MidiStreamView::leave_internal_edit_mode ()
-{
- for (list<RegionView*>::iterator i = region_views.begin(); i != region_views.end(); ++i) {
- (*i)->show_rect ();
- }
-}
-
-void
MidiStreamView::display_track (boost::shared_ptr<Track> tr)
{
StreamView::display_track (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<Selectable* >& 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> region)
_new_rec_layer_time = max_framepos;
}
}
+
+void
+StreamView::enter_internal_edit_mode ()
+{
+ for (list<RegionView*>::iterator i = region_views.begin(); i != region_views.end(); ++i) {
+ (*i)->hide_rect ();
+ }
+}
+
+void
+StreamView::leave_internal_edit_mode ()
+{
+ for (list<RegionView*>::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;
+ }
}
/**