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
This commit is contained in:
Paul Davis 2011-03-03 18:32:06 +00:00
parent 80c46cc451
commit 477fca0de0
9 changed files with 75 additions and 53 deletions

View File

@ -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

View File

@ -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 ();
}
}

View File

@ -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 ();

View File

@ -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

View File

@ -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<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)
{

View File

@ -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);

View File

@ -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 ();
}
}

View File

@ -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; }

View File

@ -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;
}
}
/**