aboutsummaryrefslogtreecommitdiffstats
path: root/Game/Code/Classes/UMedia_dummy.pas
diff options
context:
space:
mode:
authorjaybinks <jaybinks@b956fd51-792f-4845-bead-9b4dfca2ff2c>2007-10-16 11:27:23 +0000
committerjaybinks <jaybinks@b956fd51-792f-4845-bead-9b4dfca2ff2c>2007-10-16 11:27:23 +0000
commit8c923b5b76bb17e00132a0b2b2b96de34265fc63 (patch)
tree160d8b7736fe7c65667334e3cfe508d8e646c7ca /Game/Code/Classes/UMedia_dummy.pas
parentd3218aef1528f9233fc8bdd8c3e341ea9d135d9b (diff)
downloadusdx-8c923b5b76bb17e00132a0b2b2b96de34265fc63.tar.gz
usdx-8c923b5b76bb17e00132a0b2b2b96de34265fc63.tar.xz
usdx-8c923b5b76bb17e00132a0b2b2b96de34265fc63.zip
modified ffmpeg usage, to use interface same as bass...
still needs some tidy up, but its working. :) git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@515 b956fd51-792f-4845-bead-9b4dfca2ff2c
Diffstat (limited to 'Game/Code/Classes/UMedia_dummy.pas')
-rw-r--r--Game/Code/Classes/UMedia_dummy.pas276
1 files changed, 276 insertions, 0 deletions
diff --git a/Game/Code/Classes/UMedia_dummy.pas b/Game/Code/Classes/UMedia_dummy.pas
new file mode 100644
index 00000000..0752ab64
--- /dev/null
+++ b/Game/Code/Classes/UMedia_dummy.pas
@@ -0,0 +1,276 @@
+unit UMedia_dummy;
+{< #############################################################################
+# FFmpeg support for UltraStar deluxe #
+# #
+# Created by b1indy #
+# based on 'An ffmpeg and SDL Tutorial' (http://www.dranger.com/ffmpeg/) #
+# #
+# http://www.mail-archive.com/fpc-pascal@lists.freepascal.org/msg09949.html #
+# http://www.nabble.com/file/p11795857/mpegpas01.zip #
+# #
+############################################################################## }
+
+interface
+
+{$IFDEF FPC}
+ {$MODE DELPHI}
+{$ENDIF}
+
+
+implementation
+
+uses
+ SysUtils,
+ UMusic;
+
+
+var
+ singleton_dummy : IVideoPlayback;
+
+type
+ Tmedia_dummy = class( TInterfacedObject, IVideoPlayback, IAudioPlayback, IAudioInput )
+ private
+ public
+ constructor create();
+ function GetName: String;
+
+ procedure init();
+
+ function Open( aFileName : string): boolean; // true if succeed
+ procedure Close;
+
+ procedure Play;
+ procedure Pause;
+ procedure Stop;
+
+ procedure MoveTo(Time: real);
+ function getPosition: real;
+
+ procedure FFmpegGetFrame(Time: Extended);
+ procedure FFmpegDrawGL(Screen: integer);
+
+ // IAudioInput
+ procedure InitializeRecord;
+ procedure CaptureStart;
+ procedure CaptureStop;
+ procedure CaptureCard(RecordI, PlayerLeft, PlayerRight: byte);
+ procedure StopCard(Card: byte);
+ function GetFFTData: TFFTData;
+
+ // IAudioPlayback
+ procedure InitializePlayback;
+ procedure SetVolume(Volume: integer);
+ procedure SetMusicVolume(Volume: integer);
+ procedure SetLoop(Enabled: boolean);
+ procedure Rewind;
+
+ function Finished: boolean;
+ function Length: real;
+
+ procedure PlayStart;
+ procedure PlayBack;
+ procedure PlaySwoosh;
+ procedure PlayChange;
+ procedure PlayOption;
+ procedure PlayClick;
+ procedure PlayDrum;
+ procedure PlayHihat;
+ procedure PlayClap;
+ procedure PlayShuffle;
+ procedure StopShuffle;
+
+ function LoadSoundFromFile(var hStream: hStream; Name: string): boolean;
+
+ function LoadCustomSound(const Filename: String): Cardinal;
+ procedure PlayCustomSound(const Index: Cardinal );
+
+ end;
+
+
+
+function Tmedia_dummy.GetName: String;
+begin
+ result := 'dummy';
+end;
+
+
+procedure Tmedia_dummy.FFmpegGetFrame(Time: Extended);
+begin
+end;
+
+procedure Tmedia_dummy.FFmpegDrawGL(Screen: integer);
+begin
+end;
+
+constructor Tmedia_dummy.create();
+begin
+end;
+
+procedure Tmedia_dummy.init();
+begin
+end;
+
+
+function Tmedia_dummy.Open( aFileName : string): boolean; // true if succeed
+begin
+ result := false;
+end;
+
+procedure Tmedia_dummy.Close;
+begin
+end;
+
+procedure Tmedia_dummy.Play;
+begin
+end;
+
+procedure Tmedia_dummy.Pause;
+begin
+end;
+
+procedure Tmedia_dummy.Stop;
+begin
+end;
+
+procedure Tmedia_dummy.MoveTo(Time: real);
+begin
+end;
+
+function Tmedia_dummy.getPosition: real;
+begin
+ result := 0;
+end;
+
+// IAudioInput
+procedure Tmedia_dummy.InitializeRecord;
+begin
+end;
+
+procedure Tmedia_dummy.CaptureStart;
+begin
+end;
+
+procedure Tmedia_dummy.CaptureStop;
+begin
+end;
+
+procedure Tmedia_dummy.CaptureCard(RecordI, PlayerLeft, PlayerRight: byte);
+begin
+end;
+
+procedure Tmedia_dummy.StopCard(Card: byte);
+begin
+end;
+
+function Tmedia_dummy.GetFFTData: TFFTData;
+begin
+end;
+
+// IAudioPlayback
+procedure Tmedia_dummy.InitializePlayback;
+begin
+end;
+
+procedure Tmedia_dummy.SetVolume(Volume: integer);
+begin
+end;
+
+procedure Tmedia_dummy.SetMusicVolume(Volume: integer);
+begin
+end;
+
+procedure Tmedia_dummy.SetLoop(Enabled: boolean);
+begin
+end;
+
+procedure Tmedia_dummy.Rewind;
+begin
+end;
+
+function Tmedia_dummy.Finished: boolean;
+begin
+end;
+
+function Tmedia_dummy.Length: real;
+begin
+end;
+
+procedure Tmedia_dummy.PlayStart;
+begin
+end;
+
+procedure Tmedia_dummy.PlayBack;
+begin
+end;
+
+procedure Tmedia_dummy.PlaySwoosh;
+begin
+end;
+
+procedure Tmedia_dummy.PlayChange;
+begin
+end;
+
+procedure Tmedia_dummy.PlayOption;
+begin
+end;
+
+procedure Tmedia_dummy.PlayClick;
+begin
+end;
+
+procedure Tmedia_dummy.PlayDrum;
+begin
+end;
+
+procedure Tmedia_dummy.PlayHihat;
+begin
+end;
+
+procedure Tmedia_dummy.PlayClap;
+begin
+end;
+
+procedure Tmedia_dummy.PlayShuffle;
+begin
+end;
+
+procedure Tmedia_dummy.StopShuffle;
+begin
+end;
+
+function Tmedia_dummy.LoadSoundFromFile(var hStream: hStream; Name: string): boolean;
+begin
+ result := false;
+end;
+
+function Tmedia_dummy.LoadCustomSound(const Filename: String): Cardinal;
+begin
+ result := 0;
+end;
+
+procedure Tmedia_dummy.PlayCustomSound(const Index: Cardinal );
+begin
+end;
+
+
+
+initialization
+ singleton_dummy := Tmedia_dummy.create();
+
+ writeln( 'UMedia_dummy - Register dummy Video_Playback' );
+ AudioManager.add( IVideoPlayback( singleton_dummy ) );
+
+ writeln( 'UMedia_dummy - Register dummy Video_Playback' );
+ AudioManager.add( IAudioPlayback( singleton_dummy ) );
+
+ writeln( 'UMedia_dummy - Register dummy Video_Playback' );
+ AudioManager.add( IAudioInput( singleton_dummy ) );
+
+finalization
+ AudioManager.Remove( IVideoPlayback( singleton_dummy ) );
+ AudioManager.Remove( IAudioPlayback( singleton_dummy ) );
+ AudioManager.Remove( IAudioInput( singleton_dummy ) );
+
+
+end.