That did work. Dana's point was the key one. You'll also want your MidiOut to be inside the function. Since you're using MidiOut to send messages to another process, I think you'll notice that you need to adjust your timing between messages, presumably based on the note durations specified in the midi file. If you have more questions please do follow up.

For anybody else wanting the file:
 echo -n "TVRoZAAAAAYAAQAEAYBNVHJrAAAARwD/AwAA/wEJY3JlYXRvcjogAP8BHkdOVSBMaWx5UG9uZCAyLjIyLjAgICAgICAgICAgIAD/WAQEAhIIAP9RAwW42JsA/y8ATVRyawAAAGgA/wMFXG5ldzoAwEsAwEsA/wQJUGFuIEZsdXRlAJA8WoMAkDwAAJA8WoMAkDwAAJA8WoMAkDwAAJA8WoMAkDwAAJA8WoMAkDwAAJA8WoMAkDwAAJA8WoMAkDwAAJA8WoMAkDwAAP8vAE1UcmsAAABoAP8DBVxuZXc6AMFLAMFLAP8ECVBhbiBGbHV0ZQCRQFqDAJFAAACRQFqDAJFAAACRQFqDAJFAAACRQFqDAJFAAACRQFqDAJFAAACRQFqDAJFAAACRQFqDAJFAAACRQFqDAJFAAAD/LwBNVHJrAAAAcQD/AwVcbmV3OgDCSwDCSwD/BAlQYW4gRmx1dGUAkjdagwCSNwAAkjdagwCSNwAAkjdagwCSNwAAkjdagwCSNwAAkjdagwCSNwAAkjdagwCSNwAAkjdagwCSNwAAkjdagwCSNwAAkjdagwCSNwAA/y8A" | base64 -d > sample.mid

On Sat, Feb 12, 2022 at 1:56 PM d <dchuck@yurfish.com> wrote:

I haven't done mailing lists in decades
so I dont remember how  binary files are done
are attachments scrubbed?
here it is base64 encoded  if that works.

davud


TVRoZAAAAAYAAQAEAYBNVHJrAAAARwD/AwAA/wEJY3JlYXRvcjogAP8BHkdOVSBMaWx5UG9uZCAy
LjIyLjAgICAgICAgICAgIAD/WAQEAhIIAP9RAwW42JsA/y8ATVRyawAAAGgA/wMFXG5ldzoAwEsA
wEsA/wQJUGFuIEZsdXRlAJA8WoMAkDwAAJA8WoMAkDwAAJA8WoMAkDwAAJA8WoMAkDwAAJA8WoMA
kDwAAJA8WoMAkDwAAJA8WoMAkDwAAJA8WoMAkDwAAP8vAE1UcmsAAABoAP8DBVxuZXc6AMFLAMFL
AP8ECVBhbiBGbHV0ZQCRQFqDAJFAAACRQFqDAJFAAACRQFqDAJFAAACRQFqDAJFAAACRQFqDAJFA
AACRQFqDAJFAAACRQFqDAJFAAACRQFqDAJFAAAD/LwBNVHJrAAAAcQD/AwVcbmV3OgDCSwDCSwD/
BAlQYW4gRmx1dGUAkjdagwCSNwAAkjdagwCSNwAAkjdagwCSNwAAkjdagwCSNwAAkjdagwCSNwAA
kjdagwCSNwAAkjdagwCSNwAAkjdagwCSNwAAkjdagwCSNwAA/y8A




On Sat, 12 Feb 2022 12:39:57 -0800
Curtis Ullerich <curtullerich@gmail.com> wrote:

> Can you share your sample midi file?
>
> On Sat, Feb 12, 2022 at 12:24 PM Dana Batali <dana.batali@gmail.com>
> wrote:
>
> > How about moving the MidiMsg object into the track function?
> > Of course it could always be a bug in MidiOut (I haven't used it.)
> >
> > On Sat, Feb 12, 2022 at 12:18 PM d <dchuck@yurfish.com> wrote: 
> > >
> > > Im using jack with fluidsynth.
> > >
> > > I had some confusion about whether each
> > > spork had its own "now" but I did a
> > > test script and that seems to be the case.
> > >
> > > I have tried adding me.yeild in various
> > > places but no joy.
> > >
> > > I created a midi file with a triad in
> > > in three tracks ..8 quarter notes.
> > > The events seem to be correct
> > > but the output is only the last
> > > spork. Perhaps its a problem
> > > with my setup.
> > > If i play the file with fludidynth
> > > I get what I expected.
> > >
> > > Any suggestions appreciated.
> > > thanks
> > > -----
> > > MidiFileIn min;
> > > MidiOut mout;
> > > MidiMsg msg;
> > > string filename;
> > > me.arg(0) => filename;
> > > if( !min.open(filename) ){
> > >    <<< "unable to open MIDI file:'",filename >>>;
> > >     me.exit();
> > > }
> > > mout.open(0);
> > > spork ~ track(1);
> > > spork ~ track(2);
> > > spork ~ track(3); 
> > > 5::second=>now; 
> > >
> > > function void  track(int t) {
> > >     10::ms =>now;
> > >     while( min.read(msg,t))
> > >     {
> > >   <<<t,msg.when,msg.data1&0x0f,msg.data2,msg.data3 >>>;
> > >       10::ms =>now; 
> > >          msg.when=> now; 
> > >          mout.send(msg);
> > >          me.yield();
> > >     }
> > > }
> > >
> > > 1 0.000000 0 75 0
> > > 2 0.000000 1 75 0
> > > 3 0.000000 2 75 0
> > > 1 0.000000 0 75 0
> > > 2 0.000000 1 75 0
> > > 3 0.000000 2 75 0
> > > 1 0.000000 0 60 90
> > > 2 0.000000 1 64 90
> > > 3 0.000000 2 55 90
> > > 1 18000.000000 0 60 0
> > > 2 18000.000000 1 64 0
> > > 3 18000.000000 2 55 0
> > > 1 0.000000 0 60 90
> > > 2 0.000000 1 64 90
> > > 3 0.000000 2 55 90
> > > 1 18000.000000 0 60 0
> > > 2 18000.000000 1 64 0
> > > 3 18000.000000 2 55 0
> > > 1 0.000000 0 60 90
> > > 2 0.000000 1 64 90
> > > 3 0.000000 2 55 90
> > > 1 18000.000000 0 60 0
> > > 2 18000.000000 1 64 0
> > >
> > >
> > > On Sat, 12 Feb 2022 10:22:17 -0800
> > > Forrest Curo <treegestalt@gmail.com> wrote:
> > > 
> > > > So how is this going to change their timing? It shouldn't,
> > > > unless some process somewhere keeps running and won't yield
> > > > when the wait ends (and the waiting spork wants to start from
> > > > there.)
> > > >
> > > > Jack or fluidsynth -- or what?
> > > >
> > > > On Sat, Feb 12, 2022 at 9:55 AM Curtis Ullerich
> > > > <curtullerich@gmail.com> wrote:
> > > > 
> > > > > "advancing time" means "yield for this long." so the other
> > > > > shreds will be executing, or yielding, as their own timing
> > > > > dictates.
> > > > >
> > > > > On Sat, Feb 12, 2022, 06:40 Forrest Curo
> > > > > <treegestalt@gmail.com> wrote: 
> > > > >> "Advancing time on a spork" means to "Wait until this amount
> > > > >> of time has elapsed."
> > > > >> If one spork is waiting for time to elapse, the others will
> > > > >> be doing... what?
> > > > >>
> > > > >> On Fri, Feb 11, 2022 at 1:36 PM d <dchuck@yurfish.com> wrote:
> > > > >> 
> > > > >>>
> > > > >>> Yes,thats the one I modeled mine after.
> > > > >>> I removed the ugen stuff and replaced it with
> > > > >>> send (midiout).
> > > > >>> I have fluidsynth on jack The behaviour is strange.
> > > > >>> It appears that advancing time on a spork advances
> > > > >>> time in others and events get missed
> > > > >>> But I could be wrong. I have notes with
> > > > >>> no note off and CC that never happens
> > > > >>>
> > > > >>> It works fine for single track files.
> > > > >>>
> > > > >>> On Fri, 11 Feb 2022 13:10:20 -0800
> > > > >>> Dana Batali <dana.batali@gmail.com> wrote:
> > > > >>> 
> > > > >>> > Hi Davud,  have you seen this example?
> > > > >>> >
> > > > >>> > 
> > https://cannerycoders.com/docs/chuck/examples/midi/midifile-play.html
> > 
> > > > >>> >
> > > > >>> > One obvious point is that min.read accepts a track number.
> > > > >>> > _______________________________________________
> > > > >>> > chuck-users mailing list
> > > > >>> > chuck-users@lists.cs.princeton.edu
> > > > >>> > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
> > > > >>> > 
> > > > >>>
> > > > >>>
> > > > >>> On Fri, 11 Feb 2022 13:10:20 -0800
> > > > >>> Dana Batali <dana.batali@gmail.com> wrote:
> > > > >>> 
> > > > >>> > Hi Davud,  have you seen this example?
> > > > >>> >
> > > > >>> > 
> > https://cannerycoders.com/docs/chuck/examples/midi/midifile-play.html
> > 
> > > > >>> >
> > > > >>> > One obvious point is that min.read accepts a track number.
> > > > >>> > _______________________________________________
> > > > >>> > chuck-users mailing list
> > > > >>> > chuck-users@lists.cs.princeton.edu
> > > > >>> > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
> > > > >>> > 
> > > > >>>
> > > > >>> _______________________________________________
> > > > >>> chuck-users mailing list
> > > > >>> chuck-users@lists.cs.princeton.edu
> > > > >>> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
> > > > >>> 
> > > > >> _______________________________________________
> > > > >> chuck-users mailing list
> > > > >> chuck-users@lists.cs.princeton.edu
> > > > >> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
> > > > >> 
> > > > > _______________________________________________
> > > > > chuck-users mailing list
> > > > > chuck-users@lists.cs.princeton.edu
> > > > > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
> > > > > 
> > >
> > > _______________________________________________
> > > chuck-users mailing list
> > > chuck-users@lists.cs.princeton.edu
> > > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users 
> > _______________________________________________
> > chuck-users mailing list
> > chuck-users@lists.cs.princeton.edu
> > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
> > 

_______________________________________________
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users