-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[ENHANCEMENT] Fix audio muffling/low audio quality by changing OpenAL's default settings #3318
base: develop
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's definitely a noticeable difference, approved.
(First audio uses the .ini file, second audio does not)
2024-09-16.15-33-49.mp4
this should work on Linux & Mac since you can specify which audio driver to use & it does have options for Mac & Linux
|
AND IT WAS THIS SIMPLE?!? |
Something about just putting the file in the game directory frustrates me because it just works like this like something you can configure (Top is with alsoft.ini, bottom is without) 2024-09-17.21-32-48.mp4 |
Looking this further, you know how this is the default and it's the attended way |
https://github.com/kcat/openal-soft/blob/7c1aca7a3134be6fef71b39ee0d426e158dc5446/alsoftrc.sample#L24 |
OpenFL uses OpenAL, and of course AL soft, so anything that uses that you can use that config for |
All i can say is its fucked that knowing it has a fucked up default config |
Is there a way to make this work without an extra file in the output folder? Maybe passing some config to OpenAL via code? |
It should be possible using ALC's attribute list, ill look into it |
so theoretically <assets path="alsoft.ini" if="windows" />
<assets path="alsoft.ini" rename="alsoft.conf" unless="windows" /> |
yeah basically |
thank you i will be stealing that |
thank u goat, i'll poke thru this |
e0b1b01
to
410cfe9
Compare
Pretty sure you can just update the branch and all the extra commits will be gone |
1 nice singular commit now :steamhappy: |
95b31dc
to
eb27d51
Compare
source/Main.hx
Outdated
@@ -3,6 +3,9 @@ package; | |||
import flixel.FlxGame; | |||
import flixel.FlxState; | |||
import funkin.Preferences; | |||
#if desktop | |||
import funkin.audio.ALSoftConfig; // Just to make sure DCE doesn't remove this, since it's not directly referenced anywhere else. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Dead code elimination is disabled in Funkin'
Lines 560 to 562 in c0b15ec
// Disable dead code elimination. | |
// This prevents functions that are unused by the base game from being unavailable to HScript. | |
addHaxeFlag("-dce no"); |
Co-authored-by: Smokey <78874128+Smokey555@users.noreply.github.com> Co-authored-by: Cobalt Bar <79053181+CobaltBar@users.noreply.github.com>
ik for a fact this works on windows but im gonna try testing this on linux and hl rn |
just tested |
Does this PR close any issues? If so, link them below.
#2980
Briefly describe the issue(s) fixed.
Lime's OpenALSoft has a gain limiter on by default which causes audio muffling/lower audio quality. There are also more settings that could cause spatialization etc. to occur resulting in the audio not sounding like it's supposed to compared to outside media players. Adding a default alsoft.ini file fixes this, as it gets automatically detected when it's in the same directory as the executable and applied. This could work for multiple platforms but testing has only been done on Windows
Include any relevant screenshots or videos.
--