; variables WINDOW1111 anop dc i2'windowend1111-window1111' ; parm list length dc i2'$DFEF' ; frame bits dc i4'windowtitle1111' ; pointer to title dc i4'0' ; refcon dc i2'$01E,$008,$0B6,$1A0' ; window position rectangle dc i4'0' ; color table pointer dc i2'$0000' ; vert offset of content dc i2'$0000' ; horiz offset of content dc i2'$0098' ; data area height dc i2'$0198' ; data area width dc i2'$0098' ; max grow height dc i2'$0198' ; max grow width dc i2'$0000' ; vert. arrow scroll amount dc i2'$0000' ; horiz arrow scroll amount dc i2'$0000' ; vert. page amount dc i2'$0000' ; horiz page amount dc i4'0' ; info bar ref con dc i2'000' ; info bar height dc i4'0' ; window definition procedure dc i4'0' ; info bar draw routine dc i4'ContentDraw' ; window content draw routine dc i2'$01E,$008,$0B6,$1A0' ; window position rectangle dc i4'-1' ; window plane, -1 for front dc i4'0' ; memory for window, windowend1111 anop windowtitle1111 str ' Synthlab Player ' WINDOWCONTROLLIST1111 anop dc i4'control001111' ; pointer to control dc i4'control011111' ; pointer to control dc i4'control021111' ; pointer to control dc i4'control031111' ; pointer to control dc i4'control041111' ; pointer to control dc i4'control051111' ; pointer to control dc i4'control061111' ; pointer to control dc i4'control071111' ; pointer to control dc i4'control081111' ; pointer to control dc i4'control091111' ; pointer to control dc i4'control0A1111' ; pointer to control dc i4'control0B1111' ; pointer to control dc i4'control0C1111' ; pointer to control dc i4'control0D1111' ; pointer to control dc i4'control0E1111' ; pointer to control dc i4'control0F1111' ; pointer to control dc i4'controlZF1111' dc i4'control101111' ; dc i4'control111111' ; dc i4'control121111' ; dc i4'0' ; nul terminator control001111 anop ; RADIO dc i2'$08' ; parm count dc i4'$00000001' ; ID number dc i2'$0013,$0010,$001C,$006D' ; rectangle dc i4'$84000000' ;Def proc dc i2'$0001' ; flags dc i2'$1000' ; More flags dc i4'0' ; RefCon dc i4'Title001111' ; title pointer dc i2'$0000' ; initial value Title001111 str 'Load Song' control061111 anop ; RADIO dc i2'$08' ; parm count dc i4'$00000002' ; ID number dc i2'$001F,$0010,$0028,$00A5' ; rectangle dc i4'$84000000' ;Def proc dc i2'$0001' ; flags dc i2'$1000' ; More flags dc i4'0' ; RefCon dc i4'Title061111' ; title pointer dc i2'$0000' ; initial value Title061111 str 'Load Instruments' control011111 anop ; RADIO dc i2'$08' ; parm count dc i4'$00000003' ; ID number dc i2'$002C,$0010,$0035,$006D' ; rectangle dc i4'$84000000' ;Def proc dc i2'$0001' ; flags dc i2'$1000' ; More flags dc i4'0' ; RefCon dc i4'Title011111' ; title pointer dc i2'$0000' ; initial value Title011111 str 'Play Song' control021111 anop ; RADIO dc i2'$08' ; parm count dc i4'$00000004' ; ID number dc i2'$0038,$0010,$0041,$006E' ; rectangle dc i4'$84000000' ;Def proc dc i2'$0001' ; flags dc i2'$1000' ; More flags dc i4'0' ; RefCon dc i4'Title021111' ; title pointer dc i2'$0000' ; initial value Title021111 str 'Save Song' control0D1111 anop ;BUTTON dc i2'$07' ; parm count dc i4'$00000005' ; ID number dc i2'$000D,$00CC,$001B,$0119' ; rectangle dc i4'$80000000' ;Defproc dc i2'$0003' ; flags dc i2'$1000' ; More flags dc i4'0' ; RefCon dc i4'Title0D1111' ; title pointer Title0D1111 str 'Record' control0E1111 anop ;BUTTON dc i2'$07' ; parm count dc i4'$00000006' ; ID number dc i2'$000D,$0134,$001B,$0172' ; rectangle dc i4'$80000000' ;Defproc dc i2'$0003' ; flags dc i2'$1000' ; More flags dc i4'0' ; RefCon dc i4'Title0E1111' ; title pointer Title0E1111 str 'Stop' control101111 anop ; CHECK dc i2'$08' ; parm count dc i4'$00000007' ; ID number dc i2'$0082,$012A,$008B,$0192' ; rectangle dc i4'$82000000' ;Def proc dc i2'$0001' ; flags dc i2'$1000' ; More flags dc i4'0' ; RefCon dc i4'Title101111' ; title pointer dc i2'$0000' ; initial value Title101111 str 'MIDI Input' control031111 anop ; CHECK dc i2'$08' ; parm count dc i4'$00000008' ; ID number dc i2'$007C,$00C4,$0085,$011B' ; rectangle dc i4'$82000000' ;Def proc dc i2'$0001' ; flags dc i2'$1000' ; More flags dc i4'0' ; RefCon dc i4'Title031111' ; title pointer dc i2'$0000' ; initial value Title031111 str 'Key Wait' control041111 anop ; CHECK dc i2'$08' ; parm count dc i4'$00000009' ; ID number dc i2'$008A,$00C5,$0093,$0129' ; rectangle dc i4'$82000000' ;Def proc dc i2'$0001' ; flags dc i2'$1000' ; More flags dc i4'0' ; RefCon dc i4'Title041111' ; title pointer dc i2'$0000' ; initial value Title041111 str 'Metronome' control051111 anop ; EDIT dc i2'$08' ; parm count dc i4'$00008000' ; ID number SongNameRect dc i2'$0002,$0010,$000D,$00B5' ; rectangle dc i4'$83000000' ;Def proc dc i2'$0000' ; flags dc i2'$7000' ; More flags dc i4'0' ; RefCon dc i2'$000F' ; max characters dc i4'Title051111' ; default text Title051111 str 'Song Name' control071111 anop ; scroll dc i2'$09' ; parm count dc i4'$0000000A' ; ID number dc i2'$0048,$0011,$0053,$00C7' ; rectangle dc i4'$86000000' ;Def proc dc i2'$001C' ; flags dc i2'$1000' ; More flags dc i4'0' ; RefCon dc i2'250' ; max size dc i2'$0001' ; view size dc i2'55' ; inital value, set as needed control081111 anop ;STATTEXT dc i2'$9' ; parm count dc i4'$00008002' ; ID number TempoRect dc i2'$0049,$0101,$0053,$014A' ; rectangle dc i4'$81000000' ;Defproc dc i2'$0000' ; flags dc i2'$1000' ; More flags dc i4'0' ; RefCon dc i4'Text081111' ; text reference dc i2'$000A' ; length dc i2'$0000' ; justification Text081111 dc c'Tempo: 60' TempoText dc c'Tempo: 60' +7 control091111 anop ; POP dc i2'$09' ; parm count dc i4'$0000000C' ; ID number dc i2'$0024,$00B5,$0031,$0174' ; rectangle dc i4'$87000000' ; Def proc dc i2'$0000' ; flags dc i2'$1000' ; More flags dc i4'0' ; RefCon dc i2'$0000' ; title width dc i4'popupmenu091111' ; pointer to template dc i2'$0200' ; inital value, set as desired popupmenu091111 anop ;POPUP dc i2'0' ; version, must be 0 dc i2'$001E' ; menu ID number dc i2'$0000' ; flags dc i4'popuptitle091111' ; title pointer * List of pointers to menu item templates dc i4'PUitem09111100' dc i4'PUitem09111101' dc i4'PUitem09111102' dc i4'PUitem09111103' dc i4'PUitem09111104' dc i4'PUitem09111105' dc i4'PUitem09111106' dc i4'PUitem09111107' dc i4'PUitem09111108' dc i4'PUitem09111109' dc i4'PUitem0911110A' dc i4'PUitem0911110B' dc i4'PUitem0911110C' dc i4'PUitem0911110D' dc i4'PUitem0911110E' dc i4'PUitem0911110F' dc i4'0' ; nul terminator popuptitle091111 str 'Inst ' PUitem09111100 anop ; Item template dc i2'0' ; version must be 0 dc i2'$0200' ; item number dc i2'$0000' ; hot key dc i2'$0000' ; check character dc i2'$0000' ; item flags dc i4'PUItitle09111100' ; pointer to item title PUitem09111101 anop ; Item template dc i2'0' ; version must be 0 dc i2'$0201' ; item number dc i2'$0000' ; hot key dc i2'$0000' ; check character dc i2'$0000' ; item flags dc i4'PUItitle09111101' ; pointer to item title PUitem09111102 anop ; Item template dc i2'0' ; version must be 0 dc i2'$0202' ; item number dc i2'$0000' ; hot key dc i2'$0000' ; check character dc i2'$0000' ; item flags dc i4'PUItitle09111102' ; pointer to item title PUitem09111103 anop ; Item template dc i2'0' ; version must be 0 dc i2'$0203' ; item number dc i2'$0000' ; hot key dc i2'$0000' ; check character dc i2'$0000' ; item flags dc i4'PUItitle09111103' ; pointer to item title PUitem09111104 anop ; Item template dc i2'0' ; version must be 0 dc i2'$0204' ; item number dc i2'$0000' ; hot key dc i2'$0000' ; check character dc i2'$0000' ; item flags dc i4'PUItitle09111104' ; pointer to item title PUitem09111105 anop ; Item template dc i2'0' ; version must be 0 dc i2'$0205' ; item number dc i2'$0000' ; hot key dc i2'$0000' ; check character dc i2'$0000' ; item flags dc i4'PUItitle09111105' ; pointer to item title PUitem09111106 anop ; Item template dc i2'0' ; version must be 0 dc i2'$0206' ; item number dc i2'$0000' ; hot key dc i2'$0000' ; check character dc i2'$0000' ; item flags dc i4'PUItitle09111106' ; pointer to item title PUitem09111107 anop ; Item template dc i2'0' ; version must be 0 dc i2'$0207' ; item number dc i2'$0000' ; hot key dc i2'$0000' ; check character dc i2'$0000' ; item flags dc i4'PUItitle09111107' ; pointer to item title PUitem09111108 anop ; Item template dc i2'0' ; version must be 0 dc i2'$0208' ; item number dc i2'$0000' ; hot key dc i2'$0000' ; check character dc i2'$0000' ; item flags dc i4'PUItitle09111108' ; pointer to item title PUitem09111109 anop ; Item template dc i2'0' ; version must be 0 dc i2'$0209' ; item number dc i2'$0000' ; hot key dc i2'$0000' ; check character dc i2'$0000' ; item flags dc i4'PUItitle09111109' ; pointer to item title PUitem0911110A anop ; Item template dc i2'0' ; version must be 0 dc i2'$020A' ; item number dc i2'$0000' ; hot key dc i2'$0000' ; check character dc i2'$0000' ; item flags dc i4'PUItitle0911110A' ; pointer to item title PUitem0911110B anop ; Item template dc i2'0' ; version must be 0 dc i2'$020B' ; item number dc i2'$0000' ; hot key dc i2'$0000' ; check character dc i2'$0000' ; item flags dc i4'PUItitle0911110B' ; pointer to item title PUitem0911110C anop ; Item template dc i2'0' ; version must be 0 dc i2'$020C' ; item number dc i2'$0000' ; hot key dc i2'$0000' ; check character dc i2'$0000' ; item flags dc i4'PUItitle0911110C' ; pointer to item title PUitem0911110D anop ; Item template dc i2'0' ; version must be 0 dc i2'$020D' ; item number dc i2'$0000' ; hot key dc i2'$0000' ; check character dc i2'$0000' ; item flags dc i4'PUItitle0911110D' ; pointer to item title PUitem0911110E anop ; Item template dc i2'0' ; version must be 0 dc i2'$020E' ; item number dc i2'$0000' ; hot key dc i2'$0000' ; check character dc i2'$0000' ; item flags dc i4'PUItitle0911110E' ; pointer to item title PUitem0911110F anop ; Item template dc i2'0' ; version must be 0 dc i2'$020F' ; item number dc i2'$0000' ; hot key dc i2'$0000' ; check character dc i2'$0000' ; item flags dc i4'PUItitle0911110F' ; pointer to item title PUItitle09111100 ds 16 PUItitle09111101 ds 16 PUItitle09111102 ds 16 PUItitle09111103 ds 16 PUItitle09111104 ds 16 PUItitle09111105 ds 16 PUItitle09111106 ds 16 PUItitle09111107 ds 16 PUItitle09111108 ds 16 PUItitle09111109 ds 16 PUItitle0911110A ds 16 PUItitle0911110B ds 16 PUItitle0911110C ds 16 PUItitle0911110D ds 16 PUItitle0911110E ds 16 PUItitle0911110F ds 16 control0A1111 anop ; POP dc i2'$09' ; parm count dc i4'$0000000E' ; ID number dc i2'$0037,$00CE,$0044,$0173' ; rectangle dc i4'$87000000' ; Def proc dc i2'$0000' ; flags dc i2'$1000' ; More flags dc i4'0' ; RefCon dc i2'$0000' ; title width dc i4'popupmenu0A1111' ; pointer to template dc i2'$0300' ; inital value, set as desired popupmenu0A1111 anop ;POPUP dc i2'0' ; version, must be 0 dc i2'$0020' ; menu ID number dc i2'$0000' ; flags dc i4'popuptitle0A1111' ; title pointer * List of pointers to menu item templates dc i4'PUitem0A111100' dc i4'PUitem0A111101' dc i4'PUitem0A111102' dc i4'PUitem0A111103' dc i4'PUitem0A111104' dc i4'PUitem0A111105' dc i4'PUitem0A111106' dc i4'PUitem0A111107' dc i4'PUitem0A111108' dc i4'PUitem0A111109' dc i4'PUitem0A11110A' dc i4'PUitem0A11110B' dc i4'PUitem0A11110C' dc i4'PUitem0A11110D' dc i4'PUitem0A11110E' dc i4'PUitem0A11110F' dc i4'0' ; nul terminator popuptitle0A1111 str 'Rec Track: ' PUitem0A111100 anop ; Item template dc i2'0' ; version must be 0 dc i2'$0300' ; item number dc i2'$0000' ; hot key dc i2'$0000' ; check character dc i2'$0000' ; item flags dc i4'PUItitle0A111100' ; pointer to item title PUItitle0A111100 str 'Track 1' PUitem0A111101 anop ; Item template dc i2'0' ; version must be 0 dc i2'$0301' ; item number dc i2'$0000' ; hot key dc i2'$0000' ; check character dc i2'$0000' ; item flags dc i4'PUItitle0A111101' ; pointer to item title PUItitle0A111101 str 'Track 2' PUitem0A111102 anop ; Item template dc i2'0' ; version must be 0 dc i2'$0302' ; item number dc i2'$0000' ; hot key dc i2'$0000' ; check character dc i2'$0000' ; item flags dc i4'PUItitle0A111102' ; pointer to item title PUItitle0A111102 str 'Track 3' PUitem0A111103 anop ; Item template dc i2'0' ; version must be 0 dc i2'$0303' ; item number dc i2'$0000' ; hot key dc i2'$0000' ; check character dc i2'$0000' ; item flags dc i4'PUItitle0A111103' ; pointer to item title PUItitle0A111103 str 'Track 4' PUitem0A111104 anop ; Item template dc i2'0' ; version must be 0 dc i2'$0304' ; item number dc i2'$0000' ; hot key dc i2'$0000' ; check character dc i2'$0000' ; item flags dc i4'PUItitle0A111104' ; pointer to item title PUItitle0A111104 str 'Track 5' PUitem0A111105 anop ; Item template dc i2'0' ; version must be 0 dc i2'$0305' ; item number dc i2'$0000' ; hot key dc i2'$0000' ; check character dc i2'$0000' ; item flags dc i4'PUItitle0A111105' ; pointer to item title PUItitle0A111105 str 'Track 6' PUitem0A111106 anop ; Item template dc i2'0' ; version must be 0 dc i2'$0306' ; item number dc i2'$0000' ; hot key dc i2'$0000' ; check character dc i2'$0000' ; item flags dc i4'PUItitle0A111106' ; pointer to item title PUItitle0A111106 str 'Track 7' PUitem0A111107 anop ; Item template dc i2'0' ; version must be 0 dc i2'$0307' ; item number dc i2'$0000' ; hot key dc i2'$0000' ; check character dc i2'$0000' ; item flags dc i4'PUItitle0A111107' ; pointer to item title PUItitle0A111107 str 'Track 8' PUitem0A111108 anop ; Item template dc i2'0' ; version must be 0 dc i2'$0308' ; item number dc i2'$0000' ; hot key dc i2'$0000' ; check character dc i2'$0000' ; item flags dc i4'PUItitle0A111108' ; pointer to item title PUItitle0A111108 str 'Track 9' PUitem0A111109 anop ; Item template dc i2'0' ; version must be 0 dc i2'$0309' ; item number dc i2'$0000' ; hot key dc i2'$0000' ; check character dc i2'$0000' ; item flags dc i4'PUItitle0A111109' ; pointer to item title PUItitle0A111109 str 'Track 10' PUitem0A11110A anop ; Item template dc i2'0' ; version must be 0 dc i2'$030A' ; item number dc i2'$0000' ; hot key dc i2'$0000' ; check character dc i2'$0000' ; item flags dc i4'PUItitle0A11110A' ; pointer to item title PUItitle0A11110A str 'Track 11' PUitem0A11110B anop ; Item template dc i2'0' ; version must be 0 dc i2'$030B' ; item number dc i2'$0000' ; hot key dc i2'$0000' ; check character dc i2'$0000' ; item flags dc i4'PUItitle0A11110B' ; pointer to item title PUItitle0A11110B str 'Track 12' PUitem0A11110C anop ; Item template dc i2'0' ; version must be 0 dc i2'$030C' ; item number dc i2'$0000' ; hot key dc i2'$0000' ; check character dc i2'$0000' ; item flags dc i4'PUItitle0A11110C' ; pointer to item title PUItitle0A11110C str 'Track 13' PUitem0A11110D anop ; Item template dc i2'0' ; version must be 0 dc i2'$030D' ; item number dc i2'$0000' ; hot key dc i2'$0000' ; check character dc i2'$0000' ; item flags dc i4'PUItitle0A11110D' ; pointer to item title PUItitle0A11110D str 'Track 14' PUitem0A11110E anop ; Item template dc i2'0' ; version must be 0 dc i2'$030E' ; item number dc i2'$0000' ; hot key dc i2'$0000' ; check character dc i2'$0000' ; item flags dc i4'PUItitle0A11110E' ; pointer to item title PUItitle0A11110E str 'Track 15' PUitem0A11110F anop ; Item template dc i2'0' ; version must be 0 dc i2'$030F' ; item number dc i2'$0000' ; hot key dc i2'$0000' ; check character dc i2'$0000' ; item flags dc i4'PUItitle0A11110F' ; pointer to item title PUItitle0A11110F str 'Track 16' control0B1111 anop ;STATTEXT dc i2'$9' ; parm count dc i4'$00008003' ; ID number VelRect dc i2'$005A,$00CE,$0065,$0193' ; rectangle dc i4'$81000000' ;Defproc dc i2'$0000' ; flags dc i2'$1000' ; More flags dc i4'0' ; RefCon dc i4'Text0B1111' ; text reference dc i2'$001A' ; length dc i2'$0000' ; justification Text0B1111 dc c'Velocity Compensation: 0 ' VelocityText dc c'Velocity Compensation: 0 ' +23 control0C1111 anop ; scroll dc i2'$09' ; parm count dc i4'$0000000B' ; ID number dc i2'$0059,$0010,$0065,$00C7' ; rectangle dc i4'$86000000' ;Def proc dc i2'$001C' ; flags dc i2'$1000' ; More flags dc i4'0' ; RefCon dc i2'$007F' ; max size dc i2'$0001' ; view size dc i2'0' ; inital value, set as needed control0F1111 anop ;STATTEXT dc i2'$9' ; parm count dc i4'$00008001' ; ID number dc i2'$0079,$000C,$008d,$00C0' ; rectangle dc i4'$81000000' ;Defproc dc i2'$0000' ; flags dc i2'$1000' ; More flags dc i4'0' ; RefCon dc i4'Text0F1111' ; text reference dc i2'$003C' ; length dc i2'$0000' ; justification Text0F1111 dc c' SynthLAB',h'AA',c' Player',h'0d' dc c'Copyright 1990 ',h'0153',i2'02',h'0143',i2'$5555',c'Parik Rao' dc h'0143',i2'$0000',c' ' controlZF1111 anop ;STATTEXT dc i2'$9' ; parm count dc i4'$00008001' ; ID number dc i2'$008e,$000C,$0099,$00C0' ; rectangle dc i4'$81000000' ;Defproc dc i2'$0000' ; flags dc i2'$1000' ; More flags dc i4'0' ; RefCon dc i4'TextZF1111' ; text reference dc i2'$0017' ; length dc i2'$0000' ; justification TextZF1111 dc c'For America Online only' control111111 anop ; scroll dc i2'$09' ; parm count dc i4'$0000000D' ; ID number dc i2'$006B,$000E,$0076,$00C7' ; rectangle dc i4'$86000000' ;Def proc dc i2'$001C' ; flags dc i2'$1000' ; More flags dc i4'0' ; RefCon dc i2'127' ; max size dc i2'$0001' ; view size dc i2'127' ; inital value, set as needed control121111 anop ;STATTEXT dc i2'$9' ; parm count dc i4'$00008004' ; ID number VolRect dc i2'$006B,$00FD,$0077,$0151' ; rectangle dc i4'$81000000' ;Defproc dc i2'$0000' ; flags dc i2'$1000' ; More flags dc i4'0' ; RefCon dc i4'Text121111' ; text reference dc i2'$000B' ; length dc i2'$0000' ; justification Text121111 dc c'Volume: 127 ' VolText dc c'Volume: 127 ' TaskRecord anop TaskWhat ds 2 TaskMessage ds 4 TaskWhen ds 4 TaskWhere ds 4 TaskModifiers ds 2 TaskData ds 4 TaskMask dc i4'$001F5FFF' TaskLastClick ds 4 TaskClickCount ds 2 TaskData2 ds 4 TaskData3 ds 4 TaskData4 ds 4 TaskClickPoint ds 4 TaskRecordEnd anop OpenBlock dc i2'12' openref ds 2 OpenName ds 4 ds 2 ds 2 ds 2 ds 2 AuxType ds 4 ds 2 ds 8 ds 8 ds 4 FileSize ds 4 CloseBlock dc i2'1' CloseRef ds 2 ReadBlock dc i2'4' ReadRef ds 2 ReadBuffer ds 4 ReadCount ds 4 ds 4 CreateBlock dc i2'4' CreateName ds 4 dc i2'$C3' CreateFileType dc i2'$D5' CreateAuxType dc i4'1' DestroyBlock dc i2'1' DestroyName ds 4 WriteBlock dc i2'4' WriteRef ds 2 WriteBuffer ds 4 WriteSize ds 4 ds 4 FilePrompt str 'Sequence to load: ' FilePrompt2 str 'Instruments to load: ' FilePrompt3 str 'Save as: ' ReplyRec ds 2 ds 2 ds 4 dc i2'3' SFNameRef ds 4 handle dc i2'3' SFPathRef ds 4 handle TypeList dc i2'1' sequence dc i2'0' flags dc i2'$D5' dc i4'$0001' TypeList2 dc i2'1' instruments dc i2'0' flags dc i2'$D6' dc i4'$0001' SeqPlayRec ds 4 pointer to play buffer ds 4 RecBuffer ds 4 RecBufferEnd ds 4 SeqFlags dc i2'$100' ds 4 seq clock SeqHeader anop dc c'MSEQ' dc i2'$100' dc i2'SeqHeaderEnd-SeqHeader' str 'SynthLAB' ds 7 SeqInstFile ds 16 TrackNames ds 16 dc 15c'Unused ' dc 16i2'127' volumes TrackChannels dc 16i2'-1' track channels TrackPlays dc 16i2'0' play no tracks dc i2'$FFFF' no record track SeqTempo dc i2'60' SeqBeats dc i2'4' dc i2'1' SeqTicks dc i2'96' TrackOutput dc 16i2'0' track output dc 16i2'0' SeqHeaderEnd anop ToolAlert dc c'16/Insert Boot Disk/Abort/^Retry',h'0' FileAlert dc c'22/File Not Found/^Ok',h'0' +8 MidiAlert dc c'46/Looking for MIDI.SETUP. Insert Boot Disk./Abort' dc c'/^Retry',h'0' RecordAlert1 dc c'13/Recording.../Merge/^Done',h'0' RecordAlert2 dc c'13/Recording.../^Done',h'0' RecordAlert3 dc c'12/Not enough RAM!/^Ok',h'0' SaveAlert dc c'12/Save song?/^Yes/No',h'0' MidiSetupPath str2 '*/SYSTEM/DRIVERS/MIDI.SETUP' MidiSetUpPath2 ds 2 dc c'*/SYSTEM/DRIVERS/' +17 ds 33 AlreadyOpen ds 2 MidiActive ds 2 SFStarted ds 2 MSStarted ds 2 SoundStarted ds 2 MidiSetup ds 50 Vars anop ProgramID ds 2 MemoryID ds 2 WindowPtr ds 4 WindowOpen ds 2 FileHandle ds 4 SongHandle ds 4 InstHandle ds 4 WaveHandle ds 4 RecHandle ds 4 Temp ds 256 Temp2 ds 10 SBarTemp ds 20 Stack ds 2 DP ds 2 OurDP ds 2 TrackRecTemp ds 2 SynthMode ds 2 SaveStatus ds 2 VarsEnd anop ; mode: ; 0 = load song/inst ; 1 = load song/inst - play/save song ; 3 = none