/* Generated with C2C (Cedar To C)*/ /* Copyright (C) 1992 by Xerox Corporation. All rights reserved. */ /* time: June 7, 1992 11:38:02 am PDT */ /* C2C version: October 16, 1990 (native) */ /* ref-counting: off */ /* file: VoicePlaybackImpl, module: VoicePlaybackImpl */ /* switches: bcfhklnouw */ #include <cedar/InstallationSupport.h> #include <cedar/CedarExtra.h> static char versionStamp[] = "@(#)mob←version [1090799768,1827756208] VoicePlaybackImpl"; typedef unsigned word, *ptr; typedef unsigned char byte, *bPt; typedef unsigned short half, *hPt; typedef word (*fPt)(); typedef struct {word f0, f1;} W2; typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8; typedef W2 *W2Pt; typedef struct {word f0, f1, f2;} W3; typedef W3 *W3Pt; #define SOURCE(p, l) /* source p, l */ #define IOP2(op, x, y) ( (word) ((x) op (y)) ) #define MAX(cast, x, y) ( ( cast x) > ( cast y) ? (x) : (y) ) #define MIN(cast, x, y) ( ( cast x) < ( cast y) ? (x) : (y) ) static void NoName←Q2244(); static void VoicePlaybackImpl←P0(); static void PlayBackProcess←P60(); static void Wait←P120(); static void PlayBackNext←P180(); static void RemoveCue←P240(); static void QueuePlayBackCue←P300(); static void AppendRequest←P360(); static void AbortCues←P420(); static void PlayBackMenuProc←P480(); static void PlaySlabSection←P540(); static void PlayWholeSlab←P600(); static word PlayRopeWithoutCue←P660(); static word PlayBackInProgress←P720(); static void PauseProc←P780(); static void CancelPlayBack←P840(); static void GetCurrentPlayBackPos←P900(); static void SetPlayBackState←P960(); static word RemoveViewerReferences←P1020(); static word RedrawViewer←P1080(); static word NoName←Q2304(); static struct {unsigned f; char r[16];} string1 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"}; static struct {unsigned f; char r[4];} string2 = {65537, "\001\000\000"}; static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\013\170\373\103\300\170\332\235\162\100\164\000\000"}; static struct {unsigned f; char r[16];} string4 = {851984, "\257\300\101\004\110\230\300\154\361\130\260\100\230\000\000"}; static struct {unsigned f; char r[4];} string5 = {131074, "\0040\000"}; static struct {unsigned f; char r[48];} string6 = {2883632, "\260\006\005\146\151\162\163\164\216\257\300\101\004\110\230\300\154\361\130\260\100\230\005\004\162\145\163\164\214\216\257\300\101\004\110\230\300\154\361\130\260\100\230\261\000\000\000"}; static struct {unsigned f; char r[4];} string7 = {131074, "\004\003\000"}; static struct {unsigned f; char r[4];} string8 = {131076, "\216\251\000"}; static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\312\131\110\115\300\370\314\351\125\100\200\000\000"}; static struct {unsigned f; char r[24];} string10 = {1507351, "\006\012\000\001\010\001\024\001\034\001\040\001\044\001\064\001\070\001\074\001\100\100\001"}; static struct {unsigned f; char r[16];} string11 = {851984, "\257\300\312\131\110\115\300\370\314\351\125\101\064\000\000"}; static struct {unsigned f; char r[44];} string12 = {2687020, "Stop recording before trying to play back\000\000"}; static struct {unsigned f; char r[16];} string13 = {983056, "voiceViewerInfo"}; static struct {unsigned f; char r[16];} string14 = {786448, "ButtonParams\000\000\000"}; static struct {unsigned f; char r[4];} string15 = {65540, "w\000\000"}; static struct {unsigned f; char r[4];} string16 = {4, "\000\000\000"}; static struct {unsigned f; char r[12];} string17 = {655372, "TiogaVoice\000"}; static struct {unsigned f; char r[8];} string18 = {458760, "success"}; static struct {unsigned f; char r[36];} string19 = {2228260, "Not a voice window or no selection\000"}; static struct {unsigned f; char r[16];} string20 = {851984, "\257\300\101\004\110\230\300\154\361\130\260\100\164\000\000"}; static struct {unsigned f; char r[12];} string21 = {655370, "\006\002\040\003\001\100\234\004\100\377\000"}; static struct {unsigned f; char r[16];} string22 = {851984, "\257\300\212\174\364\337\300\361\376\000\156\100\150\000\000"}; static struct {unsigned f; char r[16];} string23 = {851984, "\257\300\074\270\063\045\300\023\342\016\224\100\150\000\000"}; static struct {unsigned f; char r[16];} string24 = {851984, "\257\300\240\236\274\315\300\111\163\325\023\100\150\000\000"}; static struct {unsigned f; char r[16];} string25 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"}; static struct {unsigned f; char r[16];} string26 = {851984, "\257\300\136\253\306\024\300\100\114\357\174\100\150\000\000"}; static struct {unsigned f; char r[16];} string27 = {1416195943, "aVoicePrivate"}; static struct {unsigned f; char r[16];} string28 = {851984, "\257\300\312\131\110\115\300\370\314\351\125\100\150\000\000"}; static struct {unsigned f; char r[16];} string29 = {851984, "\257\300\354\332\367\333\300\361\203\205\173\100\150\000\000"}; static struct {unsigned f; char r[16];} string30 = {851984, "\257\300\244\340\135\243\300\261\211\021\257\100\150\000\000"}; static struct { word f0[47]; word f47; word f48; word f49; word f50; word f51; word f52; word f53; word f54; word f55; word f56; word f57; word f58; word f59; word f60; word f61; word f62; word f63; word f64; word f65; word f66; word f67; word f68; word f69; word f70; word f71; word f72; word f73; word f74; word f75; word f76; word f77; word f78; word f79; word f80; word f81; word f82; word f83; word f84[10]; } globalframe = { {0}, (word) RedrawViewer←P1080, 0, (word) RemoveViewerReferences←P1020, 0, (word) SetPlayBackState←P960, 0, (word) GetCurrentPlayBackPos←P900, 0, (word) CancelPlayBack←P840, 0, (word) PauseProc←P780, 0, (word) PlayBackInProgress←P720, 0, (word) PlayRopeWithoutCue←P660, 0, (word) PlayWholeSlab←P600, 0, (word) PlaySlabSection←P540, 0, (word) PlayBackMenuProc←P480, 0, (word) AbortCues←P420, 0, (word) AppendRequest←P360, 0, (word) QueuePlayBackCue←P300, 0, (word) RemoveCue←P240, 0, (word) PlayBackNext←P180, 0, (word) Wait←P120, 0, (word) PlayBackProcess←P60, 0, (word) VoicePlaybackImpl←P0, {0} }; static void NoName←Q2244() { register ptr gf←c0217 = (ptr) &globalframe; word var←c25472; (* (( (ptr) gf←c0217)+30) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2); (* (( (ptr) gf←c0217)+31) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string2); (* (( (ptr) gf←c0217)+32) ) = (word) XR←GetTypeIndex((word) &string4, 0, (word) &string5); (* (( (ptr) gf←c0217)+33) ) = (word) XR←GetTypeIndex((word) &string6, 0, (word) &string7); (* (( (ptr) gf←c0217)+34) ) = (word) XR←GetTypeIndex((word) &string8, 0, (word) &string2); (* (( (ptr) gf←c0217)+35) ) = (word) XR←GetTypeIndex((word) &string9, 0, (word) &string10); (* (( (ptr) gf←c0217)+37) ) = (word) XR←GetTypeIndexS((word) (&string11)); (* (ptr) (( (bPt) gf←c0217)+156) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0217)+30) ), (word) &string12); (* (ptr) (( (bPt) gf←c0217)+160) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0217)+34) ), (word) &string13); (* (ptr) (( (bPt) gf←c0217)+164) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0217)+34) ), (word) &string14); (* (ptr) (( (bPt) gf←c0217)+168) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0217)+30) ), (word) &string15); (* (ptr) (( (bPt) gf←c0217)+172) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0217)+30) ), (word) &string16); (* (ptr) (( (bPt) gf←c0217)+176) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0217)+34) ), (word) &string17); (* (ptr) (( (bPt) gf←c0217)+180) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0217)+34) ), (word) &string18); (* (ptr) (( (bPt) gf←c0217)+184) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0217)+30) ), (word) &string19); (void) XR←DeclareGlobalFrame((word) "VoicePlaybackImpl", &globalframe, (word) XR←GetTypeIndex((word) &string20, 0, (word) &string21) , (word) (( (bPt) gf←c0217)+332)/* var←c23200 */ ); var←c25472 = (word) XR←ImportInterface((word) "BasicTime", (word) XR←GetTypeIndexS((word) (&string22)), 24); (* (( (ptr) gf←c0217)+85)/* var←c23232 */ ) = var←c25472; (void) XR←ImportProcS(var←c25472, 67372033); (void) XR←ImportProcS(var←c25472, 67109632); (void) XR←ImportProcS(var←c25472, 67372545); var←c25472 = (word) XR←ImportInterface((word) "MessageWindow", (word) XR←GetTypeIndexS((word) (&string23)), 7); (* (( (ptr) gf←c0217)+89)/* var←c23584 */ ) = var←c25472; (void) XR←ImportProcS(var←c25472, 512); (void) XR←ImportProcS(var←c25472, 524546); var←c25472 = (word) XR←ImportInterface((word) "Process", (word) XR←GetTypeIndexS((word) (&string24)), 22); (* (( (ptr) gf←c0217)+86)/* var←c23264 */ ) = var←c25472; (void) XR←ImportProcS(var←c25472, 526081); (void) XR←ImportProcS(var←c25472, 525570); (void) XR←ImportProcS(var←c25472, 67371521); (void) XR←ImportProcS(var←c25472, 264449); var←c25472 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string25)), 43); (* (( (ptr) gf←c0217)+92)/* var←c24000 */ ) = var←c25472; (void) XR←ImportProcS(var←c25472, 67373569); var←c25472 = (word) XR←ImportInterface((word) "TiogaOps", (word) XR←GetTypeIndexS((word) (&string26)), 128); (* (( (ptr) gf←c0217)+90)/* var←c23648 */ ) = var←c25472; (void) XR←ImportProcS(var←c25472, 2374919); (void) XR←ImportProcS(var←c25472, 279297); (void) XR←ImportProcS(var←c25472, 67390721); (void) XR←ImportProcS(var←c25472, 67393793); (void) XR←ImportProcS(var←c25472, 67393281); (void) XR←ImportProcS(var←c25472, 1064451); (void) XR←ImportProcS(var←c25472, 537148161); var←c25472 = (word) XR←ImportInterface((word) &string27, (word) XR←GetTypeIndexS((word) (&string28)), 84); (* (( (ptr) gf←c0217)+87)/* var←c23392 */ ) = var←c25472; (void) XR←ImportProcS(var←c25472, 799747); (void) XR←ImportProcS(var←c25472, 275713); (void) XR←ImportProcS(var←c25472, 67635202); (void) XR←ImportProcS(var←c25472, 20224); (void) XR←ImportProcS(var←c25472, 67117568); (void) XR←ImportProcS(var←c25472, 1050884); (void) XR←ImportProcS(var←c25472, 265473); var←c25472 = (word) XR←ImportInterface((word) "ViewerOps", (word) XR←GetTypeIndexS((word) (&string29)), 43); (* (( (ptr) gf←c0217)+88)/* var←c23552 */ ) = var←c25472; (void) XR←ImportProcS(var←c25472, 67639554); var←c25472 = (word) XR←ImportInterface((word) "VoiceRope", (word) XR←GetTypeIndexS((word) (&string30)), 20); (* (( (ptr) gf←c0217)+91)/* var←c23776 */ ) = var←c25472; (void) XR←ImportProcS(var←c25472, 67635714); (void) XR←ImportProcS(var←c25472, 67635458); (void) XR←ImportProcS(var←c25472, 67637762); (void) XR←ImportProcS(var←c25472, 136054535); (void) XR←ImportProcS(var←c25472, 67110144); var←c25472 = (word) XR←ExportInterface((word) &string27, (word) XR←GetTypeIndexS((word) (&string28)), 84); (* (( (ptr) gf←c0217)+93)/* var←c25504 */ ) = var←c25472; (void) XR←ExportProcS(var←c25472, (word) (( (bPt) gf←c0217)+268)/* var←c22944 */ , 134484993); (void) XR←ExportProcS(var←c25472, (word) (( (bPt) gf←c0217)+228)/* var←c22784 */ , 134485249); (void) XR←ExportProcS(var←c25472, (word) (( (bPt) gf←c0217)+260)/* var←c22912 */ , 1054212); (void) XR←ExportProcS(var←c25472, (word) (( (bPt) gf←c0217)+252)/* var←c22880 */ , 268033); (void) XR←ExportProcS(var←c25472, (word) (( (bPt) gf←c0217)+244)/* var←c22848 */ , 67377153); (void) XR←ExportProcS(var←c25472, (word) (( (bPt) gf←c0217)+236)/* var←c22816 */ , 67115264); (void) XR←ExportProcS(var←c25472, (word) (( (bPt) gf←c0217)+220)/* var←c22752 */ , 6656); (void) XR←ExportProcS(var←c25472, (word) (( (bPt) gf←c0217)+212)/* var←c22720 */ , 201333504); (void) XR←ExportProcS(var←c25472, (word) (( (bPt) gf←c0217)+204)/* var←c22688 */ , 531458); (void) XR←ExportProcS(var←c25472, (word) (( (bPt) gf←c0217)+196)/* var←c22656 */ , 67378433); (void) XR←ExportProcS(var←c25472, (word) (( (bPt) gf←c0217)+188)/* var←c22624 */ , 69213704); } static void VoicePlaybackImpl←P0(formal←c040, formal←c039) word formal←c040; word formal←c039; { register ptr gf←c25536 = (ptr) &globalframe; /* VoicePlaybackImpl: */ SOURCE(968, 19565) SOURCE(2745, 75) { word pd31; pd31 = (* (( (ptr) (* (( (ptr) gf←c25536)+85)/* var←c23232 */ ))+10) ); (* (( (ptr) gf←c25536)+18)/* aVeryLongTime←v3084 */ ) = (word) ( *( (fPt) ((* (ptr) pd31 ))))(300000000, pd31); }; SOURCE(2822, 118) { word pd32; pd32 = (* (( (ptr) (* (( (ptr) gf←c25536)+85)/* var←c23232 */ ))+10) ); (* (( (ptr) gf←c25536)+19)/* oneSoundCharTime←v3112 */ ) = (word) ( *( (fPt) ((* (ptr) pd32 ))))(250000, pd32); }; SOURCE(2942, 79) { word pd33; pd33 = (* (( (ptr) (* (( (ptr) gf←c25536)+85)/* var←c23232 */ ))+10) ); (* (( (ptr) gf←c25536)+20)/* waitForReportTime←v3140 */ ) = (word) ( *( (fPt) ((* (ptr) pd33 ))))(100000000, pd33); }; } static void PlayBackProcess←P60() { register ptr gf←c25568 = (ptr) &globalframe; word moreToDo←v5604; word nextWakeUp←v5632; /* PlayBackProcess: */ SOURCE(3036, 515) SOURCE(3112, 32) { word pd34; pd34 = (* (( (ptr) (* (( (ptr) gf←c25568)+86)/* var←c23264 */ ))+13) ); (void) ( *( (fPt) ((* (ptr) pd34 ))))(6, pd34); }; SOURCE(3147, 39) { W2 var←c23296; (void) PlayBackNext←P180((word) (&var←c23296)); nextWakeUp←v5632 = var←c23296.f1; moreToDo←v5604 = var←c23296.f0; }; SOURCE(3189, 362) lab←L100002: ; if (moreToDo←v5604) { } else { goto lab←L100000; }; { word now←v5676; SOURCE(3207, 50) { word pd35; pd35 = (* (( (ptr) (* (( (ptr) gf←c25568)+85)/* var←c23232 */ ))+7) ); now←v5676 = (word) ( *( (fPt) ((* (ptr) pd35 ))))(pd35); }; SOURCE(3259, 248) if (((nextWakeUp←v5632 - now←v5676) < (* (( (ptr) gf←c25568)+18)/* aVeryLongTime←v3084 */ ))) { SOURCE(3300, 209) { word timeout←v5720; SOURCE(3345, 98) { word var←c23328; { word pd36; pd36 = (* (( (ptr) (* (( (ptr) gf←c25568)+85)/* var←c23232 */ ))+8) ); var←c23328 = ((word) ( *( (fPt) ((* (ptr) pd36 ))))((nextWakeUp←v5632 - now←v5676), pd36) / 1000); }; { word pd37; pd37 = (* (( (ptr) (* (( (ptr) gf←c25568)+86)/* var←c23264 */ ))+6) ); timeout←v5720 = (word) ( *( (fPt) ((* (ptr) pd37 ))))(var←c23328, pd37); }; }; SOURCE(3453, 45) SOURCE(3455, 41) { word pd38; pd38 = (* (( (ptr) (* (( (ptr) gf←c25568)+86)/* var←c23264 */ ))+9) ); (void) ( *( (fPt) ((* (ptr) pd38 ))))((word) (( (bPt) gf←c25568)+84)/* playBackCue←v3196 */ , timeout←v5720, pd38); }; SOURCE(3501, 6) (void) Wait←P120(); }; }; SOURCE(3512, 39) { W2 var←c23360; (void) PlayBackNext←P180((word) (&var←c23360)); nextWakeUp←v5632 = var←c23360.f1; moreToDo←v5604 = var←c23360.f0; }; }; goto lab←L100002; lab←L100000: ; } static void Wait←P120() { register ptr gf←c25600 = (ptr) &globalframe; /* Wait: */ SOURCE(3591, 51) (void) (XR←MonitorEntry((word) (( (bPt) gf←c25600)+16)/* LOCK←v2888 */ )); SOURCE(3626, 16) (void) (XR←Wait((word) (( (bPt) gf←c25600)+16)/* LOCK←v2888 */ , (word) (( (bPt) gf←c25600)+84)/* playBackCue←v3196 */ )); SOURCE(3591, 51) (void) (XR←MonitorExit((word) (( (bPt) gf←c25600)+16)/* LOCK←v2888 */ )); return; } static void PlayBackNext←P180(formal←c055) word formal←c055; { register ptr gf←c25632 = (ptr) &globalframe; word moreToDo←v4360; word nextWakeUp←v4388; word currRequest←v5764; /* PlayBackNext: */ SOURCE(3648, 1851) (void) (XR←MonitorEntry((word) (( (bPt) gf←c25632)+16)/* LOCK←v2888 */ )); SOURCE(3648, 1851) moreToDo←v4360 = 1; SOURCE(3742, 56) currRequest←v5764 = (* (ptr) (* (( (ptr) gf←c25632)+9) ) ); SOURCE(3801, 312) if ((0 != (* (( (ptr) gf←c25632)+11) ))) { SOURCE(3831, 22) (void) RemoveCue←P240(currRequest←v5764); SOURCE(3855, 25) (* (( (ptr) gf←c25632)+9) ) = 0; SOURCE(3882, 29) (* (( (ptr) gf←c25632)+8) ) = 0; SOURCE(3913, 27) (* (( (ptr) gf←c25632)+11) ) = 0; SOURCE(3942, 62) { word pd39; pd39 = (* (( (ptr) (* (( (ptr) gf←c25632)+87)/* var←c23392 */ ))+17) ); (void) ( *( (fPt) ((* (ptr) pd39 ))))((* ((( (ptr) currRequest←v5764)+4)) ), pd39); }; SOURCE(4006, 22) (void) (XR←Broadcast((word) (( (bPt) gf←c25632)+48)/* abortCleared←v2972 */ )); SOURCE(4030, 83) moreToDo←v4360 = 0; nextWakeUp←v4388 = 0; goto lab←L100004; }; SOURCE(4117, 660) lab←L100007: ; if (((* (( (ptr) currRequest←v5764)+1) ) == 2) || ( (0 == (* (( (ptr) currRequest←v5764)+2) )) ? ( (int)(* (( (ptr) currRequest←v5764)+9) ) > (int)(* (( (ptr) currRequest←v5764)+8) )) : 0 ) ) { } else { goto lab←L100005; }; { word prevRequest←v5808 = 0; SOURCE(4267, 22) (void) RemoveCue←P240(currRequest←v5764); SOURCE(4291, 62) { word pd40; pd40 = (* (( (ptr) (* (( (ptr) gf←c25632)+87)/* var←c23392 */ ))+17) ); (void) ( *( (fPt) ((* (ptr) pd40 ))))((* ((( (ptr) currRequest←v5764)+4)) ), pd40); }; SOURCE(4355, 46) (* (( (ptr) gf←c25632)+9) ) = (* (( (ptr) (* (( (ptr) gf←c25632)+9) ))+1) ); SOURCE(4403, 105) if (((* (( (ptr) gf←c25632)+9) ) == 0)) { SOURCE(4439, 29) (* (( (ptr) gf←c25632)+8) ) = 0; SOURCE(4470, 38) moreToDo←v4360 = 0; nextWakeUp←v4388 = 0; goto lab←L100004; }; SOURCE(4513, 25) prevRequest←v5808 = currRequest←v5764; SOURCE(4540, 39) currRequest←v5764 = (* (ptr) (* (( (ptr) gf←c25632)+9) ) ); SOURCE(4581, 196) if ((0 == (* (( (ptr) prevRequest←v5808)+2) ))) { SOURCE(4626, 151) if (( (int)(* (( (ptr) currRequest←v5764)+6) ) > (int)(* (( (ptr) currRequest←v5764)+8) ))) { SOURCE(4670, 30) (* (( (ptr) currRequest←v5764)+1) ) = 2; } else { SOURCE(4701, 50) { word pd41; pd41 = (* (( (ptr) (* (( (ptr) gf←c25632)+85)/* var←c23232 */ ))+7) ); (* (( (ptr) currRequest←v5764)+10) ) = (word) ( *( (fPt) ((* (ptr) pd41 ))))(pd41); }; SOURCE(4753, 24) (* (( (ptr) currRequest←v5764)+1) ) = 1; }; }; }; goto lab←L100007; lab←L100005: ; SOURCE(4790, 648) if ( ( ((* (( (ptr) currRequest←v5764)+1) ) == 1) ? ( (0 != (* (( (ptr) currRequest←v5764)+3) )) ? 1 : (0 == (* (( (ptr) currRequest←v5764)+2) )) ) : 0 ) ) { SOURCE(4891, 51) (* (( (ptr) currRequest←v5764)+9) ) = ((* (( (ptr) currRequest←v5764)+9) ) + 1); SOURCE(4944, 299) if ((0 != (* (( (ptr) currRequest←v5764)+3) ))) { SOURCE(4974, 136) if (( (int)((* (( (ptr) currRequest←v5764)+9) ) - 2) >= (int)(* (( (ptr) currRequest←v5764)+6) ))) { SOURCE(5028, 82) { word pd42; pd42 = (* (( (ptr) (* (( (ptr) gf←c25632)+87)/* var←c23392 */ ))+13) ); (void) ( *( (fPt) ((* (ptr) pd42 ))))((* (( (ptr) currRequest←v5764)+5) ), ((* (( (ptr) currRequest←v5764)+9) ) - 2), 1, (* ( ( (ptr) gf←c25632)+43) ), pd42); }; }; SOURCE(5112, 131) if (( (int)(* (( (ptr) currRequest←v5764)+9) ) <= (int)(* (( (ptr) currRequest←v5764)+8) ))) { SOURCE(5162, 81) { word pd43; pd43 = (* (( (ptr) (* (( (ptr) gf←c25632)+87)/* var←c23392 */ ))+13) ); (void) ( *( (fPt) ((* (ptr) pd43 ))))((* (( (ptr) currRequest←v5764)+5) ), (* (( (ptr) currRequest←v5764)+9) ), 1, (* (( (ptr) gf←c25632)+42) ), pd43); }; }; }; SOURCE(5248, 110) (* (( (ptr) gf←c25632)+10) ) = ((* (( (ptr) currRequest←v5764)+10) ) + ((((* (( (ptr) currRequest←v5764)+9) ) - (* (( (ptr) currRequest←v5764)+6) )) + 1) * (* (( (ptr) gf←c25632)+19)/* oneSoundCharTime←v3112 */ ))); } else { SOURCE(5367, 71) { word pd44; pd44 = (* (( (ptr) (* (( (ptr) gf←c25632)+85)/* var←c23232 */ ))+7) ); (* (( (ptr) gf←c25632)+10) ) = ((word) ( *( (fPt) ((* (ptr) pd44 ))))(pd44) + (* (( (ptr) gf←c25632)+20)/* waitForReportTime←v3140 */ )); }; }; SOURCE(5440, 59) nextWakeUp←v4388 = (* (( (ptr) gf←c25632)+10) ); moreToDo←v4360 = 1; /* removed tail goto */ lab←L100004: ; (void) (XR←MonitorExit((word) (( (bPt) gf←c25632)+16)/* LOCK←v2888 */ )); (* (ptr) formal←c055 ) = moreToDo←v4360; (* (( (ptr) formal←c055)+1) ) = nextWakeUp←v4388; return; } static void RemoveCue←P240(request←v4448) word request←v4448; { register ptr gf←c25664 = (ptr) &globalframe; /* RemoveCue: */ SOURCE(5504, 250) SOURCE(5560, 34) if ((0 == (* (( (ptr) request←v4448)+3) ))) { SOURCE(5588, 6) return; }; SOURCE(5596, 158) if ( ( ( (int)(* (( (ptr) request←v4448)+6) ) <= (int)(* (( (ptr) request←v4448)+9) )) ? ( (int)((* (( (ptr) request←v4448)+9) ) - 1) <= (int)(* (( (ptr) request←v4448)+8) )) : 0 ) ) { SOURCE(5680, 74) { word pd45; pd45 = (* (( (ptr) (* (( (ptr) gf←c25664)+87)/* var←c23392 */ ))+13) ); (void) ( *( (fPt) ((* (ptr) pd45 ))))((* (( (ptr) request←v4448)+5) ), ((* (( (ptr) request←v4448)+9) ) - 1), 2, (* (( (ptr) gf←c25664)+43) ), pd45); }; }; } static void QueuePlayBackCue←P300(request←v4508) word request←v4508; { register ptr gf←c25696 = (ptr) &globalframe; /* QueuePlayBackCue: */ SOURCE(5760, 375) (void) (XR←MonitorEntry((word) (( (bPt) gf←c25696)+16)/* LOCK←v2888 */ )); SOURCE(5820, 80) lab←L100010: ; if (((0 != (* (( (ptr) gf←c25696)+8) )) && (0 != (* (( (ptr) gf←c25696)+11) )))) { } else { goto lab←L100008; }; SOURCE(5875, 25) (void) (XR←Wait((word) (( (bPt) gf←c25696)+16)/* LOCK←v2888 */ , (word) (( (bPt) gf←c25696)+48)/* abortCleared←v2972 */ ) ); goto lab←L100010; lab←L100008: ; SOURCE(5902, 233) if ((0 != (* (( (ptr) gf←c25696)+8) ))) { SOURCE(5933, 28) (void) AppendRequest←P360(request←v4508); } else { SOURCE(5963, 40) { word var←c23456; var←c23456 = XR←NewObject(8, (* (( (ptr) gf←c25696)+33) )); (* (ptr) var←c23456 ) = request←v4508; (* (( (ptr) gf←c25696)+9) ) = var←c23456; }; SOURCE(6005, 51) { word pd46; pd46 = (* (( (ptr) (* (( (ptr) gf←c25696)+85)/* var←c23232 */ ))+7) ); (* (( (ptr) gf←c25696)+10) ) = (word) ( *( (fPt) ((* (ptr) pd46 ))))(pd46); }; SOURCE(6058, 28) (* (( (ptr) gf←c25696)+8) ) = 1; SOURCE(6096, 39) SOURCE(6097, 38) { W2 var←c23488; { W2 var←c061; word var←c060; var←c060 = XR←ExtensionAlloc(4); { word tmpAddr47; tmpAddr47 = (word) var←c060; (* (ptr) tmpAddr47 ) = ( ((word) (fPt) NoName←Q2304) ); (* (( (ptr) tmpAddr47) + 1) ) = 0; (* (( (ptr) tmpAddr47) + 2) ) = (word) (( (bPt) gf←c25696)+324)/* var←c23168 */ ; (* (( (ptr) tmpAddr47) + 3) ) = 0; }; (void) XR←Fork((word) &var←c061, var←c060); var←c23488 = var←c061; }; { word pd48; pd48 = (* (( (ptr) (* (( (ptr) gf←c25696)+86)/* var←c23264 */ ))+11) ); (void) ( *( (fPt) ((* (ptr) pd48 ))))(var←c23488, pd48); }; }; }; SOURCE(5760, 375) (void) (XR←MonitorExit((word) (( (bPt) gf←c25696)+16)/* LOCK←v2888 */ )); return; } static void AppendRequest←P360(request←v4568) word request←v4568; { register ptr gf←c25728 = (ptr) &globalframe; word hangOffPoint←v5852; word oneElementList←v5880; /* AppendRequest: */ SOURCE(6145, 293) SOURCE(6205, 14) hangOffPoint←v5852 = (* (( (ptr) gf←c25728)+9) ); SOURCE(6266, 16) oneElementList←v5880 = XR←NewObject(8, (* (( (ptr) gf←c25728)+33) )); (* (ptr) oneElementList←v5880 ) = request←v4568; SOURCE(6328, 73) lab←L100013: ; if (((* (( (ptr) hangOffPoint←v5852)+1) ) != 0)) { } else { goto lab←L100011; }; SOURCE(6361, 40) hangOffPoint←v5852 = (* (( (ptr) hangOffPoint←v5852)+1) ); goto lab←L100013; lab←L100011: ; SOURCE(6403, 35) (* (( (ptr) hangOffPoint←v5852)+1) ) = oneElementList←v5880; } static void AbortCues←P420() { register ptr gf←c25760 = (ptr) &globalframe; /* AbortCues: */ SOURCE(6442, 109) SOURCE(6471, 80) if ((0 != (* (( (ptr) gf←c25760)+8) ))) { SOURCE(6502, 26) (* (( (ptr) gf←c25760)+11) ) = 1; SOURCE(6530, 21) (void) (XR←Broadcast((word) (( (bPt) gf←c25760)+84)/* playBackCue←v3196 */ )); }; } static void PlayBackMenuProc←P480(formal←c077, viewer←v15544) word formal←c077; word viewer←v15544; { register ptr gf←c25792 = (ptr) &globalframe; word recordAtom←v15588; word quit←v15616; word buttonParams←v6092; word mouseButton←v6120; /* PlayBackMenuProc: */ SOURCE(6556, 1040) SOURCE(6556, 1040) recordAtom←v15588 = 1; SOURCE(6556, 1040) quit←v15616 = 0; SOURCE(6606, 97) { word pd49; pd49 = (* (( (ptr) (* (( (ptr) gf←c25792)+88)/* var←c23552 */ ))+29) ); buttonParams←v6092 = XR←Narrow((word) ( *( (fPt) ((* (ptr) pd49 ))))(viewer←v15544, (* (( (ptr) gf←c25792)+41) ), pd49), (* ( ( (ptr) gf←c25792)+37) )); }; SOURCE(6705, 100) mouseButton←v6120 = ( (buttonParams←v6092 != 0) ? (* (ptr) buttonParams←v6092 ) : 0 ) ; SOURCE(6807, 153) { word pd50; pd50 = (* (( (ptr) (* (( (ptr) gf←c25792)+87)/* var←c23392 */ ))+38) ); if ((0 != (word) ( *( (fPt) ((* (ptr) pd50 ))))(pd50))) { SOURCE(6857, 71) { word pd51; pd51 = (* (( (ptr) (* (( (ptr) gf←c25792)+89)/* var←c23584 */ ))+5) ); (void) ( *( (fPt) ((* (ptr) pd51 ))))((* (( (ptr) gf←c25792)+39) ), 1, pd51); }; SOURCE(6930, 21) { word pd52; pd52 = (* (( (ptr) (* (( (ptr) gf←c25792)+89)/* var←c23584 */ ))+6) ); (void) ( *( (fPt) ((* (ptr) pd52 ))))(pd52); }; SOURCE(6953, 7) goto lab←L100014; }; }; SOURCE(6965, 631) if ((mouseButton←v6120 == 2)) { SOURCE(7007, 57) (void) PlayWholeSlab←P600(viewer←v15544); } else { SOURCE(7064, 534) { word v←v6164 = 0; W2 start←v6192; W2 end←v6220; SOURCE(7091, 33) start←v6192.f0 = 0; start←v6192.f1 = 0; end←v6220 = start←v6192; SOURCE(7126, 61) { W8 var←c23680; { word pd53; pd53 = (* (( (ptr) (* (( (ptr) gf←c25792)+90)/* var←c23648 */ ))+63) ); (void) ( *( (fPt) ((* (ptr) pd53 ))))((word) &var←c23680, 0, pd53); }; end←v6220 = (* (W2Pt) (( (ptr) &var←c23680)+3) ); start←v6192 = (* (W2Pt) (( (ptr) &var←c23680)+1) ); v←v6164 = var←c23680.f0; }; SOURCE(7190, 406) if ((v←v6164 == 0)) { SOURCE(7223, 57) (void) PlayWholeSlab←P600(viewer←v15544); } else { SOURCE(7280, 316) { word pd54; pd54 = (* (( (ptr) (* (( (ptr) gf←c25792)+88)/* var←c23552 */ ))+29) ); if (((word) ( *( (fPt) ((* (ptr) pd54 ))))(v←v6164, (* (( (ptr) gf←c25792)+40) ), pd54) != 0)) { SOURCE(7337, 30) if ((start←v6192.f0 != end←v6220.f0)) { SOURCE(7367, 5) (void) XR←RaiseUnnamedError(); }; SOURCE(7423, 30) { word pd55; pd55 = (* (( (ptr) (* (( (ptr) gf←c25792)+90)/* var←c23648 */ ))+66) ); (void) ( *( (fPt) ((* (ptr) pd55 ))))(v←v6164, start←v6192, 0, pd55); }; SOURCE(7500, 54) (void) PlaySlabSection←P540(v←v6164, start←v6192.f0, start←v6192.f1, end←v6220.f1); } else { SOURCE(7563, 33) { word pd56; pd56 = (* (( (ptr) (* (( (ptr) gf←c25792)+87)/* var←c23392 */ ))+83) ); (void) ( *( (fPt) ((* (ptr) pd56 ))))(pd56); }; }; }; }; }; }; /* removed tail goto */ lab←L100014: ; (* (ptr) formal←c077 ) = recordAtom←v15588; (* (( (ptr) formal←c077)+1) ) = quit←v15616; return; } static void PlaySlabSection←P540(viewer←v4644, node←v4672, from←v4700, to←v4728) word viewer←v4644; word node←v4672; word from←v4700; word to←v4728; { register ptr gf←c25824 = (ptr) &globalframe; word nb←v6264 = 0; word viewerInfo←v6292; word newRequest←v6320 = 0; word var←c23712; word var←c0237; /* PlaySlabSection: */ SOURCE(7605, 987) SOURCE(7726, 136) { word pd57; pd57 = (* (( (ptr) (* (( (ptr) gf←c25824)+88)/* var←c23552 */ ))+29) ); viewerInfo←v6292 = XR←Narrow((word) ( *( (fPt) ((* (ptr) pd57 ))))(viewer←v4644, (* (( (ptr) gf←c25824)+40) ), pd57), (* ( ( (ptr) gf←c25824)+35) )); }; SOURCE(7893, 31) if ((viewerInfo←v6292 == 0)) { SOURCE(7918, 6) return; }; SOURCE(7976, 63) { word pd58; pd58 = (* (( (ptr) (* (( (ptr) gf←c25824)+90)/* var←c23648 */ ))+93) ); var←c23712 = (word) ( *( (fPt) ((* (ptr) pd58 ))))(viewer←v4644, pd58); }; { word pd59; pd59 = (* (( (ptr) (* (( (ptr) gf←c25824)+90)/* var←c23648 */ ))+91) ); var←c0237 = (word) ( *( (fPt) ((* (ptr) pd59 ))))(var←c23712, pd59); }; if ((node←v4672 != var←c0237)) { SOURCE(8039, 5) (void) XR←RaiseUnnamedError(); }; SOURCE(8046, 146) { word var←c23744; word var←c23808; { word pd60; pd60 = (* (( (ptr) (* (( (ptr) gf←c25824)+91)/* var←c23776 */ ))+9) ); var←c23744 = (word) ( *( (fPt) ((* (ptr) pd60 ))))(pd60); }; var←c23808 = XR←NewObject(48, (* (( (ptr) gf←c25824)+32) )); (* (ptr) var←c23808 ) = var←c23744; (* (( (ptr) var←c23808)+2) ) = 1; (* (( (ptr) var←c23808)+3) ) = 1; (* (( (ptr) var←c23808)+4) ) = viewer←v4644; (* (( (ptr) var←c23808)+5) ) = node←v4672; (* (( (ptr) var←c23808)+6) ) = from←v4700; (* (( (ptr) var←c23808)+8) ) = to←v4728; (* (( (ptr) var←c23808)+9) ) = (from←v4700 - 1); newRequest←v6320 = var←c23808; }; SOURCE(8195, 28) (void) QueuePlayBackCue←P300(newRequest←v6320); SOURCE(8225, 299) { W2 var←c23904; { word var←c23840; { word var←c23872; var←c23872 = XR←NewObject(12, (* (( (ptr) gf←c25824)+31) )); (* (ptr) var←c23872 ) = (* (( (ptr) viewerInfo←v6292)+2) ); (* (( (ptr) var←c23872)+1) ) = IOP2( * , (int)from←v4700, (int)2000); (* (( (ptr) var←c23872)+2) ) = IOP2( * , (int)(to←v4728 - from←v4700), (int)2000); var←c23840 = var←c23872; }; { W2 var←c091; { word pd61; pd61 = (* (( (ptr) (* (( (ptr) gf←c25824)+91)/* var←c23776 */ ))+11) ); (void) ( *( (fPt) ((* (ptr) pd61 ))))((word) &var←c091, (* (ptr) (* (( (ptr) (* (( (ptr) gf←c25824)+87)/* var←c23392 */ ))+6) ) ), var←c23840, 1, 0, (* (ptr) newRequest←v6320 ) , 0, (* (( (ptr) gf←c25824)+44) ), pd61); }; var←c23904 = var←c091; }; }; nb←v6264 = var←c23904.f0; }; SOURCE(8526, 66) if ((nb←v6264 != (* (( (ptr) gf←c25824)+45) ))) { SOURCE(8548, 44) (void) SetPlayBackState←P960((* (ptr) newRequest←v6320 ), 2); }; } static void PlayWholeSlab←P600(viewer←v4788) word viewer←v4788; { register ptr gf←c25856 = (ptr) &globalframe; word viewerInfo←v6364; /* PlayWholeSlab: */ SOURCE(8598, 910) SOURCE(8660, 136) { word pd62; pd62 = (* (( (ptr) (* (( (ptr) gf←c25856)+88)/* var←c23552 */ ))+29) ); viewerInfo←v6364 = XR←Narrow((word) ( *( (fPt) ((* (ptr) pd62 ))))(viewer←v4788, (* (( (ptr) gf←c25856)+40) ), pd62), (* ( ( (ptr) gf←c25856)+35) )); }; SOURCE(8798, 710) if ((viewerInfo←v6364 == 0)) { SOURCE(8823, 70) { word pd63; pd63 = (* (( (ptr) (* (( (ptr) gf←c25856)+89)/* var←c23584 */ ))+5) ); (void) ( *( (fPt) ((* (ptr) pd63 ))))((* (( (ptr) gf←c25856)+46) ), 1, pd63); }; } else { SOURCE(8893, 617) { word nb←v6408 = 0; word node←v6436; word nodeLength←v6464; word newRequest←v6492; SOURCE(8913, 72) { word var←c23936; { word pd64; pd64 = (* (( (ptr) (* (( (ptr) gf←c25856)+90)/* var←c23648 */ ))+93) ); var←c23936 = (word) ( *( (fPt) ((* (ptr) pd64 ))))(viewer←v4788, pd64); }; { word pd65; pd65 = (* (( (ptr) (* (( (ptr) gf←c25856)+90)/* var←c23648 */ ))+91) ); node←v6436 = (word) ( *( (fPt) ((* (ptr) pd65 ))))(var←c23936, pd65); }; }; SOURCE(8987, 47) { word var←c23968; { word pd66; pd66 = (* (( (ptr) (* (( (ptr) gf←c25856)+90)/* var←c23648 */ ))+81) ); var←c23968 = (word) ( *( (fPt) ((* (ptr) pd66 ))))(node←v6436, pd66); }; { word pd67; pd67 = (* (( (ptr) (* (( (ptr) gf←c25856)+92)/* var←c24000 */ ))+14) ); nodeLength←v6464 = (word) ( *( (fPt) ((* (ptr) pd67 ))))(var←c23968, pd67); }; }; SOURCE(9036, 173) { word var←c24032; word var←c24064; { word pd68; pd68 = (* (( (ptr) (* (( (ptr) gf←c25856)+91)/* var←c23776 */ ))+9) ); var←c24032 = (word) ( *( (fPt) ((* (ptr) pd68 ))))(pd68); }; var←c24064 = XR←NewObject(48, (* (( (ptr) gf←c25856)+32) )); (* (ptr) var←c24064 ) = var←c24032; (* (( (ptr) var←c24064)+2) ) = 1; (* (( (ptr) var←c24064)+3) ) = 1; (* (( (ptr) var←c24064)+4) ) = viewer←v4788; (* (( (ptr) var←c24064)+5) ) = node←v6436; (* (( (ptr) var←c24064)+8) ) = (nodeLength←v6464 - 1); (* (( (ptr) var←c24064)+9) ) = (word) -1; (* (( (ptr) var←c24064)+11) ) = (* (( (ptr) viewerInfo←v6364)+6) ); newRequest←v6492 = var←c24064; }; SOURCE(9213, 28) (void) QueuePlayBackCue←P300(newRequest←v6492); SOURCE(9243, 197) { W2 var←c24160; { word var←c24096; { word var←c24128; var←c24128 = XR←NewObject(12, (* (( (ptr) gf←c25856)+31) )); (* (W3Pt) var←c24128 ) = (* (W3Pt) (( (ptr) viewerInfo←v6364)+2) ); var←c24096 = var←c24128; }; { W2 var←c0105; { word pd69; pd69 = (* (( (ptr) (* (( (ptr) gf←c25856)+91)/* var←c23776 */ ))+11) ); (void) ( *( (fPt) ((* (ptr) pd69 ))))((word) &var←c0105, (* (ptr) (* (( (ptr) (* (( (ptr) gf←c25856)+87)/* var←c23392 */ ))+6) ) ), var←c24096, 1, 0, (* (ptr) newRequest←v6492 ) , 0, (* (( (ptr) gf←c25856)+44) ), pd69); }; var←c24160 = var←c0105; }; }; nb←v6408 = var←c24160.f0; }; SOURCE(9442, 66) if ((nb←v6408 != (* (( (ptr) gf←c25856)+45) ))) { SOURCE(9464, 44) (void) SetPlayBackState←P960((* (ptr) newRequest←v6492 ), 2); }; }; }; } static word PlayRopeWithoutCue←P660(voiceID←v4848) word voiceID←v4848; { register ptr gf←c25888 = (ptr) &globalframe; word badRope←v4892; word nb←v6536 = 0; word fullRope←v6564; word newRequest←v6592 = 0; /* PlayRopeWithoutCue: */ SOURCE(9516, 923) SOURCE(9635, 84) fullRope←v6564 = XR←NewObject(12, (* (( (ptr) gf←c25888)+31) )); (* (ptr) fullRope←v6564 ) = voiceID←v4848; SOURCE(9750, 88) { word pd70; pd70 = (* (( (ptr) (* (( (ptr) gf←c25888)+91)/* var←c23776 */ ))+22) ); (* (( (ptr) fullRope←v6564)+2) ) = (word) ( *( (fPt) ((* (ptr) pd70 ))))((* (ptr) (* (( (ptr) (* (( (ptr) gf←c25888)+87) /* var←c23392 */ ))+6) ) ), fullRope←v6564, pd70); }; SOURCE(9840, 94) { word var←c24224; var←c24224 = (* (( (ptr) fullRope←v6564)+2) ); if (( (int)var←c24224 == (int) (word) -1)) { badRope←v4892 = 0; } else { if (( (int)var←c24224 == (int)0)) { badRope←v4892 = 1; } else { badRope←v4892 = 2; }; }; }; SOURCE(9936, 29) if ((badRope←v4892 < 2)) { SOURCE(9959, 6) return(badRope←v4892); }; SOURCE(9968, 225) { word var←c24256; word var←c24288; { word pd71; pd71 = (* (( (ptr) (* (( (ptr) gf←c25888)+91)/* var←c23776 */ ))+9) ); var←c24256 = (word) ( *( (fPt) ((* (ptr) pd71 ))))(pd71); }; var←c24288 = XR←NewObject(48, (* (( (ptr) gf←c25888)+32) )); (* (ptr) var←c24288 ) = var←c24256; (* (( (ptr) var←c24288)+2) ) = 1; (* (( (ptr) var←c24288)+8) ) = IOP2( / , (int)(* (( (ptr) fullRope←v6564)+2) ), (int)2000); (* (( (ptr) var←c24288)+9) ) = (word) -1; (* (( (ptr) var←c24288)+11) ) = IOP2( % , (int)(* (( (ptr) fullRope←v6564)+2) ), (int)2000); newRequest←v6592 = var←c24288; }; SOURCE(10195, 28) (void) QueuePlayBackCue←P300(newRequest←v6592); SOURCE(10225, 146) { W2 var←c24320; { word pd72; pd72 = (* (( (ptr) (* (( (ptr) gf←c25888)+91)/* var←c23776 */ ))+11) ); (void) ( *( (fPt) ((* (ptr) pd72 ))))((word) &var←c24320, (* (ptr) (* (( (ptr) (* (( (ptr) gf←c25888)+87)/* var←c23392 */ ))+6) ) ), fullRope←v6564, 1, 0, (* (ptr) newRequest←v6592 ) , 0, (* (( (ptr) gf←c25888)+44) ), pd72); }; nb←v6536 = var←c24320.f0; }; SOURCE(10373, 66) if ((nb←v6536 != (* (( (ptr) gf←c25888)+45) ))) { SOURCE(10395, 44) (void) SetPlayBackState←P960((* (ptr) newRequest←v6592 ), 2); }; SOURCE(9516, 923) return(badRope←v4892); } static word PlayBackInProgress←P720() { register ptr gf←c25920 = (ptr) &globalframe; word var←c4952; /* PlayBackInProgress: */ SOURCE(10445, 110) SOURCE(10499, 56) { word tc73; if ((0 != (* (( (ptr) gf←c25920)+8) ))) { tc73 = (word) (0 == (* (( (ptr) gf←c25920)+11) )); } else { tc73 = (word) 0; }; return(tc73); }; } static void PauseProc←P780(formal←c0125, viewer←v15676) word formal←c0125; word viewer←v15676; { register ptr gf←c25952 = (ptr) &globalframe; word recordAtom←v15720; word quit←v15748; word buttonParams←v6636; word mouseButton←v6664; /* PauseProc: */ SOURCE(10695, 398) SOURCE(10695, 398) recordAtom←v15720 = 1; SOURCE(10695, 398) quit←v15748 = 0; SOURCE(10738, 97) { word pd74; pd74 = (* (( (ptr) (* (( (ptr) gf←c25952)+88)/* var←c23552 */ ))+29) ); buttonParams←v6636 = XR←Narrow((word) ( *( (fPt) ((* (ptr) pd74 ))))(viewer←v15676, (* (( (ptr) gf←c25952)+41) ), pd74), (* ( ( (ptr) gf←c25952)+37) )); }; SOURCE(10837, 100) mouseButton←v6664 = ( (buttonParams←v6636 != 0) ? (* (ptr) buttonParams←v6636 ) : 0 ) ; SOURCE(10939, 154) { word var←c24352; var←c24352 = mouseButton←v6664; if ((var←c24352 == 0)) { SOURCE(10971, 54) { word var←c24384; word pd75; pd75 = (* (( (ptr) (* (( (ptr) gf←c25952)+91)/* var←c23776 */ ))+13) ); var←c24384 = (word) ( *( (fPt) ((* (ptr) pd75 ))))((* (ptr) (* (( (ptr) (* (( (ptr) gf←c25952)+87)/* var←c23392 */ ))+6) ) ), 0, pd75); }; } else { if ((var←c24352 == 1)) { SOURCE(11038, 55) { word var←c24416; word pd76; pd76 = (* (( (ptr) (* (( (ptr) gf←c25952)+91)/* var←c23776 */ ))+14) ); var←c24416 = (word) ( *( (fPt) ((* (ptr) pd76 ))))((* (ptr) (* (( (ptr) (* (( (ptr) gf←c25952)+87)/* var←c23392 */ ))+6) ) ), 0, pd76); }; }; }; }; /* removed tail goto */ (* (ptr) formal←c0125 ) = recordAtom←v15720; (* (( (ptr) formal←c0125)+1) ) = quit←v15748; return; } static void CancelPlayBack←P840() { register ptr gf←c25984 = (ptr) &globalframe; /* CancelPlayBack: */ SOURCE(11108, 50) (void) (XR←MonitorEntry((word) (( (bPt) gf←c25984)+16)/* LOCK←v2888 */ )); SOURCE(11146, 12) (void) AbortCues←P420(); SOURCE(11108, 50) (void) (XR←MonitorExit((word) (( (bPt) gf←c25984)+16)/* LOCK←v2888 */ )); return; } static void GetCurrentPlayBackPos←P900(formal←c0133) word formal←c0133; { register ptr gf←c26016 = (ptr) &globalframe; word display←v5028; word viewer←v5056; word currentPos←v5084; /* GetCurrentPlayBackPos: */ SOURCE(11162, 321) SOURCE(11162, 321) display←v5028 = 0; SOURCE(11162, 321) viewer←v5056 = 0; SOURCE(11162, 321) currentPos←v5084 = (word) -1; SOURCE(11288, 195) if (((* (( (ptr) gf←c26016)+9) ) != 0)) { SOURCE(11320, 165) { word currRequest←v6708; SOURCE(11322, 56) currRequest←v6708 = (* (ptr) (* (( (ptr) gf←c26016)+9) ) ); SOURCE(11380, 103) if (((* (( (ptr) currRequest←v6708)+1) ) == 1)) { SOURCE(11412, 71) display←v5028 = (* (( (ptr) currRequest←v6708)+3) ); viewer←v5056 = (* (( (ptr) currRequest←v6708)+4) ); currentPos←v5084 = (* (( (ptr) currRequest←v6708)+9) ); goto lab←L100016; }; }; }; /* removed tail goto */ lab←L100016: ; (* (ptr) formal←c0133 ) = display←v5028; (* (( (ptr) formal←c0133)+1) ) = viewer←v5056; (* (( (ptr) formal←c0133)+2) ) = currentPos←v5084; return; } static void SetPlayBackState←P960(reqID←v5144, newState←v5172) word reqID←v5144; word newState←v5172; { register ptr gf←c26048 = (ptr) &globalframe; /* SetPlayBackState: */ SOURCE(11492, 846) (void) (XR←MonitorEntry((word) (( (bPt) gf←c26048)+16)/* LOCK←v2888 */ )); SOURCE(11611, 727) { register word playQ←v6752; playQ←v6752 = (* (( (ptr) gf←c26048)+9) ); lab←L100020: ; if ((playQ←v6752 != 0)) { } else { goto lab←L100017; }; SOURCE(11695, 643) if (((* (ptr) (* (ptr) playQ←v6752 ) ) == reqID←v5144)) { SOURCE(11735, 28) (* (( (ptr) (* (ptr) playQ←v6752 ))+1) ) = newState←v5172; SOURCE(11801, 72) if ((newState←v5172 == 1)) { SOURCE(11823, 50) { word pd77; pd77 = (* (( (ptr) (* (( (ptr) gf←c26048)+85)/* var←c23232 */ ))+7) ); (* (( (ptr) (* (ptr) playQ←v6752 ))+10) ) = (word) ( *( (fPt) ((* (ptr) pd77 ))))(pd77); }; }; SOURCE(11875, 77) if ((newState←v5172 == 3)) { SOURCE(11901, 51) { word pd78; pd78 = (* (( (ptr) (* (( (ptr) gf←c26048)+85)/* var←c23232 */ ))+7) ); (* (( (ptr) (* (ptr) playQ←v6752 ))+7) ) = (word) ( *( (fPt) ((* (ptr) pd78 ))))(pd78); }; }; SOURCE(11954, 173) if ((newState←v5172 == 4)) { SOURCE(11983, 101) { word var←c24544; { word pd79; pd79 = (* (( (ptr) (* (( (ptr) gf←c26048)+85)/* var←c23232 */ ))+7) ); var←c24544 = (((* (( (ptr) (* (ptr) playQ←v6752 ))+10) ) + (word) ( *( (fPt) ((* (ptr) pd79 ))))(pd79)) - (* (( (ptr) (* (ptr) playQ←v6752 ))+7) )); }; (* (( (ptr) (* (ptr) playQ←v6752 ))+10) ) = var←c24544; }; SOURCE(12086, 24) (* (( (ptr) (* (ptr) playQ←v6752 ))+1) ) = 1; SOURCE(12112, 15) newState←v5172 = 1; }; SOURCE(12134, 133) if ((playQ←v6752 != (* (( (ptr) gf←c26048)+9) ))) { SOURCE(12169, 98) { register word pQ←v6796; pQ←v6796 = (* (( (ptr) gf←c26048)+9) ); lab←L100024: ; if ((pQ←v6796 != playQ←v6752)) { } else { goto lab←L100021; }; SOURCE(12246, 21) (* (( (ptr) (* (ptr) pQ←v6796 ))+1) ) = 2; pQ←v6796 = (* (( (ptr) pQ←v6796)+1) ); goto lab←L100024; lab←L100021: ; }; }; SOURCE(12309, 21) (void) (XR←Broadcast((word) (( (bPt) gf←c26048)+84)/* playBackCue←v3196 */ )); SOURCE(12332, 6) (void) (XR←MonitorExit((word) (( (bPt) gf←c26048)+16)/* LOCK←v2888 */ )); return; }; playQ←v6752 = (* (( (ptr) playQ←v6752)+1) ); goto lab←L100020; lab←L100017: ; }; SOURCE(11492, 846) (void) (XR←MonitorExit((word) (( (bPt) gf←c26048)+16)/* LOCK←v2888 */ )); return; } static word RemoveViewerReferences←P1020(viewer←v5232) word viewer←v5232; { register ptr gf←c26080 = (ptr) &globalframe; word okay←v5276; /* RemoveViewerReferences: */ SOURCE(12356, 401) (void) (XR←MonitorEntry((word) (( (bPt) gf←c26080)+16)/* LOCK←v2888 */ )); SOURCE(12356, 401) okay←v5276 = 1; SOURCE(12464, 40) if (((* (( (ptr) gf←c26080)+9) ) == 0)) { SOURCE(12498, 6) (void) (XR←MonitorExit((word) (( (bPt) gf←c26080)+16)/* LOCK←v2888 */ )); return(okay←v5276); }; SOURCE(12506, 102) if ( ( (0 != (* (( (ptr) (* (ptr) (* (( (ptr) gf←c26080)+9) ) ))+3) )) ? ((* (( (ptr) (* (ptr) (* (( (ptr) gf←c26080)+9) ) ))+4) ) == viewer←v5232) : 0 ) ) { SOURCE(12594, 14) (void) (XR←MonitorExit((word) (( (bPt) gf←c26080)+16)/* LOCK←v2888 */ )); return(0); }; SOURCE(12610, 147) { register word l←v6840; l←v6840 = (* (( (ptr) (* (( (ptr) gf←c26080)+9) ))+1) ); lab←L100028: ; if ((l←v6840 != 0)) { } else { goto lab←L100025; }; SOURCE(12693, 64) if (((* (( (ptr) (* (ptr) l←v6840 ))+4) ) == viewer←v5232)) { SOURCE(12725, 32) (* (( (ptr) (* (ptr) l←v6840 ))+3) ) = 0; }; l←v6840 = (* (( (ptr) l←v6840)+1) ); goto lab←L100028; lab←L100025: ; }; SOURCE(12356, 401) (void) (XR←MonitorExit((word) (( (bPt) gf←c26080)+16)/* LOCK←v2888 */ )); return(okay←v5276); } static word RedrawViewer←P1080(viewer←v5336, newContents←v5364, unchangedHead←v5392, deleteChars←v5420, insertChars←v5448, timeRemnant←v5476, age←v5504, selectionsAfterRedraw←v5532) word viewer←v5336; word newContents←v5364; word unchangedHead←v5392; word deleteChars←v5420; word insertChars←v5448; word timeRemnant←v5476; word age←v5504; word selectionsAfterRedraw←v5532; { register ptr gf←c26112 = (ptr) &globalframe; word newNode←v5576; word pViewer←v6968 = 0; word sViewer←v6996 = 0; W2 pStart←v7024; W2 pEnd←v7052; W2 sStart←v7080; W2 sEnd←v7108; word pLevel←v7136 = 1; word sLevel←v7164 = 1; word pCaretBefore←v7192; word sCaretBefore←v7220; word pPendingDelete←v7248; word sPendingDelete←v7276; /* RedrawViewer: */ SOURCE(12761, 7772) (void) (XR←MonitorEntry((word) (( (bPt) gf←c26112)+16)/* LOCK←v2888 */ )); SOURCE(12761, 7772) newNode←v5576 = 0; SOURCE(13071, 49) pStart←v7024.f0 = 0; pStart←v7024.f1 = 0; pEnd←v7052 = pStart←v7024; sStart←v7080 = pEnd←v7052; sEnd←v7108 = sStart←v7080; SOURCE(13237, 149) { W8 var←c24608; { word pd80; pd80 = (* (( (ptr) (* (( (ptr) gf←c26112)+90)/* var←c23648 */ ))+63) ); (void) ( *( (fPt) ((* (ptr) pd80 ))))((word) &var←c24608, 0, pd80); }; pPendingDelete←v7248 = var←c24608.f7; pCaretBefore←v7192 = var←c24608.f6; pLevel←v7136 = var←c24608.f5; pEnd←v7052 = (* (W2Pt) (( (ptr) &var←c24608)+3) ); pStart←v7024 = (* (W2Pt) (( (ptr) &var←c24608)+1) ); pViewer←v6968 = var←c24608.f0; }; SOURCE(13388, 151) { W8 var←c24640; { word pd81; pd81 = (* (( (ptr) (* (( (ptr) gf←c26112)+90)/* var←c23648 */ ))+63) ); (void) ( *( (fPt) ((* (ptr) pd81 ))))((word) &var←c24640, 1, pd81); }; sPendingDelete←v7276 = var←c24640.f7; sCaretBefore←v7220 = var←c24640.f6; sLevel←v7164 = var←c24640.f5; sEnd←v7108 = (* (W2Pt) (( (ptr) &var←c24640)+3) ); sStart←v7080 = (* (W2Pt) (( (ptr) &var←c24640)+1) ); sViewer←v6996 = var←c24640.f0; }; SOURCE(13542, 69) { word pd82; pd82 = (* (( (ptr) (* (( (ptr) gf←c26112)+87)/* var←c23392 */ ))+12) ); newNode←v5576 = (word) ( *( (fPt) ((* (ptr) pd82 ))))(viewer←v5336, newContents←v5364, pd82); }; SOURCE(13614, 2346) { word var←c24672; var←c24672 = selectionsAfterRedraw←v5532; switch (var←c24672) { case 0: SOURCE(13771, 1296) { word lastCharInNode←v7320; SOURCE(13774, 60) { word var←c24704; { word pd83; pd83 = (* (( (ptr) (* (( (ptr) gf←c26112)+90)/* var←c23648 */ ))+81) ); var←c24704 = (word) ( *( (fPt) ((* (ptr) pd83 ))))(newNode←v5576, pd83); }; { word pd84; pd84 = (* (( (ptr) (* (( (ptr) gf←c26112)+92)/* var←c24000 */ ))+14) ); lastCharInNode←v7320 = ((word) ( *( (fPt) ((* (ptr) pd84 ))))(var←c24704, pd84) - 1); }; }; SOURCE(13836, 609) if ((pViewer←v6968 == viewer←v5336)) { SOURCE(13864, 581) if ((pStart←v7024.f0 != pEnd←v7052.f0)) { SOURCE(13896, 39) { word pd85; pd85 = (* (( (ptr) (* (( (ptr) gf←c26112)+90)/* var←c23648 */ ))+71) ); (void) ( *( (fPt) ((* (ptr) pd85 ))))(0, pd85); }; } else { SOURCE(13938, 33) pStart←v7024.f0 = newNode←v5576; pEnd←v7052.f0 = newNode←v5576; SOURCE(13973, 93) if (( (int)pStart←v7024.f1 >= (int)unchangedHead←v5392)) { SOURCE(14011, 55) pStart←v7024.f1 = ((pStart←v7024.f1 - deleteChars←v5420) + insertChars←v5448); }; SOURCE(14068, 87) if (( (int)pEnd←v7052.f1 >= (int)unchangedHead←v5392)) { SOURCE(14104, 51) pEnd←v7052.f1 = ((pEnd←v7052.f1 - deleteChars←v5420) + insertChars←v5448); }; SOURCE(14157, 67) if (( (int)pStart←v7024.f1 > (int)lastCharInNode←v7320)) { SOURCE(14195, 29) pStart←v7024.f1 = lastCharInNode←v7320; }; SOURCE(14226, 63) if (( (int)pEnd←v7052.f1 > (int)lastCharInNode←v7320)) { SOURCE(14262, 27) pEnd←v7052.f1 = lastCharInNode←v7320; }; SOURCE(14291, 154) { word pd86; pd86 = (* (( (ptr) (* (( (ptr) gf←c26112)+90)/* var←c23648 */ ))+65) ); (void) ( *( (fPt) ((* (ptr) pd86 ))))(pViewer←v6968, pStart←v7024, pEnd←v7052, pLevel←v7136, pCaretBefore←v7192, pPendingDelete←v7248 , 0, pd86); }; }; }; SOURCE(14450, 613) if ((sViewer←v6996 == viewer←v5336)) { SOURCE(14478, 585) if ((sStart←v7080.f0 != sEnd←v7108.f0)) { SOURCE(14510, 41) { word pd87; pd87 = (* (( (ptr) (* (( (ptr) gf←c26112)+90)/* var←c23648 */ ))+71) ); (void) ( *( (fPt) ((* (ptr) pd87 ))))(1, pd87); }; } else { SOURCE(14554, 33) sStart←v7080.f0 = newNode←v5576; sEnd←v7108.f0 = newNode←v5576; SOURCE(14589, 93) if (( (int)sStart←v7080.f1 >= (int)unchangedHead←v5392)) { SOURCE(14627, 55) sStart←v7080.f1 = ((sStart←v7080.f1 - deleteChars←v5420) + insertChars←v5448); }; SOURCE(14684, 87) if (( (int)sEnd←v7108.f1 >= (int)unchangedHead←v5392)) { SOURCE(14720, 51) sEnd←v7108.f1 = ((sEnd←v7108.f1 - deleteChars←v5420) + insertChars←v5448); }; SOURCE(14773, 67) if (( (int)sStart←v7080.f1 > (int)lastCharInNode←v7320)) { SOURCE(14811, 29) sStart←v7080.f1 = lastCharInNode←v7320; }; SOURCE(14842, 63) if (( (int)sEnd←v7108.f1 > (int)lastCharInNode←v7320)) { SOURCE(14878, 27) sEnd←v7108.f1 = lastCharInNode←v7320; }; SOURCE(14907, 156) { word pd88; pd88 = (* (( (ptr) (* (( (ptr) gf←c26112)+90)/* var←c23648 */ ))+65) ); (void) ( *( (fPt) ((* (ptr) pd88 ))))(sViewer←v6996, sStart←v7080, sEnd←v7108, sLevel←v7164, sCaretBefore←v7220, sPendingDelete←v7276 , 1, pd88); }; }; }; }; break; case 1: SOURCE(15087, 58) if ((pViewer←v6968 == viewer←v5336)) { SOURCE(15112, 33) { word pd89; pd89 = (* (( (ptr) (* (( (ptr) gf←c26112)+90)/* var←c23648 */ ))+71) ); (void) ( *( (fPt) ((* (ptr) pd89 ))))(0, pd89); }; }; SOURCE(15147, 61) if ((sViewer←v6996 == viewer←v5336)) { SOURCE(15172, 36) { word pd90; pd90 = (* (( (ptr) (* (( (ptr) gf←c26112)+90)/* var←c23648 */ ))+71) ); (void) ( *( (fPt) ((* (ptr) pd90 ))))(1, pd90); }; }; break; case 2: SOURCE(15230, 732) { word nodeLength←v7364; SOURCE(15233, 52) { word var←c24800; { word pd91; pd91 = (* (( (ptr) (* (( (ptr) gf←c26112)+90)/* var←c23648 */ ))+81) ); var←c24800 = (word) ( *( (fPt) ((* (ptr) pd91 ))))(newNode←v5576, pd91); }; { word pd92; pd92 = (* (( (ptr) (* (( (ptr) gf←c26112)+92)/* var←c24000 */ ))+14) ); nodeLength←v7364 = (word) ( *( (fPt) ((* (ptr) pd92 ))))(var←c24800, pd92); }; }; SOURCE(15287, 60) if ((sViewer←v6996 == viewer←v5336)) { SOURCE(15312, 35) { word pd93; pd93 = (* (( (ptr) (* (( (ptr) gf←c26112)+90)/* var←c23648 */ ))+71) ); (void) ( *( (fPt) ((* (ptr) pd93 ))))(1, pd93); }; }; SOURCE(15349, 611) if (( (int)nodeLength←v7364 == (int)0)) { SOURCE(15372, 71) { word pd94; pd94 = (* (( (ptr) (* (( (ptr) gf←c26112)+90)/* var←c23648 */ ))+71) ); (void) ( *( (fPt) ((* (ptr) pd94 ))))(0, pd94); }; } else { SOURCE(15446, 16) pViewer←v6968 = viewer←v5336; SOURCE(15464, 33) pStart←v7024.f0 = newNode←v5576; pEnd←v7052.f0 = newNode←v5576; SOURCE(15499, 265) if (( (int)insertChars←v5448 == (int)0)) { SOURCE(15554, 94) { word var←c24864; if (( (int)unchangedHead←v5392 > (int)nodeLength←v7364)) { var←c24864 = nodeLength←v7364; } else { var←c24864 = unchangedHead←v5392; }; pEnd←v7052.f1 = var←c24864; pStart←v7024.f1 = var←c24864; }; SOURCE(15650, 15) pLevel←v7136 = 0; } else { SOURCE(15675, 28) pStart←v7024.f1 = unchangedHead←v5392; SOURCE(15705, 43) pEnd←v7052.f1 = ((unchangedHead←v5392 + insertChars←v5448) - 1); SOURCE(15750, 14) pLevel←v7136 = 1; }; SOURCE(15767, 37) pPendingDelete←v7248 = 0; pCaretBefore←v7192 = 0; SOURCE(15806, 154) { word pd95; pd95 = (* (( (ptr) (* (( (ptr) gf←c26112)+90)/* var←c23648 */ ))+65) ); (void) ( *( (fPt) ((* (ptr) pd95 ))))(pViewer←v6968, pStart←v7024, pEnd←v7052, pLevel←v7136, pCaretBefore←v7192, pPendingDelete←v7248 , 0, pd95); }; }; }; break; default: SOURCE(15977, 5) (void) XR←RaiseUnnamedError(); break; }; }; SOURCE(15984, 116) if ( ( (0 != age←v5504) ? ( (int)insertChars←v5448 != (int)0) : 0 ) ) { SOURCE(16016, 45) { word pd96; pd96 = (* (( (ptr) (* (( (ptr) gf←c26112)+87)/* var←c23392 */ ))+57) ); (void) ( *( (fPt) ((* (ptr) pd96 ))))(viewer←v5336, pd96); }; } else { SOURCE(16061, 39) { word pd97; pd97 = (* (( (ptr) (* (( (ptr) gf←c26112)+87)/* var←c23392 */ ))+56) ); (void) ( *( (fPt) ((* (ptr) pd97 ))))(viewer←v5336, 0, 0, pd97); }; }; SOURCE(16102, 1868) if (((* (( (ptr) gf←c26112)+9) ) != 0)) { SOURCE(16136, 1834) { register word p←v7408; p←v7408 = (* (( (ptr) gf←c26112)+9) ); lab←L100032: ; if (((* (( (ptr) p←v7408)+1) ) != 0)) { } else { goto lab←L100029; }; { word currRequest←v7536; SOURCE(16219, 43) currRequest←v7536 = (* (ptr) (* (( (ptr) p←v7408)+1) ) ); SOURCE(16264, 1706) if ( ( (0 != (* (( (ptr) currRequest←v7536)+3) )) ? ((* (( (ptr) currRequest←v7536)+4) ) == viewer←v5336) : 0 ) ) { SOURCE(16327, 26) (* (( (ptr) currRequest←v7536)+5) ) = newNode←v5576; SOURCE(16416, 1554) if (( (int)(* (( (ptr) currRequest←v7536)+8) ) >= (int)unchangedHead←v5392)) { SOURCE(16492, 1478) { word newRequests←v7580; SOURCE(16495, 13) newRequests←v7580 = (* (( (ptr) (* (( (ptr) p←v7408)+1) ))+1) ); SOURCE(16548, 496) if (( (int)(* (( (ptr) currRequest←v7536)+8) ) >= (int)(unchangedHead←v5392 + deleteChars←v5420))) { SOURCE(16627, 417) { word start←v7708; word end←v7736; SOURCE(16630, 97) { /*1*/ word x98; /*1*/ start←v7708 = ((x98 = (* (( (ptr) currRequest←v7536)+6) ), /*1*/ MAX((int)(word), (unchangedHead←v5392 + deleteChars←v5420), x98)) + (insertChars←v5448 - deleteChars←v5420)); /*1*/ }; SOURCE(16729, 56) end←v7736 = ((* (( (ptr) currRequest←v7536)+8) ) + (insertChars←v5448 - deleteChars←v5420)); SOURCE(16787, 257) { /*1*/ word var←c24896; /*1*/ word var←c24960; /*1*/ { /*1*/ word var←c24928; /*1*/ var←c24928 = XR←NewObject(48, (* (( (ptr) gf←c26112)+32) )); /*1*/ (* (ptr) var←c24928 ) = (* (ptr) currRequest←v7536 ); /*1*/ (* (( (ptr) var←c24928)+2) ) = 1; /*1*/ (* (( (ptr) var←c24928)+3) ) = 1; /*1*/ (* (( (ptr) var←c24928)+4) ) = viewer←v5336; /*1*/ (* (( (ptr) var←c24928)+5) ) = newNode←v5576; /*1*/ (* (( (ptr) var←c24928)+6) ) = start←v7708; /*1*/ (* (( (ptr) var←c24928)+8) ) = end←v7736; /*1*/ (* (( (ptr) var←c24928)+9) ) = (start←v7708 - 1); /*1*/ (* (( (ptr) var←c24928)+11) ) = timeRemnant←v5476; /*1*/ var←c24896 = var←c24928; /*1*/ }; /*1*/ var←c24960 = XR←NewObject(8, (* (( (ptr) gf←c26112)+33) )); /*1*/ (* (ptr) var←c24960 ) = var←c24896; /*1*/ (* (( (ptr) var←c24960)+1) ) = newRequests←v7580; /*1*/ newRequests←v7580 = var←c24960; /*1*/ }; }; }; SOURCE(17048, 491) if (( (int)(* (( (ptr) currRequest←v7536)+6) ) < (int)(unchangedHead←v5392 + deleteChars←v5420))) { SOURCE(17198, 341) { word start←v7780; word end←v7808; SOURCE(17201, 50) { /*1*/ word x99; /*1*/ start←v7780 = (x99 = (* (( (ptr) currRequest←v7536)+6) ), /*1*/ MAX((int)(word), unchangedHead←v5392, x99)); /*1*/ }; SOURCE(17254, 65) { /*1*/ word x100; /*1*/ word x101; /*1*/ end←v7808 = (x100 = ((unchangedHead←v5392 + deleteChars←v5420) - 1), /*1*/ x101 = (* (( (ptr) currRequest←v7536)+8) ), /*1*/ MIN((int)(word), x100, x101)); /*1*/ }; SOURCE(17321, 218) { /*1*/ word var←c24992; /*1*/ word var←c25056; /*1*/ { /*1*/ word var←c25024; /*1*/ var←c25024 = XR←NewObject(48, (* (( (ptr) gf←c26112)+32) )); /*1*/ (* (ptr) var←c25024 ) = (* (ptr) currRequest←v7536 ); /*1*/ (* (( (ptr) var←c25024)+6) ) = start←v7780; /*1*/ (* (( (ptr) var←c25024)+8) ) = end←v7808; /*1*/ (* (( (ptr) var←c25024)+9) ) = (start←v7780 - 1); /*1*/ var←c24992 = var←c25024; /*1*/ }; /*1*/ var←c25056 = XR←NewObject(8, (* (( (ptr) gf←c26112)+33) )); /*1*/ (* (ptr) var←c25056 ) = var←c24992; /*1*/ (* (( (ptr) var←c25056)+1) ) = newRequests←v7580; /*1*/ newRequests←v7580 = var←c25056; /*1*/ }; }; }; SOURCE(17543, 402) if (( (int)(* (( (ptr) currRequest←v7536)+6) ) < (int)unchangedHead←v5392)) { SOURCE(17609, 336) { word start←v7852; word end←v7880; SOURCE(17612, 30) start←v7852 = (* (( (ptr) currRequest←v7536)+6) ); SOURCE(17644, 51) { /*1*/ word x102; /*1*/ end←v7880 = (x102 = (* (( (ptr) currRequest←v7536)+8) ), /*1*/ MIN((int)(word), (unchangedHead←v5392 - 1), x102)); /*1*/ }; SOURCE(17697, 248) { /*1*/ word var←c25088; /*1*/ word var←c25152; /*1*/ { /*1*/ word var←c25120; /*1*/ var←c25120 = XR←NewObject(48, (* (( (ptr) gf←c26112)+32) )); /*1*/ (* (ptr) var←c25120 ) = (* (ptr) currRequest←v7536 ); /*1*/ (* (( (ptr) var←c25120)+3) ) = 1; /*1*/ (* (( (ptr) var←c25120)+4) ) = viewer←v5336; /*1*/ (* (( (ptr) var←c25120)+5) ) = newNode←v5576; /*1*/ (* (( (ptr) var←c25120)+6) ) = start←v7852; /*1*/ (* (( (ptr) var←c25120)+8) ) = end←v7880; /*1*/ (* (( (ptr) var←c25120)+9) ) = (start←v7852 - 1); /*1*/ var←c25088 = var←c25120; /*1*/ }; /*1*/ var←c25152 = XR←NewObject(8, (* (( (ptr) gf←c26112)+33) )); /*1*/ (* (ptr) var←c25152 ) = var←c25088; /*1*/ (* (( (ptr) var←c25152)+1) ) = newRequests←v7580; /*1*/ newRequests←v7580 = var←c25152; /*1*/ }; }; }; SOURCE(17949, 21) (* (( (ptr) p←v7408)+1) ) = newRequests←v7580; }; }; }; }; p←v7408 = (* (( (ptr) p←v7408)+1) ); goto lab←L100032; lab←L100029: ; }; }; SOURCE(17985, 2548) if (((* (( (ptr) gf←c26112)+9) ) != 0)) { SOURCE(18019, 2520) { word currRequest←v7924; word currentPosFound←v7952 = 0; SOURCE(18021, 56) currRequest←v7924 = (* (ptr) (* (( (ptr) gf←c26112)+9) ) ); SOURCE(18113, 2420) if ( ( (0 != (* (( (ptr) currRequest←v7924)+3) )) ? ((* (( (ptr) currRequest←v7924)+4) ) == viewer←v5336) : 0 ) ) { SOURCE(18173, 2364) { word newRequests←v7996; SOURCE(18175, 13) newRequests←v7996 = (* (( (ptr) (* (( (ptr) gf←c26112)+9) ))+1) ); SOURCE(18240, 26) (* (( (ptr) currRequest←v7924)+5) ) = newNode←v5576; SOURCE(18268, 1964) if (( (int)(* (( (ptr) currRequest←v7924)+8) ) >= (int)unchangedHead←v5392)) { SOURCE(18311, 616) if (( (int)(* (( (ptr) currRequest←v7924)+8) ) >= (int)(unchangedHead←v5392 + deleteChars←v5420))) { SOURCE(18366, 563) { word start←v8124; word end←v8152; word currentPos←v8180; SOURCE(18368, 97) { word x103; start←v8124 = ((x103 = (* (( (ptr) currRequest←v7924)+6) ), /*1*/ MAX((int)(word), (unchangedHead←v5392 + deleteChars←v5420), x103)) + (insertChars←v5448 - deleteChars←v5420)); }; SOURCE(18467, 56) end←v8152 = ((* (( (ptr) currRequest←v7924)+8) ) + (insertChars←v5448 - deleteChars←v5420)); SOURCE(18525, 87) { word x104; currentPos←v8180 = (x104 = ((* (( (ptr) currRequest←v7924)+9) ) + (insertChars←v5448 - deleteChars←v5420)), /*1*/ MAX((int)(word), (start←v8124 - 1), x104)); }; SOURCE(18615, 259) { word var←c25184; word var←c25248; { /*1*/ word var←c25216; /*1*/ var←c25216 = XR←NewObject(48, (* (( (ptr) gf←c26112)+32) )); /*1*/ (* (ptr) var←c25216 ) = (* (ptr) currRequest←v7924 ); /*1*/ (* (( (ptr) var←c25216)+2) ) = 1; /*1*/ (* (( (ptr) var←c25216)+3) ) = 1; /*1*/ (* (( (ptr) var←c25216)+4) ) = viewer←v5336; /*1*/ (* (( (ptr) var←c25216)+5) ) = newNode←v5576; /*1*/ (* (( (ptr) var←c25216)+6) ) = start←v8124; /*1*/ (* (( (ptr) var←c25216)+8) ) = end←v8152; /*1*/ (* (( (ptr) var←c25216)+9) ) = currentPos←v8180; /*1*/ (* (( (ptr) var←c25216)+11) ) = timeRemnant←v5476; /*1*/ var←c25184 = var←c25216; /*1*/ }; var←c25248 = XR←NewObject(8, (* (( (ptr) gf←c26112)+33) )); (* (ptr) var←c25248 ) = var←c25184; (* (( (ptr) var←c25248)+1) ) = newRequests←v7996; newRequests←v7996 = var←c25248; }; SOURCE(18876, 51) if (( (int)currentPos←v8180 != (int)(start←v8124 - 1))) { SOURCE(18905, 22) currentPosFound←v7952 = 1; }; }; }; SOURCE(18933, 663) if ( ( (0 == currentPosFound←v7952) ? ( (int)(* (( (ptr) currRequest←v7924)+6) ) < (int)(unchangedHead←v5392 + deleteChars←v5420)) : 0 ) ) { SOURCE(19012, 586) { word start←v8224; word end←v8252; word currentPos←v8280; SOURCE(19014, 50) { word x105; start←v8224 = (x105 = (* (( (ptr) currRequest←v7924)+6) ), /*1*/ MAX((int)(word), unchangedHead←v5392, x105)); }; SOURCE(19067, 65) { word x106; word x107; end←v8252 = (x106 = ((unchangedHead←v5392 + deleteChars←v5420) - 1), /*1*/ x107 = (* (( (ptr) currRequest←v7924)+8) ), /*1*/ MIN((int)(word), x106, x107)); }; SOURCE(19134, 56) { word x108; currentPos←v8280 = (x108 = (* (( (ptr) currRequest←v7924)+9) ), /*1*/ MAX((int)(word), (start←v8224 - 1), x108)); }; SOURCE(19292, 251) { word var←c25280; word var←c25344; { /*1*/ word var←c25312; /*1*/ var←c25312 = XR←NewObject(48, (* (( (ptr) gf←c26112)+32) )); /*1*/ (* (ptr) var←c25312 ) = (* (ptr) currRequest←v7924 ); /*1*/ (* (( (ptr) var←c25312)+4) ) = viewer←v5336; /*1*/ (* (( (ptr) var←c25312)+5) ) = newNode←v5576; /*1*/ (* (( (ptr) var←c25312)+6) ) = start←v8224; /*1*/ (* (( (ptr) var←c25312)+8) ) = end←v8252; /*1*/ (* (( (ptr) var←c25312)+9) ) = currentPos←v8280; /*1*/ var←c25280 = var←c25312; /*1*/ }; var←c25344 = XR←NewObject(8, (* (( (ptr) gf←c26112)+33) )); (* (ptr) var←c25344 ) = var←c25280; (* (( (ptr) var←c25344)+1) ) = newRequests←v7996; newRequests←v7996 = var←c25344; }; SOURCE(19545, 51) if (( (int)currentPos←v8280 != (int)(start←v8224 - 1))) { SOURCE(19574, 22) currentPosFound←v7952 = 1; }; }; }; SOURCE(19602, 455) if ( ( (0 == currentPosFound←v7952) ? ( (int)(* (( (ptr) currRequest←v7924)+6) ) < (int)unchangedHead←v5392) : 0 ) ) { SOURCE(19667, 390) { word start←v8324; word end←v8352; word currentPos←v8380; SOURCE(19669, 30) start←v8324 = (* (( (ptr) currRequest←v7924)+6) ); SOURCE(19701, 51) { word x109; end←v8352 = (x109 = (* (( (ptr) currRequest←v7924)+8) ), /*1*/ MIN((int)(word), (unchangedHead←v5392 - 1), x109)); }; SOURCE(19754, 40) currentPos←v8380 = (* (( (ptr) currRequest←v7924)+9) ); SOURCE(19796, 261) { word var←c25376; word var←c25440; { /*1*/ word var←c25408; /*1*/ var←c25408 = XR←NewObject(48, (* (( (ptr) gf←c26112)+32) )); /*1*/ (* (ptr) var←c25408 ) = (* (ptr) currRequest←v7924 ); /*1*/ (* (( (ptr) var←c25408)+1) ) = (* (( (ptr) currRequest←v7924)+1) ); /*1*/ (* (( (ptr) var←c25408)+3) ) = 1; /*1*/ (* (( (ptr) var←c25408)+4) ) = viewer←v5336; /*1*/ (* (( (ptr) var←c25408)+5) ) = newNode←v5576; /*1*/ (* (( (ptr) var←c25408)+6) ) = start←v8324; /*1*/ (* (( (ptr) var←c25408)+8) ) = end←v8352; /*1*/ (* (( (ptr) var←c25408)+9) ) = currentPos←v8380; /*1*/ var←c25376 = var←c25408; /*1*/ }; var←c25440 = XR←NewObject(8, (* (( (ptr) gf←c26112)+33) )); (* (ptr) var←c25440 ) = var←c25376; (* (( (ptr) var←c25440)+1) ) = newRequests←v7996; newRequests←v7996 = var←c25440; }; }; }; SOURCE(20060, 43) (* (( (ptr) (* (ptr) newRequests←v7996 ))+1) ) = (* (( (ptr) currRequest←v7924)+1) ); SOURCE(20105, 51) (* (( (ptr) (* (ptr) newRequests←v7996 ))+10) ) = (* (( (ptr) currRequest←v7924)+10) ); SOURCE(20158, 33) (* (( (ptr) gf←c26112)+9) ) = newRequests←v7996; SOURCE(20193, 39) currRequest←v7924 = (* (ptr) (* (( (ptr) gf←c26112)+9) ) ); }; SOURCE(20238, 295) if ( ( (0 != (* (( (ptr) currRequest←v7924)+3) )) ? ( (int)(* (( (ptr) currRequest←v7924)+9) ) >= (int)(* (( (ptr) currRequest←v7924)+6) )) : 0 ) ) { SOURCE(20312, 223) { word start←v8424; word len←v8452; SOURCE(20314, 61) { word x110; word x111; start←v8424 = (x110 = (* (( (ptr) currRequest←v7924)+6) ), x111 = ((* (( (ptr) currRequest←v7924)+9) ) - 1), MAX((int)(word), x110, x111)); }; SOURCE(20377, 63) { word x112; word x113; len←v8452 = ((x112 = (* (( (ptr) currRequest←v7924)+8) ), x113 = (* (( (ptr) currRequest←v7924)+9) ), MIN((int)(word), x112, x113)) - start←v8424); }; SOURCE(20442, 91) { word pd114; pd114 = (* (( (ptr) (* (( (ptr) gf←c26112)+87)/* var←c23392 */ ))+13) ); (void) ( *( (fPt) ((* (ptr) pd114 ))))((* (( (ptr) currRequest←v7924)+5) ), start←v8424, len←v8452, (* (( (ptr) gf←c26112)+42) ), pd114); }; }; }; }; }; }; }; SOURCE(12761, 7772) (void) (XR←MonitorExit((word) (( (bPt) gf←c26112)+16)/* LOCK←v2888 */ )); return(newNode←v5576); } static word NoName←Q2304(formal←c062) word formal←c062; { word var←c063; /* intermediary proc for a FORK, nArgs: 0, nRets: 0 */ var←c063 = (* (( (ptr) formal←c062)+2) ); formal←c062 = XR←ExtensionFree(formal←c062); (void) ( *( (fPt) ((* (ptr) var←c063 ))))(var←c063); return(0); } /* file: VoicePlaybackImpl, module: VoicePlaybackImpl, compiled at: June 7, 1992 11:38:01 am PDT */ extern void XR←install←VoicePlaybackImpl() { NoName←Q2244(); } extern void XR←run←VoicePlaybackImpl() { XR←Start(&globalframe); }