Juce on a Beaglebone


#1

Hello,

I'm working on a JUCE project for the Beaglebone, currently running Angstrom. I have a basic understanding of C++, but not much beyond that. I have set up a workspace envoirnment in Eclipse on my laptop, and I have successfully cross-compiled the JUCE library to run on my Beaglebone. 

I am currently trying to get some audio out of the device. I have successfully played music out of the device using ffmpeg, so I know my circuit and audio driver are working correctly. I'm using the default audio driver on the Beaglebone (see below).

root@beaglebone:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Black [TI BeagleBone Black], device 0: HDMI nxp-hdmi-hifi-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

I am having trouble getting the initialise function in Juce working correctly.

When I run the following code, 

ScopedPointer<AudioDeviceManager> ADMtest;

ADMtest = new AudioDeviceManager();

ADMtest->initialise (2, 2, 0, true, String::empty, 0);

AudioDeviceManager& dm = *ADMtest;

if (dm.getCurrentDeviceTypeObject() != nullptr) {
      std::cout << "current Device Type Object is: " << dm.getCurrentDeviceTypeObject()->getTypeName() << std::endl;
}else std::cout << "current Device Type Object is NULL" << std::endl;

if (AudioIODevice* device = dm.getCurrentAudioDevice()) {
      std::cout << "Current audio device: " << device->getName().quoted() << std::endl
}else std::cout << "No audio device open" << std::endl;

Output:

root@beaglebone:~/Desktop# ./SelectorPrototype 
JUCE v3.0.7
No protocol specified
current Device Type Object is: ALSA
No audio device open

 

I have tried stepping through the intialise function but it gets pretty messy for me to follow exactly whats going on. Perhaps someone knows a setting I need to adjust, or least what types of failures I should be looking for when stepping through the initialise function.

Your help is greatly appriciated and please let me know if you need any more information about the specifics of my hardware/software set up. Cheers!