Bindings JACK-Audio-Connection-Kit for Node.JS
C++ JavaScript Python
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
examples
src
.gitignore
LICENSE
README.md
binding.gyp
index.js
package.json

README.md

Node.JS JACK-connector

Bindings JACK-Audio-Connection-Kit for Node.JS

Install

npm install jack-connector

Build requirements

libjack2, libjack2-devel

How to use

var jackConnector = require('jack-connector');
jackConnector.openClientSync('Noize Generator');
jackConnector.registerOutPortSync('output');

function audioProcess(err, nframes) {
    if (err) {
        console.error(err);
        process.exit(1);
        return;
    }

    var ret = [];
    for (var i=0; i<nframes; i++) ret.push((Math.random() * 2) - 1);
    return { output: ret };
}

jackConnector.bindProcessSync(audioProcess);
jackConnector.activateSync();
jackConnector.connectPortSync('Noize Generator:output', 'system:playback_1');
jackConnector.connectPortSync('Noize Generator:output', 'system:playback_2');

(function mainLoop() { setTimeout(mainLoop, 1000000000); })();

process.on('SIGTERM', function () {
    jackConnector.deactivateSync();
    jackConnector.closeClient(function (err) {
        if (err) {
            console.error(err);
            process.exit(1);
            return;
        }

        process.exit(0);
    });
});

More examples

examples/

Author

Viacheslav Lotsmanov

License

MIT