abletonlink
TypeScript icon, indicating that this package has built-in type declarations

0.2.0-beta.0 • Public • Published

node-abletonlink

node.js port of ableton Link with node-addon-api

Dependencies

Required

see detail on node-gyp

Common

  • python v2.7

Mac

  • Xcode

UNIX

  • make

Windows

  • Microsoft windows-build-tools (npm install --global --production windows-build-tools)

Tested env

  • OSX 10.14.6 with Xcode / node.js 10.16.0
  • Windows 10 with windows-build-tools / node.js 10.16.0

Install

npm install abletonlink

or

npm install 2bbb/node-abletonlink

How to use

const abletonlink = require('abletonlink');
const link = new abletonlink();

link.startUpdate(60, (beat, phase, bpm) => {
    console.log("updated: ", beat, phase, bpm);
});

// callback is option.
// link.startUpdate(60); // correct!

function do_something() {
    const beat = link.beat;
    const phase = link.phase;
    const bpm = link.bpm;
    ...
}

Example

API

const abletonlink = require('abletonlink'): Thread Safe abletonlink.Audio: Not Thread Safe (but on node.js/V8...??)

property

  • isLinkEnable: bool [get/set]

  • isPlayStateSync: bool [get/set]

  • numPeers: number [get]

  • beat: number [get/set]

  • bpm: number [get/set]

  • phase: number [get]

  • quantum: number [get/set]

method

  • getNumPeers: (void) -> number [deprecated from v0.0.8. use numPeers property]

get num peers.

  • setBeatForce: (beat: number) -> void

set beat force.

  • on: (key: string, callback: (number) -> void) -> void

set callback will call change event.

key is 'tempo' then argument of callback is new tempo property.

key is 'numPeers' then argument of callback is new numPeers property.

key is 'playState' then argument of callback is new isPlaying property.

  • off : (key: string) -> void

remove callback.

  • enable: (void) -> void

  • disable: (void) -> void

  • enablePlayStateSync: (void) -> void

  • disablePlayStateSync: (void) -> void

  • update: (void) -> void

call update manually.

  • startUpdate: (interval: number [, callback: (beat:number, phase:number, bpm:number, playState: bool) -> void]) -> void

start update timer with interval.

if given callback, it will call every interval with arguments beat, phase, bpm, playState.

  • stopUpdate: (void) -> void

stop update timer.

License

MIT

Author

  • ISHII 2bit [bufferRenaiss co., ltd.]
  • ishii[at]buffer-renaiss.com

Special Thanks

At last

If you get happy with using this addon, and you're rich, please donation for support continuous development.

Bitcoin: 17AbtW73aydfYH3epP8T3UDmmDCcXSGcaf

Readme

Keywords

none

Package Sidebar

Install

npm i abletonlink

Weekly Downloads

9

Version

0.2.0-beta.0

License

MIT

Unpacked Size

22 MB

Total Files

1641

Last publish

Collaborators

  • 2bit