OpenAlSoft 1.16 support in Löve 0.9.2?

Questions about the LÖVE API, installing LÖVE and other support related questions go here.
Forum rules
Before you make a thread asking for help, read this.
Post Reply
User avatar
SiENcE
Party member
Posts: 792
Joined: Thu Jul 24, 2008 2:25 pm
Location: Berlin/Germany
Contact:

OpenAlSoft 1.16 support in Löve 0.9.2?

Post by SiENcE »

OpenAlSoft 1.16 is out and I would really like to use the new EFX features. Is it possible to integrate it in Löve 0.9.2 and add an Interface to EFX features?

We also need a solution to add/change the OpenALSofts config file from LÖVE. In LÖVE it's not possible to access this File, because it's located under "%AppData%\alsoft.ini". The new config Tool might fix this, but it's an seperate Tool based on QT and I wouldn't integrate it into LÖVE. I could also think of an API to change this (Speaker,...) settings through Löve.

http://openal.org/pipermail/openal/2014 ... 00202.html

Code: Select all

OpenAL Soft 1.16.0 is now available:

http://kcat.strangesoft.net/openal.html

This release has a number of EFX features now implemented (chorus, 
flanger, distortion, equalizer, and compressor effects, and the 
high-pass and band-pass filters), as well as SSE2 and SSE4.1 linear 
resamplers and a Neon-based non-HRTF mixer, and also a new QSA backend.

For Windows systems, device specifier strings are now UTF-8 and thus can 
support device names with Unicode characters. File paths that contain 
Unicode characters (such as the path to alsoft.ini, or a path specified 
for the hrtf_tables config option) also work.

For non-Windows systems, the XDG Base Directory Specification is now 
adhered to for alsoft.conf (XDG_CONFIG_DIRS and XDG_CONFIG_HOME), 
although the old locations are still recognized too.

A GUI configuration utility is also provided (requires Qt 4.8), which 
allows a more user-friendly interface for editing config options. Do 
note, though, that the utility is still kind of bare bones.. it won't 
warn about unsaved changes, and it will only display config options as 
specified in $XDG_CONFIG_HOME/alsoft.conf or %AppData%\alsoft.ini 
(global settings aren't currently factored into what's displayed or 
written to the local config).

The CMake option names have been changed so they better sort in cmake 
GUIs, and to reduce the risk of clashes if embedded into another project.

The default HRTF data set is now an external file. In addition, another 
one is provided for 48khz output (created using makehrtf's resample 
option), using the same KEMAR data source as the one for 44.1khz.


There's much more to this release, including improved locking behavior 
(so fewer AL calls will cause the mixer to block), bug fixes, and some 
internal code restructuring.


Future work will hopefully see some headway on supporting MIDI with an 
internal software synth (which if nothing else, will really test the 
mixer's ability to handle many sounds being mixed and updated with 
greater frequency than apps typically require). I'm also aiming to 
finish designing an HRTF extension that will allow apps to enumerate and 
enable data sets for itself, without requiring the user to enable it 
externally, and to allow it to work on loopback devices.


Also, I'm considering setting up a mirror for the git repo on github, 
where I can enable an issue tracker to better manage bugs and other 
issues that pop up. I've been wanting to get a bug tracker set up, and 
github seems to provide one in a simple and painless manner (this 
feeling may or may not change once I try using it).


Anyway, that's all for now. If there's any questions, concerns, or 
comments, please feel free to bring them up. Thanks!

- Chris

P.S. Apologies if I missed anything important, this release took longer 
than I expected to finish so I'm up a bit later than I would otherwise 
be. I believe I got everything, but if I missed something or if 
something doesn't seem right, let me know and I'll get on it ASAP.
User avatar
bartbes
Sex machine
Posts: 4946
Joined: Fri Aug 29, 2008 10:35 am
Location: The Netherlands
Contact:

Re: OpenAlSoft 1.16 support in Löve 0.9.2?

Post by bartbes »

SiENcE wrote: We also need a solution to add/change the OpenALSofts config file from LÖVE. In LÖVE it's not possible to access this File, because it's located under "%AppData%\alsoft.ini". The new config Tool might fix this, but it's an seperate Tool based on QT and I wouldn't integrate it into LÖVE. I could also think of an API to change this (Speaker,...) settings through Löve.
It seems a bit weird if every game modifies your global settings, doesn't it?
User avatar
murks
Party member
Posts: 185
Joined: Tue Jun 03, 2014 4:18 pm

Re: OpenAlSoft 1.16 support in Löve 0.9.2?

Post by murks »

Those are per user settings I think, but games should still not change them. It would be nice to have game specific settings, but I don't know how to realise this. However, it would be nice to have access to more OpenAL features.
User avatar
SiENcE
Party member
Posts: 792
Joined: Thu Jul 24, 2008 2:25 pm
Location: Berlin/Germany
Contact:

Re: OpenAlSoft 1.16 support in Löve 0.9.2?

Post by SiENcE »

bartbes wrote:
SiENcE wrote: We also need a solution to add/change the OpenALSofts config file from LÖVE. In LÖVE it's not possible to access this File, because it's located under "%AppData%\alsoft.ini". The new config Tool might fix this, but it's an seperate Tool based on QT and I wouldn't integrate it into LÖVE. I could also think of an API to change this (Speaker,...) settings through Löve.
It seems a bit weird if every game modifies your global settings, doesn't it?
This is correct for Posix. But on Windows LÖVE brings his own OpenALSoft DLL.

Currently you can't change the default settings at all. So it would be nice to have a solution for this. I also suggested an LÖVE API todo non-persistant changes to speaker setup (but i don't know if openal supports this).

Also the configuration file can be overridden by enviroment parameter "ALSOFT_CONF".

Code: Select all

ALSOFT_CONF
Specifies an additional configuration file to load settings from. These
settings will take precedence over the global and user configs, but not other
environment variable settings.
update:
I looked into the löve 0.9.1 code and found this.

Code: Select all

	// Passing null for default device.
	device = alcOpenDevice(nullptr);
So device could be setup using a non default device and during runtime via "UpdateDeviceParams".
User avatar
slime
Solid Snayke
Posts: 3132
Joined: Mon Aug 23, 2010 6:45 am
Location: Nova Scotia, Canada
Contact:

Re: OpenAlSoft 1.16 support in Löve 0.9.2?

Post by slime »

OpenAL 1.16 includes some important bug fixes (for this in particular) - LÖVE 0.9.2 will definitely use it. 0.9.1 in Windows uses a beta version in between OpenAL 1.15 and 1.16 because of another bug fix, as well.

The EFX features are a separate issue. OpenAL Soft has had EFX capabilities for a long time, 1.16 just expands them a bit.
If you have ideas for a clean API for sound effects you could create an issue in the issue tracker, although any API like that definitely won't be in 0.9.2, since work on that version is almost done and work on 0.10 is well underway.
User avatar
SiENcE
Party member
Posts: 792
Joined: Thu Jul 24, 2008 2:25 pm
Location: Berlin/Germany
Contact:

Re: OpenAlSoft 1.16 support in Löve 0.9.2?

Post by SiENcE »

Thanks slime for explaning the roadmap. Yes the pause bugfix is important.

When I find the time I suggest an API for sound effects.

But it it possible to include a device setup in 0.9.2 to setup speakers?
User avatar
undef
Party member
Posts: 438
Joined: Mon Jun 10, 2013 3:09 pm
Location: Berlin
Contact:

Re: OpenAlSoft 1.16 support in Löve 0.9.2?

Post by undef »

I also think that the audio module needs a lot more features.
I think I'll be looking into it in the coming months, particulary EFX.
twitter | steam | indieDB

Check out quadrant on Steam!
User avatar
SiENcE
Party member
Posts: 792
Joined: Thu Jul 24, 2008 2:25 pm
Location: Berlin/Germany
Contact:

Re: OpenAlSoft 1.16 support in Löve 0.9.2?

Post by SiENcE »

undef wrote:I also think that the audio module needs a lot more features.
I think I'll be looking into it in the coming months, particulary EFX.
I see you are also from berlin. We could meet and talk about enhancing löves audio module.
User avatar
undef
Party member
Posts: 438
Joined: Mon Jun 10, 2013 3:09 pm
Location: Berlin
Contact:

Re: OpenAlSoft 1.16 support in Löve 0.9.2?

Post by undef »

I already sent you a pm the day I wrote that comment ;)
twitter | steam | indieDB

Check out quadrant on Steam!
Post Reply

Who is online

Users browsing this forum: Google [Bot] and 210 guests