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
<