aboutsummaryrefslogtreecommitdiffstats
path: root/Game/Code/UltraStar.dpr
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/UltraStar.dpr
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/UltraStar.dpr')
-rw-r--r--Game/Code/UltraStar.dpr76
1 files changed, 48 insertions, 28 deletions
diff --git a/Game/Code/UltraStar.dpr b/Game/Code/UltraStar.dpr
index 75e82207..edb8d7de 100644
--- a/Game/Code/UltraStar.dpr
+++ b/Game/Code/UltraStar.dpr
@@ -42,6 +42,7 @@ uses
sdl_image in 'lib\JEDI-SDL\SDL_Image\Pas\sdl_image.pas',
sdl_ttf in 'lib\JEDI-SDL\SDL_ttf\Pas\sdl_ttf.pas',
sdlutils in 'lib\JEDI-SDL\SDL\Pas\sdlutils.pas',
+ UMediaCore_SDL in 'Classes\UMediaCore_SDL.pas',
zlib in 'lib\zlib\zlib.pas',
png in 'lib\libpng\png.pas',
@@ -76,18 +77,23 @@ uses
{$ENDIF}
{$IFDEF UseFFMpeg}
- avcodec in 'lib\ffmpeg\avcodec.pas',
- avformat in 'lib\ffmpeg\avformat.pas',
- avutil in 'lib\ffmpeg\avutil.pas',
- rational in 'lib\ffmpeg\rational.pas',
- opt in 'lib\ffmpeg\opt.pas',
- avio in 'lib\ffmpeg\avio.pas',
- mathematics in 'lib\ffmpeg\mathematics.pas',
+ avcodec in 'lib\ffmpeg\avcodec.pas',
+ avformat in 'lib\ffmpeg\avformat.pas',
+ avutil in 'lib\ffmpeg\avutil.pas',
+ rational in 'lib\ffmpeg\rational.pas',
+ opt in 'lib\ffmpeg\opt.pas',
+ avio in 'lib\ffmpeg\avio.pas',
+ mathematics in 'lib\ffmpeg\mathematics.pas',
+ UMediaCore_FFMpeg in 'Classes\UMediaCore_FFMpeg.pas',
{$IFDEF UseSWScale}
- swscale in 'lib\ffmpeg\swscale.pas',
+ swscale in 'lib\ffmpeg\swscale.pas',
{$ENDIF}
{$ENDIF}
+ {$IFDEF UseSRCResample}
+ samplerate in 'lib\samplerate\samplerate.pas',
+ {$ENDIF}
+
{$IFDEF UseProjectM}
projectM in 'lib\projectM\projectM.pas',
{$ENDIF}
@@ -145,6 +151,7 @@ uses
UDLLManager in 'Classes\UDLLManager.pas',
UPlaylist in 'Classes\UPlaylist.pas',
UCommandLine in 'Classes\UCommandLine.pas',
+ URingBuffer in 'Classes\URingBuffer.pas',
UTextClasses in 'Classes\UTextClasses.pas',
USingScores in 'Classes\USingScores.pas',
USingNotes in 'Classes\USingNotes.pas',
@@ -170,43 +177,56 @@ uses
{$ENDIF}
//------------------------------
- //Includes - Media support classes....
- // Make sure UMedia always first, then UMedia_dummy
+ //Includes - Media
//------------------------------
- // TODO : these all need to be renamed like UMedia_******** for consistency
UMusic in 'Classes\UMusic.pas',
UAudioPlaybackBase in 'Classes\UAudioPlaybackBase.pas',
- UMedia_dummy in 'Classes\UMedia_dummy.pas', // Must be first UMedia Unit, all others will override available interfaces
-{$IFDEF UseProjectM}
- UVisualizer in 'Classes\UVisualizer.pas', // MUST be before Video... so video can override...
-{$ENDIF}
+{$IF Defined(UsePortaudioPlayback) or Defined(UseSDLPlayback)}
+ UFFT in 'lib\fft\UFFT.pas',
+ UAudioPlayback_Softmixer in 'Classes\UAudioPlayback_SoftMixer.pas',
+{$IFEND}
+ UAudioConverter in 'Classes\UAudioConverter.pas',
+
+ //******************************
+ //Pluggable media modules
+ // The modules are prioritized as in the include list below.
+ // This means the first entry has highest priority, the last lowest.
+ //******************************
+
+ // TODO : these all should be moved to a media folder
+
{$IFDEF UseFFMpegVideo}
- UVideo in 'Classes\UVideo.pas',
+ UVideo in 'Classes\UVideo.pas',
{$ENDIF}
-{$IFDEF UseFFMpegDecoder}
- UAudioDecoder_FFMpeg in 'Classes\UAudioDecoder_FFMpeg.pas', // MUST be before Playback-classes
+{$IFDEF UseProjectM}
+ // must be after UVideo, so it will not be the default video module
+ UVisualizer in 'Classes\UVisualizer.pas',
{$ENDIF}
{$IFDEF UseBASSInput}
- UAudioInput_Bass in 'Classes\UAudioInput_Bass.pas',
+ UAudioInput_Bass in 'Classes\UAudioInput_Bass.pas',
+{$ENDIF}
+{$IFDEF UseBASSDecoder}
+ // prefer Bass to FFMpeg if possible
+ UAudioDecoder_Bass in 'Classes\UAudioDecoder_Bass.pas',
{$ENDIF}
{$IFDEF UseBASSPlayback}
- UAudioPlayback_Bass in 'Classes\UAudioPlayback_Bass.pas',
+ UAudioPlayback_Bass in 'Classes\UAudioPlayback_Bass.pas',
+{$ENDIF}
+{$IFDEF UseSDLPlayback}
+ UAudioPlayback_SDL in 'Classes\UAudioPlayback_SDL.pas',
{$ENDIF}
{$IFDEF UsePortaudioInput}
- UAudioInput_Portaudio in 'Classes\UAudioInput_Portaudio.pas',
+ UAudioInput_Portaudio in 'Classes\UAudioInput_Portaudio.pas',
{$ENDIF}
-{$IF Defined(UsePortaudioPlayback) or Defined(UseSDLPlayback)}
- UFFT in 'lib\fft\UFFT.pas',
- //samplerate in 'lib\samplerate\samplerate.pas',
- UAudioPlayback_Softmixer in 'Classes\UAudioPlayback_SoftMixer.pas',
-{$IFEND}
{$IFDEF UsePortaudioPlayback}
UAudioPlayback_Portaudio in 'Classes\UAudioPlayback_Portaudio.pas',
{$ENDIF}
-{$IFDEF UseSDLPlayback}
- UAudioPlayback_SDL in 'Classes\UAudioPlayback_SDL.pas',
+{$IFDEF UseFFMpegDecoder}
+ UAudioDecoder_FFMpeg in 'Classes\UAudioDecoder_FFMpeg.pas',
{$ENDIF}
+ // fallback dummy, must be last
+ UMedia_dummy in 'Classes\UMedia_dummy.pas',
//------------------------------