[comp.sys.amiga.audio] Multitasking sequencers

Rick_Younie@mindlink.bc.ca (Rick Younie) (06/18/91)

I'm trying to multitask 2 sequencers with no luck so far.  What I'd like to
do is send midi out from MED to midi in of Music-X, but Music-X locks
everything else out from the serial port.  Too bad, because Music-X gives you
the option of using either timer.

Is it possible to have 2 sequencers sharing 1 serial port?  Is there any
other way of converting MOD files to standard midi files?

 -Rick

rick_younie@mindlink.bc.ca
bugz@cynic.wimsey.bc.ca

barrett@jhunix.HCF.JHU.EDU (Dan Barrett) (06/20/91)

In article <6346@mindlink.bc.ca> Rick_Younie@mindlink.bc.ca (Rick Younie) writes:
>I'm trying to multitask 2 sequencers with no luck so far.  What I'd like to
>do is send midi out from MED to midi in of Music-X, but Music-X locks
>everything else out from the serial port.  Too bad, because Music-X gives you
>the option of using either timer.

	You might try using CMD on the "Extras" disk.  This re-routes your
serial or parallel output to a file.  But hmmm... how do you get it INTO the
second sequencer?  I'm not sure.

	You could certainly do it with 2 serial ports and 2 MIDI interfaces.

>Is it possible to have 2 sequencers sharing 1 serial port?

	Not if they're both reading at the same time, or both writing at
the same time.  The data could get interleaved... and how could applications
tell which data was from which sequence?

                                                        Dan

 //////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
| Dan Barrett, Department of Computer Science      Johns Hopkins University |
| INTERNET:   barrett@cs.jhu.edu           |                                |
| COMPUSERVE: >internet:barrett@cs.jhu.edu | UUCP:   barrett@jhunix.UUCP    |
 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\/////////////////////////////////////

phil@phd.UUCP (H Phil Duby) (06/26/91)

In article <6346@mindlink.bc.ca> Rick_Younie@mindlink.bc.ca (Rick Younie) writes:
> I'm trying to multitask 2 sequencers with no luck so far.  What I'd like to
> do is send midi out from MED to midi in of Music-X, but Music-X locks
> everything else out from the serial port.  Too bad, because Music-X gives you
> the option of using either timer.
>
> Is it possible to have 2 sequencers sharing 1 serial port?  Is there any
                                              ^^^^^^^^^^^^^
> other way of converting MOD files to standard midi files?

I suspect that is the trouble.  Using different timers probably does not help
when only using I serial port.

Wild quess with nothing to back it up, but 2 serial port + 2 midi
interfaces + differerent timers MIGHT work.  Would also depend on how fast
your system is (and the configurability of at least on of the programs).
Can the system keep up to both those ports, at the rate the midi data is
moving around?

No info on converting the MOD files.

>  -Rick
>
> rick_younie@mindlink.bc.ca
> bugz@cynic.wimsey.bc.ca
H. Phil Duby                     uunet!keyword!calgary!ajfcal!mtroyal!phd!phil
(AMiga Users of Calgary)         AMUCexpress BBS - 650 meg PD Software
Fido net node 1:134/27     (403) 282-5137/5171/5224/5238 3/12/24/24 MNP bps

rzv30@cccvm.ccc.amdahl.com (Rene' A. Vega) (06/27/91)

Well... it depends on how the various sequencers acquire the serial port 
resources and the timer resources. If the sequencers use the serial.device and 
opens that device with the nonexclusive flag set (shared) the two sequencers 
can send output somewhat simultaneously. Input is another matter since there is 
no splitter function available out of the serial device.

If the sequencers require the same CIA timer, then it's not possible for them 
to run simultaneously. As you said Music-X allows you to choose a specific CIA 
timer. MIDI Magic II chooses one of two CIA timers depending on availability. I 
think Bars & Pipes uses the HPOS timer (a rather novel approach), so it's 
likely to coexist with just about any other sequencer.

Nevertheless, this isn't exactly what you're looking for.

> I'm trying to multitask 2 sequencers with no luck so far.  What I'd like to
> do is send midi out from MED to midi in of Music-X, but Music-X locks
> everything else out from the serial port. 

What you need is a software MIDI mixer - something that will allow you to pipe 
output from one program to the other. A simple pipe device is not enough 
because there are event atomicity and other arcane issues to deal with when 
merging or splitting MIDI events. Bill Barton's MIDI library performs that 
function, but as far as I know, none of the PD or commercial sequencers use it. 
Last I recall it was a bit slow on 68000 machines (perhaps others can comment 
on this). I was working on a MIDI mixer product, but set it aside temporarily 
because Commodore was rumored to be working on something just like it.



Rene' A. Vega

  *** the original renegade *** 

mab@druwy.ATT.COM (Alan Bland) (06/28/91)

In article <phil.7984@phd.UUCP>, phil@phd.UUCP (H Phil Duby) writes:
> In article <6346@mindlink.bc.ca> Rick_Younie@mindlink.bc.ca (Rick Younie) writes:
> > Is it possible to have 2 sequencers sharing 1 serial port?  Is there any
>                                               ^^^^^^^^^^^^^
> > other way of converting MOD files to standard midi files?
> 
> I suspect that is the trouble.  Using different timers probably does not help
> when only using I serial port.

Right.  AmigaDOS doesn't provide an easy way for two tasks to selectively read
from the serial port.  A typical MIDI task always has a pending read from the
serial port so that any incoming MIDI data will signal the task.  A task can
open the serial port in shared mode, but if it doesn't have a way to stop
trying to read from the port, it will interfere with other tasks trying to
read.

Most Amiga MIDI programs these days have a way to pause or release the MIDI
port, which seems to actually close it for other tasks to use.  Better would
be a way to tell a sequencer to stop reading but to otherwise operate normally.
Then it would be possible to connect MIDI IN and OUT to play one sequencer
into the other.  Better yet would be a continuation of the old Soundscape
MIDI routing ideas.

> Wild quess with nothing to back it up, but 2 serial port + 2 midi
> interfaces + differerent timers MIGHT work.  Would also depend on how fast
> your system is (and the configurability of at least on of the programs).
> Can the system keep up to both those ports, at the rate the midi data is
> moving around?

That should work fine.  A good multi-tasking-friendly MIDI player should use
less than 10% of a stock 68000 CPU, leaving plenty of time for the recorder.


--
-- Alan Bland
-- att!druwy!mab == mab@druwy.ATT.COM
-- AT&T Bell Laboratories, Denver CO
-- (303)538-3510