{"_id":"taktil","_rev":"59-858508384f629c72e66b3d7b4b90782c","name":"taktil","description":"Taktil is a lightweight control surface scripting framework for Bitwig Studio that encourages rapid development and community code reuse.","dist-tags":{"latest":"0.13.0","next":"0.9.1-dev.4"},"versions":{"0.3.0":{"name":"taktil","description":"Taktil is a lightweight control surface scripting framework for Bitwig Studio that encourages rapid development and community code reuse.","version":"0.3.0","repository":{"type":"git","url":"git+https://github.com/taktil/taktil.git"},"author":{"name":"Joseph Larson"},"tags":["bitwig","control surface","script","framework","typescript"],"//":"default babel setup for gulpfile.babel.js","babel":{"presets":["es2015"]},"dependencies":{"tslib":"^1.6.0"},"devDependencies":{"babel-preset-es2015":"^6.22.0","babel-preset-es3":"^1.0.1","bitwig-api-ts-stubs":"^2.0.0-beta.1","gulp":"^3.9.1","gulp-babel":"^6.1.2","gulp-typescript":"^3.1.4","merge2":"^1.0.3","typescript":"^2.2.1"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"engines":{"node":">= 4.2.0"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/taktil/taktil/issues"},"homepage":"https://github.com/taktil/taktil#readme","_id":"taktil@0.3.0","_shasum":"8d8138f15ae82bd85e950ab9ee14a660f1583d3c","_from":".","_npmVersion":"4.1.2","_nodeVersion":"6.9.5","_npmUser":{"name":"taktil","email":"admin@taktil.org"},"dist":{"shasum":"8d8138f15ae82bd85e950ab9ee14a660f1583d3c","tarball":"https://registry.npmjs.org/taktil/-/taktil-0.3.0.tgz","integrity":"sha512-+yT6mRbOsdeAVfRg5GdtKl5ErljPOrnBmIqygo6EyBW+fqceozgGutwMS380kEBbpJUonvEq9FHE2RAqg76ZFA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD9eccaHns6Oxpj8u9JrpZhBgu9S3XV/AwRLzDiePLW9QIgVBMNTI4U1ZY5rBn9J/S3iTNOqdsNQ9DUu+jGrwL59u0="}]},"maintainers":[{"name":"taktil","email":"admin@taktil.org"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/taktil-0.3.0.tgz_1489119529003_0.5805285621900111"},"directories":{}},"0.3.1":{"name":"taktil","description":"Taktil is a lightweight control surface scripting framework for Bitwig Studio that encourages rapid development and community code reuse.","version":"0.3.1","repository":{"type":"git","url":"git+https://github.com/taktiljs/taktil.git"},"author":{"name":"Joseph Larson"},"tags":["bitwig","control surface","script","framework","typescript"],"//":"default babel setup for gulpfile.babel.js","babel":{"presets":["es2015"]},"dependencies":{"tslib":"^1.6.0"},"devDependencies":{"@types/chai":"^3.4.35","@types/mocha":"^2.2.40","babel-preset-es2015":"^6.22.0","babel-preset-es3":"^1.0.1","bitwig-api-ts-stubs":"^2.0.0-beta.1","chai":"^3.5.0","gulp":"^3.9.1","gulp-babel":"^6.1.2","gulp-typescript":"^3.1.4","merge2":"^1.0.3","mocha":"^3.2.0","ts-node":"^2.1.0","typescript":"^2.2.1"},"scripts":{"test":"mocha -r ts-node/register src/**/*.spec.ts"},"engines":{"node":">= 4.2.0"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/taktil/taktil/issues"},"homepage":"https://github.com/taktil/taktil#readme","_id":"taktil@0.3.1","_shasum":"2dfb475e882190465d8c2821216cf40b396d4db7","_from":".","_npmVersion":"4.1.2","_nodeVersion":"6.9.5","_npmUser":{"name":"taktil","email":"admin@taktil.org"},"dist":{"shasum":"2dfb475e882190465d8c2821216cf40b396d4db7","tarball":"https://registry.npmjs.org/taktil/-/taktil-0.3.1.tgz","integrity":"sha512-Uy1bGhNft8/AG59ZUlw0u0cF6p5BIverIcxkyJU7FhEoU5wdGlhj8a4RbgdSDIw3m+PqF3IzILwhkJCz8lEbxw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIACuX08ST73C6e67kMEeTUJYDt2QCyjzPgYb0MyzoHF6AiEAwIlvwCS4lhnuyo3cbQQWW7c0hMn8kUPUKnP+rqOSYeU="}]},"maintainers":[{"name":"taktil","email":"admin@taktil.org"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/taktil-0.3.1.tgz_1489555983653_0.7462200040463358"},"directories":{}},"0.3.2":{"name":"taktil","description":"Taktil is a lightweight control surface scripting framework for Bitwig Studio that encourages rapid development and community code reuse.","version":"0.3.2","repository":{"type":"git","url":"git+https://github.com/taktiljs/taktil.git"},"author":{"name":"Joseph Larson"},"tags":["bitwig","control surface","script","framework","typescript"],"//":"default babel setup for gulpfile.babel.js","babel":{"presets":["es2015"]},"dependencies":{"tslib":"^1.6.0"},"devDependencies":{"@types/chai":"^3.4.35","@types/mocha":"^2.2.40","babel-preset-es2015":"^6.22.0","babel-preset-es3":"^1.0.1","bitwig-api-ts-stubs":"^2.0.0-beta.1","chai":"^3.5.0","gulp":"^3.9.1","gulp-babel":"^6.1.2","gulp-typescript":"^3.1.4","merge2":"^1.0.3","mocha":"^3.2.0","ts-node":"^2.1.0","typescript":"^2.2.1"},"scripts":{"test":"mocha -r ts-node/register src/**/*.spec.ts"},"engines":{"node":">= 4.2.0"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/taktil/taktiljs/issues"},"homepage":"https://github.com/taktil/taktiljs#readme","_id":"taktil@0.3.2","_shasum":"becce7e04ae5cd22a001e45ee8208e05d1101929","_from":".","_npmVersion":"4.1.2","_nodeVersion":"6.9.5","_npmUser":{"name":"taktil","email":"admin@taktil.org"},"dist":{"shasum":"becce7e04ae5cd22a001e45ee8208e05d1101929","tarball":"https://registry.npmjs.org/taktil/-/taktil-0.3.2.tgz","integrity":"sha512-rAoKjLsVEFUpJLC1KAWhaVOKkfk+Rxh/sJOQgtwpEAsmNYx/ZWCqFy0pMt0/dnzyCvSNKFs4+v1+lbHkYtAeUg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC2GmX2R/1etWf3HkEh0lgM/OMyWtp05g/Wu0U8HY+QkAIgP0yJ6CNgRIf7XkJxQD286L8vbekEg2P4NGR8c8Mu2N8="}]},"maintainers":[{"name":"taktil","email":"admin@taktil.org"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/taktil-0.3.2.tgz_1489556330198_0.6136296931654215"},"directories":{}},"0.4.0":{"name":"taktil","description":"Taktil is a lightweight control surface scripting framework for Bitwig Studio that encourages rapid development and community code reuse.","version":"0.4.0","repository":{"type":"git","url":"git+https://github.com/taktiljs/taktil.git"},"author":{"name":"Joseph Larson"},"tags":["bitwig","control surface script","framework","typescript"],"//":"default babel setup for gulpfile.babel.js","babel":{"presets":["es2015"]},"dependencies":{"tslib":"^1.6.1"},"devDependencies":{"@types/chai":"^3.5.2","@types/mocha":"^2.2.41","babel-preset-es2015":"^6.24.1","babel-preset-es3":"^1.0.1","chai":"^3.5.0","gulp":"^3.9.1","gulp-babel":"^6.1.2","gulp-typescript":"^3.1.6","merge2":"^1.0.3","mocha":"^3.3.0","ts-node":"^3.0.2","typed-bitwig-api":"^2.0.0","typescript":"^2.3.2"},"scripts":{"test":"mocha -r ts-node/register src/**/*.spec.ts"},"engines":{"node":">= 6.9.0"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/taktil/taktiljs/issues"},"homepage":"https://github.com/taktil/taktiljs#readme","_id":"taktil@0.4.0","_shasum":"a9a18ad122800ee4aa3db9592d5ed179194f1258","_from":".","_npmVersion":"4.5.0","_nodeVersion":"6.10.1","_npmUser":{"name":"joslarson","email":"larson.joseph@gmail.com"},"dist":{"shasum":"a9a18ad122800ee4aa3db9592d5ed179194f1258","tarball":"https://registry.npmjs.org/taktil/-/taktil-0.4.0.tgz","integrity":"sha512-8jE0Ywvz9PR+urPGWISZMulawvzC3Dflvw31FaOToFjIaP+k1u/pSlRx/JSSwI0cxL2Lc7jgsCD0I+WBXH9iyg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAL1+1vYSR9CXfEsr1VbdGVq4CkLcD6oaK8Sp137BI64AiEAm6aJp+gg/7W8plXMPdDWkuf+jjwhAjl4m6QVG59HdUY="}]},"maintainers":[{"name":"joslarson","email":"larson.joseph@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/taktil-0.4.0.tgz_1493704489188_0.8772240644320846"},"directories":{}},"0.5.0":{"name":"taktil","description":"Taktil is a lightweight control surface scripting framework for Bitwig Studio that encourages rapid development and community code reuse.","version":"0.5.0","repository":{"type":"git","url":"git+https://github.com/taktiljs/taktil.git"},"author":{"name":"Joseph Larson"},"tags":["bitwig","control surface script","framework","typescript"],"dependencies":{"tslib":"^1.7.1"},"devDependencies":{"@types/chai":"^3.5.2","@types/mocha":"^2.2.41","@types/node":"^7.0.16","@types/sinon":"^2.2.1","chai":"^3.5.0","del":"^2.2.2","gulp":"^3.9.1","gulp-typescript":"^3.1.6","merge2":"^1.0.3","mocha":"^3.3.0","prettier":"^1.4.2","sinon":"^2.2.0","ts-node":"^3.1.0","tslint":"^5.5.0","tslint-config-airbnb":"^5.2.1","tslint-config-prettier":"^1.1.0","tsutils":"^1.6.0","typed-bitwig-api":"^2.0.0","typescript":"^2.4.1"},"scripts":{"test":"mocha -r ts-node/register -r ./src/env ./src/**/*.spec.ts","lint":"tslint -c tslint.json 'src/**/*.ts' || true","format":"prettier --parser typescript --print-width 100 --tab-width 4 --single-quote --trailing-comma=es5 --write './src/**/*.ts'"},"engines":{"node":">= 6.9.0"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/taktil/taktiljs/issues"},"homepage":"https://github.com/taktil/taktiljs#readme","_id":"taktil@0.5.0","_npmVersion":"5.3.0","_nodeVersion":"6.10.1","_npmUser":{"name":"joslarson","email":"larson.joseph@gmail.com"},"dist":{"integrity":"sha512-ZHkxNdZz2FM0zce75Ybzqwq/lkbr9DKv+O3tEBWG9X7gR6kqlmes7xSoDkx62kLO5zKG8V3XST61g1gv4FMzvQ==","shasum":"65319cdcbc28a68fd95959f037f8091fbe67aa6d","tarball":"https://registry.npmjs.org/taktil/-/taktil-0.5.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCOzEA9RCA+cUBufjkUgG9R16H8Br+oXHH7OeNYJgrHWwIhANIZkp5Nc3sxCUXGtrea6HyxAUjQugvrXgb83bx9Xtxj"}]},"maintainers":[{"name":"joslarson","email":"larson.joseph@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taktil-0.5.0.tgz_1500263465414_0.8670586128719151"},"directories":{}},"0.5.1":{"name":"taktil","description":"Taktil is a lightweight control surface scripting framework for Bitwig Studio that encourages rapid development and community code reuse.","version":"0.5.1","repository":{"type":"git","url":"git+https://github.com/taktiljs/taktil.git"},"author":{"name":"Joseph Larson"},"tags":["bitwig","control surface script","framework","typescript"],"dependencies":{"tslib":"^1.7.1"},"devDependencies":{"@types/chai":"^3.5.2","@types/mocha":"^2.2.41","@types/node":"^7.0.16","@types/sinon":"^2.2.1","chai":"^3.5.0","del":"^2.2.2","gulp":"^3.9.1","gulp-typescript":"^3.1.6","merge2":"^1.0.3","mocha":"^3.3.0","prettier":"^1.4.2","sinon":"^2.2.0","ts-node":"^3.1.0","tslint":"^5.5.0","tslint-config-airbnb":"^5.2.1","tslint-config-prettier":"^1.1.0","tsutils":"^1.6.0","typed-bitwig-api":"^2.0.0","typescript":"^2.4.1"},"scripts":{"test":"mocha -r ts-node/register -r ./src/env ./src/**/*.spec.ts","lint":"tslint -c tslint.json 'src/**/*.ts' || true","format":"prettier --parser typescript --print-width 100 --tab-width 4 --single-quote --trailing-comma=es5 --write './src/**/*.ts'"},"engines":{"node":">= 6.9.0"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/taktil/taktiljs/issues"},"homepage":"https://github.com/taktil/taktiljs#readme","_id":"taktil@0.5.1","_npmVersion":"5.3.0","_nodeVersion":"6.10.1","_npmUser":{"name":"joslarson","email":"larson.joseph@gmail.com"},"dist":{"integrity":"sha512-OHVh5hFBA3lkNuwM4xJIZh6NbXzfQ7vs6eXApp/X9BrKeDwRDfOjN+8uQ3q4sWTUFbaXEFLhcVS4CpaETfAvfQ==","shasum":"b45e8877af5fee5829a7220ac7437913e65eadbe","tarball":"https://registry.npmjs.org/taktil/-/taktil-0.5.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBzziYKKSkz0H80pN3sQU8cSh3Gk3btJEuJ7qzGT3L83AiBadeETjGFyUGfXZNkdAs2PDPpga2rdyl7Oh+8m72eaXA=="}]},"maintainers":[{"name":"joslarson","email":"larson.joseph@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taktil-0.5.1.tgz_1500764937016_0.6231774867046624"},"directories":{}},"0.6.0-0":{"name":"taktil","description":"Taktil is a lightweight control surface scripting framework for Bitwig Studio that encourages rapid development and community code reuse.","version":"0.6.0-0","repository":{"type":"git","url":"git+https://github.com/taktiljs/taktil.git"},"author":{"name":"Joseph Larson"},"tags":["bitwig","control surface script","framework","typescript"],"dependencies":{"tslib":"^1.7.1"},"devDependencies":{"@types/chai":"^3.5.2","@types/mocha":"^2.2.41","@types/node":"^7.0.16","@types/sinon":"^2.2.1","chai":"^3.5.0","del":"^2.2.2","glob":"^7.1.2","gulp":"^3.9.1","gulp-typescript":"^3.1.6","merge2":"^1.0.3","mocha":"^3.3.0","prettier":"^1.4.2","sinon":"^2.2.0","ts-node":"^3.1.0","tslint":"^5.5.0","tslint-config-airbnb":"^5.2.1","tslint-config-prettier":"^1.1.0","tsutils":"^1.6.0","typed-bitwig-api":"^2.0.0","typescript":"^2.4.1"},"scripts":{"start":"gulp watch","build":"gulp build","clean":"gulp clean","test":"mocha -r ts-node/register -r ./env $(find . ! -path './.git*' ! -path './node_modules*' -path '*.spec.ts')","lint":"tslint -c tslint.json $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts') || true","format":"prettier --parser typescript --print-width 100 --tab-width 4 --single-quote --trailing-comma=es5 --write $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts')","preversion":"npm test && gulp build","postversion":"gulp clean","prepack":"npm test && gulp build","postpack":"gulp clean"},"engines":{"node":">= 6.9.0"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/taktil/taktiljs/issues"},"homepage":"https://github.com/taktil/taktiljs#readme","gitHead":"9b875f6cf64997bb900fafcd214b17564c1fe73f","_id":"taktil@0.6.0-0","_npmVersion":"5.3.0","_nodeVersion":"6.10.1","_npmUser":{"name":"joslarson","email":"larson.joseph@gmail.com"},"dist":{"integrity":"sha512-YpE/Zh6FKkQ13RcwSi7ibxKvi4YrcGjD4Z010OX/NhuHcR4P2gavmzOqVUAop3Tc5KXr/epTYo3IW7j7GXBsgw==","shasum":"b181408b6f77c7040602a1199d5fe6b55df5d54c","tarball":"https://registry.npmjs.org/taktil/-/taktil-0.6.0-0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCm31Oe21rJKQWTam4Pi4GYE4oy37O16UAWr5AEy9XPRQIhAPhz4z5dI7eUdb/ntBMZuCYPZ1iKoPJCTlRVocOVbyjX"}]},"maintainers":[{"name":"joslarson","email":"larson.joseph@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taktil-0.6.0-0.tgz_1500930184973_0.7010553139261901"},"directories":{}},"0.6.0-beta.1":{"name":"taktil","description":"Taktil is a lightweight control surface scripting framework for Bitwig Studio that encourages rapid development and community code reuse.","version":"0.6.0-beta.1","repository":{"type":"git","url":"git+https://github.com/taktiljs/taktil.git"},"author":{"name":"Joseph Larson"},"tags":["bitwig","control surface script","framework","typescript"],"dependencies":{"tslib":"^1.7.1"},"devDependencies":{"@types/chai":"^3.5.2","@types/mocha":"^2.2.41","@types/node":"^7.0.16","@types/sinon":"^2.2.1","chai":"^3.5.0","del":"^2.2.2","glob":"^7.1.2","gulp":"^3.9.1","gulp-typescript":"^3.1.6","merge2":"^1.0.3","mocha":"^3.3.0","prettier":"^1.4.2","sinon":"^2.2.0","ts-node":"^3.1.0","tslint":"^5.5.0","tslint-config-airbnb":"^5.2.1","tslint-config-prettier":"^1.1.0","tsutils":"^1.6.0","typed-bitwig-api":"^2.1.2","typescript":"^2.4.1"},"scripts":{"start":"gulp watch","build":"gulp build","clean":"gulp clean","test":"mocha -r ts-node/register -r ./env $(find . ! -path './.git*' ! -path './node_modules*' -path '*.spec.ts')","check":"tsc --noEmit","lint":"tslint -c tslint.json $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts') || true","format":"prettier --parser typescript --print-width 100 --tab-width 4 --single-quote --trailing-comma=es5 --write $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts')","preversion":"npm test && gulp build","postversion":"gulp clean","prepack":"npm test && gulp build","postpack":"gulp clean"},"engines":{"node":">= 6.9.0"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/taktil/taktiljs/issues"},"homepage":"https://github.com/taktil/taktiljs#readme","gitHead":"6422fb1489ded4c223c1ed397c336a98ab216100","_id":"taktil@0.6.0-beta.1","_npmVersion":"5.3.0","_nodeVersion":"6.11.1","_npmUser":{"name":"joslarson","email":"larson.joseph@gmail.com"},"dist":{"integrity":"sha512-ZfFs6/snuEm+nKwlEQv5YvphPFkLpWjkmYkE4uHkqIE4aynL3DV2VigLcrv41mCwAGTIUS1nWWbWBxr8eI03fg==","shasum":"185461e74b0a03f651cdd67970e16c3ad0360ace","tarball":"https://registry.npmjs.org/taktil/-/taktil-0.6.0-beta.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC3+bPrCHjNqbxlfq/3Uqs1b2AwGNZPLLM5a82iErzmcgIhAPLeh4rBbBZdeKiEPSyDFTOYCskVbGqCv6Jhc6tsdNlJ"}]},"maintainers":[{"name":"joslarson","email":"larson.joseph@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taktil-0.6.0-beta.1.tgz_1502232639794_0.8805849039927125"},"directories":{}},"0.6.0-beta.2":{"name":"taktil","description":"Taktil is a lightweight control surface scripting framework for Bitwig Studio that encourages rapid development and community code reuse.","version":"0.6.0-beta.2","repository":{"type":"git","url":"git+https://github.com/taktiljs/taktil.git"},"author":{"name":"Joseph Larson"},"tags":["bitwig","control surface script","framework","typescript"],"dependencies":{"tslib":"^1.7.1"},"devDependencies":{"@types/chai":"^4.0.2","@types/mocha":"^2.2.41","@types/node":"^8.0.20","@types/sinon":"^2.3.3","chai":"^4.1.1","del":"^3.0.0","glob":"^7.1.2","gulp":"^3.9.1","gulp-typescript":"^3.2.1","merge2":"^1.1.0","mocha":"^3.5.0","prettier":"^1.5.3","sinon":"^3.1.0","ts-node":"^3.3.0","tslint":"^5.6.0","tslint-config-airbnb":"^5.2.1","tslint-config-prettier":"^1.3.0","tsutils":"^2.8.0","typed-bitwig-api":"^2.1.2","typescript":"^2.4.2"},"scripts":{"start":"gulp watch","build":"gulp build","clean":"gulp clean","test":"mocha -r ts-node/register -r ./env $(find . ! -path './.git*' ! -path './node_modules*' -path '*.spec.ts')","check":"tsc --noEmit","lint":"tslint -c tslint.json $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts') || true","format":"prettier --parser typescript --print-width 100 --tab-width 4 --single-quote --trailing-comma=es5 --write $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts')","preversion":"npm test","version":"npm run build","postversion":"gulp clean"},"engines":{"node":">= 6.9.0"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/taktil/taktiljs/issues"},"homepage":"https://github.com/taktil/taktiljs#readme","gitHead":"f7d82ba078679e24811bc14958e3ad67cdd98cd1","_id":"taktil@0.6.0-beta.2","_npmVersion":"5.3.0","_nodeVersion":"6.11.1","_npmUser":{"name":"joslarson","email":"larson.joseph@gmail.com"},"dist":{"integrity":"sha512-GROroOtfB4exx60sP/IwaPwFJHLDssjaCHxJixqKB1gqRpyENyMWAgcIlPqFBWC408UQDL3BJxmvU8sI0uRmWg==","shasum":"8f29438c482b000eb3181f237ca6b9d5bb971436","tarball":"https://registry.npmjs.org/taktil/-/taktil-0.6.0-beta.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAqmrRJY4dta9hk+xt2vijbfY2ZAMHI/YwnA0uyz2sGBAiAawsKQ39TP/Sc5d3D6gyofoLHzXkrqQH2m0rxFjhQ/fw=="}]},"maintainers":[{"name":"joslarson","email":"larson.joseph@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taktil-0.6.0-beta.2.tgz_1502302659007_0.954443140886724"},"directories":{}},"0.6.0-beta.3":{"name":"taktil","description":"Taktil is a lightweight control surface scripting framework for Bitwig Studio that encourages rapid development and community code reuse.","version":"0.6.0-beta.3","repository":{"type":"git","url":"git+https://github.com/taktiljs/taktil.git"},"author":{"name":"Joseph Larson"},"tags":["bitwig","control surface script","framework","typescript"],"dependencies":{"tslib":"^1.7.1"},"devDependencies":{"@types/chai":"^4.0.2","@types/mocha":"^2.2.41","@types/node":"^8.0.20","@types/sinon":"^2.3.3","chai":"^4.1.1","del":"^3.0.0","glob":"^7.1.2","gulp":"^3.9.1","gulp-typescript":"^3.2.1","merge2":"^1.1.0","mocha":"^3.5.0","prettier":"^1.5.3","sinon":"^3.1.0","ts-node":"^3.3.0","tslint":"^5.6.0","tslint-config-airbnb":"^5.2.1","tslint-config-prettier":"^1.3.0","tsutils":"^2.8.0","typed-bitwig-api":"^2.1.2","typescript":"^2.4.2"},"scripts":{"start":"gulp watch","build":"gulp build","clean":"gulp clean","test":"mocha -r ts-node/register -r ./env $(find . ! -path './.git*' ! -path './node_modules*' -path '*.spec.ts')","check":"tsc --noEmit","lint":"tslint -c tslint.json $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts') || true","format":"prettier --parser typescript --print-width 100 --tab-width 4 --single-quote --trailing-comma=es5 --write $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts')","preversion":"npm test && npm run build","postversion":"npm run clean","prepack":"npm test && npm run build","postpack":"npm run clean"},"engines":{"node":">= 6.9.0"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/taktil/taktiljs/issues"},"homepage":"https://github.com/taktil/taktiljs#readme","gitHead":"a5bbad566efbfed1a621dcd99dc5ca102fc2f04d","_id":"taktil@0.6.0-beta.3","_npmVersion":"5.3.0","_nodeVersion":"6.11.1","_npmUser":{"name":"joslarson","email":"larson.joseph@gmail.com"},"dist":{"integrity":"sha512-6h+mECN+trnVt0g5+i4O5g7mvgH4161GLZyQ6wAKO+YgYTQ6zc2p8kTCnr0arIl6k7Ec64HL3irCd7heYjlYHw==","shasum":"c15f64faa25dc4c18675c35a8904c0d50d738cf6","tarball":"https://registry.npmjs.org/taktil/-/taktil-0.6.0-beta.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC8VTDQjUzYOu6A6APlJ7y4UmQ6P79Qas9vi6hhg3AbwgIgJc186UazbJr9RRpE3pKN2kC1T9fsg47nevzbeMEB7fQ="}]},"maintainers":[{"name":"joslarson","email":"larson.joseph@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taktil-0.6.0-beta.3.tgz_1502305118404_0.7708682233933359"},"directories":{}},"0.6.0-beta.4":{"name":"taktil","description":"Taktil is a lightweight control surface scripting framework for Bitwig Studio that encourages rapid development and community code reuse.","version":"0.6.0-beta.4","repository":{"type":"git","url":"git+https://github.com/taktiljs/taktil.git"},"author":{"name":"Joseph Larson"},"tags":["bitwig","control surface script","framework","typescript"],"dependencies":{"tslib":"^1.7.1"},"devDependencies":{"@types/chai":"^4.0.2","@types/mocha":"^2.2.41","@types/node":"^8.0.20","@types/sinon":"^2.3.3","chai":"^4.1.1","del":"^3.0.0","delete-empty":"^1.0.1","glob":"^7.1.2","gulp":"^3.9.1","gulp-typescript":"^3.2.1","merge2":"^1.1.0","mocha":"^3.5.0","prettier":"^1.5.3","sinon":"^3.1.0","ts-node":"^3.3.0","tslint":"^5.6.0","tslint-config-airbnb":"^5.2.1","tslint-config-prettier":"^1.3.0","tsutils":"^2.8.0","typed-bitwig-api":"^2.1.2","typescript":"^2.4.2"},"scripts":{"start":"gulp watch","build":"gulp build","clean":"gulp clean","test":"mocha -r ts-node/register $(find . ! -path './.git*' ! -path './node_modules*' -path '*.spec.ts')","check":"tsc --noEmit","lint":"tslint -c tslint.json $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts') || true","format":"prettier --parser typescript --print-width 100 --tab-width 4 --single-quote --trailing-comma=es5 --write $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts')","preversion":"npm test && npm run build","postversion":"npm run clean","prepack":"npm test && npm run build","postpack":"npm run clean"},"engines":{"node":">= 6.9.0"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/taktil/taktiljs/issues"},"homepage":"https://github.com/taktil/taktiljs#readme","gitHead":"85d8aef95a99ebfb7f0c81f5bc2bcf5f5d95d137","_id":"taktil@0.6.0-beta.4","_npmVersion":"5.3.0","_nodeVersion":"6.11.1","_npmUser":{"name":"joslarson","email":"larson.joseph@gmail.com"},"dist":{"integrity":"sha512-UAvUmghP1CSnpJwnmlStRA7ICC6GjiaCNkB/aGL0bt8SSUuYcwJ348qnbzqdj1BqlX1EkfHkurpWVNBkMPGNBQ==","shasum":"32057df4627aace7d763de171061afdbd0881d34","tarball":"https://registry.npmjs.org/taktil/-/taktil-0.6.0-beta.4.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDQRSiWtE/1kRradmuIwAiplmWbNYOkLPJL0IERYlnGwQIgasoHKNJ63LpnR+3cB5srTBX2EKs2ZumLWsyZH8hq7Xk="}]},"maintainers":[{"name":"joslarson","email":"larson.joseph@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taktil-0.6.0-beta.4.tgz_1502311625126_0.2277213055640459"},"directories":{}},"0.6.0-beta.5":{"name":"taktil","description":"Taktil is a lightweight control surface scripting framework for Bitwig Studio that encourages rapid development and community code reuse.","version":"0.6.0-beta.5","repository":{"type":"git","url":"git+https://github.com/taktiljs/taktil.git"},"author":{"name":"Joseph Larson"},"tags":["bitwig","control surface script","framework","typescript"],"dependencies":{"tslib":"^1.7.1"},"devDependencies":{"@types/chai":"^4.0.2","@types/mocha":"^2.2.41","@types/node":"^8.0.20","@types/sinon":"^2.3.3","chai":"^4.1.1","del":"^3.0.0","delete-empty":"^1.0.1","glob":"^7.1.2","gulp":"^3.9.1","gulp-typescript":"^3.2.1","merge2":"^1.1.0","mocha":"^3.5.0","prettier":"^1.5.3","sinon":"^3.1.0","ts-node":"^3.3.0","tslint":"^5.6.0","tslint-config-airbnb":"^5.2.1","tslint-config-prettier":"^1.3.0","tsutils":"^2.8.0","typed-bitwig-api":"^2.1.2","typescript":"^2.4.2"},"scripts":{"start":"gulp watch","build":"gulp build","clean":"gulp clean","test":"mocha -r ts-node/register $(find . ! -path './.git*' ! -path './node_modules*' -path '*.spec.ts')","check":"tsc --noEmit","lint":"tslint -c tslint.json $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts') || true","format":"prettier --parser typescript --print-width 100 --tab-width 4 --single-quote --trailing-comma=es5 --write $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts')","preversion":"npm test && npm run build","postversion":"npm run clean","prepack":"npm test && npm run build","postpack":"npm run clean"},"engines":{"node":">= 6.9.0"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/taktil/taktiljs/issues"},"homepage":"https://github.com/taktil/taktiljs#readme","gitHead":"522dd8ba378f000796f6542bc4e3131e9e94071e","_id":"taktil@0.6.0-beta.5","_npmVersion":"5.3.0","_nodeVersion":"6.10.1","_npmUser":{"name":"joslarson","email":"larson.joseph@gmail.com"},"dist":{"integrity":"sha512-PtT5MhMU6uOmTAGMK/eBweLxalKgZidgvh/ubs3T0DoWy3gbuPhU4Gtdfcj17UdSGWt+Wb6XxePyp/QTUmqCKg==","shasum":"a33ac960d72d381606f15406cd9d62ccb1c6d055","tarball":"https://registry.npmjs.org/taktil/-/taktil-0.6.0-beta.5.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDL46BODIpzP1NIuo0q54/PSTPQNrWbbQCCNWLOHDfhfwIgMH/z5X99EfDw4AvwnRu27qcW6Q2p8qbF+QW+OqTaPfo="}]},"maintainers":[{"name":"joslarson","email":"larson.joseph@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taktil-0.6.0-beta.5.tgz_1502427721335_0.7294059400446713"},"directories":{}},"0.6.0":{"name":"taktil","description":"Taktil is a lightweight control surface scripting framework for Bitwig Studio that encourages rapid development and community code reuse.","version":"0.6.0","repository":{"type":"git","url":"git+https://github.com/taktiljs/taktil.git"},"author":{"name":"Joseph Larson"},"tags":["bitwig","control surface script","framework","typescript"],"dependencies":{"tslib":"^1.7.1"},"devDependencies":{"@types/chai":"^4.0.2","@types/mocha":"^2.2.41","@types/node":"^8.0.20","@types/sinon":"^2.3.3","chai":"^4.1.1","del":"^3.0.0","delete-empty":"^1.0.1","glob":"^7.1.2","gulp":"^3.9.1","gulp-typescript":"^3.2.1","merge2":"^1.1.0","mocha":"^3.5.0","prettier":"^1.5.3","sinon":"^3.1.0","ts-node":"^3.3.0","tslint":"^5.6.0","tslint-config-airbnb":"^5.2.1","tslint-config-prettier":"^1.3.0","tsutils":"^2.8.0","typed-bitwig-api":"^2.1.2","typescript":"^2.4.2"},"scripts":{"start":"gulp watch","build":"gulp build","clean":"gulp clean","test":"mocha -r ts-node/register $(find . ! -path './.git*' ! -path './node_modules*' -path '*.spec.ts')","check":"tsc --noEmit","lint":"tslint -c tslint.json $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts') || true","format":"prettier --parser typescript --print-width 100 --tab-width 4 --single-quote --trailing-comma=es5 --write $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts')","preversion":"npm test && npm run build","postversion":"npm run clean","prepack":"npm test && npm run build","postpack":"npm run clean"},"engines":{"node":">= 6.9.0"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/taktil/taktiljs/issues"},"homepage":"https://github.com/taktil/taktiljs#readme","gitHead":"6892f26d34e2ed1c8a84d90de4bf0b080c8aadfb","_id":"taktil@0.6.0","_npmVersion":"5.3.0","_nodeVersion":"6.10.1","_npmUser":{"name":"joslarson","email":"larson.joseph@gmail.com"},"dist":{"integrity":"sha512-Faxmazjj9ENv5c6z7DBjXri72eOYir2S8XGL8CSEu52T4veAvCqDnzlozhNuVQDt+Z5UgftbAJgAJvfUccQsfA==","shasum":"3cb2b892e5d9437e1402e0e952796e01ce83e212","tarball":"https://registry.npmjs.org/taktil/-/taktil-0.6.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCD/LpPn++ukDQ1WKOpYgV/GnpEAwcNwEScTpDDRykUtAIgEaS2eRAR+7niboDy7dPnH+UODfNRyHBh5V3sQRhPmyM="}]},"maintainers":[{"name":"joslarson","email":"larson.joseph@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taktil-0.6.0.tgz_1502429270447_0.4739703615196049"},"directories":{}},"0.6.1-beta.1":{"name":"taktil","description":"Taktil is a lightweight control surface scripting framework for Bitwig Studio that encourages rapid development and community code reuse.","version":"0.6.1-beta.1","repository":{"type":"git","url":"git+https://github.com/taktiljs/taktil.git"},"author":{"name":"Joseph Larson"},"tags":["bitwig","control surface script","framework","typescript"],"dependencies":{"tslib":"^1.7.1"},"devDependencies":{"@types/chai":"^4.0.2","@types/mocha":"^2.2.41","@types/node":"^8.0.20","@types/sinon":"^2.3.3","chai":"^4.1.1","del":"^3.0.0","delete-empty":"^1.0.1","glob":"^7.1.2","gulp":"^3.9.1","gulp-typescript":"^3.2.1","merge2":"^1.1.0","mocha":"^3.5.0","prettier":"^1.5.3","sinon":"^3.1.0","ts-node":"^3.3.0","tslint":"^5.6.0","tslint-config-airbnb":"^5.2.1","tslint-config-prettier":"^1.3.0","tsutils":"^2.8.0","typed-bitwig-api":"^2.1.2","typescript":"^2.4.2"},"scripts":{"start":"gulp watch","build":"gulp build","clean":"gulp clean","test":"mocha -r ts-node/register $(find . ! -path './.git*' ! -path './node_modules*' -path '*.spec.ts')","check":"tsc --noEmit","lint":"tslint -c tslint.json $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts') || true","format":"prettier --parser typescript --print-width 100 --tab-width 4 --single-quote --trailing-comma=es5 --write $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts')","preversion":"npm test && npm run build","postversion":"npm run clean","prepack":"npm test && npm run build","postpack":"npm run clean"},"engines":{"node":">= 6.9.0"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/taktil/taktiljs/issues"},"homepage":"https://github.com/taktil/taktiljs#readme","gitHead":"af3c4233e3bc35eb8637e6ce133bce47a5b6063a","_id":"taktil@0.6.1-beta.1","_npmVersion":"5.3.0","_nodeVersion":"6.10.1","_npmUser":{"name":"joslarson","email":"larson.joseph@gmail.com"},"dist":{"integrity":"sha512-6CiRrfW5quiuPI41EKPplVMmDPMchG2sG3QLd34D5rkHs+84EARIDqGIyCoSpXKtXbKGtVCtYkG7QICxcdFY0w==","shasum":"78f515c1047f4ced50c74f711e95f949acbdabf8","tarball":"https://registry.npmjs.org/taktil/-/taktil-0.6.1-beta.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG52Ha56mb8MytYMBhHnEjXnpnDv1rhbI13Uu0vJ8C+gAiEAkWukmBTWSbG2FNpld42AzrR/GvhbFEzzvQr1ri6Zj5E="}]},"maintainers":[{"name":"joslarson","email":"larson.joseph@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taktil-0.6.1-beta.1.tgz_1502599545100_0.12726040929555893"},"directories":{}},"0.6.1-beta.2":{"name":"taktil","description":"Taktil is a lightweight control surface scripting framework for Bitwig Studio that encourages rapid development and community code reuse.","version":"0.6.1-beta.2","repository":{"type":"git","url":"git+https://github.com/taktiljs/taktil.git"},"author":{"name":"Joseph Larson"},"tags":["bitwig","control surface script","framework","typescript"],"dependencies":{"tslib":"^1.7.1"},"devDependencies":{"@types/chai":"^4.0.2","@types/mocha":"^2.2.41","@types/node":"^8.0.20","@types/sinon":"^2.3.3","chai":"^4.1.1","del":"^3.0.0","delete-empty":"^1.0.1","glob":"^7.1.2","gulp":"^3.9.1","gulp-typescript":"^3.2.1","merge2":"^1.1.0","mocha":"^3.5.0","prettier":"^1.5.3","sinon":"^3.1.0","ts-node":"^3.3.0","tslint":"^5.6.0","tslint-config-airbnb":"^5.2.1","tslint-config-prettier":"^1.3.0","tsutils":"^2.8.0","typed-bitwig-api":"^2.1.2","typescript":"^2.4.2"},"scripts":{"start":"gulp watch","build":"gulp build","clean":"gulp clean","test":"mocha -r ts-node/register $(find . ! -path './.git*' ! -path './node_modules*' -path '*.spec.ts')","check":"tsc --noEmit","lint":"tslint -c tslint.json $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts') || true","format":"prettier --parser typescript --print-width 100 --tab-width 4 --single-quote --trailing-comma=es5 --write $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts')","preversion":"npm test && npm run build","postversion":"npm run clean","prepack":"npm test && npm run build","postpack":"npm run clean"},"engines":{"node":">= 6.9.0"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/taktil/taktiljs/issues"},"homepage":"https://github.com/taktil/taktiljs#readme","gitHead":"0ed487042c41a07c074d5466d8bde8a93216f7e6","_id":"taktil@0.6.1-beta.2","_npmVersion":"5.3.0","_nodeVersion":"6.10.1","_npmUser":{"name":"joslarson","email":"larson.joseph@gmail.com"},"dist":{"integrity":"sha512-B6jMtJa8+PlVBQQ5fZ9m4JKIez+jNXwBujamdwxiVjKFeglIQ0Pla42eCn49WFpbwT6UyaKEKEnd5nloD7C5gA==","shasum":"14b3ec64a927569fd5fed5b9f15055f0a1a94205","tarball":"https://registry.npmjs.org/taktil/-/taktil-0.6.1-beta.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDZhfLqBYi/2akrf41SPCBcd60IcpU8YJ63HkFwDlv3EQIgbSRyJy/KmcKq39yZpUECA8TwlC/78vOtmsjGO/qgOAw="}]},"maintainers":[{"name":"joslarson","email":"larson.joseph@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taktil-0.6.1-beta.2.tgz_1502689081893_0.7133963070809841"},"directories":{}},"0.6.1-dev.1":{"name":"taktil","description":"Taktil is a lightweight control surface scripting framework for Bitwig Studio that encourages rapid development and community code reuse.","version":"0.6.1-dev.1","repository":{"type":"git","url":"git+https://github.com/taktiljs/taktil.git"},"author":{"name":"Joseph Larson"},"tags":["bitwig","control surface script","framework","typescript"],"dependencies":{"tslib":"^1.7.1"},"devDependencies":{"@types/chai":"^4.0.2","@types/mocha":"^2.2.41","@types/node":"^8.0.20","@types/sinon":"^2.3.3","chai":"^4.1.1","del":"^3.0.0","delete-empty":"^1.0.1","glob":"^7.1.2","gulp":"^3.9.1","gulp-typescript":"^3.2.1","merge2":"^1.1.0","mocha":"^3.5.0","prettier":"^1.5.3","sinon":"^3.1.0","ts-node":"^3.3.0","tslint":"^5.6.0","tslint-config-airbnb":"^5.2.1","tslint-config-prettier":"^1.3.0","tsutils":"^2.8.0","typed-bitwig-api":"^2.1.2","typescript":"^2.4.2"},"scripts":{"start":"gulp watch","build":"gulp build","clean":"gulp clean","test":"mocha -r ts-node/register $(find . ! -path './.git*' ! -path './node_modules*' -path '*.spec.ts')","check":"tsc --noEmit","lint":"tslint -c tslint.json $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts') || true","format":"prettier --parser typescript --print-width 100 --tab-width 4 --single-quote --trailing-comma=es5 --write $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts')","preversion":"npm test && npm run build","postversion":"npm run clean","prepack":"npm test && npm run build","postpack":"npm run clean"},"engines":{"node":">= 6.9.0"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/taktil/taktiljs/issues"},"homepage":"https://github.com/taktil/taktiljs#readme","gitHead":"8405ad2db5bb1bdda95d861433cae81312a9e93e","_id":"taktil@0.6.1-dev.1","_npmVersion":"5.3.0","_nodeVersion":"6.11.1","_npmUser":{"name":"joslarson","email":"larson.joseph@gmail.com"},"dist":{"integrity":"sha512-PRheR5P8EfL1jYVDVGGqefe1vOmosYUXnjDOVFRxRYfLLktp6Z82rKNsLl8KE2+L1HoJZ9WrX8fq5z08TZi7Rg==","shasum":"33f44ce267cf1389c052e906a35c79c68e4b4a97","tarball":"https://registry.npmjs.org/taktil/-/taktil-0.6.1-dev.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEjJbf0zgI0nT9qG3AICXm0PlCA54x9jFKeFBGOE5yrIAiBiLiK7WaydkoTfA3bmRYpSewzWH4rw4Ypl22CNMNFdzw=="}]},"maintainers":[{"name":"joslarson","email":"larson.joseph@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taktil-0.6.1-dev.1.tgz_1502746221306_0.6683916072361171"},"directories":{}},"0.6.1-dev.2":{"name":"taktil","description":"Taktil is a lightweight control surface scripting framework for Bitwig Studio that encourages rapid development and community code reuse.","version":"0.6.1-dev.2","repository":{"type":"git","url":"git+https://github.com/taktiljs/taktil.git"},"author":{"name":"Joseph Larson"},"tags":["bitwig","control surface script","framework","typescript"],"dependencies":{"tslib":"^1.7.1"},"devDependencies":{"@types/chai":"^4.0.2","@types/mocha":"^2.2.41","@types/node":"^8.0.20","@types/sinon":"^2.3.3","chai":"^4.1.1","del":"^3.0.0","delete-empty":"^1.0.1","glob":"^7.1.2","gulp":"^3.9.1","gulp-typescript":"^3.2.1","merge2":"^1.1.0","mocha":"^3.5.0","prettier":"^1.5.3","sinon":"^3.1.0","ts-node":"^3.3.0","tslint":"^5.6.0","tslint-config-airbnb":"^5.2.1","tslint-config-prettier":"^1.3.0","tsutils":"^2.8.0","typed-bitwig-api":"^2.1.2","typescript":"^2.4.2"},"scripts":{"start":"gulp watch","build":"gulp build","clean":"gulp clean","test":"mocha -r ts-node/register $(find . ! -path './.git*' ! -path './node_modules*' -path '*.spec.ts')","check":"tsc --noEmit","lint":"tslint -c tslint.json $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts') || true","format":"prettier --parser typescript --print-width 100 --tab-width 4 --single-quote --trailing-comma=es5 --write $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts')","preversion":"npm test && npm run build","postversion":"npm run clean","prepack":"npm test && npm run build","postpack":"npm run clean"},"engines":{"node":">= 6.9.0"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/taktil/taktiljs/issues"},"homepage":"https://github.com/taktil/taktiljs#readme","gitHead":"92fd61ce4c5fcf3810cb852e6265fd9b7d9bc2a4","_id":"taktil@0.6.1-dev.2","_npmVersion":"5.3.0","_nodeVersion":"6.11.1","_npmUser":{"name":"joslarson","email":"larson.joseph@gmail.com"},"dist":{"integrity":"sha512-L1Lv/a90ggS2RgewrXXvicjPV1nCMuXsLIYRz8cD5GML33lhTrmegOHUMvkdgSbMw4++SmH4e5/ToQdUE5uBig==","shasum":"7b655983aae4ce62720bdb6716363224b06f55b0","tarball":"https://registry.npmjs.org/taktil/-/taktil-0.6.1-dev.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDrUCDz/QucAFscfDzemN5LN90GQgHGX6t1g3ceELAnMwIhAJHhJKAQMNdwIRr1C3sjKyjzy8B36rKnlJfUjuGxRcgY"}]},"maintainers":[{"name":"joslarson","email":"larson.joseph@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taktil-0.6.1-dev.2.tgz_1502753786333_0.11988773685880005"},"directories":{}},"0.6.1-dev.3":{"name":"taktil","description":"Taktil is a lightweight control surface scripting framework for Bitwig Studio that encourages rapid development and community code reuse.","version":"0.6.1-dev.3","repository":{"type":"git","url":"git+https://github.com/taktiljs/taktil.git"},"author":{"name":"Joseph Larson"},"tags":["bitwig","control surface script","framework","typescript"],"dependencies":{"tslib":"^1.7.1"},"devDependencies":{"@types/chai":"^4.0.2","@types/mocha":"^2.2.41","@types/node":"^8.0.20","@types/sinon":"^2.3.3","chai":"^4.1.1","del":"^3.0.0","delete-empty":"^1.0.1","glob":"^7.1.2","gulp":"^3.9.1","gulp-typescript":"^3.2.1","merge2":"^1.1.0","mocha":"^3.5.0","prettier":"^1.5.3","sinon":"^3.1.0","ts-node":"^3.3.0","tslint":"^5.6.0","tslint-config-airbnb":"^5.2.1","tslint-config-prettier":"^1.3.0","tsutils":"^2.8.0","typed-bitwig-api":"^2.1.2","typescript":"^2.4.2"},"scripts":{"start":"gulp watch","build":"gulp build","clean":"gulp clean","test":"mocha -r ts-node/register $(find . ! -path './.git*' ! -path './node_modules*' -path '*.spec.ts')","check":"tsc --noEmit","lint":"tslint -c tslint.json $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts') || true","format":"prettier --parser typescript --print-width 100 --tab-width 4 --single-quote --trailing-comma=es5 --write $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts')","preversion":"npm test && npm run build","postversion":"npm run clean","prepack":"npm test && npm run build","postpack":"npm run clean"},"engines":{"node":">= 6.9.0"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/taktil/taktiljs/issues"},"homepage":"https://github.com/taktil/taktiljs#readme","gitHead":"e3539b56c4864d1c70a587c6812ea6b0ddf35c8c","_id":"taktil@0.6.1-dev.3","_npmVersion":"5.3.0","_nodeVersion":"6.10.1","_npmUser":{"name":"joslarson","email":"larson.joseph@gmail.com"},"dist":{"integrity":"sha512-Wl08JzFAxhUuKZkBKg+JMIVhKPxmFS/5DP7PyJzmS3wSYxfcIiG4LmrxuC43S+p0xVWnwq6Y+t10nv7Gms/vnQ==","shasum":"1ebc534059c3c56ea2ddee3b06f771336486b6ab","tarball":"https://registry.npmjs.org/taktil/-/taktil-0.6.1-dev.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD/dwUUcfOf5YIIN4YCmJZa2k0h/6RlOh5/R7y2H8uFSQIgDrH/o/JdbHbkTZV1FcTM6wGT95d6XSA1GIh/+eKBHzw="}]},"maintainers":[{"name":"joslarson","email":"larson.joseph@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taktil-0.6.1-dev.3.tgz_1502775100451_0.9086623608600348"},"directories":{}},"0.6.1-dev.4":{"name":"taktil","description":"Taktil is a lightweight control surface scripting framework for Bitwig Studio that encourages rapid development and community code reuse.","version":"0.6.1-dev.4","repository":{"type":"git","url":"git+https://github.com/taktiljs/taktil.git"},"author":{"name":"Joseph Larson"},"tags":["bitwig","control surface script","framework","typescript"],"dependencies":{"tslib":"^1.7.1"},"devDependencies":{"@types/jest":"^20.0.7","@types/node":"^8.0.20","del":"^3.0.0","delete-empty":"^1.0.1","glob":"^7.1.2","gulp":"^3.9.1","gulp-typescript":"^3.2.1","jest":"^20.0.4","merge2":"^1.1.0","prettier":"^1.5.3","ts-jest":"^20.0.10","tslint":"^5.6.0","tslint-config-airbnb":"^5.2.1","tslint-config-prettier":"^1.3.0","tsutils":"^2.8.0","typed-bitwig-api":"^2.1.2","typescript":"^2.4.2"},"scripts":{"start":"gulp watch","build":"gulp build","clean":"gulp clean","test":"jest","check":"tsc --noEmit","lint":"tslint -c tslint.json $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts') || true","format":"prettier --parser typescript --print-width 100 --tab-width 4 --single-quote --trailing-comma=es5 --write $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts')","preversion":"npm test && npm run build","postversion":"npm run clean","prepack":"npm test && npm run build","postpack":"npm run clean"},"engines":{"node":">= 6.9.0"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/taktil/taktiljs/issues"},"homepage":"https://github.com/taktil/taktiljs#readme","jest":{"testEnvironment":"node","transform":{"^.+\\.tsx?$":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(tsx?|jsx?)$","moduleFileExtensions":["ts","tsx","js","json","jsx"]},"gitHead":"5dfda2e5d4563bbb119edc17f23780b19815316c","_id":"taktil@0.6.1-dev.4","_npmVersion":"5.3.0","_nodeVersion":"6.10.1","_npmUser":{"name":"joslarson","email":"larson.joseph@gmail.com"},"dist":{"integrity":"sha512-35Y3MOD19O0PfSOl7CnyuCW7oPGidvpgJbi/v8ZSv1sCklaAm0hlyd3WEFefHJ8CveI1w1xfDB5sHweaOKd35A==","shasum":"f7b8c01c4b2b04df13d3c0bf2b4c04e70e6c14cf","tarball":"https://registry.npmjs.org/taktil/-/taktil-0.6.1-dev.4.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGRvTPmmAhUIPAWQtGeQxSKq+yYnPNyKRqGdwqInt4mpAiEAptwWQwkjmKXryEuS1jFWKh6bpsbwMv1hnIuGEqlUgVs="}]},"maintainers":[{"name":"joslarson","email":"larson.joseph@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taktil-0.6.1-dev.4.tgz_1503455598112_0.044275694293901324"},"directories":{}},"0.6.1-dev.5":{"name":"taktil","description":"Taktil is a lightweight control surface scripting framework for Bitwig Studio that encourages rapid development and community code reuse.","version":"0.6.1-dev.5","repository":{"type":"git","url":"git+https://github.com/taktiljs/taktil.git"},"author":{"name":"Joseph Larson"},"tags":["bitwig","control surface script","framework","typescript"],"dependencies":{"tslib":"^1.7.1"},"devDependencies":{"@types/jest":"^20.0.7","@types/node":"^8.0.20","del":"^3.0.0","delete-empty":"^1.0.1","glob":"^7.1.2","gulp":"^3.9.1","gulp-typescript":"^3.2.1","jest":"^20.0.4","merge2":"^1.1.0","prettier":"^1.5.3","ts-jest":"^20.0.10","tslint":"^5.6.0","tslint-config-airbnb":"^5.2.1","tslint-config-prettier":"^1.3.0","tsutils":"^2.8.0","typed-bitwig-api":"^2.1.2","typescript":"^2.4.2"},"scripts":{"start":"gulp watch","build":"gulp build","clean":"gulp clean","test":"jest","check":"tsc --noEmit","lint":"tslint -c tslint.json $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts') || true","format":"prettier --parser typescript --print-width 100 --tab-width 4 --single-quote --trailing-comma=es5 --write $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts')","preversion":"npm test && npm run build","postversion":"npm run clean","prepack":"npm test && npm run build","postpack":"npm run clean"},"engines":{"node":">= 6.9.0"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/taktil/taktiljs/issues"},"homepage":"https://github.com/taktil/taktiljs#readme","jest":{"testEnvironment":"node","transform":{"^.+\\.tsx?$":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(tsx?|jsx?)$","moduleFileExtensions":["ts","tsx","js","json","jsx"]},"gitHead":"3d15b9d9712c649ddaabd75dd2c3217e0117fb6d","_id":"taktil@0.6.1-dev.5","_npmVersion":"5.3.0","_nodeVersion":"6.10.1","_npmUser":{"name":"joslarson","email":"larson.joseph@gmail.com"},"dist":{"integrity":"sha512-8Q+PcKkeiGD6FGZWk9lYMAJo5iRX1SRsEdVIIEAUl0lEs15xID54v/lAO7Oz5Q4qqQ+tGJOrhvEAdsKPpGEVjA==","shasum":"34daf5e3ec0520ad4f56ebcf86f30dc1a2cba1db","tarball":"https://registry.npmjs.org/taktil/-/taktil-0.6.1-dev.5.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEHSTpqfDMkF84Quuuom2UhLUi5ElJb5rnKNjbhdtNC+AiAjSVjeIP7T28Iye4XSJM+aWkKN8dPQdPJUqszfTwWR9A=="}]},"maintainers":[{"name":"joslarson","email":"larson.joseph@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taktil-0.6.1-dev.5.tgz_1503456608764_0.5421644430607557"},"directories":{}},"0.7.0":{"name":"taktil","description":"Taktil is a lightweight control surface scripting framework for Bitwig Studio that encourages rapid development and community code reuse.","version":"0.7.0","repository":{"type":"git","url":"git+https://github.com/taktiljs/taktil.git"},"author":{"name":"Joseph Larson"},"tags":["bitwig","control surface script","framework","typescript"],"dependencies":{"tslib":"^1.7.1"},"devDependencies":{"@types/jest":"^20.0.7","@types/node":"^8.0.20","del":"^3.0.0","delete-empty":"^1.0.1","glob":"^7.1.2","gulp":"^3.9.1","gulp-typescript":"^3.2.1","jest":"^20.0.4","merge2":"^1.1.0","prettier":"^1.5.3","ts-jest":"^20.0.10","tslint":"^5.6.0","tslint-config-airbnb":"^5.2.1","tslint-config-prettier":"^1.3.0","tsutils":"^2.8.0","typed-bitwig-api":"^2.1.2","typescript":"^2.4.2"},"scripts":{"start":"gulp watch","build":"gulp build","clean":"gulp clean","test":"jest","check":"tsc --noEmit","lint":"tslint -c tslint.json $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts') || true","format":"prettier --parser typescript --print-width 100 --tab-width 4 --single-quote --trailing-comma=es5 --write $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts')","preversion":"npm test && npm run build","postversion":"npm run clean","prepack":"npm test && npm run build","postpack":"npm run clean"},"engines":{"node":">= 6.9.0"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/taktil/taktiljs/issues"},"homepage":"https://github.com/taktil/taktiljs#readme","jest":{"testEnvironment":"node","transform":{"^.+\\.tsx?$":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(tsx?|jsx?)$","moduleFileExtensions":["ts","tsx","js","json","jsx"]},"gitHead":"aedbea6895e0d29b67eb04c789d6b8f01f463591","_id":"taktil@0.7.0","_npmVersion":"5.3.0","_nodeVersion":"6.10.1","_npmUser":{"name":"joslarson","email":"larson.joseph@gmail.com"},"dist":{"integrity":"sha512-dnXY+n+r97coBa8jpPf9JN+reFB/fpFc1+Eb/TolmipA5bFdW/yt7E4x3GJmflEynyNcefDDSzhllfOMYpfDrw==","shasum":"3d047d99a7933e091f67946bcacfa84a559ea138","tarball":"https://registry.npmjs.org/taktil/-/taktil-0.7.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCyjcgCIgIVOk2kgsc4LGvGSuJpvFj2AApUztKwW/LekQIgXDa1/nk6iwmunPtP9F5NWiFeiXn7ND9nyDGpGyx8mZA="}]},"maintainers":[{"name":"joslarson","email":"larson.joseph@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taktil-0.7.0.tgz_1503456822825_0.9122895109467208"},"directories":{}},"0.7.1":{"name":"taktil","description":"Taktil is a lightweight control surface scripting framework for Bitwig Studio that encourages rapid development and community code reuse.","version":"0.7.1","repository":{"type":"git","url":"git+https://github.com/taktiljs/taktil.git"},"author":{"name":"Joseph Larson"},"tags":["bitwig","control surface script","framework","typescript"],"dependencies":{"tslib":"^1.7.1"},"devDependencies":{"@types/jest":"^20.0.7","@types/node":"^8.0.20","del":"^3.0.0","delete-empty":"^1.0.1","glob":"^7.1.2","gulp":"^3.9.1","gulp-typescript":"^3.2.1","jest":"^20.0.4","merge2":"^1.1.0","prettier":"^1.5.3","ts-jest":"^20.0.10","tslint":"^5.6.0","tslint-config-airbnb":"^5.2.1","tslint-config-prettier":"^1.3.0","tsutils":"^2.8.0","typed-bitwig-api":"^2.1.2","typescript":"^2.4.2"},"scripts":{"start":"gulp watch","build":"gulp build","clean":"gulp clean","test":"jest","check":"tsc --noEmit","lint":"tslint -c tslint.json $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts') || true","format":"prettier --parser typescript --print-width 100 --tab-width 4 --single-quote --trailing-comma=es5 --write $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts')","preversion":"npm test && npm run build","postversion":"npm run clean","prepack":"npm test && npm run build","postpack":"npm run clean"},"engines":{"node":">= 6.9.0"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/taktil/taktiljs/issues"},"homepage":"https://github.com/taktil/taktiljs#readme","jest":{"testEnvironment":"node","transform":{"^.+\\.tsx?$":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(tsx?|jsx?)$","moduleFileExtensions":["ts","tsx","js","json","jsx"]},"gitHead":"9acc742d55f930598dd9c5ffacac3004095f047f","_id":"taktil@0.7.1","_npmVersion":"5.3.0","_nodeVersion":"6.10.1","_npmUser":{"name":"joslarson","email":"larson.joseph@gmail.com"},"dist":{"integrity":"sha512-zuVZc6qN5hpN9pPCjKNBx4ezP/r0+qVMLgvOFkjpMS8Kx1r6ldSijsAU2OeJPikG/fMMsoe0vTGjod2Gf97/dg==","shasum":"4db7d20b2d14313f370593d85231264e3e3531bd","tarball":"https://registry.npmjs.org/taktil/-/taktil-0.7.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC2H+yB8QiJMDbyuADfyvYOK8/WrbU37imhVELqkiYi1QIgT0iVcY+3Cb6vSJeW/LiZyOOpntQdyRFa9Pb8q/2kh2o="}]},"maintainers":[{"name":"joslarson","email":"larson.joseph@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taktil-0.7.1.tgz_1503457054217_0.0565464508254081"},"directories":{}},"0.8.0-dev.1":{"name":"taktil","description":"Taktil is a lightweight control surface scripting framework for Bitwig Studio that encourages rapid development and community code reuse.","version":"0.8.0-dev.1","repository":{"type":"git","url":"git+https://github.com/taktiljs/taktil.git"},"author":{"name":"Joseph Larson"},"tags":["bitwig","control surface script","framework","typescript"],"dependencies":{"tslib":"^1.7.1"},"devDependencies":{"typedoc":"^0.8.0","@types/jest":"^20.0.7","@types/node":"^8.0.20","del":"^3.0.0","delete-empty":"^1.0.1","glob":"^7.1.2","gulp":"^3.9.1","gulp-typescript":"^3.2.1","jest":"^20.0.4","merge2":"^1.1.0","prettier":"^1.5.3","ts-jest":"^20.0.10","tslint":"^5.6.0","tslint-config-airbnb":"^5.2.1","tslint-config-prettier":"^1.3.0","tsutils":"^2.8.0","typed-bitwig-api":"^2.1.2","typescript":"^2.4.2"},"scripts":{"start":"gulp watch","build":"gulp build","clean":"gulp clean","test":"jest","check":"tsc --noEmit","lint":"tslint -c tslint.json $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts') || true","format":"prettier --parser typescript --print-width 100 --tab-width 4 --single-quote --trailing-comma=es5 --write $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts')","typedoc":"typedoc --module commonjs theme 'minimal' --exclude '**/*.spec.ts' --out ./docs/typedoc/ src/index.ts","preversion":"npm test && npm run build","postversion":"npm run clean","prepack":"npm test && npm run build","postpack":"npm run clean"},"engines":{"node":">= 6.9.0"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/taktil/taktiljs/issues"},"homepage":"https://github.com/taktil/taktiljs#readme","jest":{"testEnvironment":"node","transform":{"^.+\\.tsx?$":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(tsx?|jsx?)$","moduleFileExtensions":["ts","tsx","js","json","jsx"]},"gitHead":"426e0bda3282d730c7cefd8648b0c3d7ecf2862c","_id":"taktil@0.8.0-dev.1","_npmVersion":"5.3.0","_nodeVersion":"6.10.1","_npmUser":{"name":"joslarson","email":"larson.joseph@gmail.com"},"dist":{"integrity":"sha512-O6MwCmSVDFGFcYbkn5QlGMSnV2xKYH38cdMdMSXj5giMcdyDlFwYUskzz64yyp4rjpg2K3HCldIVR59NSO6urw==","shasum":"b78c46f65e653ba369f92d4243bfdf8811f2443b","tarball":"https://registry.npmjs.org/taktil/-/taktil-0.8.0-dev.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEVCXPX1FMh3pDd615W0FlrLFao3RlytD+IRQZsYZxG/AiEAosPDfdxxXEj7v8wQ+14QimP7kv6v6kh+Xkb80Cm8400="}]},"maintainers":[{"name":"joslarson","email":"larson.joseph@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taktil-0.8.0-dev.1.tgz_1503639536095_0.07088268618099391"},"directories":{}},"0.8.0-dev.2":{"name":"taktil","description":"Taktil is a lightweight control surface scripting framework for Bitwig Studio that encourages rapid development and community code reuse.","version":"0.8.0-dev.2","repository":{"type":"git","url":"git+https://github.com/taktiljs/taktil.git"},"author":{"name":"Joseph Larson"},"tags":["bitwig","control surface script","framework","typescript"],"dependencies":{"tslib":"^1.7.1"},"devDependencies":{"typedoc":"^0.8.0","@types/jest":"^20.0.7","@types/node":"^8.0.20","del":"^3.0.0","delete-empty":"^1.0.1","glob":"^7.1.2","gulp":"^3.9.1","gulp-typescript":"^3.2.1","jest":"^20.0.4","merge2":"^1.1.0","prettier":"^1.5.3","ts-jest":"^20.0.10","tslint":"^5.6.0","tslint-config-airbnb":"^5.2.1","tslint-config-prettier":"^1.3.0","tsutils":"^2.8.0","typed-bitwig-api":"^2.1.2","typescript":"^2.4.2"},"scripts":{"start":"gulp watch","build":"gulp build","clean":"gulp clean","test":"jest","check":"tsc --noEmit","lint":"tslint -c tslint.json $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts') || true","format":"prettier --parser typescript --print-width 100 --tab-width 4 --single-quote --trailing-comma=es5 --write $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts')","typedoc":"typedoc --module commonjs theme 'minimal' --exclude '**/*.spec.ts' --out ./docs/typedoc/ src/index.ts","preversion":"npm test && npm run build","postversion":"npm run clean","prepack":"npm test && npm run build","postpack":"npm run clean"},"engines":{"node":">= 6.9.0"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/taktil/taktiljs/issues"},"homepage":"https://github.com/taktil/taktiljs#readme","jest":{"testEnvironment":"node","transform":{"^.+\\.tsx?$":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(tsx?|jsx?)$","moduleFileExtensions":["ts","tsx","js","json","jsx"]},"gitHead":"7d659376c9d2f9bd350f4823386ad982b9824352","_id":"taktil@0.8.0-dev.2","_npmVersion":"5.3.0","_nodeVersion":"6.11.1","_npmUser":{"name":"joslarson","email":"larson.joseph@gmail.com"},"dist":{"integrity":"sha512-RIHlf4DIRuIEeRv+50bWV7Sj/DRiF2b29ef1CtahRwjyhhIIGFpcK2whIFRIn/ZakEcD+JK6nf3JeaRvXWIPFw==","shasum":"c48ab083d4c4920ede7dccf46192542c8ebe88d6","tarball":"https://registry.npmjs.org/taktil/-/taktil-0.8.0-dev.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCKOu86EX8HNB4Xiu738qTw9050ZQLzDQ2ticMG0g425AIhAJLRW8JlhscV5iE/VMPOK0Ks1CJSZpMXfTMhZC8woLgn"}]},"maintainers":[{"name":"joslarson","email":"larson.joseph@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taktil-0.8.0-dev.2.tgz_1503702049615_0.2248718347400427"},"directories":{}},"0.8.0-dev.3":{"name":"taktil","description":"Taktil is a lightweight control surface scripting framework for Bitwig Studio that encourages rapid development and community code reuse.","version":"0.8.0-dev.3","repository":{"type":"git","url":"git+https://github.com/taktiljs/taktil.git"},"author":{"name":"Joseph Larson"},"tags":["bitwig","control surface script","framework","typescript"],"dependencies":{"tslib":"^1.7.1"},"devDependencies":{"typedoc":"^0.8.0","@types/jest":"^20.0.7","@types/node":"^8.0.20","del":"^3.0.0","delete-empty":"^1.0.1","glob":"^7.1.2","gulp":"^3.9.1","gulp-typescript":"^3.2.1","jest":"^20.0.4","merge2":"^1.1.0","prettier":"^1.5.3","ts-jest":"^20.0.10","tslint":"^5.6.0","tslint-config-airbnb":"^5.2.1","tslint-config-prettier":"^1.3.0","tsutils":"^2.8.0","typed-bitwig-api":"^2.1.2","typescript":"^2.4.2"},"scripts":{"start":"gulp watch","build":"gulp build","clean":"gulp clean","test":"jest","check":"tsc --noEmit","lint":"tslint -c tslint.json $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts') || true","format":"prettier --parser typescript --print-width 100 --tab-width 4 --single-quote --trailing-comma=es5 --write $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts')","typedoc":"typedoc --module commonjs theme 'minimal' --exclude '**/*.spec.ts' --out ./docs/typedoc/ src/index.ts","preversion":"npm test && npm run build","postversion":"npm run clean","prepack":"npm test && npm run build","postpack":"npm run clean"},"engines":{"node":">= 6.9.0"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/taktil/taktiljs/issues"},"homepage":"https://github.com/taktil/taktiljs#readme","jest":{"testEnvironment":"node","transform":{"^.+\\.tsx?$":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(tsx?|jsx?)$","moduleFileExtensions":["ts","tsx","js","json","jsx"]},"gitHead":"83896aa328acf73905225a4941c8f87127ed7641","_id":"taktil@0.8.0-dev.3","_npmVersion":"5.3.0","_nodeVersion":"6.11.1","_npmUser":{"name":"joslarson","email":"larson.joseph@gmail.com"},"dist":{"integrity":"sha512-gaEiQulDeStLUc3E218wIx9L/KSgxXdTohrdP7SKdacR/aab/SJjW32wn6YbxYGwweTstllhRFJbZjpcmVyVPg==","shasum":"d3bb4189e1b1a7fde9b8293f8e0feb1afa29f5b4","tarball":"https://registry.npmjs.org/taktil/-/taktil-0.8.0-dev.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCsOggNLT1v1Ux6I6eK/QRPOMCvMpaZxwuxhIyxan+iLwIgAd4hb6L5TM4R2BMUbCVFJPRA5+swBwRiXCh3vumj5Hc="}]},"maintainers":[{"name":"joslarson","email":"larson.joseph@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taktil-0.8.0-dev.3.tgz_1503702994286_0.8200221499428153"},"directories":{}},"0.8.0-dev.4":{"name":"taktil","description":"Taktil is a lightweight control surface scripting framework for Bitwig Studio that encourages rapid development and community code reuse.","version":"0.8.0-dev.4","repository":{"type":"git","url":"git+https://github.com/taktiljs/taktil.git"},"author":{"name":"Joseph Larson"},"tags":["bitwig","control surface script","framework","typescript"],"dependencies":{"tslib":"^1.7.1"},"devDependencies":{"typedoc":"^0.8.0","@types/jest":"^20.0.7","@types/node":"^8.0.20","del":"^3.0.0","delete-empty":"^1.0.1","glob":"^7.1.2","gulp":"^3.9.1","gulp-typescript":"^3.2.1","jest":"^20.0.4","merge2":"^1.1.0","prettier":"^1.5.3","ts-jest":"^20.0.10","tslint":"^5.6.0","tslint-config-airbnb":"^5.2.1","tslint-config-prettier":"^1.3.0","tsutils":"^2.8.0","typed-bitwig-api":"^2.1.2","typescript":"^2.4.2"},"scripts":{"start":"gulp watch","build":"gulp build","clean":"gulp clean","test":"jest","check":"tsc --noEmit","lint":"tslint -c tslint.json $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts') || true","format":"prettier --parser typescript --print-width 100 --tab-width 4 --single-quote --trailing-comma=es5 --write $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts')","typedoc":"typedoc --module commonjs theme 'minimal' --exclude '**/*.spec.ts' --out ./docs/typedoc/ src/index.ts","preversion":"npm test && npm run build","postversion":"npm run clean","prepack":"npm test && npm run build","postpack":"npm run clean"},"engines":{"node":">= 6.9.0"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/taktil/taktiljs/issues"},"homepage":"https://github.com/taktil/taktiljs#readme","jest":{"testEnvironment":"node","transform":{"^.+\\.tsx?$":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(tsx?|jsx?)$","moduleFileExtensions":["ts","tsx","js","json","jsx"]},"gitHead":"faefda3f6cc2f1fe8f3031b4a5e1f709424e5047","_id":"taktil@0.8.0-dev.4","_npmVersion":"5.3.0","_nodeVersion":"6.11.1","_npmUser":{"name":"joslarson","email":"larson.joseph@gmail.com"},"dist":{"integrity":"sha512-8yuydlMZoxSG/HGMkKB7zVV4uujD1PqOVP4GDL5FDPtXNxlJl5/1yw71Ht5qM/w8W7SvGf6WRVeQ/EtiinN63w==","shasum":"2aac19abd651234ed848e510760e09f18f20d6fe","tarball":"https://registry.npmjs.org/taktil/-/taktil-0.8.0-dev.4.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIATNujHonStxCanpFSRzWPNpOPSi2hHQpF+CUvLgGHM7AiBUbmXacA3Do9VU5e/dJ6iW3voTsEAgr+ntM5wDtmGQhw=="}]},"maintainers":[{"name":"joslarson","email":"larson.joseph@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taktil-0.8.0-dev.4.tgz_1503807734897_0.4088796235155314"},"directories":{}},"0.8.0-dev.5":{"name":"taktil","description":"Taktil is a lightweight control surface scripting framework for Bitwig Studio that encourages rapid development and community code reuse.","version":"0.8.0-dev.5","repository":{"type":"git","url":"git+https://github.com/taktiljs/taktil.git"},"author":{"name":"Joseph Larson"},"tags":["bitwig","control surface script","framework","typescript"],"dependencies":{"tslib":"^1.7.1"},"devDependencies":{"typedoc":"^0.8.0","@types/jest":"^20.0.7","@types/node":"^8.0.20","del":"^3.0.0","delete-empty":"^1.0.1","glob":"^7.1.2","gulp":"^3.9.1","gulp-typescript":"^3.2.1","jest":"^20.0.4","merge2":"^1.1.0","prettier":"^1.5.3","ts-jest":"^20.0.10","tslint":"^5.6.0","tslint-config-airbnb":"^5.2.1","tslint-config-prettier":"^1.3.0","tsutils":"^2.8.0","typed-bitwig-api":"^2.1.2","typescript":"^2.4.2"},"scripts":{"start":"gulp watch","build":"gulp build","clean":"gulp clean","test":"jest","check":"tsc --noEmit","lint":"tslint -c tslint.json $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts') || true","format":"prettier --parser typescript --print-width 100 --tab-width 4 --single-quote --trailing-comma=es5 --write $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts')","typedoc":"typedoc --module commonjs theme 'minimal' --exclude '**/*.spec.ts' --out ./docs/typedoc/ src/index.ts","preversion":"npm test && npm run build","postversion":"npm run clean","prepack":"npm test && npm run build","postpack":"npm run clean"},"engines":{"node":">= 6.9.0"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/taktil/taktiljs/issues"},"homepage":"https://github.com/taktil/taktiljs#readme","jest":{"testEnvironment":"node","transform":{"^.+\\.tsx?$":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(tsx?|jsx?)$","moduleFileExtensions":["ts","tsx","js","json","jsx"]},"gitHead":"48c4a34a1e4f2d0bc18c0174ce4e87eece4533ee","_id":"taktil@0.8.0-dev.5","_npmVersion":"5.3.0","_nodeVersion":"6.11.1","_npmUser":{"name":"joslarson","email":"larson.joseph@gmail.com"},"dist":{"integrity":"sha512-HRNvT+y2Bj/EJ1yBbgqjJLNCmew68iHaFu6f1+mAEJgRl7KVWPU/FEkBW/WgdKhOQ7NjcTp7tLq2KvT1FG7xFg==","shasum":"f7381d9790f0a01d6c3214b455dbea45d9c09c4f","tarball":"https://registry.npmjs.org/taktil/-/taktil-0.8.0-dev.5.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAWfQnIlB3XV57/ENjVvYvsTD+3nAlvEN7I0q+3m/L3gAiEAsdOqw9rpzmCm8vmGFUQuefVQN8rJrR12CsnEiGajjwU="}]},"maintainers":[{"name":"joslarson","email":"larson.joseph@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taktil-0.8.0-dev.5.tgz_1503808118603_0.1564936302602291"},"directories":{}},"0.8.0-dev.6":{"name":"taktil","description":"Taktil is a lightweight control surface scripting framework for Bitwig Studio that encourages rapid development and community code reuse.","version":"0.8.0-dev.6","repository":{"type":"git","url":"git+https://github.com/taktiljs/taktil.git"},"author":{"name":"Joseph Larson"},"tags":["bitwig","control surface script","framework","typescript"],"dependencies":{"tslib":"^1.7.1"},"devDependencies":{"typedoc":"^0.8.0","@types/jest":"^20.0.7","@types/node":"^8.0.20","del":"^3.0.0","delete-empty":"^1.0.1","glob":"^7.1.2","gulp":"^3.9.1","gulp-typescript":"^3.2.1","jest":"^20.0.4","merge2":"^1.1.0","prettier":"^1.5.3","ts-jest":"^20.0.10","tslint":"^5.6.0","tslint-config-airbnb":"^5.2.1","tslint-config-prettier":"^1.3.0","tsutils":"^2.8.0","typed-bitwig-api":"^2.1.2","typescript":"^2.4.2"},"scripts":{"start":"gulp watch","build":"gulp build","clean":"gulp clean","test":"jest","check":"tsc --noEmit","lint":"tslint -c tslint.json $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts') || true","format":"prettier --parser typescript --print-width 100 --tab-width 4 --single-quote --trailing-comma=es5 --write $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts')","typedoc":"typedoc --module commonjs theme 'minimal' --exclude '**/*.spec.ts' --out ./docs/typedoc/ src/index.ts","preversion":"npm test && npm run build","postversion":"npm run clean","prepack":"npm test && npm run build","postpack":"npm run clean"},"engines":{"node":">= 6.9.0"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/taktil/taktiljs/issues"},"homepage":"https://github.com/taktil/taktiljs#readme","jest":{"testEnvironment":"node","transform":{"^.+\\.tsx?$":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(tsx?|jsx?)$","moduleFileExtensions":["ts","tsx","js","json","jsx"]},"gitHead":"e0b9df56163a9c128de741a7d29b1afa85abd867","_id":"taktil@0.8.0-dev.6","_npmVersion":"5.3.0","_nodeVersion":"6.11.1","_npmUser":{"name":"joslarson","email":"larson.joseph@gmail.com"},"dist":{"integrity":"sha512-OMVTSP82+wkvfLqPB8XgpRzu1MdjUH96WG/9vIa2FRpYbnsZlQjGID8AgHsY+UmGekWN4gWWhyNRqK3aYqYK2w==","shasum":"f29d7e7104c8f4271a7b8dbfaba9455c67ba413b","tarball":"https://registry.npmjs.org/taktil/-/taktil-0.8.0-dev.6.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQClNEaLDNwrANsX78OmidMgO8gPZAmUOD562oNfV6XWpAIgVWOOMtX/eXOvU1K3F+we0JOZJlTEDrz8rzkAtpXmRrQ="}]},"maintainers":[{"name":"joslarson","email":"larson.joseph@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taktil-0.8.0-dev.6.tgz_1503809156331_0.6848031240515411"},"directories":{}},"0.8.0-dev.7":{"name":"taktil","description":"Taktil is a lightweight control surface scripting framework for Bitwig Studio that encourages rapid development and community code reuse.","version":"0.8.0-dev.7","repository":{"type":"git","url":"git+https://github.com/taktiljs/taktil.git"},"author":{"name":"Joseph Larson"},"tags":["bitwig","control surface script","framework","typescript"],"dependencies":{"tslib":"^1.7.1"},"devDependencies":{"typedoc":"^0.8.0","@types/jest":"^20.0.7","@types/node":"^8.0.20","del":"^3.0.0","delete-empty":"^1.0.1","glob":"^7.1.2","gulp":"^3.9.1","gulp-typescript":"^3.2.1","jest":"^20.0.4","merge2":"^1.1.0","prettier":"^1.5.3","ts-jest":"^20.0.10","tslint":"^5.6.0","tslint-config-airbnb":"^5.2.1","tslint-config-prettier":"^1.3.0","tsutils":"^2.8.0","typed-bitwig-api":"^2.1.2","typescript":"^2.4.2"},"scripts":{"start":"gulp watch","build":"gulp build","clean":"gulp clean","test":"jest","check":"tsc --noEmit","lint":"tslint -c tslint.json $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts') || true","format":"prettier --parser typescript --print-width 100 --tab-width 4 --single-quote --trailing-comma=es5 --write $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts')","typedoc":"typedoc --module commonjs theme 'minimal' --exclude '**/*.spec.ts' --out ./docs/typedoc/ src/index.ts","preversion":"npm test && npm run build","postversion":"npm run clean","prepack":"npm test && npm run build","postpack":"npm run clean"},"engines":{"node":">= 6.9.0"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/taktil/taktiljs/issues"},"homepage":"https://github.com/taktil/taktiljs#readme","jest":{"testEnvironment":"node","transform":{"^.+\\.tsx?$":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(tsx?|jsx?)$","moduleFileExtensions":["ts","tsx","js","json","jsx"]},"gitHead":"3b4283b5cc15235cc25f618eaf1c5dd687615a04","_id":"taktil@0.8.0-dev.7","_npmVersion":"5.3.0","_nodeVersion":"6.11.1","_npmUser":{"name":"joslarson","email":"larson.joseph@gmail.com"},"dist":{"integrity":"sha512-e/6AHJx9LKX6EzA6yG3oPj40ehHfrt3eOTeWBFYmx7j/kUnIV3DbtKfWkT6fW9gOxeV/pGAV6erJPtK9lNlEvQ==","shasum":"336a474a0a9b8b1fde9213d8f9d737680cca0983","tarball":"https://registry.npmjs.org/taktil/-/taktil-0.8.0-dev.7.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDBKBV8hujL4TnKK7zEW4yS1aeQ0WO+eKLnnUvsarzfLAIhAIfllOtBgHZHyXqUU7p7diKFXjGt8wPMQSTTj+z0X+UA"}]},"maintainers":[{"name":"joslarson","email":"larson.joseph@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taktil-0.8.0-dev.7.tgz_1503809685806_0.1911067687906325"},"directories":{}},"0.8.0":{"name":"taktil","description":"Taktil is a lightweight control surface scripting framework for Bitwig Studio that encourages rapid development and community code reuse.","version":"0.8.0","repository":{"type":"git","url":"git+https://github.com/taktiljs/taktil.git"},"author":{"name":"Joseph Larson"},"tags":["bitwig","control surface script","framework","typescript"],"dependencies":{"tslib":"^1.7.1"},"devDependencies":{"typedoc":"^0.8.0","@types/jest":"^20.0.7","@types/node":"^8.0.20","del":"^3.0.0","delete-empty":"^1.0.1","glob":"^7.1.2","gulp":"^3.9.1","gulp-typescript":"^3.2.1","jest":"^20.0.4","merge2":"^1.1.0","prettier":"^1.5.3","ts-jest":"^20.0.10","tslint":"^5.6.0","tslint-config-airbnb":"^5.2.1","tslint-config-prettier":"^1.3.0","tsutils":"^2.8.0","typed-bitwig-api":"^2.1.2","typescript":"^2.4.2"},"scripts":{"start":"gulp watch","build":"gulp build","clean":"gulp clean","test":"jest","check":"tsc --noEmit","lint":"tslint -c tslint.json $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts') || true","format":"prettier --parser typescript --print-width 100 --tab-width 4 --single-quote --trailing-comma=es5 --write $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts')","typedoc":"typedoc --module commonjs theme 'minimal' --exclude '**/*.spec.ts' --out ./docs/typedoc/ src/index.ts","preversion":"npm test && npm run build","postversion":"npm run clean","prepack":"npm test && npm run build","postpack":"npm run clean"},"engines":{"node":">= 6.9.0"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/taktil/taktiljs/issues"},"homepage":"https://github.com/taktil/taktiljs#readme","jest":{"testEnvironment":"node","transform":{"^.+\\.tsx?$":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(tsx?|jsx?)$","moduleFileExtensions":["ts","tsx","js","json","jsx"]},"gitHead":"2c2045aff52f0a6337f472c0f74b42a0d8dd85e7","_id":"taktil@0.8.0","_npmVersion":"5.3.0","_nodeVersion":"6.10.1","_npmUser":{"name":"joslarson","email":"larson.joseph@gmail.com"},"dist":{"integrity":"sha512-87yYrQguvMmf3uMJKCO3eECQdI5yw4pQgE84Pb7PporIff8oTA7PLYj+EOp/Mosjsemaus1fkZGQT8GxygOjyw==","shasum":"f92337e4bf71a0bf24d0bd3fb80fec58d97efd7e","tarball":"https://registry.npmjs.org/taktil/-/taktil-0.8.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDDnAponKcJ2zl2iOxmc3qRyIZbwk8U0vVgOdKgP/9ScAiEAhyEo/GGJgTYnbC5JeCDz9KOqqWP3cVTjEE+GkXtiGPQ="}]},"maintainers":[{"name":"joslarson","email":"larson.joseph@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taktil-0.8.0.tgz_1503812008827_0.6264923571143299"},"directories":{}},"0.9.0-dev.6":{"name":"taktil","description":"Taktil is a lightweight control surface scripting framework for Bitwig Studio that encourages rapid development and community code reuse.","version":"0.9.0-dev.6","repository":{"type":"git","url":"git+https://github.com/taktiljs/taktil.git"},"author":{"name":"Joseph Larson"},"tags":["bitwig","control surface script","framework","typescript"],"dependencies":{"tslib":"^1.7.1"},"devDependencies":{"typedoc":"^0.8.0","@types/jest":"^20.0.7","@types/node":"^8.0.20","del":"^3.0.0","delete-empty":"^1.0.1","glob":"^7.1.2","gulp":"^3.9.1","gulp-typescript":"^3.2.1","jest":"^20.0.4","merge2":"^1.1.0","prettier":"^1.5.3","ts-jest":"^20.0.10","tslint":"^5.6.0","tslint-config-airbnb":"^5.2.1","tslint-config-prettier":"^1.3.0","tsutils":"^2.8.0","typed-bitwig-api":"^2.1.2","typescript":"^2.4.2"},"scripts":{"start":"gulp watch","build":"gulp build","clean":"gulp clean","test":"jest","check":"tsc --noEmit","lint":"tslint -c tslint.json $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts') || true","format":"prettier --parser typescript --print-width 100 --tab-width 4 --single-quote --trailing-comma=es5 --write $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts')","typedoc":"typedoc --module commonjs theme 'minimal' --exclude '**/*.spec.ts' --out ./docs/typedoc/ src/index.ts","preversion":"npm test && npm run build","postversion":"npm run clean","prepack":"npm test && npm run build","postpack":"npm run clean"},"engines":{"node":">= 6.9.0"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/taktil/taktiljs/issues"},"homepage":"https://github.com/taktil/taktiljs#readme","jest":{"testEnvironment":"node","transform":{"^.+\\.tsx?$":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(tsx?|jsx?)$","moduleFileExtensions":["ts","tsx","js","json","jsx"]},"gitHead":"4f65536146753aacce4d3a4693d1ad072097d752","_id":"taktil@0.9.0-dev.6","_npmVersion":"5.3.0","_nodeVersion":"6.11.1","_npmUser":{"name":"joslarson","email":"larson.joseph@gmail.com"},"dist":{"integrity":"sha512-7KoQAGew3DWMOIhYiJ0PU1Zt5k4dV1MMTHfiUG03zgfhfzVpJVlUBxVJmBkJpSBh7EO85+0a18y5QVRuF0DELg==","shasum":"bfbe2f57c7db8332d1ae996a68d4c27c60db6c8f","tarball":"https://registry.npmjs.org/taktil/-/taktil-0.9.0-dev.6.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBPtT5i/41MFtdyM5zh67/hZgzDwAvhrgrdrtzHA33BfAiEAm1xSsV2OwRNuUAwoPseuKQfKiaSGwLnXKdERMGdTw1k="}]},"maintainers":[{"name":"joslarson","email":"larson.joseph@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taktil-0.9.0-dev.6.tgz_1503895611091_0.2763128853403032"},"directories":{}},"0.9.0-dev.7":{"name":"taktil","description":"Taktil is a lightweight control surface scripting framework for Bitwig Studio that encourages rapid development and community code reuse.","version":"0.9.0-dev.7","repository":{"type":"git","url":"git+https://github.com/taktiljs/taktil.git"},"author":{"name":"Joseph Larson"},"tags":["bitwig","control surface script","framework","typescript"],"dependencies":{"tslib":"^1.7.1"},"devDependencies":{"typedoc":"^0.8.0","@types/jest":"^20.0.7","@types/node":"^8.0.20","del":"^3.0.0","delete-empty":"^1.0.1","glob":"^7.1.2","gulp":"^3.9.1","gulp-typescript":"^3.2.1","jest":"^20.0.4","merge2":"^1.1.0","prettier":"^1.5.3","ts-jest":"^20.0.10","tslint":"^5.6.0","tslint-config-airbnb":"^5.2.1","tslint-config-prettier":"^1.3.0","tsutils":"^2.8.0","typed-bitwig-api":"^2.1.2","typescript":"^2.4.2"},"scripts":{"start":"gulp watch","build":"gulp build","clean":"gulp clean","test":"jest","check":"tsc --noEmit","lint":"tslint -c tslint.json $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts') || true","format":"prettier --parser typescript --print-width 100 --tab-width 4 --single-quote --trailing-comma=es5 --write $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts')","typedoc":"typedoc --module commonjs theme 'minimal' --exclude '**/*.spec.ts' --out ./docs/typedoc/ src/index.ts","preversion":"npm test && npm run build","postversion":"npm run clean","prepack":"npm test && npm run build","postpack":"npm run clean"},"engines":{"node":">= 6.9.0"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/taktil/taktiljs/issues"},"homepage":"https://github.com/taktil/taktiljs#readme","jest":{"testEnvironment":"node","transform":{"^.+\\.tsx?$":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(tsx?|jsx?)$","moduleFileExtensions":["ts","tsx","js","json","jsx"]},"gitHead":"75e0736495c6f48380025b6af44d22ed024a8038","_id":"taktil@0.9.0-dev.7","_npmVersion":"5.3.0","_nodeVersion":"6.11.1","_npmUser":{"name":"joslarson","email":"larson.joseph@gmail.com"},"dist":{"integrity":"sha512-/Tw8uz59q8puePjfyNmkQVQacnEGglNOPjptzWZU/3H6WYTAGYlzTO0AmYhRSddyfg4pTUgALt7JFlU9DzyPoQ==","shasum":"06c32393dddaadea75791ac773a72af043bf3880","tarball":"https://registry.npmjs.org/taktil/-/taktil-0.9.0-dev.7.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICHhGC6Ieh5OYUSUZouatiRBdCH674agrpLK4HJwEwi8AiEA8V3cZi6jdqjNnSYcKsdSaWNHXAxY0pfWYXkZKAfBRSQ="}]},"maintainers":[{"name":"joslarson","email":"larson.joseph@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taktil-0.9.0-dev.7.tgz_1503896288747_0.21593416156247258"},"directories":{}},"0.9.0":{"name":"taktil","description":"Taktil is a lightweight control surface scripting framework for Bitwig Studio that encourages rapid development and community code reuse.","version":"0.9.0","repository":{"type":"git","url":"git+https://github.com/taktiljs/taktil.git"},"author":{"name":"Joseph Larson"},"tags":["bitwig","control surface script","framework","typescript"],"dependencies":{"tslib":"^1.7.1"},"devDependencies":{"typedoc":"^0.8.0","@types/jest":"^20.0.7","@types/node":"^8.0.20","del":"^3.0.0","delete-empty":"^1.0.1","glob":"^7.1.2","gulp":"^3.9.1","gulp-typescript":"^3.2.1","jest":"^20.0.4","merge2":"^1.1.0","prettier":"^1.5.3","ts-jest":"^20.0.10","tslint":"^5.6.0","tslint-config-airbnb":"^5.2.1","tslint-config-prettier":"^1.3.0","tsutils":"^2.8.0","typed-bitwig-api":"^2.1.2","typescript":"^2.4.2"},"scripts":{"start":"gulp watch","build":"gulp build","clean":"gulp clean","test":"jest","check":"tsc --noEmit","lint":"tslint -c tslint.json $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts') || true","format":"prettier --parser typescript --print-width 100 --tab-width 4 --single-quote --trailing-comma=es5 --write $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts')","typedoc":"typedoc --module commonjs theme 'minimal' --exclude '**/*.spec.ts' --out ./docs/typedoc/ src/index.ts","preversion":"npm test && npm run build","postversion":"npm run clean","prepack":"npm test && npm run build","postpack":"npm run clean"},"engines":{"node":">= 6.9.0"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/taktil/taktiljs/issues"},"homepage":"https://github.com/taktil/taktiljs#readme","jest":{"testEnvironment":"node","transform":{"^.+\\.tsx?$":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(tsx?|jsx?)$","moduleFileExtensions":["ts","tsx","js","json","jsx"]},"gitHead":"5ba0e60b04da2d5bfe97ee0b2eca3e1fac95bfb3","_id":"taktil@0.9.0","_npmVersion":"5.3.0","_nodeVersion":"6.10.1","_npmUser":{"name":"joslarson","email":"larson.joseph@gmail.com"},"dist":{"integrity":"sha512-erGaWcknwVhfy0OHvAPbM3yDQkJuMd8YAG6sYtoFqFt8GqWCp9ITUsum1A/kuKLAQ7HCVKBsY7fwLtuq2+CLcg==","shasum":"e5cd43af004397093e1c423d2d1c9544ead4b0ff","tarball":"https://registry.npmjs.org/taktil/-/taktil-0.9.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCGQWS2Lx5UvSojSh57zmoUTSvGtonEJRdvT0nJnGedZgIhAKVi7o7zvTUlS22/0oGuacxf0kzsby64691kX0MhyFem"}]},"maintainers":[{"name":"joslarson","email":"larson.joseph@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taktil-0.9.0.tgz_1503897736882_0.343355763470754"},"directories":{}},"0.9.1-dev.1":{"name":"taktil","description":"Taktil is a lightweight control surface scripting framework for Bitwig Studio that encourages rapid development and community code reuse.","version":"0.9.1-dev.1","repository":{"type":"git","url":"git+https://github.com/taktiljs/taktil.git"},"author":{"name":"Joseph Larson"},"tags":["bitwig","control surface script","framework","typescript"],"dependencies":{"tslib":"^1.7.1"},"devDependencies":{"typedoc":"^0.8.0","@types/jest":"^20.0.7","@types/node":"^8.0.20","del":"^3.0.0","delete-empty":"^1.0.1","glob":"^7.1.2","gulp":"^3.9.1","gulp-typescript":"^3.2.1","jest":"^20.0.4","merge2":"^1.1.0","prettier":"^1.5.3","ts-jest":"^20.0.10","tslint":"^5.6.0","tslint-config-airbnb":"^5.2.1","tslint-config-prettier":"^1.3.0","tsutils":"^2.8.0","typed-bitwig-api":"^2.1.2","typescript":"^2.4.2"},"scripts":{"start":"gulp watch","build":"gulp build","clean":"gulp clean","test":"jest","check":"tsc --noEmit","lint":"tslint -c tslint.json $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts') || true","format":"prettier --parser typescript --print-width 100 --tab-width 4 --single-quote --trailing-comma=es5 --write $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts')","typedoc":"typedoc --module commonjs theme 'minimal' --exclude '**/*.spec.ts' --out ./docs/typedoc/ src/index.ts","preversion":"npm test && npm run build","postversion":"npm run clean","prepack":"npm test && npm run build","postpack":"npm run clean"},"engines":{"node":">= 6.9.0"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/taktil/taktiljs/issues"},"homepage":"https://github.com/taktil/taktiljs#readme","jest":{"testEnvironment":"node","transform":{"^.+\\.tsx?$":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(tsx?|jsx?)$","moduleFileExtensions":["ts","tsx","js","json","jsx"]},"gitHead":"497123f01286813fa26ec2569221fac9fd8edc5f","_id":"taktil@0.9.1-dev.1","_npmVersion":"5.3.0","_nodeVersion":"6.10.1","_npmUser":{"name":"joslarson","email":"larson.joseph@gmail.com"},"dist":{"integrity":"sha512-X33/AmpBFkaQlzal6XAkq47RMfT2XEtu5Ho9pH/ksWdZfI4kVQXg/bHWVwq29umha7scTIzFvcSSOy2tUkIP6Q==","shasum":"b47ead4da983a59f67e3e06d42ee68342afdcc9a","tarball":"https://registry.npmjs.org/taktil/-/taktil-0.9.1-dev.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDmhIidjSxrIN2HYogVKrsHroBn1ZvcfHz94frj8VylVgIhALDcD5n35TfxExFeTfyQ8gi9F/Am9fForeNU502NX2IG"}]},"maintainers":[{"name":"joslarson","email":"larson.joseph@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taktil-0.9.1-dev.1.tgz_1504069654954_0.1359639228321612"},"directories":{}},"0.9.1-dev.2":{"name":"taktil","description":"Taktil is a lightweight control surface scripting framework for Bitwig Studio that encourages rapid development and community code reuse.","version":"0.9.1-dev.2","repository":{"type":"git","url":"git+https://github.com/taktiljs/taktil.git"},"author":{"name":"Joseph Larson"},"tags":["bitwig","control surface script","framework","typescript"],"dependencies":{"tslib":"^1.7.1"},"devDependencies":{"typedoc":"^0.8.0","@types/jest":"^20.0.7","@types/node":"^8.0.20","del":"^3.0.0","delete-empty":"^1.0.1","glob":"^7.1.2","gulp":"^3.9.1","gulp-typescript":"^3.2.1","jest":"^20.0.4","merge2":"^1.1.0","prettier":"^1.5.3","ts-jest":"^20.0.10","tslint":"^5.6.0","tslint-config-airbnb":"^5.2.1","tslint-config-prettier":"^1.3.0","tsutils":"^2.8.0","typed-bitwig-api":"^2.1.2","typescript":"^2.4.2"},"scripts":{"start":"gulp watch","build":"gulp build","clean":"gulp clean","test":"jest","check":"tsc --noEmit","lint":"tslint -c tslint.json $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts') || true","format":"prettier --parser typescript --print-width 100 --tab-width 4 --single-quote --trailing-comma=es5 --write $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts')","typedoc":"typedoc --module commonjs theme 'minimal' --exclude '**/*.spec.ts' --out ./docs/typedoc/ src/index.ts","preversion":"npm test && npm run build","postversion":"npm run clean","prepack":"npm test && npm run build","postpack":"npm run clean"},"engines":{"node":">= 6.9.0"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/taktil/taktiljs/issues"},"homepage":"https://github.com/taktil/taktiljs#readme","jest":{"testEnvironment":"node","transform":{"^.+\\.tsx?$":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(tsx?|jsx?)$","moduleFileExtensions":["ts","tsx","js","json","jsx"]},"gitHead":"b3442f5437c73ccc450405dd497b353e45887ef0","_id":"taktil@0.9.1-dev.2","_npmVersion":"5.3.0","_nodeVersion":"6.10.1","_npmUser":{"name":"joslarson","email":"larson.joseph@gmail.com"},"dist":{"integrity":"sha512-GuDmZxMGwhjbMdG6kduLuEJBXkfpMr7KdOBmuwQA8U4Vqqjf0Ht2Kkq/nUvsJItPtprG30Ea6qX7GryaDN12WQ==","shasum":"119cb37dd06f0d7a8de6423bd5aa75c9efac5f7c","tarball":"https://registry.npmjs.org/taktil/-/taktil-0.9.1-dev.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCUWfVkLQ7WyfI8TaDrQ11V30S+SYhjNADXZJXFlHB7XgIgEymfyWCqAgLrJsrc70flhZaPWcHFGt3DdHb7dNruMC8="}]},"maintainers":[{"name":"joslarson","email":"larson.joseph@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taktil-0.9.1-dev.2.tgz_1504218184533_0.16904706228524446"},"directories":{}},"0.9.1-dev.3":{"name":"taktil","description":"Taktil is a lightweight control surface scripting framework for Bitwig Studio that encourages rapid development and community code reuse.","version":"0.9.1-dev.3","repository":{"type":"git","url":"git+https://github.com/taktiljs/taktil.git"},"author":{"name":"Joseph Larson"},"tags":["bitwig","control surface script","framework","typescript"],"dependencies":{"tslib":"^1.7.1"},"devDependencies":{"typedoc":"^0.8.0","@types/jest":"^20.0.7","@types/node":"^8.0.20","del":"^3.0.0","delete-empty":"^1.0.1","glob":"^7.1.2","gulp":"^3.9.1","gulp-typescript":"^3.2.1","jest":"^20.0.4","merge2":"^1.1.0","prettier":"^1.5.3","ts-jest":"^20.0.10","tslint":"^5.6.0","tslint-config-airbnb":"^5.2.1","tslint-config-prettier":"^1.3.0","tsutils":"^2.8.0","typed-bitwig-api":"^2.1.2","typescript":"^2.4.2"},"scripts":{"start":"gulp watch","build":"gulp build","clean":"gulp clean","test":"jest","check":"tsc --noEmit","lint":"tslint -c tslint.json $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts') || true","format":"prettier --parser typescript --print-width 100 --tab-width 4 --single-quote --trailing-comma=es5 --write $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts')","typedoc":"typedoc --module commonjs theme 'minimal' --exclude '**/*.spec.ts' --out ./docs/typedoc/ src/index.ts","preversion":"npm test && npm run build","postversion":"npm run clean","prepack":"npm test && npm run build","postpack":"npm run clean"},"engines":{"node":">= 6.9.0"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/taktil/taktiljs/issues"},"homepage":"https://github.com/taktil/taktiljs#readme","jest":{"testEnvironment":"node","transform":{"^.+\\.tsx?$":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(tsx?|jsx?)$","moduleFileExtensions":["ts","tsx","js","json","jsx"]},"gitHead":"a7962d23a92e950ceb3932cc83927679ab6cc66e","_id":"taktil@0.9.1-dev.3","_npmVersion":"5.3.0","_nodeVersion":"6.10.1","_npmUser":{"name":"joslarson","email":"larson.joseph@gmail.com"},"dist":{"integrity":"sha512-F8TXwEZ3c9tsoP9LpGKkdDPifXfFdcUdX6a/UiWzfUKbv1/XcxUuIFcZ7upJxpHMhVaGgdAfoq/fCNlNRIoRLA==","shasum":"9ba8876d447cb7756984ef780e3a2c74cbc28664","tarball":"https://registry.npmjs.org/taktil/-/taktil-0.9.1-dev.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB0P2mAAuHmsDsy0mu0HILKtBJZ7txIbsKe29ETsYU3hAiAMa4mCQRkeiS2zPID6gKNWKcAWwibc2XCjJ+9Wk4pYQA=="}]},"maintainers":[{"name":"joslarson","email":"larson.joseph@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taktil-0.9.1-dev.3.tgz_1504240459410_0.32048721448518336"},"directories":{}},"0.9.1-dev.4":{"name":"taktil","description":"Taktil is a lightweight control surface scripting framework for Bitwig Studio that encourages rapid development and community code reuse.","version":"0.9.1-dev.4","repository":{"type":"git","url":"git+https://github.com/taktiljs/taktil.git"},"author":{"name":"Joseph Larson"},"tags":["bitwig","control surface script","framework","typescript"],"main":"lib/index.js","types":"lib/index.d.ts","dependencies":{"tslib":"^1.7.1"},"devDependencies":{"typedoc":"^0.8.0","@types/jest":"^20.0.7","@types/node":"^8.0.20","del":"^3.0.0","delete-empty":"^1.0.1","glob":"^7.1.2","gulp":"^3.9.1","gulp-typescript":"^3.2.1","jest":"^20.0.4","merge2":"^1.1.0","prettier":"^1.5.3","ts-jest":"^20.0.10","tslint":"^5.6.0","tslint-config-airbnb":"^5.2.1","tslint-config-prettier":"^1.3.0","tsutils":"^2.8.0","typed-bitwig-api":"^2.1.2","typescript":"^2.4.2"},"scripts":{"start":"gulp watch","build":"gulp build","clean":"gulp clean","test":"jest","check":"tsc --noEmit","lint":"tslint -c tslint.json $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts') || true","format":"prettier --parser typescript --print-width 100 --tab-width 4 --single-quote --trailing-comma=es5 --write $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts')","typedoc":"typedoc --module commonjs theme 'minimal' --exclude '**/*.spec.ts' --out ./docs/typedoc/ src/index.ts","preversion":"npm test && npm run build","postversion":"npm run clean","prepack":"npm test && npm run build","postpack":"npm run clean"},"engines":{"node":">= 6.9.0"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/taktil/taktiljs/issues"},"homepage":"https://github.com/taktil/taktiljs#readme","jest":{"testEnvironment":"node","transform":{"^.+\\.tsx?$":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(tsx?|jsx?)$","moduleFileExtensions":["ts","tsx","js","json","jsx"]},"gitHead":"48eb9c24250cdedb80801cb534bb03f448c02467","_id":"taktil@0.9.1-dev.4","_npmVersion":"5.3.0","_nodeVersion":"6.10.1","_npmUser":{"name":"joslarson","email":"larson.joseph@gmail.com"},"dist":{"integrity":"sha512-o+5GCvisrlxTWFCnIEOpKBDcytlHqDiFocNsNakrAzODylE9LFbVUdaEKtFOnjY0+FRHfuFqrMnkDTqFHdKutA==","shasum":"95124e7c94f2957362b8f3541a4f29b7c0ef5eb6","tarball":"https://registry.npmjs.org/taktil/-/taktil-0.9.1-dev.4.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCOIVr1TucKdaQ2AwGELkxrJZaQeOP+Mg0aaRpvegLFEgIgd/D9LdJhpro17cOeaSmDOWJ8mvUaAqnuifXLNJa1Y2Q="}]},"maintainers":[{"name":"joslarson","email":"larson.joseph@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taktil-0.9.1-dev.4.tgz_1505597731009_0.7940888153389096"},"directories":{}},"0.10.0":{"name":"taktil","description":"Taktil is a lightweight control surface scripting framework for Bitwig Studio that encourages rapid development and community code reuse.","version":"0.10.0","repository":{"type":"git","url":"git+https://github.com/taktiljs/taktil.git"},"author":{"name":"Joseph Larson"},"tags":["bitwig","control surface script","framework","typescript"],"main":"lib/index.js","types":"lib/index.d.ts","dependencies":{"tslib":"^1.7.1"},"devDependencies":{"typedoc":"^0.8.0","@types/jest":"^20.0.7","@types/node":"^8.0.20","del":"^3.0.0","delete-empty":"^1.0.1","glob":"^7.1.2","gulp":"^3.9.1","gulp-typescript":"^3.2.1","jest":"^20.0.4","merge2":"^1.1.0","prettier":"^1.5.3","ts-jest":"^20.0.10","tslint":"^5.6.0","tslint-config-airbnb":"^5.2.1","tslint-config-prettier":"^1.3.0","tsutils":"^2.8.0","typed-bitwig-api":"^2.1.2","typescript":"^2.4.2"},"scripts":{"start":"gulp watch","build":"gulp build","clean":"gulp clean","test":"jest","check":"tsc --noEmit","lint":"tslint -c tslint.json $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts') || true","format":"prettier --parser typescript --print-width 100 --tab-width 4 --single-quote --trailing-comma=es5 --write $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts')","typedoc":"typedoc --module commonjs theme 'minimal' --exclude '**/*.spec.ts' --out ./docs/typedoc/ src/index.ts","preversion":"npm test && npm run build","postversion":"npm run clean","prepack":"npm test && npm run build","postpack":"npm run clean"},"engines":{"node":">= 6.9.0"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/taktil/taktiljs/issues"},"homepage":"https://github.com/taktil/taktiljs#readme","jest":{"testEnvironment":"node","transform":{"^.+\\.tsx?$":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(tsx?|jsx?)$","moduleFileExtensions":["ts","tsx","js","json","jsx"]},"gitHead":"c3c5c40006f717c36b03c347c06b0905a2315843","_id":"taktil@0.10.0","_npmVersion":"5.3.0","_nodeVersion":"6.10.1","_npmUser":{"name":"joslarson","email":"larson.joseph@gmail.com"},"dist":{"integrity":"sha512-pX4DlhcGTbI//Kuem/BcivYpZ4L5Hypj018qz+Hukup9ywyCfKjQDoVNqI8xOGJTdrBO1fPSn9zfMkHGsPBnxw==","shasum":"c3d50e97b6ab41ac28010f93565d8925df9cd89d","tarball":"https://registry.npmjs.org/taktil/-/taktil-0.10.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDguec7GdPed3kTe1pYVJiG8lBezAKKIDYUxZLu2xiWEwIgIrF4qyB8mA89QttQm6G6xuXvKtqzStibZqWEaejHkrk="}]},"maintainers":[{"name":"joslarson","email":"larson.joseph@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taktil-0.10.0.tgz_1505598253944_0.5711548535618931"},"directories":{}},"0.11.0":{"name":"taktil","description":"Taktil is a lightweight control surface scripting framework for Bitwig Studio that encourages rapid development and community code reuse.","version":"0.11.0","bitwigApiVersion":4,"repository":{"type":"git","url":"git+https://github.com/taktiljs/taktil.git"},"author":{"name":"Joseph Larson"},"tags":["bitwig","control surface script","framework","typescript"],"main":"lib/index.js","types":"lib/index.d.ts","bin":{"taktil":"./bin/taktil.js"},"dependencies":{"tslib":"^1.7.1","colors":"^1.1.2","commander":"^2.11.0","glob":"^7.1.2","gulp":"^3.9.1","gulp-change":"^1.0.0","gulp-rename":"^1.2.2","nunjucks":"^3.0.1","prompt-sync":"^4.1.5","uuid":"^3.1.0"},"devDependencies":{"@types/jest":"^20.0.7","@types/node":"^8.0.20","del":"^3.0.0","delete-empty":"^1.0.1","gulp-typescript":"^3.2.1","jest":"^20.0.4","merge2":"^1.1.0","prettier":"^1.5.3","ts-jest":"^20.0.10","tslint":"^5.6.0","tslint-config-airbnb":"^5.2.1","tslint-config-prettier":"^1.3.0","tsutils":"^2.8.0","typed-bitwig-api":"^2.1.2","typedoc":"^0.8.0","typescript":"^2.6.1"},"scripts":{"start":"gulp watch","build":"gulp build","clean":"gulp clean","test":"jest","check":"tsc --noEmit","lint":"tslint -c tslint.json $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts') || true","format":"prettier --parser typescript --print-width 100 --tab-width 4 --single-quote --trailing-comma=es5 --write $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts')","typedoc":"typedoc --module commonjs --exclude '**/*.spec.ts' --out ./docs/typedoc/ src/taktil.ts","preversion":"npm test && npm run build","postversion":"npm run clean","prepack":"npm test && npm run build","postpack":"npm run clean"},"engines":{"node":">= 6.9.0"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/taktiljs/taktil/issues"},"homepage":"https://github.com/taktiljs/taktil#readme","jest":{"testEnvironment":"node","transform":{"^.+\\.tsx?$":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(tsx?|jsx?)$","moduleFileExtensions":["ts","tsx","js","json","jsx"]},"gitHead":"e058984812b7846be17def6450fc5feebe0649bf","_id":"taktil@0.11.0","_npmVersion":"5.3.0","_nodeVersion":"6.10.1","_npmUser":{"name":"joslarson","email":"larson.joseph@gmail.com"},"dist":{"integrity":"sha512-cBI7t67up/6+QS8SsW9tMk+ajN58OD0q0hPYqj+iTInn5J6JrKC/XglPh9v5wlBRQgL9cx//5MOC/WfIYZplig==","shasum":"5556c895136dcf98aa516d0584bd265e48164026","tarball":"https://registry.npmjs.org/taktil/-/taktil-0.11.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID5ZsbNmIFMlkxBk5+g6jMfKWzzKnJNkTKZ3/fjH0XtBAiAbrK6duo0IO04M0hOyjyNn/WwohESW7mbC8S/Q0w3cwA=="}]},"maintainers":[{"name":"joslarson","email":"larson.joseph@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taktil-0.11.0.tgz_1511657367397_0.16812795866280794"},"directories":{}},"0.12.0":{"name":"taktil","description":"Taktil is a lightweight control surface scripting framework for Bitwig Studio that encourages rapid development and community code reuse.","version":"0.12.0","bitwigApiVersion":4,"repository":{"type":"git","url":"git+https://github.com/taktiljs/taktil.git"},"author":{"name":"Joseph Larson"},"tags":["bitwig","control surface script","framework","typescript"],"main":"lib/index.js","types":"lib/index.d.ts","bin":{"taktil":"./bin/taktil.js"},"dependencies":{"tslib":"^1.7.1","colors":"^1.1.2","commander":"^2.11.0","glob":"^7.1.2","gulp":"^3.9.1","gulp-change":"^1.0.0","gulp-rename":"^1.2.2","nunjucks":"^3.0.1","prompt-sync":"^4.1.5","uuid":"^3.1.0"},"devDependencies":{"@types/jest":"^20.0.7","@types/node":"^8.0.20","del":"^3.0.0","delete-empty":"^1.0.1","gulp-typescript":"^3.2.1","jest":"^20.0.4","merge2":"^1.1.0","prettier":"^1.5.3","ts-jest":"^20.0.10","tslint":"^5.6.0","tslint-config-airbnb":"^5.2.1","tslint-config-prettier":"^1.3.0","tsutils":"^2.8.0","typed-bitwig-api":"^2.1.2","typedoc":"^0.9.0","typescript":"^2.6.1"},"scripts":{"start":"gulp watch","build":"gulp build","clean":"gulp clean","test":"jest","check":"tsc --noEmit","lint":"tslint -c tslint.json $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts') || true","format":"prettier --parser typescript --print-width 100 --tab-width 4 --single-quote --trailing-comma=es5 --write $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts')","typedoc":"typedoc --module commonjs --exclude '**/*.spec.ts' --out ./docs/typedoc/ src/taktil.ts","preversion":"npm test && npm run build","postversion":"npm run clean","prepack":"npm test && npm run build","postpack":"npm run clean"},"engines":{"node":">= 6.9.0"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/taktiljs/taktil/issues"},"homepage":"https://github.com/taktiljs/taktil#readme","jest":{"testEnvironment":"node","transform":{"^.+\\.tsx?$":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(tsx?|jsx?)$","moduleFileExtensions":["ts","tsx","js","json","jsx"]},"gitHead":"5584ed264c624fa4e0963314eb01d4bbb8524773","_id":"taktil@0.12.0","_npmVersion":"5.6.0","_nodeVersion":"6.10.1","_npmUser":{"name":"joslarson","email":"larson.joseph@gmail.com"},"dist":{"integrity":"sha512-HdF3x4vA/ZLYHuHx1Of+jxHRC+MbxLObMXEviCDNPxL8WdFQo+SyqB26Ue6Bbd4rAh2XWkfLsob3HxjuDmrAPw==","shasum":"7b3774efe0ab2253ad9865a49f28a5afbca314af","tarball":"https://registry.npmjs.org/taktil/-/taktil-0.12.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC9b2YzItizBic/c9osQ3LcoxPYo/DCJ36IMUUpbFh0hAiEA9QkIpN5C7i77HvnJi2auRwWbcGFGwYe5hPHxBZdqGkQ="}]},"maintainers":[{"name":"joslarson","email":"larson.joseph@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taktil-0.12.0.tgz_1515131395830_0.5192593412939459"},"directories":{}},"0.13.0":{"name":"taktil","description":"Taktil is a lightweight control surface scripting framework for Bitwig Studio that encourages rapid development and community code reuse.","version":"0.13.0","repository":{"type":"git","url":"git+https://github.com/taktiljs/taktil.git"},"author":{"name":"Joseph Larson"},"tags":["bitwig","control surface script","framework","typescript"],"main":"index.js","types":"index.d.ts","bin":{"taktil":"./bin/taktil.js"},"dependencies":{"colors":"^1.2.1","commander":"^2.15.1","glob":"^7.1.2","gulp":"^3.9.1","gulp-change":"^1.0.0","gulp-rename":"^1.2.2","nunjucks":"^3.1.2","prompt-sync":"^4.1.5","tslib":"^1.9.0","uuid":"^3.2.1"},"devDependencies":{"@types/jest":"^22.2.2","@types/node":"^9.6.1","del":"^3.0.0","delete-empty":"^2.0.0","gulp-typescript":"^4.0.2","jest":"^22.4.3","merge2":"^1.2.1","prettier":"^1.11.1","ts-jest":"^22.4.2","tslint":"^5.9.1","tslint-config-airbnb":"^5.8.0","tslint-config-prettier":"^1.10.0","tsutils":"^2.25.0","typed-bitwig-api":"^6.0.0","typedoc":"^0.11.1","typescript":"^2.8.1"},"scripts":{"start":"gulp watch","build":"gulp build","clean":"gulp clean","test":"jest","check":"tsc --noEmit","lint":"tslint -c tslint.json $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts') || true","format":"prettier --parser typescript --print-width 100 --tab-width 4 --single-quote --trailing-comma=es5 --write $(find . ! -path './.git*' ! -path './node_modules*' -path '*.ts')","typedoc":"typedoc --module commonjs --exclude '**/*.spec.ts' --out ./docs/typedoc/ src/taktil.ts","preversion":"npm test && npm run build","postversion":"npm run clean","prepack":"npm test && npm run build","postpack":"npm run clean"},"engines":{"node":">= 6.9.0"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/taktiljs/taktil/issues"},"homepage":"https://github.com/taktiljs/taktil#readme","jest":{"testEnvironment":"node","transform":{"^.+\\.tsx?$":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(tsx?|jsx?)$","moduleFileExtensions":["ts","tsx","js","json","jsx"]},"gitHead":"b8eb47cfd2be618d95c6badb5c52c8c863786cfb","_id":"taktil@0.13.0","_npmVersion":"5.8.0","_nodeVersion":"8.9.4","_npmUser":{"name":"joslarson","email":"larson.joseph@gmail.com"},"dist":{"integrity":"sha512-ZuCg1CzL43IA6G8Jxv+BCqUdMVfK2TdbhUT+W2TVoliKD80py22kt9wVoaYxGElk9SZXS/Ao8a3oHv54XQjpXA==","shasum":"06ee13269ae3fa9f6145049e06922dd518478423","tarball":"https://registry.npmjs.org/taktil/-/taktil-0.13.0.tgz","fileCount":71,"unpackedSize":126249,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDC5/x182pLulZpMWbIZMv7PKYwo06/nHj07MBiXX9n4AIgYZYMfu0HGLdfBMkxtReLqaIitvCFd9j3WVXr+FNTmPQ="}]},"maintainers":[{"name":"joslarson","email":"larson.joseph@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taktil_0.13.0_1522477847017_0.8303970475135192"},"_hasShrinkwrap":false}},"readme":"# Taktil\n\n[![Build Status](https://travis-ci.org/taktiljs/taktil.svg?branch=master)](https://travis-ci.org/taktiljs/taktil) [![npm version](https://badge.fury.io/js/taktil.svg)](https://badge.fury.io/js/taktil)\n\nTaktil is a lightweight control surface scripting framework for Bitwig Studio that encourages rapid development and community code reuse. At its core, it is designed around the idea of building reusable, extendable components and provides a simple but powerful view abstraction that makes contextually mapping hardware controls to different components a breeze.\n\nTaktil's integrated build tool transpiles and bundles your code to enable ES2015+ language features and npm dependency support in Bitwig's ES5 world (no messy build configurations necessary).\n\n> **Note:** While Taktil is written in and provide first class support for TypeScript, this documentation currently provides only pure JavaScript examples. TypeScript specific docs are in the works.\n\n> **Warning!** While fully usable, Taktil is still pre-1.0 and has no backwards compatibility guarantees until the v1 release occurs! Your input is encouraged. Also, while the CLI is designed to work on Windows, Mac, and Linux, I have only tested it on macOS so far. So please create ticket and/or submit pull request as you find bugs.\n\n## Installation\n\nTo get started started, you'll need to first make sure you have the following prerequisites installed and functioning on your system.\n\n* Node.js v6.0 or newer\n* Bitwig Studio v2.0 or newer\n\nOnce you've got that out of the way, you're ready to install Taktil. If you want to use the integrated CLI, you'll need to install it globally. Doing so will put the `taktil` CLI command in your path which will handle initializing projects and building + bundling them for you.\n\n```bash\nnpm install -g taktil\n```\n\n> **Note:** Don't miss the `-g` flag here as this installs the package globally, adding the the `taktil` command to your path.\n\nIf you'd rather use Taktil without the CLI, you can manually install it locally into an existing project like so:\n\n```bash\nnpm install taktil\n```\n\n## Project Setup\n\nWith that out of the way, let's start a new project using the CLI tool's `init` command. We'll call our project `getting-started`.\n\n```bash\ntaktil init getting-started\n# run taktil --help for detailed usage\n```\n\nThis command will ask you some questions then generate a working project skeleton based on your responses. If, after running the command above, we answer the prompts as follows...\n\n```bash\n# answers are optional where a default is provided in parentheses\n[taktil] begin project initialization...\nDisplay Name: Getting Started\nVendor/Category: Custom\nAuthor: Joseph Larson\nVersion (1.0.0):\nAPI Version (4):\n[taktil] project initialization complete.\n```\n\n...your new project will be created within a new `getting-started` directory, relative to your current working directory, and will have the following structure:\n\n```bash\ngetting-started/\n├── dist/ -> ...  # symlinked into default Bitwig control surface scripts directory\n├── src\n│   ├── components.js\n│   ├── controls.js\n│   ├── daw.js\n│   ├── index.js\n│   └── views.js\n├── README.md\n├── package.json\n├── tsconfig.json\n└── webpack.config.js\n```\n\n`cd` into your new project directory and install the initial dependencies using npm.\n\n```bash\ncd getting-started\nnpm install\n```\n\nNow, we'll run the CLI's `build` command, to generate your project's initial build.\n\n```bash\ntaktil build  # run from the project root\n```\n\nAt this point your newly built project files should have been picked up by Bitwig and your script should be listed under `Custom > Getting Started` in Bitwig's controller selection menu.\n\nActivate your new controller script by selecting it from the script selection menu and assigning your Midi controller's corresponding MIDI I/O.\n\n> **Note**: The default project template is setup assuming a single midi input/output pair, but if you need more than that, more can be defined in the your project's entry file (`src/index.js` in this case).\n\nNow, before we start editing files, let's put the CLI's build command in watch mode so that our project will rebuild whenever we modify and save a source file.\n\n```bash\ntaktil watch  # run from the project root\n# exit the build command with ctrl/cmd+c\n```\n\nWith that, everything should be in place to start coding your control surface script. Let's get into it :)\n\n\n## Defining Controls\n\nThe first real task for any new Taktil project is to define an initial set of Midi controls for the script to react to and/or send updates to. This set of controls acts as the template for your control surface and all its knobs, buttons, pads, etc. Taktil's `Control` abstraction exists to help you model your unique hardware-specific controls in way that provides **a common interface on top of which to build reusable components.**\n\nIn this tutorial, our hypothetical control surface has three relevant controls: a `PLAY` button, a `SHIFT` button, and a general purpose `KNOB`. Let's take a quick look at Taktil's `Control` MIDI abstraction.\n\n### MIDI Patterns\n\nEach `Control` is composed of a list of MIDI input/output patterns that:\n\n1. Define which MIDI input messages will be routed to the `Control` to be handled.\n2. Let Taktil know how to cache midi output messages such that redundant messages—those that would not change your Midi controller's state—are not sent.\n\nThis list of patterns must not overlap with any other registered `Control` definition, such that a given Midi input message will always be routed to only one `Control`. This requirement is enforced to enable the above mentioned caching mechanism which provides significant automatic Midi output optimizations.\n\nPatterns can be defined in string or object literal form.\n\n* **String form** patterns are the most expressive and concise, representing the MIDI port and each MIDI byte as consecutive two character hexadecimal values, with question marks used for wildcard matching (e.g. `'00B018??'` where `00`, `B0`, `18`, and `??` represent the port, status, data1, and data2 values). If the port byte is left off (`'B018??'`) the pattern's port defaults to 0.\n\n* **Object literal form** allows you to define MIDI patterns by assuming undefined MIDI byte values to be wild cards (e.g. `{ port: 0, status: 0xb0, data1: 0x18 }` where any MIDI message matching the provided values will be handled). If the port value is left off (`{ status: 0xb0, data1: 0x18 }`) the pattern's port defaults to 0. Though slightly less powerful and more verbose, you may find object literal form to be more readable while still covering the vast majority of use cases.\n\n> **Note**: The values for the status and data1 arguments above (e.g. `0xb0`) are just plain numbers written in JavaScript's hexadecimal (base 16) form. This makes it easier to to see the type of message and which channel the `Control` maps to, but you can use regular base 10 integers 0-127 here if you want to.\n\n### Control Options\n\nBeyond defining the MIDI patterns your `Control` will handle, you may also need to override some of the `Control`'s default options to reflect the type of `Control` you are defining. The most common of those options are as follows:\n\n* **`enableMidiOut`** (default: `true`): Set to `false` to disable Midi output for this control.\n* **`enableCache`** (default: `true`): Set to `false` if you'd like to disable the magic that is the cache.\n* **`cacheOnMidiIn`** (default: `true`): Set this to `false` for controls whose visual state (e.g. LED) is only updated on MIDI output.\n\n> **Note:** Whenever this documentation mentions MIDI input or output it is speaking from the perspective of the script, not the controller. So \"input\" is referring to MIDI messages travelling from the controller to the script, and \"output\" is referencing messages moving from the script to the controller.\n\n\n### Control State\n\nAll `Control` instances have a state object that contains a required value property, optional color, brightness, and flashing properties, and whatever other properties custom `Control` subclasses define. The state is updated by calling the `Controls`'s `setState` method, and is most often called from within a corresponding component (which we'll explore later on).\n\n### The `PLAY` Button\n\nLet's begin by defining the `PLAY` button as MIDI CC 24 (or `0x18` in hex) on port 0, channel 0. That translates, in hex values, to a status of `0xb0`, a data1 of `0x18`, and a wild card match on the data2 value. In **string form** our definition will look as follows:\n\n```js\n// src/controls.js\n\nimport taktil from 'taktil';\n\nexport const controls = {\n    PLAY: new taktil.Control({ patterns: ['B018??'] }),\n};\n```\n\nThe same definition in **object literal form** would look like this:\n\n```js\n// src/controls.js\n\nimport taktil from 'taktil';\n\nexport const controls = {\n    PLAY: new taktil.Control({ patterns: [{ status: 0xb0, data1: 0x18 }] }),\n};\n```\n\n### Further Control Abstraction\n\nTaktil provides further abstracted Control subclasses for CC (Control Change), Note, Channel Pressure, and Key Pressure messages. Assuming all three of our controls are MIDI CC controls, we can redefine our `PLAY` button and add to it definitions for our `SHIFT` button and `KNOB` as follows.\n\n```js\n// src/controls.js\n\nimport taktil from 'taktil';\n\nexport const controls = {\n    PLAY: new taktil.ControlChange({ channel: 0, control: 24 }),\n    SHIFT: new taktil.ControlChange({ channel: 0, control: 25 }),\n    KNOB: new taktil.ControlChange({ channel: 0, control: 26 }),\n};\n```\n\nWith that, we've defined our controls.\n\n> **Note:** In the same way that ControlChange extends Control, you can create your own Control subclasses. You might, for example define a Control type that not only keeps track of your hardware control's value, but also handles its color, its brightness, and whether it's pulsing or not. The sky's the limit. All controls must define the MIDI messages they will handle, but what they do with the input and what they render on output and when is up to you.\n\n\n## Creating Components\n\nNow that we've defined our controls, we'll move on to building some components. Components, in Taktil, are the state and business logic containers for non-hardware-specific functionality. They receive and react to standardized `ControlInput` messages (through the `onControlInput` method) as well as Bitwig API events. They also decide when a connected `Control` should be updated by calling its `setState` method, usually in reaction to one of the above mentioned messages or events.\n\nComponents are defined as ES6 classes that must eventually extend the `Component` base class. At instantiation time, a component will be passed an associated control and a params object. The params object is your component configuration object and is where all of the Bitwig API derived objects should be passed in for use in the components different life-cycle methods.\n\nThere are only three total component life-cycle methods and only two that are required for a component definition. They are as follows.\n\n* **`onInit` (optional):**  This where you define all of your component's \"init\" phase logic, which mostly consists of hooking up Bitwig API event callbacks.\n* **`onControlInput` (required):** This is where you define what happens when your component's connected control receives input.\n* **`getControlOutput` (required):** This returns the full or partial control state object that will be sent to the controls `setState` method whenever our component re-renders.\n\nTo get our feet wet, we'll start off by creating a simple play/pause toggle.\n\n```js\n// src/components.js\n\nimport taktil from 'taktil';\n\nexport class PlayToggle extends taktil.Component {\n    state = { on: false };\n\n    // onInit is where you should hookup your Bitwig API event callbacks,\n    // as all of that work must be done during the \"init\" phase\n    onInit() {\n        // we're expecting a Bitwig API derived transport object to be passed in to the params\n        // object at instantiation time, then we're hooking up a callback to sync the component\n        // state with the transport's isPlaying state.\n        this.params.transport\n            .isPlaying()\n            .addValueObserver(isPlaying => this.setState({ on: isPlaying }));\n    }\n\n    // onControlInput is where we define what happens when our component's connected control\n    // receives input\n    onControlInput({ value }) {\n        // if the input value is greater than the controls min value, toggle play state\n        if (value > this.control.minValue) this.params.transport.togglePlay();\n    }\n\n    // getControlOutput is where we define the full or partial control state object\n    // that will be sent to the controls `setState` method whenever our component re-renders\n    getControlOutput() {\n        // in this case if our button is \"on\" we send the control's max value, otherwise\n        // we send it's minimum value\n        const { state: { on }, control: { minValue, maxValue } } = this;\n        return { value: on ? maxValue : minValue };\n    }\n}\n```\n\nBecause buttons are such a big and predictable part of every controller script, Taktil provides a general purpose Button component. The button component extends the base Component class, adding five self described optionally implemented life-cycle methods:\n\n* **`onPress`**\n* **`onLongPress`**\n* **`onDoublePress`**\n* **`onRelease`**\n* **`onDoubleRelease`**\n\nLet's re-implement our PlayToggle by extending the Button component.\n\n```js\n// src/components.js\n\nimport taktil from 'taktil';\n\nexport class PlayToggle extends taktil.Button {\n    onInit() {\n        this.params.transport\n            .isPlaying()\n            .addValueObserver(isPlaying => this.setState({ on: isPlaying }));\n    }\n\n    onPress() {\n        this.params.transport.togglePlay()\n    }\n}\n```\n\nNow let's implement the rest of the components for our getting started project. First we want to implement a MetronomeToggle and a ModeGate button which will turn shift mode on/off globally such that when the shift ModeGate button is pressed the PLAY control will toggle the metronome on/off, and when the shift ModeGate button is released the PLAY control will go back to being a PlayToggle.\n\n> **Note:** We'll hook up the components to controls and modes in the view section, then you'll have a better understanding of what I'm talking about here.\n\n```js\n// src/components.js (continued...)\n\nexport class ModeGate extends taktil.Button {\n    onPress() {\n        this.setState({ on: true });\n        taktil.activateMode(this.params.target);\n    }\n\n    onRelease() {\n        this.setState({ on: false });\n        taktil.deactivateMode(this.params.target);\n    }\n}\n\nexport class MetronomeToggle extends taktil.Button {\n    onInit() {\n        this.params.transport\n            .isMetronomeEnabled()\n            .addValueObserver(isEnabled => this.setState({ on: isEnabled }));\n    }\n\n    onPress() {\n        this.params.transport.isMetronomeEnabled().toggle();\n    }\n}\n```\n\nFinally, to get away from buttons, we'll implement a VolumeRange component which takes a Bitwig Track instance as a param and controls it's volume. When the volume changes in Bitwig the component will update its associated control, and when its associated control sends input, the tracks level will be adjust accordingly. In this way the component's job is to keep the control state's value and and the Track object's volume value in sync with one another.\n\n```js\n// src/components.js (continued...)\n\nexport class VolumeRange extends taktil.Component {\n    state = { value: 0 };\n    memory = {};\n\n    onInit() {\n        this.params.track.getVolume().addValueObserver(value => {\n            this.setState({ value: Math.round(value * 127) });\n        });\n    }\n\n    onControlInput({ value }) {\n        if (this.memory.input) clearTimeout(this.memory.input);\n        this.memory.input = setTimeout(() => delete this.memory.input, 350);\n\n        this.params.track.getVolume().set(value / 127);\n    }\n\n    getControlOutput() {\n        return { value: this.state.value };\n    }\n\n    render() {\n        if (!this.memory.input) super.render();\n    }\n}\n```\n\n## Integrating with the Bitwig API\n\nBitwig's API requires that all of our API derived object and event subscription needs be defined and setup during the controller scripts 'init' phase. This can be done by following the pattern below.\n\n```js\n// src/daw.js\n\nimport taktil from 'taktil';\n\n// export our initialized empty daw object\nexport const daw = {};\n// after the init phase our daw object will be populated with all of our needed API objects.\n// these object will be ready and can be accessed from within in a component's `onInit`\n// method to setup event callbacks related to that component. It's best practice to pass\n// these objects into components as params to make them more reusable.\ntaktil.on('init', () => {\n    daw.transport = host.createTransport();\n    daw.masterTrack = host.createMasterTrack(0);\n    // ...setup all of your \"init time only\" bitwig api objects here\n});\n```\n\n> **Note:** Bitwig's API only allows a single function to be defined as your init event callback. Taktil defines this function for us in a way that allows us to register multiple callbacks to the 'init' event via the `taktil.on('init', [callback])` method.\n\n\n## Assembling the Views\n\nNow that we've defined our controls and and components, it's time to assemble them into views. I their simplest form, views are just a mapping of components to controls. When a view is active, the view's components will receive control input and generate control output. An inactive view's components, on the other hand, will not be sent control input messages, and will not generate any control output, but they will continue to maintain their internal state in preparation for being activated.\n\nView components are also registered to a specific view \"mode\" and will only be considered active if both the view and the mode are active. Taktil maintains the array of active mode strings globally. These modes are kept in the order they were activated such that a component registered to the same control but a different mode can override the another, with the most recently activated mode taking precedence. This allows a view to configure itself differently based on the global mode list. This is useful, for instance, when implementing a shift button, where having all views know our script is in \"shift mode\" will allow us to define secondary actions across multiple disconnected views.\n\nViews are defined by extending Taktil's View class or by stacking previously defined views using the ViewStack function. The ViewStack function accepts a list of view classes and returns a new View class definition where, in order, each of the provided views' component/control mappings override any subsequent view's mapping involving the same control (it's just simple inheritance where the the control portion of each mapping is the thing being overridden). This pattern makes it possible to define reusable chunks of view logic which can be combined together in different ways to create more complex views.\n\nIn a simple project, a single view making use of view modes may be enough handle your needs. The value of view stacks will become apparent when developing more complex projects.\n\nAs shown below, the component/control mappings are defined as instance properties. Valid instance property types consist of a component instance, an array of component instances, or a function that returns either of the previous. Component constructors take a control instance and a params object. The params object consists of an optional mode property—for defining which mode the component should be registered to—as well as whatever else the individual component needs to operate. This is generally where we will pass in objects retrieved or created through Bitwig's API as the view instance code will not be run until after the init phase.\n\n```js\n// src/views.js\n\nimport { View, ViewStack } from 'taktil';\n\nimport { PlayToggle, ModeGate, MetronomeToggle, VolumeRange } from './components';\nimport { controls } from './controls';\nimport { daw } from './daw';\n\n// in this view when you press the SHIFT button the PLAY button will toggle the metronome on/off\n// but when the SHIFT button is released, the PLAY button will toggle the transport's play state\nclass BaseView extends View {\n    // map PlayToggle component to the PLAY control, registering it to the default base mode\n    playToggle = new PlayToggle(controls.PLAY, { transport: daw.transport });\n    // map ModeGate component to the SHIFT control, registering it to the default base mode\n    shiftModeGate = new ModeGate(controls.SHIFT, { target: 'SHIFT' });\n    // map MetronomeToggle component to the PLAY control, registering it to our custom 'SHIFT' mode\n    metroToggle = new MetronomeToggle(controls.PLAY, { mode: 'SHIFT', transport: daw.transport });\n}\n\nclass MixerView extends View {\n    // map VolumeRange component to the KNOB control, registering it the default base mode\n    masterVolume = new VolumeRange(controls.KNOB, { track: daw.masterTrack });\n}\n\n// export the view name to view class mapping so that we can register these views to\n// the session to be activated by name\nexport const views = {\n    BASE: BaseView,\n    // by stacking these views, all components in MixerView that are connected to an active mode\n    // will be active and any components in BaseView that are connected to an active mode will\n    // be active as long as their connected controls do not conflict with any active component\n    // in the MixerView.\n    MIXER: ViewStack(MixerView, BaseView),\n};\n```\n\n\n## Initializing the Session\n\nAt this point we've defined our control layer, created some components, and assembled those controls and components into views. Now all that's left is to create our controller script's entry point where we will setup and initialize our session.\n\n```js\n// src/index.js\n\nimport taktil from 'taktil';\n\nimport { controls } from './controls';\nimport { views } from './views';\n\n// 1. set bitwig api version\nhost.loadAPI(4);\n\n// 2. define controller script\nhost.defineController(\n    'Custom', // vendor\n    'Getting Started', // name\n    '1.0.0', // version\n    'f2b0f9b0-87be-11e7-855f-094b43050ba2', // uuid\n    'Joseph Larson' // author\n);\n\n// 3. setup and discover midi controllers\nhost.defineMidiPorts(1, 1); // number of midi inputs, outputs\n// host.addDeviceNameBasedDiscoveryPair(\n//     ['Input Name'],\n//     ['Output Name'],\n// );\n\n// 4. register controls to the session\ntaktil.registerControls(controls);\n\n// 5. register views to the session\ntaktil.registerViews(views);\n\n// 6. on init, activate view to trigger initial render\ntaktil.on('init', () => taktil.activateView('MIXER'));\n```","maintainers":[{"name":"joslarson","email":"larson.joseph@gmail.com"}],"time":{"modified":"2022-06-27T03:42:44.214Z","created":"2017-03-10T04:18:51.263Z","0.3.0":"2017-03-10T04:18:51.263Z","0.3.1":"2017-03-15T05:33:05.495Z","0.3.2":"2017-03-15T05:38:50.435Z","0.4.0":"2017-05-02T05:54:51.022Z","0.5.0":"2017-07-17T03:51:05.783Z","0.5.1":"2017-07-22T23:08:57.299Z","0.6.0-0":"2017-07-24T21:03:05.075Z","0.6.0-beta.1":"2017-08-08T22:50:41.985Z","0.6.0-beta.2":"2017-08-09T18:17:39.917Z","0.6.0-beta.3":"2017-08-09T18:58:39.400Z","0.6.0-beta.4":"2017-08-09T20:47:06.090Z","0.6.0-beta.5":"2017-08-11T05:02:01.522Z","0.6.0":"2017-08-11T05:27:50.554Z","0.6.1-beta.1":"2017-08-13T04:45:45.283Z","0.6.1-beta.2":"2017-08-14T05:38:02.106Z","0.6.1-dev.1":"2017-08-14T21:30:22.326Z","0.6.1-dev.2":"2017-08-14T23:36:27.324Z","0.6.1-dev.3":"2017-08-15T05:31:40.601Z","0.6.1-dev.4":"2017-08-23T02:33:18.189Z","0.6.1-dev.5":"2017-08-23T02:50:08.854Z","0.7.0":"2017-08-23T02:53:42.940Z","0.7.1":"2017-08-23T02:57:34.394Z","0.8.0-dev.1":"2017-08-25T05:38:56.273Z","0.8.0-dev.2":"2017-08-25T23:00:50.594Z","0.8.0-dev.3":"2017-08-25T23:16:35.287Z","0.8.0-dev.4":"2017-08-27T04:22:15.082Z","0.8.0-dev.5":"2017-08-27T04:28:38.799Z","0.8.0-dev.6":"2017-08-27T04:45:56.520Z","0.8.0-dev.7":"2017-08-27T04:54:45.925Z","0.8.0":"2017-08-27T05:33:29.085Z","0.9.0-dev.1":"2017-08-28T02:32:50.307Z","0.9.0-dev.2":"2017-08-28T03:10:39.118Z","0.9.0-dev.3":"2017-08-28T03:52:03.545Z","0.9.0-dev.4":"2017-08-28T04:37:39.014Z","0.9.0-dev.5":"2017-08-28T04:42:32.605Z","0.9.0-dev.6":"2017-08-28T04:46:51.239Z","0.9.0-dev.7":"2017-08-28T04:58:08.830Z","0.9.0":"2017-08-28T05:22:16.995Z","0.9.1-dev.1":"2017-08-30T05:07:35.053Z","0.9.1-dev.2":"2017-08-31T22:23:04.649Z","0.9.1-dev.3":"2017-09-01T04:34:19.582Z","0.9.1-dev.4":"2017-09-16T21:35:31.207Z","0.10.0":"2017-09-16T21:44:14.049Z","0.11.0":"2017-11-26T00:49:27.662Z","0.12.0":"2018-01-05T05:49:55.942Z","0.13.0":"2018-03-31T06:30:47.152Z"},"homepage":"https://github.com/taktiljs/taktil#readme","repository":{"type":"git","url":"git+https://github.com/taktiljs/taktil.git"},"author":{"name":"Joseph Larson"},"bugs":{"url":"https://github.com/taktiljs/taktil/issues"},"license":"BSD-3-Clause","readmeFilename":"README.md"}