[LAD] qt and jack

Gregorio Canelos jogger77 at yahoo.com
Wed Apr 8 23:41:14 UTC 2009


Greetings,
 
 I am trying to a connect a bare bones Qt-based client to the JACK audio server , and I am running into a strange run-time error.  I recently posted my question on the Qt-Interest list but have had no luck.  Maybe someone on this list would be kind enough to help...  

my Setup is:

-Fedora 10 -  2.6.26.8-1.rt16.1.fc10.ccrma.i686.rt #1 SMP PREEMPT RT Tue Feb 17 15:48:24 EST 2009 i686 i686 i386 GNU/Linux
-Qt 4.50 (for Linux/X11)
-Jack audio connection kit



The .cpp files  which cause this error are here:


******************
#include <QApplication>
#include "MainWindow.h"
int main(int argc, char *argv[]) {
	QApplication app(argc, argv);
	MainWindow mainWindow;
	mainWindow.show();
	return app.exec();
}
*********************
#include "MainWindow.h"
MainWindow::MainWindow() {
	QPushButton * b1 = new QPushButton("HELLO BUTTON",this);
	audioEngine = new AudioEngine();
	audioEngine->run();
}
MainWindow::~MainWindow() {
}
**********************
#include "AudioEngine.h"
using namespace std;
static int process(jack_nframes_t nframes, void *pvArg) {
	AudioEngine * pAudioEngine = static_cast<AudioEngine *> (pvArg);
	return pAudioEngine->audioEngineProcess(nframes);
}
int AudioEngine::audioEngineProcess(jack_nframes_t nframes) {
	currFrame = nframes;
	return 0;
}
AudioEngine::AudioEngine() {
}
AudioEngine::~AudioEngine() {
}
void AudioEngine::run() {
	const char * client_name = "Template Player";
	jack_options_t options = JackNullOption;
	jack_status_t status;
	//	 open a client connection to the JACK server
	client = jack_client_open(client_name, options, &status);
	if (client == NULL) {
		fprintf(stderr, "jack_client_open() failed, status = 0x%2.0x\n", status);
		if (status & JackServerFailed) {
			fprintf(stderr, "Unable to connect to JACK server\n");
		}
		exit(1);
	}
	if (status & JackServerStarted)
		fprintf(stderr, "JACK server started\n");
	if (status & JackNameNotUnique) {
		client_name = jack_get_client_name(client);
		fprintf(stderr, "unique name `%s' assigned\n", client_name);
	}
	jack_set_process_callback(client, process, 0);
	//	jack_on_shutdown(client, jack_shutdown, 0);
	//register the client ports
	input_port = jack_port_register(client, "input", JACK_DEFAULT_AUDIO_TYPE,
			JackPortIsInput, 0);
	output_port = jack_port_register(client, "output", JACK_DEFAULT_AUDIO_TYPE,
			JackPortIsOutput, 0);
	if ((input_port == NULL) || (output_port == NULL)) {
		fprintf(stderr, "no more JACK ports available\n");
		exit(1);
	}
	jack_activate(client);
}

*************************
Everything compiles , but I am getting the following run-time error:

/usr/libexec/<unknown>: No such file or directory.
Cannot access memory at address 0x7
Cannot access memory at address 0x7

Not sure what this means... I have registered a
 callback function with the JACK daemon and whenever
 I try to access the member variable currFrame from 
within the callback function I get that error.  
Has anyone seen this error before?

-Thank You!





      
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxaudio.org/pipermail/linux-audio-dev/attachments/20090408/1fc23746/attachment.html>


More information about the Linux-audio-dev mailing list