summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_pt_import.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2018-03-17 17:32:29 +0100
committerRobin Gareus <robin@gareus.org>2018-03-17 17:32:29 +0100
commitba202cc0955a3ab28c7a616d839439c29dd7d7ab (patch)
treeb4a467a065d40d55845954c20fb5f540772aa0a5 /gtk2_ardour/editor_pt_import.cc
parenta36901a0d9c7751f50d7a12583cc8f0f5036d33c (diff)
Don't alter, use and rely on selection for PT import
Diffstat (limited to 'gtk2_ardour/editor_pt_import.cc')
-rw-r--r--gtk2_ardour/editor_pt_import.cc28
1 files changed, 6 insertions, 22 deletions
diff --git a/gtk2_ardour/editor_pt_import.cc b/gtk2_ardour/editor_pt_import.cc
index 56a59fd3d0..2f5c4b9acf 100644
--- a/gtk2_ardour/editor_pt_import.cc
+++ b/gtk2_ardour/editor_pt_import.cc
@@ -232,7 +232,7 @@ Editor::do_ptimport (std::string ptpath,
vector<ptflookup_t>::iterator found;
if ((found = std::find (lookuptr, usedtracks.end (), utr)) != usedtracks.end ()) {
DEBUG_TRACE (DEBUG::FileUtils, string_compose ("\twav(%1) reg(%2) ptf_tr(%3) ard_tr(%4)\n", a->reg.wave.filename.c_str (), a->reg.index, found->index1, found->index2));
- existing_track = get_nth_selected_audio_track (found->index2);
+ existing_track = midi_tracks.at (found->index2);
/* Put on existing track */
boost::shared_ptr<Playlist> playlist = existing_track->playlist ();
boost::shared_ptr<Region> copy (RegionFactory::create (r, true));
@@ -303,6 +303,7 @@ Editor::do_ptimport (std::string ptpath,
}
}
+ vector<boost::shared_ptr<MidiTrack> > midi_tracks;
/* MIDI - Create unique midi tracks and a lookup table for used tracks */
for (vector<midipair>::iterator a = uniquetr.begin (); a != uniquetr.end (); ++a) {
ptflookup_t miditr;
@@ -316,32 +317,15 @@ Editor::do_ptimport (std::string ptpath,
a->trname,
PresentationInfo::max_order,
Normal));
+ assert (mt.size () == 1);
+ midi_tracks.push_back (mt.front ());
}
- /* Select all MIDI tracks by selecting all tracks then subsetting to midi */
- select_all_tracks ();
-
- TrackViewList miditracks;
- MidiTimeAxisView* mtv;
- TrackSelection::iterator x;
-
- for (x = selection->tracks.begin (); x != selection->tracks.end (); ++x) {
-
- mtv = dynamic_cast<MidiTimeAxisView*>(*x);
-
- if (!mtv) {
- continue;
- } else if (mtv->is_midi_track ()) {
- miditracks.push_back (dynamic_cast<TimeAxisView*> (*x));
- }
- }
-
- selection->set (miditracks);
-
/* MIDI - Add midi regions one-by-one to corresponding midi tracks */
for (vector<PTFFormat::track_t>::iterator a = ptf.miditracks.begin (); a != ptf.miditracks.end (); ++a) {
- boost::shared_ptr<MidiTrack> midi_track = get_nth_selected_midi_track (a->index);
+ boost::shared_ptr<MidiTrack> midi_track = midi_tracks.at (a->index);
+ assert (midi_track);
boost::shared_ptr<Playlist> playlist = midi_track->playlist ();
samplepos_t f = (samplepos_t)a->reg.startpos * srate / 1920000.;
samplecnt_t length = (samplecnt_t)a->reg.length * srate / 1920000.;