home *** CD-ROM | disk | FTP | other *** search
/ AMOS PD CD / amospdcd.iso / sourcecode / general / vu-meter.amos / vu-meter.amosSourceCode < prev   
Encoding:
AMOS Source Code  |  1993-08-02  |  4.1 KB  |  192 lines

  1. '=================================================================== 
  2. '
  3. ' DATE: 13/10/92   
  4. ' TIME: 10:10  
  5. ' NAME: VU_PROC.AMOS 
  6. ' CODE: UNCLE SIME 
  7. ' NOTE: This is a demostration of how to animate bobs to music. In 
  8. '       this case there are 40 bobs animated to music in real time 
  9. '       and the code is NOT compiled.... WOW! Right mouse button quits.
  10. '
  11. '
  12. ' THOUGHT FOR THE DAY:  What a wonderful world it is that it has   
  13. '                       women in it. 
  14. '
  15. '===================================================================   
  16. '
  17. Screen Close 0
  18. 'Close Workbench 
  19. 'Close Editor  
  20. Led Off 
  21. '
  22. VU_PROC
  23. End 
  24. '
  25. Procedure VU_PROC
  26.   '
  27.   Load "uncle_simes_8:sounds/vumus.abk",3
  28.   MUZAK_UP
  29.   '
  30.   VU1$="     Begin: Let R1=V(0); If R1=0 Jump Begin;"
  31.   VU1$=VU1$+"Move 0,0-R1,3; Move 0,R1,3; P;P;P;P;P;P;P;P;P;P;P;P; Jump Begin;"
  32.   '
  33.   VU2$="     Begin: Let R2=V(1); If R2=0 Jump Begin;"
  34.   VU2$=VU2$+"Move 0,0-R2,3; Move 0,R2,3; P;P;P;P;P;P;P;P;P;P;P;P; Jump Begin;"
  35.   '
  36.   VU3$="     Begin: Let R3=V(2); If R3=0 Jump Begin;"
  37.   VU3$=VU3$+"Move 0,0-R3,3; Move 0,R3,3; P;P;P;P;P;P;P;P;P;P;P;P; Jump Begin;"
  38.   '
  39.   VU4$="     Begin: Let R4=V(3); If R4=0 Jump Begin;"
  40.   VU4$=VU4$+"Move 0,0-R4,3; Move 0,R4,3; P;P;P;P;P;P;P;P;P;P;P;P; Jump Begin;"
  41.   '
  42.   Screen Open 1,320,64,2,0
  43.   Screen Hide 1
  44.   Screen Display 1,128,198,,64
  45.   Palette $0,$0
  46.   Ink 1
  47.   Bar 0,0 To 7,64
  48.   Get Bob 1,0,0 To 7,64
  49.   SET_SCREEN
  50.   Double Buffer 
  51.   Screen Show 1
  52.   Synchro Off 
  53.   Bob Update Off 
  54.   Sprite Update Off 
  55.   Autoback 1
  56.   Dreg(0)=Execall(-132)
  57.   VU_RBOW
  58.   VU_FOREGROUND_RBOW
  59.   '
  60.   For LOP=0 To 39
  61.     Channel LOP To Bob LOP
  62.   Next LOP
  63.   XPOS=0
  64.   '
  65.   For LOP=0 To 39
  66.     Bob LOP,XPOS,62,1
  67.     Set Bob LOP,1,%111111,%11100010
  68.     Add XPOS,8
  69.   Next LOP
  70.   '
  71.   For LOP=0 To 39 Step 4
  72.     Amal LOP,VU1$
  73.   Next LOP
  74.   '
  75.   For LOP=1 To 39 Step 4
  76.     Amal LOP,VU2$
  77.   Next LOP
  78.   '
  79.   For LOP=2 To 39 Step 4
  80.     Amal LOP,VU3$
  81.   Next LOP
  82.   '
  83.   For LOP=3 To 39 Step 4
  84.     Amal LOP,VU4$
  85.   Next LOP
  86.   '
  87.   Amal On 
  88.   Music 1
  89.   Tempo 18
  90.   Led Off 
  91.   Repeat 
  92.     Bob Clear 
  93.     Wait Vbl 
  94.     Bob Draw 
  95.     Screen Swap 
  96.     Wait Vbl 
  97.     Synchro 
  98.   Until Mouse Key
  99.   Dreg(0)=Execall(-138)
  100.   Wait 10
  101.   Bob Off 
  102.   Rainbow Del 
  103.   Screen Close 1
  104.   MUZAK_DOWN
  105.   Amal Off 
  106.   'Erase 1 
  107.   'Erase 3 
  108. End Proc
  109. '
  110. Procedure SET_SCREEN
  111.   Hide On 
  112.   Flash Off 
  113.   Curs Off 
  114.   Cls 0
  115. End Proc
  116. '
  117. Procedure SET_COLOUR
  118.   For CULOR=1 To 7
  119.     Colour CULOR,0
  120.   Next CULOR
  121. End Proc
  122. '
  123. Procedure MUZAK_UP
  124.   Music 1
  125.   Mvolume 0
  126.   Tempo 20
  127.   For VOL=0 To 63 Step 1
  128.     Wait 5
  129.     Mvolume VOL
  130.   Next VOL
  131. End Proc
  132. '
  133. Procedure MUZAK_DOWN
  134.   For VOL=63 To 0 Step -1
  135.     Wait 5
  136.     Mvolume VOL
  137.   Next VOL
  138.   Music Off 
  139. End Proc
  140. '
  141. Procedure VU_RBOW
  142.     '
  143.     ' Rainbow for vu-meters in main demo will appear on screen anywhere  
  144.     ' that colour 1 is used i.e bobs are drawn in colour 1. Created using  
  145.     ' Spages Rainbow Warrior prog.   
  146.     '
  147.     Set Rainbow 0,1,64,"","",""
  148.     Rainbow 0,0,198,64
  149.     Colour Back 0
  150.     Restore RDATA
  151.     For C=0 To 63
  152.         Read CVA
  153.         Rain(0,C)=CVA
  154.     Next C
  155.     View 
  156.     RDATA:
  157.     Data $F6F,$F6F
  158.     Data $F5F,$F5F,$F5F,$F5F,$F3F,$F3F,$F3F,$F3F
  159.     Data $F2F,$F2F,$F2F,$F2F,$F1F,$F1F,$F1F,$F1F
  160.     Data $F0F,$F0F,$F0F,$E0F,$E0F,$E0F,$E0F,$D0F
  161.     Data $D0F,$D0F,$C0F,$C0F,$C0F,$C0F,$C0F,$B0F
  162.     Data $B0F,$B0F,$B0F,$A0F,$A0F,$A0F,$A0F,$90F
  163.     Data $90F,$90F,$90F,$80F,$80F,$80F,$80F,$70F
  164.     Data $70F,$70F,$70F,$60F,$60F,$60F,$60F,$50F
  165.     Data $50F,$50F,$40F,$40F,$40F,$40F
  166. End Proc
  167. '
  168. Procedure VU_FOREGROUND_RBOW
  169.     '
  170.     ' Used to display rainbow effect in foreground of main demo to give  
  171.     ' illusion of depth. Appears through colour 0. Created using Spages  
  172.     ' Rainbow Warrior Prog.  
  173.     '
  174.     Set Rainbow 1,0,58,"","",""
  175.     Rainbow 1,0,262,58
  176.     Colour Back 0
  177.     Restore RDATA
  178.     For C=0 To 57
  179.         Read CVA
  180.         Rain(1,C)=CVA
  181.     Next C
  182.     View 
  183.     RDATA:
  184.     Data $9,$A,$A,$A,$A,$B,$B,$B
  185.     Data $B,$11C,$11C,$11C,$11C,$22D,$22D,$22D
  186.     Data $22D,$33E,$33E,$33E,$44F,$44F,$44F,$44F
  187.     Data $55F,$55F,$55F,$55F,$66F,$66F,$66F,$66F
  188.     Data $77F,$77F,$77F,$77F,$88F,$88F,$88F,$88F
  189.     Data $99F,$99F,$99F,$99F,$AAF,$AAF,$AAF,$AAF
  190.     Data $BBF,$BBF,$BBF,$BBF,$CCF,$CCF,$CCF,$CCF
  191.     Data $DDF,$DDF
  192. End Proc