static int queue;
static int end_delay = 2;
static int silent;
+static int passall;
static unsigned int _current_tempo = 50000000; /* default 120 bpm */
static unsigned int tempo_base = 10;
while ((len = read_ump_packet(file, ump)) > 0) {
const snd_ump_msg_hdr_t *h = (snd_ump_msg_hdr_t *)ump;
+ if (passall)
+ send_ump(ump, len);
+
if (h->type == SND_UMP_MSG_TYPE_UTILITY) {
const snd_ump_msg_utility_t *uh =
(const snd_ump_msg_utility_t *)ump;
end_clip();
continue;
}
- } else if (h->type == SND_UMP_MSG_TYPE_MIDI1_CHANNEL_VOICE ||
- h->type == SND_UMP_MSG_TYPE_DATA ||
- h->type == SND_UMP_MSG_TYPE_MIDI2_CHANNEL_VOICE) {
+ } else if (!passall &&
+ (h->type == SND_UMP_MSG_TYPE_MIDI1_CHANNEL_VOICE ||
+ h->type == SND_UMP_MSG_TYPE_DATA ||
+ h->type == SND_UMP_MSG_TYPE_MIDI2_CHANNEL_VOICE)) {
send_ump(ump, len);
}
}
"-V, --version print current version\n"
"-p, --port=client:port,... set port(s) to play to\n"
"-d, --delay=seconds delay after song ends\n"
- "-s, --silent don't show texts\n",
+ "-s, --silent don't show texts\n"
+ "-a, --passall pass all UMP packets as-is\n",
argv0);
}
{"port", 1, NULL, 'p'},
{"delay", 1, NULL, 'd'},
{"silent", 0, NULL, 's'},
+ {"passall", 0, NULL, 'a'},
{0}
};
int c;
init_seq();
- while ((c = getopt_long(argc, argv, "hVp:d:s",
+ while ((c = getopt_long(argc, argv, "hVp:d:sa",
long_options, NULL)) != -1) {
switch (c) {
case 'h':
case 's':
silent = 1;
break;
+ case 'a':
+ passall = 1;
+ break;
default:
usage(argv[0]);
return 1;