X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Faudio_streamview.cc;h=7951848c5959e226715f0e323b842a8bcca96c70;hb=364022a35a798d4819fea149e2393f73297af3f6;hp=734c910b34d95ce2df058f3b007674df4dd46c36;hpb=c450fd3861f3cf7de92cd4b6a73c58f8b5491569;p=ardour.git diff --git a/gtk2_ardour/audio_streamview.cc b/gtk2_ardour/audio_streamview.cc index 734c910b34..7951848c59 100644 --- a/gtk2_ardour/audio_streamview.cc +++ b/gtk2_ardour/audio_streamview.cc @@ -112,8 +112,8 @@ AudioStreamView::create_region_view (boost::shared_ptr r, bool wait_for_ _samples_per_pixel, region_color); break; default: - fatal << string_compose (_("programming error: %1"), "illegal track mode in ::add_region_view_internal") << endmsg; - /*NOTREACHED*/ + fatal << string_compose (_("programming error: %1"), "illegal track mode in ::create_region_view()") << endmsg; + abort(); /*NOTREACHED*/ } @@ -141,35 +141,8 @@ AudioStreamView::add_region_view_internal (boost::shared_ptr r, bool wai return 0; } -// if(!recording){ -// for (list::iterator i = region_views.begin(); i != region_views.end(); ++i) { -// if ((*i)->region() == r) { -// cerr << "audio_streamview in add_region_view_internal region found" << endl; - /* great. we already have a AudioRegionView for this Region. use it again. */ - -// (*i)->set_valid (true); - - // this might not be necessary -// AudioRegionView* const arv = dynamic_cast(*i); - -// if (arv) { -// arv->set_waveform_scale (_waveform_scale); -// arv->set_waveform_shape (_waveform_shape); -// } - -// return NULL; -// } -// } -// } - region_views.push_front (region_view); - if (_trackview.editor().internal_editing()) { - region_view->hide_rect (); - } else { - region_view->show_rect (); - } - /* catch region going away */ r->DropReferences.connect (*this, invalidator (*this), boost::bind (&AudioStreamView::remove_region_view, this, boost::weak_ptr (r)), gui_context()); @@ -213,7 +186,7 @@ AudioStreamView::setup_rec_box () if (!rec_active && _trackview.session()->record_status() == Session::Recording && _trackview.track()->record_enabled()) { - if (_trackview.audio_track()->mode() == Normal && Config->get_show_waveforms_while_recording() && rec_regions.size() == rec_rects.size()) { + if (_trackview.audio_track()->mode() == Normal && ARDOUR_UI::config()->get_show_waveforms_while_recording() && rec_regions.size() == rec_rects.size()) { /* add a new region, but don't bother if they set show-waveforms-while-recording mid-record */ @@ -258,57 +231,11 @@ AudioStreamView::setup_rec_box () /* start a new rec box */ - boost::shared_ptr at; - - at = _trackview.audio_track(); /* we know what it is already */ + boost::shared_ptr at = _trackview.audio_track(); framepos_t const frame_pos = at->current_capture_start (); - gdouble xstart = _trackview.editor().sample_to_pixel (frame_pos); - gdouble xend = xstart; /* keeps gcc optimized happy, really set in switch() below */ - uint32_t fill_color; - - switch (_trackview.audio_track()->mode()) { - case Normal: - case NonLayered: - xend = xstart; - fill_color = ARDOUR_UI::config()->get_canvasvar_RecordingRect(); - break; + double const width = ((at->mode() == Destructive) ? 2 : 0); - case Destructive: - xend = xstart + 2; - fill_color = ARDOUR_UI::config()->get_canvasvar_RecordingRect(); - /* make the recording rect translucent to allow - the user to see the peak data coming in, etc. - */ - fill_color = UINT_RGBA_CHANGE_A (fill_color, 120); - break; - } - - ArdourCanvas::Rectangle * rec_rect = new ArdourCanvas::Rectangle (_canvas_group); - rec_rect->set_x0 (xstart); - rec_rect->set_y0 (0); - rec_rect->set_x1 (xend); - rec_rect->set_y1 (child_height ()); - rec_rect->set_outline_what (ArdourCanvas::Rectangle::What (0)); - rec_rect->set_outline_color (ARDOUR_UI::config()->get_canvasvar_TimeAxisFrame()); - rec_rect->set_fill_color (fill_color); - - RecBoxInfo recbox; - recbox.rectangle = rec_rect; - - if (rec_rects.empty()) { - recbox.start = _trackview.session()->record_location (); - } else { - recbox.start = _trackview.session()->transport_frame (); - } - recbox.length = 0; - - rec_rects.push_back (recbox); - - screen_update_connection.disconnect(); - screen_update_connection = ARDOUR_UI::instance()->SuperRapidScreenUpdate.connect ( - sigc::mem_fun (*this, &AudioStreamView::update_rec_box)); - rec_updating = true; - rec_active = true; + create_rec_box(frame_pos, width); } else if (rec_active && (_trackview.session()->record_status() != Session::Recording || @@ -387,7 +314,7 @@ AudioStreamView::rec_peak_range_ready (framepos_t start, framecnt_t cnt, boost:: void AudioStreamView::update_rec_regions (framepos_t start, framecnt_t cnt) { - if (!Config->get_show_waveforms_while_recording ()) { + if (!ARDOUR_UI::config()->get_show_waveforms_while_recording ()) { return; } @@ -532,15 +459,15 @@ AudioStreamView::color_handler () { //case cAudioTrackBase: if (_trackview.is_track()) { - canvas_rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_AudioTrackBase()); + canvas_rect->set_fill_color (ARDOUR_UI::config()->color_mod ("audio track base", "audio track base")); } //case cAudioBusBase: if (!_trackview.is_track()) { if (Profile->get_sae() && _trackview.route()->is_master()) { - canvas_rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_AudioMasterBusBase()); + canvas_rect->set_fill_color (ARDOUR_UI::config()->color ("audio master bus base")); } else { - canvas_rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_AudioBusBase()); + canvas_rect->set_fill_color (ARDOUR_UI::config()->color_mod ("audio bus base", "audio bus base")); } } }