Commit Graph

53 Commits

Author SHA1 Message Date
c18cf05a06 cmake: make cubeb and SDL2 optional 2022-12-28 17:29:32 -05:00
e6ae720c33 cmake: use sdl2 imported target 2022-12-06 01:26:30 +01:00
8e17b5469f cmake: prefer system libraries 2022-12-04 17:09:25 +01:00
75e16547f8 Merge pull request #9300 from ameerj/pch
CMake: Use precompiled headers to improve compile times
2022-12-03 14:10:06 -05:00
37bc5118ea CMake: Use precompiled headers 2022-11-29 18:50:49 -05:00
0941ae0b61 CMake: Directly link to SDL2-static when appropriate
Trying to be lazy and alias SDL2 to SDL2-static causes issues in later
versions of CMake. Just use the same condition to tell which one to use.
2022-11-28 23:21:14 -05:00
cbaf642ffe Initial ARM64 support 2022-11-09 16:58:49 -05:00
e6ab1f673b general: Enforce C4800 everywhere except in video_core 2022-10-22 15:02:04 -04:00
93297d14d8 CMakeLists: Remove all redundant warnings
These are already explicitly or implicitly set in src/CMakeLists.txt
2022-10-22 15:02:04 -04:00
ea9ff71725 Rework audio output, connecting AudioOut into coretiming to fix desync during heavy loads. 2022-09-02 04:43:04 +01:00
cdb240f3d4 chore: make yuzu REUSE compliant
[REUSE] is a specification that aims at making file copyright
information consistent, so that it can be both human and machine
readable. It basically requires that all files have a header containing
copyright and licensing information. When this isn't possible, like
when dealing with binary assets, generated files or embedded third-party
dependencies, it is permitted to insert copyright information in the
`.reuse/dep5` file.

Oh, and it also requires that all the licenses used in the project are
present in the `LICENSES` folder, that's why the diff is so huge.
This can be done automatically with `reuse download --all`.

The `reuse` tool also contains a handy subcommand that analyzes the
project and tells whether or not the project is (still) compliant,
`reuse lint`.

Following REUSE has a few advantages over the current approach:

- Copyright information is easy to access for users / downstream
- Files like `dist/license.md` do not need to exist anymore, as
  `.reuse/dep5` is used instead
- `reuse lint` makes it easy to ensure that copyright information of
  files like binary assets / images is always accurate and up to date

To add copyright information of files that didn't have it I looked up
who committed what and when, for each file. As yuzu contributors do not
have to sign a CLA or similar I couldn't assume that copyright ownership
was of the "yuzu Emulator Project", so I used the name and/or email of
the commit author instead.

[REUSE]: https://reuse.software

Follow-up to 01cf05bc75
2022-07-27 12:53:49 +02:00
458da8a948 Project Andio 2022-07-22 01:11:32 +01:00
8671aa8dd0 audio_core: Remove -Werror=unused-parameter
Removing this as we don't enforce unused parameter warnings elsewhere in the project, and explicitly specify -Wno-unused-parameter in the main CMakeLists.
2022-06-13 18:19:23 -04:00
efc89c032b CMakeLists: Make variable shadowing a compile-time error
Now that the entire project is free of variable shadowing, we can enforce this as a compile time error to prevent any further introduction of this logic bug.
2022-06-13 18:19:23 -04:00
faf6a9876c audio_core: remove time stretcher
Also drop the SoundTouch dependency
2022-04-01 19:54:58 +02:00
ebb82b0b83 CMakeLists: Treat -Wsign-compare as an error on GCC/Clang
Treats (un)signed comparison mismatches as errors to be consistent with MSVC
2021-07-06 12:50:09 -04:00
c7c99905f4 Add SDL2 audio backend 2021-06-06 11:28:38 +02:00
4a7fd91857 audren: Implement I3dl2Reverb
Most notable fix is the voices in Fire Emblem Three Houses
2021-02-12 18:48:10 -08:00
1ea6bdef05 audio_core: Make shadowing and unused parameters errors
Moves the audio code closer to enabling warnings as errors in general.
2020-12-03 00:54:31 -05:00
e408bd3b7c core: Fix clang build pt.2
Resolves the clang build issue in a more unintrusive way.
2020-10-20 22:16:03 -04:00
3d592972dc Revert "core: Fix clang build" 2020-10-20 19:07:39 -07:00
be1954e04c core: Fix clang build
Recent changes to the build system that made more warnings be flagged as
errors caused building via clang to break.

Fixes #4795
2020-10-17 19:50:39 -04:00
9f9b64d280 audio_core/CMakeLists: Make warnings consistent with core
Normalizes the warnings shared between audio_core and core.
2020-10-13 16:36:58 -04:00
8b4ecf22d4 audio_core: Resolve sign conversion warnings
While were at it, we can also enable sign conversion warnings and other
common warnings as errors to prevent these from creeping back into the
codebase.
2020-09-25 01:22:47 -04:00
380658c21d audio_core: Apollo Part 1, AudioRenderer refactor 2020-07-25 12:39:34 +10:00
11c63ca969 audio_renderer: Preliminary BehaviorInfo (#3736)
* audio_renderer: Preliminary BehaviorInfo

* clang format

* Fixed IsRevisionSupported

* fixed IsValidRevision

* Fixed logic error & spelling errors & crash

* Addressed issues
2020-04-20 22:57:30 -04:00
e51bd49f87 audio_core: Add audio stretcher 2018-09-08 18:56:38 +01:00
a6efff8b02 Add audio stretching support 2018-09-08 18:26:23 +01:00
4b44b8b4fb audio_core: Interpolate 2018-08-13 11:26:50 +01:00
56300f2928 audio_core: Implement low-pass filter 2018-08-13 11:26:50 +01:00
0f5c4615ae Make building cubeb optional 2018-08-07 13:21:56 +02:00
b46df98e93 audio_core: Implement audren_u audio playback. 2018-08-04 21:54:30 -04:00
f1cb3903ac audio_core: Port codec code from Citra for ADPCM decoding. 2018-08-04 18:22:58 -04:00
f437c11caf audio_core: Implement Sink and SinkStream interfaces with cubeb. 2018-07-30 21:45:24 -04:00
9ef227e09d audio_core: Add interfaces for Sink and SinkStream. 2018-07-30 21:45:24 -04:00
ab756fd068 audio_core: Add initial code for keeping track of audout state. 2018-07-27 22:33:31 -04:00
ebf9a784a9 Massive removal of unused modules 2018-01-12 19:11:03 -07:00
74afcd5328 CMake: Add SoundTouch include path to target property 2017-05-27 22:09:28 -07:00
776cb91785 CMake: Define an interface target for SDL2 definitions 2017-05-27 21:38:49 -07:00
7b81903756 CMake: Correct inter-module dependencies and library visibility
Modules didn't correctly define their dependencies before, which relied
on the frontends implicitly including every module for linking to
succeed.

Also changed every target_link_libraries call to specify visibility of
dependencies to avoid leaking definitions to dependents when not
necessary.
2017-05-27 18:41:24 -07:00
6542c60602 DSP/HLE: Implement mixer processing 2016-05-19 07:24:39 +01:00
6f6af6928f AudioCore: Implement time stretcher (#1737)
* AudioCore: Implement time stretcher

* fixup! AudioCore: Implement time stretcher

* fixup! fixup! AudioCore: Implement time stretcher

* fixup! fixup! fixup! AudioCore: Implement time stretcher

* fixup! fixup! fixup! fixup! AudioCore: Implement time stretcher

* fixup! fixup! fixup! fixup! fixup! AudioCore: Implement time stretcher
2016-05-14 22:04:03 -04:00
c549c36076 Merge pull request #1736 from MerryMage/sdl2-sink
AudioCore: SDL2 Sink
2016-05-07 11:08:13 -04:00
920d2cf41d AudioCore: SDL2 Sink 2016-05-07 11:32:48 +01:00
b242bdf945 DSP/HLE: Implement Source processing 2016-05-03 20:58:28 +01:00
8b94422e3e AudioCore: List of sink types 2016-04-30 07:39:48 +01:00
7d106eff10 AudioCore: Implement NullSink 2016-04-30 07:39:37 +01:00
4c235955cf Merge pull request #1723 from MerryMage/audio-interp
AudioCore: Implement interpolation
2016-04-29 10:43:20 -04:00
111275bfbd AudioCore: Implement interpolation 2016-04-29 08:05:41 +01:00
27ce3b3f51 Externals: Add soundtouch 2016-04-28 13:33:14 +01:00