/* 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); }