Home » Archimedes archive » Archimedes World » AW-1994-04-Disc1.adf » Disk1Apr94 » !AWApr94/Goodies/VideoIndex/!VideoIndx/!RunImage
!AWApr94/Goodies/VideoIndex/!VideoIndx/!RunImage
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Archimedes archive » Archimedes World » AW-1994-04-Disc1.adf » Disk1Apr94 |
Filename: | !AWApr94/Goodies/VideoIndex/!VideoIndx/!RunImage |
Read OK: | ✔ |
File size: | DFF6 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10REM >!RunImage 20REM Video Index by Ricky Dawson (LEN Archimedes World 1994) 30: 40ON ERROR SYS "Hourglass_Smash":PROCpre_poll_error:END 50: 60SYS "Hourglass_On" 70SYS "OS_ReadModeVariable",-1,5 TO ,,yeig% 80IF yeig%<2 THEN sprite$="Sprites22" ELSE sprite$="Sprites" 90SYS "OS_File",17,"<Video$Dir>.Resources."+sprite$ TO type%,,,,length% 100DIM sprite% length%+4 110!sprite%=length%+4 120SYS "OS_SpriteOp",266,sprite%,"<Video$Dir>.Resources."+sprite$ 130DIM but_ok% 32,but_okquit% 32 140$but_ok%="OK"+CHR$0+CHR$0+CHR$0+CHR$0 150$but_okquit%="OK"+CHR$0+CHR$0+CHR$0+"Quit"+CHR$0 160SYS "Wimp_Initialise",200,&4B534154,"Video Index" TO ,handle% 170SYS "WimpExt_Initialise",7,handle%,%111,sprite% 180: 190PROCinitialise_variables 200PROCget_mode_info 210PROCms_load("<Video$Dir>.Resources.Messages") 220PROCload_templates 230PROCannounce 240!q%=video_index%:SYS "WimpExt_CloseLinked",,q%:!q%=video_backtracks%:SYS "WimpExt_CloseLinked",,q% 250SYS "Hourglass_Off" 260: 270ON ERROR PROCerror 280: 290REPEAT 300SYS "XWimpExt_SlabIcon",,,0,0,0 310SYS "WimpExt_PrePoll" 320SYS "Wimp_Poll",1,q% TO reason_code% 330SYS "WimpExt_Action",handle%,q%,reason_code% TO reason_code% 340CASE reason_code% OF 350WHEN 1:PROCredraw_window(!q%) 360WHEN 2:SYS "WimpExt_OpenLinked",,q% 370WHEN 3:PROCwimp_close(!q%) 380WHEN 6:PROCcheck_mouse(!q%,q%!4,q%!8,q%!12,q%!16) 390WHEN 7: 400CASE savetype$ OF 410WHEN "FFF":PROCinitiate_save(FNindirect(video_savebox%,1)) 420WHEN "E91":PROCinitiate_save(FNindirect(video_savebox2%,1)) 430ENDCASE 440WHEN 8:PROCkey_pressed(!q%,q%!4,q%!20,q%!24) 450WHEN 9:PROCmenu_select 460WHEN 17,18:PROCreceive(q%) 470ENDCASE 480UNTIL quit% 490SYS "WimpExt_ReleasePointer" 500PROCms_end 510SYS "XWimpExt_SetPointer",0 520SYS "XWimpExt_ReleasePointer" 530SYS "XWimpExt_CloseDown",handle% 540SYS "Wimp_CloseDown" 550SYS "Font_LoseFont",homerton%:SYS "Font_LoseFont",corpus% 560CLOSE#0 570SYS "Hourglass_Smash" 580END 590: 600DEFPROCinitialise_variables 610DIM q% 16384,menufree% &1000,temp% 8192,indir% 8192 620curws%=temp% 630maxws%=temp%+2048 640menustart%=menufree% 650menuend%=menufree%+&1000 660menu%=0 670quit%=FALSE 680ver$="3.20 (5 Jan 1994)" 690PROCinitialise_video_index 700ENDPROC 710: 720DEFPROCload_templates 730!q%=0:q%!4=0:q%!8=0:q%!12=0:q%!16=0:q%!20=0:q%!24=0:q%!28=0 740q%!32=0:q%!36=0:q%!40=0:q%!44=0:q%!48=0:q%!52=0:q%!56=0 750CASE outlinefonts% OF 760WHEN 0 770SYS "WimpExt_LoadTemplates",q%,q%+60,indir%,indir%+8192,-1,"<Video$Dir>.Resources.Templates",sprite% 780video_quit%=!q%:video_clear%=q%!4:video_announce%=q%!8 790video_savebox%=q%!12:video_wait%=q%!16:video_search%=q%!20 800video_savebox2%=q%!24:video_infobox%=q%!28:video_backtracks%=q%!32 810video_options%=q%!36:video_mainoptions%=q%!40:video_print%=q%!44 820video_index%=q%!48:video_tracks%=q%!52:video_found%=q%!56 830WHEN 1 840SYS "WimpExt_LoadTemplates",q%,q%+60,indir%,indir%+8192,fontb%,"<Video$Dir>.Resources.FontTemps",sprite% 850video_quit%=!q%:video_clear%=q%!4:video_announce%=q%!8 860video_savebox%=q%!12:video_search%=q%!16:video_savebox2%=q%!20 870video_infobox%=q%!24:video_options%=q%!28:video_mainoptions%=q%!32 880video_print%=q%!36:video_wait%=q%!40:video_backtracks%=q%!44 890video_index%=q%!48:video_tracks%=q%!52:video_found%=q%!56 900ENDCASE 910SYS "WimpExt_LinkWindows",,,video_backtracks%,video_tracks% 920SYS "WimpExt_LinkWindows",,,video_mainoptions%,video_options% 930PROCupdate_icon(video_infobox%,7,ver$) 940SYS "WimpExt_IconBarSprite",,,-1,"!VideoIndx",,3 950PROCupdate_options 960ENDPROC 970: 980DEFPROCmake_menus 990menufree%=menustart% 1000FOR loop%=menustart% TO menuend% STEP 4 1010!loop%=0 1020NEXT 1030PROCget_todays_date 1040datemenu%=FNcreate_menu("# Date ,"+day1$+","+day2$+","+day3$+","+day4$+","+day5$+","+day6$+","+day7$,"","") 1050iconbarmenu%=FNcreate_menu("# Video Index ,Info>video_infobox%,Options...,Restart F8#,Quit","","") 1060formatmenu%=FNcreate_menu("#Format,Betamax,Super VHS,VHS,VHSC,Video 8,Video 2000","","") 1070proglengthmenu%=FNcreate_menu("#Length,10 minutes,15 minutes,20 minutes,25 minutes,30 minutes,45 minutes,50 minutes,1 hour,1 hour 30 min,2 hours","","") 1080sizemenu%=FNcreate_menu("#Length,60 minutes,120 minutes,180 minutes,240 minutes","","") 1090splpmenu%=FNcreate_menu("# Play Speed ,SP,LP#,Clear","","") 1100categorymenu%=FNcreate_menu("# Category ,American,Cartoon,Children,Comedy,Drama,Film,Game Show,Music,News,Soap Opera,Sport,Weather","","") 1110savemenu%=FNcreate_menu("#Save as,Text>video_savebox%,Video Index F3>video_savebox2%","","") 1120qualitymenu%=FNcreate_menu("# Audio ,Dolby,Mono,Nicam,Stereo","","") 1130typemenu%=FNcreate_menu("# Type ,Copy,Master","","") 1140mainmenu%=FNcreate_menu("# Video Index ,Info>video_infobox%,Quit#,Clear Record,Print F1>video_print%,Restart F8,Save>savemenu%,Search F4>video_search%","","") 1150PROCmake_channelmenu 1160ENDPROC 1170: 1180DEFPROCmake_channelmenu 1190channeloptions$="" 1200IF channelmenu1$<>"" OR channelmenu2$<>"" OR channelmenu3$<>"" OR channelmenu4$<>"" OR channelmenu5$<>"" OR channelmenu6$<>"" THEN channeloptions$+="#," 1210IF channelmenu1$<>"" THEN channeloptions$+=channelmenu1$+"," 1220IF channelmenu2$<>"" THEN channeloptions$+=channelmenu2$+"," 1230IF channelmenu3$<>"" THEN channeloptions$+=channelmenu3$+"," 1240IF channelmenu4$<>"" THEN channeloptions$+=channelmenu4$+"," 1250IF channelmenu5$<>"" THEN channeloptions$+=channelmenu5$+"," 1260IF channelmenu6$<>"" THEN channeloptions$+=channelmenu6$+"," 1270channelmenu%=FNcreate_menu("#Channel,BBC 1,BBC 2,ITV,Channel 4#,Adult Channel,Eurosport,Movies +,Movie Channel,Movies Gold,MTV,Sky News,Sky One,Sky Sports,UK Gold"+channeloptions$,"","") 1280ENDPROC 1290: 1300DEFPROCget_todays_date 1310?q%=1:SYS "OS_Word",14,q% 1320day%=VAL(RIGHT$(STR$~(q%?2),2)) 1330month%=VAL(RIGHT$(STR$~(q%?1),2)) 1340year%=VAL(RIGHT$(STR$~(?q%),2)) 1350CASE day% OF 1360WHEN 1 1370CASE (month%-1) OF 1380WHEN 1,3,5,7,8,10 1390day1$="26/"+STR$(month%-1)+"/"+STR$(year%) 1400day2$="27/"+STR$(month%-1)+"/"+STR$(year%) 1410day3$="28/"+STR$(month%-1)+"/"+STR$(year%) 1420day4$="29/"+STR$(month%-1)+"/"+STR$(year%) 1430day5$="30/"+STR$(month%-1)+"/"+STR$(year%) 1440day6$="31/"+STR$(month%-1)+"/"+STR$(year%) 1450day7$="1/"+STR$(month%)+"/"+STR$(year%) 1460WHEN 4,6,9,11 1470day1$="25/"+STR$(month%-1)+"/"+STR$(year%) 1480day2$="26/"+STR$(month%-1)+"/"+STR$(year%) 1490day3$="27/"+STR$(month%-1)+"/"+STR$(year%) 1500day4$="28/"+STR$(month%-1)+"/"+STR$(year%) 1510day5$="29/"+STR$(month%-1)+"/"+STR$(year%) 1520day6$="30/"+STR$(month%-1)+"/"+STR$(year%) 1530day7$="1/"+STR$(month%)+"/"+STR$(year%) 1540WHEN 2 1550day1$="23/"+STR$(month%-1)+"/"+STR$(year%) 1560day2$="24/"+STR$(month%-1)+"/"+STR$(year%) 1570day3$="25/"+STR$(month%-1)+"/"+STR$(year%) 1580day4$="26/"+STR$(month%-1)+"/"+STR$(year%) 1590day5$="27/"+STR$(month%-1)+"/"+STR$(year%) 1600day6$="28/"+STR$(month%-1)+"/"+STR$(year%) 1610day7$="1/"+STR$(month%)+"/"+STR$(year%) 1620WHEN 0 1630day1$="26/12/"+STR$(year%-1) 1640day2$="27/12/"+STR$(year%-1) 1650day3$="28/12/"+STR$(year%-1) 1660day4$="29/12/"+STR$(year%-1) 1670day5$="30/12/"+STR$(year%-1) 1680day6$="31/12/"+STR$(year%-1) 1690day7$="1/"+STR$(month%)+"/"+STR$(year%) 1700ENDCASE 1710WHEN 2 1720CASE (month%-1) OF 1730WHEN 1,3,5,7,8,10 1740day1$="27/"+STR$(month%-1)+"/"+STR$(year%) 1750day2$="28/"+STR$(month%-1)+"/"+STR$(year%) 1760day3$="29/"+STR$(month%-1)+"/"+STR$(year%) 1770day4$="30/"+STR$(month%-1)+"/"+STR$(year%) 1780day5$="31/"+STR$(month%-1)+"/"+STR$(year%) 1790day6$="1/"+STR$(month%)+"/"+STR$(year%) 1800day7$="2/"+STR$(month%)+"/"+STR$(year%) 1810WHEN 4,6,9,11 1820day1$="26/"+STR$(month%-1)+"/"+STR$(year%) 1830day2$="27/"+STR$(month%-1)+"/"+STR$(year%) 1840day3$="28/"+STR$(month%-1)+"/"+STR$(year%) 1850day4$="29/"+STR$(month%-1)+"/"+STR$(year%) 1860day5$="30/"+STR$(month%-1)+"/"+STR$(year%) 1870day6$="1/"+STR$(month%)+"/"+STR$(year%) 1880day7$="2/"+STR$(month%)+"/"+STR$(year%) 1890WHEN 2 1900day1$="24/"+STR$(month%-1)+"/"+STR$(year%) 1910day2$="25/"+STR$(month%-1)+"/"+STR$(year%) 1920day3$="26/"+STR$(month%-1)+"/"+STR$(year%) 1930day4$="27/"+STR$(month%-1)+"/"+STR$(year%) 1940day5$="28/"+STR$(month%-1)+"/"+STR$(year%) 1950day6$="1/"+STR$(month%)+"/"+STR$(year%) 1960day7$="2/"+STR$(month%)+"/"+STR$(year%) 1970WHEN 0 1980day1$="27/12/"+STR$(year%-1) 1990day2$="28/12/"+STR$(year%-1) 2000day3$="29/12/"+STR$(year%-1) 2010day4$="30/12/"+STR$(year%-1) 2020day5$="31/12/"+STR$(year%-1) 2030day6$="1/"+STR$(month%)+"/"+STR$(year%) 2040day7$="2/"+STR$(month%)+"/"+STR$(year%) 2050ENDCASE 2060WHEN 3 2070CASE (month%-1) OF 2080WHEN 1,3,5,7,8,10 2090day1$="28/"+STR$(month%-1)+"/"+STR$(year%) 2100day2$="29/"+STR$(month%-1)+"/"+STR$(year%) 2110day3$="30/"+STR$(month%-1)+"/"+STR$(year%) 2120day4$="31/"+STR$(month%-1)+"/"+STR$(year%) 2130day5$="1/"+STR$(month%)+"/"+STR$(year%) 2140day6$="2/"+STR$(month%)+"/"+STR$(year%) 2150day7$="3/"+STR$(month%)+"/"+STR$(year%) 2160WHEN 4,6,9,11 2170day1$="27/"+STR$(month%-1)+"/"+STR$(year%) 2180day2$="28/"+STR$(month%-1)+"/"+STR$(year%) 2190day3$="29/"+STR$(month%-1)+"/"+STR$(year%) 2200day4$="30/"+STR$(month%-1)+"/"+STR$(year%) 2210day5$="1/"+STR$(month%)+"/"+STR$(year%) 2220day6$="2/"+STR$(month%)+"/"+STR$(year%) 2230day7$="3/"+STR$(month%)+"/"+STR$(year%) 2240WHEN 2 2250day1$="25/"+STR$(month%-1)+"/"+STR$(year%) 2260day2$="26/"+STR$(month%-1)+"/"+STR$(year%) 2270day3$="27/"+STR$(month%-1)+"/"+STR$(year%) 2280day4$="28/"+STR$(month%-1)+"/"+STR$(year%) 2290day5$="1/"+STR$(month%)+"/"+STR$(year%) 2300day6$="2/"+STR$(month%)+"/"+STR$(year%) 2310day7$="3/"+STR$(month%)+"/"+STR$(year%) 2320WHEN 0 2330day1$="28/12/"+STR$(year%-1) 2340day2$="29/12/"+STR$(year%-1) 2350day3$="30/12/"+STR$(year%-1) 2360day4$="31/12/"+STR$(year%-1) 2370day5$="1/"+STR$(month%-1)+"/"+STR$(year%) 2380day6$="2/"+STR$(month%-1)+"/"+STR$(year%) 2390day7$="3/"+STR$(month%)+"/"+STR$(year%) 2400ENDCASE 2410WHEN 4 2420CASE (month%-1) OF 2430WHEN 1,3,5,7,8,10 2440day1$="29/"+STR$(month%-1)+"/"+STR$(year%) 2450day2$="30/"+STR$(month%-1)+"/"+STR$(year%) 2460day3$="31/"+STR$(month%-1)+"/"+STR$(year%) 2470day4$="1/"+STR$(month%)+"/"+STR$(year%) 2480day5$="2/"+STR$(month%)+"/"+STR$(year%) 2490day6$="3/"+STR$(month%)+"/"+STR$(year%) 2500day7$="4/"+STR$(month%)+"/"+STR$(year%) 2510WHEN 4,6,9,11 2520day1$="28/"+STR$(month%-1)+"/"+STR$(year%) 2530day2$="29/"+STR$(month%-1)+"/"+STR$(year%) 2540day3$="30/"+STR$(month%-1)+"/"+STR$(year%) 2550day4$="1/"+STR$(month%)+"/"+STR$(year%) 2560day5$="2/"+STR$(month%)+"/"+STR$(year%) 2570day6$="3/"+STR$(month%)+"/"+STR$(year%) 2580day7$="4/"+STR$(month%)+"/"+STR$(year%) 2590WHEN 2 2600day1$="26/"+STR$(month%-1)+"/"+STR$(year%) 2610day2$="27/"+STR$(month%-1)+"/"+STR$(year%) 2620day3$="28/"+STR$(month%-1)+"/"+STR$(year%) 2630day4$="1/"+STR$(month%)+"/"+STR$(year%) 2640day5$="2/"+STR$(month%)+"/"+STR$(year%) 2650day6$="3/"+STR$(month%)+"/"+STR$(year%) 2660day7$="4/"+STR$(month%)+"/"+STR$(year%) 2670WHEN 0 2680day1$="29/12/"+STR$(year%-1) 2690day2$="30/12/"+STR$(year%-1) 2700day3$="31/12/"+STR$(year%-1) 2710day4$="1/"+STR$(month%)+"/"+STR$(year%) 2720day5$="2/"+STR$(month%)+"/"+STR$(year%) 2730day6$="3/"+STR$(month%)+"/"+STR$(year%) 2740day7$="4/"+STR$(month%)+"/"+STR$(year%) 2750ENDCASE 2760WHEN 5 2770CASE (month%-1) OF 2780WHEN 1,3,5,7,8,10 2790day1$="30/"+STR$(month%-1)+"/"+STR$(year%) 2800day2$="31/"+STR$(month%-1)+"/"+STR$(year%) 2810day3$="1/"+STR$(month%)+"/"+STR$(year%) 2820day4$="2/"+STR$(month%)+"/"+STR$(year%) 2830day5$="3/"+STR$(month%)+"/"+STR$(year%) 2840day6$="4/"+STR$(month%)+"/"+STR$(year%) 2850day7$="5/"+STR$(month%)+"/"+STR$(year%) 2860WHEN 4,6,9,11 2870day1$="29/"+STR$(month%-1)+"/"+STR$(year%) 2880day2$="30/"+STR$(month%-1)+"/"+STR$(year%) 2890day3$="1/"+STR$(month%)+"/"+STR$(year%) 2900day4$="2/"+STR$(month%)+"/"+STR$(year%) 2910day5$="3/"+STR$(month%)+"/"+STR$(year%) 2920day6$="4/"+STR$(month%)+"/"+STR$(year%) 2930day7$="5/"+STR$(month%)+"/"+STR$(year%) 2940WHEN 2 2950day1$="27/"+STR$(month%-1)+"/"+STR$(year%) 2960day2$="28/"+STR$(month%-1)+"/"+STR$(year%) 2970day3$="1/"+STR$(month%)+"/"+STR$(year%) 2980day4$="2/"+STR$(month%)+"/"+STR$(year%) 2990day5$="3/"+STR$(month%)+"/"+STR$(year%) 3000day6$="4/"+STR$(month%)+"/"+STR$(year%) 3010day7$="5/"+STR$(month%)+"/"+STR$(year%) 3020WHEN 0 3030day1$="30/12/"+STR$(year%-1) 3040day2$="31/12/"+STR$(year%-1) 3050day3$="1/"+STR$(month%)+"/"+STR$(year%) 3060day4$="2/"+STR$(month%)+"/"+STR$(year%) 3070day5$="3/"+STR$(month%)+"/"+STR$(year%) 3080day6$="4/"+STR$(month%)+"/"+STR$(year%) 3090day7$="5/"+STR$(month%)+"/"+STR$(year%) 3100ENDCASE 3110WHEN 6 3120CASE (month%-1) OF 3130WHEN 1,3,5,7,8,10 3140day1$="31/"+STR$(month%-1)+"/"+STR$(year%) 3150day2$="1/"+STR$(month%)+"/"+STR$(year%) 3160day3$="2/"+STR$(month%)+"/"+STR$(year%) 3170day4$="3/"+STR$(month%)+"/"+STR$(year%) 3180day5$="4/"+STR$(month%)+"/"+STR$(year%) 3190day6$="5/"+STR$(month%)+"/"+STR$(year%) 3200day7$="6/"+STR$(month%)+"/"+STR$(year%) 3210WHEN 4,6,9,11 3220day1$="30/"+STR$(month%-1)+"/"+STR$(year%) 3230day2$="1/"+STR$(month%)+"/"+STR$(year%) 3240day3$="2/"+STR$(month%)+"/"+STR$(year%) 3250day4$="3/"+STR$(month%)+"/"+STR$(year%) 3260day5$="4/"+STR$(month%)+"/"+STR$(year%) 3270day6$="5/"+STR$(month%)+"/"+STR$(year%) 3280day7$="6/"+STR$(month%)+"/"+STR$(year%) 3290WHEN 2 3300day1$="28/"+STR$(month%-1)+"/"+STR$(year%) 3310day2$="1/"+STR$(month%)+"/"+STR$(year%) 3320day3$="2/"+STR$(month%)+"/"+STR$(year%) 3330day4$="3/"+STR$(month%)+"/"+STR$(year%) 3340day5$="4/"+STR$(month%)+"/"+STR$(year%) 3350day6$="5/"+STR$(month%)+"/"+STR$(year%) 3360day7$="6/"+STR$(month%)+"/"+STR$(year%) 3370WHEN 0 3380day1$="31/12/"+STR$(year%-1) 3390day2$="1/"+STR$(month%)+"/"+STR$(year%) 3400day3$="2/"+STR$(month%)+"/"+STR$(year%) 3410day4$="3/"+STR$(month%)+"/"+STR$(year%) 3420day5$="4/"+STR$(month%)+"/"+STR$(year%) 3430day6$="5/"+STR$(month%)+"/"+STR$(year%) 3440day7$="6/"+STR$(month%)+"/"+STR$(year%) 3450ENDCASE 3460OTHERWISE 3470day1$=STR$(day%-6)+"/"+STR$(month%)+"/"+STR$(year%) 3480day2$=STR$(day%-5)+"/"+STR$(month%)+"/"+STR$(year%) 3490day3$=STR$(day%-4)+"/"+STR$(month%)+"/"+STR$(year%) 3500day4$=STR$(day%-3)+"/"+STR$(month%)+"/"+STR$(year%) 3510day5$=STR$(day%-2)+"/"+STR$(month%)+"/"+STR$(year%) 3520day6$=STR$(day%-1)+"/"+STR$(month%)+"/"+STR$(year%) 3530day7$=STR$(day%)+"/"+STR$(month%)+"/"+STR$(year%) 3540ENDCASE 3550ENDPROC 3560: 3570DEFPROCpre_poll_error 3580PRINT REPORT$+" @ "+STR$(ERL) 3590ON ERROR OFF 3600ENDPROC 3610: 3620DEFPROCerror 3630VDU 3:CLOSE#0 3640SYS "WimpExt_ControlImmediate",,2,"Message From Video Index",REPORT$,but_okquit%,0 TO button% 3650IF button%<>3 THEN ENDPROC 3660END 3670: 3680DEFPROCopen(window%) 3690!q%=window%:SYS "Wimp_GetWindowState",,q%:q%!28=-1:SYS "Wimp_OpenWindow",,q% 3700ENDPROC 3710: 3720DEFPROCclose(window%) 3730!q%=window%:SYS "Wimp_CloseWindow",,q% 3740ENDPROC 3750: 3760DEFPROCcheck_mouse(mousex%,mousey%,button%,window%,icon%) 3770CASE window% OF 3780WHEN -2:IF button%=2 THEN SYS "Wimp_CreateMenu",,iconbarmenu%,mousex%-48,96+(4*44)+24:selectmenu%=iconbarmenu% 3790IF (button% AND 5)<>0 THEN 3800PROCopen(video_index%):PROCopen(video_backtracks%):PROCopen(video_tracks%) 3810PROCtracks_move_caret(video_tracks%,1):PROCmove_caret(video_index%,6) 3820ENDIF 3830WHEN video_tracks% 3840IF button%=4 OR button%=2 OR button%=1 THEN CASE icon% OF 3850WHEN 91,92,93,94,95,96,97,98,99,100 3860SYS "Wimp_CreateMenu",,categorymenu%,mousex%-48,mousey%+10:selectmenu%=categorymenu%:selectwindow%=video_tracks%:CASE icon% OF 3870WHEN 91:selecticon%=2 3880WHEN 92:selecticon%=11 3890WHEN 93:selecticon%=20 3900WHEN 94:selecticon%=29 3910WHEN 95:selecticon%=38 3920WHEN 96:selecticon%=47 3930WHEN 97:selecticon%=56 3940WHEN 98:selecticon%=65 3950WHEN 99:selecticon%=74 3960WHEN 100:selecticon%=83 3970ENDCASE 3980WHEN 101,102,103,104,105,106,107,108,109,110 3990SYS "Wimp_CreateMenu",,channelmenu%,mousex%-48,mousey%+10:selectmenu%=channelmenu%:CASE icon% OF 4000WHEN 101:selecticon%=3 4010WHEN 102:selecticon%=12 4020WHEN 103:selecticon%=21 4030WHEN 104:selecticon%=30 4040WHEN 105:selecticon%=39 4050WHEN 106:selecticon%=48 4060WHEN 107:selecticon%=57 4070WHEN 108:selecticon%=66 4080WHEN 109:selecticon%=75 4090WHEN 110:selecticon%=84 4100ENDCASE 4110WHEN 111,112,113,114,115,116,117,118,119,120 4120SYS "Wimp_CreateMenu",,datemenu%,mousex%-48,mousey%+10:selectmenu%=datemenu%:CASE icon% OF 4130WHEN 111:selecticon%=4 4140WHEN 112:selecticon%=13 4150WHEN 113:selecticon%=22 4160WHEN 114:selecticon%=31 4170WHEN 115:selecticon%=40 4180WHEN 116:selecticon%=49 4190WHEN 117:selecticon%=58 4200WHEN 118:selecticon%=67 4210WHEN 119:selecticon%=76 4220WHEN 120:selecticon%=85 4230ENDCASE 4240WHEN 121,122,123,124,125,126,127,128,129,130 4250SYS "Wimp_CreateMenu",,qualitymenu%,mousex%-48,mousey%+10:selectmenu%=qualitymenu%:CASE icon% OF 4260WHEN 121:selecticon%=5 4270WHEN 122:selecticon%=14 4280WHEN 123:selecticon%=23 4290WHEN 124:selecticon%=32 4300WHEN 125:selecticon%=41 4310WHEN 126:selecticon%=50 4320WHEN 127:selecticon%=59 4330WHEN 128:selecticon%=68 4340WHEN 129:selecticon%=77 4350WHEN 130:selecticon%=86 4360ENDCASE 4370WHEN 131,132,133,134,135,136,137,138,139,140 4380SYS "Wimp_CreateMenu",,proglengthmenu%,mousex%-48,mousey%+10:selectmenu%=proglengthmenu%:CASE icon% OF 4390WHEN 131:selecticon%=6 4400WHEN 132:selecticon%=15 4410WHEN 133:selecticon%=24 4420WHEN 134:selecticon%=33 4430WHEN 135:selecticon%=42 4440WHEN 136:selecticon%=51 4450WHEN 137:selecticon%=60 4460WHEN 138:selecticon%=69 4470WHEN 139:selecticon%=78 4480WHEN 140:selecticon%=87 4490ENDCASE 4500WHEN 141,142,143,144,145,146,147,148,149,150 4510SYS "Wimp_CreateMenu",,splpmenu%,mousex%-48,mousey%+10:selectmenu%=splpmenu%:CASE icon% OF 4520WHEN 141:selecticon%=9 4530WHEN 142:selecticon%=18 4540WHEN 143:selecticon%=27 4550WHEN 144:selecticon%=36 4560WHEN 145:selecticon%=45 4570WHEN 146:selecticon%=54 4580WHEN 147:selecticon%=63 4590WHEN 148:selecticon%=72 4600WHEN 149:selecticon%=81 4610WHEN 150:selecticon%=90 4620ENDCASE 4630OTHERWISE:SYS "Wimp_CreateMenu",,mainmenu%,mousex%-48,mousey%+10:selectmenu%=mainmenu% 4640ENDCASE 4650IF (button% AND 5)<>0 CASE icon% OF 4660WHEN 9,18,27,36,45,54,63,72,81,90 4670speed%(icon%/9)+=1:IF speed%(icon%/9)>2 speed%(icon%/9)=1 4680PROCspeed_change(icon%,speed%(icon%/9)) 4690ENDCASE 4700WHEN video_index% 4710IF button%=2 THEN CASE icon% OF 4720WHEN 10:SYS "Wimp_CreateMenu",,formatmenu%,mousex%-48,mousey%+10:selectmenu%=formatmenu% 4730WHEN 11:SYS "Wimp_CreateMenu",,sizemenu%,mousex%-48,mousey%+10:selectmenu%=sizemenu% 4740WHEN 12:SYS "Wimp_CreateMenu",,typemenu%,mousex%-48,mousey%+10:selectmenu%=typemenu% 4750OTHERWISE:SYS "Wimp_CreateMenu",,mainmenu%,mousex%-48,mousey%+10:selectmenu%=mainmenu% 4760ENDCASE 4770IF (button% AND 5)<>0 CASE icon% OF 4780WHEN 16:PROCclose_all:PROCopen(video_print%) 4790WHEN 22:PROCclose_all:PROCopen(video_savebox2%) 4800WHEN 23:PROCclose_all:PROCopen(video_search%) 4810WHEN 18:PROCread:PROCread_tracklist:record_number%=1:PROCupdate 4820WHEN 17:PROCread:PROCread_tracklist:record_number%-=10:PROCupdate 4830WHEN 14:PROCread:PROCread_tracklist:record_number%-=1:PROCupdate 4840WHEN 19:PROCread:PROCread_tracklist:record_number%+=1:PROCupdate 4850WHEN 20:PROCread:PROCread_tracklist:record_number%+=10:PROCupdate 4860WHEN 21:PROCread:PROCread_tracklist:record_number%=max_record%:PROCupdate 4870WHEN 10:SYS "Wimp_CreateMenu",,formatmenu%,mousex%-48,mousey%+10:selectmenu%=formatmenu% 4880WHEN 11:SYS "Wimp_CreateMenu",,sizemenu%,mousex%-48,mousey%+10:selectmenu%=sizemenu% 4890WHEN 12:SYS "Wimp_CreateMenu",,typemenu%,mousex%-48,mousey%+10:selectmenu%=typemenu% 4900ENDCASE 4910WHEN video_backtracks%:IF button%=2 THEN SYS "Wimp_CreateMenu",,mainmenu%,mousex%-48,mousey%+10:selectmenu%=mainmenu% 4920WHEN video_savebox%:IF (button% AND 5)<>0 THEN CASE icon% OF 4930WHEN 0:savetype$="FFF":PROCdragbox 4940WHEN 2:savetype$="FFF":PROCquicksave 4950WHEN 3:savealltext$="Yes" 4960WHEN 4:savealltext$="No" 4970ENDCASE 4980WHEN video_savebox2%:IF (button% AND 5)<>0 THEN CASE icon% OF 4990WHEN 0:savetype$="E91":PROCdragbox 5000WHEN 2:savetype$="E91":PROCquicksave 5010ENDCASE 5020WHEN video_options%:IF (button% AND 5)<>0 THEN CASE icon% OF 5030WHEN 7:outlinefonts%=1 5040WHEN 8:outlinefonts%=0 5050WHEN 9:max_record%=50:PROCupdate_icon(video_index%,9,"/ "+STR$(max_record%)) 5060WHEN 12:max_record%=100:PROCupdate_icon(video_index%,9,"/ "+STR$(max_record%)) 5070WHEN 13:max_record%=150:PROCupdate_icon(video_index%,9,"/ "+STR$(max_record%)) 5080WHEN 14:max_record%=200:PROCupdate_icon(video_index%,9,"/ "+STR$(max_record%)) 5090WHEN 15:max_record%=250:PROCupdate_icon(video_index%,9,"/ "+STR$(max_record%)) 5100ENDCASE 5110WHEN video_mainoptions%:IF (button% AND 5)<>0 THEN CASE icon% OF 5120WHEN 2:PROCread_options:PROCsave_options:PROCclose(video_mainoptions%):PROCclose(video_options%) 5130WHEN 1:PROCread_options:PROCclose(video_mainoptions%):PROCclose(video_options%) 5140ENDCASE 5150WHEN video_search%:IF (button% AND 5)<>0 THEN CASE icon% OF 5160WHEN 3:searchtype$="Name" 5170WHEN 4:searchtype$="Category" 5180WHEN 5:PROCclear_search:PROCsearch(searchtype$) 5190WHEN 7:PROCupdate_icon(video_search%,1,searchstring$):PROCmove_caret(video_search%,1) 5200WHEN 9:IF casesense$="Yes" THEN casesense$="No" ELSE casesense$="Yes" 5210WHEN 10 5220searchtype$="Category":SYS "WimpExt_SetIcon",,,video_search%,3,0:SYS "WimpExt_SetIcon",,,video_search%,4,1 5230SYS "Wimp_CreateMenu",,categorymenu%,mousex%-48,mousey%+10:selectmenu%=categorymenu%:selecticon%=1:selectwindow%=video_search% 5240ENDCASE 5250WHEN video_found%:IF (button% AND 5)<>0 THEN 5260click_record%=VAL(FNindirect(video_found%,icon%)):IF click_record%<>0 THEN PROCread:PROCfill(click_record%) 5270ENDIF 5280WHEN video_print%:IF (button% AND 5)<>0 THEN CASE icon% OF 5290WHEN 1:printer$="Draft" 5300WHEN 2:printer$="NLQ" 5310WHEN 3:printer$="RISCOS":printwhat$="Vid" 5320WHEN 7:IF printer$="RISCOS" THEN PROCprinter_drivers ELSE PROCprint 5330WHEN 9:printwhat$="AT" 5340WHEN 11:printwhat$="Vid" 5350WHEN 10:printwhat$="All" 5360WHEN 14:printall$="Yes" 5370WHEN 15:printall$="No" 5380WHEN 19:IF linefeed$="No" THEN linefeed$="Yes" ELSE linefeed$="No" 5390ENDCASE 5400WHEN video_clear%:IF (button% AND 5)<>0 THEN CASE icon% OF 5410WHEN 1:PROCclear_data 5420WHEN 2:PROCclose(video_clear%):SYS "WimpExt_ReleasePointer" 5430ENDCASE 5440WHEN video_quit%:IF (button% AND 5)<>0 THEN CASE icon% OF 5450WHEN 1:quit%=TRUE 5460WHEN 2:PROCclose(video_quit%):SYS "WimpExt_ReleasePointer" 5470ENDCASE 5480ENDCASE 5490ENDCASE 5500ENDPROC 5510: 5520DEFPROCspeed_change(icon%,spearray%) 5530PROCupdate_icon(video_tracks%,icon%,speedarray$(spearray%)) 5540ENDPROC 5550: 5560DEFPROCkey_pressed(window%,icon%,key_index%,character%) 5570CASE character% OF 5580WHEN 13 5590CASE window% OF 5600WHEN video_options%:CASE icon% OF 5610WHEN 3:PROCmove_caret(video_options%,4) 5620WHEN 4:PROCmove_caret(video_options%,11) 5630WHEN 11:PROCmove_caret(video_options%,16) 5640WHEN 16:PROCmove_caret(video_options%,17) 5650WHEN 17:PROCmove_caret(video_options%,18) 5660WHEN 18:PROCmove_caret(video_options%,3) 5670ENDCASE 5680WHEN video_savebox% 5690savetype$="FFF":SYS "Wimp_CreateMenu",,-1:PROCquicksave 5700WHEN video_savebox2% 5710savetype$="E91":SYS "Wimp_CreateMenu",,-1:PROCquicksave 5720WHEN video_print%:CASE icon% OF 5730WHEN 6:PROCmove_caret(video_print%,12) 5740WHEN 13:SYS "Wimp_CreateMenu",,-1:PROCprint 5750ENDCASE 5760WHEN video_search%:SYS "Wimp_CreateMenu",,-1:PROCclear_search:PROCsearch(searchtype$) 5770WHEN video_tracks%:SYS "Wimp_CreateMenu",,-1:CASE icon% OF 5780WHEN 8,17,26,35,44,53,62,71,80 5790PROCtracks_move_caret(video_tracks%,icon%+2):PROCread:PROCread_tracklist 5800WHEN 89:PROCtracks_move_caret(video_tracks%,1):PROCread:PROCread_tracklist 5810OTHERWISE:PROCtracks_move_caret(video_tracks%,icon%+1):PROCread:PROCread_tracklist 5820ENDCASE 5830WHEN video_index%:SYS "Wimp_CreateMenu",,-1:CASE icon% OF 5840WHEN 5:PROCnumber_update 5850WHEN 6:PROCmove_caret(video_index%,7):PROCread 5860WHEN 7:PROCmove_caret(video_index%,8):PROCread 5870WHEN 8:PROCtracks_move_caret(video_tracks%,1):PROCread 5880ENDCASE 5890ENDCASE 5900WHEN 27:PROCclose_all 5910WHEN &181 5920SYS "Wimp_CreateMenu",,-1:PROCopen(video_print%):PROCmove_caret(video_print%,6) 5930WHEN &188 5940SYS "Wimp_CreateMenu",,-1:PROCclear_data_question 5950WHEN &183 5960SYS "Wimp_CreateMenu",,-1:PROCopen(video_savebox2%):PROCmove_caret(video_savebox2%,1) 5970WHEN &184 5980SYS "Wimp_CreateMenu",,-1:PROCclose(video_found%):PROCopen(video_search%):PROCmove_caret(video_search%,1) 5990WHEN &185 6000SYS "Wimp_CreateMenu",,-1:PROCswap_case(window%,icon%,key_index%) 6010WHEN &186 6020SYS "Wimp_CreateMenu",,-1:Text$=RIGHT$(FNread_icon_text(window%,icon%,FALSE),key_index%):PROCupdate_icon(window%,icon%,Text$):PROC_SetCaretPosition(window%,icon%,0) 6030WHEN &187 6040SYS "Wimp_CreateMenu",,-1:Text$=LEFT$(FNread_icon_text(window%,icon%,FALSE),key_index%):PROCupdate_icon(window%,icon%,Text$):PROCread:PROCread_tracklist 6050WHEN &1E 6060SYS "Wimp_CreateMenu",,-1:PROCtracks_move_caret(video_tracks%,1) 6070OTHERWISE:SYS "Wimp_CreateMenu",,-1:SYS "Wimp_ProcessKey",character% 6080ENDCASE 6090ENDPROC 6100: 6110DEFPROCmove_caret(window%,icon%) 6120SYS "Wimp_SetCaretPosition",window%,icon%,,,-1 6130ENDPROC 6140: 6150DEFPROCtracks_move_caret(window%,icon%) 6160LOCAL caretx%,carety%,top%,bottom%,left%,right% 6170IF icon%<1 THEN icon%=89 6180IF icon%>89 THEN icon%=1 6190SYS "Wimp_SetCaretPosition",window%,icon%,,,-1 6200SYS "Wimp_GetCaretPosition",,q% 6210caretx%=q%!8:carety%=q%!12 6220!q%=video_tracks% 6230SYS "Wimp_GetWindowState",,q% 6240top%=q%!24:bottom%=top%-(q%!16-q%!8) 6250left%=q%!20:right%=left%+(q%!12-q%!4) 6260IF (left%-64<caretx%) THEN 6270q%!20=caretx%-8 6280SYS "Wimp_OpenWindow",,q% 6290ENDIF 6300IF icon%=1 THEN q%!20=0:SYS "Wimp_OpenWindow",,q% 6310ENDPROC 6320: 6330DEFPROCmenu_select 6340LOCAL selection%,selection$ 6350DIM selection% 255 6360SYS "Wimp_DecodeMenu",,selectmenu%,q%,selection% 6370selection$=$selection% 6380CASE selection$ OF 6390WHEN day1$:PROCupdate_icon(video_tracks%,selecticon%,selection$):PROCread 6400WHEN day2$:PROCupdate_icon(video_tracks%,selecticon%,selection$):PROCread 6410WHEN day3$:PROCupdate_icon(video_tracks%,selecticon%,selection$):PROCread 6420WHEN day4$:PROCupdate_icon(video_tracks%,selecticon%,selection$):PROCread 6430WHEN day5$:PROCupdate_icon(video_tracks%,selecticon%,selection$):PROCread 6440WHEN day6$:PROCupdate_icon(video_tracks%,selecticon%,selection$):PROCread 6450WHEN day7$:PROCupdate_icon(video_tracks%,selecticon%,selection$):PROCread 6460WHEN "American":PROCupdate_icon(selectwindow%,selecticon%,selection$):PROCread 6470WHEN "Comedy":PROCupdate_icon(selectwindow%,selecticon%,selection$):PROCread 6480WHEN "Game Show":PROCupdate_icon(selectwindow%,selecticon%,selection$):PROCread 6490WHEN "Drama":PROCupdate_icon(selectwindow%,selecticon%,selection$):PROCread 6500WHEN "Film":PROCupdate_icon(selectwindow%,selecticon%,selection$):PROCread 6510WHEN "Cartoon":PROCupdate_icon(selectwindow%,selecticon%,selection$):PROCread 6520WHEN "News":PROCupdate_icon(selectwindow%,selecticon%,selection$):PROCread 6530WHEN "Weather":PROCupdate_icon(selectwindow%,selecticon%,selection$):PROCread 6540WHEN "Music":PROCupdate_icon(selectwindow%,selecticon%,selection$):PROCread 6550WHEN "Children":PROCupdate_icon(selectwindow%,selecticon%,selection$):PROCread 6560WHEN "SP":PROCupdate_icon(video_tracks%,selecticon%,selection$):PROCread 6570WHEN "LP":PROCupdate_icon(video_tracks%,selecticon%,selection$):PROCread 6580WHEN "Clear":PROCupdate_icon(video_tracks%,selecticon%,""):PROCread 6590WHEN "Soap Opera":PROCupdate_icon(selectwindow%,selecticon%,selection$):PROCread 6600WHEN "Sport":PROCupdate_icon(selectwindow%,selecticon%,selection$):PROCread 6610WHEN "BBC 1":PROCupdate_icon(video_tracks%,selecticon%,selection$):PROCread 6620WHEN "BBC 2":PROCupdate_icon(video_tracks%,selecticon%,selection$):PROCread 6630WHEN "ITV":PROCupdate_icon(video_tracks%,selecticon%,selection$):PROCread 6640WHEN "Channel 4":PROCupdate_icon(video_tracks%,selecticon%,selection$):PROCread 6650WHEN "Movie Channel":PROCupdate_icon(video_tracks%,selecticon%,selection$):PROCread 6660WHEN "Movies +":PROCupdate_icon(video_tracks%,selecticon%,selection$):PROCread 6670WHEN "Movies Gold":PROCupdate_icon(video_tracks%,selecticon%,selection$):PROCread 6680WHEN "Sky One":PROCupdate_icon(video_tracks%,selecticon%,selection$):PROCread 6690WHEN "Sky Sports":PROCupdate_icon(video_tracks%,selecticon%,selection$):PROCread 6700WHEN "Sky News":PROCupdate_icon(video_tracks%,selecticon%,selection$):PROCread 6710WHEN "Eurosport":PROCupdate_icon(video_tracks%,selecticon%,selection$):PROCread 6720WHEN "UK Gold":PROCupdate_icon(video_tracks%,selecticon%,selection$):PROCread 6730WHEN "MTV":PROCupdate_icon(video_tracks%,selecticon%,selection$):PROCread 6740WHEN channelmenu1$:PROCupdate_icon(video_tracks%,selecticon%,selection$):PROCread 6750WHEN channelmenu2$:PROCupdate_icon(video_tracks%,selecticon%,selection$):PROCread 6760WHEN channelmenu3$:PROCupdate_icon(video_tracks%,selecticon%,selection$):PROCread 6770WHEN channelmenu4$:PROCupdate_icon(video_tracks%,selecticon%,selection$):PROCread 6780WHEN channelmenu5$:PROCupdate_icon(video_tracks%,selecticon%,selection$):PROCread 6790WHEN channelmenu6$:PROCupdate_icon(video_tracks%,selecticon%,selection$):PROCread 6800WHEN "Adult Channel":PROCupdate_icon(video_tracks%,selecticon%,selection$):PROCread 6810WHEN "Betamax":PROCupdate_icon(video_index%,6,selection$):PROCread 6820WHEN "VHS":PROCupdate_icon(video_index%,6,selection$):PROCread 6830WHEN "VHSC":PROCupdate_icon(video_index%,6,selection$):PROCread 6840WHEN "Super VHS":PROCupdate_icon(video_index%,6,selection$):PROCread 6850WHEN "Video 8":PROCupdate_icon(video_index%,6,selection$):PROCread 6860WHEN "Video 2000":PROCupdate_icon(video_index%,6,selection$):PROCread 6870WHEN "10 minutes":PROCupdate_icon(video_tracks%,selecticon%,selection$):PROCread 6880WHEN "15 minutes":PROCupdate_icon(video_tracks%,selecticon%,selection$):PROCread 6890WHEN "20 minutes":PROCupdate_icon(video_tracks%,selecticon%,selection$):PROCread 6900WHEN "25 minutes":PROCupdate_icon(video_tracks%,selecticon%,selection$):PROCread 6910WHEN "30 minutes":PROCupdate_icon(video_tracks%,selecticon%,selection$):PROCread 6920WHEN "45 minutes":PROCupdate_icon(video_tracks%,selecticon%,selection$):PROCread 6930WHEN "50 minutes":PROCupdate_icon(video_tracks%,selecticon%,selection$):PROCread 6940WHEN "1 hour":PROCupdate_icon(video_tracks%,selecticon%,selection$):PROCread 6950WHEN "1 hour 30 min":PROCupdate_icon(video_tracks%,selecticon%,selection$):PROCread 6960WHEN "2 hours":PROCupdate_icon(video_tracks%,selecticon%,selection$):PROCread 6970WHEN "60 minutes":PROCupdate_icon(video_index%,7,selection$):PROCread 6980WHEN "120 minutes":PROCupdate_icon(video_index%,7,selection$):PROCread 6990WHEN "180 minutes":PROCupdate_icon(video_index%,7,selection$):PROCread 7000WHEN "240 minutes":PROCupdate_icon(video_index%,7,selection$):PROCread 7010WHEN "Dolby":PROCupdate_icon(video_tracks%,selecticon%,selection$):PROCread 7020WHEN "Mono":PROCupdate_icon(video_tracks%,selecticon%,selection$):PROCread 7030WHEN "Nicam":PROCupdate_icon(video_tracks%,selecticon%,selection$):PROCread 7040WHEN "Stereo":PROCupdate_icon(video_tracks%,selecticon%,selection$):PROCread 7050WHEN "Copy":PROCupdate_icon(video_index%,8,selection$):PROCread 7060WHEN "Master":PROCupdate_icon(video_index%,8,selection$):PROCread 7070WHEN "Clear Record":PROCclear_single 7080WHEN "Options...":PROCopen(video_mainoptions%):PROCopen(video_options%) 7090WHEN "Restart F8":PROCclear_data_question 7100WHEN "Quit":PROCquit_check 7110ENDCASE 7120SYS "Wimp_GetPointerInfo",,q% 7130IF q%!8=1 THEN SYS "Wimp_CreateMenu",,selectmenu% 7140ENDPROC 7150: 7160DEFPROCreceive(q%) 7170CASE q%!16 OF 7180WHEN 0:PROCquit_check 7190WHEN 2:PROCdatasave 7200WHEN 3,5:IF q%!12=0 AND q%!40=&E91 THEN PROCload_acknowledge:PROCok_to_load 7210WHEN 4:PROCload_acknowledge 7220WHEN &502:PROChelp(FNhelp_text) 7230WHEN 9,&400C1:PROCget_mode_info 7240WHEN &400C2:PROCcheck_new_task 7250ENDCASE 7260ENDPROC 7270: 7280DEFPROCcheck_new_task 7290newtaskid%=q%!4:taskname$=FNstring0(q%+28) 7300IF taskname$="Video Index" AND newtaskid%<>handle% THEN quit%=TRUE 7310ENDPROC 7320: 7330DEFFNcreate_menu(menu$,menu2$,menu3$) 7340IF menufree%+28>menuend% THEN ERROR 1,"Menu Area Full" 7350LOCAL m%,r% 7360menuptr%=menufree% 7370r%=0 7380IF LEFT$(menu$,1)="#" THEN r%=1:menutitle$=FNpar(",") ELSE menutitle$="" 7390IF RIGHT$(menutitle$,1)="{" THEN 7400boticon%=9 7410menutitle$=LEFT$(menutitle$,LEN(menutitle$)-1) 7420ELSE 7430boticon%=1 7440ENDIF 7450$menuptr%=menutitle$ 7460menuptr%?12=7:menuptr%?13=2:menuptr%?14=7:menuptr%?15=0 7470menuptr%!16=196-24:menuptr%!20=44:menuptr%!24=0 7480menuptr%+=28:maxx%=LENmenutitle$-2 7490REPEAT 7500item$=FNpar(",") 7510IF item$="++" THEN 7520r%=0 7530menu$=menu2$ 7540ELSE 7550IF item$="+++" THEN 7560r%=0 7570menu%=menu3$ 7580ELSE 7590PROCmenu_item(item$) 7600ENDIF 7610ENDIF 7620UNTIL item$="" 7630IF maxx%>20 THEN maxx%=20 7640m%=menufree%:m%!16=(maxx%*8+6)*2 7650menufree%=menuptr% 7660=m% 7670: 7680DEFPROCmenu_item(text$) 7690IF text$="" THEN menuptr%!-24=(menuptr%!-24)OR &80:ENDPROC 7700IF menuptr%+24 >menuend% THEN ERROR 1,"Menu Area Full" 7710LOCAL r%,flag%,V% 7720flag%=&00 7730r%=INSTR(text$,">") 7740IF r%>0 THEN 7750subptr%=EVALMID$(text$,r%+1) 7760text$=LEFT$(text$,r%-1) 7770ELSE 7780rr%=INSTR(text$,"}") 7790IF rr%>0 THEN 7800subptr%=EVALMID$(text$,rr%+1) 7810text$=LEFT$(text,rr%-1) 7820flag%+=&08 7830ELSE 7840subptr%=-1 7850ENDIF 7860ENDIF 7870IF RIGHT$(text$,1)="#" THEN text$=LEFT$(text$,LENtext$-1):flag%+=&02 7880IF RIGHT$(text$,1)="\" THEN text$=LEFT$(text$,LENtext$-1):flag%+=&01 7890rrr%=INSTR(text$,"|") 7900rrrr%=INSTR(text$,"�") 7910IF rrr%=0 AND rrrr%=0 THEN 7920mfg%=0<<28:mbg%=7<<24 7930ELSE 7940CASE rrr% OF 7950WHEN 0:mfg%=0 <<28 7960OTHERWISE 7970mfg%=(VAL(MID$(text$,rrr%+1,2)) MOD 16)<<28 7980text$=LEFT$(text$,rrr%-1)+MID$(text$,rrr%+3) 7990ENDCASE 8000rrrr%=INSTR(text$,"�") 8010CASE rrrr% OF 8020WHEN 0:mbg%=7<<24 8030OTHERWISE 8040mbg%=(VAL(MID$(text$,rrrr%+1,2)) MOD 16)<<24 8050text$=LEFT$(text$,rrrr%-1)+MID$(text$,rrrr%+3) 8060ENDCASE 8070ENDIF 8080menuptr%!0=flag% 8090menuptr%!4=subptr% 8100menuptr%!8=mfg%+mbg%+&20+boticon% 8110IF RIGHT$(text$,1)="/" THEN text$=LEFT$(text$,LENtext$-1):menuptr%!8=(menuptr%!8 OR 1<<22) 8120IF LEFT$(text$,1)="$" THEN 8130!menuptr%+=&04 8140menuptr%!+=&108 8150r%=INSTR(text$,"(") 8160IF r%>0 THEN L%=VALMID$(text$,r%+1):text$=LEFT$(text$,r%-1)ELSE L%=12 8170V%=-1 8180menuptr%!12=EVALMID$(text$,2) 8190menuptr%!16=-1 8200menuptr%!20=L% 8210text$=STRING$(L%," ") 8220ELSE 8230IF LENtext$<=12 THEN 8240$(menuptr%+12)=text$ 8250ELSE 8260R%=FNworkspace(LENtext$+1):$R%=text$ 8270menuptr%!12=R%:menuptr%!16=-1:menuptr%!20=LENtext$+1 8280menuptr%!8=menuptr%!8 OR &100 8290ENDIF 8300ENDIF 8310IF LENtext$>maxx% THEN maxx%=LENtext$ 8320menuptr%+=24 8330ENDPROC 8340: 8350DEFFNpar(sep$) 8360r1%=r%+1:r%=INSTR(menu$+sep$,sep$,r1%) 8370=MID$(menu$,r1%,r%-r1%) 8380: 8390DEFFNworkspace(L%) 8400IF curws%+L%>maxws% THEN ERROR 1,"No More Buffer Space" 8410curws%+=L%:=curws%-L% 8420: 8430DEFPROCinitialise_video_index 8440DIM format$(250),video_length$(250),type$(250) 8450DIM name$(250,10),start$(250,10),stop$(250,10),date$(250,10) 8460DIM category$(250,10),speed$(250,10),channel$(250,10) 8470DIM length$(250,10),audio$(250,10),speedarray$(2),speed%(10) 8480speedarray$()="","SP","LP" 8490record_number%=1:searchtype$="Name":printer$="Draft" 8500printwhat$="All":searchstring$="":casesense$="No" 8510savealltext$="Yes":linefeed$="No":printall$="Yes" 8520SYS "Font_FindFont",,"Corpus.Medium",160,160 TO corpus% 8530SYS "Font_FindFont",,"Homerton.Medium",160,160 TO homerton% 8540PROCload_options 8550ENDPROC 8560: 8570DEFPROCupdate 8580speed%()=0 8590IF record_number%<1 THEN record_number%=1 8600IF record_number%>max_record% THEN record_number%=max_record% 8610PROCfill(record_number%) 8620ENDPROC 8630: 8640DEFPROCfill(record_number%) 8650SYS "Hourglass_On" 8660PROCupdate_icon(video_print%,12,STR$(record_number%)) 8670PROCupdate_icon(video_index%,5,STR$(record_number%)) 8680PROCtracks_move_caret(video_tracks%,1):PROCmove_caret(video_index%,6) 8690PROCupdate_icon(video_index%,6,format$(record_number%)) 8700PROCupdate_icon(video_index%,7,video_length$(record_number%)) 8710PROCupdate_icon(video_index%,8,type$(record_number%)) 8720PROCupdate_tracks 8730SYS "Hourglass_Off" 8740ENDPROC 8750: 8760DEFPROCnumber_update 8770record_number%=VAL(FNindirect(video_index%,5)) 8780IF record_number%<1 THEN record_number%=1 8790IF record_number%>max_record% THEN record_number%=max_record% 8800PROCfill(record_number%) 8810ENDPROC 8820: 8830DEFPROCre_title(new_title$) 8840!q%=video_index% 8850SYS "Wimp_GetWindowInfo",,q% 8860IF ((q%!60) AND &100)=0 THEN ERROR 1,"Title isn't indirected" 8870$(q%!76)=new_title$ 8880IF ((q%!32) AND (1<<16))<>0 SYS "Wimp_ForceRedraw",-1,q%!4,q%!16,q%!12,q%!16+44 8890ENDPROC 8900: 8910DEFPROCread 8920PROCre_title("Video Index *") 8930unsaved%=TRUE 8940record_number%=VAL(FNindirect(video_index%,5)) 8950format$(record_number%)=FNindirect(video_index%,6) 8960video_length$(record_number%)=FNindirect(video_index%,7) 8970type$(record_number%)=FNindirect(video_index%,8) 8980ENDPROC 8990: 9000DEFFNindirect(!q%,q%!4) 9010SYS "Wimp_GetIconState",,q% 9020=$(q%!28) 9030: 9040DEFPROCnew 9050SYS "Hourglass_On" 9060PROCopen(video_index%):PROCopen(video_backtracks%) 9070PROCopen(video_tracks%):PROCtracks_move_caret(video_tracks%,1) 9080PROCmove_caret(video_index%,6) 9090FOR I%=1 TO max_record% 9100SYS "Hourglass_Percentage",INT((I%/max_record%)*100) 9110format$(I%)="":video_length$(I%)="":type$(I%)="" 9120FOR subI%=1 TO 10 9130name$(I%,subI%)="":start$(I%,subI%)="":stop$(I%,subI%)="" 9140date$(I%,subI%)="":category$(I%,subI%)="":speed$(I%,subI%)="" 9150channel$(I%,subI%)="":length$(I%,subI%)="":audio$(I%,subI%)="" 9160NEXT subI% 9170NEXT I% 9180record_number%=1 9190PROCupdate_icon(video_index%,5,STR$(record_number%)) 9200SYS "Hourglass_Off" 9210unsaved%=FALSE 9220ENDPROC 9230: 9240DEFPROCload_acknowledge 9250q%!12=q%!8 9260q%!16=4 9270SYS "Wimp_SendMessage",17,q%,q%!4 9280ENDPROC 9290: 9300DEFPROCok_to_load 9310filename$="" 9320a%=0 9330b%=q%?(44+a%) 9340WHILE b%<>0 9350filename$+=CHR$(b%) 9360a%+=1 9370b%=q%?(44+a%) 9380ENDWHILE 9390PROCload_data(filename$):PROCupdate_icon(video_savebox2%,1,filename$) 9400ENDPROC 9410: 9420DEFPROCload_data(datafile$) 9430SYS "Hourglass_On" 9440load_error%=FALSE 9450CH%=OPENIN(datafile$) 9460IF load_error%=FALSE THEN 9470INPUT#CH%,max_record% 9480FOR I%=1 TO max_record% 9490INPUT#CH%,format$(I%),video_length$(I%),type$(I%) 9500FOR subI%=1 TO 10 9510INPUT#CH%,name$(I%,subI%),start$(I%,subI%),stop$(I%,subI%) 9520INPUT#CH%,date$(I%,subI%),category$(I%,subI%),speed$(I%,subI%) 9530INPUT#CH%,channel$(I%,subI%),length$(I%,subI%),audio$(I%,subI%) 9540NEXT subI% 9550IF INT((I%/max_record%)*100)<>100 THEN SYS "Hourglass_Percentage",INT((I%/max_record%)*100) 9560NEXT I% 9570CLOSE#CH% 9580PROCre_title("Video Index") 9590unsaved%=FALSE 9600PROCclose_all 9610PROCopen(video_index%):PROCopen(video_backtracks%):PROCopen(video_tracks%) 9620record_number%=1 9630PROCupdate 9640ELSE 9650CLOSE#CH% 9660ENDIF 9670SYS "Hourglass_Off" 9680PROCalter_no_of_records 9690ENDPROC 9700: 9710DEFPROCdragbox 9720x%=!q%:y%=q%!4 9730q%!4=5:q%!8=x%-40:q%!12=y%-40:q%!16=x%+40:q%!20=y%+40:q%!24=0 9740q%!28=0:q%!32=&7FFFFFFF:q%!36=q%!32 9750SYS "Wimp_DragBox",,q% 9760ENDPROC 9770: 9780DEFPROCquicksave 9790IF savetype$="FFF" THEN fullname$=FNindirect(video_savebox%,1) 9800IF savetype$="E91" THEN fullname$=FNindirect(video_savebox2%,1) 9810IF fullname$="" THEN ERROR 1,"Please insert a filename" 9820IF INSTR(fullname$,".")=0 THEN ERROR 1,"To save, drag the icon to a directory viewer" 9830IF savetype$="E91" THEN PROCsave_data(fullname$) ELSE PROCsave_text(fullname$) 9840IF savetype$="E91" THEN OSCLI "SetType "+fullname$+" &E91" 9850IF savetype$="FFF" THEN OSCLI "SetType "+fullname$+" Text" 9860IF savetype$="FFF" THEN PROCupdate_icon(video_savebox%,1,fullname$) 9870IF savetype$="E91" THEN PROCupdate_icon(video_savebox2%,1,fullname$) 9880PROCre_title("Video Index"):PROCclose(video_savebox%):PROCclose(video_savebox2%) 9890unsaved%=FALSE 9900SYS "Wimp_CreateMenu",,-1 9910ENDPROC 9920: 9930DEFPROCinitiate_save(fname$) 9940SYS "Wimp_GetPointerInfo",,q% 9950IF q%!12=video_index% ENDPROC 9960q%!20=q%!12:q%!12=0 9970q%!24=q%!16:q%!16=1 9980q%!28=q%!0:q%!0=64 9990q%!32=q%!4:q%!36=8096 10000IF savetype$="E91" THEN q%!40=&E91 ELSE q%!40=&FFF 10010$(q%+44)=FNget_leaf(fname$)+CHR$0 10020SYS "Wimp_SendMessage",17,q%,q%!20 10030ENDPROC 10040: 10050DEFFNget_leaf(fname$) 10060WHILE INSTR(fname$,".") 10070fname$=MID$(fname$,INSTR(fname$,".")+1) 10080ENDWHILE 10090=fname$+CHR$0 10100: 10110DEFPROCdatasave 10120fullname$=FNstring(q%+44) 10130CASE savetype$ OF 10140WHEN "E91" 10150PROCsave_data(fullname$) 10160q%!12=q%!8:q%!16=3 10170SYS "Wimp_SendMessage",17,q%,q%!4 10180OSCLI "SetType "+fullname$+" VideoIdx" 10190SYS "Wimp_CreateMenu",,-1 10200PROCre_title("Video Index") 10210PROCclose(video_savebox2%):PROCtracks_move_caret(video_tracks%,1):PROCmove_caret(video_index%,12) 10220unsaved%=FALSE 10230PROCupdate_icon(video_savebox2%,1,fullname$) 10240WHEN "FFF" 10250PROCsave_text(fullname$) 10260q%!12=q%!8:q%!16=3 10270SYS "Wimp_SendMessage",17,q%,q%!4 10280OSCLI "SetType "+fullname$+" Text" 10290SYS "Wimp_CreateMenu",,-1 10300PROCclose(video_savebox%):PROCtracks_move_caret(video_tracks%,1):PROCmove_caret(video_index%,12) 10310PROCupdate_icon(video_savebox%,1,fullname$) 10320ENDCASE 10330ENDPROC 10340: 10350DEFFNstring(a%) 10360LOCAL b$ 10370b$="" 10380WHILE ?a%<>0 10390b$+=CHR$?a% 10400a%+=1 10410ENDWHILE 10420=b$ 10430: 10440DEFFNstring0(a%):LOCAL a$:WHILE ?a%>31:a$+=CHR$?a%:a%+=1:ENDWHILE:=a$ 10450: 10460DEFPROCsave_data(fullname$) 10470SYS "Hourglass_On" 10480CH%=OPENOUTfullname$ 10490PRINT#CH%,max_record% 10500FOR I%=1 TO max_record% 10510PRINT#CH%,format$(I%),video_length$(I%),type$(I%) 10520FOR subI%=1 TO 10 10530PRINT#CH%,name$(I%,subI%),start$(I%,subI%),stop$(I%,subI%) 10540PRINT#CH%,date$(I%,subI%),category$(I%,subI%),speed$(I%,subI%) 10550PRINT#CH%,channel$(I%,subI%),length$(I%,subI%),audio$(I%,subI%) 10560NEXT subI% 10570IF INT((I%/max_record%)*100)<>100 THEN SYS "Hourglass_Percentage",INT((I%/max_record%)*100) 10580NEXT I% 10590CLOSE#CH% 10600SYS "Hourglass_Off" 10610ENDPROC 10620: 10630DEFPROCsave_text(fullname$) 10640SYS "Hourglass_On" 10650CASE savealltext$ OF 10660WHEN "Yes" 10670CH%=OPENOUTfullname$ 10680FOR I%=1 TO max_record% 10690IF video_length$(I%)<>"" OR format$(I%)<>"" OR type$(I%)<>"" THEN PROCsave_record_text(I%) 10700IF INT((I%/max_record%)*100)<>100 THEN SYS "Hourglass_Percentage",INT((I%/max_record%)*100) 10710NEXT I% 10720CLOSE#CH% 10730WHEN "No" 10740from%=VAL(FNindirect(video_savebox%,5)):to%=VAL(FNindirect(video_savebox%,6)) 10750IF from%<1 OR to%>max_record% THEN ERROR 1,"Enter values between 1 and "+STR$(max_record%)+"." 10760CH%=OPENOUTfullname$ 10770FOR I%=from% TO to% 10780IF video_length$(I%)<>"" OR format$(I%)<>"" OR type$(I%)<>"" THEN PROCsave_record_text(I%) 10790IF INT((I%/max_record%)*100)<>100 THEN SYS "Hourglass_Percentage",INT((I%/max_record%)*100) 10800NEXT I% 10810CLOSE#CH% 10820ENDCASE 10830SYS "Hourglass_Off" 10840ENDPROC 10850: 10860DEFPROCsave_record_text(I%) 10870BPUT#CH%,"Number: "+STR$(I%) 10880BPUT#CH%,"Format: "+format$(I%)+STRING$(15-LEN(format$(I%))," ")+" Type: "+type$(I%)+STRING$(15-LEN(type$(I%))," ")+"Length: "+video_length$(I%)+STRING$(15-LEN(video_length$(I%))," ") 10890BPUT#CH%," " 10900BPUT#CH%,"Name:"+STRING$(22," ")+"Category:"+STRING$(4," ")+"Channel:"+STRING$(7," ")+"Date:"+STRING$(5," ")+"Audio"+STRING$(5," ")+"Length:"+STRING$(9," ")+"Start:"+STRING$(2," ")+"Stop:"+STRING$(3," ")+"Speed:" 10910FOR subI%=1 TO 10 10920a=LEN(name$(I%,subI%)):b=LEN(category$(I%,subI%)):c=LEN(channel$(I%,subI%)) 10930d=LEN(date$(I%,subI%)):e=LEN(audio$(I%,subI%)):f=LEN(length$(I%,subI%)) 10940g=LEN(start$(I%,subI%)):h=LEN(stop$(I%,subI%)):i=LEN(speed$(I%,subI%)) 10950halfstring$=name$(I%,subI%)+STRING$(27-a," ")+category$(I%,subI%)+STRING$(13-b," ")+channel$(I%,subI%)+STRING$(15-c," ")+date$(I%,subI%)+STRING$(10-d," ") 10960stringtosave$=halfstring$+audio$(I%,subI%)+STRING$(10-e," ")+length$(I%,subI%)+STRING$(16-f," ")+start$(I%,subI%)+STRING$(8-g," ")+stop$(I%,subI%)+STRING$(8-h," ")+speed$(I%,subI%) 10970IF (a<>0 OR b<>0 OR c<>0 OR d<>0 OR e<>0 OR f<>0 OR g<>0 OR h<>0 OR i<>0) THEN BPUT#CH%,stringtosave$ 10980NEXT subI% 10990BPUT#CH%," " 11000BPUT#CH%,"-----------------------------------------------------------------------------------------------------------------" 11010BPUT#CH%," " 11020ENDPROC 11030: 11040DEFPROCprint 11050PROCupdate_icon(video_wait%,0,"Printing In Progress Please Wait"):PROCopen(video_wait%) 11060PROCredraw_window(video_wait%) 11070SYS "Hourglass_On" 11080copies%=VAL(FNindirect(video_print%,6)) 11090IF copies%=0 THEN SYS "Hourglass_Off":SYS "Wimp_CreateMenu",,-1:ERROR 1,"Set number of copies to a value greater than 0.":ENDPROC 11100CASE printer$ OF 11110WHEN "Draft" 11120copy=0:VDU 2:VDU 1,27,1,120,1,48 11130REPEAT 11140CASE printwhat$ OF 11150WHEN "AT":PROCprint_list 11160WHEN "All":PROCprint_table 11170WHEN "Vid":PROCprint_label 11180ENDCASE 11190copy+=1:UNTIL copy=copies% 11200VDU 3 11210WHEN "NLQ" 11220copy=0:VDU 2:VDU 1,27,1,120,1,49 11230REPEAT 11240CASE printwhat$ OF 11250WHEN "AT":PROCprint_list 11260WHEN "All":PROCprint_table 11270WHEN "Vid":PROCprint_label 11280ENDCASE 11290copy+=1:UNTIL copy=copies% 11300VDU 1,27,1,120,1,48 11310VDU 3 11320ENDCASE 11330SYS "Hourglass_Off" 11340SYS "Wimp_CreateMenu",,-1 11350PROCclose(video_wait%):PROCclose(video_print%) 11360ENDPROC 11370: 11380DEFPROCprint_label 11390IF linefeed$="Yes" THEN vdu%=10 ELSE vdu%=0 11400inlay_number%=VAL(FNindirect(video_print%,12)) 11410VDU 1,15 11420PRINTTAB(0);"Number: "+STR$(inlay_number%):VDU 1,vdu% 11430PRINTTAB(0);"Format: "+format$(inlay_number%);TAB(25);" Type: "+type$(inlay_number%):VDU 1,vdu% 11440PRINTTAB(0);"Length: "+video_length$(inlay_number%);TAB(25):VDU 1,vdu% 11450PRINTTAB(0);"1)";name$(inlay_number%,1);TAB(28);" 6)";name$(inlay_number%,6):VDU 1,vdu% 11460PRINTTAB(0);"2)";name$(inlay_number%,2);TAB(28);" 7)";name$(inlay_number%,7):VDU 1,vdu% 11470PRINTTAB(0);"3)";name$(inlay_number%,3);TAB(28);" 8)";name$(inlay_number%,8):VDU 1,vdu% 11480PRINTTAB(0);"4)";name$(inlay_number%,4);TAB(28);" 9)";name$(inlay_number%,9):VDU 1,vdu% 11490PRINTTAB(0);"5)";name$(inlay_number%,5);TAB(28);"10)";name$(inlay_number%,10):VDU 1,vdu% 11500VDU 1,18 11510VDU 1,12 11520ENDPROC 11530: 11540DEFPROCprint_list 11550needsprinting%=0 11560IF linefeed$="Yes" THEN vdu%=10 ELSE vdu%=0 11570IF printall$="No" THEN 11580from%=VAL(FNindirect(video_print%,16)):to%=VAL(FNindirect(video_print%,17)) 11590IF from%<1 OR to%>max_record% THEN ERROR 1,"Enter values between 1 and "+STR$(max_record%)+"." 11600ENDIF 11610IF printall$="Yes" THEN from%=1:to%=max_record% 11620FOR I%=from% TO to% 11630IF format$(I%)<>"" OR video_length$(I%)<>"" THEN needsprinting%+=1 11640NEXT I% 11650subitem%=0:printed%=0:IF needsprinting%=0 THEN VDU 3:PROCclose(video_wait%):ERROR 1,"No records to print.":ENDPROC 11660FOR I%=from% TO to% 11670IF format$(I%)<>"" OR video_length$(I%)<>"" THEN 11680subitem%+=1:printed%+=1 11690VDU 1,27,1,71 11700VDU 1,27,1,80 11710PRINT TAB(0);"Number: "+STR$(I%):VDU 1,vdu% 11720PRINT TAB(0);"Format: "+format$(I%);TAB(30);" Type: "+type$(I%);TAB(50);" Length: "+video_length$(I%);TAB(30):VDU 1,vdu% 11730VDU 1,27,1,72 11740VDU 1,27,1,80 11750PRINTSTRING$(80,"-"):VDU 1,vdu% 11760ENDIF 11770IF subitem%=20 THEN subitem%=0:VDU 1,12 11780VDU 3 11790IF INT((printed%/needsprinting%)*100)<>100 THEN SYS "Hourglass_Percentage",INT((printed%/needsprinting%)*100) 11800VDU 2 11810NEXT I% 11820VDU 1,12 11830ENDPROC 11840: 11850DEFPROCprint_table 11860needsprinting%=0 11870IF linefeed$="Yes" THEN vdu%=10 ELSE vdu%=0 11880IF printall$="No" THEN 11890from%=VAL(FNindirect(video_print%,16)):to%=VAL(FNindirect(video_print%,17)) 11900IF from%<1 OR to%>max_record% THEN ERROR 1,"Enter values between 1 and "+STR$(max_record%)+"." 11910ENDIF 11920IF printall$="Yes" THEN from%=1:to%=max_record% 11930FOR I%=from% TO to% 11940IF format$(I%)<>"" OR video_length$(I%)<>"" THEN needsprinting%+=1 11950NEXT I% 11960subitem%=0:printed%=0:IF needsprinting%=0 THEN VDU 3:PROCclose(video_wait%):ERROR 1,"No records to print.":ENDPROC 11970FOR I%=from% TO to% 11980IF format$(I%)<>"" OR video_length$(I%)<>"" THEN 11990subitem%+=1:printed%+=1 12000VDU 1,27,1,71 12010VDU 1,27,1,80 12020PRINTTAB(0);"Number: "+STR$(I%):VDU 1,vdu% 12030subitem%+=1 12040PRINTTAB(0);"Format: "+format$(I%);TAB(30);"Type: "+type$(I%);TAB(50);"Length: "+video_length$(I%);TAB(30):VDU 1,vdu% 12050subitem%+=2 12060VDU 1,27,1,72 12070VDU 1,27,1,103 12080PRINT:VDU 1,vdu%:PRINT"Name:"+STRING$(22," ")+"Category:"+STRING$(4," ")+"Channel:"+STRING$(7," ")+"Date:"+STRING$(5," ")+"Audio"+STRING$(5," ")+"Length:"+STRING$(9," ")+"Start:"+STRING$(2," ")+"Stop:"+STRING$(3," ")+"Speed:":VDU 1,vdu% 12090FOR subI%=1 TO 10 12100a=LEN(name$(I%,subI%)):b=LEN(category$(I%,subI%)):c=LEN(channel$(I%,subI%)) 12110d=LEN(date$(I%,subI%)):e=LEN(audio$(I%,subI%)):f=LEN(length$(I%,subI%)) 12120g=LEN(start$(I%,subI%)):h=LEN(stop$(I%,subI%)):i=LEN(speed$(I%,subI%)) 12130halfstring$=name$(I%,subI%)+STRING$(27-a," ")+category$(I%,subI%)+STRING$(13-b," ")+channel$(I%,subI%)+STRING$(15-c," ")+date$(I%,subI%)+STRING$(10-d," ") 12140stringtosave$=halfstring$+audio$(I%,subI%)+STRING$(10-e," ")+length$(I%,subI%)+STRING$(16-f," ")+start$(I%,subI%)+STRING$(8-g," ")+stop$(I%,subI%)+STRING$(8-h," ")+speed$(I%,subI%) 12150IF (a<>0 OR b<>0 OR c<>0 OR d<>0 OR e<>0 OR f<>0 OR g<>0 OR h<>0 OR i<>0) THEN PRINT stringtosave$:VDU 1,vdu%:subitem%+=1 12160NEXT subI% 12170VDU 1,27,1,80 12180subitem%+=1:PRINTSTRING$(80,"-"):VDU 1,vdu% 12190ENDIF 12200IF subitem%>50 THEN subitem%=0:VDU 1,12 12210VDU 3 12220IF INT((printed%/needsprinting%)*100)<>100 THEN SYS "Hourglass_Percentage",INT((printed%/needsprinting%)*100) 12230VDU 2 12240NEXT I% 12250VDU 1,12 12260ENDPROC 12270: 12280DEFPROCredraw_window(window%) 12290!q%=window% 12300SYS "Wimp_RedrawWindow",,q% TO more% 12310WHILE more% 12320SYS "WimpExt_Redraw",,q% 12330SYS "Wimp_GetRectangle",,q% TO more% 12340ENDWHILE 12350ENDPROC 12360: 12370DEFPROCannounce 12380PROCopen(video_announce%):SYS "WimpExt_LimitPointer",video_announce% 12390PROCupdate_icon(video_announce%,4,ver$) 12400PROCredraw_window(video_announce%) 12410SYS "Hourglass_LEDs",1,0:PROCmake_menus 12420SYS "Hourglass_LEDs",0,1:PROCnew 12430SYS "Hourglass_LEDs",1,1:PROCclear_search 12440FOR wait%=1 TO 25:WAIT:WAIT:SYS "Hourglass_Percentage",INT((wait%/25)*100):NEXT 12450PROCclose(video_announce%) 12460SYS "WimpExt_ReleasePointer" 12470ENDPROC 12480: 12490DEFPROCclear_data_question 12500VDU 7 12510PROCopen(video_clear%):SYS "Wimp_SetCaretPosition",-1 12520SYS "WimpExt_LimitPointer",video_clear% 12530ENDPROC 12540: 12550DEFPROCclear_data 12560PROCnew 12570PROCupdate 12580PROCre_title("Video Index") 12590unsaved%=FALSE 12600PROCclose_all 12610SYS "WimpExt_ReleasePointer" 12620ENDPROC 12630: 12640DEFPROCquit_check 12650CASE unsaved% OF 12660WHEN TRUE 12670VDU 7 12680PROCopen(video_quit%):SYS "Wimp_SetCaretPosition",-1 12690SYS "WimpExt_LimitPointer",video_quit% 12700WHEN FALSE:quit%=TRUE 12710ENDCASE 12720ENDPROC 12730: 12740DEFPROCswap_case(window%,icon%,key_index%) 12750IF key_index%<LEN(FNread_icon_text(window%,icon%,FALSE)) THEN 12760IconText$=FNread_icon_text(window%,icon%,FALSE) 12770C%=ASC(MID$(IconText$,key_index%+1,1)) AND &DF 12780IF C%>=&41 AND C%<=&5A THEN 12790C$=CHR$(ASC(MID$(IconText$,key_index%+1,1)) EOR &20) 12800MID$(IconText$,key_index%+1,1)=C$ 12810PROCupdate_icon(window%,icon%,IconText$) 12820ENDIF 12830PROC_SetCaretPosition(window%,icon%,key_index%+1) 12840ENDIF 12850ENDPROC 12860: 12870DEFPROC_SetCaretPosition(window%,icon%,key_index%) 12880IconLength%=LEN(FNread_icon_text(window%,icon%,FALSE)) 12890IF key_index%>IconLength% THEN key_index%=IconLength% 12900SYS "Wimp_SetCaretPosition",window%,icon%,,,-1,key_index% 12910SYS "Wimp_GetCaretPosition",,q% 12920ENDPROC 12930: 12940DEFFNread_icon_text(window%,icon%,Pad%) 12950LOCAL Result$ 12960!q%=window% 12970q%!4=icon% 12980SYS "Wimp_GetIconState",,q% 12990IF (q%!24 AND (1<<8))<>0 THEN 13000Result$=$(q%!28) 13010ELSE 13020Result$=$(q%+28) 13030ENDIF 13040IF Pad%>0 THEN =LEFT$(Result$+STRING$(Pad%," "),Pad%) 13050=Result$ 13060: 13070DEFPROCms_load(mname$) 13080SYS"MessageTrans_FileInfo",,mname$ 13090DIM ms_text%256 13100SYS"OS_Module",6,,,17+LEN(mname$)TO,,ms_desc% 13110$(ms_desc%+16)=mname$ 13120SYS"MessageTrans_OpenFile",ms_desc%,ms_desc%+16 13130ENDPROC 13140: 13150DEFPROCms_end 13160SYS"XMessageTrans_CloseFile",ms_desc% 13170SYS"XOS_Module",7,,ms_desc% 13180ENDPROC 13190: 13200DEFFNms_0(tag$) 13210=FNms_2(tag$,"","") 13220: 13230DEFFNms_1(tag$,arg1$) 13240=FNms_2(tag$,arg1$,"") 13250: 13260DEFFNms_2(tag$,arg1$,arg2$) 13270LOCALF%,L% 13280SYS"XMessageTrans_Lookup",ms_desc%,tag$,ms_text%,256,arg1$,arg2$TO,,,L%;F% 13290IFF%AND 1THENL%=0 13300ms_text%?L%=13 13310=$ms_text% 13320: 13330DEFPROChelp(help$) 13340LOCAL C% 13350C%=LENhelp$+1 13360q%!12=q%!8 13370q%!16=&503 13380$(q%+20)=help$+CHR$0 13390!q%=(24+C%)ANDNOT3 13400SYS"Wimp_SendMessage",17,q%,q%!4 13410ENDIF 13420ENDPROC 13430: 13440DEFFNhelp_text 13450LOCAL text$ 13460text$="" 13470CASE q%!32 OF 13480WHEN -2:text$=FNms_0("IconBar") 13490WHEN video_infobox%:text$=FNms_0("Add") 13500WHEN video_index%:CASE q%!36 OF 13510WHEN 18:text$=FNms_0("First") 13520WHEN 14,19:text$=FNms_0("One") 13530WHEN 20,17:text$=FNms_0("Ten") 13540WHEN 21:text$=FNms_0("Last") 13550WHEN 5:text$=FNms_0("Rec") 13560WHEN 6,7,8:text$=FNms_0("TeMe") 13570WHEN 10:text$=FNms_1("Menu","Formats") 13580WHEN 11:text$=FNms_1("Menu","Lengths") 13590WHEN 12:text$=FNms_1("Menu","Types") 13600OTHERWISE:text$=FNms_0("Main") 13610ENDCASE 13620WHEN video_backtracks%:text$=FNms_0("Main") 13630WHEN video_tracks%:CASE q%!36 OF 13640WHEN 141,142,143,144,145,146,147,148,149,150:text$=FNms_0("Type") 13650WHEN 91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140:text$=FNms_0("TeMe") 13660OTHERWISE:text$=FNms_0("Text") 13670ENDCASE 13680WHEN video_savebox2%:CASE q%!36 OF 13690WHEN 0:text$=FNms_0("Drag") 13700WHEN 1:text$=FNms_0("File") 13710WHEN 2:text$=FNms_0("Save") 13720ENDCASE 13730WHEN video_savebox%:CASE q%!36 OF 13740WHEN 0:text$=FNms_0("DragT") 13750WHEN 1:text$=FNms_0("FileT") 13760WHEN 2:text$=FNms_0("SaveT") 13770ENDCASE 13780WHEN video_quit%:CASE q%!36 OF 13790WHEN 1,2:text$=FNms_0("Ques") 13800ENDCASE 13810WHEN video_clear%:CASE q%!36 OF 13820WHEN 1,2:text$=FNms_0("Ques") 13830ENDCASE 13840WHEN video_print%:CASE q%!36 OF 13850WHEN 1:text$=FNms_1("Qual","draft") 13860WHEN 2:text$=FNms_1("Qual","near letter quality") 13870WHEN 3:text$=FNms_1("Qual","RISC OS Printer Drivers") 13880WHEN 6:text$=FNms_0("Copy") 13890WHEN 7:text$=FNms_0("Prin") 13900WHEN 9:text$=FNms_1("PriAll","Video Info Only") 13910WHEN 10:text$=FNms_1("PriAll","Full Details") 13920WHEN 11:text$=FNms_1("PriAll","Video Label") 13930WHEN 12:text$=FNms_0("VidN") 13940ENDCASE 13950WHEN video_search%:CASE q%!36 OF 13960WHEN 1:text$=FNms_0("SeaText") 13970WHEN 7:text$=FNms_0("SeaPrev") 13980WHEN 5:text$=FNms_0("SearGo") 13990WHEN 3:text$=FNms_1("SeaTyp","Name") 14000WHEN 4:text$=FNms_1("SeaTyp","Category") 14010ENDCASE 14020WHEN video_found%:text$=FNms_0("Found") 14030ENDCASE 14040=text$ 14050: 14060DEFPROCget_mode_info 14070cx%=(FNmv(MODE,11))<<(FNmv(MODE,4)) 14080cy%=(FNmv(MODE,12))<<(FNmv(MODE,5)) 14090ENDPROC 14100: 14110DEFFNmv(mode%,var%) 14120LOCAL v% 14130SYS "OS_ReadModeVariable",mode%,var% TO ,,v% 14140=v% 14150: 14160DEFPROCclear_search 14170LOCAL icon%:FOR icon%=0 TO 51 14180PROCupdate_icon(video_found%,icon%," ") 14190NEXT 14200PROCupdate_icon(video_found%,1,"could be found in the following records:") 14210ENDPROC 14220: 14230DEFPROCsearch(field$) 14240SYS "Hourglass_On" 14250foundicon%=2:found%=0 14260searchstring$=FNindirect(video_search%,1) 14270IF searchstring$="" THEN PROCclose(video_search%):SYS "Wimp_CreateMenu",,-1:ERROR 1,"Enter search string." 14280PROCupdate_icon(video_found%,0,searchstring$) 14290IF casesense$="No" THEN Search$=FNupper(searchstring$) ELSE Search$=searchstring$ 14300CASE field$ OF 14310WHEN "Name" 14320FOR number%=1 TO max_record% 14330icon_used%=FALSE:sub_number%=1 14340SYS "Hourglass_Percentage",INT((number%/max_record%)*100) 14350FOR sub%=1 TO 10 14360IF casesense$="No" THEN target$=FNupper(name$(number%,sub%)) ELSE target$=name$(number%,sub%) 14370FOR b%=1 TO LEN target$:a$=MID$(target$,b%,LEN(Search$)) 14380IF Search$=a$ THEN PROCadd_to_found(number%,sub_number%):GOTO 14400 14390NEXT b% 14400NEXT sub% 14410IF icon_used%=TRUE THEN foundicon%+=1:found%+=1 14420NEXT number% 14430WHEN "Category" 14440FOR number%=1 TO max_record% 14450icon_used%=FALSE:sub_number%=1 14460SYS "Hourglass_Percentage",INT((number%/max_record%)*100) 14470FOR sub%=1 TO 10 14480IF casesense$="No" THEN target$=FNupper(category$(number%,sub%)) ELSE target$=category$(number%,sub%) 14490FOR b%=1 TO LEN target$:a$=MID$(target$,b%,LEN(Search$)) 14500IF Search$=a$ THEN PROCadd_to_found(number%,sub_number%):GOTO 14520 14510NEXT b% 14520NEXT sub% 14530IF icon_used%=TRUE THEN foundicon%+=1:found%+=1 14540NEXT number% 14550ENDCASE 14560PROCclose(video_search%) 14570PROCupdate_icon(video_search%,1,"") 14580PROCtracks_move_caret(video_tracks%,1):PROCmove_caret(video_index%,5) 14590SYS "Wimp_CreateMenu",,-1 14600SYS "Hourglass_Off" 14610IF found%<>0 THEN 14620PROCopen(video_found%) 14630ELSE 14640ERROR 1,"'"+searchstring$+"' could not be found." 14650ENDIF 14660IF found%>50 THEN ERROR 1,"'"+searchstring$+"' has been found in "+STR$(found%)+" records. The first 50 occurances are selectable from the 'Records Found' window." 14670ENDPROC 14680: 14690DEFFNupper(string$) 14700LOCAL loop% 14710IF LEN(string$)>0 THEN 14720FOR loop% = 1 TO LEN(string$) 14730IF MID$(string$,loop%,1)>="a" AND MID$(string$,loop%,1)<="z" THEN 14740MID$(string$,loop%,1) = CHR$(ASC(MID$(string$,loop%,1)) AND &DF) 14750ENDIF 14760NEXT 14770ENDIF 14780=string$ 14790: 14800DEFPROCadd_to_found(foundrecord%,foundsub%) 14810IF foundicon%<52 THEN PROCupdate_icon(video_found%,foundicon%,STR$(foundrecord%)+" ("+STR$(foundsub%)+")") 14820sub_number%+=1:icon_used%=TRUE 14830ENDPROC 14840: 14850DEFPROCclose_all 14860PROCclose(video_wait%):PROCclose(video_print%) 14870PROCclose(video_search%):PROCclose(video_found%) 14880PROCclose(video_quit%):SYS "Wimp_CreateMenu",,-1 14890PROCclose(video_clear%):PROCclose(video_infobox%) 14900PROCclose(video_savebox%):PROCclose(video_savebox2%) 14910PROCclose(video_mainoptions%):PROCclose(video_options%) 14920SYS "WimpExt_ReleasePointer" 14930ENDPROC 14940: 14950DEFPROCread_tracklist 14960track_number%=VAL(FNindirect(video_index%,5)) 14970FOR I%=0 TO 9 14980name$(track_number%,I%+1)=FNindirect(video_tracks%,1+(I%*9)) 14990category$(track_number%,I%+1)=FNindirect(video_tracks%,2+(I%*9)) 15000channel$(track_number%,I%+1)=FNindirect(video_tracks%,3+(I%*9)) 15010date$(track_number%,I%+1)=FNindirect(video_tracks%,4+(I%*9)) 15020audio$(track_number%,I%+1)=FNindirect(video_tracks%,5+(I%*9)) 15030length$(track_number%,I%+1)=FNindirect(video_tracks%,6+(I%*9)) 15040start$(track_number%,I%+1)=FNindirect(video_tracks%,7+(I%*9)) 15050stop$(track_number%,I%+1)=FNindirect(video_tracks%,8+(I%*9)) 15060speed$(track_number%,I%+1)=FNindirect(video_tracks%,9+(I%*9)) 15070NEXT I% 15080ENDPROC 15090: 15100DEFPROCupdate_tracks 15110SYS "Hourglass_On" 15120track_number%=VAL(FNindirect(video_index%,5)) 15130FOR I%=0 TO 9 15140PROCupdate_icon(video_tracks%,1+(I%*9),name$(track_number%,I%+1)) 15150PROCupdate_icon(video_tracks%,2+(I%*9),category$(track_number%,I%+1)) 15160PROCupdate_icon(video_tracks%,3+(I%*9),channel$(track_number%,I%+1)) 15170PROCupdate_icon(video_tracks%,4+(I%*9),date$(track_number%,I%+1)) 15180PROCupdate_icon(video_tracks%,5+(I%*9),audio$(track_number%,I%+1)) 15190PROCupdate_icon(video_tracks%,6+(I%*9),length$(track_number%,I%+1)) 15200PROCupdate_icon(video_tracks%,7+(I%*9),start$(track_number%,I%+1)) 15210PROCupdate_icon(video_tracks%,8+(I%*9),stop$(track_number%,I%+1)) 15220PROCupdate_icon(video_tracks%,9+(I%*9),speed$(track_number%,I%+1)) 15230NEXT I% 15240SYS "Hourglass_Off" 15250ENDPROC 15260: 15270DEFPROCupdate_icon(update_window%,update_icon%,update_text$) 15280!q%=update_window%:q%!4=update_icon% 15290SYS "Wimp_GetIconState",,q% 15300$(q%!28)=update_text$:q%!36=LEN(update_text$)+1 15310q%!8=0:q%!12=0 15320SYS "Wimp_SetIconState",,q% 15330ENDPROC 15340: 15350DEFPROCclear_single 15360FOR X=6 TO 8 15370PROCupdate_icon(video_index%,X,"") 15380NEXT 15390FOR X=0 TO 92 15400PROCupdate_icon(video_tracks%,X,"") 15410NEXT 15420PROCread:PROCread_tracklist 15430ENDPROC 15440: 15450DEFPROCprinter_drivers 15460printwhat$="Vid" 15470PROCupdate_icon(video_wait%,0,"Printing In Progress Please Wait"):PROCopen(video_wait%):PROCredraw_window(video_wait%) 15480copies%=VAL(FNindirect(video_print%,6)) 15490IF copies%=0 THEN SYS "Hourglass_Off":SYS "Wimp_CreateMenu",,-1:ERROR 1,"Set number of copies to a value greater than 0.":ENDPROC 15500DIM trans% 16,rect% 16,plotat% 8,rectin% 16 15510OSCLI ("RMEnsure PDriver 0 ERROR 255 No printer driver installed.") 15520SYS "Hourglass_On" 15530copy=0 15540REPEAT 15550pf%=OPENOUT("printer:") 15560IF pf%=0 THEN ERROR 1,"Printer not available" 15570LOCAL ERROR 15580ON ERROR LOCAL:RESTORE ERROR:CLOSE#pf%:PROCclose_all:ERROR ERR,REPORT$ 15590SYS "PDriver_SelectJob",pf%,"Video Index Print" TO old% 15600LOCAL ERROR 15610ON ERROR LOCAL:RESTORE ERROR:PROCclose_all:SYS "PDriver_AbortJob",pf%:SYS "PDriver_SelectJob",old%:ERROR ERR,REPORT$ 15620rect%!0=0:rect%!4=0 15630rect%!8=1000:rect%!12=850 15640trans%!0=1<<16:trans%!4=0<<16 15650trans%!8=0<<16:trans%!12=1<<16 15660plotat%!0=1*72000:plotat%!4=9*72000 15670SYS "PDriver_GiveRectangle",0,rect%,trans%,plotat%,&FFFFFF00 15680SYS "PDriver_DrawPage",1,rectin%,0,0 TO more% 15690WHILE more% 15700IF printwhat$="All" THEN ERROR 1,"Unable to print 'Full Details' via RISC OS Printer Drivers, Sorry!! Use the 'Save Text' option!!" 15710IF printwhat$="AT" THEN ERROR 1,"Unable to print 'Full Details' via RISC OS Printer Drivers, Sorry!! Use the 'Save Text' option!!" 15720IF printwhat$="Vid" THEN 15730inlay_number%=VAL(FNindirect(video_print%,12)) 15740SYS "ColourTrans_SetGCOL",0 15750RECTANGLE 0,0,547,320 15760RECTANGLE 0,0,547,260 15770SYS "ColourTrans_SetFontColours",,&FFFFFF00,0,6 15780SYS "Font_SetFont",homerton% 15790SYS "Font_Paint",,"Number: "+STR$(inlay_number%),&10,20,295 15800SYS "Font_Paint",,"Format: "+format$(inlay_number%),&10,300,295 15810SYS "Font_Paint",,"Type: "+type$(inlay_number%),&10,20,270 15820SYS "Font_Paint",,"Length: "+video_length$(inlay_number%),&10,300,270 15830SYS "Font_SetFont",corpus% 15840FOR I%=1 TO 10 15850SYS "Font_Paint",,name$(inlay_number%,I%)+(STRING$(26-LENname$(inlay_number%,I%)," "))+start$(inlay_number%,I%),&10,20,235-((I%-1)*25) 15860NEXT I% 15870SYS "PDriver_GetRectangle",,rectin% TO more% 15880ENDIF 15890ENDWHILE 15900SYS "PDriver_EndJob",pf% 15910RESTORE ERROR 15920SYS "PDriver_SelectJob",old% 15930RESTORE ERROR 15940CLOSE#pf% 15950copy+=1:UNTIL copy=copies% 15960SYS "Hourglass_Off" 15970PROCclose(video_wait%):PROCclose(video_print%) 15980ENDPROC 15990: 16000DEFPROCload_options 16010choices%=OPENIN"<Video$Dir>.Resources.Choices" 16020IF choices%<>0 THEN 16030INPUT#choices%,outlinefonts% 16040INPUT#choices%,max_record% 16050INPUT#choices%,channelmenu1$ 16060INPUT#choices%,channelmenu2$ 16070INPUT#choices%,channelmenu3$ 16080INPUT#choices%,channelmenu4$ 16090INPUT#choices%,channelmenu5$ 16100INPUT#choices%,channelmenu6$ 16110CLOSE#choices% 16120ELSE 16130outlinefonts%=0 16140max_record%=250 16150channelmenu1$="Bravo":channelmenu2$="Discovery" 16160channelmenu3$="Family Chan.":channelmenu4$="Nickelodeon" 16170channelmenu5$="UK Living":channelmenu6$="VHI" 16180ENDIF 16190IF outlinefonts%=1 THEN PROCget_window_fonts 16200ENDPROC 16210: 16220DEFPROCsave_options 16230choices%=OPENOUT"<Video$Dir>.Resources.Choices" 16240PRINT#choices%,outlinefonts% 16250PRINT#choices%,max_record% 16260PRINT#choices%,channelmenu1$ 16270PRINT#choices%,channelmenu2$ 16280PRINT#choices%,channelmenu3$ 16290PRINT#choices%,channelmenu4$ 16300PRINT#choices%,channelmenu5$ 16310PRINT#choices%,channelmenu6$ 16320CLOSE#choices% 16330ENDPROC 16340: 16350DEFPROCget_window_fonts 16360LOCAL f% 16370DIM fontb% 255 16380FOR I%=0 TO 255:fontb%?I%=0:NEXT 16390ENDPROC 16400: 16410DEFPROCalter_no_of_records 16420CASE max_record% OF 16430WHEN 50 16440SYS "WimpExt_SetIcon",,,video_options%,9,1:SYS "WimpExt_SetIcon",,,video_options%,12,0:SYS "WimpExt_SetIcon",,,video_options%,13,0:SYS "WimpExt_SetIcon",,,video_options%,14,0:SYS "WimpExt_SetIcon",,,video_options%,15,0 16450WHEN 100 16460SYS "WimpExt_SetIcon",,,video_options%,9,0:SYS "WimpExt_SetIcon",,,video_options%,12,1:SYS "WimpExt_SetIcon",,,video_options%,13,0:SYS "WimpExt_SetIcon",,,video_options%,14,0:SYS "WimpExt_SetIcon",,,video_options%,15,0 16470WHEN 150 16480SYS "WimpExt_SetIcon",,,video_options%,9,0:SYS "WimpExt_SetIcon",,,video_options%,12,0:SYS "WimpExt_SetIcon",,,video_options%,13,1:SYS "WimpExt_SetIcon",,,video_options%,14,0:SYS "WimpExt_SetIcon",,,video_options%,15,0 16490WHEN 200 16500SYS "WimpExt_SetIcon",,,video_options%,9,0:SYS "WimpExt_SetIcon",,,video_options%,12,0:SYS "WimpExt_SetIcon",,,video_options%,13,0:SYS "WimpExt_SetIcon",,,video_options%,14,1:SYS "WimpExt_SetIcon",,,video_options%,15,0 16510WHEN 250 16520SYS "WimpExt_SetIcon",,,video_options%,9,0:SYS "WimpExt_SetIcon",,,video_options%,12,0:SYS "WimpExt_SetIcon",,,video_options%,13,0:SYS "WimpExt_SetIcon",,,video_options%,14,0:SYS "WimpExt_SetIcon",,,video_options%,15,1 16530ENDCASE 16540PROCupdate_icon(video_index%,9,"/ "+STR$(max_record%)) 16550ENDPROC 16560: 16570DEFPROCupdate_options 16580PROCalter_no_of_records 16590CASE outlinefonts% OF 16600WHEN 0:SYS "WimpExt_SetIcon",,,video_options%,8,1:SYS "WimpExt_SetIcon",,,video_options%,7,0 16610WHEN 1:SYS "WimpExt_SetIcon",,,video_options%,7,1:SYS "WimpExt_SetIcon",,,video_options%,8,0 16620ENDCASE 16630PROCupdate_icon(video_options%,3,channelmenu1$) 16640PROCupdate_icon(video_options%,4,channelmenu2$) 16650PROCupdate_icon(video_options%,11,channelmenu3$) 16660PROCupdate_icon(video_options%,16,channelmenu4$) 16670PROCupdate_icon(video_options%,17,channelmenu5$) 16680PROCupdate_icon(video_options%,18,channelmenu6$) 16690ENDPROC 16700: 16710DEFPROCread_options 16720channelmenu1$=FNindirect(video_options%,3) 16730channelmenu2$=FNindirect(video_options%,4) 16740channelmenu3$=FNindirect(video_options%,11) 16750channelmenu4$=FNindirect(video_options%,16) 16760channelmenu5$=FNindirect(video_options%,17) 16770channelmenu6$=FNindirect(video_options%,18) 16780channelmenu$="":PROCmake_channelmenu 16790ENDPROC 16800: 16810DEFPROCwimp_close(window%) 16820IF window%=video_index% THEN 16830!q%=video_index%:SYS "WimpExt_CloseLinked",,q%:PROCclose_all 16840!q%=video_backtracks%:SYS "WimpExt_CloseLinked",,q% 16850ELSE 16860!q%=window%:SYS "WimpExt_CloseLinked",,q% 16870ENDIF 16880ENDPROC
� >!RunImage ;� Video Index by Ricky Dawson (� Archimedes World 1994) : (.� � ș "Hourglass_Smash":�pre_poll_error:� 2: <ș "Hourglass_On" F+ș "OS_ReadModeVariable",-1,5 � ,,yeig% P7� yeig%<2 � sprite$="Sprites22" � sprite$="Sprites" ZGș "OS_File",17,"<Video$Dir>.Resources."+sprite$ � type%,,,,length% d� sprite% length%+4 n!sprite%=length%+4 xAș "OS_SpriteOp",266,sprite%,"<Video$Dir>.Resources."+sprite$ �� but_ok% 32,but_okquit% 32 �$but_ok%="OK"+�0+�0+�0+�0 �($but_okquit%="OK"+�0+�0+�0+"Quit"+�0 �?ș "Wimp_Initialise",200,&4B534154,"Video Index" � ,handle% �2ș "WimpExt_Initialise",7,handle%,%111,sprite% �: ��initialise_variables ��get_mode_info �.�ms_load("<Video$Dir>.Resources.Messages") ��load_templates � �announce �d!q%=video_index%:ș "WimpExt_CloseLinked",,q%:!q%=video_backtracks%:ș "WimpExt_CloseLinked",,q% �ș "Hourglass_Off" : � � �error : "� ,"ș "XWimpExt_SlabIcon",,,0,0,0 6ș "WimpExt_PrePoll" @&ș "Wimp_Poll",1,q% � reason_code% J>ș "WimpExt_Action",handle%,q%,reason_code% � reason_code% TȎ reason_code% � ^� 1:�redraw_window(!q%) h#� 2:ș "WimpExt_OpenLinked",,q% r� 3:�wimp_close(!q%) |/� 6:�check_mouse(!q%,q%!4,q%!8,q%!12,q%!16) �� 7: �Ȏ savetype$ � �7� "FFF":�initiate_save(�indirect(video_savebox%,1)) �8� "E91":�initiate_save(�indirect(video_savebox2%,1)) �� �*� 8:�key_pressed(!q%,q%!4,q%!20,q%!24) �� 9:�menu_select �� 17,18:�receive(q%) �� �� quit% �ș "WimpExt_ReleasePointer" ��ms_end �ș "XWimpExt_SetPointer",0 ș "XWimpExt_ReleasePointer" #ș "XWimpExt_CloseDown",handle% ș "Wimp_CloseDown" &;ș "Font_LoseFont",homerton%:ș "Font_LoseFont",corpus% 0�#0 :ș "Hourglass_Smash" D� N: X��initialise_variables b5� q% 16384,menufree% &1000,temp% 8192,indir% 8192 lcurws%=temp% vmaxws%=temp%+2048 �menustart%=menufree% �menuend%=menufree%+&1000 �menu%=0 �quit%=� �ver$="3.20 (5 Jan 1994)" ��initialise_video_index �� �: ���load_templates �?!q%=0:q%!4=0:q%!8=0:q%!12=0:q%!16=0:q%!20=0:q%!24=0:q%!28=0 �;q%!32=0:q%!36=0:q%!40=0:q%!44=0:q%!48=0:q%!52=0:q%!56=0 �Ȏ outlinefonts% � �� 0 gș "WimpExt_LoadTemplates",q%,q%+60,indir%,indir%+8192,-1,"<Video$Dir>.Resources.Templates",sprite% :video_quit%=!q%:video_clear%=q%!4:video_announce%=q%!8 >video_savebox%=q%!12:video_wait%=q%!16:video_search%=q%!20 Fvideo_savebox2%=q%!24:video_infobox%=q%!28:video_backtracks%=q%!32 *Dvideo_options%=q%!36:video_mainoptions%=q%!40:video_print%=q%!44 4=video_index%=q%!48:video_tracks%=q%!52:video_found%=q%!56 >� 1 Hkș "WimpExt_LoadTemplates",q%,q%+60,indir%,indir%+8192,fontb%,"<Video$Dir>.Resources.FontTemps",sprite% R:video_quit%=!q%:video_clear%=q%!4:video_announce%=q%!8 \Bvideo_savebox%=q%!12:video_search%=q%!16:video_savebox2%=q%!20 fFvideo_infobox%=q%!24:video_options%=q%!28:video_mainoptions%=q%!32 p@video_print%=q%!36:video_wait%=q%!40:video_backtracks%=q%!44 z=video_index%=q%!48:video_tracks%=q%!52:video_found%=q%!56 �� �>ș "WimpExt_LinkWindows",,,video_backtracks%,video_tracks% �@ș "WimpExt_LinkWindows",,,video_mainoptions%,video_options% �'�update_icon(video_infobox%,7,ver$) �3ș "WimpExt_IconBarSprite",,,-1,"!VideoIndx",,3 ��update_options �� �: ���make_menus �menufree%=menustart% �%� loop%=menustart% � menuend% � 4 �!loop%=0 �� �get_todays_date ndatemenu%=�create_menu("# Date ,"+day1$+","+day2$+","+day3$+","+day4$+","+day5$+","+day6$+","+day7$,"","") giconbarmenu%=�create_menu("# Video Index ,Info>video_infobox%,Options...,Restart F8#,Quit","","") $[formatmenu%=�create_menu("#Format,Betamax,Super VHS,VHS,VHSC,Video 8,Video 2000","","") .�proglengthmenu%=�create_menu("#Length,10 minutes,15 minutes,20 minutes,25 minutes,30 minutes,45 minutes,50 minutes,1 hour,1 hour 30 min,2 hours","","") 8Zsizemenu%=�create_menu("#Length,60 minutes,120 minutes,180 minutes,240 minutes","","") B>splpmenu%=�create_menu("# Play Speed ,SP,LP#,Clear","","") L�categorymenu%=�create_menu("# Category ,American,Cartoon,Children,Comedy,Drama,Film,Game Show,Music,News,Soap Opera,Sport,Weather","","") Vasavemenu%=�create_menu("#Save as,Text>video_savebox%,Video Index F3>video_savebox2%","","") `Gqualitymenu%=�create_menu("# Audio ,Dolby,Mono,Nicam,Stereo","","") j7typemenu%=�create_menu("# Type ,Copy,Master","","") t�mainmenu%=�create_menu("# Video Index ,Info>video_infobox%,Quit#,Clear Record,Print F1>video_print%,Restart F8,Save>savemenu%,Search F4>video_search%","","") ~�make_channelmenu �� �: ���make_channelmenu �channeloptions$="" ��� channelmenu1$<>"" � channelmenu2$<>"" � channelmenu3$<>"" � channelmenu4$<>"" � channelmenu5$<>"" � channelmenu6$<>"" � channeloptions$+="#," �<� channelmenu1$<>"" � channeloptions$+=channelmenu1$+"," �<� channelmenu2$<>"" � channeloptions$+=channelmenu2$+"," �<� channelmenu3$<>"" � channeloptions$+=channelmenu3$+"," �<� channelmenu4$<>"" � channeloptions$+=channelmenu4$+"," �<� channelmenu5$<>"" � channeloptions$+=channelmenu5$+"," �<� channelmenu6$<>"" � channeloptions$+=channelmenu6$+"," ��channelmenu%=�create_menu("#Channel,BBC 1,BBC 2,ITV,Channel 4#,Adult Channel,Eurosport,Movies +,Movie Channel,Movies Gold,MTV,Sky News,Sky One,Sky Sports,UK Gold"+channeloptions$,"","") � : ��get_todays_date ?q%=1:ș "OS_Word",14,q% (day%=�(��~(q%?2),2)) 2month%=�(��~(q%?1),2)) <year%=�(��~(?q%),2)) F Ȏ day% � P� 1 ZȎ (month%-1) � d� 1,3,5,7,8,10 n(day1$="26/"+�(month%-1)+"/"+�(year%) x(day2$="27/"+�(month%-1)+"/"+�(year%) �(day3$="28/"+�(month%-1)+"/"+�(year%) �(day4$="29/"+�(month%-1)+"/"+�(year%) �(day5$="30/"+�(month%-1)+"/"+�(year%) �(day6$="31/"+�(month%-1)+"/"+�(year%) �%day7$="1/"+�(month%)+"/"+�(year%) �� 4,6,9,11 �(day1$="25/"+�(month%-1)+"/"+�(year%) �(day2$="26/"+�(month%-1)+"/"+�(year%) �(day3$="27/"+�(month%-1)+"/"+�(year%) �(day4$="28/"+�(month%-1)+"/"+�(year%) �(day5$="29/"+�(month%-1)+"/"+�(year%) �(day6$="30/"+�(month%-1)+"/"+�(year%) �%day7$="1/"+�(month%)+"/"+�(year%) � 2 (day1$="23/"+�(month%-1)+"/"+�(year%) (day2$="24/"+�(month%-1)+"/"+�(year%) "(day3$="25/"+�(month%-1)+"/"+�(year%) ,(day4$="26/"+�(month%-1)+"/"+�(year%) 6(day5$="27/"+�(month%-1)+"/"+�(year%) @(day6$="28/"+�(month%-1)+"/"+�(year%) J%day7$="1/"+�(month%)+"/"+�(year%) T� 0 ^day1$="26/12/"+�(year%-1) hday2$="27/12/"+�(year%-1) rday3$="28/12/"+�(year%-1) |day4$="29/12/"+�(year%-1) �day5$="30/12/"+�(year%-1) �day6$="31/12/"+�(year%-1) �%day7$="1/"+�(month%)+"/"+�(year%) �� �� 2 �Ȏ (month%-1) � �� 1,3,5,7,8,10 �(day1$="27/"+�(month%-1)+"/"+�(year%) �(day2$="28/"+�(month%-1)+"/"+�(year%) �(day3$="29/"+�(month%-1)+"/"+�(year%) �(day4$="30/"+�(month%-1)+"/"+�(year%) �(day5$="31/"+�(month%-1)+"/"+�(year%) �%day6$="1/"+�(month%)+"/"+�(year%) %day7$="2/"+�(month%)+"/"+�(year%) � 4,6,9,11 (day1$="26/"+�(month%-1)+"/"+�(year%) &(day2$="27/"+�(month%-1)+"/"+�(year%) 0(day3$="28/"+�(month%-1)+"/"+�(year%) :(day4$="29/"+�(month%-1)+"/"+�(year%) D(day5$="30/"+�(month%-1)+"/"+�(year%) N%day6$="1/"+�(month%)+"/"+�(year%) X%day7$="2/"+�(month%)+"/"+�(year%) b� 2 l(day1$="24/"+�(month%-1)+"/"+�(year%) v(day2$="25/"+�(month%-1)+"/"+�(year%) �(day3$="26/"+�(month%-1)+"/"+�(year%) �(day4$="27/"+�(month%-1)+"/"+�(year%) �(day5$="28/"+�(month%-1)+"/"+�(year%) �%day6$="1/"+�(month%)+"/"+�(year%) �%day7$="2/"+�(month%)+"/"+�(year%) �� 0 �day1$="27/12/"+�(year%-1) �day2$="28/12/"+�(year%-1) �day3$="29/12/"+�(year%-1) �day4$="30/12/"+�(year%-1) �day5$="31/12/"+�(year%-1) �%day6$="1/"+�(month%)+"/"+�(year%) �%day7$="2/"+�(month%)+"/"+�(year%) � � 3 Ȏ (month%-1) � � 1,3,5,7,8,10 *(day1$="28/"+�(month%-1)+"/"+�(year%) 4(day2$="29/"+�(month%-1)+"/"+�(year%) >(day3$="30/"+�(month%-1)+"/"+�(year%) H(day4$="31/"+�(month%-1)+"/"+�(year%) R%day5$="1/"+�(month%)+"/"+�(year%) \%day6$="2/"+�(month%)+"/"+�(year%) f%day7$="3/"+�(month%)+"/"+�(year%) p� 4,6,9,11 z(day1$="27/"+�(month%-1)+"/"+�(year%) �(day2$="28/"+�(month%-1)+"/"+�(year%) �(day3$="29/"+�(month%-1)+"/"+�(year%) �(day4$="30/"+�(month%-1)+"/"+�(year%) �%day5$="1/"+�(month%)+"/"+�(year%) �%day6$="2/"+�(month%)+"/"+�(year%) �%day7$="3/"+�(month%)+"/"+�(year%) �� 2 �(day1$="25/"+�(month%-1)+"/"+�(year%) �(day2$="26/"+�(month%-1)+"/"+�(year%) �(day3$="27/"+�(month%-1)+"/"+�(year%) �(day4$="28/"+�(month%-1)+"/"+�(year%) �%day5$="1/"+�(month%)+"/"+�(year%) �%day6$="2/"+�(month%)+"/"+�(year%) %day7$="3/"+�(month%)+"/"+�(year%) � 0 day1$="28/12/"+�(year%-1) $day2$="29/12/"+�(year%-1) .day3$="30/12/"+�(year%-1) 8day4$="31/12/"+�(year%-1) B'day5$="1/"+�(month%-1)+"/"+�(year%) L'day6$="2/"+�(month%-1)+"/"+�(year%) V%day7$="3/"+�(month%)+"/"+�(year%) `� j� 4 tȎ (month%-1) � ~� 1,3,5,7,8,10 �(day1$="29/"+�(month%-1)+"/"+�(year%) �(day2$="30/"+�(month%-1)+"/"+�(year%) �(day3$="31/"+�(month%-1)+"/"+�(year%) �%day4$="1/"+�(month%)+"/"+�(year%) �%day5$="2/"+�(month%)+"/"+�(year%) �%day6$="3/"+�(month%)+"/"+�(year%) �%day7$="4/"+�(month%)+"/"+�(year%) �� 4,6,9,11 �(day1$="28/"+�(month%-1)+"/"+�(year%) �(day2$="29/"+�(month%-1)+"/"+�(year%) �(day3$="30/"+�(month%-1)+"/"+�(year%) �%day4$="1/"+�(month%)+"/"+�(year%) %day5$="2/"+�(month%)+"/"+�(year%) %day6$="3/"+�(month%)+"/"+�(year%) %day7$="4/"+�(month%)+"/"+�(year%) � 2 ((day1$="26/"+�(month%-1)+"/"+�(year%) 2(day2$="27/"+�(month%-1)+"/"+�(year%) <(day3$="28/"+�(month%-1)+"/"+�(year%) F%day4$="1/"+�(month%)+"/"+�(year%) P%day5$="2/"+�(month%)+"/"+�(year%) Z%day6$="3/"+�(month%)+"/"+�(year%) d%day7$="4/"+�(month%)+"/"+�(year%) n� 0 xday1$="29/12/"+�(year%-1) �day2$="30/12/"+�(year%-1) �day3$="31/12/"+�(year%-1) �%day4$="1/"+�(month%)+"/"+�(year%) �%day5$="2/"+�(month%)+"/"+�(year%) �%day6$="3/"+�(month%)+"/"+�(year%) �%day7$="4/"+�(month%)+"/"+�(year%) �� �� 5 �Ȏ (month%-1) � �� 1,3,5,7,8,10 �(day1$="30/"+�(month%-1)+"/"+�(year%) �(day2$="31/"+�(month%-1)+"/"+�(year%) �%day3$="1/"+�(month%)+"/"+�(year%) %day4$="2/"+�(month%)+"/"+�(year%) %day5$="3/"+�(month%)+"/"+�(year%) %day6$="4/"+�(month%)+"/"+�(year%) "%day7$="5/"+�(month%)+"/"+�(year%) ,� 4,6,9,11 6(day1$="29/"+�(month%-1)+"/"+�(year%) @(day2$="30/"+�(month%-1)+"/"+�(year%) J%day3$="1/"+�(month%)+"/"+�(year%) T%day4$="2/"+�(month%)+"/"+�(year%) ^%day5$="3/"+�(month%)+"/"+�(year%) h%day6$="4/"+�(month%)+"/"+�(year%) r%day7$="5/"+�(month%)+"/"+�(year%) |� 2 �(day1$="27/"+�(month%-1)+"/"+�(year%) �(day2$="28/"+�(month%-1)+"/"+�(year%) �%day3$="1/"+�(month%)+"/"+�(year%) �%day4$="2/"+�(month%)+"/"+�(year%) �%day5$="3/"+�(month%)+"/"+�(year%) �%day6$="4/"+�(month%)+"/"+�(year%) �%day7$="5/"+�(month%)+"/"+�(year%) �� 0 �day1$="30/12/"+�(year%-1) �day2$="31/12/"+�(year%-1) �%day3$="1/"+�(month%)+"/"+�(year%) �%day4$="2/"+�(month%)+"/"+�(year%) �%day5$="3/"+�(month%)+"/"+�(year%) %day6$="4/"+�(month%)+"/"+�(year%) %day7$="5/"+�(month%)+"/"+�(year%) � &� 6 0Ȏ (month%-1) � :� 1,3,5,7,8,10 D(day1$="31/"+�(month%-1)+"/"+�(year%) N%day2$="1/"+�(month%)+"/"+�(year%) X%day3$="2/"+�(month%)+"/"+�(year%) b%day4$="3/"+�(month%)+"/"+�(year%) l%day5$="4/"+�(month%)+"/"+�(year%) v%day6$="5/"+�(month%)+"/"+�(year%) �%day7$="6/"+�(month%)+"/"+�(year%) �� 4,6,9,11 �(day1$="30/"+�(month%-1)+"/"+�(year%) �%day2$="1/"+�(month%)+"/"+�(year%) �%day3$="2/"+�(month%)+"/"+�(year%) �%day4$="3/"+�(month%)+"/"+�(year%) �%day5$="4/"+�(month%)+"/"+�(year%) �%day6$="5/"+�(month%)+"/"+�(year%) �%day7$="6/"+�(month%)+"/"+�(year%) �� 2 �(day1$="28/"+�(month%-1)+"/"+�(year%) �%day2$="1/"+�(month%)+"/"+�(year%) �%day3$="2/"+�(month%)+"/"+�(year%) %day4$="3/"+�(month%)+"/"+�(year%) %day5$="4/"+�(month%)+"/"+�(year%) %day6$="5/"+�(month%)+"/"+�(year%) %day7$="6/"+�(month%)+"/"+�(year%) *� 0 4day1$="31/12/"+�(year%-1) >%day2$="1/"+�(month%)+"/"+�(year%) H%day3$="2/"+�(month%)+"/"+�(year%) R%day4$="3/"+�(month%)+"/"+�(year%) \%day5$="4/"+�(month%)+"/"+�(year%) f%day6$="5/"+�(month%)+"/"+�(year%) p%day7$="6/"+�(month%)+"/"+�(year%) z� � �.day1$=�(day%-6)+"/"+�(month%)+"/"+�(year%) �.day2$=�(day%-5)+"/"+�(month%)+"/"+�(year%) �.day3$=�(day%-4)+"/"+�(month%)+"/"+�(year%) �.day4$=�(day%-3)+"/"+�(month%)+"/"+�(year%) �.day5$=�(day%-2)+"/"+�(month%)+"/"+�(year%) �.day6$=�(day%-1)+"/"+�(month%)+"/"+�(year%) �,day7$=�(day%)+"/"+�(month%)+"/"+�(year%) �� �� �: ���pre_poll_error �� �$+" @ "+�(�) � � � � : $��error .� 3:�#0 8Zș "WimpExt_ControlImmediate",,2,"Message From Video Index",�$,but_okquit%,0 � button% B� button%<>3 � � L� V: `��open(window%) jN!q%=window%:ș "Wimp_GetWindowState",,q%:q%!28=-1:ș "Wimp_OpenWindow",,q% t� ~: ���close(window%) �)!q%=window%:ș "Wimp_CloseWindow",,q% �� �: �8��check_mouse(mousex%,mousey%,button%,window%,icon%) �Ȏ window% � �j� -2:� button%=2 � ș "Wimp_CreateMenu",,iconbarmenu%,mousex%-48,96+(4*44)+24:selectmenu%=iconbarmenu% �� (button% � 5)<>0 � �E�open(video_index%):�open(video_backtracks%):�open(video_tracks%) �C�tracks_move_caret(video_tracks%,1):�move_caret(video_index%,6) �� �� video_tracks% 4� button%=4 � button%=2 � button%=1 � Ȏ icon% � $� 91,92,93,94,95,96,97,98,99,100 ~ș "Wimp_CreateMenu",,categorymenu%,mousex%-48,mousey%+10:selectmenu%=categorymenu%:selectwindow%=video_tracks%:Ȏ icon% � � 91:selecticon%=2 (� 92:selecticon%=11 2� 93:selecticon%=20 <� 94:selecticon%=29 F� 95:selecticon%=38 P� 96:selecticon%=47 Z� 97:selecticon%=56 d� 98:selecticon%=65 n� 99:selecticon%=74 x� 100:selecticon%=83 �� �-� 101,102,103,104,105,106,107,108,109,110 �`ș "Wimp_CreateMenu",,channelmenu%,mousex%-48,mousey%+10:selectmenu%=channelmenu%:Ȏ icon% � �� 101:selecticon%=3 �� 102:selecticon%=12 �� 103:selecticon%=21 �� 104:selecticon%=30 �� 105:selecticon%=39 �� 106:selecticon%=48 �� 107:selecticon%=57 �� 108:selecticon%=66 �� 109:selecticon%=75 �� 110:selecticon%=84 � -� 111,112,113,114,115,116,117,118,119,120 Zș "Wimp_CreateMenu",,datemenu%,mousex%-48,mousey%+10:selectmenu%=datemenu%:Ȏ icon% � "� 111:selecticon%=4 ,� 112:selecticon%=13 6� 113:selecticon%=22 @� 114:selecticon%=31 J� 115:selecticon%=40 T� 116:selecticon%=49 ^� 117:selecticon%=58 h� 118:selecticon%=67 r� 119:selecticon%=76 |� 120:selecticon%=85 �� �-� 121,122,123,124,125,126,127,128,129,130 �`ș "Wimp_CreateMenu",,qualitymenu%,mousex%-48,mousey%+10:selectmenu%=qualitymenu%:Ȏ icon% � �� 121:selecticon%=5 �� 122:selecticon%=14 �� 123:selecticon%=23 �� 124:selecticon%=32 �� 125:selecticon%=41 �� 126:selecticon%=50 �� 127:selecticon%=59 �� 128:selecticon%=68 �� 129:selecticon%=77 �� 130:selecticon%=86 � -� 131,132,133,134,135,136,137,138,139,140 fș "Wimp_CreateMenu",,proglengthmenu%,mousex%-48,mousey%+10:selectmenu%=proglengthmenu%:Ȏ icon% � &� 131:selecticon%=6 0� 132:selecticon%=15 :� 133:selecticon%=24 D� 134:selecticon%=33 N� 135:selecticon%=42 X� 136:selecticon%=51 b� 137:selecticon%=60 l� 138:selecticon%=69 v� 139:selecticon%=78 �� 140:selecticon%=87 �� �-� 141,142,143,144,145,146,147,148,149,150 �Zș "Wimp_CreateMenu",,splpmenu%,mousex%-48,mousey%+10:selectmenu%=splpmenu%:Ȏ icon% � �� 141:selecticon%=9 �� 142:selecticon%=18 �� 143:selecticon%=27 �� 144:selecticon%=36 �� 145:selecticon%=45 �� 146:selecticon%=54 �� 147:selecticon%=63 �� 148:selecticon%=72 �� 149:selecticon%=81 � 150:selecticon%=90 � Q:ș "Wimp_CreateMenu",,mainmenu%,mousex%-48,mousey%+10:selectmenu%=mainmenu% � *!� (button% � 5)<>0 Ȏ icon% � 4"� 9,18,27,36,45,54,63,72,81,90 ><speed%(icon%/9)+=1:� speed%(icon%/9)>2 speed%(icon%/9)=1 H(�speed_change(icon%,speed%(icon%/9)) R� \� video_index% f� button%=2 � Ȏ icon% � pX� 10:ș "Wimp_CreateMenu",,formatmenu%,mousex%-48,mousey%+10:selectmenu%=formatmenu% zT� 11:ș "Wimp_CreateMenu",,sizemenu%,mousex%-48,mousey%+10:selectmenu%=sizemenu% �T� 12:ș "Wimp_CreateMenu",,typemenu%,mousex%-48,mousey%+10:selectmenu%=typemenu% �Q:ș "Wimp_CreateMenu",,mainmenu%,mousex%-48,mousey%+10:selectmenu%=mainmenu% �� �!� (button% � 5)<>0 Ȏ icon% � �'� 16:�close_all:�open(video_print%) �*� 22:�close_all:�open(video_savebox2%) �(� 23:�close_all:�open(video_search%) �7� 18:�read:�read_tracklist:record_number%=1:�update �9� 17:�read:�read_tracklist:record_number%-=10:�update �8� 14:�read:�read_tracklist:record_number%-=1:�update �8� 19:�read:�read_tracklist:record_number%+=1:�update �9� 20:�read:�read_tracklist:record_number%+=10:�update �A� 21:�read:�read_tracklist:record_number%=max_record%:�update X� 10:ș "Wimp_CreateMenu",,formatmenu%,mousex%-48,mousey%+10:selectmenu%=formatmenu% T� 11:ș "Wimp_CreateMenu",,sizemenu%,mousex%-48,mousey%+10:selectmenu%=sizemenu% T� 12:ș "Wimp_CreateMenu",,typemenu%,mousex%-48,mousey%+10:selectmenu%=typemenu% $� .q� video_backtracks%:� button%=2 � ș "Wimp_CreateMenu",,mainmenu%,mousex%-48,mousey%+10:selectmenu%=mainmenu% 84� video_savebox%:� (button% � 5)<>0 � Ȏ icon% � B � 0:savetype$="FFF":�dragbox L"� 2:savetype$="FFF":�quicksave V� 3:savealltext$="Yes" `� 4:savealltext$="No" j� t5� video_savebox2%:� (button% � 5)<>0 � Ȏ icon% � ~ � 0:savetype$="E91":�dragbox �"� 2:savetype$="E91":�quicksave �� �4� video_options%:� (button% � 5)<>0 � Ȏ icon% � �� 7:outlinefonts%=1 �� 8:outlinefonts%=0 �G� 9:max_record%=50:�update_icon(video_index%,9,"/ "+�(max_record%)) �I� 12:max_record%=100:�update_icon(video_index%,9,"/ "+�(max_record%)) �I� 13:max_record%=150:�update_icon(video_index%,9,"/ "+�(max_record%)) �I� 14:max_record%=200:�update_icon(video_index%,9,"/ "+�(max_record%)) �I� 15:max_record%=250:�update_icon(video_index%,9,"/ "+�(max_record%)) �� �8� video_mainoptions%:� (button% � 5)<>0 � Ȏ icon% � U� 2:�read_options:�save_options:�close(video_mainoptions%):�close(video_options%) G� 1:�read_options:�close(video_mainoptions%):�close(video_options%) � 3� video_search%:� (button% � 5)<>0 � Ȏ icon% � (� 3:searchtype$="Name" 2� 4:searchtype$="Category" <*� 5:�clear_search:�search(searchtype$) FP� 7:�update_icon(video_search%,1,searchstring$):�move_caret(video_search%,1) P?� 9:� casesense$="Yes" � casesense$="No" � casesense$="Yes" Z� 10 dlsearchtype$="Category":ș "WimpExt_SetIcon",,,video_search%,3,0:ș "WimpExt_SetIcon",,,video_search%,4,1 n�ș "Wimp_CreateMenu",,categorymenu%,mousex%-48,mousey%+10:selectmenu%=categorymenu%:selecticon%=1:selectwindow%=video_search% x� �'� video_found%:� (button% � 5)<>0 � �bclick_record%=�(�indirect(video_found%,icon%)):� click_record%<>0 � �read:�fill(click_record%) �� �2� video_print%:� (button% � 5)<>0 � Ȏ icon% � �� 1:printer$="Draft" �� 2:printer$="NLQ" �*� 3:printer$="RISCOS":printwhat$="Vid" �7� 7:� printer$="RISCOS" � �printer_drivers � �print �� 9:printwhat$="AT" �� 11:printwhat$="Vid" �� 10:printwhat$="All" �� 14:printall$="Yes" �� 15:printall$="No" <� 19:� linefeed$="No" � linefeed$="Yes" � linefeed$="No" � 2� video_clear%:� (button% � 5)<>0 � Ȏ icon% � "� 1:�clear_data ,8� 2:�close(video_clear%):ș "WimpExt_ReleasePointer" 6� @1� video_quit%:� (button% � 5)<>0 � Ȏ icon% � J� 1:quit%=� T7� 2:�close(video_quit%):ș "WimpExt_ReleasePointer" ^� h� r� |� �: �#��speed_change(icon%,spearray%) �<�update_icon(video_tracks%,icon%,speedarray$(spearray%)) �� �: �6��key_pressed(window%,icon%,key_index%,character%) �Ȏ character% � �� 13 �Ȏ window% � �� video_options%:Ȏ icon% � �%� 3:�move_caret(video_options%,4) �&� 4:�move_caret(video_options%,11) �'� 11:�move_caret(video_options%,16) '� 16:�move_caret(video_options%,17) '� 17:�move_caret(video_options%,18) &� 18:�move_caret(video_options%,3) &� 0� video_savebox% :7savetype$="FFF":ș "Wimp_CreateMenu",,-1:�quicksave D� video_savebox2% N7savetype$="E91":ș "Wimp_CreateMenu",,-1:�quicksave X� video_print%:Ȏ icon% � b$� 6:�move_caret(video_print%,12) l(� 13:ș "Wimp_CreateMenu",,-1:�print v� �O� video_search%:ș "Wimp_CreateMenu",,-1:�clear_search:�search(searchtype$) �7� video_tracks%:ș "Wimp_CreateMenu",,-1:Ȏ icon% � �� 8,17,26,35,44,53,62,71,80 �C�tracks_move_caret(video_tracks%,icon%+2):�read:�read_tracklist �B� 89:�tracks_move_caret(video_tracks%,1):�read:�read_tracklist �E:�tracks_move_caret(video_tracks%,icon%+1):�read:�read_tracklist �� �6� video_index%:ș "Wimp_CreateMenu",,-1:Ȏ icon% � �� 5:�number_update �)� 6:�move_caret(video_index%,7):�read �)� 7:�move_caret(video_index%,8):�read �1� 8:�tracks_move_caret(video_tracks%,1):�read �� � � 27:�close_all � &181 Lș "Wimp_CreateMenu",,-1:�open(video_print%):�move_caret(video_print%,6) * � &188 41ș "Wimp_CreateMenu",,-1:�clear_data_question > � &183 HRș "Wimp_CreateMenu",,-1:�open(video_savebox2%):�move_caret(video_savebox2%,1) R � &184 \cș "Wimp_CreateMenu",,-1:�close(video_found%):�open(video_search%):�move_caret(video_search%,1) f � &185 pAș "Wimp_CreateMenu",,-1:�swap_case(window%,icon%,key_index%) z � &186 ��ș "Wimp_CreateMenu",,-1:Text$=¤read_icon_text(window%,icon%,�),key_index%):�update_icon(window%,icon%,Text$):�_SetCaretPosition(window%,icon%,0) � � &187 ��ș "Wimp_CreateMenu",,-1:Text$=��read_icon_text(window%,icon%,�),key_index%):�update_icon(window%,icon%,Text$):�read:�read_tracklist � � &1E �@ș "Wimp_CreateMenu",,-1:�tracks_move_caret(video_tracks%,1) �>:ș "Wimp_CreateMenu",,-1:ș "Wimp_ProcessKey",character% �� �� �: ���move_caret(window%,icon%) �1ș "Wimp_SetCaretPosition",window%,icon%,,,-1 �� �: &��tracks_move_caret(window%,icon%) /� caretx%,carety%,top%,bottom%,left%,right% � icon%<1 � icon%=89 $� icon%>89 � icon%=1 .1ș "Wimp_SetCaretPosition",window%,icon%,,,-1 8"ș "Wimp_GetCaretPosition",,q% Bcaretx%=q%!8:carety%=q%!12 L!q%=video_tracks% V ș "Wimp_GetWindowState",,q% `(top%=q%!24:bottom%=top%-(q%!16-q%!8) j)left%=q%!20:right%=left%+(q%!12-q%!4) t� (left%-64<caretx%) � ~q%!20=caretx%-8 �ș "Wimp_OpenWindow",,q% �� �0� icon%=1 � q%!20=0:ș "Wimp_OpenWindow",,q% �� �: ���menu_select �� selection%,selection$ �� selection% 255 �3ș "Wimp_DecodeMenu",,selectmenu%,q%,selection% �selection$=$selection% �Ȏ selection$ � �D� day1$:�update_icon(video_tracks%,selecticon%,selection$):�read D� day2$:�update_icon(video_tracks%,selecticon%,selection$):�read D� day3$:�update_icon(video_tracks%,selecticon%,selection$):�read D� day4$:�update_icon(video_tracks%,selecticon%,selection$):�read D� day5$:�update_icon(video_tracks%,selecticon%,selection$):�read (D� day6$:�update_icon(video_tracks%,selecticon%,selection$):�read 2D� day7$:�update_icon(video_tracks%,selecticon%,selection$):�read <I� "American":�update_icon(selectwindow%,selecticon%,selection$):�read FG� "Comedy":�update_icon(selectwindow%,selecticon%,selection$):�read PJ� "Game Show":�update_icon(selectwindow%,selecticon%,selection$):�read ZF� "Drama":�update_icon(selectwindow%,selecticon%,selection$):�read dE� "Film":�update_icon(selectwindow%,selecticon%,selection$):�read nH� "Cartoon":�update_icon(selectwindow%,selecticon%,selection$):�read xE� "News":�update_icon(selectwindow%,selecticon%,selection$):�read �H� "Weather":�update_icon(selectwindow%,selecticon%,selection$):�read �F� "Music":�update_icon(selectwindow%,selecticon%,selection$):�read �I� "Children":�update_icon(selectwindow%,selecticon%,selection$):�read �C� "SP":�update_icon(video_tracks%,selecticon%,selection$):�read �C� "LP":�update_icon(video_tracks%,selecticon%,selection$):�read �>� "Clear":�update_icon(video_tracks%,selecticon%,""):�read �K� "Soap Opera":�update_icon(selectwindow%,selecticon%,selection$):�read �F� "Sport":�update_icon(selectwindow%,selecticon%,selection$):�read �F� "BBC 1":�update_icon(video_tracks%,selecticon%,selection$):�read �F� "BBC 2":�update_icon(video_tracks%,selecticon%,selection$):�read �D� "ITV":�update_icon(video_tracks%,selecticon%,selection$):�read �J� "Channel 4":�update_icon(video_tracks%,selecticon%,selection$):�read �N� "Movie Channel":�update_icon(video_tracks%,selecticon%,selection$):�read I� "Movies +":�update_icon(video_tracks%,selecticon%,selection$):�read L� "Movies Gold":�update_icon(video_tracks%,selecticon%,selection$):�read H� "Sky One":�update_icon(video_tracks%,selecticon%,selection$):�read "K� "Sky Sports":�update_icon(video_tracks%,selecticon%,selection$):�read ,I� "Sky News":�update_icon(video_tracks%,selecticon%,selection$):�read 6J� "Eurosport":�update_icon(video_tracks%,selecticon%,selection$):�read @H� "UK Gold":�update_icon(video_tracks%,selecticon%,selection$):�read JD� "MTV":�update_icon(video_tracks%,selecticon%,selection$):�read TL� channelmenu1$:�update_icon(video_tracks%,selecticon%,selection$):�read ^L� channelmenu2$:�update_icon(video_tracks%,selecticon%,selection$):�read hL� channelmenu3$:�update_icon(video_tracks%,selecticon%,selection$):�read rL� channelmenu4$:�update_icon(video_tracks%,selecticon%,selection$):�read |L� channelmenu5$:�update_icon(video_tracks%,selecticon%,selection$):�read �L� channelmenu6$:�update_icon(video_tracks%,selecticon%,selection$):�read �N� "Adult Channel":�update_icon(video_tracks%,selecticon%,selection$):�read �=� "Betamax":�update_icon(video_index%,6,selection$):�read �9� "VHS":�update_icon(video_index%,6,selection$):�read �:� "VHSC":�update_icon(video_index%,6,selection$):�read �?� "Super VHS":�update_icon(video_index%,6,selection$):�read �=� "Video 8":�update_icon(video_index%,6,selection$):�read �@� "Video 2000":�update_icon(video_index%,6,selection$):�read �K� "10 minutes":�update_icon(video_tracks%,selecticon%,selection$):�read �K� "15 minutes":�update_icon(video_tracks%,selecticon%,selection$):�read �K� "20 minutes":�update_icon(video_tracks%,selecticon%,selection$):�read �K� "25 minutes":�update_icon(video_tracks%,selecticon%,selection$):�read �K� "30 minutes":�update_icon(video_tracks%,selecticon%,selection$):�read K� "45 minutes":�update_icon(video_tracks%,selecticon%,selection$):�read K� "50 minutes":�update_icon(video_tracks%,selecticon%,selection$):�read G� "1 hour":�update_icon(video_tracks%,selecticon%,selection$):�read &N� "1 hour 30 min":�update_icon(video_tracks%,selecticon%,selection$):�read 0H� "2 hours":�update_icon(video_tracks%,selecticon%,selection$):�read :@� "60 minutes":�update_icon(video_index%,7,selection$):�read DA� "120 minutes":�update_icon(video_index%,7,selection$):�read NA� "180 minutes":�update_icon(video_index%,7,selection$):�read XA� "240 minutes":�update_icon(video_index%,7,selection$):�read bF� "Dolby":�update_icon(video_tracks%,selecticon%,selection$):�read lE� "Mono":�update_icon(video_tracks%,selecticon%,selection$):�read vF� "Nicam":�update_icon(video_tracks%,selecticon%,selection$):�read �G� "Stereo":�update_icon(video_tracks%,selecticon%,selection$):�read �:� "Copy":�update_icon(video_index%,8,selection$):�read �<� "Master":�update_icon(video_index%,8,selection$):�read �"� "Clear Record":�clear_single �B� "Options...":�open(video_mainoptions%):�open(video_options%) �)� "Restart F8":�clear_data_question �� "Quit":�quit_check �� � ș "Wimp_GetPointerInfo",,q% �0� q%!8=1 � ș "Wimp_CreateMenu",,selectmenu% �� �: ���receive(q%) Ȏ q%!16 � � 0:�quit_check � 2:�datasave @� 3,5:� q%!12=0 � q%!40=&E91 � �load_acknowledge:�ok_to_load *� 4:�load_acknowledge 4� &502:�help(�help_text) >� 9,&400C1:�get_mode_info H� &400C2:�check_new_task R� \� f: p��check_new_task z-newtaskid%=q%!4:taskname$=�string0(q%+28) �=� taskname$="Video Index" � newtaskid%<>handle% � quit%=� �� �: �&ݤcreate_menu(menu$,menu2$,menu3$) �2� menufree%+28>menuend% � � 1,"Menu Area Full" �� m%,r% �menuptr%=menufree% �r%=0 �?� �menu$,1)="#" � r%=1:menutitle$=�par(",") � menutitle$="" �� �menutitle$,1)="{" � �boticon%=9 �+menutitle$=�menutitle$,�(menutitle$)-1) �� boticon%=1 � $menuptr%=menutitle$ $;menuptr%?12=7:menuptr%?13=2:menuptr%?14=7:menuptr%?15=0 .3menuptr%!16=196-24:menuptr%!20=44:menuptr%!24=0 8$menuptr%+=28:maxx%=�menutitle$-2 B� Litem$=�par(",") V� item$="++" � `r%=0 jmenu$=menu2$ t� ~� item$="+++" � �r%=0 �menu%=menu3$ �� ��menu_item(item$) �� �� �� item$="" �� maxx%>20 � maxx%=20 �$m%=menufree%:m%!16=(maxx%*8+6)*2 �menufree%=menuptr% �=m% �: ��menu_item(text$) 3� text$="" � menuptr%!-24=(menuptr%!-24)� &80:� 2� menuptr%+24 >menuend% � � 1,"Menu Area Full" � r%,flag%,V% ( flag%=&00 2r%=�text$,">") <� r%>0 � Fsubptr%=��text$,r%+1) Ptext$=�text$,r%-1) Z� drr%=�text$,"}") n � rr%>0 � xsubptr%=��text$,rr%+1) �text$=�text,rr%-1) �flag%+=&08 �� �subptr%=-1 �� �� �7� �text$,1)="#" � text$=�text$,�text$-1):flag%+=&02 �7� �text$,1)="\" � text$=�text$,�text$-1):flag%+=&01 �rrr%=�text$,"|") �rrrr%=�text$,"�") �� rrr%=0 � rrrr%=0 � �mfg%=0<<28:mbg%=7<<24 �� Ȏ rrr% � � 0:mfg%=0 <<28 "'mfg%=(�(�text$,rrr%+1,2)) � 16)<<28 ,'text$=�text$,rrr%-1)+�text$,rrr%+3) 6� @rrrr%=�text$,"�") JȎ rrrr% � T� 0:mbg%=7<<24 ^ h(mbg%=(�(�text$,rrrr%+1,2)) � 16)<<24 r)text$=�text$,rrrr%-1)+�text$,rrrr%+3) |� �� �menuptr%!0=flag% �menuptr%!4=subptr% �%menuptr%!8=mfg%+mbg%+&20+boticon% �L� �text$,1)="/" � text$=�text$,�text$-1):menuptr%!8=(menuptr%!8 � 1<<22) �� �text$,1)="$" � �!menuptr%+=&04 �menuptr%!+=&108 �r%=�text$,"(") �7� r%>0 � L%=��text$,r%+1):text$=�text$,r%-1)� L%=12 � V%=-1 �menuptr%!12=��text$,2) �menuptr%!16=-1 menuptr%!20=L% text$=�L%," ") � &� �text$<=12 � 0$(menuptr%+12)=text$ :� D%R%=�workspace(�text$+1):$R%=text$ N6menuptr%!12=R%:menuptr%!16=-1:menuptr%!20=�text$+1 X menuptr%!8=menuptr%!8 � &100 b� l� v!� �text$>maxx% � maxx%=�text$ �menuptr%+=24 �� �: �ݤpar(sep$) �%r1%=r%+1:r%=�menu$+sep$,sep$,r1%) �=�menu$,r1%,r%-r1%) �: �ݤworkspace(L%) �3� curws%+L%>maxws% � � 1,"No More Buffer Space" �curws%+=L%:=curws%-L% �: ���initialise_video_index �0� format$(250),video_length$(250),type$(250) !>� name$(250,10),start$(250,10),stop$(250,10),date$(250,10) !7� category$(250,10),speed$(250,10),channel$(250,10) !>� length$(250,10),audio$(250,10),speedarray$(2),speed%(10) ! speedarray$()="","SP","LP" !*8record_number%=1:searchtype$="Name":printer$="Draft" !45printwhat$="All":searchstring$="":casesense$="No" !>5savealltext$="Yes":linefeed$="No":printall$="Yes" !H9ș "Font_FindFont",,"Corpus.Medium",160,160 � corpus% !R=ș "Font_FindFont",,"Homerton.Medium",160,160 � homerton% !\�load_options !f� !p: !z��update !�speed%()=0 !�)� record_number%<1 � record_number%=1 !�=� record_number%>max_record% � record_number%=max_record% !��fill(record_number%) !�� !�: !���fill(record_number%) !�ș "Hourglass_On" !�3�update_icon(video_print%,12,�(record_number%)) !�2�update_icon(video_index%,5,�(record_number%)) !�C�tracks_move_caret(video_tracks%,1):�move_caret(video_index%,6) !�8�update_icon(video_index%,6,format$(record_number%)) !�>�update_icon(video_index%,7,video_length$(record_number%)) "6�update_icon(video_index%,8,type$(record_number%)) "�update_tracks "ș "Hourglass_Off" "$� ".: "8��number_update "B/record_number%=�(�indirect(video_index%,5)) "L)� record_number%<1 � record_number%=1 "V=� record_number%>max_record% � record_number%=max_record% "`�fill(record_number%) "j� "t: "~��re_title(new_title$) "�!q%=video_index% "�ș "Wimp_GetWindowInfo",,q% "�7� ((q%!60) � &100)=0 � � 1,"Title isn't indirected" "�$(q%!76)=new_title$ "�O� ((q%!32) � (1<<16))<>0 ș "Wimp_ForceRedraw",-1,q%!4,q%!16,q%!12,q%!16+44 "�� "�: "� ��read "��re_title("Video Index *") "�unsaved%=� "�/record_number%=�(�indirect(video_index%,5)) "�5format$(record_number%)=�indirect(video_index%,6) # ;video_length$(record_number%)=�indirect(video_index%,7) # 3type$(record_number%)=�indirect(video_index%,8) #� #: #(ݤindirect(!q%,q%!4) #2ș "Wimp_GetIconState",,q% #< =$(q%!28) #F: #P ��new #Zș "Hourglass_On" #d0�open(video_index%):�open(video_backtracks%) #n<�open(video_tracks%):�tracks_move_caret(video_tracks%,1) #x�move_caret(video_index%,6) #�� I%=1 � max_record% #�5ș "Hourglass_Percentage",�((I%/max_record%)*100) #�4format$(I%)="":video_length$(I%)="":type$(I%)="" #�� subI%=1 � 10 #�=name$(I%,subI%)="":start$(I%,subI%)="":stop$(I%,subI%)="" #�Adate$(I%,subI%)="":category$(I%,subI%)="":speed$(I%,subI%)="" #�Bchannel$(I%,subI%)="":length$(I%,subI%)="":audio$(I%,subI%)="" #�� subI% #�� I% #�record_number%=1 #�2�update_icon(video_index%,5,�(record_number%)) #�ș "Hourglass_Off" #�unsaved%=� $� $: $��load_acknowledge $"q%!12=q%!8 $,q%!16=4 $6$ș "Wimp_SendMessage",17,q%,q%!4 $@� $J: $T��ok_to_load $^filename$="" $ha%=0 $rb%=q%?(44+a%) $|ȕ b%<>0 $�filename$+=�(b%) $� a%+=1 $�b%=q%?(44+a%) $�� $�C�load_data(filename$):�update_icon(video_savebox2%,1,filename$) $�� $�: $���load_data(datafile$) $�ș "Hourglass_On" $�load_error%=� $�CH%=�(datafile$) $�� load_error%=� � $��#CH%,max_record% %� I%=1 � max_record% %1�#CH%,format$(I%),video_length$(I%),type$(I%) %� subI%=1 � 10 %&:�#CH%,name$(I%,subI%),start$(I%,subI%),stop$(I%,subI%) %0>�#CH%,date$(I%,subI%),category$(I%,subI%),speed$(I%,subI%) %:?�#CH%,channel$(I%,subI%),length$(I%,subI%),audio$(I%,subI%) %D� subI% %NV� �((I%/max_record%)*100)<>100 � ș "Hourglass_Percentage",�((I%/max_record%)*100) %X� I% %b �#CH% %l�re_title("Video Index") %vunsaved%=� %��close_all %�E�open(video_index%):�open(video_backtracks%):�open(video_tracks%) %�record_number%=1 %��update %�� %� �#CH% %�� %�ș "Hourglass_Off" %��alter_no_of_records %�� %�: %� ��dragbox %�x%=!q%:y%=q%!4 &Aq%!4=5:q%!8=x%-40:q%!12=y%-40:q%!16=x%+40:q%!20=y%+40:q%!24=0 &'q%!28=0:q%!32=&7FFFFFFF:q%!36=q%!32 &ș "Wimp_DragBox",,q% & � &*: &4��quicksave &>=� savetype$="FFF" � fullname$=�indirect(video_savebox%,1) &H>� savetype$="E91" � fullname$=�indirect(video_savebox2%,1) &R3� fullname$="" � � 1,"Please insert a filename" &\L� �fullname$,".")=0 � � 1,"To save, drag the icon to a directory viewer" &fE� savetype$="E91" � �save_data(fullname$) � �save_text(fullname$) &p6� savetype$="E91" � � "SetType "+fullname$+" &E91" &z6� savetype$="FFF" � � "SetType "+fullname$+" Text" &�@� savetype$="FFF" � �update_icon(video_savebox%,1,fullname$) &�A� savetype$="E91" � �update_icon(video_savebox2%,1,fullname$) &�K�re_title("Video Index"):�close(video_savebox%):�close(video_savebox2%) &�unsaved%=� &�ș "Wimp_CreateMenu",,-1 &�� &�: &���initiate_save(fname$) &� ș "Wimp_GetPointerInfo",,q% &�� q%!12=video_index% � &�q%!20=q%!12:q%!12=0 &�q%!24=q%!16:q%!16=1 &�q%!28=q%!0:q%!0=64 'q%!32=q%!4:q%!36=8096 '/� savetype$="E91" � q%!40=&E91 � q%!40=&FFF '!$(q%+44)=�get_leaf(fname$)+�0 '$%ș "Wimp_SendMessage",17,q%,q%!20 '.� '8: 'Bݤget_leaf(fname$) 'Lȕ �fname$,".") 'V"fname$=�fname$,�fname$,".")+1) '`� 'j=fname$+�0 't: '~��datasave '�fullname$=�string(q%+44) '�Ȏ savetype$ � '�� "E91" '��save_data(fullname$) '�q%!12=q%!8:q%!16=3 '�$ș "Wimp_SendMessage",17,q%,q%!4 '�&� "SetType "+fullname$+" VideoIdx" '�ș "Wimp_CreateMenu",,-1 '��re_title("Video Index") '�\�close(video_savebox2%):�tracks_move_caret(video_tracks%,1):�move_caret(video_index%,12) '�unsaved%=� '�-�update_icon(video_savebox2%,1,fullname$) ( � "FFF" ( �save_text(fullname$) (q%!12=q%!8:q%!16=3 ($ș "Wimp_SendMessage",17,q%,q%!4 (("� "SetType "+fullname$+" Text" (2ș "Wimp_CreateMenu",,-1 (<[�close(video_savebox%):�tracks_move_caret(video_tracks%,1):�move_caret(video_index%,12) (F,�update_icon(video_savebox%,1,fullname$) (P� (Z� (d: (nݤstring(a%) (x� b$ (� b$="" (� ȕ ?a%<>0 (�b$+=�?a% (� a%+=1 (�� (�=b$ (�: (�5ݤstring0(a%):� a$:ȕ ?a%>31:a$+=�?a%:a%+=1:�:=a$ (�: (���save_data(fullname$) (�ș "Hourglass_On" (�CH%=�fullname$ (��#CH%,max_record% )� I%=1 � max_record% )1�#CH%,format$(I%),video_length$(I%),type$(I%) )� subI%=1 � 10 )":�#CH%,name$(I%,subI%),start$(I%,subI%),stop$(I%,subI%) ),>�#CH%,date$(I%,subI%),category$(I%,subI%),speed$(I%,subI%) )6?�#CH%,channel$(I%,subI%),length$(I%,subI%),audio$(I%,subI%) )@� subI% )JV� �((I%/max_record%)*100)<>100 � ș "Hourglass_Percentage",�((I%/max_record%)*100) )T� I% )^ �#CH% )hș "Hourglass_Off" )r� )|: )���save_text(fullname$) )�ș "Hourglass_On" )�Ȏ savealltext$ � )�� "Yes" )�CH%=�fullname$ )�� I%=1 � max_record% )�U� video_length$(I%)<>"" � format$(I%)<>"" � type$(I%)<>"" � �save_record_text(I%) )�V� �((I%/max_record%)*100)<>100 � ș "Hourglass_Percentage",�((I%/max_record%)*100) )�� I% )� �#CH% )� � "No" )�Kfrom%=�(�indirect(video_savebox%,5)):to%=�(�indirect(video_savebox%,6)) )�V� from%<1 � to%>max_record% � � 1,"Enter values between 1 and "+�(max_record%)+"." *CH%=�fullname$ *� I%=from% � to% *U� video_length$(I%)<>"" � format$(I%)<>"" � type$(I%)<>"" � �save_record_text(I%) *&V� �((I%/max_record%)*100)<>100 � ș "Hourglass_Percentage",�((I%/max_record%)*100) *0� I% *: �#CH% *D� *Nș "Hourglass_Off" *X� *b: *l��save_record_text(I%) *v�#CH%,"Number: "+�(I%) *���#CH%,"Format: "+format$(I%)+�15-�(format$(I%))," ")+" Type: "+type$(I%)+�15-�(type$(I%))," ")+"Length: "+video_length$(I%)+�15-�(video_length$(I%))," ") *� �#CH%," " *���#CH%,"Name:"+�22," ")+"Category:"+�4," ")+"Channel:"+�7," ")+"Date:"+�5," ")+"Audio"+�5," ")+"Length:"+�9," ")+"Start:"+�2," ")+"Stop:"+�3," ")+"Speed:" *�� subI%=1 � 10 *�Ia=�(name$(I%,subI%)):b=�(category$(I%,subI%)):c=�(channel$(I%,subI%)) *�Ed=�(date$(I%,subI%)):e=�(audio$(I%,subI%)):f=�(length$(I%,subI%)) *�Dg=�(start$(I%,subI%)):h=�(stop$(I%,subI%)):i=�(speed$(I%,subI%)) *Ƃhalfstring$=name$(I%,subI%)+�27-a," ")+category$(I%,subI%)+�13-b," ")+channel$(I%,subI%)+�15-c," ")+date$(I%,subI%)+�10-d," ") *Мstringtosave$=halfstring$+audio$(I%,subI%)+�10-e," ")+length$(I%,subI%)+�16-f," ")+start$(I%,subI%)+�8-g," ")+stop$(I%,subI%)+�8-h," ")+speed$(I%,subI%) *�Z� (a<>0 � b<>0 � c<>0 � d<>0 � e<>0 � f<>0 � g<>0 � h<>0 � i<>0) � �#CH%,stringtosave$ *�� subI% *� �#CH%," " *�}�#CH%,"-----------------------------------------------------------------------------------------------------------------" + �#CH%," " +� +: + ��print +*U�update_icon(video_wait%,0,"Printing In Progress Please Wait"):�open(video_wait%) +4�redraw_window(video_wait%) +>ș "Hourglass_On" +H(copies%=�(�indirect(video_print%,6)) +Ru� copies%=0 � ș "Hourglass_Off":ș "Wimp_CreateMenu",,-1:� 1,"Set number of copies to a value greater than 0.":� +\Ȏ printer$ � +f � "Draft" +p copy=0:� 2:� 1,27,1,120,1,48 +z� +�Ȏ printwhat$ � +�� "AT":�print_list +�� "All":�print_table +�� "Vid":�print_label +�� +�copy+=1:� copy=copies% +�� 3 +�� "NLQ" +� copy=0:� 2:� 1,27,1,120,1,49 +�� +�Ȏ printwhat$ � +�� "AT":�print_list +�� "All":�print_table ,� "Vid":�print_label ,� ,copy+=1:� copy=copies% ,$� 1,27,1,120,1,48 ,.� 3 ,8� ,Bș "Hourglass_Off" ,Lș "Wimp_CreateMenu",,-1 ,V,�close(video_wait%):�close(video_print%) ,`� ,j: ,t��print_label ,~(� linefeed$="Yes" � vdu%=10 � vdu%=0 ,�/inlay_number%=�(�indirect(video_print%,12)) ,� � 1,15 ,�-�0);"Number: "+�(inlay_number%):� 1,vdu% ,�Y�0);"Format: "+format$(inlay_number%);�25);" Type: "+type$(inlay_number%):� 1,vdu% ,�>�0);"Length: "+video_length$(inlay_number%);�25):� 1,vdu% ,�O�0);"1)";name$(inlay_number%,1);�28);" 6)";name$(inlay_number%,6):� 1,vdu% ,�O�0);"2)";name$(inlay_number%,2);�28);" 7)";name$(inlay_number%,7):� 1,vdu% ,�O�0);"3)";name$(inlay_number%,3);�28);" 8)";name$(inlay_number%,8):� 1,vdu% ,�O�0);"4)";name$(inlay_number%,4);�28);" 9)";name$(inlay_number%,9):� 1,vdu% ,�P�0);"5)";name$(inlay_number%,5);�28);"10)";name$(inlay_number%,10):� 1,vdu% ,� � 1,18 ,� � 1,12 - � - : -��print_list -needsprinting%=0 -((� linefeed$="Yes" � vdu%=10 � vdu%=0 -2� printall$="No" � -<Ifrom%=�(�indirect(video_print%,16)):to%=�(�indirect(video_print%,17)) -FV� from%<1 � to%>max_record% � � 1,"Enter values between 1 and "+�(max_record%)+"." -P� -Z/� printall$="Yes" � from%=1:to%=max_record% -d� I%=from% � to% -nA� format$(I%)<>"" � video_length$(I%)<>"" � needsprinting%+=1 -x� I% -�csubitem%=0:printed%=0:� needsprinting%=0 � � 3:�close(video_wait%):� 1,"No records to print.":� -�� I%=from% � to% -�/� format$(I%)<>"" � video_length$(I%)<>"" � -�subitem%+=1:printed%+=1 -�� 1,27,1,71 -�� 1,27,1,80 -�#� �0);"Number: "+�(I%):� 1,vdu% -�l� �0);"Format: "+format$(I%);�30);" Type: "+type$(I%);�50);" Length: "+video_length$(I%);�30):� 1,vdu% -�� 1,27,1,72 -�� 1,27,1,80 -���80,"-"):� 1,vdu% -�� -�%� subitem%=20 � subitem%=0:� 1,12 .� 3 .h� �((printed%/needsprinting%)*100)<>100 � ș "Hourglass_Percentage",�((printed%/needsprinting%)*100) .� 2 ."� I% ., � 1,12 .6� .@: .J��print_table .Tneedsprinting%=0 .^(� linefeed$="Yes" � vdu%=10 � vdu%=0 .h� printall$="No" � .rIfrom%=�(�indirect(video_print%,16)):to%=�(�indirect(video_print%,17)) .|V� from%<1 � to%>max_record% � � 1,"Enter values between 1 and "+�(max_record%)+"." .�� .�/� printall$="Yes" � from%=1:to%=max_record% .�� I%=from% � to% .�A� format$(I%)<>"" � video_length$(I%)<>"" � needsprinting%+=1 .�� I% .�csubitem%=0:printed%=0:� needsprinting%=0 � � 3:�close(video_wait%):� 1,"No records to print.":� .�� I%=from% � to% .�/� format$(I%)<>"" � video_length$(I%)<>"" � .�subitem%+=1:printed%+=1 .�� 1,27,1,71 .�� 1,27,1,80 .�"�0);"Number: "+�(I%):� 1,vdu% .�subitem%+=1 /g�0);"Format: "+format$(I%);�30);"Type: "+type$(I%);�50);"Length: "+video_length$(I%);�30):� 1,vdu% /subitem%+=2 /� 1,27,1,72 /&� 1,27,1,103 /0��:� 1,vdu%:�"Name:"+�22," ")+"Category:"+�4," ")+"Channel:"+�7," ")+"Date:"+�5," ")+"Audio"+�5," ")+"Length:"+�9," ")+"Start:"+�2," ")+"Stop:"+�3," ")+"Speed:":� 1,vdu% /:� subI%=1 � 10 /DIa=�(name$(I%,subI%)):b=�(category$(I%,subI%)):c=�(channel$(I%,subI%)) /NEd=�(date$(I%,subI%)):e=�(audio$(I%,subI%)):f=�(length$(I%,subI%)) /XDg=�(start$(I%,subI%)):h=�(stop$(I%,subI%)):i=�(speed$(I%,subI%)) /b�halfstring$=name$(I%,subI%)+�27-a," ")+category$(I%,subI%)+�13-b," ")+channel$(I%,subI%)+�15-c," ")+date$(I%,subI%)+�10-d," ") /l�stringtosave$=halfstring$+audio$(I%,subI%)+�10-e," ")+length$(I%,subI%)+�16-f," ")+start$(I%,subI%)+�8-g," ")+stop$(I%,subI%)+�8-h," ")+speed$(I%,subI%) /vk� (a<>0 � b<>0 � c<>0 � d<>0 � e<>0 � f<>0 � g<>0 � h<>0 � i<>0) � � stringtosave$:� 1,vdu%:subitem%+=1 /�� subI% /�� 1,27,1,80 /�"subitem%+=1:��80,"-"):� 1,vdu% /�� /�%� subitem%>50 � subitem%=0:� 1,12 /�� 3 /�h� �((printed%/needsprinting%)*100)<>100 � ș "Hourglass_Percentage",�((printed%/needsprinting%)*100) /�� 2 /�� I% /� � 1,12 /�� /�: /���redraw_window(window%) 0!q%=window% 0&ș "Wimp_RedrawWindow",,q% � more% 0ȕ more% 0 ș "WimpExt_Redraw",,q% 0*&ș "Wimp_GetRectangle",,q% � more% 04� 0>� 0H: 0R��announce 0\D�open(video_announce%):ș "WimpExt_LimitPointer",video_announce% 0f(�update_icon(video_announce%,4,ver$) 0p#�redraw_window(video_announce%) 0z'ș "Hourglass_LEDs",1,0:�make_menus 0� ș "Hourglass_LEDs",0,1:�new 0�)ș "Hourglass_LEDs",1,1:�clear_search 0�F� wait%=1 � 25:Ȗ:Ȗ:ș "Hourglass_Percentage",�((wait%/25)*100):� 0��close(video_announce%) 0�ș "WimpExt_ReleasePointer" 0�� 0�: 0���clear_data_question 0�� 7 0�5�open(video_clear%):ș "Wimp_SetCaretPosition",-1 0�*ș "WimpExt_LimitPointer",video_clear% 0�� 0�: 1��clear_data 1�new 1�update 1$�re_title("Video Index") 1.unsaved%=� 18�close_all 1Bș "WimpExt_ReleasePointer" 1L� 1V: 1`��quit_check 1jȎ unsaved% � 1t� � 1~� 7 1�4�open(video_quit%):ș "Wimp_SetCaretPosition",-1 1�)ș "WimpExt_LimitPointer",video_quit% 1�� �:quit%=� 1�� 1�� 1�: 1�)��swap_case(window%,icon%,key_index%) 1�6� key_index%<�(�read_icon_text(window%,icon%,�)) � 1�.IconText$=�read_icon_text(window%,icon%,�) 1�*C%=�(�IconText$,key_index%+1,1)) � &DF 1�� C%>=&41 � C%<=&5A � 1�-C$=�(�(�IconText$,key_index%+1,1)) � &20) 2 !�IconText$,key_index%+1,1)=C$ 2 )�update_icon(window%,icon%,IconText$) 2� 22�_SetCaretPosition(window%,icon%,key_index%+1) 2(� 22� 2<: 2F1��_SetCaretPosition(window%,icon%,key_index%) 2P3IconLength%=�(�read_icon_text(window%,icon%,�)) 2Z5� key_index%>IconLength% � key_index%=IconLength% 2d<ș "Wimp_SetCaretPosition",window%,icon%,,,-1,key_index% 2n"ș "Wimp_GetCaretPosition",,q% 2x� 2�: 2�(ݤread_icon_text(window%,icon%,Pad%) 2� � Result$ 2�!q%=window% 2�q%!4=icon% 2�ș "Wimp_GetIconState",,q% 2�� (q%!24 � (1<<8))<>0 � 2�Result$=$(q%!28) 2�� 2�Result$=$(q%+28) 2�� 2�)� Pad%>0 � =�Result$+�Pad%," "),Pad%) 2�=Result$ 3: 3��ms_load(mname$) 3%ș"MessageTrans_FileInfo",,mname$ 3"� ms_text%256 3,-ș"OS_Module",6,,,17+�(mname$)�,,ms_desc% 36$(ms_desc%+16)=mname$ 3@2ș"MessageTrans_OpenFile",ms_desc%,ms_desc%+16 3J� 3T: 3^��ms_end 3h(ș"XMessageTrans_CloseFile",ms_desc% 3rș"XOS_Module",7,,ms_desc% 3|� 3�: 3�ݤms_0(tag$) 3�=�ms_2(tag$,"","") 3�: 3�ݤms_1(tag$,arg1$) 3�=�ms_2(tag$,arg1$,"") 3�: 3�ݤms_2(tag$,arg1$,arg2$) 3� �F%,L% 3�Lș"XMessageTrans_Lookup",ms_desc%,tag$,ms_text%,256,arg1$,arg2$�,,,L%;F% 3��F%� 1�L%=0 3�ms_text%?L%=13 3�=$ms_text% 4: 4��help(help$) 4� C% 4&C%=�help$+1 40q%!12=q%!8 4:q%!16=&503 4D$(q%+20)=help$+�0 4N!q%=(24+C%)��3 4X#ș"Wimp_SendMessage",17,q%,q%!4 4b� 4l� 4v: 4�ݤhelp_text 4�� text$ 4�text$="" 4�Ȏ q%!32 � 4�� -2:text$=�ms_0("IconBar") 4�'� video_infobox%:text$=�ms_0("Add") 4�� video_index%:Ȏ q%!36 � 4�� 18:text$=�ms_0("First") 4�� 14,19:text$=�ms_0("One") 4�� 20,17:text$=�ms_0("Ten") 4�� 21:text$=�ms_0("Last") 4�� 5:text$=�ms_0("Rec") 4�� 6,7,8:text$=�ms_0("TeMe") 5&� 10:text$=�ms_1("Menu","Formats") 5&� 11:text$=�ms_1("Menu","Lengths") 5$� 12:text$=�ms_1("Menu","Types") 5 :text$=�ms_0("Main") 5*� 54+� video_backtracks%:text$=�ms_0("Main") 5>� video_tracks%:Ȏ q%!36 � 5HA� 141,142,143,144,145,146,147,148,149,150:text$=�ms_0("Type") 5R�� 91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140:text$=�ms_0("TeMe") 5\:text$=�ms_0("Text") 5f� 5p � video_savebox2%:Ȏ q%!36 � 5z� 0:text$=�ms_0("Drag") 5�� 1:text$=�ms_0("File") 5�� 2:text$=�ms_0("Save") 5�� 5�� video_savebox%:Ȏ q%!36 � 5�� 0:text$=�ms_0("DragT") 5�� 1:text$=�ms_0("FileT") 5�� 2:text$=�ms_0("SaveT") 5�� 5�� video_quit%:Ȏ q%!36 � 5�� 1,2:text$=�ms_0("Ques") 5�� 5�� video_clear%:Ȏ q%!36 � 5�� 1,2:text$=�ms_0("Ques") 6� 6� video_print%:Ȏ q%!36 � 6#� 1:text$=�ms_1("Qual","draft") 6$1� 2:text$=�ms_1("Qual","near letter quality") 6.5� 3:text$=�ms_1("Qual","RISC OS Printer Drivers") 68� 6:text$=�ms_0("Copy") 6B� 7:text$=�ms_0("Prin") 6L/� 9:text$=�ms_1("PriAll","Video Info Only") 6V-� 10:text$=�ms_1("PriAll","Full Details") 6`,� 11:text$=�ms_1("PriAll","Video Label") 6j� 12:text$=�ms_0("VidN") 6t� 6~� video_search%:Ȏ q%!36 � 6�� 1:text$=�ms_0("SeaText") 6�� 7:text$=�ms_0("SeaPrev") 6�� 5:text$=�ms_0("SearGo") 6�$� 3:text$=�ms_1("SeaTyp","Name") 6�(� 4:text$=�ms_1("SeaTyp","Category") 6�� 6�'� video_found%:text$=�ms_0("Found") 6�� 6� =text$ 6�: 6���get_mode_info 6�cx%=(�mv(�,11))<<(�mv(�,4)) 7 cy%=(�mv(�,12))<<(�mv(�,5)) 7 � 7: 7ݤmv(mode%,var%) 7(� v% 72.ș "OS_ReadModeVariable",mode%,var% � ,,v% 7<=v% 7F: 7P��clear_search 7Z� icon%:� icon%=0 � 51 7d(�update_icon(video_found%,icon%," ") 7n� 7xK�update_icon(video_found%,1,"could be found in the following records:") 7�� 7�: 7���search(field$) 7�ș "Hourglass_On" 7�foundicon%=2:found%=0 7�,searchstring$=�indirect(video_search%,1) 7�b� searchstring$="" � �close(video_search%):ș "Wimp_CreateMenu",,-1:� 1,"Enter search string." 7�.�update_icon(video_found%,0,searchstring$) 7�M� casesense$="No" � Search$=�upper(searchstring$) � Search$=searchstring$ 7�Ȏ field$ � 7�� "Name" 7�� number%=1 � max_record% 7�icon_used%=�:sub_number%=1 8:ș "Hourglass_Percentage",�((number%/max_record%)*100) 8� sub%=1 � 10 8Y� casesense$="No" � target$=�upper(name$(number%,sub%)) � target$=name$(number%,sub%) 8"1� b%=1 � � target$:a$=�target$,b%,�(Search$)) 8,<� Search$=a$ � �add_to_found(number%,sub_number%):� �D@x 86� b% 8@ � sub% 8J,� icon_used%=� � foundicon%+=1:found%+=1 8T � number% 8^� "Category" 8h� number%=1 � max_record% 8ricon_used%=�:sub_number%=1 8|:ș "Hourglass_Percentage",�((number%/max_record%)*100) 8�� sub%=1 � 10 8�a� casesense$="No" � target$=�upper(category$(number%,sub%)) � target$=category$(number%,sub%) 8�1� b%=1 � � target$:a$=�target$,b%,�(Search$)) 8�<� Search$=a$ � �add_to_found(number%,sub_number%):� �txx 8�� b% 8� � sub% 8�,� icon_used%=� � foundicon%+=1:found%+=1 8� � number% 8�� 8��close(video_search%) 8�$�update_icon(video_search%,1,"") 8�C�tracks_move_caret(video_tracks%,1):�move_caret(video_index%,5) 8�ș "Wimp_CreateMenu",,-1 9ș "Hourglass_Off" 9� found%<>0 � 9�open(video_found%) 9&� 901� 1,"'"+searchstring$+"' could not be found." 9:� 9D�� found%>50 � � 1,"'"+searchstring$+"' has been found in "+�(found%)+" records. The first 50 occurances are selectable from the 'Records Found' window." 9N� 9X: 9bݤupper(string$) 9l� loop% 9v� �(string$)>0 � 9�� loop% = 1 � �(string$) 9�7� �string$,loop%,1)>="a" � �string$,loop%,1)<="z" � 9�5�string$,loop%,1) = �(�(�string$,loop%,1)) � &DF) 9�� 9�� 9�� 9�=string$ 9�: 9�*��add_to_found(foundrecord%,foundsub%) 9�a� foundicon%<52 � �update_icon(video_found%,foundicon%,�(foundrecord%)+" ("+�(foundsub%)+")") 9�sub_number%+=1:icon_used%=� 9�� 9�: :��close_all :,�close(video_wait%):�close(video_print%) :.�close(video_search%):�close(video_found%) : 0�close(video_quit%):ș "Wimp_CreateMenu",,-1 :*/�close(video_clear%):�close(video_infobox%) :42�close(video_savebox%):�close(video_savebox2%) :>5�close(video_mainoptions%):�close(video_options%) :Hș "WimpExt_ReleasePointer" :R� :\: :f��read_tracklist :p.track_number%=�(�indirect(video_index%,5)) :z� I%=0 � 9 :�?name$(track_number%,I%+1)=�indirect(video_tracks%,1+(I%*9)) :�Ccategory$(track_number%,I%+1)=�indirect(video_tracks%,2+(I%*9)) :�Bchannel$(track_number%,I%+1)=�indirect(video_tracks%,3+(I%*9)) :�?date$(track_number%,I%+1)=�indirect(video_tracks%,4+(I%*9)) :�@audio$(track_number%,I%+1)=�indirect(video_tracks%,5+(I%*9)) :�Alength$(track_number%,I%+1)=�indirect(video_tracks%,6+(I%*9)) :�@start$(track_number%,I%+1)=�indirect(video_tracks%,7+(I%*9)) :�?stop$(track_number%,I%+1)=�indirect(video_tracks%,8+(I%*9)) :�@speed$(track_number%,I%+1)=�indirect(video_tracks%,9+(I%*9)) :�� I% :�� :�: :���update_tracks ;ș "Hourglass_On" ;.track_number%=�(�indirect(video_index%,5)) ;� I%=0 � 9 ;$B�update_icon(video_tracks%,1+(I%*9),name$(track_number%,I%+1)) ;.F�update_icon(video_tracks%,2+(I%*9),category$(track_number%,I%+1)) ;8E�update_icon(video_tracks%,3+(I%*9),channel$(track_number%,I%+1)) ;BB�update_icon(video_tracks%,4+(I%*9),date$(track_number%,I%+1)) ;LC�update_icon(video_tracks%,5+(I%*9),audio$(track_number%,I%+1)) ;VD�update_icon(video_tracks%,6+(I%*9),length$(track_number%,I%+1)) ;`C�update_icon(video_tracks%,7+(I%*9),start$(track_number%,I%+1)) ;jB�update_icon(video_tracks%,8+(I%*9),stop$(track_number%,I%+1)) ;tC�update_icon(video_tracks%,9+(I%*9),speed$(track_number%,I%+1)) ;~� I% ;�ș "Hourglass_Off" ;�� ;�: ;�;��update_icon(update_window%,update_icon%,update_text$) ;�(!q%=update_window%:q%!4=update_icon% ;�ș "Wimp_GetIconState",,q% ;�1$(q%!28)=update_text$:q%!36=�(update_text$)+1 ;�q%!8=0:q%!12=0 ;�ș "Wimp_SetIconState",,q% ;�� ;�: ;���clear_single <