#include "gtk2ardour-config.h"
#endif
-#include "i18n.h"
+#include "pbd/i18n.h"
#include <map>
#include <cerrno>
tags_entry.set_sensitive (false);
if (ms) {
- channels_value.set_text (to_string(ms->num_tracks(), std::dec));
+ if (ms->is_type0()) {
+ channels_value.set_text (to_string(ms->channels().size(), std::dec));
+ } else {
+ if (ms->num_tracks() > 1) {
+ channels_value.set_text (to_string(ms->num_tracks(), std::dec) + _("(Tracks)"));
+ } else {
+ channels_value.set_text (to_string(ms->num_tracks(), std::dec));
+ }
+ }
length_clock.set (ms->length(ms->timeline_position()));
} else {
channels_value.set_text ("");
vector<string> channel_strings;
if (mode == ImportAsTrack || mode == ImportAsTapeTrack || mode == ImportToTrack) {
+ /// XXX needs special casing for MIDI type-1 files
channel_strings.push_back (_("one track per file"));
if (selection_includes_multichannel) {
Evoral::SMF reader;
reader.open(*i);
if (reader.num_tracks() > 1) {
- multichannel = true; // "channel" == track here...
+ /* NOTE: we cannot merge midi-tracks.
+ * they will always be on separate tracks
+ * "one track per file" is not possible.
+ */
+ //multichannel = true; // "channel" == track here...
+ }
+ if (reader.is_type0 () && reader.channels().size() > 1) {
+ /* for type-0 files, we can split
+ * "one track per channel"
+ */
+ multichannel = true;
}
/* XXX we need err = true handling here in case
options.attach (instrument_combo, 3, 4, 1, 2, FILL, SHRINK, 8, 0);
Alignment *hspace = manage (new Alignment ());
- hspace->set_size_request(2, 2);
+ hspace->set_size_request (2, 2);
options.attach (*hspace, 0, 3, 2, 3, FILL, SHRINK, 0, 8);
Alignment *vspace = manage (new Alignment ());
- vspace->set_size_request(2, 2);
+ vspace->set_size_request (2, 2);
options.attach (*vspace, 2, 3, 0, 3, EXPAND, SHRINK, 0, 0);
str.clear ();