jack-connector

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

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(errnframes) {
    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