A toolkit to handle storage, playback and distribution of structured alphanumerical data. It is written in ES6 JavaScript for use with Node.js, uses LMDB and (soon) HDF5 to store data and provides realtime data playback through OSC over various transports, such as UDP, TCP and WebSocket.
🚀 Tested on:
- macOS 10.11 & 10.12
- Ubuntu 14.04
- Windows 8.1
npm install --save metakit
Node.js >= v9.0.0
- NVM (recommended)
- "one-click" Installer
- your favourite Package Manager.
xcode-select --install
sudo apt-get install build-essential gcc-4.9 g++-4.9
export CC=gcc-4.9 && CXX=g++-4.9
Install required software (Visual Studio 2015 and MinGW) manually, or use this fetch script gist:
npm install bluebird node-wget-promise fs-extra
curl -fsSL https://gist.githubusercontent.com/dasantonym/74a15caa27a93ab20903badba94783b5/raw/mtk-dl-dependencies.js | node -r bluebird
Then install node related build tools:
npm i -g windows-build-tools node-gyp mocha
npm config set msvs_version 2015 --global
Adds HDF5 compatibility in addition to LMDB. Needs a rebuild of the project, not (currently) available through NPM.
Note: This is not yet implemented as a proper build option, so for now don't bother reading any further.
Before rebuild, add the hdf5 module with npm i hdf5
, then uncomment the HDF refs in src/convert/index.js
and src/output/index.js
and rebuild (see below).
- Official maintainer
- macOS (Homebrew):
brew install hdf5
- Ubuntu:
sudo apt-get install libhdf5-dev
Before pushing changes, please make sure to lint the code using npm run eslint
.
Transpiles ES6 code and copies assets to dist
.
npm run build
Cleans dist
, lib
and install
and lints the code before building.
npm run release