* 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 `option` commands have been moved to the top of the file, so that
the relevant options are registered in the CMake cache even if one of
the required libraries is not found. This solves an ergonomic problem
when using bundled libraries where you have to first download GLFW
before being able to select the option to also download Qt.
Using this variable is problematic is the user has several versions of
Qt installed on their system. There is no way to know ahead of time if
the Qt version pointed to by QTDIR matches the toolchain that is being
targeted.
The Qt installation path can still be easily specified if it's not found
by CMake by setting the Qt5_DIR cache variable after the initial
configuration run, so this shouldn't present an usability issue.
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.
Apparently /DEBUG implicitly disables linker optimizations. This
explicitly re-enables them, giving a 40% reduction in binary sizes and
a very slight runtime speed improvement.
Debug was missing compiler flags, causing MSVC to default it to building
with optimizations enabled (making for a not very useful binary for
actual debugging...). Additionally, the variables were re-organized to
remove some redundancy, the old Release build type was removed, and
RelWithDebInfo was renamed to take its place instead.
Remove unneeded stuff from pre-commit script
The check against an empty commit was not needed (it is only a security for the 1st commit after git init).
It could also possibly pose problems because of the redirection to /dev/null on some windows systems.
newline at EOF & fixed indent
Passing -pthread to GCC as a flag makes it both link to libpthread, and make C standard library routines reentrant. This makes the additional explicit links unnecessary.
Additionally, on OSX, this is the default behavior, and clang will print a message about it being unused if it's present there.
These are implicitly linked by Xcode, but with this, you can also build it with any other generator, which does not have this behavior.
CoreFoundation is included as a part of Cocoa (which is an umbrella framework), and Cocoa is generally recommended to link against, rather than its individual components (CoreFoundation, Foundation, libobjc, ...).
This both reduces redundancy in add_executable definitions, and makes it easier to link additional libraries. In particular, extra libraries are needed on OSX - see next commit.
This enables the /MP compiler flag, which parallelizes builds of by
distributing compilation of individual object files across workes
processes, instead of being limited to per-project parallelism.
Reduces the time for a full compile from 72 s to 45 s on my machine.