summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2007-05-02 13:09:03 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2007-05-02 13:09:03 +0000
commita612857eb6024f75f11094d09def4ccbe621b7b4 (patch)
treef5110f8cb0d5a8083cf7b8919247cbf39c6a5800
parent0c7b7216efc71e9b3851f1b43f2191a99619ff25 (diff)
make session restore work by using explicit data types when creating new playlists ... poses question - how did this ever compile before?
git-svn-id: svn://localhost/ardour2/branches/midi@1774 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r--gtk2_ardour/editor_ops.cc16
-rw-r--r--gtk2_ardour/gain_meter.cc3
-rw-r--r--libs/ardour/audio_diskstream.cc4
-rw-r--r--libs/ardour/audio_track.cc2
-rw-r--r--libs/ardour/midi_diskstream.cc2
5 files changed, 12 insertions, 15 deletions
diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc
index 917f93243e..95e0b5d255 100644
--- a/gtk2_ardour/editor_ops.cc
+++ b/gtk2_ardour/editor_ops.cc
@@ -2823,21 +2823,19 @@ Editor::cut_copy_regions (CutCopyOp op)
boost::shared_ptr<Region> r = (*x)->region();
boost::shared_ptr<Region> _xx;
-
+
+ assert (r != 0);
+
switch (op) {
case Cut:
- if (!r) break;
-
- _xx = RegionFactory::create ((*x)->region());
- npl->add_region (_xx, (*x)->region()->position() - first_position);
- pl->remove_region (((*x)->region()));
+ _xx = RegionFactory::create (r);
+ npl->add_region (_xx, r->position() - first_position);
+ pl->remove_region (r);
break;
case Copy:
- if (!r) break;
-
/* copy region before adding, so we're not putting same object into two different playlists */
- npl->add_region (RegionFactory::create ((*x)->region()), (*x)->region()->position() - first_position);
+ npl->add_region (RegionFactory::create (r, r->position() - first_position);
break;
case Clear:
diff --git a/gtk2_ardour/gain_meter.cc b/gtk2_ardour/gain_meter.cc
index fa13234c46..303bbcb1a9 100644
--- a/gtk2_ardour/gain_meter.cc
+++ b/gtk2_ardour/gain_meter.cc
@@ -454,8 +454,7 @@ GainMeter::setup_meters ()
int
GainMeter::get_gm_width ()
{
- Gtk::Requisition sz;
- hbox.size_request (sz);
+ Gtk::Requisition sz = hbox.size_request ();
return sz.width;
}
diff --git a/libs/ardour/audio_diskstream.cc b/libs/ardour/audio_diskstream.cc
index 4a4a4fa5c9..3b66d2a187 100644
--- a/libs/ardour/audio_diskstream.cc
+++ b/libs/ardour/audio_diskstream.cc
@@ -243,7 +243,7 @@ AudioDiskstream::find_and_use_playlist (const string& name)
boost::shared_ptr<AudioPlaylist> playlist;
if ((playlist = boost::dynamic_pointer_cast<AudioPlaylist> (_session.playlist_by_name (name))) == 0) {
- playlist = boost::dynamic_pointer_cast<AudioPlaylist> (PlaylistFactory::create (_session, name));
+ playlist = boost::dynamic_pointer_cast<AudioPlaylist> (PlaylistFactory::create (DataType::AUDIO, _session, name));
}
if (!playlist) {
@@ -280,7 +280,7 @@ AudioDiskstream::use_new_playlist ()
newname = Playlist::bump_name (_name, _session);
}
- if ((playlist = boost::dynamic_pointer_cast<AudioPlaylist> (PlaylistFactory::create (_session, newname, hidden()))) != 0) {
+ if ((playlist = boost::dynamic_pointer_cast<AudioPlaylist> (PlaylistFactory::create (DataType::AUDIO, _session, newname, hidden()))) != 0) {
playlist->set_orig_diskstream_id (id());
return use_playlist (playlist);
diff --git a/libs/ardour/audio_track.cc b/libs/ardour/audio_track.cc
index 111bd9f4a9..45ea853df4 100644
--- a/libs/ardour/audio_track.cc
+++ b/libs/ardour/audio_track.cc
@@ -818,7 +818,7 @@ AudioTrack::freeze (InterThreadInfo& itt)
}
}
- new_playlist = PlaylistFactory::create (_session, new_playlist_name, false);
+ new_playlist = PlaylistFactory::create (DataType::AUDIO, _session, new_playlist_name, false);
region_name = new_playlist_name;
/* create a new region from all filesources, keep it private */
diff --git a/libs/ardour/midi_diskstream.cc b/libs/ardour/midi_diskstream.cc
index 06b75211f7..af4b18e3f7 100644
--- a/libs/ardour/midi_diskstream.cc
+++ b/libs/ardour/midi_diskstream.cc
@@ -222,7 +222,7 @@ MidiDiskstream::find_and_use_playlist (const string& name)
boost::shared_ptr<MidiPlaylist> playlist;
if ((playlist = boost::dynamic_pointer_cast<MidiPlaylist> (_session.playlist_by_name (name))) == 0) {
- playlist = boost::dynamic_pointer_cast<MidiPlaylist> (PlaylistFactory::create (_session, name));
+ playlist = boost::dynamic_pointer_cast<MidiPlaylist> (PlaylistFactory::create (DataType::MIDI, _session, name));
}
if (!playlist) {