* DSP: Implement Pipe 2
Pipe 2 is a DSP pipe that is used to initialize both the DSP hardware (the
application signals to the DSP to initialize) and the application (the DSP
provides the memory location of structures in the shared memory region).
* AudioCore: Implement codecs (DecodeADPCM, DecodePCM8, DecodePCM16)
* DSP Pipes: Implement as FIFO
* AudioCore: File structure
* AudioCore: More structure
* AudioCore: Buffer management
* DSP/Source: Reorganise Source's AdvanceFrame.
* Audio Output
* lolidk
* huh?
* interp
* More interp stuff
* oops
* Zero State
* Don't mix Source frame if it's not enabled
* DSP: Forgot to zero a buffer, adjusted thread synchronisation, adjusted format spec for buffers
* asdf
* Get it to compile and tweak stretching a bit.
* revert stretch test
* deleted accidental partial catch submodule commit
* new audio stretching algorithm
* update .gitmodule
* fix OS X build
* remove getopt from rubberband
* #include <stddef> to audio_core.h
* typo
* -framework Accelerate
* OptionTransientsSmooth -> OptionTransientsCrisp
* tweak stretch tempo smoothing coefficient. also switch back to smooth.
* tweak mroe
* remove printf
* sola
* #include <cmath>
* VERY QUICK MERGE TO GET IT WORKING DOESN'T ACTIVATE AUDIO FILTERS
* Reminder to self
* fix comparison
* common/thread: Correct code style
* Thread: Make Barrier reusable
* fix threading synchonisation code
* add profiling code
* print error to console when audio clips
* fix metallic sound
* reduce logspam
citra: Remove GLFW, Add SDL2
FindSDL2: Do not CACHE SDL2_* variables if library is not found
EmuWindow_SDL2: Set minimal client area at initialisation time
EmuWindow_SDL2: Corrections
EmuWindow_SDL2: Fix no decorations on startup on OS X
cmake: windows_copy_files
The main advantage of switching to glad from glLoadGen is that, apart
from being actively maintained, it supports a customizable entrypoint
loader function, which makes it possible to also support OpenGL ES.
INTERFACE doesn't define the symbol when compiling the library itself.
PUBLIC should be used when the definition is needed both by the library
and by the users.
Involves making asserts use printf instead of the log functions (log functions are asynchronous and, as such, the log won't be printed in time)
As such, the log type argument was removed (printf obviously can't use it, and it's made obsolete by the file and line printing)
Also removed some GEKKO cruft.
The triangle clipper was allocating its temporary input, output and work
buffers using a std::vector. Since this is a hot path, it's desirable to
use stack allocation instead.
Several cleanups to the buildsystem:
- Do better factoring of common libs between platforms.
- Add support to building on Windows.
- Remove Qt4 support.
- Re-sort file lists and add missing headers.
This should fix the GL loading errors that occur in some drivers due to
the use of deprecated functions by GLEW. Side benefits are more accurate
auto-completion (deprecated function and symbols don't exist) and faster
pointer loading (less entrypoints to load). In addition it removes an
external library depency, simplifying the build system a bit and
eliminating one set of binary libraries for Windows.