home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / pascal / library / dos / sound / sbutil / demosrc.exe / ADLDEMO.PAS next >
Encoding:
Pascal/Delphi Source File  |  1991-04-25  |  3.1 KB  |  179 lines

  1. {$A+,B-,D-,E+,F-,G-,I+,L-,N-,O-,R-,S-,V+,X-}
  2. {$M 3000,0,1008}
  3. {**************************************************************************
  4.  
  5.                                ADLDEMO
  6.                        Program to test SBFMPAS
  7.  
  8.                              Date: 4/4/91
  9.                               Version: 1
  10.  
  11. ***************************************************************************
  12.  
  13.                    Copyright (c) 1991, Zackzon Labs.
  14.  
  15.                        Author: Anthony Rumble
  16.  
  17. ==========
  18. Addresses:
  19. ==========
  20. InterNet: c9106510@cc.newcastle.edu
  21. SIGNet: 28:2200/108
  22.  
  23. Snail Mail:
  24.  32 Woolwich Rd.
  25.  Hunters Hill, NSW, 2110
  26.  Australia
  27.  
  28. -------------------------------------------------------------------------
  29.                               HISTORY
  30. -------------------------------------------------------------------------
  31. 1.0 - Works fine so far
  32. *************************************************************************}
  33. program demopas;
  34.  
  35. uses crt, adlib;
  36.  
  37. const
  38.  Tend = 100;            {Indicate the end of the melody}
  39.  
  40.  marimba3:array[1..26] of integer = (
  41.  $01, $05, $05, $0d, $01, $00, $0a, $05, $0e,
  42.  $01, $00, $00, $01, $02, $01, $00, $0f, $01,
  43.  $00, $09, $03, $00, $01, $00, $00, $01 );
  44.  
  45.  melodie:array[1..81] of byte = (
  46. 0, 1, 2,
  47. 2, 1, 2,
  48. 4, 3, 4,
  49. 7, 1, 4,
  50. 7, 1, 1,
  51. 4, 3, 4,
  52. 0, 1, 4,
  53. 4, 3, 2,
  54. 2, 1, 2,
  55. 0, 2, 1,
  56.  
  57. 0,1,2,
  58. 4,1,2,
  59. 7,1,2,
  60. 12,3,2,
  61. 2,3,4,
  62. 5,1,4,
  63. 9,1,2,
  64. 12,3,2,
  65. 11,3,4,
  66. 9,1,4,
  67. 7,1,2,
  68. 5,1,1,
  69. 2,1,2,
  70. 4,1,1,
  71. 9,1,2,
  72. 7,3,2,
  73.  
  74. 100, 100, 100
  75. );
  76.  
  77.  melodie2:array[1..81] of byte = (
  78. 0, 1, 2,
  79. 2, 1, 2,
  80. 4, 3, 4,
  81. 7, 1, 4,
  82. 7, 1, 1,
  83. 4, 3, 4,
  84. 0, 1, 4,
  85. 4, 3, 2,
  86. 2, 1, 2,
  87. 0, 2, 1,
  88.  
  89. 0,1,2,
  90. 4,1,2,
  91. 7,1,2,
  92. 12,3,2,
  93. 2,3,4,
  94. 5,1,4,
  95. 9,1,2,
  96. 12,3,2,
  97. 11,3,4,
  98. 9,1,4,
  99. 7,1,2,
  100. 5,1,1,
  101. 2,1,2,
  102. 4,1,1,
  103. 9,1,2,
  104. 7,3,2,
  105.  
  106. 100, 100, 100
  107. );
  108.  
  109. var
  110.  i:integer;
  111.  tst:boolean;
  112.  ch:char;
  113.  f:file;
  114.  count:word;
  115.  
  116. procedure load_music;
  117. var
  118.  a:integer;
  119. begin
  120.  i:=1;
  121.  for a:=1 to 26 do
  122.  begin
  123.   set_active_voice(0);
  124.   tst:=play_note(melodie[i], melodie[i+1], melodie[i+2]);
  125.   set_active_voice(1);
  126.   tst:=play_note(melodie2[i], melodie2[i+1], melodie2[i+2]);
  127.   i:=i+3;
  128.   set_state(ENABLED);
  129.  end;
  130. end;
  131.  
  132.  
  133. begin
  134. { assign(f, 'marimba3.ins');
  135.  rewrite(f,1);
  136.  blockwrite(f, marimba3, sizeof(marimba3), count);
  137.  close(f); }
  138.  assign(output, '');
  139.  rewrite(output);
  140.  writeln;
  141.  writeln('AdLib Demo');
  142.  writeln('By Anthony Rumble');
  143.  writeln('Copyright (c) Zackzon Labs');
  144.  write('AdLib SOUND.COM driver is ');
  145.  if initialize then writeln('Active')
  146.  else
  147.  begin
  148.   writeln('Not Active');
  149.   writeln('Please run SOUND.COM or equilivent');
  150.   halt(1);
  151.  end;
  152.  writeln;
  153.  flush_buffer;
  154.  set_state(DISABLED);
  155.  set_mode(MELODIC);
  156.  set_tickbeat(4);
  157.  rel_timestart(0, 1);
  158.  tst:=set_tempo(100, 0, 1);
  159.  set_active_voice(0);
  160.  load_instrument('marimba2');
  161.  tst:=set_timbre(0, 1);
  162.  set_active_voice(1);
  163.  load_instrument('piano1');
  164.  tst:=set_timbre(0, 1);
  165.  load_music;
  166.  set_state(ENABLED);
  167.  repeat;
  168.  if keypressed then
  169.  begin
  170.   set_state(DISABLED);
  171.   flush_buffer;
  172.   ch:=readkey;
  173.   exit;
  174.  end;
  175.  until get_state=ALLDONE;
  176. end.
  177.  
  178.  
  179.