05-05-2012 04:24 PM - edited 05-05-2012 04:34 PM
While the audio problem is mostly solved (the actual reason why I opened this thread in the first place), I thought'd I give you guys a small update on ofxQNX.
Some of you might know that NodeBeat is currently available and featured app in the AppStore ( http://appworld.blackberry.com/webstore/content/10
With the announcement of the BlackBerry 10 Native SDK earlier this week, I spend the last few days trying to get ofxQNX working for BB10 as well. It seemed that the new compiler is a bit more strict, but with a few tweaks to the code I managed to get it up and running: https://twitter.com/#!/LaurenceMuller/status/19820
I tested most of the ofx examples using the BB10 Dev Alpha Simulator and so far it seems to run great. As I did not attended BBJam10 I do not have access to the real dev alpha device. My guess is that it will probably run (I included new ARMv7 libraries for BB10), if not let me know. I have pushed the sourcecode onto Github ( https://github.com/falcon4ever/openFrameworks/tree
I also included converted test projects for the BB10 target and updated the dependencies a bit. FreeImage and Poco lib now includes additional instructions on how to build them from scratch (+ the custom Makefiles that I use)
Since the BB10 target is mostly similar to the PlayBook target, I'll try to maintain both in the same project (ofxQNX).
05-25-2012 03:36 PM
I am new to BB development. The BB Native SDK Documentation says that it supports ALSA 5 drivers, through the shared library libasound.so:
So, why was it necessary to make the ported code use QSA? i.e. Couldn't it have just used ALSA through the provided libasound.so?
Thanks for your help!
05-25-2012 09:06 PM
OK, I found the answer to my question (sorry to bother). I found this more complete documentation on the QNX website:
The key components of the QNX Audio driver architecture include:
The only supported interface to the ALSA 5 drivers is through libasound.so. Direct use of ioctl()'s aren't supported because of the requirements of the ALSA API. It uses ioctl()'s in ways that are illegal in the QNX OS (e.g. passing a structure that contains a pointer through an ioctl()).
The asound library is licensed under the Library GNU Public License (LGPL). This means that any changes to the library must be open-sourced, but proprietary code can link to the library without becoming open-source.
The asound library is released with QNX only as a shared library (libasound.so). QNX Software Systems won't be offering a static library. The intention is to gradually improve the quality and number of services that this library provides; by linking against shared libraries, you'll receive the benefits of improvements without recompiling.
05-25-2012 09:21 PM
Thanks for reporting the answer.
I'm collecting volunteers to capture things like this in a new Community Wiki. Staged at http://pelegri.github.com/Community/ with older versions integrated into http://blackberry-community.github.com/Community/ and http://blackberry.github.com/Community/
Interested in helping with the general effort?