X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Faudio_streamview.cc;h=8d12fef2c230847543daf44a362a4c8b2968d989;hb=49a9fa20a56c6f5607e7bcf209985a67972c3f31;hp=9666f7a33fdd7e5e0524cabbbf3596afca702616;hpb=c271a302734e8a171288d00515c4b1bb30e7e857;p=ardour.git diff --git a/gtk2_ardour/audio_streamview.cc b/gtk2_ardour/audio_streamview.cc index 9666f7a33f..8d12fef2c2 100644 --- a/gtk2_ardour/audio_streamview.cc +++ b/gtk2_ardour/audio_streamview.cc @@ -31,6 +31,7 @@ #include #include #include +#include #include "audio_streamview.h" #include "audio_region_view.h" @@ -57,17 +58,10 @@ AudioStreamView::AudioStreamView (AudioTimeAxisView& tv) : StreamView (tv) { crossfades_visible = true; - outline_region = false; _waveform_scale = LinearWaveform; _waveform_shape = Traditional; - - if (tv.is_audio_track()) - stream_base_color = ARDOUR_UI::config()->canvasvar_AudioTrackBase.get(); - else - stream_base_color = ARDOUR_UI::config()->canvasvar_AudioBusBase.get(); - - canvas_rect->property_fill_color_rgba() = stream_base_color; - canvas_rect->property_outline_color_rgba() = RGBA_BLACK; + + color_handler (); _amplitude_above_axis = 1.0; @@ -167,7 +161,7 @@ AudioStreamView::add_region_view_internal (boost::shared_ptr r, bool wai _samples_per_unit, region_color, recording, TimeAxisViewItem::Visibility(TimeAxisViewItem::ShowFrame | TimeAxisViewItem::HideFrameRight)); } else { region_view = new AudioRegionView (canvas_group, _trackview, region, - _samples_per_unit, region_color); + _samples_per_unit, region_color); } break; case Destructive: @@ -470,7 +464,7 @@ AudioStreamView::set_waveform_scale (WaveformScale scale) void AudioStreamView::setup_rec_box () { - cerr << _trackview.name() << " streamview SRB region_views.size() = " << region_views.size() << endl; + //cerr << _trackview.name() << " streamview SRB region_views.size() = " << region_views.size() << endl; if (_trackview.session().transport_rolling()) { @@ -479,7 +473,6 @@ AudioStreamView::setup_rec_box () if (!rec_active && _trackview.session().record_status() == Session::Recording && _trackview.get_diskstream()->record_enabled()) { - cerr << "rec_active = 0" << endl; if (_trackview.audio_track()->mode() == Normal && use_rec_regions && rec_regions.size() == rec_rects.size()) { /* add a new region, but don't bother if they set use_rec_regions mid-record */ @@ -566,11 +559,9 @@ AudioStreamView::setup_rec_box () } else if (rec_active && (_trackview.session().record_status() != Session::Recording || !_trackview.get_diskstream()->record_enabled())) { - cerr << "rec_active = 1" << endl; screen_update_connection.disconnect(); rec_active = false; rec_updating = false; - outline_region = true; } } else { @@ -657,7 +648,6 @@ void AudioStreamView::update_rec_regions () { if (use_rec_regions) { - cerr << "AudioStreamView::update_rec_regions () outline_region = " << outline_region << endl; uint32_t n = 0; for (list >::iterator iter = rec_regions.begin(); iter != rec_regions.end(); n++) { @@ -688,15 +678,6 @@ AudioStreamView::update_rec_regions () if (nlen != region->length()) { - if (outline_region) { - for (list::iterator i = region_views.begin(); i != region_views.end(); ++i) { - if ((*i)->region() == region) { - (*i)->outline_entire_box(); - outline_region = false; - } - } - } - region->freeze (); region->set_position (_trackview.get_diskstream()->get_capture_start_frame(n), this); region->set_length (nlen, this); @@ -705,14 +686,6 @@ AudioStreamView::update_rec_regions () if (origlen == 1) { /* our special initial length */ add_region_view_internal (region, false, true); - if (outline_region) { - outline_region = false; - for (list::iterator i = region_views.begin(); i != region_views.end(); ++i) { - if ((*i)->region() == region) { - (*i)->outline_entire_box(); - } - } - } } /* also update rect */ @@ -730,15 +703,6 @@ AudioStreamView::update_rec_regions () if (region->source(0)->length() >= region->start() + nlen) { - if (outline_region) { - for (list::iterator i = region_views.begin(); i != region_views.end(); ++i) { - if ((*i)->region() == region) { - (*i)->outline_entire_box(); - outline_region = false; - } - } - } - region->freeze (); region->set_position (_trackview.get_diskstream()->get_capture_start_frame(n), this); region->set_length (nlen, this); @@ -762,6 +726,28 @@ AudioStreamView::update_rec_regions () } } +void +AudioStreamView::show_all_fades () +{ + for (list::iterator i = region_views.begin(); i != region_views.end(); ++i) { + AudioRegionView* const arv = dynamic_cast(*i); + if (arv) { + arv->set_fade_visibility (true); + } + } +} + +void +AudioStreamView::hide_all_fades () +{ + for (list::iterator i = region_views.begin(); i != region_views.end(); ++i) { + AudioRegionView* const arv = dynamic_cast(*i); + if (arv) { + arv->set_fade_visibility (false); + } + } +} + void AudioStreamView::show_all_xfades () { @@ -804,8 +790,11 @@ AudioStreamView::color_handler () } if (!_trackview.is_track()) { - canvas_rect->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_AudioBusBase.get(); + if (Profile->get_sae() && _trackview.route()->master()) { + canvas_rect->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_AudioMasterBusBase.get(); + } else { + canvas_rect->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_AudioBusBase.get(); + } } - }