Dear Torsten,
thanks for the links.
On a superficial look it seems that you are speaking of the
foreign/embedding call way. I'll give them a look in the afternoon.
I'm now investigating the ALSA way, because I'd prefer both to use
linux and to access midi through open-read-write of a device.
I fully understand that you are looking for an easy solution
(although I would very much like to see a platform independent MIDI
interface for Oz). Please let us know about your progress.
By the way, I've a little problem with Oz just today, and I can't find
a solution. May I ask you a little help?
It's a problem on stream programming. I want to code this equation
Out[i] = f(In[i], Out[i-1])
For example, given f(a,b)=a+b and Out[0]=0:
In=[1,2,3,4,5,6]
Out=[1,3,6,10,15]
The In stream could come from a generator like:
fun lazy {G Acc}
Acc|{G Acc+1}
end
Do you know how to implement the function that gives Out?
how about the following. For more information on stream processing
consider van Roy's and Haridi's book CTM, chap. 4.
fun lazy {G N Limit}
if N<Limit then
N | {G N+1 Limit}
else nil
end
end
fun {Process F Xs Init}
fun {Aux Xs Y1}
case Xs
of X|Xr then Y={F X Y1} in Y|{Aux Xr Y}
[] nil then nil
end
end
in
{Aux Xs Init}
end
Xs Ys
thread Xs = {G 1 10} end
thread Ys = {Process fun {$ A B} A+B end Xs 0} end
{Browse Ys}
Best
Torsten
--
Torsten Anders
Interdisciplinary Centre for Computer Music Research
University of Plymouth
Office: +44-1752-233667
Private: +44-1752-663492
http://strasheela.sourceforge.net
http://www.torsten-anders.de
_________________________________________________________________________________
mozart-users mailing list
[email protected]
http://www.mozart-oz.org/mailman/listinfo/mozart-users