From "PAUL M SHELDON " Thu Sep 2 10:50:08 1993 Date: Thu, 2 Sep 1993 10:23:13 -0500 From: PAUL M SHELDON Subject: my speech object (5 hours small unit, I'm getting better) --1426085571-978700603-746985779:#3021 Content-Type: TEXT/PLAIN; charset=US-ASCII I didn't have help in c translation to pascal from the kid I mentor, PJ Traue, this time, so there are definite guesses in pascal meaning of c. In this archived submission are four mpw text files. I have included interface and implementation of the speech unit, my old code segment that doesn't use the unit and a new code segment which does. I noted that the new code segment that uses the unit must also have a uses speech or it won't know the meaning of a type, SpeechChannel. That's odd, since I tried not having uses all the way up the hierarchy of calling routines and the object oriented pascal language only caught me there. I am curious as to when I can get away with not using uses items; I am curious as to how much is, as they say in modula language, hidden import. This speech unit works, but may have mistakes in particular in the Gestalt manager call pascal interpretation of the c code written up in the apple docviewer document on speech manager. Maybe the kid I mentor will correct my translation. Maybe someone out there will. I also have Halts to handle os errors. I think that is sort of lame, because I don't insure that all objects are free'd with such a handling. Someone more savvy than could improve on this, for sure. I did several experiments with the unit. You will see my earlier (working) experiments commented out. I wanted to see what a Boris with a Brenda echo would sound like. It sounded like an incompetant translator, not like an echo. There was a time delay, even when I didn't put it there from the speech processing. A very short time for the Brenda echo, but noticeable. If you use the same speaker object to speak concurrently, it cuts its own speech off after an interceded delay. Evidentally, to have concurrent speech, your program must seize a different channel. What you can do with this: With this as a unit in a text editor, you should be able to select things you want to have the mac speak. When you use this unit, you may discover a greater wisdom that I found making it and improve upon it. For your courage, before I tried making this primative thing, I thought it would take more than twice as long as it did. It didn't, even though I was exhausted from other things I did that day! With this submission, you can get the feel of a boundary on how long it takes pascal procedural code to be turned into a prototype unit for an object. --1426085571-978700603-746985779:#3021 Content-Type: APPLICATION/octet-stream; name="speechunitex.hqx" Content-ID: Content-Description: (This file must be converted with BinHex 4.0) :%&0`C@9MD&9ZDA4&H#jcDA3!8dP84&0*9#%!N!3@$J#3"5G6593K!!%!!"B1FNa KG3)!N!3@!!!J)!a6F'9PBfK9EQPd4AJ!N"1pI3#3!fi!GJ'%!GN!N!-%!*!2KJ! !!J$rN!3"!+LVH"#SUhK[!*!'*k!!N!B9L!#3#Ykj$C!$9A0PFe0`C@9MD%jPG`# 3%V3%!*!4&J!!!p`!N!-@rj!%9%9B9%e38b!"!+LVGQqSUhD&!!!"V!!!!lX!!!% C!!!"cE&S,aN!N!E@a"%!#"cXGJKLP8LKQBd6)jNN-j0Qp%ZRSV'IT'5fbNS0$Xh Sap-cilTPdXaJP0+8Y'3kf10%0JH#hB2Y3f84+1HPGIXG1A%3"iLj`'Pp0#(8[R0 bRk5Hl81G1RF1)#JC5NKZlcHZ0Ddk*,81pHR8ZE@4R9d$#@f6%(Ml*)3(C'A+GYh MqV5Q6&,4)m,#I,#h6jrNT"lYNK)#16Vj1bH'iN,qB&+S@k"0qdkKT+lHe[l%T$B *h6U&[)&@RGZdkG3q1FPVZV*"92$k15-T("*$38%r@)`p!@+K)D5M+cdl3`!`HY$ 6c0PaErD1aTB0qSkJp2`8G#D+@0F'rP'2&mrM+064`"m)GR8#a*JTFqk'RfUd)!5 h,QS"!*!$88N1Tee[0(4`'S(,jHZ(M5'-XJeqGa"Q*VIfB6kbedU(cGLAeDU9Z+2 1#6$Mie1lD4JT'cCX`LH2SGCXFaPE'jf5*X)N(X+5N[5-'jP$APmr)-YKAV#q1+8 QPS*-Im3AjS1!54*J4Xl0*cD!I(djAaMl[%!U)5+Tm+%hU'hM$RQ$[X9i#c!j#F" `-9j#XEHSRpETmq$PYSirc!EGf865aZj3*Q%[e!8Erk`deZF1q"$TVKFrl3*Ar)3 Y+eiId6MbKE6!BVHe*Xe5#2rfM13S6mU!01,SZ*%AH0c")#NJ!TNq$$#T%c)3c#) &1MPE'rP!1Z`(c#$,lI9T"r&XqXF&0[L"J6JMGj-Db0eE2LPjN!$c`*YSR8BSf%d q#1*P"(Q6#2S2I9&a['fC1R$lJcDcC88UZqVQf%&Y*'N5FmJmXUPFH9bPXZ[-iqi bMmI,C-8lIQQb$U@$f-F9SpX2,qPCBS4+JjqTfNJ'iRZ9fIf),`5LIXa!MZbal`r ,3"MlJd&q)$(j'(!3JYM[FDH6$i3J3lV2iqE#r(F#-2('-IYC2Pi&4ahlh&l!`#J rm#'#)FL&2,lN4&9jjpqYkV*3$rPmblH5*r"rhfCS!XM$pJ-!$C!$9A0PFe0`C@9 MD%pXC!#3%RT)!*!4KJ!!#F)!N!-@rj!%9%9B9%e38b!"!+LUf('SUZA!!!!"V!! !#38!N!2P!!!%N6T+"q!!N!D4bK%!#"cXGJKL&8#j3KXP4+2T&,GRrER))$,#'Hj +-hQ@5+'CFGdbD@B`5QP+@ZIdX-H*E!i%Z`IEKmSL8-j,krBlFX)p@`*iFcLYMa) aN!$+#%[9'd"ZTrYjacah`UAMKNh5a3!k!N**U)rMES%E8%Xe68edA-`lp%%YpUB i@&!SEi#+#!p(8NKkTZR&1kiKTpIG6LrT[9lA1DS+AMpR*)9$BLJSk-I9")L&,5% [HYC6I4CR1elMP+YhF*f1-,VkjUIB4FD[V@(8T+*e(BAUbfX)",Xk!@,-P$Ph`dm e@K##)m)@!*!$#dlaj&H#$'"'*K3I)bZAX#HFPJ42#5A(kAZF2Z(dl-MkA(+F--) L"l"k`1XT@3hJfJ!I0GN44Y#2@+$UqUk6%k4`JTk0*qX"k-")FMqjZaJ0rjU-D$E Mac!b`@f(@P9fqHD5JjbFRjq&km$Vmr2ddpQ%3XPbP8f$HhpmI#+ABjYGMfHMbp' NIp*,4+5A*"HPFYHQi%FD4-eYc6Z9Nr3e,I8$HcQNJ%ZbLrLQiBBFrkpK(lLJehd Bk3aI&99fT8a4m8&H84N[+0L$I#Z+h1aM0Z%mr(4ED&pADJZ6H9"Q#HeRkp#QlX- 0)M5'UbbCeXajf6dMBXRNNp8jic#r$bj,RPrr&ALkPY2pchSlFT!!6ZkQq#qA#fe 80G2jbJm#%UrB$!T'@$GX-VUj'eqL2jdjDB3BMhDrp5lXHXdQN!!ej)26CNN3AiE 5Clel&DZdF(C0deSEV`ZQYFUT0l1fQYY(DS+ZG0!--C4Da(IIdA3fSD2pFrZYDEi 0D"1q'AV6q8hIr5*RRHppLrll&VDUl!BacEHaM$RJSI,!c[GlXkX4hBjZlbCrdqh Cq!cmS-jHLk$1`LNKV1[aj@HFI$RTh8V&emUY2+AhYp0qe[Xiem'64`[eBN[[rrP iq[li!pA@Hch[#N"TaGkM4IadYa9#G#QrlI,YNh8%Slh[U11$Y2[#0LCNfJ4HFLc cq3KeEBZHI*Z#0B9b"H@UUJ!L5dX1*#9[LkR!*@&Z`b50[%C"#ml%A03(LBF#@NS A,CX(e(*hMpEfSF8NhL,p"-C4qeS1+IfKd,ke%M'L2f)&*@6Pd1T)2-V"&56R"b* ahi6ZlNe0fY#0QY0[8Yf#A46`PZj[eBTTBjZU)-p#9GVS8&T)"fYThF#8DKl4+q@ fj(1Rk`$2KkLr6HdDpUd$c"C`L9kU5Rp93B0YKVN!*2L"$HN&'4ZSX&4C@iXBUYA kL'#Pl*4L+50mIC)HD[U8ZR5(JP2',pLeA9bbBDGc%%$Dl&T,,m!AFmr[kHr2!Nr qE[3+JFAK`9a6c'"!DqX$96LPD9jZP!YI$5r"M52r%U#8ea64'#8*T4pLFjqGYel hJQ2Hr"JVd(`4M!kkkd03-Dba$Cb44#PX10frI(llTDYdi+VU%"Kh%ii(j,9"2$p hiBi('kE'mm(*Zbm#2aq3!$RiV!VKcDCN%!G+'i8*Jr-jJd6lhZfQcZQZCjf4TjC 0B`*`%)fKF$YV#Rl32DHACBLcC5!UTAU)H4%rSK1L&dRFjYVjE[GAGRVRLPr6Qp( iFRDe!fJIcU2YZcq"S-hHN3I5QjV!5m&HVV$&DPDVl(XAdlkND+*DlCRFGA&`L(U hrRBqC@B*qX"D&h0Vje,XMS,9#%"IfSfAiBh1)(Bd!3X"Qp!rUA98&a'*Te4e$C, QeZ50Fp#UYN)(U1Z@q,)%0*BPaJQD[d9I1'qN,d86je$Vjj9)$Ddj!ZZl"X[+YZK pUH2L%Y1E8XY3Pm8SmB1flDeD`FQV2IqM6*+1lfD8YL3lEr`@kqjY[`rBLd3bP&' F[MXH!+VY2(kKi,#eri1%ceeVLc8D$dpN1IEq$`!0$3p98h"PB@YPFLjTEQ-a,R! !N"$c,J#3%!2F!!!3m!#3!aErN!4849K869"6)!%!Ti$-(DLVEhB!!!)m!!!0B!! !!58!!!@C*"8LMJ#3"Zf!%3!)(2bQ3a"$!)9U0GQ8Cq%--K6hMl!`PQNdNq)8RT& "@$Lc3,GJP*+"92JL,#AH&r8iSFf"B2GJqe"C"%UpUk*Z[rH2ZQ&MJ,Lq!*kQMV` D3Y(+K5pd&1TSi!m%Zi)(mX4-QC20[f#dS0'1Did%S([k!c&Y`"rlIMpF4%[U'A+ Db-kf@f#8GQAl0-Yr@GFd8Yi'%![(a$[5`0cXac26F,[%$dEljhHF1Q0r(r)#E$$ 4NC9@LAU)R%R[K"4"2V3T21R`ld%6j&`!Y!1[Rc15`J(bjXi1B4@X*cK$R3fESkX m3fIa)bHmrBCc"3FGr"d(hka['%V26d&RSXMiT6H-HRcQhB8!QEXM8$JTd0Aj"d$ 9QIFh11IQi"S)EPdUjYNjGcN*!!!,6[(N9i)-B%BQ&"qjP8ZB%8lj59EZbNrcl#@ FRKHK(VY0'''%(6Q!e30H6`R$RaF"q+M**)bJ(l&!!0Feb,)N,$,N!c,J"$@-l*@ XHN"R$h!E$@Dde"9PiTT*U#@94Pi,aq5@*GX195V44F(+NFZBCMV2p8+U1H95HEf 84*VkU`9pDYh5j-eP(`HYfqJ3ef44jZbeKC0D@G,"UU'#ADC65aNEpQV4l36H&(- +JqDcdB@3!)jbV8ZbQ9jBDN8Z%iiX6!9[GUYP5qBNJd3L&)L@*5Y+Y%SUBk#8,c[ `"QeT1ke)`,X%f96#5,iN[Z'NFN#3!&CQiq94+cS"%Vi4RQ@(8Uhf(*Mi2'K+T5f eCFUNAAPIC$*(H)!3&m3(0R"E(m(8)`rlmQTde$pqGG@RbEL@H2`r-*l)(-H`F+` 9rp++SQYK+19F,-pCGHPm0$`G$#IqiT6R8Z%l#PkMH$LD8&aV[kcXNRVdT0d'+5m 4(AX(mIi"d$9HfYi$Up4rJZkViG&N-"TZB*bb1mU%8TahDe20kFlk9U4(Xkh#fYK Ac11eD1b5Hh-"bYVGbP#hjj+e+G6%ZIb!J2T`TF`PA@ZCX'q9PpSJde4SLkU!"Sf 6E#'-qkKi2QHcKl[$UTLb'FeHHmhH6pe2h`J0QS0i*pHPJA)-)i'5ck9K"&mKqEY J4J()NDk8kmTD-9`$X"A3k%ZNSQ,C0kBE4D-a[PGk`6HdNNZ(ZhHRAa5fehFKm[q h*qYZp(hAG*4[G&5hEm%SZUa3TZ(Hij+NSR-aTCppTkCXJS$9G(Q"80"#9hP+PY' EU%#*$SHddjU+#UC%G50c+Fb5E'*NkH$CKkcQ%"J6UZ+88GbjLqIeGjf'3qG-Cj1 T0JA'FNCaA!Xrrj@8aN'Ed-9a[&,UlEI$"!P&&dAa2MfRRE',ZEQ%',UrM8C%D"5 G(ClA@3ha'1X#UG$'q4D45MSTF[Nac*@`4p!fI!e9X&$DS92V*3)aNHFehMADN!$ l%%8EaCXQ#*d4h(UJ$ccrB,*5fMA3mpl@8"!0c0GC"mS*pKSj)j5GBA6-M#k3!!A &4LC8DYp'TZEeT9imZl[cq-@G3)f[aJ+A$pSB0ciB[K0,BBS1`Z3A)8*RF5Q[d"@ UV&bR&,J`ADlZrYDJf2D#'kJd@+-SqNcIclDGl4@8Ia1eY6MNaDjmiI+cVH$cET! !r'IaEYFm'-"dmGqF@hk)l-C"-jUDcj!!YUrMj-3`rc*khEqk'Kch9d[NB6fml'1 0i1kh5ER1`R%pA(GjS(JeZ`+kIm!h(M!pqqFRAV)r2-BACPSV1QVH$&#MeS8jRE1 DZmaf39CB2l0$3ie,UDa-Q3U4S-BR@ZG6I819`j4`NVhFZ0CIrIE'Nb[D@arA[`, 9iYMk)rq5d&L1phr`eaVVc8LSIa#UA`d!!UhN&f@5#5-5e+4Y!m4CRblk&k1V0h4 a1$`ml9rjN8%%'%m2$KVA23+,`I$d,Dkm!rQ,*6C-)F`(5r(PaEJ0H-qQ%Jm8Q&H *R#hTkIYR[DF(2k'2VCA6"M(&Z5p,*(4lEqNR4S2a53-`M"pBE89rEYI`$8!a6I4 B,1[FG"YNkqAUq-E"creZr6C"*e$bkl2CR2HlFUJGC[',VG2Hl[6YNhI0AX6M5Yi 3p&#pIk`%U9$dGjaU6+["Z@#U8#dl4r[[r*-,eKh@QQ'4KXHKm)3%YG@,c*34kRV SE"(f`Ubj0l2CCEIM3!-ZJMP8`XSHhSTm04JjcebSQ)jA#8pPrKlI)0KHcd0Y'$I HQj6e4LEp-6l[$dmRCr(@Ia[ZJrA4lqM@aGU9C8G9'8BY0VCra3T24pe2$cXkK0h MTAMc&02C)1md"'V+IhAjhmmf`HZ0mq2'fcY,mqiC%1AmAB&@D4`d@l#f0jBIH@Z kCRNAD`qaZIaq%qI[4'5ULG6r!3d0#P96F'9KDf9b,R"ZBc%ZF!#3%!KP!*!3#F) !!"@H!*!$&[q3"&4&@&408&-J!3#RJ-`HU+VpF!!!!RN!!!9c!!!"F3!!!Xddi!k b!*!'lZ%4!!JFM$J%mI)KRIX0S#N59qj(drRJ+PKbh)rLFJ'5Q8,5fd9BRQl"+#8 $UI"&`H-%0JH#hB2Y3f84+1Fa``Q(pGirkSE5!$Nb!6a$NlUh6qS4GfcfbiaVham 2j9Pi--p+$q2db%#UkrG4LY2iB1hFM[Y('%R(Q6`p5dBi`jPT*USekQbb(FF06U- -4b3@@5bc1UC-8S&P'XAq3!qF`M-b#!XhMS[$-emAkGFJi!bLJYI2'8RKN!!B#JV k`@,X#4!,`b%'lH&T2iXI1H(9X`"LGXa'mikJp2b89*-"b'%kUeVNkmF@98qU"f) #XHh+S"b9BkEV'U3kUUlGRVjjRh+8K6R'pTi-&@-43P!#8+8#6SC40[i)Y2Pi0G0 -`0-b@r+!0qI-UF%Ce1RJq2P$-Si@cq-Se0&iIb$Be3NS5!TdlHTi+T2D*)FF(NJ +*E4bH#KQbT`$jkFD,@LdEaUY'j,,h",cR0'qk64E%M2CD(r[q*kd#Nlaj2%%'3# %%NCqMGa+9R,mb0()Va&'IQAVfB9RK$TJUdq[)c1!(RKp!,B#V!!A!mMSH@3PP+! IX8!!AH(T45KK4aKjCZ3C33SM5'!HARdlr0%EEVKD%l-EB[IDj1`X+SK[bC`aUfZ 9iMYLHX81ZM*-TemSXbb6[#bK0VTDEh4PHqc"6fCKc*+6qkA[Kl-i@)i(`m$hNbL )I1rS6ANQP0APKX9Dbe6[@D@%,@(ZaBH#bLll@)PX1c,m[PYE*&C)U1ETPe$C9CF &Gk3X"#2"T9lM-#99iEN`b#A8'KHHEIND8Aa[3UAPdJCIUbkS8,ET6QQRc3&5"f- )RL8a+9,$cB&9L#SXhSp%6YQ6De(D,QXm"d8K4FDYd)UY$)U"bQbI,5G5TlafIAE #G8++M-KZKFSed#EYB5$*)&h5!-8K0J")"Sb5b"VL1fM'3T,c3#h!''9!"A'[SI1 deMDL8bc(+VRQkGZKhZf3!2r%,Xq&`m(P#4JklIUG[I6!B4`SXD[4Y9NEK6EY#H) Sfe"H!5"%NHA'4PBA6dE)m@QqE"-XmF659*)l[rGklkMGFBPRQ08PL@P[@e5-U`2 Mhj&Yb)#f8*QXFP3"r$63YH0dVeKKp"V&G"Kp$bX8IejJJ0UC1i[rc&ZpDfl-[KP +N91$mBGTdapMh#BqqlJ%hQ05pSl0hhm)KM(Va)hm()`,)qkiTEi(*frP`LU5r@D R6YG,+2&C,1I$B*3X!rDBU(I,KBf&E0a'@K'XN!")@i5M[-Pd90$KF'4&P@++qSk *0djQ`cLFcjkb6-Mq6[mcHY6DG@cfiRMqbc)m(6UcDTH5QDpZY-LScc$TY#EcDMX f4*IcQf#j$%I"+`hhaNjfm,F3m3-Z@)8q`r[rLi[AB28lhYX1fZXfjbUAr5ZZFNR 1-CL0h-r,G(%G6)0C2("Yq6XJEm,fCkL(`IU[9cci2X,erJ%!N!-K)3a6F'9PBfK 9EQPd4AJ!N"KZ!(B"K!(C!*!$!3!!%2!!N!F@!*!$KJ!!!J$rN!3"!+LVH"#SUhK [!*!'*k!!N!B9'!#3#XLbE`m!!!: