Clownacy
bc165d0f0a
Remove Organya-sleeping
...
Turns out that 'Sleep' call is ran on the *main* thread.
I have absolutely no idea why the game does this.
2020-09-04 02:26:31 +01:00
Clownacy
987b81c946
Fix other audio backends
2020-09-03 19:59:37 +01:00
Clownacy
7abab0039b
Pre-convert the Organya callback timer
...
Oh no, I used the naughty 'm' word :(
2020-09-03 19:19:55 +01:00
Clownacy
be6f46fabd
Refactor audio software mixer
...
Now the various backends have far less duplicate code, and are part
of a separate backend system specifically for the software mixer.
Now, any modifications to the MixSoundsAndUpdateOrganya function
will apply to all backends, instead of needing to manually be applied
to each one.
2020-09-03 19:19:50 +01:00
Clownacy
ab09dc67eb
Emulate the Organya thread pauses
...
Now there's a 100ms pause between songs.
Currently only the miniaudio backend supports this.
2020-09-03 18:14:52 +01:00
Clownacy
fbcb2f5f56
Optimise the linear-interpolator a little
...
Doesn't have to do two sets of shifts
2020-09-03 16:01:46 +01:00
Clownacy
b68eb076ca
Rename a variable
2020-09-03 15:00:07 +01:00
Clownacy
47543eb382
Another Lanczos optimisation
2020-09-03 14:38:56 +01:00
Clownacy
67ee8b9829
Optimise the Lanczos resampler some more
2020-09-03 14:28:04 +01:00
Clownacy
9f002b6180
Convert Lanczos resampler from double to float
...
Forgot that C++98 has a float version of `sin`.
2020-09-01 19:57:08 +01:00
Clownacy
9a79041c6c
Optimise the Lanczos resampler a little
...
Apprently floating-point divisions are slower than multiplications
2020-08-31 17:28:35 +01:00
Clownacy
48386d443b
Add optional Lanczos filter to the audio mixer
...
Should be higher-quality than the linear-interpolator, but also much
slower, so it's disabled by default.
2020-08-31 16:07:25 +01:00
Clownacy
39067057c1
Fix some code formatting
2020-08-29 18:10:59 +01:00
Clownacy
845ee1b96f
Don't store subsample offset as long
...
Only a short is needed.
2020-08-25 02:44:54 +01:00
Gabriel Ravier
ca8b5ccaa1
Merge branch 'portable' into portableMinimizeHeaders
...
# Conflicts:
# src/BulHit.cpp
2020-07-02 15:26:33 +02:00
Gabriel Ravier
81edd4db52
src: Restored SDL.h includes to conform to project style of including SDL2
...
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2020-07-02 14:59:55 +02:00
Clownacy
6cc976d4d6
Wii U audio tweaks
...
Clean-up better, and neaten-up some code
2020-07-02 02:31:55 +01:00
Gabriel Ravier
32c8795ead
src: Cleaned up includes to only (and always) include what we use
...
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2020-07-01 18:26:22 +02:00
Clownacy
1d76e25c35
Better Wii U audio cleanup
2020-06-30 20:39:20 +01:00
Clownacy
e0c67b421a
Add constant to control number of Wii U buffers
2020-06-30 20:38:28 +01:00
Clownacy
371d66255b
Fix popping in the Wii U audio backend
2020-06-30 20:37:16 +01:00
Clownacy
1fbdbf6015
Audio backend notes
2020-06-28 22:18:00 +01:00
Clownacy
27a621f923
Update miniaudio to v0.10.9
...
Had to add a small bugfix to get it to work
2020-06-24 17:40:08 +01:00
Clownacy
dae87c6106
Update Wii U audio backend
2020-06-24 17:34:25 +01:00
Clownacy
f64f924b54
Update miniaudio backend
2020-06-24 17:24:41 +01:00
Clownacy
3fa4a91dc1
Reword audio backend logic
...
This will make it easier to integrate into the enhanced branch, and
also improved audio quality slightly (samples are mixed as 16-bit
instead of 8-bit).
2020-06-24 17:03:13 +01:00
Clownacy
70e431d35d
Add missing(?) header
2020-06-24 16:02:28 +01:00
Clownacy
1ff5772843
Fix typo
2020-06-24 12:12:28 +01:00
Clownacy
2ee1bf131e
Update miniaudio backend to new mixer
2020-06-24 01:15:21 +01:00
Clownacy
479fff2ccf
New mostly-integer-only sound mixer
...
The mixer itself is integer-only, but the millibel stuff is still
float-based (I don't know if it's worth adding a 10001-value-long
lookup table to replace it).
Anyway, according to a quick test, this new mixer is significantly
faster than the old floating-point one - rarely going above 100
clock() ticks per callback, with the old one almost always running
above that.
For now, only the SDL2 backend supports it - I'll add the others in
upcoming commits.
This will no-doubt cause problems with the enhanced (lite) branch,
where clownaudio always outputs float samples.
2020-06-24 01:11:02 +01:00
Clownacy
22c9987191
Dear me: Test your fixes before committing them
...
you complete tit-head
2020-04-24 19:49:18 +01:00
Clownacy
cbeeb7a180
Fix WiiU-Software backend buffer being 5ms
...
5ms is too small: it cannot be updated fast enough, resulting in
crackling coming from the gamepad speakers. Now it's 10ms, as
intended.
2020-04-24 19:42:47 +01:00
Clownacy
20440ff5e0
Missing a line
2020-04-24 17:20:32 +01:00
Clownacy
8e2d8ab962
Add context initialisation to miniaudio backend
...
This is used for mutexes in the enhanced backend
2020-04-24 17:06:53 +01:00
Clownacy
f55450d141
Rename WiiU.cpp to WiiU-Hardware.cpp
2020-04-21 14:27:15 +01:00
Clownacy
a2b272fdf7
Address a TODO, and do some cleanup
2020-04-21 13:58:20 +01:00
Clownacy
e470b91501
Cleanup and documentation
2020-04-20 02:46:46 +01:00
Clownacy
5c575a0be9
Fix crash
...
Dammit my build process wasn't actually updating the binary I was
testing.
2020-04-19 20:15:20 +01:00
Clownacy
93cf72e269
Add sanity checks to the Wii U hardware mixer
...
The other audio backends have these - probably for a good reason,
too.
2020-04-19 19:45:09 +01:00
Clownacy
4f80ff4139
Correct a typo
2020-04-19 19:44:06 +01:00
Clownacy
04faccb259
More cleanup
2020-04-19 19:43:57 +01:00
Clownacy
01a444ff8c
More cleanup
2020-04-19 19:37:16 +01:00
Clownacy
5704035b9b
Cleanup
2020-04-19 19:31:21 +01:00
Clownacy
9e3b158973
Add stereo support to Wii U software mixer
2020-04-19 19:27:02 +01:00
Clownacy
288c2dccee
Wii U - Use a frame callback instead of a thread
2020-04-19 19:05:25 +01:00
Clownacy
07ee648181
Add Wii U software audio mixer
...
The hardware-accelerated one is suffering from a bizarre-ass bug that
I can't fix for the life of me.
2020-04-19 19:03:00 +01:00
Clownacy
745783a025
Wii U samples are signed
2020-04-19 13:51:45 +01:00
Clownacy
7d95fb8ea3
Wii U audio backend cleanup
...
Still bugging-out though
2020-04-19 13:46:10 +01:00
Clownacy
11b04fe93b
Update other audio backends
2020-04-18 01:38:25 +01:00
Clownacy
011cb94f73
More guards
2020-04-18 01:23:25 +01:00