Clownacy
35d3d20d44
Even better way
2020-10-15 14:27:16 +01:00
Clownacy
977a5eb49d
Add better 3DS audio thread priority
2020-10-15 14:25:48 +01:00
Clownacy
497adce14b
Add mutexes to 3DS audio backend
2020-10-15 14:22:49 +01:00
Clownacy
2f8e771333
Fix a typo
2020-10-15 14:00:55 +01:00
Clownacy
0d7ad3358b
Make some filenames more consistent
2020-10-14 23:22:16 +01:00
Clownacy
d391ab77f9
Add a hardware-accelerated 3DS audio backend
...
Hell yes
2020-10-14 23:18:43 +01:00
Clownacy
268d68b078
Remove dead functions
2020-10-14 20:36:00 +01:00
Clownacy
f9993b264c
Fix dumb typo
2020-10-11 21:18:52 +01:00
Clownacy
5b4778fb06
Fix the 3DS crash when closing
...
For whatever reason, the 3DS *really* doesn't like it when I do all
the audio mixing in the callback function. Instead, it seems I have
to use a dedicated thread.
2020-10-11 21:16:47 +01:00
Clownacy
6df224400c
Okay never mind this doesn't avoid it at all
...
Seriously wtf why is it crashing
2020-10-11 16:01:27 +01:00
Clownacy
f3ff030869
Avoid 3DS crash when closing the game
2020-10-11 15:58:27 +01:00
Clownacy
2a73c12a5f
3DS cleanup
2020-10-11 15:17:00 +01:00
Clownacy
80725016f7
Add mutexes to 3DS audio backend
...
Doesn't seem to fix the annoying crashes though...
2020-10-11 14:42:04 +01:00
Clownacy
75a31005d1
Add basic 3DS audio support
...
It's using the software mixer for now. I might be able to make it
hardware-accelerated in the future.
2020-10-11 14:27:39 +01:00
Clownacy
7013c28e26
Remove an unnecessary newline
2020-10-11 14:27:10 +01:00
Clownacy
ad5785611b
Change a float literal to double
2020-09-27 19:31:23 +01:00
Clownacy
4763aecdbd
Correct Lanczos array initialisation
...
I must have forgotten that Lanczos reads backwards too
2020-09-18 00:59:05 +01:00
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