83 lines
1.6 KiB
ObjectPascal
83 lines
1.6 KiB
ObjectPascal
unit umain;
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
interface
|
|
|
|
uses
|
|
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, Buttons,
|
|
StdCtrls, acs_file, acs_audio, EditBtn,acs_classes,acs_mixer;
|
|
|
|
type
|
|
|
|
{ TForm1 }
|
|
|
|
TForm1 = class(TForm)
|
|
bOpen: TBitBtn;
|
|
Mixer1: TACSMixer;
|
|
AudioIn1: TACSAudioIn;
|
|
FileOut1: TACSFileOut;
|
|
bRecord: TBitBtn;
|
|
bStop: TBitBtn;
|
|
cbRecordSource: TComboBox;
|
|
Label1: TLabel;
|
|
procedure FormCreate(Sender: TObject);
|
|
procedure bOpenClick(Sender: TObject);
|
|
procedure bRecordClick(Sender: TObject);
|
|
procedure bStopClick(Sender: TObject);
|
|
procedure cbRecordSourceChange(Sender: TObject);
|
|
private
|
|
{ private declarations }
|
|
public
|
|
{ public declarations }
|
|
end;
|
|
|
|
var
|
|
Form1: TForm1;
|
|
|
|
implementation
|
|
|
|
{ TForm1 }
|
|
|
|
procedure TForm1.FormCreate(Sender: TObject);
|
|
var
|
|
i : Integer;
|
|
begin
|
|
for i := 0 to Mixer1.Channelcount-1 do
|
|
if Mixer1.IsRecordable(i) then
|
|
cbRecordSource.Items.Add(Mixer1.ChannelName[i]);
|
|
cbRecordSource.Text := Mixer1.ChannelName[Mixer1.RecordSource];
|
|
end;
|
|
|
|
procedure TForm1.bOpenClick(Sender: TObject);
|
|
begin
|
|
FileOut1.Open;
|
|
if FileExists(FileOut1.FileName) then
|
|
FileOut1.FileMode := foAppend;
|
|
end;
|
|
|
|
procedure TForm1.bRecordClick(Sender: TObject);
|
|
begin
|
|
FileOut1.Run;
|
|
end;
|
|
|
|
procedure TForm1.bStopClick(Sender: TObject);
|
|
begin
|
|
FileOut1.Stop;
|
|
end;
|
|
|
|
procedure TForm1.cbRecordSourceChange(Sender: TObject);
|
|
var
|
|
i : Integer;
|
|
begin
|
|
for i := 0 to Mixer1.Channelcount-1 do
|
|
if Mixer1.ChannelName[i] = cbRecordSource.Text then
|
|
Mixer1.RecordSource := i;
|
|
end;
|
|
|
|
initialization
|
|
{$I umain.lrs}
|
|
|
|
end.
|
|
|