From e2d190402557ed3e57679fdbfdcb8643bda84d42 Mon Sep 17 00:00:00 2001 From: Thomas Grill Date: Fri, 10 Jan 2003 04:37:50 +0000 Subject: "" svn path=/trunk/; revision=334 --- externals/grill/fftease/fftease.cw | Bin 0 -> 131116 bytes externals/grill/fftease/makefile.pd-linux | 5 +- externals/grill/fftease/maxmsp/burrow~.help | Bin 0 -> 2230 bytes externals/grill/fftease/maxmsp/cross~.help | Bin 0 -> 1822 bytes externals/grill/fftease/maxmsp/dentist~.help | Bin 0 -> 1821 bytes externals/grill/fftease/maxmsp/disarray~.help | Bin 0 -> 1806 bytes externals/grill/fftease/maxmsp/drown~.help | Bin 0 -> 1366 bytes externals/grill/fftease/maxmsp/ether~.help | Bin 0 -> 2298 bytes externals/grill/fftease/maxmsp/fftease4.PICT | 409 +++++++++++++++++++++ externals/grill/flext/config-pd-cygwin.txt | 3 + externals/grill/flext/config-pd-darwin.txt | 4 +- externals/grill/flext/config-pd-linux.txt | 1 + externals/grill/flext/flext.cw | Bin 205457 -> 205457 bytes externals/grill/flext/flext.pbproj/project.pbxproj | 406 ++++++++++++++++++++ externals/grill/flext/makefile.pd-cygwin | 25 +- externals/grill/flext/makefile.pd-darwin | 53 +-- externals/grill/flext/makefile.pd-linux | 33 +- externals/grill/flext/readme.txt | 5 +- externals/grill/flext/source/flattr.cpp | 4 +- externals/grill/flext/source/flext.cpp | 5 +- externals/grill/flext/source/flitem.cpp | 2 +- externals/grill/flext/source/flprefix.h | 5 + externals/grill/flext/source/flsupport.cpp | 6 +- externals/grill/flext/source/flsupport.h | 2 +- externals/grill/xsample/license.txt | 33 -- externals/grill/xsample/maxmsp/xgroove~.help | Bin 8270 -> 7207 bytes externals/grill/xsample/maxmsp/xplay~.help | Bin 6092 -> 4649 bytes externals/grill/xsample/maxmsp/xrecord~.help | Bin 9523 -> 8210 bytes externals/grill/xsample/maxmsp/xsample.help | Bin 1072 -> 1147 bytes externals/grill/xsample/source/groove.cpp | 65 ++-- externals/grill/xsample/source/inter.cpp | 5 +- externals/grill/xsample/source/main.h | 21 +- externals/grill/xsample/source/play.cpp | 4 +- externals/grill/xsample/source/record.cpp | 27 +- externals/grill/xsample/xsample.cw | Bin 106655 -> 106655 bytes 35 files changed, 983 insertions(+), 140 deletions(-) create mode 100755 externals/grill/fftease/fftease.cw create mode 100755 externals/grill/fftease/maxmsp/burrow~.help create mode 100755 externals/grill/fftease/maxmsp/cross~.help create mode 100755 externals/grill/fftease/maxmsp/dentist~.help create mode 100755 externals/grill/fftease/maxmsp/disarray~.help create mode 100755 externals/grill/fftease/maxmsp/drown~.help create mode 100755 externals/grill/fftease/maxmsp/ether~.help create mode 100755 externals/grill/fftease/maxmsp/fftease4.PICT diff --git a/externals/grill/fftease/fftease.cw b/externals/grill/fftease/fftease.cw new file mode 100755 index 00000000..fb502752 Binary files /dev/null and b/externals/grill/fftease/fftease.cw differ diff --git a/externals/grill/fftease/makefile.pd-linux b/externals/grill/fftease/makefile.pd-linux index cd9d8401..546cf342 100644 --- a/externals/grill/fftease/makefile.pd-linux +++ b/externals/grill/fftease/makefile.pd-linux @@ -54,7 +54,10 @@ $(TARGDIR): $(TARGDIR)/%.o : $(DIR)/%.cpp $(CXX) -c $(CFLAGS) $(FLAGS) $(patsubst %,-I%,$(INCLUDES) $(FLEXTPATH)) $< -o $@ -$(TARGET) : $(patsubst %.cpp,$(TARGDIR)/%.o,$(SRCS)) $(FLEXTLIB) +$(TARGDIR)/%.co : $(DIR)/%.c + $(CC) -c $(CFLAGS) $(FLAGS) $(patsubst %,-I%,$(INCLUDES) $(FLEXTPATH)) $< -o $@ + +$(TARGET) : $(patsubst %.c,$(TARGDIR)/%.co,$(patsubst %.cpp,$(TARGDIR)/%.o,$(SRCS))) $(FLEXTLIB) $(CXX) -shared $^ $(patsubst %,-L%,$(LIBPATH)) $(patsubst %,-l%,$(LIBS)) -o $@ chmod 755 $@ diff --git a/externals/grill/fftease/maxmsp/burrow~.help b/externals/grill/fftease/maxmsp/burrow~.help new file mode 100755 index 00000000..52b9819f Binary files /dev/null and b/externals/grill/fftease/maxmsp/burrow~.help differ diff --git a/externals/grill/fftease/maxmsp/cross~.help b/externals/grill/fftease/maxmsp/cross~.help new file mode 100755 index 00000000..c6b5f598 Binary files /dev/null and b/externals/grill/fftease/maxmsp/cross~.help differ diff --git a/externals/grill/fftease/maxmsp/dentist~.help b/externals/grill/fftease/maxmsp/dentist~.help new file mode 100755 index 00000000..4db546af Binary files /dev/null and b/externals/grill/fftease/maxmsp/dentist~.help differ diff --git a/externals/grill/fftease/maxmsp/disarray~.help b/externals/grill/fftease/maxmsp/disarray~.help new file mode 100755 index 00000000..6180ece1 Binary files /dev/null and b/externals/grill/fftease/maxmsp/disarray~.help differ diff --git a/externals/grill/fftease/maxmsp/drown~.help b/externals/grill/fftease/maxmsp/drown~.help new file mode 100755 index 00000000..a137e805 Binary files /dev/null and b/externals/grill/fftease/maxmsp/drown~.help differ diff --git a/externals/grill/fftease/maxmsp/ether~.help b/externals/grill/fftease/maxmsp/ether~.help new file mode 100755 index 00000000..5c78816a Binary files /dev/null and b/externals/grill/fftease/maxmsp/ether~.help differ diff --git a/externals/grill/fftease/maxmsp/fftease4.PICT b/externals/grill/fftease/maxmsp/fftease4.PICT new file mode 100755 index 00000000..571999d7 --- /dev/null +++ b/externals/grill/fftease/maxmsp/fftease4.PICT @@ -0,0 +1,409 @@ +(This file must be converted with BinHex 4.0) +:!!"358081%**633!!!!bdJ!!)`Sr+!#3r`#3r`!!-0)!N!8i!+!!%3,r$!$rrJ! +!!5`!!!%X!*!(kJ+D!*!&S3(b!"Bi3NP0!*!(1!#J4h+*F'L[BQS!S3$J$%`!N!B +-5%aTEQm#%!!!E@jdFP*(3L"B@9SJ"mi!!J!*!!B!-3!!B@0cF%e64P3!N!4*48- +JFe*(3J#3$[E@!!%!N!66,8K3)#!!N#m4Bh"bG!!!!9!!!!!cC'9cB`!!!B3!!!" +XGh4`G!!!!I!!!!!8BQY`G!!!!J3!!!!8FPKC@J!!!KJ!!!!8CeKC@J!!!L`!!!! +8BPKC@J!!!N!!!!!8C'eZC!!!!P3!!!"`C'eNC!!!!X3!!!#)GR9PC!!!!d`!!!# +'GQPPG`!!!p3!!!!NE(9YD3!!!rJ!!!!8E@9KF`!!"!`!!!!NG'9MD!!!"$!!!!! +-FP453`!!"$`!!!J-Ce453`!!"$`!!!J-BP453`!!"$`!!!J-G'9iG!#3"%0[F(P +bD@GSG#!SBbNJ-6Nj1#")CAGXCA4d,9"KBfYKFQ3J3fpYF'&ZH3!!C'9cB`#3"a* +c8NG#)%P&3cBa16Bf,6)Z-3#3#a*c8NG#)%P&3cBa16Bf,6)Z-3#3-PKC@L!!N!E +c83!"!!!!!4E-@&PD)!#3%&KC@L!!N!C[SJ!!128!!!13!&KC@L!!N!CLQ3!!Yi8 +!!"MD@&PD)!#3"L5J!!!2K!!!YXpNCA0M!*!(&NP&3b"SG(4`1Lm[GhGh,QPPBbj +MD!#3#aC*48-JD(4dF$S[,hGhGbjTC@-ZBfJ!N#jNCA0M!*!(,NP&3b!f-6Nf0Ld +b,M%J4'9QBA9XG#"54d)JBfpXEh9b)(0`B@0P)#dJFe*(3J#3#bj*48-J0M%j0MB +Y-Lia)%4PCQ&eE(3J8NG#)'0[E'peFL"cF'&MC5!Y)(054d)!N"CNCA0M!*!(,&* +PCQ9bC@jMC5"@D@9hD@jR)%0[EQ4TG'P[EL"TEL"*48-f-6Nf0Ldb,M%!N!XX8Q9 +QCA*PEQ0P)&CTCAGTEQFJ3fpZC'PdD@pZ)'PZ)%P&3cBa16Bf,6)Z-3#3'RCTCAF +!N!86T2i!&&mZ!"$2&!!$lF`!""-,!!0FRJ!!!!&B@9SJ!*!&6!P@!&!!!!"A(qG +YC@&c!*!(!3#3%J+2!!!!!R0TCb!!N!4$8P3JBh9bGJ#3"J3!N!3&!!S!$`!8!"N +!(J!M!#J!,3!b!$F!1`"!!%8!5J"2!&3!@3"H!'-!D!"Y!()!G`"m!)%!KJ#,!*! +!!*8!QJ#I!+3!U3#Z!,)!Y`#m!-%!aJ$,!0!!e3$E!1!!j3$V!2!!pJ$l!3%""`% +0!4-"'3%I!58"+`%b!6J"2J&&!8`"8J&C!@!"C`&Z!A8"I!'$!BX"NJ'D!D%"U3' +a!EN"`3(*!G%"f3(K!HN"mJ(k!J-#$!)8!Kd#*J)[!MJ#33*,!P3#A3*R!R%#HJ+ +%!Si#Q!+L!U`#YJ,"!XX#e3,J!ZX#p3-!!`X$&J-K!bd$1!0$!dm$@J0Q!h)$IJ1 ++!jB$SJ1Z!lS$a`26!q!$l!2j"!B%%`3J"#d%1`4)"&8%B`4a"(i%M!5D"+J%YJ6 +%"0-%i36`"2i&$38F"5X&1J9*"9J&C`9h"BB&PJ@Q"E8&a3A9"H8&pJB'"KB'*`B +h"NJ'@3CU"RX'M!DG"Um'`!E4"Z-'p3F("aN(+`Fp"dm(B3Gd"iB(Q3HX"lm(dJI +P"rJ)#`JI#$))4JKD#'i)JJL@#+S)[JM5#1F)q`N3#58*1JP2#@3*H3Q2#D3*ZJR +2#H8*q`S4#LF+23T8#QS+J3UB#Ui+a3VF#[-,#`XL#cN,83YT#i!,Q!Z`#mJ,i3[ +j$")-+Ja$$&`-G3b1$+F-`!cC$2-0$3dQ$8!0@Jed$Bi0U3h$$Gi0q!i6$Li153j +N$Rm1Q`kf$Y)1lJm*$b8233pH$hS2PJqc$mm2l"!*%#B33a"K%(i3Qa#j%0F3p4% +6%6%46a&Y%B`4UK(*%HJ5"a)Q%N85C"+%%U-5`a,M%`-6)a0$%f-6Ja1N%m86j43 +'&#F8544U&)X8V461&2!9%K8d&9B9H"@E&Ed9i"B$&LB@54CX&Sm@XKE@&[SA(4G +"&f8AL4HZ&p)ApaJE'%!BC4L+'+mBe4Mk'5!C44PV'C%CYaRG'J3D+KT4'RFDRKV +&'Z`E&"Xl'f-ELKZb'pSF!K`U(&)FHabM(-`Fp4dH(8FGF"fC(F-Gl"i@(N!HDKk +8(ViHk4m6(ciID4q8(lmIkL!9)%%JE##B)-3Jm#%F)8JKG5'K)FiKqb)R)P8LJL+ +[)YdM#L-i)fBMP#2#)r!N(b40*(`NUb6D*3NP1#9S*CFPabAh*LFQ9bD(*VFQk#F +B*dNRHLHV*p`S$5Jr+(%SSLM8+3BT1#PV+CdTd#S#+M8UD#UE+XmV!LXf+fNVR5[ +4,!8X15aZ,+)Xebd-,8%YGLfV,H%Z&Lj-,S)ZYblZ,b3[@Lq4,mF[rM!e-'``T$$ +E-4)a5M'#-ESamM)U-Q-bQc,8-`dc4M0r-lJcm63V0'8dRM6B04-e66@(0F)er6B +h0R)fVMET0b3hB$HF0pFi&$K31)`ib$N&18)jIcQm1INk0MTd1V)klcXY1fXlUM[ +S2#FmC6bN21-p)MeK2D%pi$iJ2Q!qS$lJ2b%rB6qL2q*!)d"N3+C!jd%T3@T"V%( +Z3M"#FN+e3[G$1N0p3m"%!d4(4)T%cN85499&QNAH4L*'CdDV4["(08Gl4m")"8K +,5*&)edNG5@0*U8R`5MG+I8V%5`a,8dZD5q*-+Nab6,T0!Ne+6C00h%iP6Qj1Ydm +!6dP2NdrG8#G3F9#l83C48&'E8HC5-9*m8XG6%e0I8kT6pP4#9)p8fe8S9A99`PB +29Pa@U9Eh9d4ANPIJ@#pBI9M,@4TCD9Qi@JGD9PUQ@[9E49Z9@q9F09b'A0CG*ee +iAFPH'PjXAVeI$epKAl0J"@"AB+TJr'&2BD*Kp@**BTaLm'0$BjGMkf4!C*4Nk@8 +pCC*PjfBpCT*Qk'FpCj0Rk@JrD*CSl'P$DCTTm@T)DTpUpfY2DkGVrfaAE+pY#'e +JEEPZ%QjVEX4[(QpiEp&`+h#'F1"a1R'9FI"b5h+QF`&cAA1iG"4dF(6-G5KeKAA +KGMjfQhEiGeChXhJ4H'jic(NUHBPjjhT'HU9l"(YMHm*m)Ab"I1&p3AfKIJ&qBRl +#Ib0rK(rPJ%H!U)%+J@Z"cB)`JT+#p)0AJlU%(B5!K11&4i@VKJk'FSEAKcZ(RiJ +%L'Q)cSNcLCQ*rSTNLXU,-)Z@Lrb-Bic+M6'0Q)hrMQD1cSmfMjk3!!D3!'k3!0D +42j'SNK'5HT,MNdf6YT3JP)U8p*9IPFQ@0*DIP`UAGCIJQ%bBZ*NNQC!!QIbDD*V +9Qd+EVj`FR)QFpjeNRG+H3*kZRafILjrkS'QJf+&(SEDL*U+@S`DMGU2QT&DNak8 +iTDQQ'UD,T[fREUIJU&+Sa+NhUDQU(+U2U`+VGD[TV&bXd+e%VELZ,DkKVaD[Ll! +!X(@`kV&JXGDb5l,#XcLcVV3PY*be%l@+YJ'fHEE`YfLhi,KCZ0'j5VR#ZMZkYEX +ZZkHm)EbE[4@pMli+[S5qrlpk[rA!F-$X`@I"im*I`Y[$@-28a&(%cX9,aFM'4XE +$ad(([mJpb,c*1XQjbMM+YmXfblE-0Fbec6A0YFifcVE20mqid$R3ZY%mdEl52p, +"dd66aY4*e-[96YA4ePA@f0GFeq$BC0MSf@cCmGTff[[EJ0`&h)VG%0f@hKcHSYm +ThkrJ0Z#pi86Kc1*6iY[MBq2Vj(2Nr1@%jJhQPZFIjkRS-ZLmk8ETd1TEkZAVF1[ +ll)EY%HfFlLMZY1p!lmc`@2$PmA,arr+-maRcTr3dp-,e82AHpQhfqrH+q"RiU2N +iqFIk9rVRqhIm"rbBr5RpZ[j,rYcrEIrr!+%!i!!%!!!!!J!"!!S!N!AU!TU#!!! +!'[S!!!!"!*!2!3#3$N!!N""!!*!&`!+D!!!$!*!)9QT`C@F!N!N"!!&KF("X!*! +'!3!#QJ$!!5`!!!%X!*!%'Pm!!3a3D'pdEb!Y)%T348F!N"3Brrrrf2rJ!""+4NP +'!!'3"#`",!!!rri!$%&`F'aP6@&bD`Vrf`#%!"B2%4-4$KB6%K-C&aBD)6BM)4i +H)8)[-LFf6N9588e&6%T@BAaT9PaeA8T-E*0YGB#%Lib,9'LBSjH(SAb)Li8"&aN +C)4dK2b-M2i9C6&Q&N$,ra!'L!!!""3'3"J#3#!%#!`3&"JF)#3S,!3!$!C!*!*! +'!3)$"!8'"`J*#JX3!!)"!`-#"!-&"33%!!!"I3%#!`!%%385)6&""K04B3FLF43 +bJC'K##0#XF%98Y(`*$0LFS)*#KBA'"ND*5BR+#NU0$8f0cJj1N0%48C(5%P+8e4 +99PGB@9TMC'9QCfKTDR0dGAChH(PkJi5&KSH)LBU5Nj59PTHBQCULSk5PTUHSUDU +bXl5eYVHiZEV#`m6&aXI)bFV5dp69eYIBfGVKiZ2NjHERk1RUmI,cp2AfprMjqK% +!!J%#"!3$"!F&"!3!!3*h!!%#!a%%"5%a"K*"83GKF4-L-S%)&%+4SE("#5-c8[! +9BR,4#KBN01%Pm4FB'4SQ*bJT+M8f0cJj1N0%48C(5%P+8e499PGB@9TMC'9QCfK +TDR0dGAChH(PkJS1%KBD(L)Q+NT18PCDAQ*QDSU1NTDDRU+QUXV1dYEDhZ,Qk`X2 +%aFE(b-R+dY28eGEAf0RDiZ2NjHERk1RUm[2dpIEhq2Rkrm!!%3J!`!+D!`%L!!) +4!3-4!IrD!!`$!3!#%3-4!$m!kkLLLJ!SSSS!++++!#LLLJ!SSSS!++++!#LLLJ! +SSSS!++++!#LLLJ!SSSS!++++!#LLLJ!SSSS!++++!#LLLJ!SSSS!++++!#LLLJ! +SSSS!++++!#LLLJ!SSSS!++++!#LLLJ!SSSS!++++!#LLLJ!SSSS!++++!#LLLJ! +SSSS!++++!#LLLJ!SSSS!++++!#LLLJ!SSSS!++++!#LLLJ!SSSS!++++!#LLLJ! +SSSS!+++3!0!#d8P&!#d8fLJ"e&*QM0!#d8QD-d!,46D+!(88fLJ"e&*43!Y&*43 +!Y&*43!Y&*QM0!#d8P&!#d8P&!#d8P&!#d8P&!#d8P&!#d888!&&&&!"4443!888 +8!&&&&!"4443!8888!&&&&!"4443!8888!&&&&!"4443!8888!&&&&!"4443!888 +8!&&&&!"4443!8888!&&&&!"4443!8888!&&&&!"4443!8888!&&&&!"5'PT$3'` +RidK09*Vf'%("bI5XqA9*'2lX99M'99)fbFG65EarI&Fqpp1i`6LS$*)H6)DI+CI +@8G2jLqSr1Mc&p4qGFa[EeEmk0lHVIR4l-PiNkF128IR4Z(piIRA,lMkYqG'ir`" +j[cTqc((%k(5Y+UMPK8B[)#fhGcA2"RBNHBDQdk&T,MNNM06B)eVXk6)l8STS!8F +e9R[SiMMV51TbX@KNp+$ae0BmZUZhqU'+V'qZMpkTZ3kb4d'pIl`Sma2l`VQr0Fr +aQMHrpmdA-rV"dRQ,rH&(Q,rH(jec1prqHKSh[rcd0&`pZG0Z8raLNhU1VLZEh-2 +q@KSqC[m!PSDG`H)XG!,Z%YY9XQTXj(@X$6BcjZ55DdC,JL6D+aP9XG&0Hd,fiHY +'iHYCM5(qp3XKp6@AYcSpLDQi8C(V@CjcqY(R2keAYLIC'P`1p,`HpCRRZHp(RZ1 +p#VKl%dmildKN8G5+c0lRUe*R29M8ba"AX65%bNi"U3FLXZ%0[(0D5m++fK1jP+0 +Ke,44@T)8888!&&&&!"4443!8888!&&&&!"4443!8888!&&&&!"4443!8888!&&& +&!"4443!8888!&&&&!"4443!8888!&&&&!"4443!8888!&&&&!"4443!8888!&&& +&!"4443!8aUI6'S4-YMRlf0BlSiUX3@"ja9[8p`Zq4a9-i+RQYNMcDZi%CSj2!T9 +2c9Cdq%5ci25QhBbT8qBVFqP(2T@rrCYVr`!mk2l0YIm!RRqYCZGMVqVA1Ijp+1I +5ZKrXferjjd(6EArRR6jlJX0C'#N661&+R&EPRDTE*NGDR5&&k+"6hqP6FdT8,-' +'j4A1h+&EZ61Dk,S`&B1S(&kp3A9+akdTk8$T5$V8R(Di-$Rlr`#P)5#-&[dUhTe +XXd[cVa@S,#f"qi+UaSU*Ji0'$@rr!'GDr`$22pD2l0YIqHIkd@0931ICJ2ZJe,$ +Eb6Bi0EJXEF(lJUCBNMqk+63P3Z8eK&[Ei&9am`jV4RAHZ+V*ElMLZ@F$[ST349f +mpDFFU+[VD)+LZ)N89$Sf099Z9D+++aDXE*h%2bp+!92hUQYdh(jUY'e3MT@dDGc +*e$2aR[5l51PA[XD([6eYNAV91KF6UN9V%9keE&!!!iSled3KBjj5Z1ST++e%KD+ +E4RhUHB"e&-hHp'kMQ!I4449!&&&&!"4443!BSa6Ge'kJ"f+-8hGlLMG3!kLNSS! +@LNc4QJ"D+++!#LLLJ!ST-dCpk!$LMLNh,kdEPpDRQ!G45CSSZ!Y&*49!,4588!, +46D+!(BSa6Ge'kJ"HD1D6H+0`S!G4443!8888!&&&&!"4443!8888!*5(SD@QYpd +r5Q,SFpI[ZZM98G$8N[c6-6kQQ(K$@d6b,qm+H#2DYA4%q@4MhV*2*EfVHdT!YST +pDL4YKPUAk3d8'Xcd@&&&,31`JT!!dST'S!3p5IDZFZMZZ'2UDk&Mm[i'ZD*h-$k +NdMRUK4443FCUD2'9%MIhUddi@UZQ!IBN2FeE(8LQHK&$U+++$3+5PT+3!!'N&+D +"8f!4HTUTH(R&A"hV0ZQc*89RSA6@T$NGU-(Y4JGU-RYA!YcX@KCY"mfD[$V9@bA +phQVB&Gm%FFQ,444@a!P&&'F8YKELF#SRQ9Hp4ch!!iUNAhRV@&5SDaJ@*EXMT83 +Q,p66)SbajUBfal9c0YQU884"hceThQ5$[6(6ChTS0CZ64SS*PZ'j,("UiMEKa@6 +RRLY#d2bmeedTA-*aX@D+5LZS`Z(HQZ`8C0)cK9bDcjTc+f"@-kL4FBh*hZKMLUc +c%RUDCLMEA+jh0q@`jRIe0+XXJT0VdKb+MQD,j%@PZL1Y-Hk*k9@'649HeD(l*%` +QIGeTdGbiI"09b4QT)8$2eS8lXL8E'P'jB8kNM!!THYHJYMQBY4[)"hTXdZd93NN +,(V@&5SA'"-paNj@S'RGQldJ'aI@TilFZZi9LRFeZSN)GahTfpMhU9VAhU#5)Th0 +6CT'LF@1@i)20A)TYiV2`#+XfUQR5NlQFi)[QNT63+lcPB8'LS*EJ*85RBT4(XiA +[9DDjl#S(NBLSd'mmeb1Uj'dDDL5rD'DQQCad02m!Xl(T86aZR@XffDHk+*Ale0& +Fi209P,%FdSa68abLDUZ'k8kU9NjB9G&GP19cNP'`kLLLY4"4443!8888!&&&&!# +9"G2j9ZaUEZDTkQhqLX+BRm*KXFNRhTVFLN"b+"bDfLH)hl`!iC!!r`"iedeUJMK +9IDZHJKhc)[m!G0G'K'!G`i(V851l$SNiS00$UIiKqG0HC&rL(jeQGV*+1Y8Qe#& +Hp5fmiRj(5JK6Z@+5PT+$4&DqIbVCL+jmR'FGUfY9N!!)0KrLV&AK0arLT(,8&!b ++46m`([3$mf+QY)a*2ckd(1MIJABJqP5$Nd`--!EKqG1$+2iKqG-p"-I59&*2'R9 +KqG9jG5JMkQJ()Zpk-B1DLYjK2(Z&5JFFdLJSSSTJ0Bi"0CXac+69qBiL*V0*b5D +jUc0k5'JBT`0-*Tk$*&FF6H@KSf`a(8`TXB`JThD[6LMKE&T$43DTJK1P9EQB$SH +DI2+)eah08(*h&MdVPU9$@P'iMFYNd+KCZ+"mkC&@l12#j0FkpieRlT0$%%&6B"S +'-8Q!$AI'+XFYf8Eb2R09Jf4LV9kq1+UG"QZ1[C(A5Zd,dUrCMM08"mc#Y1f'e+G +!QUbBdM(!S&9lQ6D+kTbXFm9FVh8TBmG+K1#[(@JYMJpDB&+R0HI+9cXK'`p&CQ` +Dd)S99HDKY8,FQVCkBVUT8lUl-+Xl$6'T&9jB!DYJ#NB#YC`4R'6-[EjE8dR,9,F +rkbSXB0F-l)kSYL$J9DY&bFe9kQY#dA#e91'T0@@KB(&"1"QJrGU1FiL*V[HL1EF +Sh4hR)U)()a3@l8R6Q[0QcVJL@h'C+dJ-9Q3YYN&D50ZaA93MG'08F1DBm3DRdB0 +G,5XBTXSICLAUl'QeF8kLXi4316&AT5B`DAT8Fcl4@NYKSMZ*K'Z"@HAba*TdVPM +c6#ZiF9jp@HTddiMP,1-BUpE4+)aN9@Y9*EQY%!#Yk-8c1SfJa9@m(&@UUhKiV5S +NM1&f8MJdR5P+iT0T0HFpcXZ@V,"&AKa9+bL+LVYHK3@Kb9AU1SSSVFJ++++!#LL +LJ!SSS25J"YC1X(*M!261De3IP&B@T2ZZRAql6LB9RC&3J#Qic5N%dK"&G%G$cAU +1AFMCc50,+@qmIcT-%VRQM!#jSj8#Z,ZEeEmk3XI8rR30jrK2j9))h2m!#IbUH9! +e)M!(!8jVSG26EEM08,,6L#'DYL03S#LXQGp+&Ke)D8dP5G9M(eNUc4U$b$9!jhR +(5V&qfkmGI5U[cFBU6JU5&SSSS-ikK[BpcqG'5IiQr1N(2Bdi)6d"r+Q9U*QAEb6 +MkdM$FS!j1DG'NV(CY2j9HXY2CAh2dS+8@c3X)c(EJ(dUd1463!!!+F1+CfS++++ +#Q9lSMEJeRRJm9D[Qc`+UV`1Di+c1QNJ!cbDNYJ@Njk9'4PXMT9Ud!CUQNLUM,e& +&&HLMM#QZ5"6UKQP#LXj1a59bRF1(1DLcZ'$34[1D3R2!VKP1jf3MB8Vm`a@M!Tf +$08)4KaQY!1![&G&+-6'UL3BTNM!9%e`J(&9CTbaiTcUA)M!E)iNj04Cca4JRN9, +'JNi&FVMFk)bX,$(ZB9SaVY8#SiBGSUI&GP1RbR019aV%+ZDcEKYc'VPbr`!YCqF +Y@GCQP1)4M2*kd)#mZ$dSaNj&6@i$2A-Y@D6d,XDiU3d$LL[5MSMNPU!ke&F0YA0 +6%i'DclUAFF9&4k&3L3(jZ6eTSqBi0"jj&1()`+mq8MX3dM"!&DPX2h3"V1L(ld! +eTS11+kk#1HS1U+j2lZTZe-P6FPEcf-NC*!"S25R54%'Qp"AR23l8"*8m9CYlM!j +UZ-Gk#-p+&1a%Sh09@9ZKTh5Xb1CN0ABCYijVXK81G`X6d88PElQEGJcaQU9c+'1 +d9DPEDKV,BjFQZDV-fTS!-RQPFi'"4RF1+4"ccA+QG6,eNQ)qY@-%GkMKf)R@KjN +#pDp#2,%iRGMh1d93RF-DG,FlaJ9@),(0FYDVf0UF@(hZ66e"EJ8L$HF#Vm%!3C0 +66J914*!!VX@R,be,5JBVZMSFc&SSSUK"4443!8P,58!"T+8dP!$A)#XIDZDQ)HG +rV@lHZ8LERYA2$2c0leF$La$(8eU88Bb`qYD5d1'1V0LaYBhYrQ'DX#bY`-EDQJM +50!&p+N!ad&BhCkdB)K@hKASSr+R&8(3$mUN`+-90fAb4!#PS&)DC@`Y-P1&*pUA +2&9Vk6C!!%e*,CKZhQ5%ReTM(DH+"bT)S!ijS21U"`93%9Y@GV%B%b+a9h'3$(3L +ZRM!5-$fS1LK#j#,@!I`LT&KL(44q95BAdT461VP3h!(m)r+LR88$d%STD5Q5aD$ +58K2&"5e-ql2ce!166j6ZNTMI+DmbScYJKIZ9HY&`0e8J0kjV5YaL%9Y44P9C,44 +59f41CJHY8,SjHVlG+bjMQ8eK@GM@QVM-iiT-BjTFCjScRLZ&kRCF"Np66Yl,d01 +MJ$p$8iY&lQY)dT2B`QbU6LJ+@l9Hqc,8Ua)[DYrCN!$Q8iECQqp9Z1&8U8$LN!! +2@YSddCZ3!++$5daM@MGK*&'lEjkVG68P`fk5SqKVckce1ZRSKFm9EXele62@VpT +pfP6q)9ABXjTDD4LN,BVdAXFK&F5""LXpaNjU@G[-04Y`+iCcZG-)L8889cfZDXQ +YaZNV4ALU&Q2QUrAI61@S,5dP,A3c*&1jK*(&8Q8VeVBkeAZ)!r5Z@T50S6-jKZ1 +D0rDR5VjCa5!$'Dih'aeV8A1"6ShfQSbHD8M!USZa%NDXEEK6UUf6ENjUehVd+FV +Sij,8UhMB'+SeB[@qDUrm0FFcSTS8Vc5--LPj)TmDEM8aLDXEjZ1+3qY@KD!me), +B%B09l'5-ZC&%!pK8XF,XH49j)86Y6q"d&E`Shh*GDa%N#T8`)S)c5$!VG3XB13k +PT+@UBN&&&&!`SSSS!++++!%0*5dP!A-c@Q(P+QH@V)212pLVQU5'5m+Ci5U3!!4 +RrDV5*j9Gr["al'TE9I0ZP&3Ci!UpTDIk8$9-QL[hKZ+-!I5RdKS&BRVLd888!&) ++@NS%0aRG@9V,MBUJmLYAS`(V@"U-KHlG1`S-kVd+aT'k8TT'k9*`PQ`A0mJl'Yp +9'iYRleBqNalTRFr`9XU-B&8Ge,BI4443DK4443!JS0!S0*lJK+C-F,6qp9lTX#T +U1b##e+,FjTR5R(LJFejThS@-FJ9U4M%B&Cm)rHJ9T$J!9f8MPULdP,59d-bBNRh ++bT[[QY@6lPC8hhcA0APSDda-BSc4QM&FF6U,9Q$9dLU0Ni2&AMAS8PSFG9kLd8P +,@eM1i88R5Q2+&U(0)Ua,6*2Ze&&0[055G+,h3dM-FlRTT''TcMDp0*bDmbEe1U# +$EPUdEEKDcGf'UrEYPDkD2ZN99FXGHDUh-Q4Y&5c5l&V2D6FaV5T8-i3&9G``+G) +J41DQYBXFQSVVjhfLX('aT&kN@+-dCSa@,0@@V-GkZe8XIZeD"bDlk1aae0ae"U1 +@3)ZDMJRhR&@jT-A,S@++$6DdX5f46`KaQXq45Ta@YfUKG!!jVNU`0UFLYR0+'a3 +4LN!cA'pcSYBZ@4bPA1LeAY%fT9KZPHP6dLFXhUCP`Fb9%4c8Y`2hP4%me`51Q#& +cc8eX2RU$(06@arH9T6&0QM5dP&HJMNE(8P,43`6%&,65i9Fe#NqjX9$Q&V&QLN& +,9*J&&&&-!SSSS!++++!'p+4rZNqe,e&9lapN"2Y33fFr0qmP,ClddM2HN`UJR28 +d(D&cQYNH69Il`"d0DQL$jT[`V+0E'M$r!&[i9-ME$Vhc8AT5LNAT5LXcdaD+++! +#NSSS%aNc")bDjZBllPQVGe"X@V'ZI8r+@S1HZp"1p+h5NldVG+NjBDQTSbN+j0D +Rm3UKT6!`NLVij`DSlSE$k+++$8++++!%&&!STG3393ZfbpAqaV,Z$Q8eKAGND8e +U4d889`)kN6f[hkd1pCpTpqY$[AS8GMPUlLdP,59ZBX''9V,Z&+[@S+Vh%3BCV#Y +#k0B-S8P+D3e`E(A(8N4[*FBV3@9A8FePMMV6PGNlm9d3U@)R6ZD[bLN-LLXll3a +TTNBpkYeVQAXbj,FU"a99T'HSZrV8m84BF#XflPFU4,C)DXZ-#L&0JTj'Dki+k-E +Q5h*1DDafp+R[%`h&3iqAQ[2Uae1U$&01@BTa8HF8["T1CE3q9mdq#(Ic53aEcc@ +K'JM@ZLR$R-*bj3#J93Z[pC@M@IFVQ5YDXE)L$e)-!M0)#6`D#T*b1P,Z'-Gki6T +,GMb+Y-fh08,9pMlDZ6rFcAG6f1@Hj4NP-K)0*'GP0*!!HP0cLZ@T1c1L-G$9MNh +LRN9P*+mG6#jCK@mDaM+QAQ)89Rh,"M3CbhHSA*0CcUP3J0qY6a)6dTNDqDHPAiB +K'1D&$8UFb50GSTfFd[88J(0GUMC(+hFcVY$R03$'+dTi`iV2NL+QZ'T'ae8jA'I +-HY28X[5N16dS"+pDcM+aT+0c4KP"(@T12@XSEd2@RQ@6(@ZK96"dc6*!(@SARfp +kTHBakXDB`chSG8&6*RQCJ3DGDU0fDL9#jaJeHYi3JT`e#SNLF8Y*5ee*'!8888` +#LLLJ!SSSS!6SY3h8IQ3N9-1D2DJ$QCE5D)jfNdcbfBI0'DkGP$G9"T!!S"d399c +PP36-',6TT2[F#Y5bY$EMNeE#KD8N8VQN++3kLLLNE"4443!P&&&!)JZd-PZ9lQX +'5fH%%K#Dk3M0)9c`9&"R1&cQ4&-ai3eBMdkD6"2&ES3$q%8i!GU#&6X3@YX)&`+ +Rk(*T4QN2c8'bd(8888$#LLLJ!SSSTA!Dh)UR2#@0A439"U*4Z"P#'3GUN!"E1eD +'"5p+K8l'MRFV`fiMjUFd(0++f@KQp3SSSTJ,65+G43"8NJ$G+V0EZTi&D3!&"'D +jh6,8c*C'rZQN8-2i6@YJ(X+0LqJV0dLe8-YBA2DTPY@0AJS&1a9a`k4,Q9SlB,8 +q-#R89ZS*%0K44463V%8m3F93H"JDe+3S$@FiA,M+aN$Fa`9Uc&EJmN9G#+1`THR +39R'PBTe,M%6&20'D1YG%9BcHSGkKZ)"++R)c4LP*A"D'BeZkG+3@lXH4@RMeT-H +PBqb0&8X34fr)0@'8&F8$J8[HYSQEC4PYMfUZB@(DYEJddUYCcTh,M1aPBIm!ZdE +(rZQYAD238Z"k#T9&"l3c2XlYe&64fS(@VS'+ALUpLJpS4*(MY8KTD6V9T'BY&&& +@!h'DLNK$91D3!)*V0ddaV3cQYh6T8CMN2DYAkdK3HPCZJQD+TBbIR2m!#DFXE(q +%eUE9p"3&(T8+N!$GCP!@l0eUG,94eUb"4@LT'EUXD"l#RLM&,@T)88893"4443! +8888!&&&&!"4443!8P'D-d"B+@Nc5d!&&&&!"4443!8888!*5dP&!A#PSSS!+5PT ++"#d888$#LLLJ!SSST!&&&&#!5LLPTKB++++3!!8888`#LLLJ"++-dY&`X*45dP! +V"445dJ%STD+04K58#PTl!Q*4445Z$#LPSTLX&&&*3!Y&*453!!888Y-,#8Y*43# +&T+@N0&`BP,45e0Q&K++++S,#d888KK4443!QD-dBSa4CL%STD+03X&,5CSTMZ&& +,58!,4448J&&&&8!8888!&&&&!(rrf3!!Q!!+!*!&,!"&!*!&,!"&!*!&`!+D!!! +)rIm#!!$qrJ!,"i"rrrm!"rr!r`!,"i"rrrm!(rr`r`!,"i"rrrm!Irrmr`!,"i" +rrrm!rrrqr`!+")"r`2m"r[rr!!X*L(m!2`2r!Iq!!!X*L(i!(`2m!(q!!!X*L(` +!$`Ii!$r!!!X*J(JF"`I`!"r!!!X*J(JF"`rJ!!rJ!!X*J(!F!`r!!!IJ!!X*J(! +F!ar!!!I`!!X*J(!F!aq!!!2`!!X*J(!F!aq!!!2`!!X*J(!F!aq!2rc`!!X*J(! +F!aq!*rc`!!X*J(!)!aq!2rc`!!X*J(!!!aq!!!2`!!X*J(!!!aq!!!2`!!X*Kr! +F!ar!!!I`!!X*JI!F!`r!!!IJ!!X*JI!F"`rJ!!rJ!!X*JI!!"`I`!"r!!!X*JI! +!$`Ii!$r!!!X*JH!!(`2m!(q!!!X*Mi!!I`2r!Ir!!!X!JIlr!!(qr`(J!!X!JIl +r!!$qr`(`!!X!JIlr"3"rrrr`!!X!JIlr"3!Irrr`!!Rpr`8!"rr2m!!)r!!%!Im +$m!!#p`!,#6J!$(`!!$h2q!!,#83#"&5!!"+4U!!,#B)!""!!!"+J)!!,#B1fGC' +hf"bJ)!!,#B+5P4#DC"#J)!!,#B+5Ka#5I"#J)!!,#855K4#5B"#4)!!,#6MrIlR +lI$R2F!!%!"Mi!!3!$[J!JJ!!!!8#!!!!!3#3$`%!N![!!!"!!*!33!#3"5S#QJ! +!!`#3#&CUF'9R!*!*!3!"BA"`E!#3"J%!!TS!+J%X!!!",!#3"!4S!!%-8'K[G'm +J,5"+8%9(!*!8'2rrrpMri!!35NC*4J!"N!3X!5`!!2rq!!a"F("XC8eKFQX+rpX +!K!!@$a%6%3i@%a)6'4F@'L%f)b%H(L&#,c)R0Nj&8P&048a+9Q&mD9CFG9e+6'b +6EA@!K)Z-Le4SQ+1AKk&mL)Z&!4FC'5%G)6mM)cq&@8aCKC!brm3"SJ!!!38"N!B +!N!J"!J-%"3B(#!N+#`%!!`'3#3#3"J%#!`3&"JF)#3S,%!!#!3-$!J3$"38%"!! +!!Ad"!J-!""%&%L%a33B68@%()R%8-S'4S3JM3V("&9,4m#3cBR+##3S@&aJC'L8 +Q*bJT+M3e0MFi16T$4%9'4dK*5P0899CA@&PDBf4PCQGSD@TcG(9fGhKjHS1%KBD +(L)Q+NT18PCDAQ*QDSU1NTDDRU+QUXV1dYEDhZ,Qk`X2%aFE(b-R+dY28eGEAf0R +DiH,Mj1AQjqMTk[(bmr6ep[IiqIS4!!)"!J3%!`3("33%!!%#G`!"!J-4"!8K-3B +539%(BA%6)M+"#"4#ND'a`3NM-e,`&@*bd3S@*$6K*I%A'"ND*LFS+5Se0MFi16T +$4%9'4dK*5P0899CA@&PDBf4PCQGSD@TcG(9fGhKjHS+$K)@'KiL*LT+6P*@@PjL +CQU+MT+@QTkLTUV+cY,@fYlLjZX,$a-A'amM*bY,6e0A@epMCfZ,Mj1AQjqMTk[, +cp2AfprMjq[r!!"%)!#S#QJ-")J!#%3%$%3(rfJ!-!`%!!K%$%3!r!1ZSSSS!+++ ++!#LLLJ!SSSS!++++!#LLLJ!SSSS!++++!#LLLJ!SSSS!++++!#LLLJ!SSSS!+++ ++!#LLLJ!SSSS!++++!#LLLJ!SSSS!++++!#LLLJ!SSSS!++++!#LLLJ!SSSS!+++ ++!#LLLJ!SSSS!++++!#LLLJ!SSSS!++++!#LLLJ!SSSS!++++!#LLLJ!SSSS!+++ ++!#LLLJ!SSSS!++++!#LLLJ!SSSS!++++!#LLLJ!SSSS!++++!#LLLJ!SSSS!+++ ++!#LLLJ!SSSS!++++!#LLLJ!SSSS!++++!#LLLJ!SSSS!++++!#LLLJ!SSSS!+++ ++!#LLLJ!SSSS!++++!#LLLJ!SSSS!++++!#LLLJ!SSSS!++++!#LLLJ!SSSS!+++ ++!#LLLJ!SSSS!++++!#LLLJ!SSSS!++++!#LLLJ!SSSS!++++!#LLLJ!SSSS!+++ ++!#LLLJ!SSSS!++++!#LLLJ!SSSS!++++!#LLLJ!SSSS!++++!#LLLJ!SSSS!+++ ++!#LLLJ!SSSS!++++!#LLLJ!SSSS!++++!#LLLJ!SSSS!++++!#LLLJ!SSSS!+++ ++!#LLLJ!SSSS!++++!#LLLJ!SSSS!++++!#LLLJ!SSSS!++++!#LLLJ!SSSS!+++ ++!#LLLJ!SSSS!++++!#LLLJ$rf3#B!!S!N!8X!%8!N!8X!%8!`!!!!1S#QJ!!#2h +r!J!!r[i!#`H!Irrr!!Ir`2m!#`H!Irrr!"rrm2m!#`H!Irrr!(rrr2m!#`H!Irr +r!2rrr[m!#J5!Im$r!Ilrr`!,#BKr!$m$r`(rJ!!,#BKq!"m$r!"rJ!!,#BKm!!m +(q!!r`!!,#B"i(!F(m!!I`!!,#B"i(!F2i!!2i!!,#B"`(!-2`!!(i!!,#B"`(!- +I`!!(m!!,#B"`(!-IJ!!$m!!,#B"`(!-IJ!!$m!!,#B"`(!-IJ$rmm!!,#B"`(!- +IJ#Imm!!,#B"`#!-IJ$rmm!!,#B"`!!-IJ!!$m!!,#B"`!!-IJ!!$m!!,#BI`(!- +I`!!(m!!,#B(`(!-2`!!(i!!,#B(`(!F2i!!2i!!,#B(`!!F(m!!I`!!,#B(`!!m +(q!!r`!!,#B(J!"m$r!"rJ!!,#Bq!!(m$r`(r`!!,!)(qr`!"r[m"i!!,!)(qr`! +!r[m"m!!,!)(qr`8!Irrrm!!,!)(qr`8!(rrrm!!*rIm&!!Ircr!!#2`!"!(r!r! +!![F!#`Ni!!am!!!pcrJ!#`P%!J48J!!5NDJ!#`Q#!!33!!!5S#!!#`Q$YR@4YpJ +FS#!!#`Q#NT83QQ33S#!!#`Q#NSF3NR`3S#!!#`P%NS83NQ!3N5!!#`Nirhqjqh` +jch!!"!!Bq!!%!!li!!$rk*X!!!%!!!!Kr!!!)2`!!!%1qMEj-2J8p`cf3IAUpK, +fSIG)pjAh)2@Umcr`31dlkVRT'qKpk+rT@HS9kSRUMqSakCIT!HLbk0VTKHU,kk2 +XDqb3!1[pkZlTfZPNkJ6VbZjNm6(cMr8@pEVecrA-pKAfj[JXqD6l$r`Yr16p42e +mrF$q-rlPrm3!R!&!!C3"T3'l!NB$X3BN#@N-j`rL%G)5MK*6%D33ma##%%m3,Jr +[$i%1r`k9$R!1R`lr$dJ2&`iJ$%`*[JEJ"$S#4!&+!6m"k3,I!mi%E!5c",)%K34 +%!r`$T!0*![8#a`,,![)$'J-D!YJ#6!'C!0J!%[mhrLlmh!!!!"SC3@4[BQ@S)&" +SEh4[FfK[F+JJ05i`,M)JT!!!%6J41!#3"5F!F!!4![m-!2rq!!!!5!!!!%J!N!F +R!(!!N!@K!I)!&MK#58d!N!FR!("(FSP`D+pLDJ!"!!S!N!8R!(##!!!!$Y)!!!! +"!*!2!3#3$N!!N""!!*!&*`"`!!!$!*!)9QT`C@F!N!N"!!&KF("X!*!'!`!!F!! +R!%J!!!")!*!%$MJ!!3a3D'pdEb!Y)%T348F!N"3Brrrrf2rJ!""+4NP'!!%"!3" +)!%J!!2rq!!a"F("XC8eKFQX+rpX!K!!$!T!&!`)#!J13"!3'"*!&"`8'"3B*#!N +*#*!%#3S0#`N+$3S)#!`3$!d1$Jm2$`N,%"%3$K%0$Jm1!3-$!`3$"!F%"!F1#JJ ++$T!brm3"SJ!!!38"N!B!N!J"!J-%"3B(#!N+#`%!!`'3#3#3"J%#!`3&"JF)#3S +,%!!#!3-$!J3$"38%"!!!!Ad"!J-!""%&%L%a33B68@%()R%8-S'4S3JM3V("&9, +4m#3cBR+##3S@&aJC'L8Q*bJT+M3e0MFi16T$4%9'4dK*5P0899CA@&PDBf4PCQG +SD@TcG(9fGhKjHS1%KBD(L)Q+NT18PCDAQ*QDSU1NTDDRU+QUXV1dYEDhZ,Qk`X2 +%aFE(b-R+dY28eGEAf0RDiH,Mj1AQjqMTk[(bmr6ep[IiqIS4!!)"!J3%!`3("33 +%!!%#G`!"!J-4"!8K-3B539%(BA%6)M+"#"4#ND'a`3NM-e,`&@*bd3S@*$6K*I% +A'"ND*LFS+5Se0MFi16T$4%9'4dK*5P0899CA@&PDBf4PCQGSD@TcG(9fGhKjHS+ +$K)@'KiL*LT+6P*@@PjLCQU+MT+@QTkLTUV+cY,@fYlLjZX,$a-A'amM*bY,6e0A +@epMCfZ,Mj1AQjqMTk[,cp2AfprMjq[r!!"%)!#F!F!-")3!#%3%$%3(rfJ!-!`% +!!K%$%3!r!2e4BN$)'IEeVNYAq,r`Zm1kNqMDr`$%E`VTPp%GXYVGkaE3cSf!F'0 +Rh$JJmJG494K+EY&Ap$Qa@0`f"Kl6%e)`ApjTAp,N@PI'IiAq)YHY2#hK[iJH(GA +eDqMQNJXV(8)VQCPL!-V&8*fK3bj,BkJG5+EHI'ri2DGFc@@SI&A`EDh0ZjMQKQe +fd4ih("9P-Q92XHD94HaE964V[SFkcM,j8PA@)Kb0f6jNNhTXpR[dHqK,TRaLq&Z +Z5A5D,m3r$Gq,")*,U5fe1#@1&C[0mRFkX9"Eb*L"R1%*aMQY%r%(`5'fRaIS@Fi +rj#8("p2[GH+mf[QqAiDFUGE%3M++Zdj*@ARUHYK-2@ap+0I#8j9)5E5P&FbGYl0 +D1h@aTk4V@Pq)02LeE4Ef+mXTphP6`YZ4pV&@`Hq'8Mm+Zeh8kN+X)e)1mC+kINc +18C3EM*@DdX&&@)+5J"D+!'Z50Z1l9m*rXfI$(`RmAr((L@IA0(56`jDfckR(Bf8 +mYP'XerGb5fa55"SQ!5+'GGTia)$JI,AIJkMT8kXS1cY[e@U@RhR`(&f#`qDjVPH +"a8&1%T9C1,fI,#1rIG[jAk([hL2iAI#6i5I#hiJq*r#(K5bCciGe-A[fZmPe!A+ +*EbEV9hZAN!#XE2Y$4JJ-`"B%L[)rfB2J9i'mIq(YDe6aYT%prCD4G`k4T`5mZG2 +M6blD15iN#`54KLc6+#6RDBb"Y)B9jpG[%eHDVlcmq[U'+b$+CCMJX"#K$f%B9*F +YY,h6[[hr!!9YMhb2i+r#(`jiIKA6r$U`k4TIfR9!UhdlLGh8-dddM5&jQ#TY9RB +l&q9F,aA'I"c`&SAM@be'r`$&'R0F432"E`+Pa0!BjGKDCGdE+@iD-BBR'$kR2jl +Qq3jGLXq`XDe#-[DUT+9qUM#+LZQQlDk[@jqaj*LUf8C*9Ti1AXkG,NK#-G%R+8T +2lpG6Z0@mFbD4UpYm-rKaSeTFkME`KA-l'1bdU&%8Mc3RcXGT6j4MlbJX#3+Ci$q +)rL[9['qUH#2&0PTIRf%-XKNX0i#XMa$(c-fj@%bi2bN&6NFN*each&4ap'KJkF2 +UIYIUppHCc8(*Z+fj9bYGGRd-SjC5RK+PD[8PpB82DfXZAPNeDm[jRGGYee)E[iQ +q,I%rL#pd$iBkCT0a(TJaFkKU,5'*h13UaUK("BI+5IRfZ3&ADl9[#Ia4mGkridX +[#elSQNfL*j`e&&%Vb4H8#(fX(f!qB8A(c,JRjbH+i9aEQPE&8CdD%2UPDUUF*Y[ +QGTmXhDqUXREDeQhG,AVMNH$TdDNF4@NX4#QTZ+@QXHC+r4kV6c9Yp,Xha'm@H*r +%fSq'[!F1K`ak2Z&eHDU*C&QCA+-XD4--,['hIP[ZYP4mZlHm1q*r%GViB[GFq*0 +TBD+qRcc#4S(,4rCdk5Bba","JS"*BE6J&YUqcPZGBl(iL@*jBI8Pl9Ae8dkEYGU +pQRVXY2cmr&i,#BDK'Kc5qY2NGY(6NTUqMXQQ[0ZrjFEHI&6iJAhKqjmFq(p%dLa +m246L#)kTjdej1$+)r-%8E+U+(ECY,CbM(*'-qJr$r`!8cH-r#HRq)VLfMYTEU0Y +m8C,+V,)mC+Nml58*!2)"aceV,)q)XCQ@2qViQP'%+P,fe2PEEj(**FcfZlhXNVA +4TQH@BE#B96ScP+F+MTe,T*FbMGmU@YNdp@qQb-2ikH+'m(r#6aCVbb&*BY,RJY5 +!$rT-`%&Z$RYjXUFIPRSIQEi'rX[q%rL[i2Qe[a9U'Y@XGKUXPRTX0PF@k3cfm-% +#Y)fq'4LhR'C-JJ!+!-$VqLi6%[#iHT+-)bED68PG0@Ikf2aRLE+F2a*a"KXXa-T ++%D-jYaD69j+-GAHqcdYf25rMhT(KRi4IXmfI`[m!#'R[TQRAfS@HN@545PcJc0H +ACNGXPM)N&`ABj,0)5HZDj,i9IXNH!2LMm2m!32L"imEA([0GXaG[C3h5@p[pQH4 +fL9F4HDSH"Nh-*-jBP5$JeiXi1FfQZKdic*X0QqGa`Y9[f0#M'd8lDmfPheA+Y9m +MhAiM,BH&[KIHk$SeVDkIE4fF'N@&[EU))SB@f`V('J'&9)Yf&(m+i&9[K9M32KN +fYYE-(RDme&i@ADf&h+LRrJ%+Mdp11Dq@Ve&8iP[TDRKT2A[+DAh@4qXd)FQ4@MT +ceP(j4MTqC`2`XY[''XA'VDPiGeR5l68*iSQZlZqYQRN9TfHCQK!EEPR$%jb-J!$ +J9f0ci6Y[KEi(m4k[EkT,UALDqY`NqT5RbjGddJ4@8!Na)(FZ6R13!%Ni93[c'4B +5V2+SChMULF+FDe5QN[HZqCbP0rER[Gl0*1bXfrEcE&8SjK8`0'(aZR'I@m8SFUA +hApABarKlUe[i,q'S[Y2YS*Y6eR8fX0*Y39c2F*YJK6!rJ34b5--MD!hHS2J6(!0 +IeA@TlPCIXQR*ZZj(!mccj@H54QkB2fEGNFI6&BCI9IeV*-*,5-)ZFYIY6JjmVlF +XH@6lA5,aY08U@CeilbPbTH5QiTr19emVP2ahi0eV`&iJIa9iGe#9,+iZTCSVU"X +c@%Xc"c&)#@%N6[NJX#R4@8%)c@rL9ia[pDm&H%,Li3@kD[#qUAbTN!#-B9Mfi"q +mKNP%Lj!!IZ)H`aciTiV)BCRPFkMG18BcJlAXTbK(6e6Dq4VKrBCV9`'1TUde,PR +k`6Ii@[II9'YTh`jm8q*p"dA4YGm6@0YiHY)BC9XG0YA@HiAD5V6A$ZF1Gf@)8VP +Q)'lD`pBdHeXV26,@fdf10,5+#11"Bj!!b+)e8"!V(U0S'$hkpkr3-JbUVJA,%BZ +ST9TaM&*A8Bdi*mL5IVGlqmhE3qCc6-+1)D`q&Le6Jj0YY0ZFQV[4D,4+hPHphTa +IaTq&phm@I##H&l2a0rBE,IfPkdcfIff1832[%8NAQ4NJYYB%1T!!b+H3!!JhIK" +m1eq&IJ(6I!ieH696TcA$'mH"EFc00-mc(be*#J'3!+JC*`Sb5FQ[UrD0drCp,h2 +Mij2'1F20[D1lTHbjED@jh1kIHllE@19q1r`-e(id*S+@2MK[$ad9lQ3SfRLr5GT +N40iAcBbNL"A#YNM%dJ+R)ak*i-m0`H$I#HMH%,5GjlE3p2YY0JPN9&D51'*)eCP +3"35&cK3"c`"@6LVZ4H'bb1(apE(FlEU++YdMbVpAUCAa!m$0iidfcX)pCE6aChL +hHlb&R%RlYipT"+iiFN%(Vf25Y,32#p[SRKfam-[+ejE@9U,3Y1&*Q3,Y1p9!AN% +mBaALdFRT3c+VQ8T0bU3819fj8SlqYhr@Tp(2(9*i1'"D5M'A-RemPqGqkDA6AJV +,i+k[iIe+5km)I%DqdLfQAb6'E+1jF4!j90aEDfhjJV-KBEZZ5aEEYrK0SUD(VHP +AHVDRIDKVk)YjUel+*EPRM*D!U-"950f*9!0Sb33FQ[!`("b`LH(ViU96$U-P#&N +P(RM+-QjGAD65fY[e24aA%$a8ScM3M#Tl[0,@lj@QYhCAXVfri"&i'q%YKi3["VH +SkJG@e49H1hQD)`3fU2J2j-4GbXMUUUdKBX3S(!*$C@PI!Z(60&eh`qI&Pl*EkcE +3fJ)YiNf44-@6c1[R%jC''89NCJ9k%AKq#F23SiHQkdZDNUR0,5mR9MbYlDFUdM[ +C*,@a9ELDV@UeDMTUe4`XYIGj*+5qr9[DlEHJq$i2kcU0MDD"iTq)YrUZK@M)dGK +$BafHi*MDV6KQN!#S'3-%%Ci)`#0laVm0Y'mADIC@EZG2Rdi&E'Dh6F)%+UV4l2Z +Q)K%"6MlS)))TdZ&)I8DZ&aH)R8R8M'+U1+jSU0Z9+0ZM9lp@fqj%q)*HhTiM$dP +6M#8TFZV8T5q*[@qUY'h4)`l,i4Dj,TDq(YIq*1VAQKi-BdqcM@a8`i)mTT-[+Bm +%MB(!aJ$!!&HQf9REDID3!0MC3V$EfmDa44)-+L+!&8$d!!(i9kf5C28ba0iM%5V +9'NZD@L59l*,jYYpI)j-`c'RMfP4S4T36EXQffj@Zfhk+bXNYHj24A[RQK43!88! +&&!"43!88!&&!(rrC!*J!#J#3"5`!43#3"5`!43#3"5F!F!!!#2hr!J!!r[i!#`H +!Irrr!!Ir`2m!#`H!Irrr!"rrm2m!#`H!Irrr!(rrr2m!#`H!Irrr!2rrr[m!#J5 +!Im$r!Ilrr`!,#BKr!$m$r`(rJ!!,#BKq!"m$r!"rJ!!,#BKm!!m(q!!r`!!,#B" +i(!F(m!!I`!!,#B"i(!F2i!!2i!!,#B"`(!-2`!!(i!!,#B"`(!-I`!!(m!!,#B" +`(!-IJ!!$m!!,#B"`(!-IJ!!$m!!,#B"`(!-IJ$rmm!!,#B"`(!-IJ#Imm!!,#B" +`#!-IJ$rmm!!,#B"`!!-IJ!!$m!!,#B"`!!-IJ!!$m!!,#BI`(!-I`!!(m!!,#B( +`(!-2`!!(i!!,#B(`(!F2i!!2i!!,#B(`!!F(m!!I`!!,#B(`!!m(q!!r`!!,#B( +J!"m$r!"rJ!!,#Bq!!(m$r`(r`!!,!)(qr`!"r[m"i!!,!)(qr`!!r[m"m!!,!)( +qr`8!Irrrm!!,!)(qr`8!(rrrm!!*rIm&!!Ircr!!#2`!"!(r!r!!![F!#`Ni!!a +m!!!pcrJ!#`P%!J48J!!5NDJ!#`Q#!!33!!!5S#!!#`Q$YR@4YpJFS#!!#`Q#NT8 +3QQ33S#!!#`Q#NSF3NR`3S#!!#`P%NS83NQ!3N5!!#`Nirhqjqh`jch!!"!!Bq!! +%!!li!!$r!!!!$V3K42X!!&"*3e4pl!#3"!3!N2m!N%,rN#%!N"lrr`#3"I8!!!$ +e!!!!p3#3%2rr!!"c`m*kG-5IG4!e%!%!N!Re!*!'rrm!!*j2!!#H+`!!pK%!p5d +3#!!e,4%!0!N)!$33,3$rr`!!`X+H!-1IR`!*%!!3"c3"03!(#IBA!!!e!3m)!2r +r!!$$!!$ea!!!!"!X!$8"!283!$8*!!Je#"!(p3!!rrm!G-)!!(6$!!!!1r8!&`F +),"%X#6-*pK$e0IB*p3$rr`$epJ!!p[B!!!$e!!$e,!%!pJ!!p3%X!!!"#28!!2r +r!*!Hrrm!N"lrN#%!N2m!N%-"!*!Trj!%J!!!!B!!!!'+5!!"J3J4%C5#J!Q4!!L +"J")L)B!!!!'!!!!"J!!!!Iq3"!#382q3-!#3+hJ!!`!!!%J!5!#3"!,B!LMriIr +L![N#4J0("5J$r!!#!!!!5!")!*!%!YJ#+!!"!!!!C!!!!!%!!`-$!!!!!5F2!!% +!!3#3$'!)!"N"N!!!N#-3!5`!!!!"!!%",!!!!!%!!3!!!!3!!!"i!!!!#!#3#`% +!N!3+!!%!N!F#!!!!5!![CQB!!3"XCQB!"J#3"3%!,fCQ!!%!SCQD!!B!N!8"!$) +!!!!"!&S!!!!'!*!&!3!e!!!!!3!Y!!!!"J#3"3%!!!"`!!$rN"B$k!#3"2q3&J2 +S!*!%rj!@!qJ!N!6rN"B$k!#3"4!!!!!"!!!#3!!!!N!!N!F%!!!!!J!!#2%!!!! +"!!!!F!!!!#F!!!&3!!!c-!!!#08!'!!"rpMri!!35NC*4J!"!J%!5!")!!$rrJ! +Q4QPXC5"hFQPdG'9Z)'*j)%&NEf*P)&"SEh4[FfK[F+JJ05ibrqi!$N&NEf*P!'5 +!!!!!!IrE!)3!$!J)#!N)$!N*$"%,#JX4&3m-$!m9'"-6&4-6'"%-N!B4$*!F!3d +,#`d1$4!1$K!8$Ji1&"31N!38%3b3"4%4$*!'%3b3(2r!!"%)!#F!F!-")J!#%3% +$%3(rh3!%!!Ira!%r!!!""3'3"J#3"`-!!3)%"3B(#!N+#`%!!38"N!B!N!F"!!) +$"!8'"`J*#JX3!!%%!3-#"!)&"`B)"3---`%!!K%$"#%5-39"8@%6)R'"-JB8ND' +a3L-N&9,"BM-dFS,43`FPNP2`iI&MFc8@SV+$*N569'4&`U0d0KI59H*PmV1%`p0 +eir0'*j5NKE59a06Np+@eaGAPp9CQGSD@TVE'eZEf0dGAChH(PkHhapIRpa%!!J) +"!J3%!`3&"JF("J8e!3!#%3-K-4)%39&KF5)6"6+"N45KX8)M`9,4m$-NBZ&bJT* +$8a9MFc6a*3B@SV+$"bBe`Y*%Ne5M&f4&96CdCH,bXi6$dhAMmdD8T)@dPF68j25 +PYFA9jI9@CRD'PUDfaYEQpLFh4eGRGiHATlI(rpS!$!-"!!)4!a%!2`$e3URGeVT +12DDEmh(UYESkYpV!i(cCZh+iHbmqqUh5XAUh8-Sj&8iGE6FfUYcU`(A[0P'ep*T +GqMVVZpLG')0Np"EAjM21%m@1%4+@8b(U*!M`$qUpR6ecT14N-aFE,T[[Y$LbZYi +FiKSh2qK1hEr+5IehSV(&Mmr'DjTKc6F`%(`GlPRjA5ZMG+k4e,*`k'cpQZ&QplV +G`Damd1IHkhE@jrdkeMI92S1"e$&[YcDh@98[E65!pp3'eJIFrE5qVkAU06CEe(m +8(,Q%S3U"R)5ND-Z#-B[99GDk6FA#R-SX&BDAZEBdY'rIkF["fqldE%ApTB(r!(* +Tr`#h'rhUMq`qLiq-hC6'24[Z!$h%1*'jePMbjclIDhf1XIl'+Kd,Tf0QeffC9Hj +V5eV)FjX1MGD*V,0h,&@bCX`baaaM$eh`m4PqKqmk'(&!i6Nb'3-+iq!$KZ4p-BF +6d9&p14@,DA#bYdlAYe"Jl6rdJL,*ZkJDEfp0kG8eec'klY+UQJIRl2HlfrQTZRG +8c,ZSAB18b[G8eaQZH@PSr1,YcAHTr)rmJmFa(LM%kNRJ-SMpAlYFA"a,ICP`Q3d +!((8L2FpVp'I!kk5al1VCQ6NfBr5kkhLRkGeT1dNc!BeTErBrdRp6p)SBA9qTC'H +c%XTVB"ZpB$F50QMi1lCr1E@rRrm!'*[hV&B(U2&,JM,K2"+@hTNRlYNSNd1'2(+ +*N!$MM(qilD5b(G8cFR,YaX!8Y&%qTCGZ)F3GRXE84lGrq%9M&bmTZ)qrU6@BjUF +lF@Q4XEqIblk6[S*mFd*(5k(&kkp(SqEe,CBT4!*VL0HLr`"CkrPp,I5@%rV(8Ri +cml(UUVa!lDheYcV(5ldpqaKBaVGafEGkdqQjEXc$Vb(0$(2"PSe%JZCrdYU8-m* +biBhI$aLaA&$pk+CiC`Ma5VjZ!dE-Cr0`bIr3p$qX18F6SfCG*$K8jV#2hl2d02m +!i,BZ9qVhe9`ZUi6VmPpV"AF@8YB@"VQ-EAlM[VYGr1qSaG9ehT6qUiBaQArCb,' +@&aCkM6X1lBpQk[m!1phde2SR64d[Te@$kKZp)Zr5&SEZhZ0[d"ZrIfTiP85!GfT +PjIhHCM,*%5a3aN#rmj+ArHZ2pBkF6T2eDCdc%BDUE,+k+`$2,MPC"HjhqNE9G[m +!q-92Sre1kGe2Tf2RjaZp6)E[06A"V0KFieYrQr9E[Tfl[d[p4E2eKk"EeNBiCPI +CIXqmN!"CkJFAKVGfhe+YYPHhf2m!q%HY,"a@iH(4L-*Fc(VC8eaJ%KM@eJRElIc +9'BkV[B%XaP1)-)a%-Im!dTHPTp8p2&k4C45eYE!aY06'qeSDIdBBa[jZbT3k0'2 +dRepZV[8Y,H$T,@Mr!$DPCkPdr`#h8XV&[TE(Km`(6SjNFYrH4FE%E4Leia2U-VE +XPdHi4(Z!pUJpZCjJj#+L-I"!r`"D4p@MI%i$PaM(c(*abrZ4f$JG(CQf[[YalDf +A1$I8XXDA%&jGD6@d(ElRI59jf%cTI6mUeYKYc,@`qik1Pjf"cIm!4YhZhT9p#Za +lR2a-ep$($D@l!il4p&ZkGVY[jMR-hU`hSp!alkRf@@@j)(UC&Kh2PTh9%IQl+Rr +3V9I&Jb4K`bKqX!R@5FZ+!P2Lp@1,2Qc`PNiSc(Yb-,K'05p($kFKrGD(6,QiA53 +qYVAAC&TVafI[2%990rU-f2YHSr9d0qdhAZ)1bX6B6c[G[HphrE1jAqRG'U`hqYB +relK)BmMDeJ1M[5Vh2f[IqIBJdr9pY9'4MrD(PQ3eV"l3)DdlQlqI9rFIr0lkdSB +-`1!Q1Q)5p&pDqDAqdNQHI#II!PVP-IAA6Lp8Im#$5kMJj'"P(,aRN9[HA#aTpeE +RRGkErTEkl(IpE41VjYPh6m*cKY&i0YS'J*B'acp*QprUX9T[4,lDfBq9Q[[a@%% +90B'6YqLeeXZXfUcRp+SbkQ-*p*eAmdj[jSJ0,0[dI6pVIBJHAbF1AJ"J-J(kU8V +pIkI$*3jM&aBM-LCab2kf-6(dIj2Li[QNdUqQCH9M88hhXCL-De`UUDGlK%YGCDj +hdrGleXd-VC8aYB!VDd"J"NE3)E"rUV,Vk,N'NBpqGCCMFHN`#XEIp'jr[Yp2q4[ +@Y@aPE'eX'eM!'YD1!"S!V@#"MG`-$3eP,MQDkDIS0I22LS#BQ!C(KK(fi4i[lh$ +a6Ir4p95AbUNNTqUNPmUT*+IUT*I+U55RkU5AbUNNTqUNPmUT*+IUT*I+U55RkU5 +AbUNNTrrC!!!"!!!!)I`!!#$m!!!"$J9Ee0`KE!!!!"`"$J!&8e45)!!!!$*3580 +8!!!!2R"ZEh3!!!"+D@0X1!!!!&C*3diM!!!!BMK#58d!#J"Z[r6rr`#3"!9`"#4 +pl2rr!!!!(J#3"[rr!!!4@J9`"$brZIrr!!!4E!9`"%brZIrr!!!9F!9`"'!$kIr +r!!!@G!9`"&!$lIrr!!!@m!9[Fm3%$Irr!!!A"!9[G"J$mrrr!!!A$!9[F1J%#[r +r!!!A'!9`"&3R%2rr!!!A(39Zi3`$pIrr!!!A+`9`!r`$q2rr!!!AG`9`!jJ%#2r +r!!!Ak`9[FF`%&2rr!!!Ar`9`!j`%$2rr!!!B"`9`"%!KMJ: diff --git a/externals/grill/flext/config-pd-cygwin.txt b/externals/grill/flext/config-pd-cygwin.txt index ede2a3d9..491c7ffc 100644 --- a/externals/grill/flext/config-pd-cygwin.txt +++ b/externals/grill/flext/config-pd-cygwin.txt @@ -20,3 +20,6 @@ TARGDIR=./pd-cygwin # (leave blank to omit installation) INSTDIR=${PDPATH}/flext +# additional compiler flags +# (check if they fit for your system!) +# UFLAGS=-mcpu=pentium3 -msse \ No newline at end of file diff --git a/externals/grill/flext/config-pd-darwin.txt b/externals/grill/flext/config-pd-darwin.txt index 71d746a1..a07cf62f 100644 --- a/externals/grill/flext/config-pd-darwin.txt +++ b/externals/grill/flext/config-pd-darwin.txt @@ -20,4 +20,6 @@ TARGDIR=./pd-darwin # (leave blank to omit installation) INSTDIR=/usr/local/pd/flext - +# additional compiler flags +# (check if they fit for your system!) +# UFLAGS=-maltivec \ No newline at end of file diff --git a/externals/grill/flext/config-pd-linux.txt b/externals/grill/flext/config-pd-linux.txt index d5060e1b..ad27fc35 100644 --- a/externals/grill/flext/config-pd-linux.txt +++ b/externals/grill/flext/config-pd-linux.txt @@ -26,5 +26,6 @@ TARGDIR=./pd-linux INSTDIR=/usr/local/lib/pd/flext # additional compiler flags +# (check if they fit for your system!) UFLAGS= -mcpu=pentiumpro # gcc 2.95 # UFLAGS= -mcpu=pentium3 -msse # gcc 3.2 diff --git a/externals/grill/flext/flext.cw b/externals/grill/flext/flext.cw index 50331cb0..982353fe 100644 Binary files a/externals/grill/flext/flext.cw and b/externals/grill/flext/flext.cw differ diff --git a/externals/grill/flext/flext.pbproj/project.pbxproj b/externals/grill/flext/flext.pbproj/project.pbxproj index 6665b953..2f232c50 100755 --- a/externals/grill/flext/flext.pbproj/project.pbxproj +++ b/externals/grill/flext/flext.pbproj/project.pbxproj @@ -112,6 +112,14 @@ F55CED950383E50201A80AC9, F55CED960383E50201A80AC9, F55CED970383E50201A80AC9, + F504A66B03CE39F501A80AC9, + F504A66C03CE39F501A80AC9, + F504A66D03CE39F501A80AC9, + F504A66E03CE39F501A80AC9, + F504A66F03CE39F501A80AC9, + F504A67103CE39F501A80AC9, + F504A67203CE39F501A80AC9, + F504A67303CE39F501A80AC9, ); isa = PBXGroup; name = Source; @@ -128,6 +136,354 @@ //F52 //F53 //F54 + F504A66B03CE39F501A80AC9 = { + isa = PBXFileReference; + name = flatom_app.cpp; + path = source/flatom_app.cpp; + refType = 4; + }; + F504A66C03CE39F501A80AC9 = { + isa = PBXFileReference; + name = flatom_part.cpp; + path = source/flatom_part.cpp; + refType = 4; + }; + F504A66D03CE39F501A80AC9 = { + isa = PBXFileReference; + name = flitem.cpp; + path = source/flitem.cpp; + refType = 4; + }; + F504A66E03CE39F501A80AC9 = { + isa = PBXFileReference; + name = flmeth.cpp; + path = source/flmeth.cpp; + refType = 4; + }; + F504A66F03CE39F501A80AC9 = { + isa = PBXFileReference; + name = flmsg.cpp; + path = source/flmsg.cpp; + refType = 4; + }; + F504A67003CE39F501A80AC9 = { + isa = PBXFileReference; + name = flprefix.h; + path = source/flprefix.h; + refType = 4; + }; + F504A67103CE39F501A80AC9 = { + isa = PBXFileReference; + name = flproxy.cpp; + path = source/flproxy.cpp; + refType = 4; + }; + F504A67203CE39F501A80AC9 = { + isa = PBXFileReference; + name = flqueue.cpp; + path = source/flqueue.cpp; + refType = 4; + }; + F504A67303CE39F501A80AC9 = { + isa = PBXFileReference; + name = flstk.cpp; + path = source/flstk.cpp; + refType = 4; + }; + F504A67403CE39F501A80AC9 = { + isa = PBXFileReference; + name = flstk.h; + path = source/flstk.h; + refType = 4; + }; + F504A67503CE3BDE01A80AC9 = { + fileRef = F504A66B03CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A67603CE3BDF01A80AC9 = { + fileRef = F504A66C03CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A67703CE3BDF01A80AC9 = { + fileRef = F504A66D03CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A67803CE3BE101A80AC9 = { + fileRef = F504A66E03CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A67903CE3BE101A80AC9 = { + fileRef = F504A66F03CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A67A03CE3BE201A80AC9 = { + fileRef = F504A67103CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A67B03CE3BE301A80AC9 = { + fileRef = F504A67203CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A67C03CE3BE801A80AC9 = { + fileRef = F504A66B03CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A67D03CE3BE901A80AC9 = { + fileRef = F504A66C03CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A67E03CE3BE901A80AC9 = { + fileRef = F504A66D03CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A67F03CE3BEA01A80AC9 = { + fileRef = F504A66E03CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A68003CE3BEA01A80AC9 = { + fileRef = F504A66F03CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A68103CE3BEB01A80AC9 = { + fileRef = F504A67103CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A68203CE3BEB01A80AC9 = { + fileRef = F504A67203CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A68303CE3BF001A80AC9 = { + fileRef = F504A66B03CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A68403CE3BF001A80AC9 = { + fileRef = F504A66C03CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A68503CE3BF101A80AC9 = { + fileRef = F504A66D03CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A68603CE3BF101A80AC9 = { + fileRef = F504A66E03CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A68703CE3BF201A80AC9 = { + fileRef = F504A66F03CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A68803CE3BF201A80AC9 = { + fileRef = F504A67103CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A68903CE3BF301A80AC9 = { + fileRef = F504A67203CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A68A03CE3BF801A80AC9 = { + fileRef = F504A67003CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A68B03CE3BFF01A80AC9 = { + fileRef = F504A67003CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A68C03CE3C0601A80AC9 = { + fileRef = F504A67003CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A68D03CE3C1101A80AC9 = { + fileRef = F504A67003CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A68E03CE3C1301A80AC9 = { + fileRef = F504A66B03CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A68F03CE3C1301A80AC9 = { + fileRef = F504A66C03CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A69003CE3C1401A80AC9 = { + fileRef = F504A66D03CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A69103CE3C1501A80AC9 = { + fileRef = F504A66E03CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A69203CE3C1501A80AC9 = { + fileRef = F504A66F03CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A69303CE3C1601A80AC9 = { + fileRef = F504A67103CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A69403CE3C1701A80AC9 = { + fileRef = F504A67203CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A69503CE3C1A01A80AC9 = { + fileRef = F504A67003CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A69603CE3C1C01A80AC9 = { + fileRef = F504A66B03CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A69703CE3C1D01A80AC9 = { + fileRef = F504A66C03CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A69803CE3C1D01A80AC9 = { + fileRef = F504A66D03CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A69903CE3C1E01A80AC9 = { + fileRef = F504A66E03CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A69A03CE3C1E01A80AC9 = { + fileRef = F504A66F03CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A69B03CE3C1F01A80AC9 = { + fileRef = F504A67103CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A69C03CE3C2001A80AC9 = { + fileRef = F504A67203CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A69D03CE3C2301A80AC9 = { + fileRef = F504A67003CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A69E03CE3C2501A80AC9 = { + fileRef = F504A66B03CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A69F03CE3C2501A80AC9 = { + fileRef = F504A66C03CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A6A003CE3C2701A80AC9 = { + fileRef = F504A66D03CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A6A103CE3C2701A80AC9 = { + fileRef = F504A66E03CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A6A203CE3C2801A80AC9 = { + fileRef = F504A66F03CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A6A303CE3C2901A80AC9 = { + fileRef = F504A67103CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F504A6A403CE3C2901A80AC9 = { + fileRef = F504A67203CE39F501A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; F5128F2503864E5501A80AC9 = { buildRules = ( ); @@ -298,6 +654,7 @@ }; F55CEDB50383E50D01A80AC9 = { children = ( + F504A67003CE39F501A80AC9, F55CED7F0383E50201A80AC9, F55CED810383E50201A80AC9, F55CED860383E50201A80AC9, @@ -309,6 +666,7 @@ F55CED910383E50201A80AC9, F55CED920383E50201A80AC9, F55CED940383E50201A80AC9, + F504A67403CE39F501A80AC9, ); isa = PBXGroup; name = Headers; @@ -328,6 +686,7 @@ F55CEDD90383E79901A80AC9, F55CEDDB0383E79B01A80AC9, F55CEDDC0383E79B01A80AC9, + F504A68B03CE3BFF01A80AC9, ); isa = PBXHeadersBuildPhase; runOnlyForDeploymentPostprocessing = 0; @@ -348,6 +707,13 @@ F55CEDCF0383E79001A80AC9, F55CEDD00383E79101A80AC9, F55CEDD10383E79101A80AC9, + F504A67503CE3BDE01A80AC9, + F504A67603CE3BDF01A80AC9, + F504A67703CE3BDF01A80AC9, + F504A67803CE3BE101A80AC9, + F504A67903CE3BE101A80AC9, + F504A67A03CE3BE201A80AC9, + F504A67B03CE3BE301A80AC9, ); isa = PBXSourcesBuildPhase; runOnlyForDeploymentPostprocessing = 0; @@ -590,6 +956,7 @@ F55CEDFF0383F55201A80AC9, F55CEE000383F55201A80AC9, F55CEE010383F55201A80AC9, + F504A68C03CE3C0601A80AC9, ); isa = PBXHeadersBuildPhase; runOnlyForDeploymentPostprocessing = 0; @@ -670,6 +1037,13 @@ F55CEE0D0383F55201A80AC9, F55CEE0E0383F55201A80AC9, F55CEE0F0383F55201A80AC9, + F504A67C03CE3BE801A80AC9, + F504A67D03CE3BE901A80AC9, + F504A67E03CE3BE901A80AC9, + F504A67F03CE3BEA01A80AC9, + F504A68003CE3BEA01A80AC9, + F504A68103CE3BEB01A80AC9, + F504A68203CE3BEB01A80AC9, ); isa = PBXSourcesBuildPhase; runOnlyForDeploymentPostprocessing = 0; @@ -817,6 +1191,7 @@ F55CEE1C0383F57A01A80AC9, F55CEE1D0383F57A01A80AC9, F55CEE1E0383F57A01A80AC9, + F504A68A03CE3BF801A80AC9, ); isa = PBXHeadersBuildPhase; runOnlyForDeploymentPostprocessing = 0; @@ -897,6 +1272,13 @@ F55CEE2A0383F57A01A80AC9, F55CEE2B0383F57A01A80AC9, F55CEE2C0383F57A01A80AC9, + F504A68303CE3BF001A80AC9, + F504A68403CE3BF001A80AC9, + F504A68503CE3BF101A80AC9, + F504A68603CE3BF101A80AC9, + F504A68703CE3BF201A80AC9, + F504A68803CE3BF201A80AC9, + F504A68903CE3BF301A80AC9, ); isa = PBXSourcesBuildPhase; runOnlyForDeploymentPostprocessing = 0; @@ -1044,6 +1426,7 @@ F55CEE390383F59B01A80AC9, F55CEE3A0383F59B01A80AC9, F55CEE3B0383F59B01A80AC9, + F504A68D03CE3C1101A80AC9, ); isa = PBXHeadersBuildPhase; runOnlyForDeploymentPostprocessing = 0; @@ -1124,6 +1507,13 @@ F55CEE470383F59B01A80AC9, F55CEE480383F59B01A80AC9, F55CEE490383F59B01A80AC9, + F504A68E03CE3C1301A80AC9, + F504A68F03CE3C1301A80AC9, + F504A69003CE3C1401A80AC9, + F504A69103CE3C1501A80AC9, + F504A69203CE3C1501A80AC9, + F504A69303CE3C1601A80AC9, + F504A69403CE3C1701A80AC9, ); isa = PBXSourcesBuildPhase; runOnlyForDeploymentPostprocessing = 0; @@ -1308,6 +1698,7 @@ F59A5F9A0386DF3201A80AC9, F59A5F9B0386DF3201A80AC9, F59A5F9C0386DF3201A80AC9, + F504A69D03CE3C2301A80AC9, ); isa = PBXHeadersBuildPhase; runOnlyForDeploymentPostprocessing = 0; @@ -1388,6 +1779,13 @@ F59A5FA80386DF3201A80AC9, F59A5FA90386DF3201A80AC9, F59A5FAA0386DF3201A80AC9, + F504A69E03CE3C2501A80AC9, + F504A69F03CE3C2501A80AC9, + F504A6A003CE3C2701A80AC9, + F504A6A103CE3C2701A80AC9, + F504A6A203CE3C2801A80AC9, + F504A6A303CE3C2901A80AC9, + F504A6A403CE3C2901A80AC9, ); isa = PBXSourcesBuildPhase; runOnlyForDeploymentPostprocessing = 0; @@ -1534,6 +1932,7 @@ F5AAF61F038683E801A80AC9, F5AAF620038683E801A80AC9, F5AAF621038683E801A80AC9, + F504A69503CE3C1A01A80AC9, ); isa = PBXHeadersBuildPhase; runOnlyForDeploymentPostprocessing = 0; @@ -1614,6 +2013,13 @@ F5AAF62D038683E801A80AC9, F5AAF62E038683E801A80AC9, F5AAF62F038683E801A80AC9, + F504A69603CE3C1C01A80AC9, + F504A69703CE3C1D01A80AC9, + F504A69803CE3C1D01A80AC9, + F504A69903CE3C1E01A80AC9, + F504A69A03CE3C1E01A80AC9, + F504A69B03CE3C1F01A80AC9, + F504A69C03CE3C2001A80AC9, ); isa = PBXSourcesBuildPhase; runOnlyForDeploymentPostprocessing = 0; diff --git a/externals/grill/flext/makefile.pd-cygwin b/externals/grill/flext/makefile.pd-cygwin index 42763c20..60cfa4f5 100644 --- a/externals/grill/flext/makefile.pd-cygwin +++ b/externals/grill/flext/makefile.pd-cygwin @@ -18,9 +18,9 @@ include $(CONFIG) # compiler+linker stuff INCLUDES=$(PDPATH)/src -FLAGS=-DFLEXT_SYS=2 -CFLAGS=-O6 -fno-exceptions -CFLAGS+=-mcpu=pentium3 -msse # cygwin gcc 3.2 + +FLAGS=-DFLEXT_SYS=2 -fno-exceptions $(UFLAGS) +CFLAGS=-O6 CFLAGS_D=-g CFLAGS_T=-DFLEXT_THREADS LIBS= @@ -32,6 +32,7 @@ INSTDIR=$(PDPATH)/flext # ---------------------------------------------- NAME=flext +SRCDIR=source # all the source files from the package include make-files.txt @@ -62,17 +63,17 @@ $(TARGDIR): $(SRCS): $(HDRS) $(IHDRS) $(MAKEFILE) $(CONFIG) touch $@ -$(TARGDIR)/%.o : source/%.cpp - $(CXX) -c $(CFLAGS) $(FLAGS) $(patsubst %,-I%,$(INCLUDES) source) $< -o $@ +$(TARGDIR)/%.o : $(SRCDIR)/%.cpp + $(CXX) -c $(CFLAGS) $(FLAGS) $(patsubst %,-I%,$(INCLUDES) $(SRCDIR)) $< -o $@ -$(TARGDIR)/%.do : source/%.cpp - $(CXX) -c $(CFLAGS_D) $(FLAGS) $(patsubst %,-I%,$(INCLUDES) source) $< -o $@ +$(TARGDIR)/%.do : $(SRCDIR)/%.cpp + $(CXX) -c $(CFLAGS_D) $(FLAGS) $(patsubst %,-I%,$(INCLUDES) $(SRCDIR)) $< -o $@ -$(TARGDIR)/%.to : source/%.cpp - $(CXX) -c $(CFLAGS) $(CFLAGS_T) $(FLAGS) $(patsubst %,-I%,$(INCLUDES) source) $< -o $@ +$(TARGDIR)/%.to : $(SRCDIR)/%.cpp + $(CXX) -c $(CFLAGS) $(CFLAGS_T) $(FLAGS) $(patsubst %,-I%,$(INCLUDES) $(SRCDIR)) $< -o $@ -$(TARGDIR)/%.tdo : source/%.cpp - $(CXX) -c $(CFLAGS_D) $(CFLAGS_T) $(FLAGS) $(patsubst %,-I%,$(INCLUDES) source) $< -o $@ +$(TARGDIR)/%.tdo : $(SRCDIR)/%.cpp + $(CXX) -c $(CFLAGS_D) $(CFLAGS_T) $(FLAGS) $(patsubst %,-I%,$(INCLUDES) $(SRCDIR)) $< -o $@ $(TARGET) : $(patsubst %.cpp,$(TARGDIR)/%.o,$(SRCS)) ar rc $@ $^ @@ -101,7 +102,7 @@ $(INSTDIR): install:: $(INSTDIR) endif -install:: $(TARGET) $(TARGET_D) $(patsubst %,source/%,$(HDRS)) # $(TARGET_T) $(TARGET_TD) +install:: $(TARGET) $(TARGET_D) $(patsubst %,$(SRCDIR)/%,$(HDRS)) # $(TARGET_T) $(TARGET_TD) cp $^ $(INSTDIR) diff --git a/externals/grill/flext/makefile.pd-darwin b/externals/grill/flext/makefile.pd-darwin index a776cdfe..62ac9864 100644 --- a/externals/grill/flext/makefile.pd-darwin +++ b/externals/grill/flext/makefile.pd-darwin @@ -10,13 +10,13 @@ CONFIG=config-pd-darwin.txt -include $(CONFIG) +include ${CONFIG} # compiler+linker stuff -INCLUDES=$(PDPATH) $(SNDOBJ) -FLAGS=-DFLEXT_SYS=2 -Wno-unused -Wno-parentheses -Wno-switch -Wstrict-prototypes # -maltivec -CFLAGS=-O6 -fno-exceptions -CFLAGS_D=-g -Wshadow +INCLUDES=${PDPATH} +FLAGS=-DFLEXT_SYS=2 -Wno-unused -Wno-parentheses -Wshadow -Wno-switch -Wstrict-prototypes -fno-exceptions ${UFLAGS} +CFLAGS=-O6 +CFLAGS_D=-g CFLAGS_T=-DFLEXT_THREADS LIBS= @@ -26,16 +26,21 @@ LIBS= # ---------------------------------------------- NAME=flext +SRCDIR=source # all the source files from the package include make-files.txt ifdef SNDOBJ -_SRCS=$(SRCS) $(SRCS_SNDOBJ) -_HDRS=$(HDRS) $(HDRS_SNDOBJ) -else -_SRCS=$(SRCS) -_HDRS=$(HDRS) +INCLUDES+=$(SNDOBJ) +SRCS+=$(SRCS_SNDOBJ) +HDRS+=$(HDRS_SNDOBJ) +endif + +ifdef STK +INCLUDES+=$(STK) +SRCS+=$(SRCS_STK) +HDRS+=$(HDRS_STK) endif MAKEFILE=makefile.pd-darwin @@ -49,31 +54,31 @@ all: $(TARGDIR) $(TARGET) $(TARGET_D) $(TARGET_T) $(TARGET_TD) $(TARGDIR): mkdir $(TARGDIR) -$(patsubst %,source/%,$(_SRCS)): $(patsubst %,source/%,$(HDRS)) $(patsubst %,source/%,$(IHDRS)) $(MAKEFILE) $(CONFIG) +$(patsubst %,$(SRCDIR)/%,$(SRCS)): $(patsubst %,$(SRCDIR)/%,$(HDRS)) $(patsubst %,$(SRCDIR)/%,$(IHDRS)) $(MAKEFILE) $(CONFIG) touch $@ -$(TARGDIR)/%.o : source/%.cpp - $(CXX) -c $(CFLAGS) $(FLAGS) $(patsubst %,-I%,$(INCLUDES) source) $< -o $@ +$(TARGDIR)/%.o : $(SRCDIR)/%.cpp + $(CXX) -c $(CFLAGS) $(FLAGS) $(patsubst %,-I%,$(INCLUDES) $(SRCDIR)) $< -o $@ -$(TARGDIR)/%.do : source/%.cpp - $(CXX) -c $(CFLAGS_D) $(FLAGS) $(patsubst %,-I%,$(INCLUDES) source) $< -o $@ +$(TARGDIR)/%.do : $(SRCDIR)/%.cpp + $(CXX) -c $(CFLAGS_D) $(FLAGS) $(patsubst %,-I%,$(INCLUDES) $(SRCDIR)) $< -o $@ -$(TARGDIR)/%.to : source/%.cpp - $(CXX) -c $(CFLAGS) $(CFLAGS_T) $(FLAGS) $(patsubst %,-I%,$(INCLUDES) source) $< -o $@ +$(TARGDIR)/%.to : $(SRCDIR)/%.cpp + $(CXX) -c $(CFLAGS) $(CFLAGS_T) $(FLAGS) $(patsubst %,-I%,$(INCLUDES) $(SRCDIR)) $< -o $@ -$(TARGDIR)/%.tdo : source/%.cpp - $(CXX) -c $(CFLAGS_D) $(CFLAGS_T) $(FLAGS) $(patsubst %,-I%,$(INCLUDES) source) $< -o $@ +$(TARGDIR)/%.tdo : $(SRCDIR)/%.cpp + $(CXX) -c $(CFLAGS_D) $(CFLAGS_T) $(FLAGS) $(patsubst %,-I%,$(INCLUDES) $(SRCDIR)) $< -o $@ -$(TARGET) : $(patsubst %.cpp,$(TARGDIR)/%.o,$(_SRCS)) +$(TARGET) : $(patsubst %.cpp,$(TARGDIR)/%.o,$(SRCS)) libtool -static -o $@ $^ -$(TARGET_D) : $(patsubst %.cpp,$(TARGDIR)/%.do,$(_SRCS)) +$(TARGET_D) : $(patsubst %.cpp,$(TARGDIR)/%.do,$(SRCS)) libtool -static -o $@ $^ -$(TARGET_T) : $(patsubst %.cpp,$(TARGDIR)/%.to,$(_SRCS)) +$(TARGET_T) : $(patsubst %.cpp,$(TARGDIR)/%.to,$(SRCS)) libtool -static -o $@ $^ -$(TARGET_TD) : $(patsubst %.cpp,$(TARGDIR)/%.tdo,$(_SRCS)) +$(TARGET_TD) : $(patsubst %.cpp,$(TARGDIR)/%.tdo,$(SRCS)) libtool -static -o $@ $^ .PHONY: clean install @@ -88,7 +93,7 @@ $(INSTDIR): install:: $(INSTDIR) endif -install:: $(TARGET) $(TARGET_D) $(TARGET_T) $(TARGET_TD) $(patsubst %,source/%,$(_HDRS)) +install:: $(TARGET) $(TARGET_D) $(TARGET_T) $(TARGET_TD) $(patsubst %,$(SRCDIR)/%,$(HDRS)) cp $^ $(INSTDIR) ranlib $(INSTDIR)/*.a # have to rerun ranlib at install dir ?! # chmod 755 $(patsubst %,$(INSTDIR)/%,$(notdir $^)) diff --git a/externals/grill/flext/makefile.pd-linux b/externals/grill/flext/makefile.pd-linux index 6e1901bf..d1af3dc8 100644 --- a/externals/grill/flext/makefile.pd-linux +++ b/externals/grill/flext/makefile.pd-linux @@ -13,14 +13,16 @@ CONFIG=config-pd-linux.txt include $(CONFIG) # compiler+linker stuff -INCLUDES=$(PDPATH) $(SNDOBJ) $(STK) -FLAGS=-DFLEXT_SYS=2 +INCLUDES=$(PDPATH) + +# general compiler flags +FLAGS=-DFLEXT_SYS=2 -fno-exceptions $(UFLAGS) # compiler flags for optimized build -CFLAGS=$(UFLAGS) -O6 -fno-exceptions +CFLAGS= -O6 # compiler flags for debug build -CFLAGS_D=$(UFLAGS) -g -fno-exceptions +CFLAGS_D=-g # additional flags for threading CFLAGS_T=-DFLEXT_THREADS @@ -33,16 +35,19 @@ LIBS= # ---------------------------------------------- NAME=flext +SRCDIR=source # all the source files from the package include make-files.txt ifdef SNDOBJ +INCLUDES+=$(SNDOBJ) SRCS+=$(SRCS_SNDOBJ) HDRS+=$(HDRS_SNDOBJ) endif ifdef STK +INCLUDES+=$(STK) SRCS+=$(SRCS_STK) HDRS+=$(HDRS_STK) endif @@ -58,20 +63,20 @@ all: $(TARGDIR) $(TARGET) $(TARGET_D) $(TARGET_T) $(TARGET_TD) $(TARGDIR): mkdir $(TARGDIR) -$(patsubst %,source/%,$(SRCS)): $(patsubst %,source/%,$(HDRS)) $(patsubst %,source/%,$(IHDRS)) $(MAKEFILE) $(CONFIG) +$(patsubst %,$(SRCDIR)/%,$(SRCS)): $(patsubst %,$(SRCDIR)/%,$(HDRS)) $(patsubst %,$(SRCDIR)/%,$(IHDRS)) $(MAKEFILE) $(CONFIG) touch $@ -$(TARGDIR)/%.o : source/%.cpp - $(CXX) -c $(CFLAGS) $(FLAGS) $(patsubst %,-I%,$(INCLUDES) source) $< -o $@ +$(TARGDIR)/%.o : $(SRCDIR)/%.cpp + $(CXX) -c $(CFLAGS) $(FLAGS) $(patsubst %,-I%,$(INCLUDES) $(SRCDIR)) $< -o $@ -$(TARGDIR)/%.do : source/%.cpp - $(CXX) -c $(CFLAGS_D) $(FLAGS) $(patsubst %,-I%,$(INCLUDES) source) $< -o $@ +$(TARGDIR)/%.do : $(SRCDIR)/%.cpp + $(CXX) -c $(CFLAGS_D) $(FLAGS) $(patsubst %,-I%,$(INCLUDES) $(SRCDIR)) $< -o $@ -$(TARGDIR)/%.to : source/%.cpp - $(CXX) -c $(CFLAGS) $(CFLAGS_T) $(FLAGS) $(patsubst %,-I%,$(INCLUDES) source) $< -o $@ +$(TARGDIR)/%.to : $(SRCDIR)/%.cpp + $(CXX) -c $(CFLAGS) $(CFLAGS_T) $(FLAGS) $(patsubst %,-I%,$(INCLUDES) $(SRCDIR)) $< -o $@ -$(TARGDIR)/%.tdo : source/%.cpp - $(CXX) -c $(CFLAGS_D) $(CFLAGS_T) $(FLAGS) $(patsubst %,-I%,$(INCLUDES) source) $< -o $@ +$(TARGDIR)/%.tdo : $(SRCDIR)/%.cpp + $(CXX) -c $(CFLAGS_D) $(CFLAGS_T) $(FLAGS) $(patsubst %,-I%,$(INCLUDES) $(SRCDIR)) $< -o $@ $(TARGET) : $(patsubst %.cpp,$(TARGDIR)/%.o,$(SRCS)) ar rc $@ $^ @@ -101,7 +106,7 @@ $(INSTDIR): install:: $(INSTDIR) endif -install:: $(TARGET) $(TARGET_D) $(TARGET_T) $(TARGET_TD) $(patsubst %,source/%,$(HDRS)) +install:: $(TARGET) $(TARGET_D) $(TARGET_T) $(TARGET_TD) $(patsubst %,$(SRCDIR)/%,$(HDRS)) cp $^ $(INSTDIR) chmod 755 $(patsubst %,$(INSTDIR)/%,$(notdir $^)) chown root.users $(patsubst %,$(INSTDIR)/%,$(notdir $^)) diff --git a/externals/grill/flext/readme.txt b/externals/grill/flext/readme.txt index e95e51f7..9bf15a4a 100644 --- a/externals/grill/flext/readme.txt +++ b/externals/grill/flext/readme.txt @@ -110,6 +110,8 @@ Version history: - moved CLASS_MAINSIGNALIN to class scope (fixed "float method overwritten" warning) - unix makefiles: CXX should be commented out if standard (to enable environmental settings) - introduced default returns for the different flext::GetA* functions +- pragma for Metrowerks compilers: enumsalwaysint on, bool on +- MaxMSP: added assist string for attribute outlets 0.4.1: - full port for Max@OSX @@ -297,9 +299,10 @@ Restrictions in compatibility mode: - Max allows only 9 float/int inlets Porting to new compilers/platforms: -- enums must be int-sized +- enums must be int-sized!!! - compiler must support bool type - no need of C++ exceptions or RTTI (RTTI only for GUI objects) + BUT: some libraries could use RTTI and then need run-time type information from the library! (this is known for gcc compiles) ---------------------------------------------------------------------------- diff --git a/externals/grill/flext/source/flattr.cpp b/externals/grill/flext/source/flattr.cpp index 014ffdcb..ffb6b6fd 100644 --- a/externals/grill/flext/source/flattr.cpp +++ b/externals/grill/flext/source/flattr.cpp @@ -22,8 +22,8 @@ WARRANTIES, see the file, "license.txt," in this distribution. #endif flext_base::attritem::attritem(const t_symbol *t,metharg tp,methfun f,int fl): - item(t,0,NULL),argtp(tp), - fun(f),flags(fl) + item(t,0,NULL), + flags(fl),argtp(tp),fun(f) {} flext_base::attritem::~attritem() diff --git a/externals/grill/flext/source/flext.cpp b/externals/grill/flext/source/flext.cpp index e54ad339..baf33c42 100644 --- a/externals/grill/flext/source/flext.cpp +++ b/externals/grill/flext/source/flext.cpp @@ -180,7 +180,10 @@ void flext_base::m_assist(long msg,long arg,char *s) strcpy(s,arg < incnt && indesc[arg]?indesc[arg]:""); break; case 2: //ASSIST_OUTLET: - strcpy(s,arg < outcnt && outdesc[arg]?outdesc[arg]:""); + if(arg < outcnt) + strcpy(s,outdesc[arg]?outdesc[arg]:""); + else + strcpy(s,arg == outcnt && procattr?"Attributes":""); break; } #endif diff --git a/externals/grill/flext/source/flitem.cpp b/externals/grill/flext/source/flitem.cpp index ddcf570b..1e5a26a6 100755 --- a/externals/grill/flext/source/flitem.cpp +++ b/externals/grill/flext/source/flitem.cpp @@ -17,7 +17,7 @@ WARRANTIES, see the file, "license.txt," in this distribution. flext_base::item::item(const t_symbol *t,int inl,attritem *a): - inlet(inl),tag(t),attr(a),nxt(NULL) + tag(t),inlet(inl),attr(a),nxt(NULL) {} flext_base::item::~item() diff --git a/externals/grill/flext/source/flprefix.h b/externals/grill/flext/source/flprefix.h index c6e0a267..f12d1320 100755 --- a/externals/grill/flext/source/flprefix.h +++ b/externals/grill/flext/source/flprefix.h @@ -153,6 +153,11 @@ WARRANTIES, see the file, "license.txt," in this distribution. #define FLEXT_OS FLEXT_OS_UNKNOWN #endif #endif + + // This is important for method and attribute callbacks + #pragma enumsalwaysint on + // This is important for everything + #pragma bool on #elif defined(__GNUG__) // GNU C++ diff --git a/externals/grill/flext/source/flsupport.cpp b/externals/grill/flext/source/flsupport.cpp index f8717d02..ecc39153 100644 --- a/externals/grill/flext/source/flsupport.cpp +++ b/externals/grill/flext/source/flsupport.cpp @@ -119,12 +119,12 @@ void flext::GetAString(const t_atom &a,char *buf,int szbuf) #endif } -int flext::FoldBits(unsigned long h,int bits) +unsigned int flext::FoldBits(unsigned long h,int bits) { if(!bits) return 0; const int hmax = (1<>i)&hmax); return ret; } diff --git a/externals/grill/flext/source/flsupport.h b/externals/grill/flext/source/flsupport.h index 14140c99..56c43bc6 100644 --- a/externals/grill/flext/source/flsupport.h +++ b/externals/grill/flext/source/flsupport.h @@ -173,7 +173,7 @@ public: /*! \brief Fold value to a number of bits \remark Good for hash generation */ - static int FoldBits(unsigned long h,int bits); + static unsigned int FoldBits(unsigned long h,int bits); //! \brief How many bits are necessary to represent n static int Int2Bits(unsigned long n); diff --git a/externals/grill/xsample/license.txt b/externals/grill/xsample/license.txt index 01baf51a..d59706ef 100644 --- a/externals/grill/xsample/license.txt +++ b/externals/grill/xsample/license.txt @@ -49,36 +49,3 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. In the official flext distribution, the GNU General Public License is in the file gpl.txt - ---- pd (pure data) -------------------------------------- -This software is copyrighted by Miller Puckette and others. The following -terms apply to all files associated with the software unless explicitly -disclaimed in individual files. - -The authors hereby grant permission to use, copy, modify, distribute, -and license this software and its documentation for any purpose, provided -that existing copyright notices are retained in all copies and that this -notice is included verbatim in any distributions. No written agreement, -license, or royalty fee is required for any of the authorized uses. -Modifications to this software may be copyrighted by their authors -and need not follow the licensing terms described here, provided that -the new terms are clearly indicated on the first page of each file where -they apply. - -IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY -FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY -DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. - -THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, -INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE -IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE -NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR -MODIFICATIONS. - -RESTRICTED RIGHTS: Use, duplication or disclosure by the government -is subject to the restrictions as set forth in subparagraph (c) (1) (ii) -of the Rights in Technical Data and Computer Software Clause as DFARS -252.227-7013 and FAR 52.227-19. diff --git a/externals/grill/xsample/maxmsp/xgroove~.help b/externals/grill/xsample/maxmsp/xgroove~.help index da4820ba..ee8a244e 100644 Binary files a/externals/grill/xsample/maxmsp/xgroove~.help and b/externals/grill/xsample/maxmsp/xgroove~.help differ diff --git a/externals/grill/xsample/maxmsp/xplay~.help b/externals/grill/xsample/maxmsp/xplay~.help index 5f15beca..5a210f74 100644 Binary files a/externals/grill/xsample/maxmsp/xplay~.help and b/externals/grill/xsample/maxmsp/xplay~.help differ diff --git a/externals/grill/xsample/maxmsp/xrecord~.help b/externals/grill/xsample/maxmsp/xrecord~.help index d0e6da5c..b4a55d78 100644 Binary files a/externals/grill/xsample/maxmsp/xrecord~.help and b/externals/grill/xsample/maxmsp/xrecord~.help differ diff --git a/externals/grill/xsample/maxmsp/xsample.help b/externals/grill/xsample/maxmsp/xsample.help index 1c2ceb22..6af68c77 100755 Binary files a/externals/grill/xsample/maxmsp/xsample.help and b/externals/grill/xsample/maxmsp/xsample.help differ diff --git a/externals/grill/xsample/source/groove.cpp b/externals/grill/xsample/source/groove.cpp index b3779a04..241146c6 100644 --- a/externals/grill/xsample/source/groove.cpp +++ b/externals/grill/xsample/source/groove.cpp @@ -46,6 +46,8 @@ public: V m_xzone(F xz); V m_xsymm(F xz); V m_xshape(I argc = 0,const t_atom *argv = NULL); + inline V ms_xshape(const AtomList &ret) { m_xshape(ret.Count(),ret.Atoms()); } + V mg_xshape(AtomList &ret) const; V m_xkeep(BL k); enum xs_loop { @@ -62,6 +64,8 @@ protected: I bidir; F _xzone,xzone,xsymm; + I xshape; + F xshparam; F znmin,znmax; I xkeep; S **znbuf; @@ -70,8 +74,8 @@ protected: outlet *outmin,*outmax; // float outlets - V outputmin() { ToOutFloat(outmin,curmin*s2u); } - V outputmax() { ToOutFloat(outmax,curmax*s2u); } + inline V outputmin() { ToOutFloat(outmin,curmin*s2u); } + inline V outputmax() { ToOutFloat(outmax,curmax*s2u); } inline V setpos(F pos) { @@ -80,7 +84,7 @@ protected: curpos = pos; } - V mg_pos(F &v) const { v = curpos*s2u; } + inline V mg_pos(F &v) const { v = curpos*s2u; } private: static V setup(t_classid c); @@ -110,10 +114,13 @@ private: FLEXT_CALLBACK_F(m_max) FLEXT_CALLBACK(m_all) - FLEXT_CALLBACK_F(m_xzone) - FLEXT_CALLBACK_F(m_xsymm) - FLEXT_CALLBACK_V(m_xshape) - FLEXT_CALLBACK_B(m_xkeep) + FLEXT_CALLSET_F(m_xzone) + FLEXT_ATTRGET_F(_xzone) + FLEXT_CALLSET_F(m_xsymm) + FLEXT_ATTRGET_F(xsymm) + FLEXT_CALLVAR_V(mg_xshape,ms_xshape) + FLEXT_CALLSET_B(m_xkeep) + FLEXT_ATTRGET_B(xkeep) FLEXT_CALLVAR_F(mg_pos,m_pos) FLEXT_CALLSET_F(m_min) @@ -128,7 +135,7 @@ FLEXT_LIB_DSP_V("xgroove~",xgroove) V xgroove::setup(t_classid c) { -// DefineHelp(c,"xgroove~"); + DefineHelp(c,"xgroove~"); FLEXT_CADDMETHOD_(c,0,"all",m_all); FLEXT_CADDMETHOD(c,1,m_min); @@ -140,15 +147,16 @@ V xgroove::setup(t_classid c) FLEXT_CADDATTR_VAR_E(c,"loop",loopmode,m_loop); - FLEXT_CADDMETHOD_F(c,0,"xzone",m_xzone); - FLEXT_CADDMETHOD_F(c,0,"xsymm",m_xsymm); - FLEXT_CADDMETHOD_(c,0,"xshape",m_xshape); - FLEXT_CADDMETHOD_B(c,0,"xkeep",m_xkeep); + FLEXT_CADDATTR_VAR(c,"xzone",_xzone,m_xzone); + FLEXT_CADDATTR_VAR(c,"xsymm",xsymm,m_xsymm); + FLEXT_CADDATTR_VAR(c,"xshape",mg_xshape,ms_xshape); + FLEXT_CADDATTR_VAR(c,"xkeep",xkeep,m_xkeep); } xgroove::xgroove(I argc,const t_atom *argv): loopmode(xsl_loop),curpos(0), _xzone(0),xzone(0),xsymm(0.5),xkeep(0),pblksz(0), + xshape(0),xshparam(1), znbuf(NULL),znmul(NULL),znidx(NULL),znpos(NULL), bidir(1) { @@ -181,7 +189,7 @@ xgroove::xgroove(I argc,const t_atom *argv): AddInFloat("Ending point"); // max play pos for(I ci = 0; ci < outchns; ++ci) { C tmp[30]; - sprintf(tmp,"Audio signal channel %i",ci+1); + STD::sprintf(tmp,"Audio signal channel %i",ci+1); AddOutSignal(tmp); // output } AddOutSignal("Position currently played"); // position @@ -270,7 +278,7 @@ BL xgroove::m_reset() V xgroove::m_xzone(F xz) { bufchk(); - _xzone = xz < 0?0:xz/s2u; + _xzone = xz < 0?0:xz; do_xzone(); s_dsp(); } @@ -291,23 +299,24 @@ V xgroove::m_xsymm(F xs) V xgroove::m_xshape(I argc,const t_atom *argv) { const F pi = 3.14159265358979f; - I i,sh = 0; - F param = 1; - if(argc >= 1 && CanbeInt(argv[0])) sh = GetAInt(argv[0]); + xshape = 0; + xshparam = 1; + if(argc >= 1 && CanbeInt(argv[0])) xshape = GetAInt(argv[0]); if(argc >= 2 && CanbeFloat(argv[1])) { - param = GetAFloat(argv[1]); + xshparam = GetAFloat(argv[1]); // clip to 0..1 - if(param < 0) param = 0; - else if(param > 1) param = 1; + if(xshparam < 0) xshparam = 0; + else if(xshparam > 1) xshparam = 1; } if(znmul) delete[] znmul; znmul = new S[XZONE_TABLE+1]; - switch(sh) { + I i; + switch(xshape) { case 1: for(i = 0; i <= XZONE_TABLE; ++i) - znmul[i] = sin(i*(pi/2./XZONE_TABLE))*param+i*(1./XZONE_TABLE)*(1-param); + znmul[i] = sin(i*(pi/2./XZONE_TABLE))*xshparam+i*(1./XZONE_TABLE)*(1-xshparam); break; case 0: default: @@ -316,6 +325,14 @@ V xgroove::m_xshape(I argc,const t_atom *argv) } } +V xgroove::mg_xshape(AtomList &ret) const +{ + ret(2); + SetInt(ret[0],xshape); + SetFloat(ret[1],xshparam); +} + + V xgroove::m_xkeep(BL k) { xkeep = k; @@ -324,7 +341,7 @@ V xgroove::m_xkeep(BL k) V xgroove::do_xzone() { - xzone = _xzone; + xzone = _xzone/s2u; I smin = curmin,smax = curmax,plen = smax-smin; //curlen; if(xsymm < 0) { // crossfade zone is inside the loop (-> loop is shorter than nominal!) @@ -632,7 +649,7 @@ V xgroove::m_help() #ifdef FLEXT_DEBUG post("compiled on " __DATE__ " " __TIME__); #endif - post("(C) Thomas Grill, 2001-2002"); + post("(C) Thomas Grill, 2001-2003"); #if FLEXT_SYS == FLEXT_SYS_MAX post("Arguments: %s [channels=1] [buffer]",thisName()); #else diff --git a/externals/grill/xsample/source/inter.cpp b/externals/grill/xsample/source/inter.cpp index aeee7e9d..42221e1c 100644 --- a/externals/grill/xsample/source/inter.cpp +++ b/externals/grill/xsample/source/inter.cpp @@ -19,12 +19,15 @@ WARRANTIES, see the file, "license.txt," in this distribution. #include "inter.ci" #endif +void xinter::setup(t_classid c) +{ + FLEXT_CADDATTR_VAR_E(c,"interp",interp,m_interp); +} xinter::xinter(): doplay(false),outchns(1), interp(xsi_4p) { - FLEXT_ADDMETHOD_E(0,"interp",m_interp); } I xinter::m_set(I argc,const t_atom *argv) diff --git a/externals/grill/xsample/source/main.h b/externals/grill/xsample/source/main.h index 77d02772..8f9d15dc 100644 --- a/externals/grill/xsample/source/main.h +++ b/externals/grill/xsample/source/main.h @@ -61,6 +61,13 @@ WARRANTIES, see the file, "license.txt," in this distribution. #define S t_sample +#ifdef __MWERKS__ + #define STD std +#else + #define STD +#endif + + class xsample: public flext_dsp { @@ -120,10 +127,10 @@ protected: BL bufchk() { if(buf->Update()) { m_refresh(); return true; } return false; } V mg_buffer(AtomList &l) { if(buf) { l(1); SetSymbol(l[0],buf->Symbol()); } else l(); } - V ms_buffer(const AtomList &l) { m_set(l.Count(),l.Atoms()); } + inline V ms_buffer(const AtomList &l) { m_set(l.Count(),l.Atoms()); } - V mg_min(F &v) const { v = curmin*s2u; } - V mg_max(F &v) const { v = curmax*s2u; } + inline V mg_min(F &v) const { v = curmin*s2u; } + inline V mg_max(F &v) const { v = curmax*s2u; } private: static V setup(t_classid c); @@ -250,7 +257,7 @@ protected: class xinter: public xsample { - FLEXT_HEADER(xinter,xsample) + FLEXT_HEADER_S(xinter,xsample,setup) public: xinter(); @@ -261,7 +268,7 @@ protected: virtual V m_start(); virtual V m_stop(); - V m_interp(xs_intp mode = xsi__) { interp = mode; s_dsp(); } + inline V m_interp(xs_intp mode = xsi__) { interp = mode; s_dsp(); } I outchns; BL doplay; @@ -282,8 +289,10 @@ protected: virtual V s_dsp(); private: + static V setup(t_classid c); - FLEXT_CALLBACK_1(m_interp,xs_intp) + FLEXT_CALLSET_E(m_interp,xs_intp) + FLEXT_ATTRGET_E(interp,xs_intp) }; #ifdef TMPLOPT diff --git a/externals/grill/xsample/source/play.cpp b/externals/grill/xsample/source/play.cpp index f558e95d..50f32e75 100644 --- a/externals/grill/xsample/source/play.cpp +++ b/externals/grill/xsample/source/play.cpp @@ -75,7 +75,7 @@ xplay::xplay(I argc,const t_atom *argv) AddInSignal("Messages and Signal of playing position"); // pos signal for(I ci = 0; ci < outchns; ++ci) { C tmp[30]; - sprintf(tmp,"Audio signal channel %i",ci+1); + STD::sprintf(tmp,"Audio signal channel %i",ci+1); AddOutSignal(tmp); } @@ -100,7 +100,7 @@ V xplay::m_help() #ifdef FLEXT_DEBUG post("compiled on " __DATE__ " " __TIME__); #endif - post("(C) Thomas Grill, 2001-2002"); + post("(C) Thomas Grill, 2001-2003"); #if FLEXT_SYS == FLEXT_SYS_MAX post("Arguments: %s [channels=1] [buffer]",thisName()); #else diff --git a/externals/grill/xsample/source/record.cpp b/externals/grill/xsample/source/record.cpp index d138d4e5..c9faef65 100644 --- a/externals/grill/xsample/source/record.cpp +++ b/externals/grill/xsample/source/record.cpp @@ -42,10 +42,7 @@ public: virtual V m_min(F mn); virtual V m_max(F mx); -// V m_mixmode(BL mx) { mixmode = mx; } -// V m_sigmode(BL mode) { sigmode = mode; } -// V m_loop(BL lp) { doloop = lp; } - V m_append(BL app) { if(!(appmode = app)) m_pos(0); } + inline V m_append(BL app) { if(!(appmode = app)) m_pos(0); } virtual V m_draw(I argc,const t_atom *argv); @@ -59,8 +56,10 @@ protected: outlet *outmin,*outmax; // float outlets - V outputmin() { ToOutFloat(outmin,curmin*s2u); } - V outputmax() { ToOutFloat(outmax,curmax*s2u); } + inline V outputmin() { ToOutFloat(outmin,curmin*s2u); } + inline V outputmax() { ToOutFloat(outmax,curmax*s2u); } + + inline V mg_pos(F &v) const { v = curpos*s2u; } private: static V setup(t_classid c); @@ -76,8 +75,10 @@ private: recfun(n,in,out); } - FLEXT_CALLBACK_F(m_pos) + FLEXT_CALLVAR_F(mg_pos,m_pos) FLEXT_CALLBACK(m_all) + FLEXT_CALLSET_F(m_min) + FLEXT_CALLSET_F(m_max) FLEXT_CALLBACK_F(m_min) FLEXT_CALLBACK_F(m_max) @@ -98,9 +99,9 @@ V xrecord::setup(t_classid c) { DefineHelp(c,"xrecord~"); - FLEXT_CADDMETHOD_F(c,0,"pos",m_pos); - FLEXT_CADDMETHOD_F(c,0,"min",m_min); - FLEXT_CADDMETHOD_F(c,0,"max",m_max); + FLEXT_CADDATTR_VAR(c,"pos",mg_pos,m_pos); + FLEXT_CADDATTR_VAR(c,"min",mg_min,m_min); + FLEXT_CADDATTR_VAR(c,"max",mg_max,m_max); FLEXT_CADDMETHOD_(c,0,"all",m_all); FLEXT_CADDMETHOD_(c,0,"draw",m_draw); @@ -143,8 +144,8 @@ xrecord::xrecord(I argc,const t_atom *argv): buf = new buffer(NULL,true); for(I ci = 0; ci < inchns; ++ci) { - C tmp[30]; - sprintf(tmp,"Audio channel %i",ci+1); + C tmp[40]; + STD::sprintf(tmp,ci == 0?"Messages/audio channel %i":"Audio channel %i",ci+1); AddInSignal(tmp); // audio signals } AddInSignal("On/Off/Fade/Mix signal (0..1)"); // on/off signal @@ -422,7 +423,7 @@ V xrecord::m_help() #ifdef FLEXT_DEBUG post("compiled on " __DATE__ " " __TIME__); #endif - post("(C) Thomas Grill, 2001-2002"); + post("(C) Thomas Grill, 2001-2003"); #if FLEXT_SYS == FLEXT_SYS_MAX post("Arguments: %s [channels=1] [buffer]",thisName()); #else diff --git a/externals/grill/xsample/xsample.cw b/externals/grill/xsample/xsample.cw index 83938005..d6db1838 100755 Binary files a/externals/grill/xsample/xsample.cw and b/externals/grill/xsample/xsample.cw differ -- cgit v1.2.1