mirror of
https://github.com/libretro/gambatte-libretro.git
synced 2024-11-23 16:00:06 +00:00
5bbabdcfdd
fourier transforms and optimal cost equations. Fast 2-tap linear as a low quality alternative. - libgambatte: Use deltas and a running sum to decrease buffer writes in sound emulation sample generation. - libgambatte: Rearrange sound emulation event loop to optimize for high-frequency event units. - libgambatte: Initialize palette arrays to avoid valgrind noise. - Don't do resampling in libgambatte. Update API to reflect this. - Move non-emulation common code to a common directory to avoid duplication. - Update front-ends to new libgambatte API. - Utilize resampling framework in front-ends. Selectable resamplers. - Improved adaptive sleep class that estimates oversleep. - Gambatte SDL: Estimate actual output sample rate in terms of OS timers and derive frame rate from it. - Gambatte SDL: Move AudioData and RingBuffer classes to separate files. - Gambatte SDL: Make underruns slightly less painful, by resetting buffer positions. - Gambatte Qt: Update AudioEngine to support sample rate estimation in terms of OS timers. - Gambatte Qt: Implement sample rate estimation in ALSA and OSS audio engines. - Gambatte Qt: AlsaEngine: Revert to using snd_pcm_avail_update for buffer status since snd_pcm_delay may consider external latencies. - Gambatte Qt: AlsaEngine: Use snd_pcm_hw_params_set_buffer_time_near. Don't request a particular number of periods per buffer. - Gambatte Qt: AlsaEngine: Use hw as default custom device string, rather than hw:0,0. - Gambatte Qt: OssEngine: Don't trust GETOSPACE fragment info. - Gambatte Qt: Estimate optimal frame rate based on sample rate estimations. - Gambatte Qt: Extend BlitterWidget to support estimation of vsynced frame rate in terms of OS timers. - Gambatte Qt: Implement vsync frame rate estimation in QGlBlitter, Direct3DBlitter and DirectDrawBlitter. - Gambatte Qt: Use a combination of OS timer sample rate estimation and vsync frame rate estimation to derive resampling ratio for no-frame-duplication vsync. - Gambatte Qt: Change API to reflect MediaSources not being responsible for resampling. - Gambatte Qt: Make sure to parent PaletteDialog list model, so it gets deleted properly. - Various refactoring, small changes and stuff I forgot. git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@165 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
35 lines
1005 B
Python
35 lines
1005 B
Python
global_cflags = ARGUMENTS.get('CFLAGS', '-Wall -Wextra -O2 -fomit-frame-pointer')
|
|
global_cxxflags = ARGUMENTS.get('CXXFLAGS', global_cflags + ' -fno-exceptions -fno-rtti')
|
|
global_defines = ' -DHAVE_STDINT_H'
|
|
|
|
env = Environment(CPPPATH = ['src', '../libgambatte/include', '../common'],
|
|
LIBS = ['gambatte'],
|
|
LIBPATH = '../libgambatte',
|
|
CFLAGS = global_cflags + global_defines,
|
|
CXXFLAGS = global_cxxflags + global_defines)
|
|
|
|
env.ParseConfig('sdl-config --cflags --libs')
|
|
|
|
sourceFiles = Split('''
|
|
src/gambatte_sdl.cpp
|
|
src/audiodata.cpp
|
|
src/parser.cpp
|
|
src/sdlblitter.cpp
|
|
src/str_to_sdlkey.cpp
|
|
src/syncfunc.cpp
|
|
../common/adaptivesleep.cpp
|
|
../common/resample/chainresampler.cpp
|
|
../common/resample/u48div.cpp
|
|
../common/resample/resamplerinfo.cpp
|
|
../common/rateest.cpp
|
|
''')
|
|
|
|
conf = env.Configure()
|
|
|
|
if conf.CheckLib('z'):
|
|
env.Append(LIBS = ['z'])
|
|
|
|
conf.Finish()
|
|
|
|
env.Program('gambatte_sdl', sourceFiles)
|