summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_audio_import.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2011-07-26 17:22:10 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2011-07-26 17:22:10 +0000
commit8fb9e72a77ac1366ed1aca18f7f76ee4179d9f89 (patch)
tree413eb2633c4a69588fbd2ba76e20ee598fd3229b /gtk2_ardour/editor_audio_import.cc
parent921358a5f35beebbed54082f8e55fec9c7758670 (diff)
allow import to selected MIDI tracks (note that this gets confused if the MIDI file contains multiple MetaTracks - each track ends up in the same track, which may or may not be the right thing)
git-svn-id: svn://localhost/ardour2/branches/3.0@9938 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_audio_import.cc')
-rw-r--r--gtk2_ardour/editor_audio_import.cc27
1 files changed, 19 insertions, 8 deletions
diff --git a/gtk2_ardour/editor_audio_import.cc b/gtk2_ardour/editor_audio_import.cc
index c2351c74fc..6200a6f98f 100644
--- a/gtk2_ardour/editor_audio_import.cc
+++ b/gtk2_ardour/editor_audio_import.cc
@@ -98,7 +98,8 @@ void
Editor::external_audio_dialog ()
{
vector<string> paths;
- uint32_t track_cnt;
+ uint32_t audio_track_cnt;
+ uint32_t midi_track_cnt;
if (_session == 0) {
MessageDialog msg (_("You can't import or embed an audiofile until you have a session loaded."));
@@ -106,22 +107,32 @@ Editor::external_audio_dialog ()
return;
}
- track_cnt = 0;
+ audio_track_cnt = 0;
+ midi_track_cnt = 0;
for (TrackSelection::iterator x = selection->tracks.begin(); x != selection->tracks.end(); ++x) {
AudioTimeAxisView* atv = dynamic_cast<AudioTimeAxisView*>(*x);
- if (!atv) {
- continue;
- } else if (atv->is_audio_track()) {
- track_cnt++;
+ if (atv) {
+ if (atv->is_audio_track()) {
+ audio_track_cnt++;
+ }
+
+ } else {
+ MidiTimeAxisView* mtv = dynamic_cast<MidiTimeAxisView*>(*x);
+
+ if (mtv) {
+ if (mtv->is_midi_track()) {
+ midi_track_cnt++;
+ }
+ }
}
}
if (sfbrowser == 0) {
- sfbrowser = new SoundFileOmega (*this, _("Add Existing Media"), _session, track_cnt, true);
+ sfbrowser = new SoundFileOmega (*this, _("Add Existing Media"), _session, audio_track_cnt, midi_track_cnt, true);
} else {
- sfbrowser->reset (track_cnt);
+ sfbrowser->reset (audio_track_cnt, midi_track_cnt);
}
sfbrowser->show_all ();