home *** CD-ROM | disk | FTP | other *** search
/ AMOS PD CD / amospdcd.iso / 601-625 / apd602 / slide_show_ck.amos / slide_show_ck.amosSourceCode
AMOS Source Code  |  1993-02-25  |  6KB  |  244 lines

  1. '
  2. '
  3. ' Slideshow Construction Kit v3.0
  4. ' -------------------------------
  5. '
  6. '
  7. ' Written by Ben Ashley, 1991 for Odyssey Software 
  8. '
  9. Screen Close 0
  10. Get Fonts 
  11. Screen Open 1,320,256,2,Lowres : Colour 1,$FFF : Pen 1 : Paper 0
  12. Curs Off : Flash Off : Cls 0
  13. Load Iff ":Utilities/SS.Iff",0
  14. Limit Mouse 0,0 To 400,400
  15. Set Font 3
  16. Menu$(1)="(SFont 3) (INk 1,0) (INk 2,1) (INk 3,0)"
  17. Menu$(1)="PROJECT " : Menu$(2)="EDIT " : Menu$(3)="MISC"
  18. Menu$(1,1)="LOAD SHOW"
  19. Menu$(1,2)="SAVE SHOW"
  20. Menu$(1,3)="LOAD IFF"
  21. Menu$(1,4)="LOAD MUSIC"
  22. Menu$(1,5)="ABOUT"
  23. Menu$(1,6)="QUIT"
  24. '
  25. Menu$(2,1)="NEXT PICTURE"
  26. Menu$(2,2)="PREVIOUS PICTURE"
  27. Menu$(2,3)="CLEAR PICTURE"
  28. Menu$(2,4)="VIEW PICTURE"
  29. Menu$(2,5)="PLAY MUSIC"
  30. Menu$(2,6)="STOP MUSIC"
  31. Menu$(2,7)="SET TEMPO"
  32. Menu$(2,8)="SET VOLUME"
  33. '
  34. Menu$(3,1)="AUTHOR"
  35. Menu$(3,2)="SET DELAY"
  36. Menu$(3,3)="SET MAX PICS"
  37. '
  38. Menu On 
  39. '
  40. ' Set up all varibles, arrays, e.t.c 
  41. '
  42. MA=100
  43. N=1
  44. Dim P$(MA)
  45. Dim X$(MA)
  46. DEL=200
  47. M$=""
  48. VOL=63 : TEMP=17
  49. A$="ANON"
  50. V$="V3.0"
  51. S$=String$(" ",10)
  52. S$=S$+"WELCOME TO "+V$+" OF SLIDESHOW CONSTRUCTION KIT"
  53. S$=S$+"   NEW IMPROVEMENTS: 1. COMPLETE RE-WRITE  2. A NICE BACKGROUND SCREEN AND FONT  "
  54. S$=S$+"3. NEW SCRIPTS    INSTRUCTIONS FOR USE:  THIS PROGRAM IS TO CONSTRUCT SLIDESHOWS "
  55. S$=S$+"WHICH CAN BE RUN FROM THE SHOWER PROGRAMS.  THEN THESE PROGRAMS CAN BE DISTRIBUTED AROUND "
  56. S$=S$+"THE WORLD OF P.D.  I HAVE COMPILED ONE OF THE SLIDE SHOWERS SO THAT YOU CAN RUN SLIDESHOWS FROM"
  57. S$=S$+" THE CLI WITH AN EXTENSION NAME INSTEAD OF SELECTING ONE FROM A FILE REQUESTER. "
  58. S$=S$+"I AM WRITING THIS SCROLLY, 15 MINUTES BEFORE I PLAY RUGBY AGAINST SOUTH WIGSTON... "
  59. S$=S$+"AH WELL NO DAUDLING  HERE'S THE BASIC USAGE...  "
  60. S$=S$+"FIRST YOU MUST SET THE MAXIMUM PICTURE NUMBER TO THE AMOUNT OF PICS YOU WANT IN YOUR SLIDESHOW."
  61. S$=S$+"THEN LOAD EACH PICTURE ONE BY ONE INCREASING THE PICTURE NUMBER EACH TIME.  "
  62. S$=S$+"NOW IF YOU WANT A MUSIC FILE THEN LOAD IT NOW AND SET THE VOLUME AND TEMPO."
  63. S$=S$+"IF YOU WANT  ENTER YOUR NAME IN THE AUTHOR BOX. THIS MUST BE IN CAPITALS!  ( IT WILL BE AUTOMATICALLY CHANGED UP IF IT IS NOT!"
  64. S$=S$+"  THAT'S THE BASIC USAGE..... "
  65. V=1 : L=Len(S$)
  66. '
  67. Global F$,QUIT,MA,N,P$(),DEL,M$,VOL,TEMP,A$,V$,S$,V,L,X$()
  68. '
  69. MAIN
  70. '
  71. Procedure MAIN
  72.    Ink 1,0
  73.    Repeat 
  74.       On Error Proc HELP
  75.       DIS
  76.       If Choice
  77.          CHECKMENU
  78.       End If 
  79.    Until QUIT=True
  80.    Fade 3 : Wait 15*3
  81.    Edit 
  82. End Proc
  83. '
  84. Procedure CHECKMENU
  85.    On Error Proc HELP
  86.    If Choice(1)=1 and Choice(2)=1 Then LOSH
  87.    If Choice(1)=1 and Choice(2)=2 Then SASH
  88.    If Choice(1)=1 and Choice(2)=3 Then LOIF
  89.    If Choice(1)=1 and Choice(2)=4 Then LOMU
  90.    If Choice(1)=1 and Choice(2)=5 Then ABOUT
  91.    If Choice(1)=1 and Choice(2)=6 Then QUIT=True
  92.    '
  93.    If Choice(1)=2 and Choice(2)=1 Then NEPI
  94.    If Choice(1)=2 and Choice(2)=2 Then PRPI
  95.    If Choice(1)=2 and Choice(2)=3 Then CLPI
  96.    If Choice(1)=2 and Choice(2)=4 Then VIPI
  97.    If Choice(1)=2 and Choice(2)=5 Then Music 1
  98.    If Choice(1)=2 and Choice(2)=6 Then Music Off 
  99.    CL
  100. End Proc
  101. '
  102. Procedure DIS
  103.    Text 137,81,"   "+V$
  104.    Text 12,150,"PICTURE"+Str$(N)+" OUT OF"+Str$(MA)+"   "
  105.    Text 12,158,"NAME:"+X$(N)
  106.    Text 12,166,"AUTHOR:"+A$
  107.    Text 12,174,"MUSIC FILE:"+M$
  108.    Text 12,182,"VOLUME:"+Str$(VOL)+" TEMPO:"+Str$(TEMP)+"  "
  109.    Text 12,190,"DELAY RATE:"+Str$(DEL)
  110. End Proc
  111. '
  112. Procedure CL
  113.    For F=150 To 250 Step 8
  114.       Text 12,F,String$(" ",50)
  115.    Next F
  116. End Proc
  117. '
  118. Procedure LOSH
  119.    F$=Fsel$("*.Sld","","Load a Slideshow","")
  120.    If F$=""
  121.       Pop Proc
  122.    End If 
  123.    Open In 1,F$
  124.    Input #1,V$
  125.    Input #1,MA$
  126.    MA=Val(MA$)
  127.    Input #1,VOL$
  128.    VOL=Val(VOL$)
  129.    Input #1,TEMP$
  130.    TEMP=Val(TEMP$)
  131.    Input #1,M$
  132.    Input #1,A$
  133.    For X=1 To MA
  134.       Input #1,P$(X)
  135.    Next X
  136.    Close 1
  137. End Proc
  138. '
  139. Procedure SASH
  140.    F$=Fsel$("*.Sld","","Save a Slideshow","")
  141.    If F$=""
  142.       Pop Proc
  143.    End If 
  144.    Open Out 1,F$
  145.    Print #1,V$
  146.    Print #1,MA
  147.    Print #1,VOL
  148.    Print #1,TEMP
  149.    Print #1,M$
  150.    Print #1,A$
  151.    For X=1 To MA
  152.       Print #1,P$(X)
  153.    Next X
  154.    Close 1
  155. End Proc
  156. '
  157. Procedure LOIF
  158.    F$=Fsel$("","","Load an IFF Screen","")
  159.    If F$=""
  160.       Pop Proc
  161.    End If 
  162.    P$(N)=F$
  163.    X$(N)=Upper$(F$)
  164.    Load Iff F$,1
  165.    Screen To Front 0
  166.    Screen 0
  167. End Proc
  168. '
  169. Procedure LOMU
  170.    F$=Fsel$("*.Abk","","Load an .Abk File","")
  171.    If F$=""
  172.       Pop Proc
  173.    End If 
  174.    M$=Upper$(F$)
  175.    Load M$
  176. End Proc
  177. '
  178. Procedure ABOUT
  179.    Ink 20,0
  180.    Text 12,200,"ABOUT MODE. CLICK MOUSE TO EXIT"
  181.    Text 12,210," ODYSSEY SOFTWARE PRODUCTIONS   "
  182.    Ink 1,0
  183.    Text 137,81,"         "
  184.    Repeat 
  185.       Text 137,81,Mid$(S$,V,9) : V=V+1
  186.       If V>L
  187.          V=1
  188.       End If 
  189.       Wait 5
  190.    Until Mouse Key=1
  191.    Text 137,81,String$(" ",10)
  192.    Text 12,200,"                               "
  193.    Text 12,210,"                                        "
  194. End Proc
  195. '
  196. Procedure NEPI
  197.    N=N+1
  198.    If N>MA
  199.       N=MA
  200.    End If 
  201. End Proc
  202. '
  203. Procedure PRPI
  204.    N=N-1
  205.    If N<1
  206.       N=1
  207.    End If 
  208. End Proc
  209. '
  210. Procedure CLPI
  211.    P$(N)=""
  212.    Screen Close 1
  213. End Proc
  214. '
  215. Procedure VIPI
  216.    Screen To Front 1
  217.    Repeat 
  218.    Until Mouse Key<>0
  219.    Screen To Front 0
  220. End Proc
  221. '
  222. Procedure HELP
  223.    E=Errn
  224.    If E=30
  225.       E$="BAD IFF FORMAT"
  226.    End If 
  227.    If E=261
  228.       E$="ILLEGAL FUNCTION CALL"
  229.    End If 
  230.    If E=11
  231.       E$="OUT OF VARIBLE SPACE"
  232.    End If 
  233.    Ink 22,0
  234.    Text 12,200,"ERROR CODE "+Str$(E)+" HAS OCCURED."
  235.    Text 12,220,E$
  236.    Text 12,240,"       CLICK MOUSE ! "
  237.    Repeat 
  238.    Until Mouse Key<>0
  239.    Ink 1,0
  240.    Text 12,200,"                                          "
  241.    Text 12,220,"                                               "
  242.    Text 12,240,"                     "
  243.    Resume Next 
  244. End Proc