diff options
author | jaybinks <jaybinks@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2007-10-11 12:12:37 +0000 |
---|---|---|
committer | jaybinks <jaybinks@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2007-10-11 12:12:37 +0000 |
commit | 6292440f6da3c11e85bb9fc3a741a26540e429be (patch) | |
tree | af1e107a762a1f61e3b100d956d8a5cab108d4d7 /Game/Code | |
parent | 44554c7908f7e2405a249331f00a35703f5939c2 (diff) | |
download | usdx-6292440f6da3c11e85bb9fc3a741a26540e429be.tar.gz usdx-6292440f6da3c11e85bb9fc3a741a26540e429be.tar.xz usdx-6292440f6da3c11e85bb9fc3a741a26540e429be.zip |
separated IAudioPlayback in to separate "Playback" and "Input" Interfaces
( both interfaces provided by same TMusic_Bass class...
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@505 b956fd51-792f-4845-bead-9b4dfca2ff2c
Diffstat (limited to 'Game/Code')
-rw-r--r-- | Game/Code/Classes/UMusic.pas | 39 | ||||
-rw-r--r-- | Game/Code/Classes/UMusic_BASS.pas | 2 | ||||
-rw-r--r-- | Game/Code/Screens/UScreenCredits.pas | 2 | ||||
-rw-r--r-- | Game/Code/Screens/UScreenSing.pas | 4 | ||||
-rw-r--r-- | Game/Code/Screens/UScreenSingModi.pas | 2 | ||||
-rw-r--r-- | Game/Code/Screens/UScreenSong.pas | 2 |
6 files changed, 36 insertions, 15 deletions
diff --git a/Game/Code/Classes/UMusic.pas b/Game/Code/Classes/UMusic.pas index 934e14e3..a2620607 100644 --- a/Game/Code/Classes/UMusic.pas +++ b/Game/Code/Classes/UMusic.pas @@ -96,7 +96,6 @@ type type IAudioPlayback = Interface procedure InitializePlayback; - procedure InitializeRecord; procedure SetVolume(Volume: integer); procedure SetMusicVolume(Volume: integer); procedure SetLoop(Enabled: boolean); @@ -121,18 +120,25 @@ type procedure PlayClap; procedure PlayShuffle; procedure StopShuffle; + + function LoadSoundFromFile(var hStream: hStream; Name: string): boolean; + + //Custom Sounds + function LoadCustomSound(const Filename: String): Cardinal; + procedure PlayCustomSound(const Index: Cardinal ); + end; + + IAudioInput = Interface + procedure InitializeRecord; + procedure CaptureStart; procedure CaptureStop; + procedure CaptureCard(RecordI, PlayerLeft, PlayerRight: byte); procedure StopCard(Card: byte); - function LoadSoundFromFile(var hStream: hStream; Name: string): boolean; //Equalizer function GetFFTData: TFFTData; - - //Custom Sounds - function LoadCustomSound(const Filename: String): Cardinal; - procedure PlayCustomSound(const Index: Cardinal ); end; @@ -147,8 +153,11 @@ var // TODO : JB --- THESE SHOULD NOT BE GLOBAL Czas: TCzas; -procedure InitializeSound; +procedure InitializeSound; + function AudioPlayback(): IAudioPlayback; +function AudioInput(): IAudioInput; + implementation @@ -158,25 +167,37 @@ uses var singleton_AudioPlayback : IAudioPlayback; + singleton_AudioInput : IAudioInput; function AudioPlayback(): IAudioPlayback; begin if singleton_AudioPlayback = nil then
begin
writeln( 'Created AudioPlayback' );
- singleton_AudioPlayback := TMusic_bass.create(); + singleton_AudioPlayback := TMusic_bass.create(); // Yes we could do this with one instance of TMusic_Bass... but I cant be bothered at this point:P end; result := singleton_AudioPlayback;
end; +function AudioInput(): IAudioInput; +begin + if singleton_AudioInput = nil then
+ begin
+ writeln( 'Created AudioInput' );
+ singleton_AudioInput := TMusic_bass.create(); // Yes we could do this with one instance of TMusic_Bass... but I cant be bothered at this point:P + end; + + result := singleton_AudioInput;
+end; + procedure InitializeSound; begin Log.LogStatus('Initializing Playback', 'InitializeSound'); AudioPlayback.InitializePlayback; Log.LogStatus('Initializing Record', 'InitializeSound'); - AudioPlayback.InitializeRecord; + AudioInput.InitializeRecord; end; end. diff --git a/Game/Code/Classes/UMusic_BASS.pas b/Game/Code/Classes/UMusic_BASS.pas index dfb6f79c..7de2d781 100644 --- a/Game/Code/Classes/UMusic_BASS.pas +++ b/Game/Code/Classes/UMusic_BASS.pas @@ -32,7 +32,7 @@ uses Classes, type - TMusic_bass = class( TInterfacedObject, IAudioPlayback ) + TMusic_bass = class( TInterfacedObject, IAudioPlayback, IAudioInput ) private BassStart: hStream; // Wait, I've replaced this with BASS BassBack: hStream; // It has almost all features we need diff --git a/Game/Code/Screens/UScreenCredits.pas b/Game/Code/Screens/UScreenCredits.pas index b7d6d3e7..a24997d4 100644 --- a/Game/Code/Screens/UScreenCredits.pas +++ b/Game/Code/Screens/UScreenCredits.pas @@ -445,7 +445,7 @@ const myLogoCoords: Array[0..27,0..1] of Cardinal = ((39,32),(84,32),(100,16),( begin //dis does teh muiwk y0r - Data := AudioPlayback.GetFFTData; + Data := AudioInput.GetFFTData; Log.LogStatus('',' JB-1'); diff --git a/Game/Code/Screens/UScreenSing.pas b/Game/Code/Screens/UScreenSing.pas index e0c80297..abb2726e 100644 --- a/Game/Code/Screens/UScreenSing.pas +++ b/Game/Code/Screens/UScreenSing.pas @@ -451,7 +451,7 @@ begin // play music (I) - AudioPlayback.CaptureStart; + AudioInput.CaptureStart; AudioPlayback.MoveTo(AktSong.Start); // Music.Play; @@ -1201,7 +1201,7 @@ end; procedure TScreenSing.Finish; begin - AudioPlayback.CaptureStop; + AudioInput.CaptureStop; AudioPlayback.Stop; if Ini.SavePlayback = 1 then begin diff --git a/Game/Code/Screens/UScreenSingModi.pas b/Game/Code/Screens/UScreenSingModi.pas index a05c6d4b..b6989c76 100644 --- a/Game/Code/Screens/UScreenSingModi.pas +++ b/Game/Code/Screens/UScreenSingModi.pas @@ -170,7 +170,7 @@ begin end
else //Start Without Song
begin
- AudioPlayback.CaptureStart;
+ AudioInput.CaptureStart;
end;
//Set Playerinfo
diff --git a/Game/Code/Screens/UScreenSong.pas b/Game/Code/Screens/UScreenSong.pas index df4ec87a..ea1dd8a5 100644 --- a/Game/Code/Screens/UScreenSong.pas +++ b/Game/Code/Screens/UScreenSong.pas @@ -1725,7 +1725,7 @@ begin if (A <> EqualizerTime) then begin EqualizerTime := A; - Data := AudioPlayback.GetFFTData; + Data := AudioInput.GetFFTData; B:=0; Pos := 0; |