{"_id":"tessel-av","_rev":"34-aa89c4dda42164172c5fa98ae1b2579c","name":"tessel-av","description":"USB Camera, Microphone, MP3 Player and Text Speaker support for Tessel 2.","dist-tags":{"latest":"0.19.0"},"versions":{"0.1.0":{"name":"tessel-av","version":"0.1.0","description":"Cross-platform audio record/playback and video recording.","repository":{"type":"git","url":"git+https://github.com/tessel/tessel-av.git"},"main":"lib/index.js","scripts":{"test":"grunt","postinstall":"node scripts/postinstall","install":"node-gyp rebuild"},"author":{"name":"Rick Waldron","email":"waldron.rick@gmail.com"},"contributors":[{"name":"Tim Cameron Ryan","email":"<tim@technical.io"},{"name":"bellbind","email":"<bellbind@gmail.com"}],"license":"MIT","dependencies":{"bindings":"^1.2.1","nan":"^2.0.0"},"devDependencies":{"imagesize":"^1.0.0","grunt":"^0.4.5","grunt-cli":"^0.1.13","grunt-contrib-jshint":"^0.11.2","grunt-contrib-nodeunit":"^0.4.1","grunt-contrib-watch":"^0.6.1","grunt-jsbeautifier":"^0.2.10","grunt-jscs":"^2.3.0","mkdirp":"^0.5.1","sinon":"^1.14.1"},"tessel":{"skipBinary":true},"gypfile":true,"gitHead":"b6bc1138cefca259552ba1c109293684f107edb4","bugs":{"url":"https://github.com/tessel/tessel-av/issues"},"homepage":"https://github.com/tessel/tessel-av#readme","_id":"tessel-av@0.1.0","_shasum":"5a797a9066ef9660d9f390c7f443dc8809eb582d","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.1","_npmUser":{"name":"rwaldron","email":"waldron.rick@gmail.com"},"maintainers":[{"name":"rwaldron","email":"waldron.rick@gmail.com"}],"dist":{"shasum":"5a797a9066ef9660d9f390c7f443dc8809eb582d","tarball":"https://registry.npmjs.org/tessel-av/-/tessel-av-0.1.0.tgz","integrity":"sha512-+EORhjOnULL0zMyAOoz0z8ToNjT+vsbbW+DlvDMVku0QADrNmLfJK8DctvkfLWVROLOyesdwKMUbgOuxkZ1MPQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCzs5IX/1U+5cYnBD1jPrVu3uVwxjn6tEcsBp6mwc0UugIgKzcLIs3LqGU5ZXtkqXJiXEa1Kz5HO4bS0sDYwkb/Bkw="}]},"_npmOperationalInternal":{"host":"packages-5-east.internal.npmjs.com","tmp":"tmp/tessel-av-0.1.0.tgz_1456348385453_0.19564316235482693"}},"0.1.1":{"name":"tessel-av","version":"0.1.1","description":"Cross-platform audio record/playback and video recording.","repository":{"type":"git","url":"git+https://github.com/tessel/tessel-av.git"},"main":"lib/index.js","scripts":{"test":"grunt","install":"node-gyp rebuild"},"author":{"name":"Rick Waldron","email":"waldron.rick@gmail.com"},"contributors":[{"name":"Tim Cameron Ryan","email":"<tim@technical.io"},{"name":"bellbind","email":"<bellbind@gmail.com"}],"license":"MIT","dependencies":{"bindings":"^1.2.1","nan":"^2.0.0"},"devDependencies":{"imagesize":"^1.0.0","grunt":"^0.4.5","grunt-cli":"^0.1.13","grunt-contrib-jshint":"^0.11.2","grunt-contrib-nodeunit":"^0.4.1","grunt-contrib-watch":"^0.6.1","grunt-jsbeautifier":"^0.2.10","grunt-jscs":"^2.3.0","mkdirp":"^0.5.1","sinon":"^1.14.1"},"tessel":{"skipBinary":true},"gypfile":true,"gitHead":"08e43cd6e734d60388a0a16f22d06e06eabe01e6","bugs":{"url":"https://github.com/tessel/tessel-av/issues"},"homepage":"https://github.com/tessel/tessel-av#readme","_id":"tessel-av@0.1.1","_shasum":"6cef284c852b727792a126c94045f056c704a968","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.1","_npmUser":{"name":"rwaldron","email":"waldron.rick@gmail.com"},"maintainers":[{"name":"rwaldron","email":"waldron.rick@gmail.com"}],"dist":{"shasum":"6cef284c852b727792a126c94045f056c704a968","tarball":"https://registry.npmjs.org/tessel-av/-/tessel-av-0.1.1.tgz","integrity":"sha512-L7iPVOPmL5QSNkhFhkviVOkqgEbGfHMilPEY0fg6FDaEPlu7Z/RDv/Ly9wc7qiJPGdzx7dVCww7mioMeMIuxkA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAC/na2QEjSgZkwD2wht0nEPyE718W+PfMYz9xpNP1JUAiAu5PkvnPHV4ADqgOQaEJ5z02Jo4AxiJfX4HF3L7GzHdQ=="}]},"_npmOperationalInternal":{"host":"packages-6-west.internal.npmjs.com","tmp":"tmp/tessel-av-0.1.1.tgz_1456414266325_0.23924634791910648"}},"0.1.2":{"name":"tessel-av","version":"0.1.2","description":"Cross-platform audio record/playback and video recording.","repository":{"type":"git","url":"git+https://github.com/tessel/tessel-av.git"},"main":"lib/index.js","scripts":{"test":"grunt","install":"node-gyp rebuild"},"author":{"name":"Rick Waldron","email":"waldron.rick@gmail.com"},"contributors":[{"name":"Tim Cameron Ryan","email":"<tim@technical.io"},{"name":"bellbind","email":"<bellbind@gmail.com"}],"license":"MIT","dependencies":{"bindings":"^1.2.1","nan":"^2.0.0"},"devDependencies":{"imagesize":"^1.0.0","grunt":"^0.4.5","grunt-cli":"^0.1.13","grunt-contrib-jshint":"^0.11.2","grunt-contrib-nodeunit":"^0.4.1","grunt-contrib-watch":"^0.6.1","grunt-jsbeautifier":"^0.2.10","grunt-jscs":"^2.3.0","mkdirp":"^0.5.1","sinon":"^1.14.1"},"tessel":{"skipBinary":true},"gypfile":true,"gitHead":"fdddb54bc6cc914ddce9c8109e4c60ea6baf5693","bugs":{"url":"https://github.com/tessel/tessel-av/issues"},"homepage":"https://github.com/tessel/tessel-av#readme","_id":"tessel-av@0.1.2","_shasum":"0e26673805b9f78542631d42e95ad26b2a071510","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.1","_npmUser":{"name":"rwaldron","email":"waldron.rick@gmail.com"},"maintainers":[{"name":"rwaldron","email":"waldron.rick@gmail.com"}],"dist":{"shasum":"0e26673805b9f78542631d42e95ad26b2a071510","tarball":"https://registry.npmjs.org/tessel-av/-/tessel-av-0.1.2.tgz","integrity":"sha512-vKNbdH8em7Hokkr0NXlt+MrOHoLTQFn/tIBlWRu4n5pO65VRunOePK8ABzx4KlxfX/Wa0Pjsa9ohpbTsmrImYw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCfNPI5O+DjL3t8RXhSUculYCntIcZaete0oGgWOCIb4gIhAKoOnLVNiMlmio/0w3K4Xx+WsO+UNkMKfkMNOxg8aZG6"}]},"_npmOperationalInternal":{"host":"packages-9-west.internal.npmjs.com","tmp":"tmp/tessel-av-0.1.2.tgz_1456414745403_0.3147241997066885"}},"0.2.0":{"name":"tessel-av","version":"0.2.0","description":"Cross-platform audio record/playback and video recording.","repository":{"type":"git","url":"git+https://github.com/tessel/tessel-av.git"},"main":"lib/index.js","scripts":{"test":"grunt","install":"node-gyp rebuild"},"author":{"name":"Rick Waldron","email":"waldron.rick@gmail.com"},"contributors":[{"name":"Tim Cameron Ryan","email":"<tim@technical.io"},{"name":"bellbind","email":"<bellbind@gmail.com"}],"license":"MIT","dependencies":{"bindings":"^1.2.1","nan":"^2.0.0"},"devDependencies":{"imagesize":"^1.0.0","grunt":"^0.4.5","grunt-cli":"^0.1.13","grunt-contrib-jshint":"^0.11.2","grunt-contrib-nodeunit":"^0.4.1","grunt-contrib-watch":"^0.6.1","grunt-jsbeautifier":"^0.2.10","grunt-jscs":"^2.3.0","mkdirp":"^0.5.1","sinon":"^1.14.1"},"tessel":{"skipBinary":true},"gypfile":true,"gitHead":"18576d0546616a84d99f72b09ff883384eb8700d","bugs":{"url":"https://github.com/tessel/tessel-av/issues"},"homepage":"https://github.com/tessel/tessel-av#readme","_id":"tessel-av@0.2.0","_shasum":"82b6d81e40a2a263fc02bfb3b622ee0f18f45ca5","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.1","_npmUser":{"name":"rwaldron","email":"waldron.rick@gmail.com"},"maintainers":[{"name":"rwaldron","email":"waldron.rick@gmail.com"}],"dist":{"shasum":"82b6d81e40a2a263fc02bfb3b622ee0f18f45ca5","tarball":"https://registry.npmjs.org/tessel-av/-/tessel-av-0.2.0.tgz","integrity":"sha512-kObJGroRJd8K0JLwGEADCUcdFsORDv6gv8orFUYtaQKDwjk/tBFup5MhCr0iLP4JT8iH8cf8ffvenvJq7cRcKA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDmFz97lMxyQ84Gfp+v/7Jn/p8xtw72fo24ORGyBlft/AiBlQRE6AkOvMNfwedq5CTfWtmjc9vYVBw6R6peJKqYQyA=="}]},"_npmOperationalInternal":{"host":"packages-5-east.internal.npmjs.com","tmp":"tmp/tessel-av-0.2.0.tgz_1456516747708_0.9710454060696065"}},"0.2.1":{"name":"tessel-av","version":"0.2.1","description":"Cross-platform audio record/playback and video recording.","repository":{"type":"git","url":"git+https://github.com/tessel/tessel-av.git"},"main":"lib/index.js","scripts":{"test":"grunt","install":"node-gyp rebuild"},"author":{"name":"Rick Waldron","email":"waldron.rick@gmail.com"},"contributors":[{"name":"Tim Cameron Ryan","email":"<tim@technical.io"},{"name":"bellbind","email":"<bellbind@gmail.com"}],"license":"MIT","dependencies":{"bindings":"^1.2.1","nan":"^2.0.0"},"devDependencies":{"imagesize":"^1.0.0","grunt":"^0.4.5","grunt-cli":"^0.1.13","grunt-contrib-jshint":"^0.11.2","grunt-contrib-nodeunit":"^0.4.1","grunt-contrib-watch":"^0.6.1","grunt-jsbeautifier":"^0.2.10","grunt-jscs":"^2.3.0","mkdirp":"^0.5.1","sinon":"^1.14.1"},"tessel":{"skipBinary":true},"gypfile":true,"gitHead":"d7fd0de431dae6f47b2f907b5ec386e6e9528b42","bugs":{"url":"https://github.com/tessel/tessel-av/issues"},"homepage":"https://github.com/tessel/tessel-av#readme","_id":"tessel-av@0.2.1","_shasum":"5a6048b64129c49827578047c1ff145e75d0a59a","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.1","_npmUser":{"name":"rwaldron","email":"waldron.rick@gmail.com"},"maintainers":[{"name":"rwaldron","email":"waldron.rick@gmail.com"}],"dist":{"shasum":"5a6048b64129c49827578047c1ff145e75d0a59a","tarball":"https://registry.npmjs.org/tessel-av/-/tessel-av-0.2.1.tgz","integrity":"sha512-M6cL4yJF26vQbPgQQtxn+wUzslrlDctpxwrpIvCfJdOkJyeDrUcGkncVEeeHWpay3+onY9NSlAG3i4H6zulEdQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDd2bA4mIDZeVyZMLA2soBZHxa7QdJcvAoKVwCnNpLucAIgc9epJ1cVn+Fq+cSYgQjXrSM33u8Re5iEXngwV2uNy7I="}]},"_npmOperationalInternal":{"host":"packages-5-east.internal.npmjs.com","tmp":"tmp/tessel-av-0.2.1.tgz_1456854478996_0.011041605146601796"}},"0.2.2":{"name":"tessel-av","version":"0.2.2","description":"Cross-platform audio record/playback and video recording.","repository":{"type":"git","url":"git+https://github.com/tessel/tessel-av.git"},"main":"lib/index.js","scripts":{"test":"grunt","install":"node-gyp rebuild"},"author":{"name":"Rick Waldron","email":"waldron.rick@gmail.com"},"contributors":[{"name":"Tim Cameron Ryan","email":"<tim@technical.io"},{"name":"bellbind","email":"<bellbind@gmail.com"}],"license":"MIT","dependencies":{"bindings":"^1.2.1","nan":"^2.0.0"},"devDependencies":{"imagesize":"^1.0.0","grunt":"^0.4.5","grunt-cli":"^0.1.13","grunt-contrib-jshint":"^0.11.2","grunt-contrib-nodeunit":"^0.4.1","grunt-contrib-watch":"^0.6.1","grunt-jsbeautifier":"^0.2.10","grunt-jscs":"^2.3.0","mkdirp":"^0.5.1","sinon":"^1.14.1"},"tessel":{"skipBinary":true},"gypfile":true,"gitHead":"6c1772102ef584dd974d930cb022c6f4bf082d6e","bugs":{"url":"https://github.com/tessel/tessel-av/issues"},"homepage":"https://github.com/tessel/tessel-av#readme","_id":"tessel-av@0.2.2","_shasum":"dcd5c451486b7f6bce6bc45a5f0b975a48d386f3","_from":".","_npmVersion":"3.8.0","_nodeVersion":"4.3.2","_npmUser":{"name":"rwaldron","email":"waldron.rick@gmail.com"},"maintainers":[{"name":"rwaldron","email":"waldron.rick@gmail.com"}],"dist":{"shasum":"dcd5c451486b7f6bce6bc45a5f0b975a48d386f3","tarball":"https://registry.npmjs.org/tessel-av/-/tessel-av-0.2.2.tgz","integrity":"sha512-FNnqn0xOPxG52jBYqA+kCfZOun9fnViMiDz6enN1QCZ46VFrnQ0SWFq/0TeOmZTbZ/dRR5PomFyO5z3q3SQ76A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHW7XPflrN8PvOtnwnvbMzqrzajl2pMxugPbaed9mik2AiEA7QleLEIE151nlyWqYeyUB8OKDKZVroHnDbVTb66iG54="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/tessel-av-0.2.2.tgz_1457476422349_0.2980888541787863"}},"0.3.0":{"name":"tessel-av","version":"0.3.0","description":"Cross-platform audio record/playback and video recording.","repository":{"type":"git","url":"git+https://github.com/tessel/tessel-av.git"},"main":"lib/index.js","scripts":{"test":"grunt","install":"node-gyp rebuild"},"author":{"name":"Rick Waldron","email":"waldron.rick@gmail.com"},"contributors":[{"name":"Tim Cameron Ryan","email":"<tim@technical.io"},{"name":"bellbind","email":"<bellbind@gmail.com"}],"license":"MIT","dependencies":{"bindings":"^1.2.1","nan":"^2.0.0"},"devDependencies":{"imagesize":"^1.0.0","grunt":"^0.4.5","grunt-cli":"^0.1.13","grunt-contrib-jshint":"^0.11.2","grunt-contrib-nodeunit":"^0.4.1","grunt-contrib-watch":"^0.6.1","grunt-jsbeautifier":"^0.2.10","grunt-jscs":"^2.3.0","mkdirp":"^0.5.1","sinon":"^1.14.1"},"tessel":{"skipBinary":true},"gypfile":true,"gitHead":"efe34aa4e476457493c2bdc3da7d89304d45e472","bugs":{"url":"https://github.com/tessel/tessel-av/issues"},"homepage":"https://github.com/tessel/tessel-av#readme","_id":"tessel-av@0.3.0","_shasum":"3bd4c55f769b0019fab75a600048d9a2d94d175b","_from":".","_npmVersion":"3.8.0","_nodeVersion":"4.3.2","_npmUser":{"name":"rwaldron","email":"waldron.rick@gmail.com"},"maintainers":[{"name":"rwaldron","email":"waldron.rick@gmail.com"}],"dist":{"shasum":"3bd4c55f769b0019fab75a600048d9a2d94d175b","tarball":"https://registry.npmjs.org/tessel-av/-/tessel-av-0.3.0.tgz","integrity":"sha512-vxJP1t7suS81Pufn83h6O4ng/XZgvxWaZtnTVavM9ZyoB9DYhTFxiLH8Yo5VzfJ9kgt0xDXyWkgZEPAr7GJbnA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICyf3XCcq8lYMM9CmRCOmoNKwC38kyt1ZV5ajG35PDu5AiAVteaqqiTfQUYPgNr+eWZjD/xkR4FkqGSlLAqNI+SCXg=="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/tessel-av-0.3.0.tgz_1458170182758_0.98975894972682"}},"0.3.1":{"name":"tessel-av","version":"0.3.1","description":"Cross-platform audio record/playback and video recording.","repository":{"type":"git","url":"git+https://github.com/tessel/tessel-av.git"},"main":"lib/index.js","scripts":{"test":"grunt","install":"node-gyp rebuild"},"author":{"name":"Rick Waldron","email":"waldron.rick@gmail.com"},"contributors":[{"name":"Tim Cameron Ryan","email":"<tim@technical.io"},{"name":"bellbind","email":"<bellbind@gmail.com"}],"license":"MIT","dependencies":{"bindings":"^1.2.1","nan":"^2.0.0"},"devDependencies":{"imagesize":"^1.0.0","grunt":"^0.4.5","grunt-cli":"^0.1.13","grunt-contrib-jshint":"^0.11.2","grunt-contrib-nodeunit":"^0.4.1","grunt-contrib-watch":"^0.6.1","grunt-jsbeautifier":"^0.2.10","grunt-jscs":"^2.3.0","mkdirp":"^0.5.1","sinon":"^1.14.1"},"tessel":{"skipBinary":true},"gypfile":true,"gitHead":"2033e5373612db5691ab4640f20e96df2c67905c","bugs":{"url":"https://github.com/tessel/tessel-av/issues"},"homepage":"https://github.com/tessel/tessel-av#readme","_id":"tessel-av@0.3.1","_shasum":"e57e20d95fd7d6307d512b1cd845c309645786c4","_from":".","_npmVersion":"3.8.0","_nodeVersion":"4.3.2","_npmUser":{"name":"rwaldron","email":"waldron.rick@gmail.com"},"maintainers":[{"name":"rwaldron","email":"waldron.rick@gmail.com"}],"dist":{"shasum":"e57e20d95fd7d6307d512b1cd845c309645786c4","tarball":"https://registry.npmjs.org/tessel-av/-/tessel-av-0.3.1.tgz","integrity":"sha512-dQojW9xK7pH/JWFNqznHh6mHMXpYvu8cjMmkeTFZE/WitxpLmslQveNVpR1CyKRk5JT3SqaX0DehibeGoRvtzg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGQCIz98Eu46AXvblVZbejoK4myj2Wrezv2Ea9MAAAREAiEAnhXG/VUSgHKAwhF6bA2OAgrd4CSWPzSaqH08ZY5HCSA="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/tessel-av-0.3.1.tgz_1458172795479_0.7955181715078652"}},"0.3.2":{"name":"tessel-av","version":"0.3.2","description":"Cross-platform audio record/playback and video recording.","repository":{"type":"git","url":"git+https://github.com/tessel/tessel-av.git"},"main":"lib/index.js","scripts":{"test":"grunt","install":"node-gyp rebuild"},"author":{"name":"Rick Waldron","email":"waldron.rick@gmail.com"},"contributors":[{"name":"Tim Cameron Ryan","email":"<tim@technical.io"},{"name":"bellbind","email":"<bellbind@gmail.com"}],"license":"MIT","dependencies":{"bindings":"^1.2.1","nan":"^2.0.0"},"devDependencies":{"imagesize":"^1.0.0","grunt":"^0.4.5","grunt-cli":"^0.1.13","grunt-contrib-jshint":"^0.11.2","grunt-contrib-nodeunit":"^0.4.1","grunt-contrib-watch":"^0.6.1","grunt-jsbeautifier":"^0.2.10","grunt-jscs":"^2.3.0","mkdirp":"^0.5.1","sinon":"^1.14.1"},"tessel":{"skipBinary":true},"gypfile":true,"gitHead":"2ff4440f3be26977868876834019969fa7af5146","bugs":{"url":"https://github.com/tessel/tessel-av/issues"},"homepage":"https://github.com/tessel/tessel-av#readme","_id":"tessel-av@0.3.2","_shasum":"13198018a48b76ea6a581ffc2e8a48ff22128cce","_from":".","_npmVersion":"3.8.0","_nodeVersion":"4.3.2","_npmUser":{"name":"rwaldron","email":"waldron.rick@gmail.com"},"maintainers":[{"name":"rwaldron","email":"waldron.rick@gmail.com"}],"dist":{"shasum":"13198018a48b76ea6a581ffc2e8a48ff22128cce","tarball":"https://registry.npmjs.org/tessel-av/-/tessel-av-0.3.2.tgz","integrity":"sha512-ikbQYw0GofZ4gd5mMV2Nb1Kvx2eAGTU1ttqjk3JmqQUJ522RlRC+ePAlc7dBrT1oF+d3pNhcLqIGYs6LZ+liKg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDt+/RCw2YBjgomn+hAkkNvapf8sk75Exvv9YV0hJKwtwIhAO9AbZ+3hAeCW9ULlFtlHjrRSmOW2wVbLpjiyy1wCa00"}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/tessel-av-0.3.2.tgz_1458228926276_0.9771304023452103"}},"0.4.0":{"name":"tessel-av","version":"0.4.0","description":"Cross-platform audio record/playback and video recording.","repository":{"type":"git","url":"git+https://github.com/tessel/tessel-av.git"},"main":"lib/index.js","scripts":{"test":"grunt"},"author":{"name":"Rick Waldron","email":"waldron.rick@gmail.com"},"contributors":[{"name":"Tim Cameron Ryan","email":"<tim@technical.io"},{"name":"bellbind","email":"<bellbind@gmail.com"}],"license":"MIT","devDependencies":{"grunt":"^0.4.5","grunt-cli":"^0.1.13","grunt-contrib-jshint":"^0.11.2","grunt-contrib-nodeunit":"^0.4.1","grunt-contrib-watch":"^0.6.1","grunt-jsbeautifier":"^0.2.10","grunt-jscs":"^2.3.0","mkdirp":"^0.5.1","sinon":"^1.14.1"},"tessel":{"skipBinary":true},"gitHead":"2dba8e751fe468278a6805fc81f1d16ca6f46814","bugs":{"url":"https://github.com/tessel/tessel-av/issues"},"homepage":"https://github.com/tessel/tessel-av#readme","_id":"tessel-av@0.4.0","_shasum":"87123ef8439584b30d1abf44c863f86aec57bc7a","_from":".","_npmVersion":"3.8.0","_nodeVersion":"4.3.2","_npmUser":{"name":"rwaldron","email":"waldron.rick@gmail.com"},"maintainers":[{"name":"rwaldron","email":"waldron.rick@gmail.com"}],"dist":{"shasum":"87123ef8439584b30d1abf44c863f86aec57bc7a","tarball":"https://registry.npmjs.org/tessel-av/-/tessel-av-0.4.0.tgz","integrity":"sha512-nGbS+f50CwZZwOQvqNGyGr5eIRjZf8sEA0Smc+4woluACn5a2teBhzzi9F5VhKkAhEwyrK53Fg57scV4KmNuWQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDzOFCg+qtkvOykNHaHiM0Sy3n0EiRvUEuUgQwWykwQmgIhAJtXPIMfURI79+xuuqasbkG6bLQjsR9lW79RH4shXB+n"}]},"_npmOperationalInternal":{"host":"packages-13-west.internal.npmjs.com","tmp":"tmp/tessel-av-0.4.0.tgz_1458250028168_0.3445429434068501"}},"0.4.1":{"name":"tessel-av","version":"0.4.1","description":"Cross-platform audio record/playback and video recording.","repository":{"type":"git","url":"git+https://github.com/tessel/tessel-av.git"},"main":"lib/index.js","scripts":{"test":"grunt"},"author":{"name":"Rick Waldron","email":"waldron.rick@gmail.com"},"contributors":[{"name":"Tim Cameron Ryan","email":"<tim@technical.io"},{"name":"bellbind","email":"<bellbind@gmail.com"}],"license":"MIT","devDependencies":{"grunt":"^0.4.5","grunt-cli":"^0.1.13","grunt-contrib-jshint":"^0.11.2","grunt-contrib-nodeunit":"^0.4.1","grunt-contrib-watch":"^0.6.1","grunt-jsbeautifier":"^0.2.10","grunt-jscs":"^2.3.0","mkdirp":"^0.5.1","sinon":"^1.14.1"},"tessel":{"skipBinary":true},"gitHead":"ce2abfc7c25b6b79dd596f80fe7d19f8e27a29dd","bugs":{"url":"https://github.com/tessel/tessel-av/issues"},"homepage":"https://github.com/tessel/tessel-av#readme","_id":"tessel-av@0.4.1","_shasum":"b06ca0b4ffbe0281dc4287c89bf2b9ade9d857ba","_from":".","_npmVersion":"3.8.0","_nodeVersion":"4.3.2","_npmUser":{"name":"rwaldron","email":"waldron.rick@gmail.com"},"maintainers":[{"name":"rwaldron","email":"waldron.rick@gmail.com"}],"dist":{"shasum":"b06ca0b4ffbe0281dc4287c89bf2b9ade9d857ba","tarball":"https://registry.npmjs.org/tessel-av/-/tessel-av-0.4.1.tgz","integrity":"sha512-5gPqhKq1nGV8k09WS/E8ZvVk+PIzL6AJE63U1MNyyrnwmGXr9a6ZxG6fnnDrKG9elN5o3+OKcTPUhOZz/WKpTA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHGGFVAXGUz83A0JqMZAekjlBMFiULPoBjUFNRJ7jjn1AiA/TKVirhBnla2CnAOHC7rg9c6hadt8dOVRu4Bjj1Fz1A=="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/tessel-av-0.4.1.tgz_1458252627130_0.1842168173752725"}},"0.4.2":{"name":"tessel-av","version":"0.4.2","description":"Cross-platform audio record/playback and video recording.","repository":{"type":"git","url":"git+https://github.com/tessel/tessel-av.git"},"main":"lib/index.js","scripts":{"test":"grunt"},"author":{"name":"Rick Waldron","email":"waldron.rick@gmail.com"},"contributors":[{"name":"Tim Cameron Ryan","email":"<tim@technical.io"},{"name":"bellbind","email":"<bellbind@gmail.com"}],"license":"MIT","devDependencies":{"grunt":"^0.4.5","grunt-cli":"^0.1.13","grunt-contrib-jshint":"^0.11.2","grunt-contrib-nodeunit":"^0.4.1","grunt-contrib-watch":"^0.6.1","grunt-jsbeautifier":"^0.2.10","grunt-jscs":"^2.3.0","mkdirp":"^0.5.1","sinon":"^1.14.1"},"tessel":{"skipBinary":true},"gitHead":"0b583b7073f88223bbb5fe410ee8421e0eb0fb4a","bugs":{"url":"https://github.com/tessel/tessel-av/issues"},"homepage":"https://github.com/tessel/tessel-av#readme","_id":"tessel-av@0.4.2","_shasum":"40e5f7de623958ffea26ec6887ad70847a7b1a0c","_from":".","_npmVersion":"3.8.0","_nodeVersion":"4.3.2","_npmUser":{"name":"rwaldron","email":"waldron.rick@gmail.com"},"maintainers":[{"name":"rwaldron","email":"waldron.rick@gmail.com"}],"dist":{"shasum":"40e5f7de623958ffea26ec6887ad70847a7b1a0c","tarball":"https://registry.npmjs.org/tessel-av/-/tessel-av-0.4.2.tgz","integrity":"sha512-W53926c1vuL6DiTLk5eDILLzAs04GKEFZMKaU7ZF9C4jAK5lO94ehy8k1aQT5NpSop5SI62nhRNEdKpJBAqB0w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCXr/km9JJsS7/Bp8zMT6c/8shO1PG8eNRnrR62Ds35JAIhALBxRzCFL/FwrUwKOlfPM54wXsxLX7xCZxWcVVz7w7zk"}]},"_npmOperationalInternal":{"host":"packages-13-west.internal.npmjs.com","tmp":"tmp/tessel-av-0.4.2.tgz_1458253507312_0.3488873813766986"}},"0.5.0":{"name":"tessel-av","version":"0.5.0","description":"Cross-platform audio record/playback and video recording.","repository":{"type":"git","url":"git+https://github.com/tessel/tessel-av.git"},"main":"lib/index.js","scripts":{"test":"grunt"},"author":{"name":"Rick Waldron","email":"waldron.rick@gmail.com"},"contributors":[{"name":"Tim Cameron Ryan","email":"<tim@technical.io"},{"name":"bellbind","email":"<bellbind@gmail.com"}],"license":"MIT","devDependencies":{"grunt":"^0.4.5","grunt-cli":"^0.1.13","grunt-contrib-jshint":"^0.11.2","grunt-contrib-nodeunit":"^0.4.1","grunt-contrib-watch":"^0.6.1","grunt-jsbeautifier":"^0.2.10","grunt-jscs":"^2.3.0","mkdirp":"^0.5.1","sinon":"^1.14.1"},"tessel":{"skipBinary":true},"gitHead":"21d7002316afc0a1f0fb056d3ee090aa7f7f6a9c","bugs":{"url":"https://github.com/tessel/tessel-av/issues"},"homepage":"https://github.com/tessel/tessel-av#readme","_id":"tessel-av@0.5.0","_shasum":"803cd1150f49f22ff2c85f574b33dffab34f2ebb","_from":".","_npmVersion":"3.8.0","_nodeVersion":"4.3.2","_npmUser":{"name":"rwaldron","email":"waldron.rick@gmail.com"},"maintainers":[{"name":"rwaldron","email":"waldron.rick@gmail.com"}],"dist":{"shasum":"803cd1150f49f22ff2c85f574b33dffab34f2ebb","tarball":"https://registry.npmjs.org/tessel-av/-/tessel-av-0.5.0.tgz","integrity":"sha512-nMiWnBStKgtLovQSPR/emvy5E2UJUX8BCAOpo2Ui3KkBdMogDTygbnRHh2CdM2brBmF9TpOF6Ypz49EA7ojrjA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDvfbMrr0u1JTgb+ejQbx/v02qHVNCuQ9kLIsSpTIkr5AIhAPJjJCz0zb+/sGbnF4bbgzqIxg71MCzKfYRewpiH3B6o"}]},"_npmOperationalInternal":{"host":"packages-13-west.internal.npmjs.com","tmp":"tmp/tessel-av-0.5.0.tgz_1458661225317_0.5195995231624693"}},"0.6.0":{"name":"tessel-av","version":"0.6.0","description":"Cross-platform audio record/playback and video recording.","repository":{"type":"git","url":"git+https://github.com/tessel/tessel-av.git"},"main":"lib/index.js","scripts":{"test":"grunt"},"author":{"name":"Rick Waldron","email":"waldron.rick@gmail.com"},"contributors":[{"name":"Tim Cameron Ryan","email":"<tim@technical.io"},{"name":"bellbind","email":"<bellbind@gmail.com"}],"license":"MIT","devDependencies":{"grunt":"^0.4.5","grunt-cli":"^0.1.13","grunt-contrib-jshint":"^0.11.2","grunt-contrib-nodeunit":"^0.4.1","grunt-contrib-watch":"^0.6.1","grunt-jsbeautifier":"^0.2.10","grunt-jscs":"^2.3.0","mkdirp":"^0.5.1","sinon":"^1.14.1"},"tessel":{"skipBinary":true},"gitHead":"0860342126c3d963634d03599fbf4737d64012b1","bugs":{"url":"https://github.com/tessel/tessel-av/issues"},"homepage":"https://github.com/tessel/tessel-av#readme","_id":"tessel-av@0.6.0","_shasum":"51f397cc4b452d900c0d838d005374e5949be01a","_from":".","_npmVersion":"3.8.5","_nodeVersion":"4.4.2","_npmUser":{"name":"rwaldron","email":"waldron.rick@gmail.com"},"maintainers":[{"name":"rwaldron","email":"waldron.rick@gmail.com"}],"dist":{"shasum":"51f397cc4b452d900c0d838d005374e5949be01a","tarball":"https://registry.npmjs.org/tessel-av/-/tessel-av-0.6.0.tgz","integrity":"sha512-QG8GSIHdnCr0Ma3uxOD5u80A2VGvE3OXDl0mrBF7M+6kNY01ZwOiXVoOwBBwPzz14qB3hKhQCgmgUk37hQJT+Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCQLZnNcNbVbf8jzDN+Rg14+APE8djep3aooV4CjuC2lwIhAMpFjF0kDdq83eQiWjNP2poFYLjIAt2yVLNd3szpQDi7"}]},"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/tessel-av-0.6.0.tgz_1460765012131_0.9291613313835114"}},"0.7.0":{"name":"tessel-av","version":"0.7.0","description":"Cross-platform audio record/playback and video recording.","repository":{"type":"git","url":"git+https://github.com/tessel/tessel-av.git"},"main":"lib/index.js","scripts":{"test":"grunt"},"author":{"name":"Rick Waldron","email":"waldron.rick@gmail.com"},"contributors":[{"name":"Tim Cameron Ryan","email":"<tim@technical.io"},{"name":"bellbind","email":"<bellbind@gmail.com"}],"license":"MIT","devDependencies":{"grunt":"^0.4.5","grunt-cli":"^0.1.13","grunt-contrib-jshint":"^0.11.2","grunt-contrib-nodeunit":"^0.4.1","grunt-contrib-watch":"^0.6.1","grunt-jsbeautifier":"^0.2.10","grunt-jscs":"^2.3.0","mkdirp":"^0.5.1","sinon":"^1.14.1"},"tessel":{"skipBinary":true},"gitHead":"d06b065f09af92dc0390d06247f5fe012e4eff42","bugs":{"url":"https://github.com/tessel/tessel-av/issues"},"homepage":"https://github.com/tessel/tessel-av#readme","_id":"tessel-av@0.7.0","_shasum":"f4d540a917d267b0a3820ec824f44d4dad915d8d","_from":".","_npmVersion":"3.8.5","_nodeVersion":"4.4.2","_npmUser":{"name":"rwaldron","email":"waldron.rick@gmail.com"},"maintainers":[{"name":"rwaldron","email":"waldron.rick@gmail.com"}],"dist":{"shasum":"f4d540a917d267b0a3820ec824f44d4dad915d8d","tarball":"https://registry.npmjs.org/tessel-av/-/tessel-av-0.7.0.tgz","integrity":"sha512-ZGdkj3Sf67iGMO2nPMKOHwwzkFWZc31m/pDS+ambi2RVHpHHI6j8zfYTD0qbeqJGRVhGr3IsSVPXoOujpu2GIw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDlMmwtI+ApNCFlMcxKXWO3+YUyMV7j1Hh+pcbik2Lm6gIhAM4HKz1QvFaQ4MsOMa8HPi6FknG2oUP8Ui0PHzTWveaV"}]},"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/tessel-av-0.7.0.tgz_1464213995364_0.9630621382966638"}},"0.8.0":{"name":"tessel-av","version":"0.8.0","description":"Cross-platform audio record/playback and video recording.","repository":{"type":"git","url":"git+https://github.com/tessel/tessel-av.git"},"main":"lib/index.js","scripts":{"test":"grunt"},"author":{"name":"Rick Waldron","email":"waldron.rick@gmail.com"},"contributors":[{"name":"Tim Cameron Ryan","email":"<tim@technical.io"},{"name":"bellbind","email":"<bellbind@gmail.com"}],"license":"MIT","devDependencies":{"grunt":"^0.4.5","grunt-cli":"^0.1.13","grunt-contrib-jshint":"^0.11.2","grunt-contrib-nodeunit":"^0.4.1","grunt-contrib-watch":"^0.6.1","grunt-jsbeautifier":"^0.2.10","grunt-jscs":"^2.3.0","mkdirp":"^0.5.1","sinon":"^1.14.1"},"tessel":{"skipBinary":true},"gitHead":"ed68c03990c3b6a982aa34754beb761aab13c823","bugs":{"url":"https://github.com/tessel/tessel-av/issues"},"homepage":"https://github.com/tessel/tessel-av#readme","_id":"tessel-av@0.8.0","_shasum":"836fb06cbc436917fec151ce13287359dd08d361","_from":".","_npmVersion":"2.15.8","_nodeVersion":"4.4.7","_npmUser":{"name":"rwaldron","email":"waldron.rick@gmail.com"},"maintainers":[{"name":"rwaldron","email":"waldron.rick@gmail.com"}],"dist":{"shasum":"836fb06cbc436917fec151ce13287359dd08d361","tarball":"https://registry.npmjs.org/tessel-av/-/tessel-av-0.8.0.tgz","integrity":"sha512-oejtGXGPY9n65wwL9HXBLi7qG4/51Ll2WdE1/CD8Ncs52WQIgB0Isqcjoeg2/lUVNikPDkVgz8bwNGAJFkjknw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGAqmd8jXm9BViArxBxhWqyOp4U2ZXlTu2s0dCPrwwXgAiEAjSa55Lb48S8EKQaUkMjz111Vii5Ge+AmZBbeg6FAK40="}]},"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/tessel-av-0.8.0.tgz_1470273684180_0.35170482052490115"}},"0.10.0":{"name":"tessel-av","version":"0.10.0","description":"Cross-platform audio record/playback and video recording.","repository":{"type":"git","url":"git+https://github.com/tessel/tessel-av.git"},"main":"lib/index.js","scripts":{"test":"grunt","start":"node server.js"},"author":{"name":"Rick Waldron","email":"waldron.rick@gmail.com"},"contributors":[{"name":"Tim Cameron Ryan","email":"<tim@technical.io"},{"name":"bellbind","email":"<bellbind@gmail.com"}],"license":"MIT","devDependencies":{"grunt":"^0.4.5","grunt-cli":"^0.1.13","grunt-contrib-jshint":"^0.11.2","grunt-contrib-nodeunit":"^0.4.1","grunt-contrib-watch":"^0.6.1","grunt-jsbeautifier":"^0.2.10","grunt-jscs":"^2.3.0","mkdirp":"^0.5.1","sinon":"^1.14.1"},"tessel":{"skipBinary":true},"dependencies":{"got":"^6.3.0","ip":"^1.1.3","mjpeg-consumer":"^1.1.0"},"gitHead":"809fe2ebf023fb1940ef5936e8d82cb66470436b","bugs":{"url":"https://github.com/tessel/tessel-av/issues"},"homepage":"https://github.com/tessel/tessel-av#readme","_id":"tessel-av@0.10.0","_shasum":"79bb219b933369a7d2c4d3428ea98d058880b4d5","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.5.0","_npmUser":{"name":"rwaldron","email":"waldron.rick@gmail.com"},"maintainers":[{"name":"rwaldron","email":"waldron.rick@gmail.com"}],"dist":{"shasum":"79bb219b933369a7d2c4d3428ea98d058880b4d5","tarball":"https://registry.npmjs.org/tessel-av/-/tessel-av-0.10.0.tgz","integrity":"sha512-f4RrC2EG/Z+n5jqY5/x2njrXAkoflg7vptEmLOh3lR03ft2jXibK0dpMiwwR2DJgvwyZ+c4JMecFmrJpJUqxyw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDgMOlIVcwxptwWTkb/fiOrUdStT05hw9ctV1g0bSggDwIhAL2T0flDppCvQ+gyU1+eGW7/bJ3ZcKbg7yE1LbhM5nnj"}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/tessel-av-0.10.0.tgz_1473713815199_0.39008217491209507"}},"0.11.0":{"name":"tessel-av","version":"0.11.0","description":"Cross-platform audio record/playback and video recording.","repository":{"type":"git","url":"git+https://github.com/tessel/tessel-av.git"},"main":"lib/index.js","scripts":{"test":"grunt"},"author":{"name":"Rick Waldron","email":"waldron.rick@gmail.com"},"contributors":[{"name":"Tim Cameron Ryan","email":"<tim@technical.io"},{"name":"bellbind","email":"<bellbind@gmail.com"}],"license":"MIT","devDependencies":{"grunt":"^1.0.1","grunt-cli":"^1.2.0","grunt-contrib-jshint":"^1.0.0","grunt-contrib-nodeunit":"^1.0.0","grunt-contrib-watch":"^1.0.0","grunt-jsbeautifier":"^0.2.13","grunt-jscs":"^3.0.1","mkdirp":"^0.5.1","sinon":"^1.14.1"},"dependencies":{"got":"^6.3.0","ip":"^1.1.3","tessel-mjpeg-consumer":"^1.1.0"},"gitHead":"ad225915a255e732b7467934ac9911681860ebe0","bugs":{"url":"https://github.com/tessel/tessel-av/issues"},"homepage":"https://github.com/tessel/tessel-av#readme","_id":"tessel-av@0.11.0","_shasum":"4d99778e81171bda9e2ea165dc2fc2e4c1e59980","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.6.0","_npmUser":{"name":"rwaldron","email":"waldron.rick@gmail.com"},"maintainers":[{"name":"rwaldron","email":"waldron.rick@gmail.com"}],"dist":{"shasum":"4d99778e81171bda9e2ea165dc2fc2e4c1e59980","tarball":"https://registry.npmjs.org/tessel-av/-/tessel-av-0.11.0.tgz","integrity":"sha512-aqgFfP5dTLM2uG4N3TUEVaMJYaNiCpm6ENeoxRjtp99JFdt0S8YLzVeOrGGk2iN5sw38PNMk9ioevUz/mIJSvQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGtvYkONRkmZK9g652DOCrUx8bFAc0DkE1vj/WaQvP0XAiEAg4IDlNVr3DI/WiLNkWrLeTivjfVHpQ8eb3MX4aD5qFo="}]},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/tessel-av-0.11.0.tgz_1477081754548_0.6527341983746737"}},"0.12.0":{"name":"tessel-av","version":"0.12.0","description":"Cross-platform audio record/playback and video recording.","repository":{"type":"git","url":"git+https://github.com/tessel/tessel-av.git"},"main":"lib/index.js","scripts":{"test":"grunt"},"author":{"name":"Rick Waldron","email":"waldron.rick@gmail.com"},"contributors":[{"name":"Tim Cameron Ryan","email":"<tim@technical.io"},{"name":"bellbind","email":"<bellbind@gmail.com"}],"license":"MIT","devDependencies":{"grunt":"^1.0.1","grunt-cli":"^1.2.0","grunt-contrib-jshint":"^1.0.0","grunt-contrib-nodeunit":"^1.0.0","grunt-contrib-watch":"^1.0.0","grunt-jsbeautifier":"^0.2.13","grunt-jscs":"^3.0.1","mkdirp":"^0.5.1","sinon":"^1.14.1"},"dependencies":{"got":"^6.3.0","ip":"^1.1.3","tessel-mjpeg-consumer":"^1.1.0"},"gitHead":"bf50c917e64e974e46ebf78bf2acf21b2e79c43a","bugs":{"url":"https://github.com/tessel/tessel-av/issues"},"homepage":"https://github.com/tessel/tessel-av#readme","_id":"tessel-av@0.12.0","_shasum":"fd6656cd9347f05bebcba046f55020386e5c8d8c","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.6.0","_npmUser":{"name":"rwaldron","email":"waldron.rick@gmail.com"},"maintainers":[{"name":"rwaldron","email":"waldron.rick@gmail.com"}],"dist":{"shasum":"fd6656cd9347f05bebcba046f55020386e5c8d8c","tarball":"https://registry.npmjs.org/tessel-av/-/tessel-av-0.12.0.tgz","integrity":"sha512-60gVEjpLg9jhK9+TllJFuXBBnQtz3tzvI1+sgNKZo8Aoc8+OvAK2aEXr4FQPDUgiT3nT+0NVkWPHrDxjzychEA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD+4cMoyfRii7sFSB/WKqOyi06IUxpA/tAm+L9Zpl7X6QIgWCWkCjJ2p7FZkDyLGsRxF06i0biuleqQ8IxJaM0mNFk="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/tessel-av-0.12.0.tgz_1478123077829_0.16414688294753432"}},"0.12.1":{"name":"tessel-av","version":"0.12.1","description":"Cross-platform audio record/playback and video recording.","repository":{"type":"git","url":"git+https://github.com/tessel/tessel-av.git"},"main":"lib/index.js","scripts":{"test":"grunt"},"author":{"name":"Rick Waldron","email":"waldron.rick@gmail.com"},"contributors":[{"name":"Tim Cameron Ryan","email":"<tim@technical.io"},{"name":"bellbind","email":"<bellbind@gmail.com"}],"license":"MIT","devDependencies":{"common-tags":"^1.3.1","grunt":"^1.0.1","grunt-cli":"^1.2.0","grunt-contrib-jshint":"^1.0.0","grunt-contrib-nodeunit":"^1.0.0","grunt-contrib-watch":"^1.0.0","grunt-jsbeautifier":"^0.2.13","grunt-jscs":"^3.0.1","mkdirp":"^0.5.1","sinon":"^1.14.1"},"dependencies":{"got":"^6.3.0","ip":"^1.1.3","tessel-mjpeg-consumer":"^1.1.0"},"gitHead":"8ada9805260a7f188c8b400d85518614094ecc60","bugs":{"url":"https://github.com/tessel/tessel-av/issues"},"homepage":"https://github.com/tessel/tessel-av#readme","_id":"tessel-av@0.12.1","_shasum":"a4a1fbdb25bdd463933fff3af2c8601d505122a5","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.6.0","_npmUser":{"name":"rwaldron","email":"waldron.rick@gmail.com"},"maintainers":[{"name":"rwaldron","email":"waldron.rick@gmail.com"}],"dist":{"shasum":"a4a1fbdb25bdd463933fff3af2c8601d505122a5","tarball":"https://registry.npmjs.org/tessel-av/-/tessel-av-0.12.1.tgz","integrity":"sha512-qLtQpsKkc1C/LnqXPLmxI+woAIVpT82tCrQUF31wX42p0Zb9J5s9ibnMyl3sk1+VrJUIQgX+Y61Fpa3NfITrLQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIClnl+j6TETH8DBltE7H15Ck24zEeeLxyymAKW7Rb5YeAiBuayiNqNuctQAanwymHTQV781nv4S3cRW+gagPhesVSA=="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/tessel-av-0.12.1.tgz_1478194492789_0.9345147612039"}},"0.13.0":{"name":"tessel-av","version":"0.13.0","description":"Cross-platform audio record/playback and video recording.","repository":{"type":"git","url":"git+https://github.com/tessel/tessel-av.git"},"main":"lib/index.js","scripts":{"test":"grunt"},"author":{"name":"Rick Waldron","email":"waldron.rick@gmail.com"},"contributors":[{"name":"Tim Cameron Ryan","email":"<tim@technical.io"},{"name":"bellbind","email":"<bellbind@gmail.com"}],"license":"MIT","devDependencies":{"common-tags":"^1.3.1","grunt":"^1.0.1","grunt-cli":"^1.2.0","grunt-contrib-jshint":"^1.0.0","grunt-contrib-nodeunit":"^1.0.0","grunt-contrib-watch":"^1.0.0","grunt-jsbeautifier":"^0.2.13","grunt-jscs":"^3.0.1","mkdirp":"^0.5.1","sinon":"^1.14.1"},"dependencies":{"got":"^6.3.0","ip":"^1.1.3","tessel-mjpeg-consumer":"^1.1.0"},"gitHead":"c398ab42e306633429bf83880eec853127bf2182","bugs":{"url":"https://github.com/tessel/tessel-av/issues"},"homepage":"https://github.com/tessel/tessel-av#readme","_id":"tessel-av@0.13.0","_shasum":"bcc651062197fba86e921b0ae1b87702ca4743a1","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.6.0","_npmUser":{"name":"rwaldron","email":"waldron.rick@gmail.com"},"maintainers":[{"name":"rwaldron","email":"waldron.rick@gmail.com"}],"dist":{"shasum":"bcc651062197fba86e921b0ae1b87702ca4743a1","tarball":"https://registry.npmjs.org/tessel-av/-/tessel-av-0.13.0.tgz","integrity":"sha512-rivMMd3kEskgTNdhoueP1NwCpON5PcVhOv1xYoR4+sPgn5EAVDC4edRW7FeIyjqW3fraZYGejmyGNGQO7Mpixg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCKLe2LgvKDfQEaDym1Iq/ng14gU6/G81PNNrzK2F6fYQIgTzEEMTmTHIrIZ5nffTrO++f53KoRsDR8jBDJthP4dzw="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/tessel-av-0.13.0.tgz_1478295634024_0.047918291529640555"}},"0.14.0":{"name":"tessel-av","version":"0.14.0","description":"Cross-platform audio record/playback and video recording.","repository":{"type":"git","url":"git+https://github.com/tessel/tessel-av.git"},"main":"lib/index.js","scripts":{"test":"grunt"},"author":{"name":"Rick Waldron","email":"waldron.rick@gmail.com"},"contributors":[{"name":"Tim Cameron Ryan","email":"<tim@technical.io"},{"name":"bellbind","email":"<bellbind@gmail.com"}],"license":"MIT","devDependencies":{"common-tags":"^1.3.1","grunt":"^1.0.1","grunt-cli":"^1.2.0","grunt-contrib-jshint":"^1.0.0","grunt-contrib-nodeunit":"^1.0.0","grunt-contrib-watch":"^1.0.0","grunt-jsbeautifier":"^0.2.13","grunt-jscs":"^3.0.1","mkdirp":"^0.5.1","sinon":"^1.14.1"},"dependencies":{"got":"^6.3.0","ip":"^1.1.3","tessel-mjpeg-consumer":"^1.1.0"},"gitHead":"7f3e326df5762d4ecc8586123611f6aa26ee5e57","bugs":{"url":"https://github.com/tessel/tessel-av/issues"},"homepage":"https://github.com/tessel/tessel-av#readme","_id":"tessel-av@0.14.0","_shasum":"ccfa597c0cbacd011754d583f06c671a121fb7b5","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.6.0","_npmUser":{"name":"rwaldron","email":"waldron.rick@gmail.com"},"maintainers":[{"name":"rwaldron","email":"waldron.rick@gmail.com"}],"dist":{"shasum":"ccfa597c0cbacd011754d583f06c671a121fb7b5","tarball":"https://registry.npmjs.org/tessel-av/-/tessel-av-0.14.0.tgz","integrity":"sha512-CzAksFyx6+V71S/tgUR98mBsuUPZlaWyK/+K1zW9cr43OQr+GMbJUKzu9AvvBAb4G82jeoyXMADkPb/EqTL7Bg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGdvqwZ4Ibx7YWJovaB5j3gp9rsK+mtruCKSh20sl3vbAiAi2P2z1ay8kqxFNDqRuFvP/q6KcONTwE9uADi7eoLfyA=="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/tessel-av-0.14.0.tgz_1479156727308_0.7617676735389978"}},"0.15.0":{"name":"tessel-av","version":"0.15.0","description":"Cross-platform audio record/playback and video recording.","repository":{"type":"git","url":"git+https://github.com/tessel/tessel-av.git"},"main":"lib/index.js","scripts":{"test":"grunt"},"author":{"name":"Rick Waldron","email":"waldron.rick@gmail.com"},"contributors":[{"name":"Tim Cameron Ryan","email":"<tim@technical.io"},{"name":"bellbind","email":"<bellbind@gmail.com"}],"license":"MIT","devDependencies":{"common-tags":"^1.3.1","grunt":"^1.0.1","grunt-cli":"^1.2.0","grunt-contrib-jshint":"^1.0.0","grunt-contrib-nodeunit":"^1.0.0","grunt-contrib-watch":"^1.0.0","grunt-jsbeautifier":"^0.2.13","grunt-jscs":"^3.0.1","mkdirp":"^0.5.1","sinon":"^1.14.1"},"dependencies":{"got":"^6.3.0","ip":"^1.1.3","tessel-mjpeg-consumer":"^1.1.0"},"gitHead":"cee65ae472028ed546900f6cf084d7f1524c789c","bugs":{"url":"https://github.com/tessel/tessel-av/issues"},"homepage":"https://github.com/tessel/tessel-av#readme","_id":"tessel-av@0.15.0","_shasum":"2e60ade9089834b395fb279e9a8c9afe80d0089e","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.6.0","_npmUser":{"name":"rwaldron","email":"waldron.rick@gmail.com"},"maintainers":[{"name":"rwaldron","email":"waldron.rick@gmail.com"}],"dist":{"shasum":"2e60ade9089834b395fb279e9a8c9afe80d0089e","tarball":"https://registry.npmjs.org/tessel-av/-/tessel-av-0.15.0.tgz","integrity":"sha512-l3ZQR4Bx9kqKwnmsXwpw/raXi6WEGt/mRy/a4UuVAfbI5+qo/GE3OzupxDuhbNKEw6PTJqyc2tXShoMCDCkI0A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGut0AuM8KVmAnXWd+EXIFgs+re5o4jOMBK7t5wAp6nZAiEAn/0paWNyKV243v25mwc0fk7P7Fz2ukWelwcUTh3rN3w="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/tessel-av-0.15.0.tgz_1481917727392_0.09882768313400447"}},"0.15.1":{"name":"tessel-av","version":"0.15.1","description":"Cross-platform audio record/playback and video recording.","repository":{"type":"git","url":"git+https://github.com/tessel/tessel-av.git"},"main":"lib/index.js","scripts":{"test":"grunt"},"author":{"name":"Rick Waldron","email":"waldron.rick@gmail.com"},"contributors":[{"name":"Tim Cameron Ryan","email":"<tim@technical.io"},{"name":"bellbind","email":"<bellbind@gmail.com"}],"license":"MIT","devDependencies":{"common-tags":"^1.3.1","grunt":"^1.0.1","grunt-cli":"^1.2.0","grunt-contrib-jshint":"^1.0.0","grunt-contrib-nodeunit":"^1.0.0","grunt-contrib-watch":"^1.0.0","grunt-jsbeautifier":"^0.2.13","grunt-jscs":"^3.0.1","mkdirp":"^0.5.1","sinon":"^1.14.1"},"dependencies":{"got":"^6.3.0","ip":"^1.1.3","tessel-mjpeg-consumer":"^1.1.0"},"gitHead":"9e4d8f44d076aead5d7eb4cf9cca2de2dbe22631","bugs":{"url":"https://github.com/tessel/tessel-av/issues"},"homepage":"https://github.com/tessel/tessel-av#readme","_id":"tessel-av@0.15.1","_shasum":"11249dfc7f37b730ada67e5abab61c4cc766fdb9","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.4","_npmUser":{"name":"rwaldron","email":"waldron.rick@gmail.com"},"maintainers":[{"name":"rwaldron","email":"waldron.rick@gmail.com"}],"dist":{"shasum":"11249dfc7f37b730ada67e5abab61c4cc766fdb9","tarball":"https://registry.npmjs.org/tessel-av/-/tessel-av-0.15.1.tgz","integrity":"sha512-Cg+LV/7RGsIhkjhXCs9uJTjXhKCCJJHTGnBAir7ktr0BQH3s7qksnooI/TJWLvhO4uhH7kd9ppPUUibJ5v3y0A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDbj4uuoVakqKh/66WQLs6Jbbbo9+3xQ2FVqgiYsji0AgIgXAJabtjK+dBZlJJB13PJe2Vq0kIXJpfvHe2v9Rd3oOA="}]},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/tessel-av-0.15.1.tgz_1490124903476_0.5924305734224617"}},"0.16.0":{"name":"tessel-av","version":"0.16.0","description":"Cross-platform audio record/playback and video recording.","repository":{"type":"git","url":"git+https://github.com/tessel/tessel-av.git"},"main":"lib/index.js","scripts":{"test":"grunt"},"author":{"name":"Rick Waldron","email":"waldron.rick@gmail.com"},"contributors":[{"name":"Tim Cameron Ryan","email":"<tim@technical.io"},{"name":"bellbind","email":"<bellbind@gmail.com"}],"license":"MIT","devDependencies":{"common-tags":"^1.3.1","grunt":"^1.0.1","grunt-cli":"^1.2.0","grunt-contrib-jshint":"^1.0.0","grunt-contrib-nodeunit":"^1.0.0","grunt-contrib-watch":"^1.0.0","grunt-jsbeautifier":"^0.2.13","grunt-jscs":"^3.0.1","mkdirp":"^0.5.1","sinon":"^1.14.1"},"dependencies":{"got":"^6.3.0","ip":"^1.1.3","tessel-mjpeg-consumer":"^1.1.0"},"gitHead":"03252f7d716ef0e6a329e09fccd8fcff3ae022f4","bugs":{"url":"https://github.com/tessel/tessel-av/issues"},"homepage":"https://github.com/tessel/tessel-av#readme","_id":"tessel-av@0.16.0","_shasum":"4a754ea228cbe7d6b817b4a6794a6f07a3908051","_from":".","_npmVersion":"2.15.11","_nodeVersion":"4.7.2","_npmUser":{"name":"rwaldron","email":"waldron.rick@gmail.com"},"maintainers":[{"name":"rwaldron","email":"waldron.rick@gmail.com"}],"dist":{"shasum":"4a754ea228cbe7d6b817b4a6794a6f07a3908051","tarball":"https://registry.npmjs.org/tessel-av/-/tessel-av-0.16.0.tgz","integrity":"sha512-Iqgd71cCZSBN6JsAaLWTcKqnaV9LS/4o7CV7By3dT7fq6Y+DDw48ZAvJ7eIFHzNSnpLmSKlnaZxMHmrBgSB+0Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHRLRd4OBOnyJJwZlmGvjlzoxywO4Uw/CpqQS13u7dlZAiEA8Aor5TBF5dDJ0Uz+9lPCqc96RzSD81ql4+xhRTFY3Zw="}]},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/tessel-av-0.16.0.tgz_1493322396702_0.4863537084311247"}},"0.16.1":{"name":"tessel-av","version":"0.16.1","description":"Cross-platform audio record/playback and video recording.","repository":{"type":"git","url":"git+https://github.com/tessel/tessel-av.git"},"main":"lib/index.js","scripts":{"test":"grunt"},"author":{"name":"Rick Waldron","email":"waldron.rick@gmail.com"},"contributors":[{"name":"Tim Cameron Ryan","email":"<tim@technical.io"},{"name":"bellbind","email":"<bellbind@gmail.com"}],"license":"MIT","devDependencies":{"common-tags":"^1.3.1","grunt":"^1.0.1","grunt-cli":"^1.2.0","grunt-contrib-jshint":"^1.0.0","grunt-contrib-nodeunit":"^1.0.0","grunt-contrib-watch":"^1.0.0","grunt-jsbeautifier":"^0.2.13","grunt-jscs":"^3.0.1","mkdirp":"^0.5.1","sinon":"^1.14.1"},"dependencies":{"got":"^6.3.0","ip":"^1.1.3","tessel-mjpeg-consumer":"^1.1.0"},"gitHead":"d9547c573d96d333e014b892c56e98add7c56fbd","bugs":{"url":"https://github.com/tessel/tessel-av/issues"},"homepage":"https://github.com/tessel/tessel-av#readme","_id":"tessel-av@0.16.1","_shasum":"8ac86693d80a246d03bd8cde0faa16ec06fbfa27","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.4","_npmUser":{"name":"rwaldron","email":"waldron.rick@gmail.com"},"maintainers":[{"name":"rwaldron","email":"waldron.rick@gmail.com"}],"dist":{"shasum":"8ac86693d80a246d03bd8cde0faa16ec06fbfa27","tarball":"https://registry.npmjs.org/tessel-av/-/tessel-av-0.16.1.tgz","integrity":"sha512-zCQoaEiIj43KCnRkXMLyzqh5aTPzWiOPwtnV+VCGs1XLvtJXzd1VS6cPT+1uBuSOnAGDZZN2nyQ0yNbw4YEnLQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCVKlOwEW2T9CFRteUkrhCmKxrfvzJXVFj0ZjkpkProfAIgXGRIPxmF/vA2L5xtlNXAOvZY/1HiEuBuHMO33/ZI0cA="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/tessel-av-0.16.1.tgz_1493387137122_0.7814979329705238"}},"0.16.2":{"name":"tessel-av","version":"0.16.2","description":"Cross-platform audio record/playback and video recording.","repository":{"type":"git","url":"git+https://github.com/tessel/tessel-av.git"},"main":"lib/index.js","scripts":{"test":"grunt","test-cover":"nyc grunt nodeunit","coveralls":"nyc --reporter=lcov grunt nodeunit && cat ./coverage/lcov.info | coveralls"},"author":{"name":"Rick Waldron","email":"waldron.rick@gmail.com"},"contributors":[{"name":"Tim Cameron Ryan","email":"<tim@technical.io"},{"name":"bellbind","email":"<bellbind@gmail.com"}],"license":"MIT","devDependencies":{"common-tags":"^1.3.1","coveralls":"^2.13.1","grunt":"^1.0.1","grunt-cli":"^1.2.0","grunt-contrib-jshint":"^1.1.0","grunt-contrib-nodeunit":"^1.0.0","grunt-contrib-watch":"^1.0.0","grunt-jsbeautifier":"^0.2.13","grunt-jscs":"^3.0.1","mkdirp":"^0.5.1","nyc":"^10.2.0","sinon":"^2.1.0"},"dependencies":{"got":"^6.3.0","ip":"^1.1.3","tessel-mjpeg-consumer":"^1.1.0"},"gitHead":"e6a4f00eebdb1c880654f21fbf8e79a83ba8a6c7","bugs":{"url":"https://github.com/tessel/tessel-av/issues"},"homepage":"https://github.com/tessel/tessel-av#readme","_id":"tessel-av@0.16.2","_shasum":"7944b11533247041951b79368d680604761df89a","_from":".","_npmVersion":"2.15.11","_nodeVersion":"4.7.2","_npmUser":{"name":"rwaldron","email":"waldron.rick@gmail.com"},"maintainers":[{"name":"rwaldron","email":"waldron.rick@gmail.com"}],"dist":{"shasum":"7944b11533247041951b79368d680604761df89a","tarball":"https://registry.npmjs.org/tessel-av/-/tessel-av-0.16.2.tgz","integrity":"sha512-Cp+O+tQQj52dbnQPtQBkWxqXhfcQjRQu1BCvBoKMEQ6xHmpmILr8pBzqDZvDxxeOR5wP7Syj3ktMZqE+DLzBhA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD1rCoIIloS+X1rkH6r5rFK0s7eplwQcm0tgIfV6irmWAIhAPMFe/tPgk7sUWpeEWvwSPkuiM1qy/O+9tD4+/V/lvTJ"}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/tessel-av-0.16.2.tgz_1493390688672_0.9707943920511752"}},"0.16.3":{"name":"tessel-av","version":"0.16.3","description":"Cross-platform audio record/playback and video recording.","repository":{"type":"git","url":"git+https://github.com/tessel/tessel-av.git"},"main":"lib/index.js","scripts":{"test":"grunt","test-cover":"nyc grunt nodeunit","coveralls":"nyc --reporter=lcov grunt nodeunit && cat ./coverage/lcov.info | coveralls"},"author":{"name":"Rick Waldron","email":"waldron.rick@gmail.com"},"contributors":[{"name":"Tim Cameron Ryan","email":"<tim@technical.io"},{"name":"bellbind","email":"<bellbind@gmail.com"}],"license":"MIT","devDependencies":{"common-tags":"^1.3.1","coveralls":"^2.13.1","grunt":"^1.0.1","grunt-cli":"^1.2.0","grunt-contrib-jshint":"^1.1.0","grunt-contrib-nodeunit":"^1.0.0","grunt-contrib-watch":"^1.0.0","grunt-jsbeautifier":"^0.2.13","grunt-jscs":"^3.0.1","mkdirp":"^0.5.1","nyc":"^10.2.0","sinon":"^2.1.0"},"dependencies":{"got":"^6.3.0","ip":"^1.1.3","tessel-mjpeg-consumer":"^1.1.0"},"gitHead":"0eb163c54bf3088497e482e5fd2034e3b0221fe4","bugs":{"url":"https://github.com/tessel/tessel-av/issues"},"homepage":"https://github.com/tessel/tessel-av#readme","_id":"tessel-av@0.16.3","_shasum":"03651e6d6e7c4a002d1d0be0cadb8c070b24925e","_from":".","_npmVersion":"2.15.11","_nodeVersion":"4.7.2","_npmUser":{"name":"rwaldron","email":"waldron.rick@gmail.com"},"maintainers":[{"name":"rwaldron","email":"waldron.rick@gmail.com"}],"dist":{"shasum":"03651e6d6e7c4a002d1d0be0cadb8c070b24925e","tarball":"https://registry.npmjs.org/tessel-av/-/tessel-av-0.16.3.tgz","integrity":"sha512-55aSP3/tZ8vl+Yfuu98HPu1NfMY4pr5l77b4zekHbOmdZuL9hNtUtVGv7xiUwHHyXINmGAhl2i85dhvIUXBCAA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAGaBV4tEzlZETTdR10075j11LIr4sV37VTYT8YpAw/JAiEAixlhXHWmBSpjdADUXNUSvoe6qUd7VtdIC2NeN4LN8wk="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/tessel-av-0.16.3.tgz_1493390839324_0.35623364825733006"}},"0.16.4":{"name":"tessel-av","version":"0.16.4","description":"Cross-platform audio record/playback and video recording.","repository":{"type":"git","url":"git+https://github.com/tessel/tessel-av.git"},"main":"lib/index.js","scripts":{"test":"grunt","test-cover":"nyc grunt nodeunit","coveralls":"nyc --reporter=lcov grunt nodeunit && cat ./coverage/lcov.info | coveralls"},"author":{"name":"Rick Waldron","email":"waldron.rick@gmail.com"},"contributors":[{"name":"Tim Cameron Ryan","email":"<tim@technical.io"},{"name":"bellbind","email":"<bellbind@gmail.com"}],"license":"MIT","devDependencies":{"common-tags":"^1.3.1","coveralls":"^2.13.1","grunt":"^1.0.1","grunt-cli":"^1.2.0","grunt-contrib-jshint":"^1.1.0","grunt-contrib-nodeunit":"^1.0.0","grunt-contrib-watch":"^1.0.0","grunt-jsbeautifier":"^0.2.13","grunt-jscs":"^3.0.1","mkdirp":"^0.5.1","nyc":"^10.2.0","sinon":"^2.1.0"},"dependencies":{"got":"^6.3.0","ip":"^1.1.3","tessel-mjpeg-consumer":"^1.1.0"},"gitHead":"7174de48996cfaf9e9e460bc72fe151ef895b06d","bugs":{"url":"https://github.com/tessel/tessel-av/issues"},"homepage":"https://github.com/tessel/tessel-av#readme","_id":"tessel-av@0.16.4","_shasum":"6b23e8e892eb35306c42fc929f2537422aed48a0","_from":".","_npmVersion":"2.15.11","_nodeVersion":"4.7.2","_npmUser":{"name":"rwaldron","email":"waldron.rick@gmail.com"},"maintainers":[{"name":"rwaldron","email":"waldron.rick@gmail.com"}],"dist":{"shasum":"6b23e8e892eb35306c42fc929f2537422aed48a0","tarball":"https://registry.npmjs.org/tessel-av/-/tessel-av-0.16.4.tgz","integrity":"sha512-D5RnLFzPr0QOfSUDgGBY53IoEZ8ug1CT6kTPjq/6w5/ZdTLVC21sSPLYpMZaR9bsoFm4drTgA9l+WIjkJfjicw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHUC0OdcwAiYTEjQwMReemDvXcM0m7wxgzVUgEAHhfdkAiEAoX49RmsRlUYHyS+elUdhWBFlHcievFcBuvM+kAlA64I="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/tessel-av-0.16.4.tgz_1493390898403_0.9519344393629581"}},"0.17.0":{"name":"tessel-av","version":"0.17.0","description":"Cross-platform audio record/playback and video recording.","repository":{"type":"git","url":"git+https://github.com/tessel/tessel-av.git"},"main":"lib/index.js","scripts":{"test":"grunt","test-cover":"nyc grunt nodeunit","coveralls":"nyc --reporter=lcov grunt nodeunit && cat ./coverage/lcov.info | coveralls"},"author":{"name":"Rick Waldron","email":"waldron.rick@gmail.com"},"contributors":[{"name":"Tim Cameron Ryan","email":"<tim@technical.io"},{"name":"bellbind","email":"<bellbind@gmail.com"}],"license":"MIT","devDependencies":{"common-tags":"^1.3.1","coveralls":"^2.13.1","grunt":"^1.0.1","grunt-cli":"^1.2.0","grunt-contrib-jshint":"^1.1.0","grunt-contrib-nodeunit":"^1.0.0","grunt-contrib-watch":"^1.0.0","grunt-jsbeautifier":"^0.2.13","grunt-jscs":"^3.0.1","mkdirp":"^0.5.1","nyc":"^10.2.0","sinon":"^2.2.0"},"dependencies":{"got":"^6.3.0","ip":"^1.1.3","tessel-mjpeg-consumer":"^1.1.0"},"gitHead":"5fb33067bd1934ec0da4feb37f31ceedcfc1cb20","bugs":{"url":"https://github.com/tessel/tessel-av/issues"},"homepage":"https://github.com/tessel/tessel-av#readme","_id":"tessel-av@0.17.0","_shasum":"ff404918c43ea2e9281b6aca434297260119b2a7","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.4","_npmUser":{"name":"rwaldron","email":"waldron.rick@gmail.com"},"maintainers":[{"name":"rwaldron","email":"waldron.rick@gmail.com"}],"dist":{"shasum":"ff404918c43ea2e9281b6aca434297260119b2a7","tarball":"https://registry.npmjs.org/tessel-av/-/tessel-av-0.17.0.tgz","integrity":"sha512-pZj8xnZVixA8asvF4LjcqprIPjarO7lxuQOa8DZEVUYfOTUNVFZ9/9eo3FRwQtR/gE+fiZPe7/Oc3hAe+RD9ag==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAl2Adl09Gy5ZPf6lih5Nz5vNtshxlymP5mLux9AccCaAiAegPTiBx7jzw2kr0FyCqqkjRmAhcBjwzqRyCrNpKRleA=="}]},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/tessel-av-0.17.0.tgz_1494618343031_0.07031005132012069"}},"0.18.0":{"name":"tessel-av","version":"0.18.0","description":"USB Camera, Microphone, MP3 Player and Text Speaker support for Tessel 2.","repository":{"type":"git","url":"git+https://github.com/tessel/tessel-av.git"},"main":"lib/index.js","scripts":{"test":"grunt","test-cover":"nyc grunt nodeunit","coveralls":"nyc --reporter=lcov grunt nodeunit && cat ./coverage/lcov.info | coveralls"},"author":{"name":"Rick Waldron","email":"waldron.rick@gmail.com"},"contributors":[{"name":"Tim Cameron Ryan","email":"<tim@technical.io"},{"name":"bellbind","email":"<bellbind@gmail.com"}],"license":"MIT","devDependencies":{"common-tags":"^1.4.0","coveralls":"^2.13.1","glob":"^7.1.2","grunt":"^1.0.1","grunt-cli":"^1.2.0","grunt-contrib-jshint":"^1.1.0","grunt-contrib-nodeunit":"^1.0.0","grunt-contrib-watch":"^1.0.0","grunt-jsbeautifier":"^0.2.13","grunt-jscs":"^3.0.1","mkdirp":"^0.5.1","nyc":"^10.3.2","sinon":"^2.3.0"},"dependencies":{"got":"^6.7.1","ip":"^1.1.5","tessel-mjpeg-consumer":"^1.1.0"},"gitHead":"4b1efceaba47657ead7e8447d29787dbaa5929d9","bugs":{"url":"https://github.com/tessel/tessel-av/issues"},"homepage":"https://github.com/tessel/tessel-av#readme","_id":"tessel-av@0.18.0","_shasum":"e7f6842f766f670fabf890ff18af8296eea4e118","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.4","_npmUser":{"name":"rwaldron","email":"waldron.rick@gmail.com"},"maintainers":[{"name":"rwaldron","email":"waldron.rick@gmail.com"}],"dist":{"shasum":"e7f6842f766f670fabf890ff18af8296eea4e118","tarball":"https://registry.npmjs.org/tessel-av/-/tessel-av-0.18.0.tgz","integrity":"sha512-nGbj9h4Ce6C/XlP/7/kFzS/v3oY/beLty2cnd1fsP/mYGkDbr+/L8ojupRdJqQ0+GP8CtZIzjE2JteOO69p25w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDVvRMzyEbDWGkNyQzD/fr+/uWbJUasckuCUjVBYyxzqAiEAj0wiYEeU6gsGI+vySz6isGMi0XFpwFygp1bl7pwbZe8="}]},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tessel-av-0.18.0.tgz_1495466479630_0.35271922568790615"}},"0.19.0":{"name":"tessel-av","version":"0.19.0","description":"USB Camera, Microphone, MP3 Player and Text Speaker support for Tessel 2.","repository":{"type":"git","url":"git+https://github.com/tessel/tessel-av.git"},"main":"lib/index.js","scripts":{"test":"grunt","test-cover":"nyc grunt nodeunit","coveralls":"nyc --reporter=lcov grunt nodeunit && cat ./coverage/lcov.info | coveralls"},"author":{"name":"Rick Waldron","email":"waldron.rick@gmail.com"},"contributors":[{"name":"Tim Cameron Ryan","email":"<tim@technical.io"},{"name":"bellbind","email":"<bellbind@gmail.com"}],"license":"MIT","devDependencies":{"common-tags":"^1.4.0","coveralls":"^2.13.1","glob":"^7.1.2","grunt":"^1.0.1","grunt-cli":"^1.2.0","grunt-contrib-jshint":"^1.1.0","grunt-contrib-nodeunit":"^1.0.0","grunt-contrib-watch":"^1.0.0","grunt-jsbeautifier":"^0.2.13","grunt-jscs":"^3.0.1","mkdirp":"^0.5.1","nyc":"^10.3.2","sinon":"^2.3.0"},"dependencies":{"got":"^6.7.1","ip":"^1.1.5","tessel-mjpeg-consumer":"^1.1.0"},"gitHead":"1398c5607a9c64379bc4383d2d89a9b890073555","bugs":{"url":"https://github.com/tessel/tessel-av/issues"},"homepage":"https://github.com/tessel/tessel-av#readme","_id":"tessel-av@0.19.0","_shasum":"651914e0f4db00382d602b81718d0d6b75c63098","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.4","_npmUser":{"name":"rwaldron","email":"waldron.rick@gmail.com"},"maintainers":[{"name":"rwaldron","email":"waldron.rick@gmail.com"}],"dist":{"shasum":"651914e0f4db00382d602b81718d0d6b75c63098","tarball":"https://registry.npmjs.org/tessel-av/-/tessel-av-0.19.0.tgz","integrity":"sha512-WtCuLK0jOlyHztiEMBTy3TJ3KGKMEF6ScY6I6tVUNFvGHRWJCITLXR9fYjvzUjRnta97Fj1dxETnDdrwF7AP3Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCrDSkHhlDgrjh0srtX/Kn/hcOCjnPKVJfq49dm4n4fpQIhAPxqXh0UfrMzGY1Qw3WBsgwG23yWoB3n+x+dCo6Dw21P"}]},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tessel-av-0.19.0.tgz_1497282210117_0.014386546099558473"}}},"readme":"# tessel-av\n[![Code of Conduct](https://img.shields.io/badge/%E2%9D%A4-code%20of%20conduct-blue.svg?style=flat)](https://github.com/tessel/project/blob/master/CONDUCT.md)\n[![Travis Build Status](https://travis-ci.org/tessel/tessel-av.svg?branch=master)](https://travis-ci.org/tessel/tessel-av) \n[![Coverage Status](https://coveralls.io/repos/github/tessel/tessel-av/badge.svg?branch=master)](https://coveralls.io/github/tessel/tessel-av?branch=master)\n\nUSB Camera, Microphone, MP3 Player and Text Speaker support for Tessel 2.\n\n#### This module does not and will not support the Tessel 1 Camera Module\n\n\n- Camera, for capturing video streams and still shots\n- Microphone, for sound streaming\n- Player, for sound playback \n- Speaker, for text-to-speech playback\n\n\n```\nnpm install tessel-av\n```\n\n\n## av.Camera\n\nThe `Camera` class produces instances that may be used to capture a still frame or stream frames from a capable USB camera. \n\n\n### av.Camera Initialization\n\n| Property | Type    | Value/Description  | Default  | Required        |\n|----------|---------|--------------------|----------|-----------------|\n| device     | string  | The system path to the video device | `/dev/video0` | no |  \n| dimensions | string  | Valid \"WxH\" dimensions. Is limited to dimensions supported by the device.\\* | `\"800x600\"` | no |\n| fps  | number  | Frames per second. Will be ignored if value is unsupported. | Per camera | no |  \n| port  | number  | Port number for the video server | 8080 | no |  \n| quality  | number  | Set the quality from 0...1 | 1 | no |  \n| fps  | number  | Frames per second. Will be ignored if value is unsupported. | Per camera | no |  \n\n\n\\* The device itself determines what dimensions are supported. Since the output comes directly from the camera hardware, invalid dimensions will be overridden by device if not supported.\n\n\n\n- **`capture`** Take a still frame. Returns a `CaptureStream`, call `pipe` with a destination to send a frame of jpeg encoded data. \n- **`stream`** Stream mjpg frames from camera. \n\n\n### av.Camera Events\n\n- **`data`** when stream has data.\n- **`frame`** when camera has a complete frame.\n\n\n### av.Camera Examples\n\nUse the `data` event to capture a single frame and save it as a JPEG: \n\n```js\n'use strict';\nconst fs = require('fs');\nconst path = require('path');\n\nconst av = require('tessel-av');\nconst camera = new av.Camera();\nconst capture = camera.capture();\n\ncapture.on('data', function(data) {\n  fs.writeFile(path.join(__dirname, 'captures/captured-via-data-event.jpg'), data);\n});\n```\n\n\nRespond to an HTTP request by piping the stream returned by `capture()`: \n\n```js\n'use strict';\nconst fs = require('fs');\nconst os = require('os');\nconst http = require('http');\nconst port = 8888;\n\nconst av = require('tessel-av');\nconst camera = new av.Camera({\n  width: 320,\n  height: 240,\n});\n\nconst server = http.createServer((request, response) => {\n  response.writeHead(200, { \"Content-Type\": \"image/jpg\" });\n\n  camera.capture().pipe(response);\n\n}).listen(port, () => console.log(`http://${os.hostname()}.local:${port}`));\n\nprocess.on(\"SIGINT\", _ => server.close());\n```\n\n\nA very simple example of direct-to-browser streaming:\n\n```js\n'use strict';\nconst express = require('express');\nconst app = express();\nconst server = require('http').Server(app);\nconst os = require('os');\nconst path = require('path');\nconst port = 8888;\n\nconst av = require('tessel-av');\nconst camera = new av.Camera();\n\nserver.listen(port, function () {\n  console.log(`http://${os.hostname()}.local:${port}`);\n});\n\napp.use(express.static(path.join(__dirname, '/public')));\napp.get('/stream', (request, response) => {\n  response.redirect(camera.url);\n});\n```\n\nAnd here's the `public/index.html` file, which should be referenced in a [`.tesselinclude` file](https://tessel.gitbooks.io/t2-docs/content/API/CLI.html)): \n\n```html\n<!doctype html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"utf-8\">\n    <title>streaming video to img element</title>\n  </head>\n  <body>\n    <img src=\"/stream\">\n  </body>\n</html>\n```\n\n\n## av.Player\n\nThe `Player` class produces instances that may be used to play audio from an mp3 file stored on the Tessel 2.\n\n(Prior to v0.3.0, the `av.Speaker` class was used for audio file playback, and while that still works in versions >=0.3.0, programs will need to update to use this class before 1.0.0 (estimated release: July 1st, 2016)\n\n\n### av.Player Initialization\n\nThe `Player` class constructor accepts one argument, which is optional, that specifies an mp3 file to play when the `play()` method is called. The may be omitted and supplied directly to `play(file [, time])` at a later time in the object's lifecycle.\n\n\n- **`play([seconds])`** Play the specified file. Optionally provide a time to start at in seconds. See Allowed Time String Formats\n- **`play([ file [, seconds])`** Play the specified file. Optionally provide a time to start at in seconds. See Allowed Time String Formats\n- **`play([ 'file.mp3', ...options ])`** Play the file with additional options in an array. \n- **`play(options)`** Play the file with additional options in an object. \n  ```\n  Options {\n    phrase: \"Hello Dave, you're looking well today\", \n    ...\n  }\n  ```\n\n- **`pause()`** Pause playback of the current file. \n- **`stop()`** Stop playback of the current file (calling `play()` will start the playback from the beginning.)\n\n#### Allowed Time String Formats\n\n| Format | Type |\n| ------ | ---- |\n| `hh:mm:ss` | string |\n| `ssss.dddd` | number |\n| `ssss` | number |\n\n\n#### Options\n\nOptions may be _most_ of [options supported by `madplay`](madplay.md). For example, if I wanted to set the amplitude and pitch: \n\n```js\nplayer.play(['foo.mp3', '-a', 10, '-r', 2 ]);\nplayer.play(['foo.mp3', 'a', 10, 'r', 2 ]);\n```\n\nor \n\n```js\nplayer.play({\n  file: 'foo.mp3',\n  a: 10,\n  r: 2,\n});\n```\n\n\n### av.Player Events\n\n- **`ended`** when playback ends.\n- **`play`** after `play()` is called.\n- **`pause`** after `pause()` is called.\n- **`stop`** after `stop()` is called.\n- **`timeupdate`** approximately every 100ms. Delivers an approximation of the playback time in seconds, as `ssss.ddd`.\n\nThe following is an example of the API and events working together: \n\n- The sound will play from the beginning\n- After approximate 2 seconds, the sound will pause\n- After 1 second pause, sound will resume  , it will resume playback from the 10 second mark, play until just after the 12 second mark, where it will stop and then play from the beginning again. \n\n```js\n'use strict';\nconst path = require('path');\nconst av = require('tessel-av');\nconst mp3 = path.join(__dirname, '20-second-nonsense.mp3');\nconst sound = new av.Player(mp3);\n\nsound.play();\n\nsound.on('timeupdate', function(seconds) {\n  seconds = Math.round(seconds);\n\n  if (seconds === 2) {\n    this.pause();\n  }\n\n  if (seconds > 12) {\n    this.stop().play();\n  }\n});\n\nsound.on('pause', function() {\n  setTimeout(() => this.play(10), 1000);\n});\n```\n\n\nAlternatively, an mp3 file may be provided at the `play(...)` call site: \n\n```js\n'use strict';\nconst path = require('path');\nconst av = require('./lib/index');\nconst mp3 = path.join(__dirname, 'some-audio-file.mp3');\nconst sound = new av.Player();\n\n// Play the mp3, starting at the 10 second mark.\nsound.play(mp3, \"10\");\n\nsound.on('ended', function() {\n  console.log('This is not the end!');\n  sound.play();\n});\n```\n\n\n> Remember that you **must** explicitly specify static assets by listing them in a [`.tesselinclude` file](https://tessel.gitbooks.io/t2-docs/content/API/CLI.html) file. For example, to ensure the `song.mp3` file is deployed to your Tessel 2, you'll create a file called `.tesselinclude` that contains the following:\n> ```\n> song.mp3\n> ```\n> \n> You may find it easier to put all static assets in a sub-directory, such as `public/`, or similar. Then you can include _all_ files and sub-directories by creating a `.tesselinclude` file and listing that assets directory like this: \n> \n> ```\n> public\n> ```\n> \n\n\n## av.Speaker \n\n(Prior to v0.3.0, the `av.Speaker` class was used for audio file playback, and while that still works in versions >=0.3.0, programs will need to update to use this class before 1.0.0 (estimated release: July 1st, 2016)\n\n\n- **`say(\"phrase\")`** Speak the phrase (string). \n- **`say([\"phrase\", ...])`** Speak the phrase with additional options in an array. \n- **`say(options)`** Speak the phrase with additional options in an object. \n  ```\n  Options {\n    phrase: \"Hello Dave, you're looking well today\", \n    ...\n  }\n  ```\n- **`stop()`** Stop playback.\n\n\n### av.Speaker Initialization\n\nOptions may be _most_ of the [options supported by `espeak`](espeak.md). For example, if I wanted to set the amplitude and pitch: \n\n```js\nspeaker.say(['Hello!', '-a', 10, '-p', 50 ]);\nspeaker.say(['Hello!', 'a', 10, 'p', 50 ]);\n```\n\nor \n\n```js\nspeaker.say({\n  phrase: 'Hello!',\n  a: 10,\n  p: 50,\n});\n```\n\n\n#### Queuing\n\nBack to back calls to `speaker.say(...)` will result in each phrase being queued. Once a phrase has been said, the next phrase in the queue will be spoken.\n\n\n### av.Speaker Events\n\n- **`ended`** when speech ends.\n- **`empty`** when speech ends and the speech queue is empty.\n- **`lastword`** when speech ends and the speech queue is empty and the program should **prevent** any further `empty` events from being emitted. This allows your robot to get the last word in without repeating themselves forever.\n- **`say`** after `say()` is called.\n- **`stop`** after `stop()` is called.\n- **`timeupdate`** approximately every 100ms. Delivers an approximation of the speech time in seconds, as `ssss.ddd`.\n\nThe following is an example of the API and events working together: \n\n- The first phrase will be said.\n- Once spoken, the `ended` event will trigger, which will start the \"cycle\" through the letters of the alphabet.\n\n```js\n'use strict';\nconst os = require('os');\nconst path = require('path');\nconst av = require('tessel-av');\n\nconst alphabet = 'abcdefghijklmnopqrstuvwxyz'.split('');\nconst speaker = new av.Speaker();\n\nspeaker.say(`\n  Hello, this is ${os.hostname()}. \n  I'm going to say my A-B-C's now\n`);\n\nspeaker.on('ended', function() {\n  if (alphabet.length) {\n    this.say(alphabet.shift());\n  }\n});\n```\n\nAlternatively, each letter can be \"queued\": \n\n```js\n'use strict';\nconst os = require('os');\nconst av = require('tessel-av');\n\nconst alphabet = 'abcdefghijklmnopqrstuvwxyz'.split('');\nconst speaker = new av.Speaker();\n\nspeaker.say(`\n  Hello, this is ${os.hostname()}. \n  I'm going to say my A-B-C's now\n`);\n\nalphabet.forEach(letter => speaker.say(letter));\n\nspeaker.on('lastword', function() {\n  // If this had been an `empty` event, it would've \n  // been emitted again as soon as the next phrase \n  // was spoken.\n  this.say('And now I know my A-B-Cs');\n});\n```\n\n\n## License\n\nMIT.\n","maintainers":[{"name":"rwaldron","email":"waldron.rick@gmail.com"}],"time":{"modified":"2022-06-27T04:56:48.931Z","created":"2016-02-24T21:13:06.491Z","0.1.0":"2016-02-24T21:13:06.491Z","0.1.1":"2016-02-25T15:31:09.283Z","0.1.2":"2016-02-25T15:39:07.952Z","0.2.0":"2016-02-26T19:59:09.134Z","0.2.1":"2016-03-01T17:48:00.961Z","0.2.2":"2016-03-08T22:33:46.662Z","0.3.0":"2016-03-16T23:16:25.187Z","0.3.1":"2016-03-16T23:59:58.116Z","0.3.2":"2016-03-17T15:35:28.655Z","0.4.0":"2016-03-17T21:27:10.354Z","0.4.1":"2016-03-17T22:10:29.508Z","0.4.2":"2016-03-17T22:25:09.448Z","0.5.0":"2016-03-22T15:40:27.865Z","0.6.0":"2016-04-16T00:03:33.126Z","0.7.0":"2016-05-25T22:06:36.967Z","0.8.0":"2016-08-04T01:21:25.653Z","0.10.0":"2016-09-12T20:56:57.153Z","0.11.0":"2016-10-21T20:29:15.931Z","0.12.0":"2016-11-02T21:44:40.057Z","0.12.1":"2016-11-03T17:34:54.787Z","0.13.0":"2016-11-04T21:40:36.094Z","0.14.0":"2016-11-14T20:52:09.083Z","0.15.0":"2016-12-16T19:48:49.285Z","0.15.1":"2017-03-21T19:35:04.198Z","0.16.0":"2017-04-27T19:46:37.424Z","0.16.1":"2017-04-28T13:45:39.257Z","0.16.2":"2017-04-28T14:44:50.674Z","0.16.3":"2017-04-28T14:47:21.162Z","0.16.4":"2017-04-28T14:48:20.363Z","0.17.0":"2017-05-12T19:45:44.827Z","0.18.0":"2017-05-22T15:21:20.644Z","0.19.0":"2017-06-12T15:43:31.087Z"},"homepage":"https://github.com/tessel/tessel-av#readme","repository":{"type":"git","url":"git+https://github.com/tessel/tessel-av.git"},"contributors":[{"name":"Tim Cameron Ryan","email":"<tim@technical.io"},{"name":"bellbind","email":"<bellbind@gmail.com"}],"author":{"name":"Rick Waldron","email":"waldron.rick@gmail.com"},"bugs":{"url":"https://github.com/tessel/tessel-av/issues"},"license":"MIT","readmeFilename":"README.md"}