Re: [ecasound] MMC fun

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: Re: [ecasound] MMC fun
From: Kai Vehmanen (k_AT_eca.cx)
Date: Wed Aug 13 2003 - 00:54:30 EEST


On Mon, 4 Aug 2003, janne halttunen wrote:

> now then, enter midi. found out that muse is a fine midi sequencer, at
> least it seems so. but when it's put in MMC slave mode and ecasound is
> set to send it the signal, it's a no go.

Hmm, how have you connected the two (raw midi through ALSA sequencer,
external connection or something else)...?

> ran ecasound with debug, found out that midi server isn't started at
> all, even though it says so in the start messages:
[...]
> void ECA_ENGINE::init_servers(void)
> {
> if (csetup_repp->midi_devices.size() > 0) {
> use_midi_rep = true;
> ECA_LOG_MSG(ECA_LOGGER::info, "(eca-engine) Initializing MIDI-server.");
> csetup_repp->midi_server_repp->init();
> }
> }

Ok, true, that's a bug. The idea is that if you don't specify any
MIDI-devices, ecasound should use the default one. Unfortunately the
default is added only if you have at least one "-km" option specified. A
clear bug in other words...

> now. what are the possible ways to start fixing this? somehow the
> midi-server should get to start even though there are no "midi_devices"
> as such. (do these mean -km operators?)

The quickest way around ist to add "-Md:rawmidi,/dev/midi" to the
command-line. Here "midi_devices" refer to drivers capable of
transmitting/receiving MIDI (like /dev/midi).

> also if some app needs "deferred play" instead of "play" MMC message,
> should this be addressed and how? (time for another EDI? :)

Hmm, this might a good change. It's too bad that the MMC specs are not
freely available. There are quite a few web pages about MMC, but none of
the ones I've found describe the exact semantics of "play" and "deferred
play". Oh well, initially I wanted to use MMC for synchronized triggering
of different clients, so that's why I chose plain "play". But, but,
"deferred play" might just do the same thing one devices which are
fast seekers (like hw-sequencers).

> MMC message is normally 2, which means "play" in MMC. number 3 means
> "deferred play", which possibly would work better with muse.

Yep, you can test this with:

ecasound/libecasound/midi-server.cpp:
- send_mmc_command(0x02);
+ send_mmc_command(0x03);

-- 
 http://www.eca.cx
 Audio software for Linux!


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Wed Aug 13 2003 - 00:52:39 EEST