Re: [ecasound] Ecasound and MIDI

From: Kai Vehmanen <kvehmanen@email-addr-hidden>
Date: Tue Jan 27 2009 - 00:04:25 EET


On Sun, 25 Jan 2009, Pedro Lopez-Cabanillas wrote:
> Kai Vehmanen wrote:
>> OTOH, it would be interesting if some JACK application would get support
>> for receiving MTC device control msgs, and passing the events forward as
>> JACK transport changes. This would allow one to control also Ecasound (as
>> well as any other transport aware JACK app) with MMC messages. I would
> You are mixing MTC and MMC here. For simple play/stop/rewind transport
> controls, you only need to understand MMC protocol. And there is already a
> program that translates MMC into Jack transport:

yikes! :) Thanks Pedro for correcting me! You are indeed correct that the
above was supposed to be about MMC.

> It is not very complete, lacking commands like record or pause, but I think it
> has the functionality requested by Julien.

I thought I'd see something like this on linux-audio-announce. So great,
this is exactly the thing you need for controling ecasound from your
MMC-supporting MIDI devices!

I don't have any MMC-sending MIDI hardware at my use right now, but I
still wanted to try out jackctlmmc, so I made the following test:

  - start JACK
  - fetched, built and started jackctlmmc
  - run ecasound in JACK transport slave mode, connected to ALSA
    sequencer, and configured to send MMC upon transport changes:
      sh> ecasound ... -c -G:jack,eca,recv -Md:alsaseq -Mms:127
  - connect MIDI and audio ports with aconnect and jack_connect
  - issue 'start' in ecasound:
      - ecasound sends an 'MMC Deferred Play' to jackctlmmc (via alsa
      - jackctlmmc changes JACK transport state
      - ecasound syncs to the JACK transport state and
        start playing
      - ..nice! :)

So not really useful, but at this proves that 1) if you have jackctlmmc
compatible MIDI hardware, you can use jackctlmmc and JACK, to control
Ecasound with it, and 2) jackctlmmc understands the MMC messages sent by
Ecasound (although only with the all-devices device-id, i.e. '-Mms:127').

> OTOH, MTC means "MIDI time code", and it is used in synchronization. I doubt
> that could exist a jack transport client implementation.

Yes, true. There's a good thread about this in lad archives (and yes,
jackctlmmc is mentioned already in the first post):

... so at in some cases, syncing JACK to MTC is possible, but in practise
the support would be limited (no varispeed in JACK) and work only with a
subset of JACK apps. Sending MTC out is more straighforward, but I'm not
sure if there's a simple app like jackctlmmc, to do it (i.e. expose JACK
transport location over MTC). But at least Ardour does it, and it can also
sync to MTC.

This email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
Ecasound-list mailing list
Received on Tue Jan 27 00:42:42 2009

This archive was generated by hypermail 2.1.8 : Tue Jan 27 2009 - 00:42:43 EET