im pretty sure the issue is that the scheduler runs in faster-than
real time for files and real-time for ports. since you have a mix of
both file and port its not going to work.
there are several alternatives.
1. the best way to do this is to tell fomus to write BOTH a .mid and
and .ly file . this is how you do that:
process examp1 (n, r)
repeat n
send( "fms:note", dur: r, pitch: between(48, 73))
wait r
end
sprout( examp1(16, 1/2), "fomus1.ly" , output: {"ly" "mid" } )
the advantage is that fomus will do a lot of work on the midi output
so that it matches the score. simply sending data to the midi port
yourself wont include those huersitics.
2. i think you can probably send to a midi port and also to a fomus
score you open by hand, and then close the fomus score by hand after
the midi processing is over. im not sure why you would want to do
this...
On Aug 20, 2011, at 7:20 AM, Peter O'Doherty wrote:
> One more question.
>
> I'm probably missing something really simple but what do I need to add
> to this simple example to enable midi output as well as fomus?
>
> process examp1 (n, r)
> repeat n
> send( "fms:note", dur: r, pitch: between(48, 73))
> wait r
> end
>
> sprout( examp1(16, 1/2), "fomus1.ly")
>
> I've tried various combinations, including using variables such as the
> example below but I can't seem to get it to work.
>
> process examp1 (n, r)
> repeat n
> variable pitch = between(48, 73)
> send("fms:note", dur: r, pitch: between(48, 73))
> send("mp:midi", dur: r, key: pitch)
> wait r
> end
>
> sprout( examp1(16, 1/2), "fomus1.ly")
>
> Thanks,
> Peter
>
>
> --
> //=============================
> -> Peter O'Doherty
> -> http://www.peterodoherty.net
> -> [email protected]
> //=============================
>
> _______________________________________________
> Cmdist mailing list
> [email protected]
> http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist
_______________________________________________
Cmdist mailing list
[email protected]
http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist