home *** CD-ROM | disk | FTP | other *** search
/ A.C.E. 2 / ACE CD 2.iso / FILES / UTILS / AMOSPRO4.DMS / in.adf / Tutorials / Interface / Full_Example.AMOS / Full_Example.amosSourceCode
Encoding:
AMOS Source Code  |  1992-09-28  |  6.5 KB  |  138 lines

  1. '************************************* 
  2. '*    AMOS Professional Interface    * 
  3. '*                                   * 
  4. '*         Full working demo         * 
  5. '*                                   * 
  6. '*      (c) Europress Software       * 
  7. '*                                   * 
  8. '*          Ronnie Simpson           * 
  9. '************************************* 
  10. Set Buffer 10
  11. Load "AMOSPro_Tutorial:Tutorials/Interface/Example_resource.abk"
  12. Load "AMOSPro_Examples:Music/Music.Abk"
  13. Load "AMOSPro_Examples:Samples/Instruments.Abk",8
  14. Sam Bank 8
  15. Resource Bank 16
  16. Dim V$(6)
  17. V$(0)="Synth Banjo" : V$(1)="Synth Bass" : V$(2)="Rock Guitar"
  18. V$(3)="Wah Synth" : V$(4)="Organ" : V$(5)="Panflute"
  19. MV=63
  20. Resource Screen Open 0,640,200,0
  21. Flash Off : Curs Off : Cls 0 : Paper 0 : Pen 8
  22. Palette ,,,,$335,$88A,$AAC,$CCE
  23. Wait Vbl 
  24.  
  25. ' Define text used in buttons: you should never
  26. ' define a text directly within the button, each time
  27. ' it is pressed, it asks for buffer space. You'll get
  28. ' an 'Out of buffer' error after a certain amount of 
  29. ' switches.... 
  30. A$=A$+"SVar     4,'QUIT';"
  31. A$=A$+"SVar     5,'Boom';"
  32. A$=A$+"SVar     6,'Shoot';"
  33. A$=A$+"SVar     7,'Start';"
  34. A$=A$+"SVar     8,'Stop';"
  35. A$=A$+"SVar     9,'On';"
  36. A$=A$+"SVar     10,'Off';"
  37.  
  38. ' The main program 
  39. A$=A$+"BOx      0,0,1,640,150;"
  40. A$=A$+"BAse     0,0;"
  41. A$=A$+"SIze     640,150;"
  42. A$=A$+"LIne     8,8,54,632;"
  43. A$=A$+"POutline 208,16,'AMOS Professional Interface',3,13;"
  44. A$=A$+"LIne     8,25,54,632;SF 0,4;"
  45. A$=A$+"POutline 450,110,'Sound Explorer',10,3;SF0,0;"
  46. A$=A$+"BOx      8,36,1,112,125;"
  47. A$=A$+"LIne     20,52,10,104;PO XA24+,YA9-,'MUSIC',0,14;SF 0,1;"
  48. A$=A$+"POutline XA4-,YA53+,'Volume',0,12;SF0,0;"
  49. A$=A$+"BUtton   14,16,YB1+,16,8,0,0,1;[UN 0,0,BP34+;UN 24,2,44;PO 44,6,1VA#,0,14;][BR 0;]"
  50. A$=A$+"BUtton   15,16,YB1+,16,8,0,0,1;[UN 0,0,BP36+;UN 24,YA7-,44;PO 44,YB10-,1VA#,0,14;][BR 0;]"
  51. A$=A$+"BOx      416,36,82,520,100;"
  52. A$=A$+"LIne     424,52,10,512;PO XA20+,YA9-,'FILTER',0,12;"
  53. A$=A$+"BOx      528,36,1,632,100;"
  54. A$=A$+"LIne     536,52,10,624;PO XA16+,YA9-,'EFFECTS',0,15;"
  55. A$=A$+"BUtton   1,SX72-,SY20-,56,14,0,0,1;[UN 0,0,BP49+;PR 13,4,4VA,8;][BR0;]"
  56. A$=A$+"BUtton   1,16,YA,56,14,0,0,1;[UN 0,0,BP49+;PR 13,4,4VA,8;][BR0;]"
  57. A$=A$+"BUtton   2,552,64,64,14,0,0,1;[UN 0,0,BP43+;PO 12,3,5VA,0,9;][BR0;]"
  58. A$=A$+"BUtton   3,XA,YA 16+,56,14,0,0,1;[UN 0,0,BP43+;PO 8,3,6VA,0,15;][BR0;]"
  59. A$=A$+"BUtton   4,32,64,56,14,0,0,1;[UN 0,0,BP43+;PO 8,3,7VA,0,2;][BC5,0;]"
  60. A$=A$+"BUtton   5,32,80,56,14,1,0,1;[UN 0,0,BP43+;PO 12,3,8VA,0,3;][BC4,0;]"
  61. A$=A$+"BUtton   8,440,64,56,14,0,0,1;[UN 0,0,BP43+;PO 20,3,9VA,0,2;][BC9,0;]"
  62. A$=A$+"BUtton   9,440,80,56,14,1,0,1;[UN 0,0,BP43+;PO 16,3,10VA,0,3;][BC8,0;]"
  63. A$=A$+"BOx      0,150,1,80,198;SW 1;SP 32,1;IN 0,10,0;GB XA4+,YA2+,XB6-,YB3-;"
  64. A$=A$+"BOx      560,150,1,640,198;GB XA4+,YA2+,XB6-,YB3-;"
  65. A$=A$+"BOx      80,126,82,560,149;"
  66. A$=A$+"UNpack   80,150,80;UN XA32+,YA,80;UNXA32+,YA,80;UN XA32+,YA,80;UN XA32+,YA,80;"
  67. A$=A$+"UNpack   XA32+,YA,80;UN XA32+,YA,80;UNXA32+,YA,80;UN XA32+,YA,80;UN XA32+,YA,80;"
  68. A$=A$+"UNpack   XA32+,YA,80;UN XA32+,YA,80;UNXA32+,YA,80;UN XA32+,YA,80;UN XA32+,YA,80;"
  69. A$=A$+"UNpack   104,150,81;UN XA32+,YA,81;UNXA64+,YA,81;UN XA32+,YA,81;UN XA32+,YA,81;"
  70. A$=A$+"UNpack   XA64+,YA,81;UN XA32+,YA,81;UNXA64+,YA,81;UN XA32+,YA,81;UN XA32+,YA,81;"
  71. A$=A$+"BUutton  25,80,150,25,48,0,0,1;[][BR0;]KY90,0;"
  72. A$=A$+"BUutton  27,XA40+,YA,16,48,0,0,1;[][BR0;]KY88,0;"
  73. A$=A$+"BUutton  29,XA32+,YA,25,48,0,0,1;[][BR0;]KY67,0;"
  74. A$=A$+"BUutton  30,XA24+,YA,25,48,0,0,1;[][BR0;]KY86,0;"
  75. A$=A$+"BUutton  32,XA40+,YA,16,48,0,0,1;[][BR0;]KY66,0;"
  76. A$=A$+"BUutton  34,XA32+,YA,16,48,0,0,1;[][BR0;]KY78,0;"
  77. A$=A$+"BUutton  36,XA32+,YA,25,48,0,0,1;[][BR0;]KY77,0;"
  78. A$=A$+"BUutton  37,XA24+,YA,25,48,0,0,1;[][BR0;]KY81,0;KY44,0;"
  79. A$=A$+"BUutton  39,XA40+,YA,16,48,0,0,1;[][BR0;]KY87,0;"
  80. A$=A$+"BUutton  41,XA32+,YA,25,48,0,0,1;[][BR0;]KY69,0;"
  81. A$=A$+"BUutton  42,XA24+,YA,25,48,0,0,1;[][BR0;]KY82,0;"
  82. A$=A$+"BUutton  44,XA40+,YA,16,48,0,0,1;[][BR0;]KY84,0;"
  83. A$=A$+"BUutton  46,XA32+,YA,16,48,0,0,1;[][BR0;]KY89,0;"
  84. A$=A$+"BUutton  48,XA32+,YA,25,48,0,0,1;[][BR0;]KY85,0;"
  85. A$=A$+"BUutton  49,XA24+,YA,25,48,0,0,1;[][BR0;]KY73,0;"
  86. A$=A$+"BUutton  26,104,150,16,28,0,0,1;[][BR0;]KY83,0;"
  87. A$=A$+"BUutton  28,XA32+,YA,16,28,0,0,1;[][BR0;]KY68,0;"
  88. A$=A$+"BUutton  31,XA64+,YA,16,28,0,0,1;[][BR0;]KY71,0;"
  89. A$=A$+"BUutton  33,XA32+,YA,16,28,0,0,1;[][BR0;]KY72,0;"
  90. A$=A$+"BUutton  35,XA32+,YA,16,28,0,0,1;[][BR0;]KY74,0;"
  91. A$=A$+"BUutton  38,XA64+,YA,16,28,0,0,1;[][BR0;]KY50,0;"
  92. A$=A$+"BUutton  40,XA32+,YA,16,28,0,0,1;[][BR0;]KY51,0;"
  93. A$=A$+"BUutton  43,XA64+,YA,16,28,0,0,1;[][BR0;]KY53,0;"
  94. A$=A$+"BUutton  45,XA32+,YA,16,28,0,0,1;[][BR0;]KY54,0;"
  95. A$=A$+"BUutton  47,XA32+,YA,16,28,0,0,1;[][BR0;]KY55,0;"
  96. A$=A$+"VLine    168,36,19,68;IN 0,0,0;GS 171,39,179,64;"
  97. A$=A$+"VSlider  6,172,40,7,24,0,0,4,1;[ZC 7,ZP;]"
  98. A$=A$+"BOx      184,36,1,364,68;IN 0,0,0;GS 189,38,354,65;"
  99. A$=A$+"AList    7,192,40,20,3,0VA,0,4,4,9;[ZC 7,0VA ZP AR;]"
  100. A$=A$+"BOx      152,73,1,376,125;"
  101. A$=A$+"POutline 204,77,'Channel Volumes',0,13;"
  102. A$=A$+"INk      7,0,0; GS 163,89,365,94;IN 0,0,0;GS 162,88,366,95;IN 14,0,0;GS161,87,367,96;"
  103. A$=A$+"HSlider  10,XA3+,YA3+,200,4,62,0,62,1;[ZC 10,ZP;]"
  104. A$=A$+"INk      7,0,0; GS 163,97,365,102;IN 0,0,0;GS 162,96,366,103;IN 14,0,0;GS161,95,367,104;"
  105. A$=A$+"HSlider  11,XA3+,YA3+,200,4,62,0,62,1;[ZC 11,ZP;]"
  106. A$=A$+"INk      7,0,0; GS 163,105,365,110;IN 0,0,0;GS 162,104,366,111;IN 14,0,0;GS161,103,367,112;"
  107. A$=A$+"HSlider  12,XA3+,YA3+,200,4,62,0,62,1;[ZC 12,ZP;]"
  108. A$=A$+"INk      7,0,0; GS 163,113,365,118;IN 0,0,0;GS 162,112,366,119;IN 14,0,0;GS161,111,367,120;"
  109. A$=A$+"HSlider  13,XA3+,YA3+,200,4,62,0,62,1;[ZC 13,ZP;]"
  110. A$=A$+"POutline 240,YA16+,'Keyboard Equivalents',0,11;"
  111. A$=A$+"PRint    92,YA10+,'Z   X   C   V   B   N   M   Q   W   E   R   T   Y   U   I',7;"
  112. A$=A$+"PRint    108,YA,'S   D       G   H   J       2   3       5   6   7',4;"
  113. A$=A$+"PRint    92,YA45+,'C   D   E   F   G   A   B   C   D   E   F   G   A   B   C',4;"
  114. A$=A$+"EXit;"
  115. Led Off 
  116. Dialog Open 1,A$,16,4096
  117. Vdialog(1,0)=Array(V$(0))
  118. Vdialog(1,1)=MV
  119. R=Dialog Run(1)
  120. Repeat 
  121.    D=Dialog(1)
  122.    If D=2 Then Boom 
  123.    If D=3 Then Shoot 
  124.    If D=4 Then Music 1
  125.    If D=5 Then Music Off 
  126.    If D=7 Then S=Rdialog(1,7)+1 : Sample S To 15 : Sam Play S
  127.    If D=8 Then Led On 
  128.    If D=9 Then Led Off 
  129.    If D=10 Then Volume %1,Rdialog(1,10)
  130.    If D=11 Then Volume %10,Rdialog(1,11)
  131.    If D=12 Then Volume %100,Rdialog(1,12)
  132.    If D=13 Then Volume %1000,Rdialog(1,13)
  133.    If D=14 and MV<63 Then Inc MV : Mvolume MV : Vdialog(1,1)=MV
  134.    If D=15 and MV>0 Then Dec MV : Mvolume MV : Vdialog(1,1)=MV
  135.    If D>24 Then Play D+12,0
  136. Until D=1
  137. Dialog Close 
  138. Erase All