home *** CD-ROM | disk | FTP | other *** search
/ Sound, Music & MIDI Collection 2 / SMMVOL2.bin / WIN / WIN_MISC / MODLIB01.ZIP / DELPHI / UNIT1.PAS < prev   
Encoding:
Pascal/Delphi Source File  |  1995-08-01  |  3.2 KB  |  137 lines

  1. unit Unit1;
  2.  
  3. interface
  4.  
  5. uses
  6.   SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  7.   Forms, Dialogs, FileCtrl, StdCtrls;
  8.  
  9. type
  10.   TForm1 = class(TForm)
  11.     Button1: TButton;
  12.     Button2: TButton;
  13.     ScrollBar1: TScrollBar;
  14.     ScrollBar2: TScrollBar;
  15.     ScrollBar3: TScrollBar;
  16.     ScrollBar4: TScrollBar;
  17.     CheckBox1: TCheckBox;
  18.     CheckBox2: TCheckBox;
  19.     CheckBox3: TCheckBox;
  20.     CheckBox4: TCheckBox;
  21.     procedure Button1Click(Sender: TObject);
  22.     procedure Button2Click(Sender: TObject);
  23.     procedure ScrollBar1Change(Sender: TObject);
  24.     procedure ScrollBar2Change(Sender: TObject);
  25.     procedure ScrollBar3Change(Sender: TObject);
  26.     procedure ScrollBar4Change(Sender: TObject);
  27.     procedure CheckBox1Click(Sender: TObject);
  28.     procedure CheckBox2Click(Sender: TObject);
  29.     procedure CheckBox3Click(Sender: TObject);
  30.     procedure CheckBox4Click(Sender: TObject);
  31.   private
  32.     { Private-dΘclarations }
  33.   public
  34.     { Public-dΘclarations }
  35.   end;
  36.  
  37. var
  38.   Form1: TForm1;
  39.  
  40. implementation
  41.  
  42. Function MOD_start_playback(lpszMODFile :PChar ; iKBytePlayBuffer :SmallInt): SmallInt ; far; external 'MODLIB' ;
  43. Function MOD_stop_playback  : SmallInt ; far; external 'MODLIB' ;
  44. Function MOD_close_channel (iPlayChannel :SmallInt) : SmallInt ; far; external 'MODLIB' ;
  45. Function MOD_open_channel (iPlayChannel :SmallInt) : SmallInt ; far; external 'MODLIB' ;
  46. Function MOD_channel_volume (iPlayChannel, iVolume :SmallInt) : SmallInt ; far; external 'MODLIB' ;
  47.  
  48. {$R *.DFM}
  49.  
  50. procedure TForm1.Button1Click(Sender: TObject);
  51. var
  52.    szMod: array[0..32] of Char;
  53. begin
  54.      StrPCopy(szMod, 'SPACE.MOD') ;
  55.      MOD_start_playback(szMod, 3) ;
  56. end;
  57.  
  58. procedure TForm1.Button2Click(Sender: TObject);
  59. begin
  60.      MOD_stop_playback ;
  61. end;
  62.  
  63. procedure TForm1.ScrollBar1Change(Sender: TObject);
  64. begin
  65.      MOD_channel_volume(0,ScrollBar1.Position) ;
  66. end;
  67.  
  68. procedure TForm1.ScrollBar2Change(Sender: TObject);
  69. begin
  70.      MOD_channel_volume(1,ScrollBar2.Position) ;
  71. end;
  72.  
  73. procedure TForm1.ScrollBar3Change(Sender: TObject);
  74. begin
  75.      MOD_channel_volume(2,ScrollBar3.Position) ;
  76. end;
  77.  
  78. procedure TForm1.ScrollBar4Change(Sender: TObject);
  79. begin
  80.      MOD_channel_volume(3,ScrollBar4.Position) ;
  81. end;
  82.  
  83. procedure TForm1.CheckBox1Click(Sender: TObject);
  84. begin
  85.      If CheckBox1.State = cbChecked then
  86.      begin
  87.          MOD_open_channel (0) ;
  88.      end
  89.      else
  90.      begin
  91.          MOD_close_channel (0) ;
  92.      end ;
  93.  
  94. end;
  95.  
  96. procedure TForm1.CheckBox2Click(Sender: TObject);
  97. begin
  98.      If CheckBox2.State = cbChecked then
  99.      begin
  100.          MOD_open_channel (1) ;
  101.      end
  102.      else
  103.      begin
  104.          MOD_close_channel (1) ;
  105.      end ;
  106.  
  107. end;
  108.  
  109. procedure TForm1.CheckBox3Click(Sender: TObject);
  110. begin
  111.      If CheckBox3.State = cbChecked then
  112.      begin
  113.          MOD_open_channel (2) ;
  114.      end
  115.      else
  116.      begin
  117.          MOD_close_channel (2) ;
  118.      end ;
  119.  
  120. end;
  121.  
  122. procedure TForm1.CheckBox4Click(Sender: TObject);
  123. begin
  124.  
  125.      If CheckBox4.State = cbChecked then
  126.      begin
  127.          MOD_open_channel (3) ;
  128.      end
  129.      else
  130.      begin
  131.          MOD_close_channel (3) ;
  132.      end ;
  133.  
  134. end;
  135.  
  136. end.
  137.