X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Faudio_streamview.cc;h=c7adcfce7ee259b9f60c8ed49964b967f705db1d;hb=d3bb4e8b08ac3bc80013bce1a82eeae2ea53eea1;hp=7951848c5959e226715f0e323b842a8bcca96c70;hpb=64fa63212f7e79bab16147817211a33a3f7c8fba;p=ardour.git diff --git a/gtk2_ardour/audio_streamview.cc b/gtk2_ardour/audio_streamview.cc index 7951848c59..c7adcfce7e 100644 --- a/gtk2_ardour/audio_streamview.cc +++ b/gtk2_ardour/audio_streamview.cc @@ -29,6 +29,7 @@ #include "ardour/audioregion.h" #include "ardour/audiofilesource.h" #include "ardour/audio_track.h" +#include "ardour/record_enable_control.h" #include "ardour/region_factory.h" #include "ardour/profile.h" #include "ardour/rc_configuration.h" @@ -41,13 +42,14 @@ #include "tape_region_view.h" #include "audio_time_axis.h" #include "region_selection.h" +#include "region_gain_line.h" #include "selection.h" #include "public_editor.h" -#include "ardour_ui.h" #include "rgb_macros.h" #include "gui_thread.h" +#include "ui_config.h" -#include "i18n.h" +#include "pbd/i18n.h" using namespace std; using namespace ARDOUR; @@ -185,8 +187,8 @@ AudioStreamView::setup_rec_box () if (!rec_active && _trackview.session()->record_status() == Session::Recording && - _trackview.track()->record_enabled()) { - if (_trackview.audio_track()->mode() == Normal && ARDOUR_UI::config()->get_show_waveforms_while_recording() && rec_regions.size() == rec_rects.size()) { + _trackview.track()->rec_enable_control()->get_value()) { + if (_trackview.audio_track()->mode() == Normal && UIConfiguration::instance().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 */ @@ -239,7 +241,7 @@ AudioStreamView::setup_rec_box () } else if (rec_active && (_trackview.session()->record_status() != Session::Recording || - !_trackview.track()->record_enabled())) { + !_trackview.track()->rec_enable_control()->get_value())) { screen_update_connection.disconnect(); rec_active = false; rec_updating = false; @@ -314,7 +316,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 (!ARDOUR_UI::config()->get_show_waveforms_while_recording ()) { + if (!UIConfiguration::instance().get_show_waveforms_while_recording ()) { return; } @@ -351,8 +353,9 @@ AudioStreamView::update_rec_regions (framepos_t start, framecnt_t cnt) if (nlen != region->length()) { region->suspend_property_changes (); + /* set non-musical position / length */ region->set_position (_trackview.track()->get_capture_start_frame(n)); - region->set_length (nlen); + region->set_length (nlen, 0); region->resume_property_changes (); if (origlen == 1) { @@ -379,7 +382,7 @@ AudioStreamView::update_rec_regions (framepos_t start, framecnt_t cnt) region->suspend_property_changes (); region->set_position (_trackview.track()->get_capture_start_frame(n)); - region->set_length (nlen); + region->set_length (nlen, 0); region->resume_property_changes (); if (origlen == 1) { @@ -431,7 +434,7 @@ AudioStreamView::hide_xfades_with (boost::shared_ptr ar) { list start_hidden; list end_hidden; - + for (list::iterator i = region_views.begin(); i != region_views.end(); ++i) { AudioRegionView* const arv = dynamic_cast(*i); if (arv) { @@ -459,15 +462,22 @@ AudioStreamView::color_handler () { //case cAudioTrackBase: if (_trackview.is_track()) { - canvas_rect->set_fill_color (ARDOUR_UI::config()->color_mod ("audio track base", "audio track base")); + canvas_rect->set_fill_color (UIConfiguration::instance().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()->color ("audio master bus base")); - } else { - canvas_rect->set_fill_color (ARDOUR_UI::config()->color_mod ("audio bus base", "audio bus base")); + canvas_rect->set_fill_color (UIConfiguration::instance().color_mod ("audio bus base", "audio bus base")); + } +} + +void +AudioStreamView::set_selected_points (PointSelection& points) +{ + for (list::iterator i = region_views.begin(); i != region_views.end(); ++i) { + AudioRegionView* const arv = dynamic_cast(*i); + if (arv && arv->get_gain_line ()) { + arv->get_gain_line ()->set_selected_points (points); } } }