[LAD] qt and jack

From: Gregorio Canelos <jogger77@email-addr-hidden>
Date: Thu Apr 09 2009 - 02:41:14 EEST

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!

_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@email-addr-hidden
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev
Received on Thu Apr 9 04:15:01 2009

This archive was generated by hypermail 2.1.8 : Thu Apr 09 2009 - 04:15:01 EEST