From cd9fdb935f08966cc8c7170a39870e8adcae69d8 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Fri, 15 Jun 2007 22:05:07 +0000 Subject: Use boost::shared_ptr instead of raw pointers for RouteUI track (etc) accessors (fix FIXME in route_ui.h). git-svn-id: svn://localhost/ardour2/trunk@1986 d708f5d6-7413-0410-9779-e7cbd77b26cf --- gtk2_ardour/audio_streamview.cc | 2 +- gtk2_ardour/editor_audio_import.cc | 4 ++-- gtk2_ardour/editor_canvas.cc | 2 +- gtk2_ardour/editor_ops.cc | 6 +++--- gtk2_ardour/midi_streamview.cc | 2 +- gtk2_ardour/mixer_strip.cc | 4 ++-- gtk2_ardour/mixer_ui.cc | 2 +- gtk2_ardour/playlist_selector.cc | 2 +- gtk2_ardour/route_time_axis.cc | 2 +- gtk2_ardour/route_ui.cc | 18 +++++++++--------- gtk2_ardour/route_ui.h | 7 +++---- gtk2_ardour/streamview.cc | 2 +- 12 files changed, 26 insertions(+), 27 deletions(-) diff --git a/gtk2_ardour/audio_streamview.cc b/gtk2_ardour/audio_streamview.cc index 87f895d977..573ed0ceba 100644 --- a/gtk2_ardour/audio_streamview.cc +++ b/gtk2_ardour/audio_streamview.cc @@ -508,7 +508,7 @@ AudioStreamView::setup_rec_box () /* start a new rec box */ - AudioTrack* at; + boost::shared_ptr at; at = _trackview.audio_track(); /* we know what it is already */ boost::shared_ptr ds = at->audio_diskstream(); diff --git a/gtk2_ardour/editor_audio_import.cc b/gtk2_ardour/editor_audio_import.cc index 2eb8b9140a..2c0395f03f 100644 --- a/gtk2_ardour/editor_audio_import.cc +++ b/gtk2_ardour/editor_audio_import.cc @@ -65,7 +65,7 @@ void Editor::add_external_audio_action (ImportMode mode) { nframes_t& pos = edit_cursor->current_frame; - AudioTrack* track = 0; + boost::shared_ptr track; if (!selection->tracks.empty()) { AudioTimeAxisView* atv = dynamic_cast(selection->tracks.front()); @@ -74,7 +74,7 @@ Editor::add_external_audio_action (ImportMode mode) } } - bring_in_external_audio (mode, track, pos, false); + bring_in_external_audio (mode, track.get(), pos, false); } void diff --git a/gtk2_ardour/editor_canvas.cc b/gtk2_ardour/editor_canvas.cc index c3a5cb6e9b..0c11092af6 100644 --- a/gtk2_ardour/editor_canvas.cc +++ b/gtk2_ardour/editor_canvas.cc @@ -523,7 +523,7 @@ Editor::drop_paths (const RefPtr& context, /* check that its an audio track, not a bus */ if (tv->get_diskstream()) { - do_embed (paths, false, ImportToTrack, tv->audio_track(), frame, true); + do_embed (paths, false, ImportToTrack, tv->audio_track().get(), frame, true); } } diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc index 4de38a34af..843e0e3add 100644 --- a/gtk2_ardour/editor_ops.cc +++ b/gtk2_ardour/editor_ops.cc @@ -1975,7 +1975,7 @@ Editor::separate_region_from_selection () if ((rtv = dynamic_cast ((*i))) != 0) { - Track* t = dynamic_cast(rtv->track()); + boost::shared_ptr t = rtv->track(); if (t != 0 && ! t->diskstream()->destructive()) { @@ -2032,7 +2032,7 @@ Editor::separate_regions_using_location (Location& loc) if ((rtv = dynamic_cast ((*i))) != 0) { - Track* t = dynamic_cast(rtv->track()); + boost::shared_ptr t = rtv->track(); if (t != 0 && ! t->diskstream()->destructive()) { @@ -2081,7 +2081,7 @@ Editor::crop_region_to_selection () if ((rtv = dynamic_cast ((*i))) != 0) { - Track* t = dynamic_cast(rtv->track()); + boost::shared_ptr t = rtv->track(); if (t != 0 && ! t->diskstream()->destructive()) { diff --git a/gtk2_ardour/midi_streamview.cc b/gtk2_ardour/midi_streamview.cc index 6f0718bdda..c99f6ca777 100644 --- a/gtk2_ardour/midi_streamview.cc +++ b/gtk2_ardour/midi_streamview.cc @@ -206,7 +206,7 @@ MidiStreamView::setup_rec_box () /* start a new rec box */ - MidiTrack* mt = _trackview.midi_track(); /* we know what it is already */ + boost::shared_ptr mt = _trackview.midi_track(); /* we know what it is already */ boost::shared_ptr ds = mt->midi_diskstream(); jack_nframes_t frame_pos = ds->current_capture_start (); gdouble xstart = _trackview.editor.frame_to_pixel (frame_pos); diff --git a/gtk2_ardour/mixer_strip.cc b/gtk2_ardour/mixer_strip.cc index 94dbd1d727..4efc2b0340 100644 --- a/gtk2_ardour/mixer_strip.cc +++ b/gtk2_ardour/mixer_strip.cc @@ -184,7 +184,7 @@ MixerStrip::MixerStrip (Mixer_UI& mx, Session& sess, boost::shared_ptr rt rec_enable_button->set_name ("MixerRecordEnableButton"); - AudioTrack* at = audio_track(); + boost::shared_ptr at = audio_track(); at->FreezeChange.connect (mem_fun(*this, &MixerStrip::map_frozen)); @@ -1133,7 +1133,7 @@ MixerStrip::map_frozen () { ENSURE_GUI_THREAD (mem_fun(*this, &MixerStrip::map_frozen)); - AudioTrack* at = audio_track(); + boost::shared_ptr at = audio_track(); if (at) { switch (at->freeze_state()) { diff --git a/gtk2_ardour/mixer_ui.cc b/gtk2_ardour/mixer_ui.cc index 766db2938f..fbc5703fb2 100644 --- a/gtk2_ardour/mixer_ui.cc +++ b/gtk2_ardour/mixer_ui.cc @@ -505,7 +505,7 @@ Mixer_UI::set_all_audio_visibility (int tracks, bool yn) continue; } - AudioTrack* at = strip->audio_track(); + boost::shared_ptr at = strip->audio_track(); switch (tracks) { case 0: diff --git a/gtk2_ardour/playlist_selector.cc b/gtk2_ardour/playlist_selector.cc index 40f837eb5e..39abfe3dc1 100644 --- a/gtk2_ardour/playlist_selector.cc +++ b/gtk2_ardour/playlist_selector.cc @@ -245,7 +245,7 @@ PlaylistSelector::selection_changed () if ((playlist = ((*iter)[columns.playlist])) != 0) { - AudioTrack* at; + boost::shared_ptr at; boost::shared_ptr apl; if ((at = rui->audio_track()) == 0) { diff --git a/gtk2_ardour/route_time_axis.cc b/gtk2_ardour/route_time_axis.cc index 4450118951..4de34d61d5 100644 --- a/gtk2_ardour/route_time_axis.cc +++ b/gtk2_ardour/route_time_axis.cc @@ -503,7 +503,7 @@ RouteTimeAxisView::set_track_mode (TrackMode mode) } if (item->get_active () && track()->mode() != mode) { - _set_track_mode (track(), mode, other_item); + _set_track_mode (track().get(), mode, other_item); } } diff --git a/gtk2_ardour/route_ui.cc b/gtk2_ardour/route_ui.cc index 5b9e927e81..e0591f0806 100644 --- a/gtk2_ardour/route_ui.cc +++ b/gtk2_ardour/route_ui.cc @@ -970,37 +970,37 @@ RouteUI::disconnect_output () bool RouteUI::is_track () const { - return dynamic_cast(_route.get()) != 0; + return boost::dynamic_pointer_cast(_route) != 0; } -Track* +boost::shared_ptr RouteUI::track() const { - return dynamic_cast(_route.get()); + return boost::dynamic_pointer_cast(_route); } bool RouteUI::is_audio_track () const { - return dynamic_cast(_route.get()) != 0; + return boost::dynamic_pointer_cast(_route) != 0; } -AudioTrack* +boost::shared_ptr RouteUI::audio_track() const { - return dynamic_cast(_route.get()); + return boost::dynamic_pointer_cast(_route); } bool RouteUI::is_midi_track () const { - return dynamic_cast(_route.get()) != 0; + return boost::dynamic_pointer_cast(_route) != 0; } -MidiTrack* +boost::shared_ptr RouteUI::midi_track() const { - return dynamic_cast(_route.get()); + return boost::dynamic_pointer_cast(_route); } boost::shared_ptr diff --git a/gtk2_ardour/route_ui.h b/gtk2_ardour/route_ui.h index ceb6cf09cc..f3021f675d 100644 --- a/gtk2_ardour/route_ui.h +++ b/gtk2_ardour/route_ui.h @@ -54,10 +54,9 @@ class RouteUI : public virtual AxisView boost::shared_ptr route() const { return _route; } - // FIXME: make these return shared_ptr - ARDOUR::Track* track() const; - ARDOUR::AudioTrack* audio_track() const; - ARDOUR::MidiTrack* midi_track() const; + boost::shared_ptr track() const; + boost::shared_ptr audio_track() const; + boost::shared_ptr midi_track() const; boost::shared_ptr get_diskstream() const; diff --git a/gtk2_ardour/streamview.cc b/gtk2_ardour/streamview.cc index 34b0238769..aa8767ac13 100644 --- a/gtk2_ardour/streamview.cc +++ b/gtk2_ardour/streamview.cc @@ -250,7 +250,7 @@ StreamView::playlist_changed (boost::shared_ptr ds) void StreamView::diskstream_changed () { - Track *t; + boost::shared_ptr t; if ((t = _trackview.track()) != 0) { Gtkmm2ext::UI::instance()->call_slot (bind (mem_fun (*this, &StreamView::display_diskstream), t->diskstream())); -- cgit v1.2.3