From alsa-devel-owner@alsa.jcu.cz  Sun Jan  3 21:04:30 1999
Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
	by marvin.jcu.cz (8.9.1a/8.9.1) with ESMTP id VAA14485
	for <alsa-devel@alsa.jcu.cz>; Sun, 3 Jan 1999 21:04:23 +0100
Received: from someip.ppp.op.net (d-bm2-05.ppp.op.net [209.152.194.37]) by renoir.op.net (o1/$Revision: 1.18 $) with ESMTP id PAA19186; Sun, 3 Jan 1999 15:04:20 -0500 (EST)
Message-Id: <199901032004.PAA19186@renoir.op.net>
To: alsa-devel@alsa.jcu.cz
cc: Frank van de Pol <F.K.W.van.de.Pol@Inter.NL.net>,
        andreas@avix.rhein-neckar.de (Andreas Voss)
Subject: Re: ALSA Sequencer API 
In-reply-to: Your message of "Sun, 03 Jan 1999 14:40:43 +0100."
             <199901031340.OAA20398@obelix.fvdpol.inter.nl.net> 
Date: Sat, 02 Jan 1999 15:04:50 -0500
From: Paul Barton-Davis <pbd@op.net>
Reply-To: alsa-devel@alsa.jcu.cz
Sender: alsa-devel-owner@alsa.jcu.cz
Precedence: list

>> This echoing has to be aware of the midi message formats. Example: a user
>> application does playback and sends out a 3 byte note-on event. After the
>> first byte has been send out, an event from midi in is received. Now the
>> driver must complete the midi out message before echoing the midi-thru
>> event from midi-in.

I just want to note that although I think it is right that we have
software implement this trick, proper MIDI hardware (i.e. not 99% of
all soundcards) has a separate MIDI thru connector which does *not*
contain MIDI out and MIDI in interleaved, just MIDI in.

Oberheim instruments have an interesting mode called "MIDI echo" where
their MIDI out connector get all MIDI thru data plus the output of the
instrument, but even when this is enabled, the MIDI thru connector
just echoes MIDI in.

The scheme Andreas is describing is not MIDI thru, but MIDI echo.
Also, note that typical scheduling latency on most processors and
systems (not just Linux, but all kinds of MIDI equipment) makes
software-controlled MIDI thru problematic, since it typically smears
the MIDI signalling, often with audible effects. Good MIDI thru uses
optoisolators to directly connect MIDI in to MIDI out.

Since soundcards typically don't have 3 connectors, I'm not sure what
can be done about this, and Andreas is probably right that we should
use software to keep the semantics at the wire level correct. Still,
something bothers me about this idea. I like the Oberheim model, and I
suppose that what Frank and Andreas are suggesting implements this. So
I should probably keep my fears to myself, and badger Turtle Beach
into providing MIDI thru connectors as well as in and out.

--p

