aboutsummaryrefslogtreecommitdiffstats
path: root/Game/Code/Classes/UAudioInput_Bass.pas
diff options
context:
space:
mode:
authortobigun <tobigun@b956fd51-792f-4845-bead-9b4dfca2ff2c>2008-07-02 07:50:39 +0000
committertobigun <tobigun@b956fd51-792f-4845-bead-9b4dfca2ff2c>2008-07-02 07:50:39 +0000
commitfaf4c13bf41a17ce920a2194fc396f8bf7b44331 (patch)
tree0049a0dacad82a08b934167660bfabd6c8ea47a8 /Game/Code/Classes/UAudioInput_Bass.pas
parent67d0be6741c5466c786d8d389e34c83e1be7e3c0 (diff)
downloadusdx-faf4c13bf41a17ce920a2194fc396f8bf7b44331.tar.gz
usdx-faf4c13bf41a17ce920a2194fc396f8bf7b44331.tar.xz
usdx-faf4c13bf41a17ce920a2194fc396f8bf7b44331.zip
Audio/Video engine update:
- lyrics<->audio synchronisation (TSyncSource) - better resampling (optional support for libsamplerate) - cleaner termination of audio/video streams/devices - improved decoders and decoder infrastructure - many other improvements/cleanups Currently just for testing (not enabled by default): - Background music - Voice-Passthrough (hear what you sing) - Video VSync git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1157 b956fd51-792f-4845-bead-9b4dfca2ff2c
Diffstat (limited to 'Game/Code/Classes/UAudioInput_Bass.pas')
-rw-r--r--Game/Code/Classes/UAudioInput_Bass.pas39
1 files changed, 17 insertions, 22 deletions
diff --git a/Game/Code/Classes/UAudioInput_Bass.pas b/Game/Code/Classes/UAudioInput_Bass.pas
index d086a23a..65a4704d 100644
--- a/Game/Code/Classes/UAudioInput_Bass.pas
+++ b/Game/Code/Classes/UAudioInput_Bass.pas
@@ -57,8 +57,7 @@ type
end;
var
- AudioCore: TAudioCore_Bass;
- singleton_AudioInputBass : IAudioInput;
+ BassCore: TAudioCore_Bass;
{ Global }
@@ -96,9 +95,9 @@ begin
begin
// get input settings
flags := BASS_RecordGetInput(i, PSingle(nil)^);
- if (flags = -1) then
+ if (flags = DWORD(-1)) then
begin
- Log.LogError('BASS_RecordGetInput: ' + AudioCore.ErrorGetString(), 'TBassInputDevice.GetInputSource');
+ Log.LogError('BASS_RecordGetInput: ' + BassCore.ErrorGetString(), 'TBassInputDevice.GetInputSource');
Exit;
end;
@@ -130,7 +129,7 @@ begin
// turn on selected source (turns off the others for single-in devices)
if (not BASS_RecordSetInput(SourceIndex, BASS_INPUT_ON, -1)) then
begin
- Log.LogError('BASS_RecordSetInput: ' + AudioCore.ErrorGetString(), 'TBassInputDevice.Start');
+ Log.LogError('BASS_RecordSetInput: ' + BassCore.ErrorGetString(), 'TBassInputDevice.Start');
Exit;
end;
@@ -143,9 +142,9 @@ begin
continue;
// get input settings
flags := BASS_RecordGetInput(i, PSingle(nil)^);
- if (flags = -1) then
+ if (flags = DWORD(-1)) then
begin
- Log.LogError('BASS_RecordGetInput: ' + AudioCore.ErrorGetString(), 'TBassInputDevice.GetInputSource');
+ Log.LogError('BASS_RecordGetInput: ' + BassCore.ErrorGetString(), 'TBassInputDevice.GetInputSource');
Exit;
end;
// deselect source if selected
@@ -169,11 +168,11 @@ begin
if (not BASS_RecordInit(BassDeviceID)) then
begin
Log.LogError('BASS_RecordInit['+Name+']: ' +
- AudioCore.ErrorGetString(), 'TBassInputDevice.Open');
+ BassCore.ErrorGetString(), 'TBassInputDevice.Open');
Exit;
end;
- if (not AudioCore.ConvertAudioFormatToBASSFlags(AudioFormat.Format, FormatFlags)) then
+ if (not BassCore.ConvertAudioFormatToBASSFlags(AudioFormat.Format, FormatFlags)) then
begin
Log.LogError('Unhandled sample-format', 'TBassInputDevice.Open');
Exit;
@@ -185,7 +184,7 @@ begin
@MicrophoneCallback, Self);
if (RecordStream = 0) then
begin
- Log.LogError('BASS_RecordStart: ' + AudioCore.ErrorGetString(), 'TBassInputDevice.Open');
+ Log.LogError('BASS_RecordStart: ' + BassCore.ErrorGetString(), 'TBassInputDevice.Open');
BASS_RecordFree;
Exit;
end;
@@ -222,7 +221,7 @@ begin
if (not BASS_ChannelPlay(RecordStream, true)) then
begin
- Log.LogError('BASS_ChannelPlay: ' + AudioCore.ErrorGetString(), 'TBassInputDevice.Start');
+ Log.LogError('BASS_ChannelPlay: ' + BassCore.ErrorGetString(), 'TBassInputDevice.Start');
Exit;
end;
@@ -241,7 +240,7 @@ begin
if (not BASS_ChannelStop(RecordStream)) then
begin
- Log.LogError('BASS_ChannelStop: ' + AudioCore.ErrorGetString(), 'TBassInputDevice.Stop');
+ Log.LogError('BASS_ChannelStop: ' + BassCore.ErrorGetString(), 'TBassInputDevice.Stop');
end;
// TODO: Do not close the device here (takes too much time).
@@ -259,7 +258,7 @@ begin
// free data
if (not BASS_RecordFree()) then
begin
- Log.LogError('BASS_RecordFree: ' + AudioCore.ErrorGetString(), 'TBassInputDevice.Close');
+ Log.LogError('BASS_RecordFree: ' + BassCore.ErrorGetString(), 'TBassInputDevice.Close');
Result := false;
end
else
@@ -286,9 +285,9 @@ begin
Exit;
end;
- if (BASS_RecordGetInput(SourceIndex, lVolume) = -1) then
+ if (BASS_RecordGetInput(SourceIndex, lVolume) = DWORD(-1)) then
begin
- Log.LogError('BASS_RecordGetInput: ' + AudioCore.ErrorGetString() , 'TBassInputDevice.GetVolume');
+ Log.LogError('BASS_RecordGetInput: ' + BassCore.ErrorGetString() , 'TBassInputDevice.GetVolume');
Exit;
end;
Result := lVolume;
@@ -315,7 +314,7 @@ begin
if (not BASS_RecordSetInput(SourceIndex, 0, Volume)) then
begin
- Log.LogError('BASS_RecordSetInput: ' + AudioCore.ErrorGetString() , 'TBassInputDevice.SetVolume');
+ Log.LogError('BASS_RecordSetInput: ' + BassCore.ErrorGetString() , 'TBassInputDevice.SetVolume');
end;
end;
@@ -465,7 +464,7 @@ end;
function TAudioInput_Bass.InitializeRecord(): boolean;
begin
- AudioCore := TAudioCore_Bass.GetInstance();
+ BassCore := TAudioCore_Bass.GetInstance();
Result := EnumDevices();
end;
@@ -477,10 +476,6 @@ end;
initialization
- singleton_AudioInputBass := TAudioInput_Bass.create();
- AudioManager.add( singleton_AudioInputBass );
-
-finalization
- AudioManager.Remove( singleton_AudioInputBass );
+ MediaManager.Add(TAudioInput_Bass.Create);
end.