/* Main.rexx */ options results; address MrMPEG address command 'Resident Kill' if ~show('L', 'rexxsupport.library') then do if ~addlib('rexxsupport.library', 0, -30, 0) then do say('rexxsupport.library is not available. Exiting...') exit end end if ~show('L', 'rexxutil.library') then do if ~addlib('rexxutil.library', 0, -30, 0) then do say('rexxutil.library is not available. Exiting...') exit end end ASLFR_DrawersOnly = 0x8008002f; MUIA_Cycle_Active = 0x80421788 MUIA_Disabled = 0x80423661; MUIA_Dropable = 0x8042fbce MUIA_Listview_DragType = 0x80425cd3; MUIA_Listview_ClickColumn = 0x8042d1b3 MUIA_Listview_DoubleClick = 0x80424635 MUIA_List_DragSortable = 0x80426099; MUIA_List_Format = 0x80423c0a MUIA_Menuitem_ShortCut = 0x80422030; MUIA_Menuitem_Title = 0x804218be MUIA_NoNotify = 0x804237f9; MUIA_Numeric_Value = 0x8042ae3a MUIA_Selected = 0x8042654b; MUIA_ShowMe = 0x80429ba8 MUIA_Slider_Level = 0x8042ae3a; MUIA_Slider_Max = 0x8042d78a MUIA_Slider_Min = 0x8042e404; MUIA_Timer = 0x80426435 MUIA_Window_Open = 0x80428aa0; MUIM_Application_AboutMUI = 0x8042d21d MUIM_Application_OpenConfigWindow = 0x804299ba MUIV_EveryTime = 0x49893131; MUIV_Listview_DragType_Immediate = 1 setvar cont 0; setvar stopped 0; setvar current_song ""; setvar current_time '00:00' setvar total_time '00:00:00' window ID WIND1 TITLE '"MrMPEG"' COMMAND '"Clean"' menu LABEL "Project" item COMMAND '"Save 1"' ATTRS MUIA_Menuitem_Shortcut 'S' LABEL "Save Prefs" item COMMAND '"method 'MUIM_Application_OpenConfigWindow'"', ATTRS MUIA_Menuitem_Shortcut 'P' PORT MrMPEG LABEL "MUI Prefs..." item ATTRS MUIA_Menuitem_Title '-1' item COMMAND '"About"' ATTRS MUIA_Menuitem_Shortcut 'R' LABEL "About MrMPEG..." item COMMAND '"method 'MUIM_Application_AboutMUI' 0"', ATTRS MUIA_Menuitem_Shortcut 'M' PORT MrMPEG LABEL "About MUI..." item ATTRS MUIA_Menuitem_Title '-1' item COMMAND '"Clean"' ATTRS MUIA_Menuitem_Shortcut 'Q' LABEL "Quit" endmenu group ID MAIN FRAME string ID FNAME CONTENT "No song is loaded." text ID LCD LABEL "MrMIDI is also available from Aminet." group HORIZ label SINGLE "Song:" text ID ACTIV LABEL "\033b\033r 0" label SINGLE "/" text ID MAX LABEL "\033b\033r 0" label SINGLE "Time:" text ID CURNT LABEL "\033b\033r00:00" label SINGLE "/" text ID TOTAL LABEL "\033b\033r00:00:00" endgroup group HORIZ group knob ID VOLM ATTRS MUIA_Slider_Max 255 MUIA_Slider_Min 0 label "Volume" endgroup group group HORIZ image ID PREV SPEC "4:MrMPEG:images/Previous.mf0" COMMAND '"Prev"' image ID RWND SPEC "4:MrMPEG:images/Backward.mf0" COMMAND '""' PORT INLINE check ID PLAY SPEC "4:MrMPEG:images/Play.mf0" COMMAND '"Play"' image ID FFWD SPEC "4:MrMPEG:images/Forward.mf0" COMMAND '""' PORT INLINE image ID NEXT SPEC "4:MrMPEG:images/Next.mf0" COMMAND '"Next"' image ID STOP SPEC "4:MrMPEG:images/Stop.mf0" COMMAND '"Stop"' check ID EJCT SPEC "4:MrMPEG:images/Eject.mf0" ATTRS MUIA_Selected 1, COMMAND '"window ID WIND2 ATTRS 'MUIA_Window_Open' %s"' PORT MrMPEG endgroup group HORIZ check ID ADVC SPEC "4:MrMPEG:images/Advanced.mf0" ATTRS MUIA_Selected 1, COMMAND '"group ID GRUP1 ATTRS 'MUIA_ShowMe' %s"' PORT MrMPEG check ID MONO SPEC "4:MrMPEG:images/Expand.mf0" COMMAND '"Continue"' check ID FILT SPEC "4:MrMPEG:images/Filter.mf0" COMMAND '"Continue"' check ID RAND SPEC "4:MrMPEG:images/Random.mf0" cycle ID REPT ATTRS MUIA_Cycle_Active 2 LABEL 'No Repeat,Repeat 1,Repeat All' endgroup slider ID PROG ATTRS MUIA_Slider_Max 0 MUIA_Slider_Min 0 MUIA_Slider_Level 0 endgroup endgroup endgroup group ID GRUP1 FRAME HORIZ group label SINGLE "Freq. Div.:" label SINGLE "Quality:" label SINGLE "Priority:" label SINGLE "Max. Freq. (Hz):" label SINGLE "Mix. Freq. (Hz):" label SINGLE "Audio Buffer (Sec):" label SINGLE "Input Buffer (KB):" label SINGLE "Use AHI (Mode ID):" endgroup group cycle ID DIVS COMMAND '"Continue"' LABEL '1:1,1:2,1:4' cycle ID QUAL COMMAND '"Continue"' LABEL 'Low,Medium,High' slider ID PRIO ATTRS MUIA_Slider_Max 30 MUIA_Slider_Min '-30' MUIA_Slider_Level 0 cycle ID MAXF PORT INLINE COMMAND '"options results; address MrMPEG; cycle ID MAXF; if result ~= 'OFF' then; cycle ID DIVS 'MUIA_Disabled' 1; else cycle ID DIVS 'MUIA_Disabled' 0; call Continue()"', LABEL 'OFF,11025,22050,24000,44100,48000' cycle ID MIXF COMMAND '"Continue"' LABEL 'OFF,11025,22050,24000,44100,48000' cycle ID ABUF COMMAND '"Continue"' ATTRS MUIA_Cycle_Active 1 LABEL '0,1,2,3,4,5' cycle ID IBUF COMMAND '"Continue"' ATTRS MUIA_Cycle_Active 0 LABEL '16,32,64,128,256,512,1024' group HORIZ check ID UAHI PORT INLINE COMMAND '"options results; address MrMPEG; check ID UAHI; if result = 0 then; text ID AHID ATTRS 'MUIA_Disabled' 1; else text ID AHID ATTRS 'MUIA_Disabled' 0; call Continue()"' text ID AHID COMMAND '"GetAHI.rexx"' ATTRS MUIA_Disabled 1 endgroup endgroup endgroup endwindow window ID WIND2 TITLE '"Play List"' group HORIZ group label SINGLE "MPEGA Path:" label SINGLE "MPEG Files Path:" endgroup group popasl ID PATH SPEC "6:20" ATTRS ASLFR_DrawersOnly 1 popasl ID FPATH SPEC "6:20" ATTRS ASLFR_DrawersOnly 1 endgroup endgroup list ID SLIST TITLE '"Song Path,Time,Details"', ATTRS MUIA_Listview_DragType MUIV_Listview_DragType_Immediate, MUIA_List_DragSortable 1 MUIA_Dropable 1 MUIA_List_Format, '"P=\033r C=1 BAR,C=0 BAR,"' PORT INLINE COMMAND '" options results; address MrMPEG; check ID PLAY; if result = 0 then do; setvar cont 1; check ID PLAY ATTRS 'MUIA_Selected' 1; end; else do; call Continue.rexx; end; slider ID PROG ATTRS 'MUIA_Slider_Level' 0"' group HORIZ button ID INST COMMAND '"Insert"' LABEL "Insert" button ID DELE COMMAND '"Delete"' LABEL "Delete" button ID CLR COMMAND '"Clear"' LABEL "Clear" button ID SORT COMMAND '"Sort"' LABEL "Sort" endgroup group HORIZ button ID LLOAD COMMAND '"ListLoad 1"' LABEL "Load" button ID LSAVE COMMAND '"ListSave 1"' LABEL "Save" button ID INCL COMMAND '"ListLoad 2"' LABEL "Include" endgroup endwindow call Load call ListLoad(0) callhook ID SLIST APP COMMAND '"DropInsert %s"' callhook ID MAIN APP PORT INLINE COMMAND """options results; address MrMPEG; call DropInsert '%s'; check ID PLAY ATTRS "MUIA_Selected" 1""" callhook ID FFWD PORT INLINE ATTRS MUIA_Timer MUIV_EveryTime COMMAND '" options results; address MrMPEG; slider ID PROG ATTRS 'MUIA_Slider_Level'; slider ID PROG ATTRS 'MUIA_NoNotify' 1 'MUIA_Slider_Level' result+1; slider ID PROG ATTRS 'MUIA_Slider_Level'; counter = result; temp_current_time = right(counter % 60, 2, 0)'':''right(counter // 60, 2, 0); setvar current_time temp_current_time"' callhook ID RWND PORT INLINE ATTRS MUIA_Timer MUIV_EveryTime COMMAND '" options results; address MrMPEG; slider ID PROG ATTRS 'MUIA_Slider_Level'; slider ID PROG ATTRS 'MUIA_NoNotify' 1 'MUIA_Slider_Level' result-1; slider ID PROG ATTRS 'MUIA_Slider_Level'; counter = result; temp_current_time = right(counter % 60, 2, 0)'':''right(counter // 60, 2, 0); setvar current_time temp_current_time"' callhook ID PROG PORT INLINE ATTRS MUIA_Numeric_Value MUIV_EveryTime COMMAND '" options results; address MrMPEG; slider ID PROG ATTRS 'MUIA_Slider_Level'; counter = result; temp_current_time = right(counter % 60, 2, 0)'':''right(counter // 60, 2, 0); setvar current_time temp_current_time"' exit