/* HiP-ARexx-Play (c) by Marcel Döring in 1995-1996 */ IF ~SHOW('LIBRARIES','rexxreqtools.library') THEN DO IF ~ADDLIB('rexxreqtools.library',0,-30,0) THEN DO SAY 'No tritonrexx.library found !' SAY 'Available on Aminet !' EXIT(10) END END Say 'RexxReqTools.library found' IF ~SHOW('LIBRARIES','tritonrexx.library') THEN DO IF ~ADDLIB('tritonrexx.library',10,-30,0) THEN DO SAY 'No tritonrexx.library found !' SAY 'Available on Aminet !' EXIT(10) END END rtv=TritonRexxVersion() Say 'TritonRexx.library v. 'rtv' found' IF ~SHOW('LIBRARIES','rexxtricks.library') THEN DO IF ~ADDLIB('rexxtricks.library',2,-30,0) THEN DO SAY 'No Rexxtricks.library found !' Say 'Available on Aminet !' EXIT(10) END END Say 'RexxTricks.library found' IF ~SHOW('LIBRARIES','rexxsupport.library') THEN DO IF ~ADDLIB('rexxsupport.library',0,-30,0) THEN DO SAY 'No Rexxsupport.library available ' EXIT(10) END END Say 'RexxSupport.library found' kick = GETENV('Kickstart') vewb = GETENV('Workbench') lang = GETENV('Language') Hippo='Work:Hippoplayer/HiP' nohip=0 disbld=0 IF ~SHOWLIST('P','HIPPOPLAYER') THEN NoHip=1 tv=TritonVersion() SIGNAL ON break_c SIGNAL ON failure SIGNAL ON halt SIGNAL ON ioerr SIGNAL ON syntax minimum = 0 maximum = 64 wert = 64 bold='1b'x'[1m' app = TR_CREATEAPP('TRCA_Name Emergency-Break', 'TRCA_LongName "Emergency-Break in scripts with errors"', 'TRCA_Info "Tries to shut everything down.."', 'TRCA_Version 1.2', 'TRCA_Release 1', 'TRCA_Date 8.11.95', 'TAG_END') IF app ~= '00000000'x THEN DO appname = 'HiP-ARexx-Play' applongname = 'HiP-ARexx-Play - (c)1995 by Marcel Doering' appinfo = 'ARexx-Player using Hippoplayer' appversion = '2.0' apprelease = '2' appdate = '11.3.1996' clipname = ' HiP-ARexx-Play ' clipinfo = ' ARexx-Player using Hippoplayer ' app = TR_CREATEAPP('TRCA_Name' '"'appname'"', 'TRCA_LongName' '"'applongname'"', 'TRCA_Info' '"'appinfo'"', 'TRCA_Version' '"'appversion'"', 'TRCA_Release' '"'apprelease'"', 'TRCA_Date' '"'appdate'"', 'TAG_END') IF NoHip=1 THEN notrunning = rtezrequest('Attention !'||'0a'x||'You have to start HiP if you want to use H.A.P. !','Okay','Attention !','rtez_flags=ezreqf_centertext','rtez_defaultresponse = 0',) ELSE NOP SayVol = FALSE HelpBool = 0 windowtags = WindowID(1), QuickHelpOn(HelpBool), WindowFlags(TRWI_Backfill TRBF_SHINE), WindowBackFillFB, WindowTitle(appname appversion), BeginMenu("Project"), MenuItem("A_About",10), MenuItem("History",15) ItemBarlabel, MenuItem("I_HiP-Status",11) ItemBarlabel, MenuItem("Y_Iconify",14) ItemBarlabel, MenuItemC("U_QuickHelp",103), MenuItemC("V_Print Volume",110) ItemBarlabel, MenuItem("Q_Quit HiP & H.A.P.",12), BeginMenu('H.A.P. Control'), MenuItem('L_Load & Play',1), MenuItem('D_Add module',7), MenuItem('P_Pause',2), MenuItem('>_Pattern >>',3), MenuItem('<_Pattern <<',4), MenuItem('Z_Zip',5), MenuItem('H_Hide',9), MenuItem('W_Samples Window',8), MenuItem('T_Status...',11), MenuItem('E_Eject',6), NamedFrameBox('Volume'), 'VertGroupA', SliderGadget(0,maximum-minimum,wert+minimum,1), 'HorizGroupA', 'Space', 'VertGroupA', 'SpaceS', Button("Start HiP !",13) QuickHelp('Start HiP, using defined path'), Button("Load & Play",1) QuickHelp('Load & Play a module'), Button("Add module",7) QuickHelp('Add an module to the Mod-List of HiP'), Button("Pause",2) QuickHelp('Pause the module HiP is playing'), Button("Pattern >>",3) QuickHelp('Jump pattern forward of module'), Button("Pattern <<",4) QuickHelp('Jump pattern reverse of module'), Button("Zip",5) QuickHelp('Zip HiP-window'), 'EndGroup', 'VertGroupA', 'SpaceS', Button("Hide",9) QuickHelp('Hide HiP-window'), Button("Samples Window",8) QuickHelp('Open samples window of HiP'), Button("Status...",11) QuickHelp('Get some informations'), Button("Eject",6) QuickHelp('Eject playing module'), Button("Quit HiP & H.A.P.",12) QuickHelp('Quit Hippoplayer & HiP-ARexx-Play'), Button("Iconify H.A.P.",14) QuickHelp('Iconify HiP-ARexx-Play'), Button("About...",10) QuickHelp('Guess what...'), 'EndGroup', 'Space', 'EndGroup', 'Space', 'EndGroup', 'Space', 'EndProject' app = TR_CREATEAPP('TRCA_Name Button') IF app ~= '00000000'x THEN DO window = TR_OPENPROJECT(app,windowtags) IF window ~= '00000000'x THEN DO ende = 0 if nohip=1 then if disbld=0 then call dagads DO WHILE ende ~= 1 CALL TR_WAIT(app,'') DO WHILE TR_HANDLEMSG(app,'event') IF event.trm_class = 'TRMS_NEWVALUE' THEN DO SELECT WHEN event.trm_id = 1 THEN DO IF SayVol = TRUE THEN SAY 'Volume:' event.trm_data ADDRESS 'HIPPOPLAYER' VOLUME event.trm_data CALL TR_SETATTRIBUTE(window,2,'TRAT_Text',event.trm_data) END WHEN event.trm_id = 103 THEN DO nummer = TR_GETATTRIBUTE(window,103,'TRAT_VALUE') CALL TR_SETATTRIBUTE(window,0,'TRWI_QuickHelp',nummer) END WHEN event.trm_id = 110 THEN DO number = TR_GETATTRIBUTE(window,110,'TRAT_VALUE') IF number = 1 THEN call enablepvol IF number = 0 THEN call disablepvol END OTHERWISE NOP END END IF event.trm_class = 'TRMS_ACTION' THEN DO SELECT WHEN event.trm_id = 1 THEN call playfile WHEN event.trm_id = 2 THEN call pause WHEN event.trm_id = 3 THEN call fwd WHEN event.trm_id = 4 THEN call rwd WHEN event.trm_id = 5 THEN call zip WHEN event.trm_id = 6 THEN call eject WHEN event.trm_id = 7 THEN call add WHEN event.trm_id = 8 THEN call sampwind WHEN event.trm_id = 9 THEN call hide WHEN event.trm_id = 10 THEN call about WHEN event.trm_id = 11 THEN call getinfos WHEN event.trm_id = 12 THEN call quit WHEN event.trm_id = 13 THEN call starthip WHEN event.trm_id = 14 THEN call iconify WHEN event.trm_id = 15 THEN call historee OTHERWISE NOP END END IF event.trm_class = 'TRMS_CLOSEWINDOW' THEN IF Iconified~=YO THEN ende = 1 ELSE CALL UnIconify END END CALL TR_CLOSEPROJECT(window) END CALL TR_DELETEAPP(app) call cleanup EXIT END playfile: mainwindow = '00000000'x ModFile = rtfilerequest('SYS:',,'Please choose a Module...',,'') Say ModFile IF ModFile='' THEN RETURN ADDRESS 'HIPPOPLAYER' PLAY ModFile RETURN FWD: ADDRESS 'HIPPOPLAYER' FFWD RETURN RWD: ADDRESS 'HIPPOPLAYER' REW RETURN PAUSE: Dummy=No IF Dummy=No THEN DO If STAT=YO THEN DO ADDRESS 'HIPPOPLAYER' 'CONT' STAT=NO RETURN END ADDRESS 'HIPPOPLAYER' 'STOP' STAT=YO RETURN END Zip: Dummy2=No IF Dummy2=No THEN DO IF STAT2=YO THEN DO ADDRESS 'HIPPOPLAYER' 'ZIP 1' STAT2=NO RETURN END ADDRESS 'HIPPOPLAYER' 'ZIP 0' STAT2=YO RETURN END Eject: ADDRESS 'HIPPOPLAYER' 'EJECT' RETURN END Add: if ende ~= 1 THEN DO mainwindow = '00000000'x AddFile = rtfilerequest('SYS:',,'Please choose a Module...',,'') If AddFile='' THEN RETURN ADDRESS 'HIPPOPLAYER' ADD AddFile RETURN Quit: ADDRESS 'HIPPOPLAYER' 'QUIT' CALL TR_DELETEAPP(app) call cleanup EXIT sampwind: ADDRESS 'HIPPOPLAYER' Samples RETURN END hide: Dummy3=No IF Dummy3=No THEN DO IF STAT3=YO THEN DO ADDRESS 'HIPPOPLAYER' 'HIDE 1' STAT3=NO RETURN END ADDRESS 'HIPPOPLAYER' 'HIDE 0' STAT3=YO RETURN END EXIT about: CALL TR_AUTOREQUEST(app,window,PubScreenName('workbench'), BeginRequester('About HiP-ARexx-Play (c) by Marcel Doering','TRWP_CENTERDISPLAY'), 'VertGroupA', 'Space', 'HorizSeparator', 'Space', NamedSeparator('HiP-ARexx-Play'), 'Space', CenteredText('Public Domain'), 'Space', CenteredText('Version:'appversion), 'Space', CenteredText('Date of Release:'appdate), 'Space', CenteredText('(c) by Marcel Doering `95'), 'Space', CenteredText('Contact me:'), 'Space', CenteredText('DonDoringo@GURU.rhein-main.de'), 'Space', 'HorizSeparator', 'Space', NamedSeparator('Libraries:'), 'Space', CenteredText('Using Tritonrexx.library v.' rtv '(c) by Juergen Kohrmeyer.'), 'Space', CenteredText('Using Triton.library v.' tv '(c) by Stefan Zeiger.'), 'Space', CenteredText('Using RexxTricks.library (c) by Juergen Kohrmeyer.'), 'Space', CenteredText('Using RexxSysLib, RexxReqTools & Rexxsupport.library'), 'Space', 'HorizSeparator', 'Space', 'EndGroup', 'BeginRequesterGads', CenteredButtonRE('Okay',10000), 'EndRequester') CALL TR_AUTOREQUEST(app,window,PubScreenName('workbench'), BeginRequester('About TriTon','TRWP_CENTERDISPLAY'), 'VertGroupA', 'Space', 'HorizSeparator', 'Space', NamedSeparator('About TriTon:'), 'Space', CenteredText('This application uses the Triton GUI creation system (c) by Stefan Zeiger'), 'Space', 'HorizSeparator', 'Space', CenteredText('**********************************************'), 'Space', 'Space', CenteredText('Triton'), 'Space', 'Space', CenteredText('An object oriented GUI creation system.'), 'Space', 'Space', CenteredText('Release 1.3'), 'Space', 'Space', CenteredText('(c) 1993-1995 Stefan Zeiger'), 'Space', 'Space', CenteredText('**********************************************'), 'Space', 'HorizSeparator', 'Space', 'EndGroup', 'BeginRequesterGads', CenteredButtonRE('Important',10000), 'EndRequester') RETURN NotInit: CALL TR_EASYREQUEST(app,'ATTENTION !'||'0a'x||'HippoPlayer is not running,'||'0a'x||'You can start it from HiP-ARexx-Play or directly, but'||'0a'x||'Don`t use HiP-ARexx-Play`s other functions without HiP running !','I`ll do that','TREZ_LockProject' C2D(window) 'TAG_END') RETURN END GetInfos: options results address 'HIPPOPLAYER' get play if result == 1 then do play = " HiP is playing " end else do play = " HiP is not playing " end get name NAME = " Loaded module: " result " " get fnam FNAM = " Full name of the loaded module: " result " " get type TYPE = " Type of the loaded module: " result " " get size SIZE = " Size of the loaded module: " result " " get comm COMM = " Filecomment for the loaded module: " result " " get curr CURR = " Number of the loaded module: " result " " get csng CSNG = " Current song: "result " " get nsng NSNG = " Number of songs: " result " " get cspo CSPO = " Current songposition: " result " " get mspo MSPO = " Maximum songposition: " result " " get cfil CFIL = " Chosen file number: " result " " get cnam CNAM = " Chosen file name: " result " " get nfil NFIL = " Files in list: " result " " get dura IF result == 0 then do DURT = " Duration not available " " " END ELSE DO DURT = " Duration: " result " " END KIKK = " Kickstart-version: " KICK " " WBVE = " Workbench-version: " VEWB " " CITY = " System-language: " LANG " " Parse Version arexx version cpu mpu video freq REXV = " ARexx version: " arexx version " " CPUV = " CPU: " cpu " " FPUV = " FPU: " mpu " " VIDV = " Videomode:>> " video " " FRQV = " VBL frequency: " freq " " CALL TR_AUTOREQUEST(app,window,PubScreenName('workbench'), BeginRequester('HiP-Status','TRWP_CENTERDISPLAY'), 'VertGroupA', 'Space', NamedSeparator('HiP-Status'), 'Space', CenteredText(PLAY), 'SpaceS', TextN(NAME), 'SpaceS', TextN(FNAM), 'SpaceS', TextN(TYPE), 'SpaceS', TextN(DURT), 'SpaceS', TextN(SIZE), 'SpaceS', TextN(COMM), 'SpaceS', TextN(CURR), 'SpaceS', TextN(CSNG), 'SpaceS', TextN(NSNG), 'SpaceS', TextN(CSPO), 'SpaceS', TextN(MSPO), 'SpaceS', TextN(CFIL), 'SpaceS', TextN(NFIL), 'SpaceS', TextN(CNAM), 'Space', 'EndGroup', 'BeginRequesterGads', CenteredButtonRE('Great!',10000), 'EndRequester') CALL TR_AUTOREQUEST(app,window,PubScreenName('workbench'), BeginRequester('Status','TRWP_CENTERDISPLAY'), 'VertGroupA', 'Space', NamedSeparator('Status'), 'Space', 'HorizSeparator', 'Space', TextN(KIKK), 'SpaceS', TextN(WBVE), 'SpaceS', TextN(CITY), 'SpaceS', TextN(REXV), 'SpaceS', TextN(CPUV), 'SpaceS', TextN(FPUV), 'SpaceS', TextN(VIDV), 'SpaceS', TextN(FRQV), 'Space', 'HorizSeparator', 'Space', NamedSeparator('Status'), 'Space', 'EndGroup', 'BeginRequesterGads', CenteredButtonRE('Okay',10000), 'EndRequester') DROP PLAY NAME FNAM TYPE SIZE COMM PR0T CURR CSNG NSNG CSPO MSPO CFIL NFIL CNAM KIKK WBVE CITY DURA DURT RETURN starthip: Say 'Hippopath is:' Hippo if ~exists(hippo) then do notthere=rtezrequest('Couldn`t find HippoPlayer as 'hippo','||'0a'x||' edit the script at line 53 to enter your path !','Ups..','Couldn`t start HiP !','rtez_flags=ezreqf_centertext','rtez_defaultresponse = 0',) return end Say 'Trying to start HiP...' ADDRESS COMMAND Hippo delay(50) note = rtezrequest('Due to some unfixable problems, '||'0a'x||'HiP should be started before H.A.P. !'||'0a'x||'Otherwise some functions, especially the status-req'||'0a'x||'might not work properly !'||'0a'x||'Though you can try it..:)','Hmm..','Please Note !','rtez_flags=ezreqf_centertext','rtez_defaultresponse = 0',) IF SHOWLIST('P','HIPPOPLAYER') THEN call engads else notthere=rtezrequest('Couldn`t find HippoPlayer`s ARexx-Port.,'||'0a'x||'I`ve no idea, why this happens.','?!?','Couldn`t find HiP-Port !','rtez_flags=ezreqf_centertext','rtez_defaultresponse = 0',) RETURN END e-break: CALL TR_DELETEAPP(app) END EXIT(0) iconify: dummywindow = TR_OPENPROJECT(app,WindowID(1000) WindowTitle('H.A.P. (c) by Marcel Doering `95-`96 iconified') PubScreenName('workbench') 'EndProject') IF dummywindow ~= '00000000'x THEN DO CALL TR_CLOSEPROJECT(window) Iconified=YO END ELSE CALL TR_EASYREQUEST(app,'ATTENTION !'||'0a'x||'Couldn`t iconify H.A.P. !'||'0a'x||'Version:'appversion,'_Oops','TREZ_Title "Error !"' 'TREZ_LockProject' C2D(window) 'TAG_END') RETURN uniconify: CALL TR_CLOSEPROJECT(dummywindow) dummywindow = '00000000'x window = TR_OPENPROJECT(app,windowtags) IF window = '00000000'x THEN quit('Error! Couldn`t open window !!',10) Iconified=NO RETURN historee: CALL TR_AUTOREQUEST(app,window,PubScreenName('workbench'), BeginRequester('HiP-ARexx-Play - History','TRWP_CENTERDISPLAY'), 'VertGroupA', 'Space', 'HorizSeparator', 'Space', NamedSeparator('Version 2.0'), 'Space', TextN(' ˇ Splitted the buttons into two banks,'), TextN(' looks better now and also works on '), TextN(' very small screenheights.'), TextN(''), TextN(' ˇ If HiP is not started, all buttons and '), TextN(' the menu will stay disabled till you start '), TextN(' HiP. (from H.A.P. !)'), TextN(''), TextN(' ˇ Added a funtion to check if HiP started '), TextN(' correctly, if not, the buttons will stay '), TextN(' disabled. '), 'Space', 'HorizSeparator', 'Space', 'EndGroup', 'BeginRequesterGads', CenteredButtonRE('Gee..',10000), 'EndRequester') RETURN /***************IS GOING TO BE IMPLEMENTED !******************************* openlocale: uselocale = TRUE IF ~SHOW('LIBRARIES','locale.library') THEN IF ~ADDLIB('locale.library',-10,-30,0) THEN uselocale = FALSE IF ~loadrexx(progdir,'HiP-ARexx-Play.strings','') THEN quit('Error reading file "HiP-ARexx-Play.strings"!'),10) IF uselocale THEN DO catalogfile = 'catalogs/deutsch/HAP.catalog' IF RIGHT(progdir,1) = ':' THEN catalog = OPENCATALOG(progdir||'catalogs/deutsch/HAP.catalog','deutsch',0) ELSE catalog = OPENCATALOG(progdir||'/catalogs/deutsch/HAP.catalog','deutsch',0) IF catalog = 0 THEN catalog = OPENCATALOG('HAP.catalog','deutsch',0) END RETURN ***************************************************************************/ dagads: disbld=1 CALL TR_SETATTRIBUTE(window,1,'TRAT_Disabled',1) CALL TR_SETATTRIBUTE(window,2,'TRAT_Disabled',1) CALL TR_SETATTRIBUTE(window,3,'TRAT_Disabled',1) CALL TR_SETATTRIBUTE(window,4,'TRAT_Disabled',1) CALL TR_SETATTRIBUTE(window,5,'TRAT_Disabled',1) CALL TR_SETATTRIBUTE(window,6,'TRAT_Disabled',1) CALL TR_SETATTRIBUTE(window,7,'TRAT_Disabled',1) CALL TR_SETATTRIBUTE(window,8,'TRAT_Disabled',1) CALL TR_SETATTRIBUTE(window,9,'TRAT_Disabled',1) CALL TR_SETATTRIBUTE(window,11,'TRAT_Disabled',1) CALL TR_SETATTRIBUTE(window,12,'TRAT_Disabled',1) CALL TR_SETATTRIBUTE(window,10,'TRAT_Disabled',1) CALL TR_SETATTRIBUTE(window,14,'TRAT_Disabled',1) RETURN engads: disbld=0 CALL TR_SETATTRIBUTE(window,1,'TRAT_Disabled',0) CALL TR_SETATTRIBUTE(window,2,'TRAT_Disabled',0) CALL TR_SETATTRIBUTE(window,3,'TRAT_Disabled',0) CALL TR_SETATTRIBUTE(window,4,'TRAT_Disabled',0) CALL TR_SETATTRIBUTE(window,5,'TRAT_Disabled',0) CALL TR_SETATTRIBUTE(window,6,'TRAT_Disabled',0) CALL TR_SETATTRIBUTE(window,7,'TRAT_Disabled',0) CALL TR_SETATTRIBUTE(window,8,'TRAT_Disabled',0) CALL TR_SETATTRIBUTE(window,9,'TRAT_Disabled',0) CALL TR_SETATTRIBUTE(window,11,'TRAT_Disabled',0) CALL TR_SETATTRIBUTE(window,12,'TRAT_Disabled',0) CALL TR_SETATTRIBUTE(window,10,'TRAT_Disabled',0) CALL TR_SETATTRIBUTE(window,14,'TRAT_Disabled',0) RETURN CheckHipPorts: IF ~ShowList('P','HIPPOPLAYER') THEN CALL DAGADS RETURN END enablepvol: SayVol = TRUE RETURN disablepvol: SayVol = FALSE RETURN break_c: failure: halt: ioerr: syntax: SAY '+++ Error!' rc 'in Line' sigl '-' ERRORTEXT(rc) Say 'Trying to close complete script...' SAY SOURCELINE(sigl) IF app ~= '00000000'x THEN CALL TR_DELETEAPP(app) EXIT(10) cleanup: /*remlib('rexxreqtools.library') remlib('tritonrexx.library') remlib('rexxtricks.library') remlib('rexxsupport.library') */ return /* Following lines are just storage for me */ Store: /* 'SpaceS', NamedFrameBox('ShortInfo'), 'TROB_FrameBox TRFB_Text', 'VertGroupA', 'SpaceS', ClippedTextID(clipname appversion,2), ClippedTextID(clipinfo,22), 'Space EndGroup', */