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!
|