[mythtv] Request: OpenAL support

Mark Felder felderado at gmail.com
Mon Feb 5 04:51:19 UTC 2007


I know this might sound ridiculous and unnecessary, but hear me out
before you skip over this email.

I have a legitimate use for OpenAL. I do, honest. I believe MythTV
should include OpenAL as an option for the audio backend. In fact, it
might not be a bad idea to make it _THE_ audio backend. Here's why.

First of all, I love this project. I use the fruits of it every day. One
of my favorite things to do is watch TV with mythfrontend running on my
second monitor in a window while I do things in my first monitor such as
browse the web, email, work on stuff, play games, etc. It's so nice to
be able to do that. My backend is not on this machine, it's on another.
I don't think my situation is unique -- it's probably quite common that
people watch TV on their computers this way.

Here's my issue: I really badly want to control the volume of MythTV. I
don't want to control the volume of my system. I want the volume to be
independent of my system's volume. It's that simple. This is not
possible unless we either push the audio through OpenAL, or code a
software mixer. Which one is easier? OpenAL. Which one has more long
term benefits? OpenAL.

OpenAL is rapidly maturing. It's becoming a standard that will stand for
years. In case you didn't know, the majority of games on OSX and Linux,
at least commercial offerings, use OpenAL for audio. They do this
because it offers them what they need -- software mixer, multi channel
support, etc. 

I spoke with Icculus (Ryan Gordon of Unreal Tournament fame) and TTimo
(Timothee Bessete of Quake/Doom/EnemyTerritory fame) and got some
feedback. It was very positive. OpenAL is where audio systems are
heading.

I asked Icculus about software mixing in OpenAL. He has worked with this
so thoroughly he instantly had an answer.

<+icculus> Yeah, we just use alListener(AL_GAIN)
<+icculus> which scales just the game's output
<+icculus> it's basically free with the other mixing calculations.

Now I know the though of OpenAL sounds overwhelming for a project like
this, but it's actually more reasonable than you might initially
realize.

OpenAL runs on OSX.

OpenAL runs on Linux. It connects to OSS and/or ALSA.

OpenAL runs on Windows XP.

OpenAL is replacing DirectSound on Vista. -- There IS no DirectSound 
anymore. Vista is using OpenAL in its place because that is what
developers want. In fact, Creative has been talking of introducing
hardware rendering extensions into OpenAL. That would be nice to tap
into in the future also.

This suddenly becomes a viable alternative. You make your client even
more cross platform friendly. You are only coding to one audio engine.
QT4 gives us the cross platform GUI. It will definitely make it easier
to get a frontend on Linux, OSX, and Windows (Assuming you wish to do
this. In either case, it makes it easier for OTHERS to take a stab at
it.)

Well, that's my rant, let me know what you guys think. I'm subscribed to
the mailing list, so I'll be watching.

Have a good one and keep up the great work.



-Mark



More information about the mythtv-dev mailing list