[comp.lang.forth] JForth/midi.libraryV2 interface

pmy@vivaldi.acc.Virginia.EDU (Pete Yadlowsky) (05/10/89)

Greetings MIDIots,

Here's a uuencoded zoo file containing a set of .j include files
which define structures, constants and midi.library function calls
to simplify the JForth programmer's utilization of every Amigan's
favorite MIDI library: midi.library (ver. 2.0).
You *do* have the midi.library, don't you? It's available via FTP
from a number of sites, also PeopleLink. If I get enough requests,
I'll post a list of FTP sites. The library itself is small, but
there's a fair amount of documentation and other stuff, so it's
probably too big to drop here.

You know the routine:

-------------------------------------------------------------------------

begin 777 midiforth.zoo
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
M '\0*             ! *2,H  !5@ #1)@V9-%_8I!'CP@P9$"U V"DC9TZ:
M-VY Q' A0X$*!2-&B DSIPR(+TT,IA%"L@Q(D6E(@I@!XR6<.F(4CO'8HJ?/
MGS]!L'DS9DT:-V<4,"&Z)N5!EB51I)"JH(J;H46=KFPIE:H*H&!]@ICSIHZ<
M,2Z'R"D3ADZ9)E/*GBV#PDV8-F58I&D3YDR9J4%@O @2(X4"(F78E'$+5RY:
M%&3-H@4,P["1HV0:2Z9K%R]EPU_#@@5!ILP<.@K4LF6,^'3=NWGW]OV+(O#@
MPH<3+W[;F@Z*TJ<_*[CL)G/OUYYK5^8I&B@(.67=IE[;]JV4Z'0CSV4!G X+
MZ'7<'C7SAO+MP3(,-WEST$R>)M?#TP7OEH6;,G?HEQE?7OEMPX@IQEA\;J&@
MGW#P81?79I YEE=WG>6E'W_F$8:>>@26<9QV:$7(G6G>3>@&>17&<*$""<H'
M!4XZ-;B9AQ#"]AUV%/IG81#I,=><6&W,D=01BVG5A(^_@2C<BG0(222'>?5X
M1HF6K?662D.>@8*3"%+I(Q5YP$$7ELJII^493)2!%!UH7.GCD>%I-04=U+7A
MXG9FI,$&&V+48889%+&0IQE^ZFF1'GF-8=:@M-EVHPPL$"$8$;B%MF-/$FTD
MPW/1'66:4DREZ-8<71EF%59-90CJ5):Q4<<<:#1Q7'?"23III2[8@&EXFLZA
M )!)J@1%&$4M5F1P80XGI5:_!NL;',"NL9AP4RR&F!EAU,%&DADF,>(;PX9(
MX[903K?:6TRD<=H4:9QA%QLHF,%&7W-,Y2B NC%6[KGIK@M9OF&P(5Q(9I*A
M0$  W*?$_0(                                                 
M                _(/<I\3] @&E,@  K#   )$2>ZWB0)$"  #Y 0   0  
M         %)%041-10 C+F9D " * '^VB             ! *2,H   5**""
MI@P(%VI F$G#ILP<$&'D&%1BY(T<.FA I'$SADT=,@87-IS# J(;,B PELD#
M8@Z:-W78H#SS1J,;$&K2Z&B3ADR:%RX&%IQC<&/'CR$9.H0HT608-F]HUGE(
MIZ;*-') # %1, S(K&-@NJ%31@Z<B'3FN !!<*6".V4-AG5CIRQ9E#XECJ'#
MAJ49.6_:I"QX,*/(I1C#T $1MHW!.VDP@A#"D,UDM&_<G)BC@*=/%VS2B)$3
MD>79,6O"G"FS-LE-KS[II,E<LDD2(DE<*&&<F4Z8C0_#0KT)T@Q5-(I!P"EK
MQF(;!:%'EV;\E(U:$+9Q#V'R9,@2W1H?NGFS^&N:NBC_!AYL4 CFFT3IE!13
M9W$:SF% W+%(ID5\$$FD],8<1*%4U6HJ99788F:$,09#D2F&&&%3&?2&&>QA
MUU,:0T"%&@L*-%?'22"485T9=Q345&:#W3>9$%. @ (4H;FQ1@I!*9!=$E\P
MD800+AA!1$LOQ31331N!D =,60FI PAYE;&717FL19%%DK4QU6)B&!2&& T)
M&.)&!J+AXF$V@<!?60+RU@8<2E''AG5MJ@2"9VF )AII<E0ID )0E$$6"%EX
M!=4=<ZR1!Z UKO%D%4TTH4 04D 1Q)/*M9$'$'9@=<9&:83A0AEDU*$ #2_@
MD(," 0'<I\3] @                                              
0                  #\@P  
 
end

Peter M. Yadlowsky		| "Pay no attention to that man
Academic Computing Center	|	behind the curtain!"
University of Virginia		|
pmy@Virginia.EDU		|