{"_id":"bergson","_rev":"26-26f6457e0e029b84be485ee0d3f7508d","name":"bergson","description":"Time and scheduling for the web","dist-tags":{"latest":"0.16.0","dev":"0.15.0-dev.20190108T045554Z.6728e52.gh-15"},"versions":{"0.9.0":{"name":"bergson","version":"0.9.0","description":"Time and scheduling for the web","author":{"name":"Colin Clark"},"homepage":"http://github.com/colinbdclark/bergson","repository":{"type":"git","url":"git://github.com/colinbdclark/bergson.git"},"bugs":{"url":"http://github.com/colinbdclark/bergson/issues"},"license":"(MIT OR GPL-2.0)","keywords":["music","audio","video","scheduling"],"devDependencies":{"grunt":"^0.4.5","grunt-contrib-clean":"~0.4.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.8.0","grunt-contrib-uglify":"~0.3.2","grunt-contrib-watch":"^0.6.1"},"dependencies":{},"engines":{"node":">=0.10.0"},"gitHead":"6a09cd629d60f08183ad4e7e98c0979126e88112","_id":"bergson@0.9.0","scripts":{},"_shasum":"6a03133d502db0392507dcdcb4a79e2517915f74","_from":".","_npmVersion":"2.12.1","_nodeVersion":"0.12.7","_npmUser":{"name":"colinbdclark","email":"colinbdclark@gmail.com"},"maintainers":[{"name":"colinbdclark","email":"colinbdclark@gmail.com"}],"dist":{"shasum":"6a03133d502db0392507dcdcb4a79e2517915f74","tarball":"https://registry.npmjs.org/bergson/-/bergson-0.9.0.tgz","integrity":"sha512-8r2sjoC4KDypFj9TBMwgg10F26zKUt07xXxXWjjkhmnSLkY10JCfdji7Lm3YvCoCcu3tWO3mnP5aOSyw/OwE9A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICs0yed8X+5cPkdekPdFoxKvCYAJda0rp5IrAqN3hh1HAiAObt1tF5ZtqR0z2mobXNa+r5uKntF1Z+9x6VLrXBSmMw=="}]},"directories":{}},"0.9.1":{"name":"bergson","main":"index.js","version":"0.9.1","description":"Time and scheduling for the web","author":{"name":"Colin Clark"},"homepage":"http://github.com/colinbdclark/bergson","repository":{"type":"git","url":"git://github.com/colinbdclark/bergson.git"},"bugs":{"url":"http://github.com/colinbdclark/bergson/issues"},"license":"(MIT OR GPL-2.0)","keywords":["music","audio","video","scheduling"],"devDependencies":{"jqUnit":"git://github.com/fluid-project/node-jqUnit.git","grunt-gpii":"git://github.com/GPII/grunt-gpii.git","grunt":"^0.4.5","grunt-contrib-clean":"~0.4.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.8.0","grunt-contrib-uglify":"~0.3.2","grunt-contrib-watch":"^0.6.1"},"dependencies":{"infusion":"git://github.com/fluid-project/infusion.git"},"engines":{"node":">=0.10.0"},"scripts":{"postinstall":"grunt dedupe-infusion"},"gitHead":"a18eb7e0279257c4d049ffa7d12308bbc7744a3e","_id":"bergson@0.9.1","_shasum":"e3944f31c8691ffca1a3180a2a5e1a4325c2979b","_from":".","_npmVersion":"2.12.1","_nodeVersion":"0.12.7","_npmUser":{"name":"colinbdclark","email":"colinbdclark@gmail.com"},"maintainers":[{"name":"colinbdclark","email":"colinbdclark@gmail.com"}],"dist":{"shasum":"e3944f31c8691ffca1a3180a2a5e1a4325c2979b","tarball":"https://registry.npmjs.org/bergson/-/bergson-0.9.1.tgz","integrity":"sha512-rnOcTftUPKSUyHSu4G2sQ+3VV5/w74auclurDk4JOl5DiFCqiLA79wbMBbi0a/f+BLNJ//W/mgvLulVUJWD1yA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBmKeqcCrLSecYmoqhPfEycLty0GzUUHEDMmI8nLIOg0AiEAh1rR9BN8Sv0LfdrmtViPq6b+PYvcMtTlBrVG9xh5Tdc="}]},"directories":{}},"0.9.2":{"name":"bergson","main":"index.js","version":"0.9.2","description":"Time and scheduling for the web","author":{"name":"Colin Clark"},"homepage":"http://github.com/colinbdclark/bergson","repository":{"type":"git","url":"git://github.com/colinbdclark/bergson.git"},"bugs":{"url":"http://github.com/colinbdclark/bergson/issues"},"license":"(MIT OR GPL-2.0)","keywords":["music","audio","video","scheduling"],"devDependencies":{"jqUnit":"git://github.com/fluid-project/node-jqUnit.git","grunt-gpii":"git://github.com/GPII/grunt-gpii.git","grunt":"^0.4.5","grunt-contrib-clean":"~0.4.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.8.0","grunt-contrib-uglify":"~0.3.2","grunt-contrib-watch":"^0.6.1"},"dependencies":{"infusion":"github:fluid-project/infusion#1.9.x"},"engines":{"node":">=0.10.0"},"scripts":{"postinstall":"grunt dedupe-infusion"},"gitHead":"62fbe6cda6924d5f72d2263cca9971f24022304f","_id":"bergson@0.9.2","_shasum":"448cbf7d4f2ecfa53771d378c7e5e7ca21e2dd81","_from":".","_npmVersion":"2.12.1","_nodeVersion":"0.12.7","_npmUser":{"name":"colinbdclark","email":"colinbdclark@gmail.com"},"maintainers":[{"name":"colinbdclark","email":"colinbdclark@gmail.com"}],"dist":{"shasum":"448cbf7d4f2ecfa53771d378c7e5e7ca21e2dd81","tarball":"https://registry.npmjs.org/bergson/-/bergson-0.9.2.tgz","integrity":"sha512-5nkwL7W7q5JxXsOZir/0rVm/OWDNtqXDPEu9h2m2A9n0zFcQLyGoHahPWZSqavGbzZXbvNuc9ihQacmb2vnJ7Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICkzOqLmmbTGbHMa8iCWl45fsptuqBqa1jm3aOLltLUgAiADBzFRnV3lgpwHDU0cwlrPgE47CryTMlClILaDSF0SAg=="}]},"directories":{}},"0.9.3":{"name":"bergson","main":"index.js","version":"0.9.3","description":"Time and scheduling for the web","author":{"name":"Colin Clark"},"homepage":"http://github.com/colinbdclark/bergson","repository":{"type":"git","url":"git://github.com/colinbdclark/bergson.git"},"bugs":{"url":"http://github.com/colinbdclark/bergson/issues"},"license":"(MIT OR GPL-2.0)","keywords":["music","audio","video","scheduling"],"devDependencies":{"jqUnit":"git://github.com/fluid-project/node-jqUnit.git","grunt-gpii":"git://github.com/GPII/grunt-gpii.git","grunt":"^0.4.5","grunt-contrib-clean":"~0.4.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.8.0","grunt-contrib-uglify":"~0.3.2","grunt-contrib-watch":"^0.6.1"},"dependencies":{"infusion":"github:colinbdclark/infusion#FLUID-5711-1.9.x"},"engines":{"node":">=0.10.0"},"scripts":{"postinstall":"grunt dedupe-infusion"},"gitHead":"d447358e6994d827c6ddf3c6fc25692b19d3feeb","_id":"bergson@0.9.3","_shasum":"866e981297d260e580f2f1aff5f26161e58286a3","_from":".","_npmVersion":"2.12.1","_nodeVersion":"0.12.7","_npmUser":{"name":"colinbdclark","email":"colinbdclark@gmail.com"},"maintainers":[{"name":"colinbdclark","email":"colinbdclark@gmail.com"}],"dist":{"shasum":"866e981297d260e580f2f1aff5f26161e58286a3","tarball":"https://registry.npmjs.org/bergson/-/bergson-0.9.3.tgz","integrity":"sha512-B86o7e/x/L4j+tf/Gnj2HcO0oJgSQmciw5l4hcDq8aUNPM88xobXxZKqTRL6nBsjLfoRezmTXcJHRaEDeL2OVA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCMNnUSqSUYmZtnFgCLibroEocx8EtG+EiVThpQrKPbCAIhALBye9ypIX6XndQni6aHL0xCsWc+epfMJn2YUvrmPIvT"}]},"directories":{}},"0.9.4":{"name":"bergson","main":"index.js","version":"0.9.4","description":"Time and scheduling for the web","author":{"name":"Colin Clark"},"homepage":"http://github.com/colinbdclark/bergson","repository":{"type":"git","url":"git://github.com/colinbdclark/bergson.git"},"bugs":{"url":"http://github.com/colinbdclark/bergson/issues"},"license":"(MIT OR GPL-2.0)","keywords":["music","audio","video","scheduling"],"devDependencies":{"jqUnit":"git://github.com/fluid-project/node-jqUnit.git"},"dependencies":{"infusion":"github:colinbdclark/infusion#FLUID-5711-1.9.x","grunt-gpii":"git://github.com/GPII/grunt-gpii.git","grunt":"^0.4.5","grunt-contrib-clean":"~0.4.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.8.0","grunt-contrib-uglify":"~0.3.2","grunt-contrib-watch":"^0.6.1"},"engines":{"node":">=0.10.0"},"scripts":{"postinstall":"grunt dedupe-infusion"},"gitHead":"904636206ff79c8f6c5d67ba4b7108b0251bb074","_id":"bergson@0.9.4","_shasum":"dc42895980caed45dc94fc66df2ecf6699192219","_from":".","_npmVersion":"2.12.1","_nodeVersion":"0.12.7","_npmUser":{"name":"colinbdclark","email":"colinbdclark@gmail.com"},"maintainers":[{"name":"colinbdclark","email":"colinbdclark@gmail.com"}],"dist":{"shasum":"dc42895980caed45dc94fc66df2ecf6699192219","tarball":"https://registry.npmjs.org/bergson/-/bergson-0.9.4.tgz","integrity":"sha512-+Ccpm7ml5Sppf58aW4GKdOZhrwHZUqyVbMj4SK87hE462G+3QWsjKNUbB/SuUbxFcuUILg/GmdIhRuBE6r05UA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFFNVinSWNpCEpwoT7YUGjemQCcOrANekhkMHMGn78nZAiEAyQh2AI7lIKewktOUva+XvETyxNDEtsE1fbkBZ6NY+xQ="}]},"directories":{}},"0.10.0":{"name":"bergson","main":"index.js","version":"0.10.0","description":"Time and scheduling for the web","author":{"name":"Colin Clark"},"homepage":"http://github.com/colinbdclark/bergson","repository":{"type":"git","url":"git://github.com/colinbdclark/bergson.git"},"bugs":{"url":"http://github.com/colinbdclark/bergson/issues"},"license":"(MIT OR GPL-2.0)","keywords":["music","audio","video","scheduling"],"devDependencies":{"jqUnit":"git://github.com/fluid-project/node-jqUnit.git","grunt":"^0.4.5","grunt-contrib-clean":"~0.4.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.8.0","grunt-contrib-uglify":"~0.3.2","grunt-contrib-watch":"^0.6.1"},"dependencies":{"infusion":"2.0.0-dev.20151007T134312Z.8c33cd4","dedupe-infusion":"1.0.0"},"engines":{"node":">=0.10.0"},"scripts":{"dedupe-infusion":"node -e \"require('dedupe-infusion')();\"","test":"npm run dedupe-infusion && node tests/node-all-tests.js"},"gitHead":"96986c9fa42a0bd187c3e10e72dea04cd2fa8ff8","_id":"bergson@0.10.0","_shasum":"b12553295c171f07bb9d60e6aecddd2b7fb70148","_from":".","_npmVersion":"2.12.1","_nodeVersion":"0.12.7","_npmUser":{"name":"colinbdclark","email":"colinbdclark@gmail.com"},"dist":{"shasum":"b12553295c171f07bb9d60e6aecddd2b7fb70148","tarball":"https://registry.npmjs.org/bergson/-/bergson-0.10.0.tgz","integrity":"sha512-eZ8J3+enAinsj9KbxhaZv/f9BJrsUP36mGrHLeoN8pSGn7lOA12iGoxkky63Vvo8OBgCOhuBdVpijLDNIXVe2A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEtq5fCawAHCYpb6sNKVl2Ogc4xAAum+XPTdnNPhWX0IAiAqcGnVeryQbA3lA61V6h/wHzyvoB0MOD+dyWBccY8pCA=="}]},"maintainers":[{"name":"colinbdclark","email":"colinbdclark@gmail.com"}],"directories":{}},"0.10.1":{"name":"bergson","main":"index.js","version":"0.10.1","description":"Time and scheduling for the web","author":{"name":"Colin Clark"},"homepage":"http://github.com/colinbdclark/bergson","repository":{"type":"git","url":"git://github.com/colinbdclark/bergson.git"},"bugs":{"url":"http://github.com/colinbdclark/bergson/issues"},"license":"(MIT OR GPL-2.0)","keywords":["music","audio","video","scheduling"],"devDependencies":{"jqUnit":"git://github.com/fluid-project/node-jqUnit.git","grunt":"^0.4.5","grunt-contrib-clean":"~0.4.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.8.0","grunt-contrib-uglify":"~0.3.2","grunt-contrib-watch":"^0.6.1"},"dependencies":{"infusion":"2.0.0-dev.20151024T031903Z.3da18aa","dedupe-infusion":"1.0.0"},"engines":{"node":">=0.10.0"},"scripts":{"dedupe-infusion":"node -e \"require('dedupe-infusion')();\"","test":"npm run dedupe-infusion && node tests/node-all-tests.js"},"gitHead":"8cac7fe2bfea3df703904e552b4fe051e92686b9","_id":"bergson@0.10.1","_shasum":"cda37db42f37451fffcbf137585bd01288263640","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.1","_npmUser":{"name":"colinbdclark","email":"colinbdclark@gmail.com"},"dist":{"shasum":"cda37db42f37451fffcbf137585bd01288263640","tarball":"https://registry.npmjs.org/bergson/-/bergson-0.10.1.tgz","integrity":"sha512-n1WsESYWNLKTLmVslhuV13TxkIU7YgHbrcncDWFeFIjGkE9Jsm3R+oSm8mxQYUroKclEMN5gaJXrTRrTtUBYUg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC58nar1eHIBbVwHcv4puD/sdJrlxEvEgTcczFTXzbB2AIgbWtPVQrWzf0CYF+BNUU0CvG+9R+zliS4H40ngvVyaLA="}]},"maintainers":[{"name":"colinbdclark","email":"colinbdclark@gmail.com"}],"directories":{}},"0.11.0":{"name":"bergson","main":"index.js","version":"0.11.0","description":"Time and scheduling for the web","author":{"name":"Colin Clark"},"homepage":"http://github.com/colinbdclark/bergson","repository":{"type":"git","url":"git://github.com/colinbdclark/bergson.git"},"bugs":{"url":"http://github.com/colinbdclark/bergson/issues"},"license":"(MIT OR GPL-2.0)","keywords":["music","audio","video","scheduling"],"devDependencies":{"node-jqunit":"1.1.0","sheep-benchmark":"github:colinbdclark/sheep.js","grunt":"^0.4.5","grunt-contrib-clean":"~0.4.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.8.0","grunt-contrib-uglify":"~0.3.2","grunt-contrib-watch":"^0.6.1"},"dependencies":{"jquery":"2.1.4","infusion":"2.0.0-dev.20151024T031903Z.3da18aa","dedupe-infusion":"1.0.0"},"engines":{"node":">=0.10.0"},"scripts":{"dedupe-infusion":"node -e \"require('dedupe-infusion')();\"","test":"npm run dedupe-infusion && node tests/node-all-tests.js"},"gitHead":"f995038497f40b7bb3bbde31fbee60941485f54a","_id":"bergson@0.11.0","_shasum":"d962ed1d69178605e396c0513f2897810677421e","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.1","_npmUser":{"name":"colinbdclark","email":"colinbdclark@gmail.com"},"dist":{"shasum":"d962ed1d69178605e396c0513f2897810677421e","tarball":"https://registry.npmjs.org/bergson/-/bergson-0.11.0.tgz","integrity":"sha512-sMCEI82ThPkTkTOzkll4UTPn/MnyGlPupgMmQQqwN2mDJ3jOfnAfvMBjwqoF7hAHn9l8BeLZr1iOZ2hZLHQ3+g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHV+50FtZjFcjc31Kis7/fEM/rv+OEfYE7Yx0iL/+NF6AiEAjK7TmBqAkRrw5479KXW3CQYbH2X4PW/MMMFlY909Nf8="}]},"maintainers":[{"name":"colinbdclark","email":"colinbdclark@gmail.com"}],"directories":{}},"0.11.1":{"name":"bergson","main":"index.js","version":"0.11.1","description":"Time and scheduling for the web","author":{"name":"Colin Clark"},"homepage":"http://github.com/colinbdclark/bergson","repository":{"type":"git","url":"git://github.com/colinbdclark/bergson.git"},"bugs":{"url":"http://github.com/colinbdclark/bergson/issues"},"license":"(MIT OR GPL-2.0)","keywords":["music","audio","video","scheduling"],"devDependencies":{"node-jqunit":"1.1.0","sheep-benchmark":"github:colinbdclark/sheep.js","grunt":"^0.4.5","grunt-contrib-clean":"~0.4.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.8.0","grunt-contrib-uglify":"~0.3.2","grunt-contrib-watch":"^0.6.1"},"dependencies":{"jquery":"2.1.4","infusion":"2.0.0-dev.20151130T180545Z.18ee3f8","dedupe-infusion":"1.0.0"},"engines":{"node":">=0.10.0"},"scripts":{"dedupe-infusion":"node -e \"require('dedupe-infusion')();\"","test":"npm run dedupe-infusion && node tests/node-all-tests.js"},"gitHead":"82ea63b4a97bf0d28f1a21f2c5d8337ee8bae8e4","_id":"bergson@0.11.1","_shasum":"64eff487e5db35bcbd22893aea663538186bd028","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.1","_npmUser":{"name":"colinbdclark","email":"colinbdclark@gmail.com"},"dist":{"shasum":"64eff487e5db35bcbd22893aea663538186bd028","tarball":"https://registry.npmjs.org/bergson/-/bergson-0.11.1.tgz","integrity":"sha512-MPZpIFKs84Mvm3F+le4RS8QUVgGKIKNiVpPuSGYaay9AVi7l6Tx1dpODowAgOaQRlPdyVg5DBUiG1fz6c/OImg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCtDdcCRb/otXbKir7SIBDlc9yI01+KvncB7Jg2XkKBQAIhAJQ9Ic1giMyCaKeDDj59xVNdCTpIVfFHYrvNibA2wEqg"}]},"maintainers":[{"name":"colinbdclark","email":"colinbdclark@gmail.com"}],"directories":{}},"0.12.0":{"name":"bergson","main":"index.js","version":"0.12.0","description":"Time and scheduling for the web","author":{"name":"Colin Clark"},"homepage":"http://github.com/colinbdclark/bergson","repository":{"type":"git","url":"git://github.com/colinbdclark/bergson.git"},"bugs":{"url":"http://github.com/colinbdclark/bergson/issues"},"license":"(MIT OR GPL-2.0)","keywords":["music","audio","video","scheduling"],"devDependencies":{"node-jqunit":"github:colinbdclark/node-jqUnit#FLUID-5875","sheep-benchmark":"github:colinbdclark/sheep.js","grunt":"^0.4.5","grunt-contrib-clean":"~0.4.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.8.0","grunt-contrib-uglify":"~0.3.2","grunt-contrib-watch":"^0.6.1"},"dependencies":{"jquery":"2.1.4","infusion":"2.0.0-dev.20160309T145652Z.9f515ec"},"engines":{"node":">=0.10.0"},"scripts":{"test":"node tests/node-all-tests.js"},"gitHead":"a7e158017d7db44cb0675093336d3d6ebfe95def","_id":"bergson@0.12.0","_shasum":"97b11422c7f8932376371207b1df12f9de711df2","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.1","_npmUser":{"name":"colinbdclark","email":"colinbdclark@gmail.com"},"dist":{"shasum":"97b11422c7f8932376371207b1df12f9de711df2","tarball":"https://registry.npmjs.org/bergson/-/bergson-0.12.0.tgz","integrity":"sha512-oYMBIgkCgFRE6N6Gu1iIWXBbKGVTyOyFBh8qS/52gRi6eYgJxF7VtrT5QtMFPWVdWsDnSMnS39BAjCLVMIreGg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHyD0HnceaIv6Fseygbp49t7KTNWJh60Yjc5NaveZuK3AiEAkbt28jC/4PK/4dc9GrXTYEH1u2Hs1oa7StqC6om2i0Q="}]},"maintainers":[{"name":"colinbdclark","email":"colinbdclark@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/bergson-0.12.0.tgz_1457900684787_0.8880678019486368"},"directories":{}},"0.12.1":{"name":"bergson","main":"index.js","version":"0.12.1","description":"Time and scheduling for the web","author":{"name":"Colin Clark"},"homepage":"http://github.com/colinbdclark/bergson","repository":{"type":"git","url":"git://github.com/colinbdclark/bergson.git"},"bugs":{"url":"http://github.com/colinbdclark/bergson/issues"},"license":"(MIT OR GPL-2.0)","keywords":["music","audio","video","scheduling"],"devDependencies":{"node-jqunit":"github:colinbdclark/node-jqUnit#FLUID-5875","sheep-benchmark":"github:colinbdclark/sheep.js","grunt":"^0.4.5","grunt-contrib-clean":"~0.4.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.8.0","grunt-contrib-uglify":"~0.3.2","grunt-contrib-watch":"^0.6.1"},"dependencies":{"jquery":"2.1.4","infusion":"2.0.0-dev.20160309T145652Z.9f515ec"},"engines":{"node":">=0.10.0"},"scripts":{"test":"node tests/node-all-tests.js"},"gitHead":"8fcdcf7a26e655e16a3219263f2d8af86eee6faf","_id":"bergson@0.12.1","_shasum":"4e7d539e2482f004d64a00079d9c4fe74151c0f0","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.1","_npmUser":{"name":"colinbdclark","email":"colinbdclark@gmail.com"},"dist":{"shasum":"4e7d539e2482f004d64a00079d9c4fe74151c0f0","tarball":"https://registry.npmjs.org/bergson/-/bergson-0.12.1.tgz","integrity":"sha512-1ozXQq/eemPBKpQPPD+q2eLspttaVwV/u9gOLqM1r2oxoz41XTAgUWb5i4uNjPe5GvIDhgz5mUluKQoRJIEpgw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDbLccB7MsMp86RV1Skwq7+eSSbmUghoeVFwRSD7BizXgIhANgTyiBm6AGLUdboiwbX2Rfk8bll5y+/roj5qYgVqguS"}]},"maintainers":[{"name":"colinbdclark","email":"colinbdclark@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/bergson-0.12.1.tgz_1457904482495_0.7337369155138731"},"directories":{}},"0.12.2":{"name":"bergson","main":"index.js","version":"0.12.2","description":"Time and scheduling for the web","author":{"name":"Colin Clark"},"homepage":"http://github.com/colinbdclark/bergson","repository":{"type":"git","url":"git://github.com/colinbdclark/bergson.git"},"bugs":{"url":"http://github.com/colinbdclark/bergson/issues"},"license":"(MIT OR GPL-2.0)","keywords":["music","audio","video","scheduling"],"devDependencies":{"node-jqunit":"1.1.4","sheep-benchmark":"github:colinbdclark/sheep.js","grunt":"1.0.1","grunt-contrib-clean":"1.0.0","grunt-contrib-concat":"1.0.1","fluid-grunt-eslint":"18.1.1","grunt-contrib-uglify":"1.0.1","grunt-contrib-watch":"1.0.0"},"dependencies":{"jquery":"3.1.0","infusion":"2.0.0-dev.20160519T222603Z.754d2c6"},"engines":{"node":">=4.0.0"},"scripts":{"prepublish":"grunt","browser-test":"testem ci --file tests/testem.json","node-test":"node tests/node-all-tests.js","test":"npm run node-test && npm run browser-test"},"gitHead":"b5d0f1e7d3ff62eb719cdfe6929a2f0719c87817","_id":"bergson@0.12.2","_shasum":"5419085c2dd315f977bc164110fa281b0e6c8d65","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.1","_npmUser":{"name":"colinbdclark","email":"colinbdclark@gmail.com"},"dist":{"shasum":"5419085c2dd315f977bc164110fa281b0e6c8d65","tarball":"https://registry.npmjs.org/bergson/-/bergson-0.12.2.tgz","integrity":"sha512-nHJxnSM3pH2rgC+qexskEipfbCq406GU6IYZKApOXf/iaIvwyBy3aR46uEwIfrOrhuyD+iijuED/jRsR+XPtXw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGDzAPmbOE3eClPB7qtkYeusMSrJjq2CLHCMe0e0PxfXAiBUNKGFBGJEdzoFusP1kEpzX0nHIQGw1+nt8vdh/7h4Eg=="}]},"maintainers":[{"name":"colinbdclark","email":"colinbdclark@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/bergson-0.12.2.tgz_1472603266949_0.445682140532881"},"directories":{}},"0.12.3":{"name":"bergson","main":"index.js","version":"0.12.3","description":"Time and scheduling for the web","author":{"name":"Colin Clark"},"homepage":"http://github.com/colinbdclark/bergson","repository":{"type":"git","url":"git://github.com/colinbdclark/bergson.git"},"bugs":{"url":"http://github.com/colinbdclark/bergson/issues"},"license":"(MIT OR GPL-2.0)","keywords":["music","audio","video","scheduling"],"devDependencies":{"node-jqunit":"1.1.4","sheep-benchmark":"github:colinbdclark/sheep.js","grunt":"1.0.1","grunt-contrib-clean":"1.0.0","grunt-contrib-concat":"1.0.1","fluid-grunt-eslint":"18.1.1","grunt-contrib-uglify":"1.0.1","grunt-contrib-watch":"1.0.0"},"dependencies":{"jquery":"3.1.0","infusion":"2.0.0-dev.20160519T222603Z.754d2c6"},"engines":{"node":">=4.0.0"},"scripts":{"prepublish":"grunt","browser-test":"testem ci --file tests/testem.json","node-test":"node tests/node-all-tests.js","test":"npm run node-test && npm run browser-test"},"gitHead":"9037e4d72bd105613264f5063867905ede6cf103","_id":"bergson@0.12.3","_shasum":"91e703ec7cdd51315deae4bca791f5d958a477b6","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.1","_npmUser":{"name":"colinbdclark","email":"colinbdclark@gmail.com"},"dist":{"shasum":"91e703ec7cdd51315deae4bca791f5d958a477b6","tarball":"https://registry.npmjs.org/bergson/-/bergson-0.12.3.tgz","integrity":"sha512-2IZ9zaQeV+y9u2yLSJxygwW3O6nynCeHYIAYHZNaJnudoeoFB0+1R2Rsm5VAknX+2Tgwb9c6gFZhUNriI8ZFgA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBI0bKelInLEynfxRykJ1solI7054AdfEMdj/VTyfuFwAiEAjl1NwhTiEr3hBwo4GsnPRnfmcs2jByerYdzGR0HyA+4="}]},"maintainers":[{"name":"colinbdclark","email":"colinbdclark@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/bergson-0.12.3.tgz_1472604177667_0.005573890404775739"},"directories":{}},"0.13.0":{"name":"bergson","main":"index.js","version":"0.13.0","description":"Time and scheduling for the web","author":{"name":"Colin Clark"},"homepage":"http://github.com/colinbdclark/bergson","repository":{"type":"git","url":"git://github.com/colinbdclark/bergson.git"},"bugs":{"url":"http://github.com/colinbdclark/bergson/issues"},"license":"(MIT OR GPL-2.0)","keywords":["music","audio","video","scheduling"],"devDependencies":{"node-jqunit":"1.1.4","sheep-benchmark":"github:colinbdclark/sheep.js","grunt":"1.0.1","grunt-contrib-clean":"1.0.0","grunt-contrib-concat":"1.0.1","fluid-grunt-eslint":"18.1.1","grunt-contrib-uglify":"1.0.1","grunt-contrib-watch":"1.0.0"},"dependencies":{"jquery":"3.1.0","infusion":"2.0.0"},"engines":{"node":">=4.0.0"},"scripts":{"prepublish":"grunt","browser-test":"testem ci --file tests/testem.json","node-test":"node tests/node-all-tests.js","test":"yarn run node-test && yarn run browser-test"},"gitHead":"0d2e99119861c46cfa42d4f9fb63b52fd111a6c8","_id":"bergson@0.13.0","_shasum":"9a10f61ecffd1ded2d1705a7e954011ce5a31382","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.1","_npmUser":{"name":"colinbdclark","email":"colinbdclark@gmail.com"},"dist":{"shasum":"9a10f61ecffd1ded2d1705a7e954011ce5a31382","tarball":"https://registry.npmjs.org/bergson/-/bergson-0.13.0.tgz","integrity":"sha512-vHrbQEOuo9CXb9FhcJUpHkyL1wiQ483aJ5O41Gu/l9xfYfGHtSJqP98eJi1GQvfAbKGRd8KwsSgsiJFUvf7+EQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHyBFElFaL7u+JzL9MIaomEFq6XSJML3AkjyYQN7exQCAiBebgXwbip+Nam3u0xxKOQABu+Pbs77VC4HYfjVKuZydQ=="}]},"maintainers":[{"name":"colinbdclark","email":"colinbdclark@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/bergson-0.13.0.tgz_1481770850859_0.8494873128365725"},"directories":{}},"0.13.1":{"name":"bergson","main":"index.js","version":"0.13.1","description":"Time and scheduling for the web","author":{"name":"Colin Clark"},"homepage":"http://github.com/colinbdclark/bergson","repository":{"type":"git","url":"git://github.com/colinbdclark/bergson.git"},"bugs":{"url":"http://github.com/colinbdclark/bergson/issues"},"license":"(MIT OR GPL-2.0)","keywords":["music","audio","video","scheduling"],"devDependencies":{"node-jqunit":"1.1.7","sheep-benchmark":"github:colinbdclark/sheep.js","grunt":"1.0.1","grunt-contrib-clean":"1.1.0","grunt-contrib-concat":"1.0.1","fluid-grunt-eslint":"18.1.2","grunt-contrib-uglify":"3.1.0","grunt-contrib-watch":"1.0.0"},"dependencies":{"jquery":"3.2.1","infusion":"3.0.0-dev.20171102T191539Z.c0636b395"},"engines":{"node":">=4.0.0"},"scripts":{"prepare":"grunt","browser-test":"testem ci --file tests/testem.json","node-test":"node tests/node-all-tests.js","test":"npm run node-test && npm run browser-test"},"gitHead":"d8bc2c568fdf23e45731b1a4009932be5a82a33c","_id":"bergson@0.13.1","_npmVersion":"5.5.1","_nodeVersion":"8.9.0","_npmUser":{"name":"colinbdclark","email":"colinbdclark@gmail.com"},"dist":{"integrity":"sha512-CNNDKsQyucGhCLhLkR6/TLK2JRXpu1SbFrKOpm6nNz/GNdRRDNxET2qcv0UdV7xdfpclYfwE3X7g3uDQBj5Yzg==","shasum":"03e4007a03feb1eb947b62fb5f8fb0f43fddca7f","tarball":"https://registry.npmjs.org/bergson/-/bergson-0.13.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDv77VbKj60Ohqo5y7Ym098EL5VcsNIaoH2DiaFdrtSrQIge0J+igKc8P6J7Hfv/AVCtHQCa1m20QXjcFyYhDbSQDU="}]},"maintainers":[{"name":"colinbdclark","email":"colinbdclark@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bergson-0.13.1.tgz_1510630498426_0.3184361110907048"},"directories":{}},"0.13.2":{"name":"bergson","main":"index.js","version":"0.13.2","description":"Time and scheduling for the web","author":{"name":"Colin Clark"},"homepage":"http://github.com/colinbdclark/bergson","repository":{"type":"git","url":"git://github.com/colinbdclark/bergson.git"},"bugs":{"url":"http://github.com/colinbdclark/bergson/issues"},"license":"(MIT OR GPL-2.0)","keywords":["music","audio","video","scheduling"],"devDependencies":{"node-jqunit":"1.1.7","sheep-benchmark":"github:colinbdclark/sheep.js","grunt":"1.0.3","grunt-contrib-clean":"1.1.0","grunt-contrib-concat":"1.0.1","grunt-contrib-uglify":"3.4.0","fluid-grunt-eslint":"18.1.2","testem":"2.9.0"},"dependencies":{"jquery":"3.3.1","infusion":"3.0.0-dev.20180720T113347Z.272cf70"},"engines":{"node":">=4.0.0"},"scripts":{"prepare":"grunt","browser-test":"testem ci --file tests/testem.json","node-test":"node tests/node-all-tests.js","test":"npm run node-test && npm run browser-test"},"gitHead":"d8bc2c568fdf23e45731b1a4009932be5a82a33c","_id":"bergson@0.13.2","_npmVersion":"5.6.0","_nodeVersion":"8.11.1","_npmUser":{"name":"colinbdclark","email":"colinbdclark@gmail.com"},"dist":{"integrity":"sha512-8GkWgwmrJb0nuMoS3ciyNWeXMGFIqJqHtHdcDECMncgMFtha9QT7SkwTTbUZ3b44F9yiFeEu+eEgYkQ+IzvQiw==","shasum":"c723c69e6acb89d79b3e21e02ac1fb7d0c23bfa6","tarball":"https://registry.npmjs.org/bergson/-/bergson-0.13.2.tgz","fileCount":59,"unpackedSize":1417682,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbX+NRCRA9TVsSAnZWagAABEAP/iqjrjdB9OZqJKPqkwp1\nrX0qyAkZ5+v5tZgWX45dMkJba4jkARAv6lsEljoE4qSO6g+8kq6BqF+wZv88\nDyQNjVgC8r0yLT6GRD/3PBorJiaT2xrroCUa/6NOjevWeU4sqUIsrgRRw9wK\nqNCCnqUdeFlM5UQE5U7SgSkhmlB8RiUwcvHb6jpopBTUqTFnRrEexA25pgcL\nvHKrjGR2PnmAjN3OQlAqGLRAPDc2d55nxXLBhMDSe/W2+wjak83MdwANpTyn\nhJ5+V58tHN0OyBiZTiQxX4RA2bLm7Ip2GIgqcHiG8iGRkQbCw/rU/QUxSqM4\nMELCTVxbrfF0ML/Dk8/A47TuIIo1oIG15D6W+HHlt2Ji3wrA0CZjwpPcxCex\nF0c33OkQzckqK5duQ3VOT4vq77GVYImlnd312yfIW2n0Dj7L/SnVRXSwyz27\n5IUnB9qde+SLzvGyEE8zCN08T2lplIVJUZbeTAKrMxZYL7gb66JxjxUREo8B\n7g9PC8L0Rk/3EX5eh7F+mKAB2n0p7Iz0fU0y63g1vdN8yv90z8SPPKFGs3y9\n4RwYsYYjf5XdnSV5Dqgr0mbWACscmZwFUCoNGitAcBVyumGoF4O52gGovJA5\n0zR2ELPXQeNnl9BNb7BNGkxWGVVBObSgzCqlOhX7a7TKahdXfIM/zhx7dXiq\nEdcl\r\n=cnQ3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAmFgcjWovX9d1sGxeD5lFBDc65E4QesE7lR52ZEwHsBAiAV6ZeQiDMnP4TKR8a0pUQB0s6/yhjv1QI4Pfv7pgp1XA=="}]},"maintainers":[{"name":"colinbdclark","email":"colinbdclark@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bergson_0.13.2_1533010768961_0.820352340650657"},"_hasShrinkwrap":false},"0.14.0":{"name":"bergson","main":"index.js","version":"0.14.0","description":"Time and scheduling for the web","author":{"name":"Colin Clark"},"homepage":"http://github.com/colinbdclark/bergson","repository":{"type":"git","url":"git://github.com/colinbdclark/bergson.git"},"bugs":{"url":"http://github.com/colinbdclark/bergson/issues"},"license":"(MIT OR GPL-2.0)","keywords":["music","audio","video","scheduling"],"devDependencies":{"node-jqunit":"1.1.8","sheep-benchmark":"github:colinbdclark/sheep.js","grunt":"1.0.3","grunt-contrib-clean":"2.0.0","grunt-contrib-concat":"1.0.1","grunt-contrib-uglify":"4.0.0","fluid-grunt-eslint":"18.1.2","testem":"2.14.0"},"dependencies":{"infusion":"3.0.0-dev.20181204T213346Z.2ca90f6e6"},"scripts":{"prepare":"grunt","browser-test":"testem ci --file tests/testem.json","node-test":"node tests/node-all-tests.js","test":"npm run node-test && npm run browser-test"},"gitHead":"491854b0544a2abf19cd4a0ed67690373eb2c118","_id":"bergson@0.14.0","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"colinbdclark","email":"colinbdclark@gmail.com"},"dist":{"integrity":"sha512-OhILO1jXLDaznckPCGjmiuLktZaYd1/slw7WMNlmAyBhdlKxjOADOginZlnTfIkPzNfcgQ1PPJPeGA3AZvCsTw==","shasum":"621bc182fc2dfcebf93b70850455c0a90cb4091f","tarball":"https://registry.npmjs.org/bergson/-/bergson-0.14.0.tgz","fileCount":59,"unpackedSize":1436469,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcL76tCRA9TVsSAnZWagAAsrgP/30Gzhl2+oX2IN0KzINb\nJPCBHgvUFNnJ3dpKLt/SrlAaCKA82zdr1ISV0iL+69hH+xrhmmKjhBd85MtJ\npznvrJnHY9bYO8V6agFr8Ie6ZU49Ax7S+DCm0QLCsHsz8rg9mLkhLobk9yqz\n91aRjzsNNCBnMRKXQYFpFYD9CSpnWBL9VD2Qx6hC9N70mmcP/xM2Eo7w5Tai\nEVF+nTF2WuVZbwTIlmjmR5jJTsH0CAo0kSut+x8gW1cNktpfuffKVt7jn+TA\nMqMxmvsLtIdSeaIAUfR1Smwjd+ncCKwqUrDoTdRUvPp3+PlXVvhPFpBzq+re\nb03Xxl7/7BGvozafRKlqikARbxcpTs5EwlSpDWeZOn2DFZHg8GU/185wXQuu\nd+cKm38I925cuP6MtfBfejMLubwZXjwIyuLZt0LmTK+1UIcbSLMd+v6uuCoq\nvznujQEAm7/DtBLAllDun+4TopzLDmJrnH28q0mjPsg6GyitXT/5+iTNPJHG\npGKmOI6HpgnzrJOfWl9+nBypfvev72eLtE6rb3dK35siRmYKjclFjIXzncVM\nPP+EBHkq/W099S6VvnsHhoXyj5uLokqB9dDrm+qF7FIBpYmBRmxEP3RB94DL\n4XTka5ezEnmb47AOH4StLkCkCo3BXIoyjuGxM2a//7sfOvCYPWB6bX3+eAUj\nSDD1\r\n=rR0r\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCA72yhY8300nQSbcMTY7uXoCZ51yliqBitZySqd+TSJAIgQOW5BqtsqsHtcezPSlUDmP3K+SnTRzb3tGMIs85GZag="}]},"maintainers":[{"name":"colinbdclark","email":"colinbdclark@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bergson_0.14.0_1546632876810_0.6901134435586833"},"_hasShrinkwrap":false},"0.15.0-dev.20190108T045554Z.6728e52.gh-15":{"name":"bergson","main":"index.js","version":"0.15.0-dev.20190108T045554Z.6728e52.gh-15","description":"Time and scheduling for the web","author":{"name":"Colin Clark"},"homepage":"http://github.com/colinbdclark/bergson","repository":{"type":"git","url":"git://github.com/colinbdclark/bergson.git"},"bugs":{"url":"http://github.com/colinbdclark/bergson/issues"},"license":"(MIT OR GPL-2.0)","keywords":["music","audio","video","scheduling"],"readmeFilename":"README.md","devDependencies":{"node-jqunit":"1.1.8","sheep-benchmark":"github:colinbdclark/sheep.js","grunt":"1.0.3","grunt-contrib-clean":"2.0.0","grunt-contrib-concat":"1.0.1","grunt-contrib-uglify":"4.0.0","fluid-grunt-eslint":"18.1.2","testem":"2.14.0"},"dependencies":{"infusion":"3.0.0-dev.20181204T213346Z.2ca90f6e6"},"scripts":{"prepare":"grunt","browser-test":"testem ci --file tests/testem.json","node-test":"node tests/node-all-tests.js","test":"npm run node-test && npm run browser-test"},"readme":"Bergson\n=======\n\nWhat is Bergson?\n----------------\n\nBergson is the scheduling system for [Flocking](https://github.com/colinbdclark/Flocking) and [Aconite](https://github.com/colinbdclark/aconite). It provides a variety of clocks driven by different\nsources (such as requestAnimationFrame, the Web Audio API, and setInterval), and a priority queue-based\nscheduler that allows you to queue up one-time and repeating function calls.\n\nBergson provides a very low-level API for scheduling, and is intended for library developers to build\ntheir own rhythmic and pattern-based abstractions on top of.\n\nExamples\n--------\n\n### Creating a Scheduler with the requestAnimationFrame Clock ###\n\n    var scheduler = berg.scheduler({\n        components: {\n            clock: {\n                type: \"berg.clock.requestAnimationFrame\",\n                options: {\n                    freq: 60\n                }\n            }\n        }\n    });\n\n    scheduler.start();\n\n### Scheduling one-time events ###\n\n    scheduler.schedule({\n        type: \"once\",\n        time: 30            // 30 seconds from now\n        callback: function (now) {\n            // Do something in the future.\n        }\n    });\n\n### Scheduling repeating events ###\n\n    scheduler.schedule({\n        type: \"repeat\",\n        time: 5,            // Start repeating five seconds from now.\n        freq: 2,            // Repeat every two seconds.\n        end: 20,            // Stop repeating 20 seconds from now.\n        callback: function (now) {\n            // Do something repeatedly.\n        }\n    });\n\n### Listening for Clock Events Directly ###\n\n    scheduler.clock.events.onTick.addListener(function (time, rate) {\n        // Do something every time the clock ticks.\n    });\n\n\nBergson API\n-------------\n\n### Scheduler API ###\n\n#### Score Event Specifications ####\n\nA _score event specification_ is a JSON-type (i.e. plain old, non-prototypal) object that describes the event to be scheduled. It can contain the following properties.\n\n<table>\n    <tr>\n        <th>Property</th>\n        <th>Value</th>\n        <th>Description</th>\n    </tr>\n    <tr>\n        <td>type</td>\n        <td><code>\"once\"</code> or <code>\"repeat\"</code></td>\n        <td>The type of event to schedule (either one-time or repeating).</td>\n    </tr>\n    <tr>\n        <td>time</td>\n        <td>Number</td>\n        <td>The future time in seconds when the scheduled event should occur.</td>\n    </tr>\n    <tr>\n        <td>interval</td>\n        <td>Number</td>\n        <td>(Only for repeating events) The time interval, in seconds, between repetitions. This option takes precendence over <code>freq</code> if both are provided.</td>\n    </tr>\n    <tr>\n        <td>freq</td>\n        <td>Number</td>\n        <td>(Only for repeating events) The frequency at which the event should repeat. This option will be overridden by <code>interval</code> if both are provided.</td>\n    </tr>\n    <tr>\n        <td>end</td>\n        <td>Number</td>\n        <td>(Only for repeating events) The future time in seconds when the scheduled event should stop repeating.</td>\n    </tr>\n    <tr>\n        <td>callback</td>\n        <td>Function</td>\n        <td>The function to invoke.</td>\n    </tr>\n</table>\n\n#### Scheduler Model ####\n\nFor more information on interacting with models, see the [Infusion documentation about the Change Applier](http://docs.fluidproject.org/infusion/development/ChangeApplierAPI.html).\n\n<table>\n    <tr>\n        <th>Property</th>\n        <th>Description</th>\n        <th>Types</th>\n    </tr>\n    <tr>\n        <td>timeScale</td>\n        <td>The scheduler's time scale factor. Defaults to 1.0.</td>\n        <td>Number</td>\n    </tr>\n</table>\n\n#### Scheduler Members ####\n\n<table>\n    <tr>\n        <th>Property</th>\n        <th>Description</th>\n        <th>Types</th>\n    </tr>\n    <tr>\n        <td>queue</td>\n        <td>The priority queue used to sort and queue score events.</td>\n        <td><code>berg.priorityQueue</code></td>\n    </tr>\n</table>\n\n#### Scheduler Methods ####\n\n<table>\n    <tr>\n        <th>Method</th>\n        <th>Description</th>\n        <th>Argument Types</th>\n        <th>Returns</th>\n    </tr>\n    <tr>\n        <td>start</td>\n        <td>Starts the scheduler and its clock.</td>\n        <td>none</td>\n        <td><code>undefined</code></td>\n    </tr>\n    <tr>\n        <td>stop</td>\n        <td>Stops the scheduler and its clock.</td>\n        <td>none</td>\n        <td><code>undefined</code></td>\n    </tr>\n    <tr>\n        <td>schedule\n        <td>Schedules an event</td>\n        <td>A _score event specification_ object</td>\n        <td>The scheduled score event specification.</td>\n    </tr>\n    <tr>\n        <td>clear</td>\n        <td>Removes a scheduled event from the scheduler queue.</td>\n        <td>The _score event specification_ to clear.</td>\n        <td><code>undefined</code></td>\n    </tr>\n    <tr>\n        <td>clearAll</td>\n        <td>Removes all scheduled events from the scheduler queue.</td>\n        <td>none</td>\n        <td><code>undefined</code></td>\n    </tr>\n    <tr>\n        <td>setTimeScale</td>\n        <td>Sets the time scale factor for the scheduler. This will cause all time values for current and future scheduled events to be scaled by the specified value.</td>\n        <td><code>Number</code></td>\n        <td><code>undefined</code></td>\n    </tr>\n</table>\n\n### Clock API ###\n\n#### Clock Members ####\n\n<table>\n    <tr>\n        <th>Property</th>\n        <th>Description</th>\n        <th>Types</th>\n    </tr>\n    <tr>\n        <td>time</td>\n        <td>The current clock time, in seconds.</td>\n        <td>Number</td>\n    </tr>\n    <tr>\n        <td>freq</td>\n        <td>The clock's frequency, in cyles per second.</td>\n        <td>Number</td>\n    </tr>\n    <tr>\n        <td>tickDuration</td>\n        <td>The duration between ticks, in seconds.</td>\n        <td>Number</td>\n    </tr>\n</table>\n\n#### Clock Methods ####\n\n<table>\n    <tr>\n        <th>Method</th>\n        <th>Description</th>\n        <th>Argument Types</th>\n        <th>Returns</th>\n    </tr>\n    <tr>\n        <td>start</td>\n        <td>Starts the clock.</td>\n        <td>none</td>\n        <td><code>undefined</code></td>\n    </tr>\n    <tr>\n        <td>stop</td>\n        <td>Stops clock.</td>\n        <td>none</td>\n        <td><code>undefined</code></td>\n    </tr>\n    <tr>\n        <td>tick</td>\n        <td>Advances the clock's time. (This will be invoked automatically for most clocks.)</td>\n        <td>None</td>\n        <td><code>undefined</code></td>\n    </tr>\n</table>\n\n#### Clock Events ####\n\n<table>\n    <tr>\n        <th>Event Name</th>\n        <th>Description</th>\n        <th>Argument Types</th>\n    </tr>\n    <tr>\n        <td>onTick</td>\n        <td>Fires each time the clock ticks.</td>\n        <td><code>Number</code> time: the current clock time in seconds</td>\n    </tr>\n</table>\n\nTypes of Clocks\n---------------\n\n<table>\n    <tr>\n        <th>Clock</th>\n        <th>Description</th>\n        <th>Default rate</th>\n    </tr>\n    <tr>\n        <td><code>berg.clock.requestAnimationFrame</code></td>\n        <td>A clock that is driven at (or as near as possible to) the display's refresh rate by the browser's built-in <code>requestAnimationFrame</code> function. Note that this clock will be throttled down to\n        1 Hz automatically by the browser if its tab is not active.</td>\n        <td>60 Hz. You must override this value if your display is running a different refresh rate.</td>\n    </tr>\n    <tr>\n        <td><code>berg.clock.audioContext</code></td>\n        <td>Uses the Web Audio API's <code>AudioContext</code> as a source of time. This clock\n        needs to be driven by your own ScriptProcessorNode code (i.e. by calling its <code>tick()</code> method within your <code>onaudioprocess</code> handler). This clock will not start ticking until its <code>start()</code> method is invoked by a user action (such as a button click).</td>\n        <td>Dynamically determined based on the AudioContext's <code>sampleRate</code> and this clock's <code>blockSize</code> option.</td>\n    </tr>\n    <tr>\n        <td><code>berg.clock.autoAudioContext</code></td>\n        <td>An AudioContext-based clock that will automatically create a <code>ScriptProcessorNode</code> instance and wire it up correctly for you. Use this if you're not using the Web Audio API directly, but want a rock-solid clock for scheduling events in your application. This clock will not start ticking until its <code>start()</code> method is invoked by a user action (such as a button click).</td>\n        <td>Dynamically determined based on the AudioContext's <code>sampleRate</code> and this clock's <code>blockSize</code> option.</td>\n    </tr>\n    <tr>\n        <td><code>berg.clock.setInterval</code></td>\n        <td>A clock that is driven by the browser's built-in (and notoriously jittery) <code>setInterval</code> function. Use this if you don't need significant reliability, and want maximal cross-environment compatibility (e.g. with Node.js). Note that this clock will be throttled down automatically\n        by the browser if its tab is not active.</td>\n        <td>10 Hz</td>\n    </tr>\n    <tr>\n        <td><code>berg.clock.workerSetInterval</code></td>\n        <td>Like <code>berg.clock.setInterval</code>, except that it employs a Web Worker in order to avoid\n        the standard throttling done by browsers when the page is in the background.</td>\n        <td>10 Hz</td>\n    </tr>\n    <tr>\n        <td><code>berg.clock.offline</code></td>\n        <td>A base grade for creating your own types of clocks.\n        An offline clock tracks time relatively (i.e. without reference to a \"real\" source of time\n        such as the system clock). This clock should be driven manually by invoking its tick() method.</td>\n        <td>1 Hz</td>\n    </tr>\n    <tr>\n        <td><code>berg.clock.realtime</code></td>\n        <td>A base grade for creating your own types of clocks.\n        A realtime clock tracks time based on the actual system time using,\n        by default, <code>performance.now()</code>.\n        This clock should be driven manually by invoking its tick() method.</td>\n        <td>1 Hz</td>\n    </tr>\n</table>\n\nBuilding and Testing Bergson\n-----------------------------\n\n### Prerequisites\n\nBergson uses Node.js, npm, Grunt, and Testem for its build and test tooling. Here's how to get set up:\n\n    1. Install the [Node.js](https://nodejs.org/en/) LTS release\n    3. Install Grunt: <code>npm install -g grunt-cli</code>\n    4. Install Testem: <code>npm install -g testem</code>\n\n\n### How to Build Bergson\n\nTo download all of Bergson's dependencies, build them, and then build Bergson itself, run the following commands:\n\n    npm install\n    grunt\n\n### Running Bergson's Test Suite\n\nBergson's test suite can be run on both Node.js and all of the browsers installed on your computer using Testem:\n\n    npm test\n\nIf you'd like to run only the Node.js tests, run:\n\n    npm run node-test\n\nOr if you only want to run the browser tests:\n\n    npm run browser-test\n\nAlternatively, if you'd like to only run the tests in one browser, you can open the test suite ``tests/unit/all-tests.html`` file by hand in your browser.\n\nCommunity\n---------\n\nBergson is supported by the Flocking community and uses its forums:\n\n### Mailing List\nThe [Flocking mailing list](http://lists.idrc.ocadu.ca/mailman/listinfo/flocking)\nis the place to ask questions, share code, and request new features.\n\n### Chat\nFlocking has an IRC channel, which can also be used to ask questions about Bergson. Join <code>#flocking</code> on <code>irc.freenode.net</code>.\n\nCredits and License\n-------------------\n\nBergson is written and maintained by Colin Clark. It is dually licensed under the MIT and GPL 2.0 licenses.\n","gitHead":"6728e52d224900c1ec357bc215e1935a10f2d981","_id":"bergson@0.15.0-dev.20190108T045554Z.6728e52.gh-15","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"colinbdclark","email":"colinbdclark@gmail.com"},"dist":{"integrity":"sha512-nSCPpA+/Ef5YsAHv/6SV7rI5/atnhQ6Aeo5eW6uikMLHZbj9GTowvctOqRaYS03ZvQszEGSkb7RQQjDt2UCqbg==","shasum":"808ec2a47a10d75904a61b16c1e9e3c27d911ac2","tarball":"https://registry.npmjs.org/bergson/-/bergson-0.15.0-dev.20190108T045554Z.6728e52.gh-15.tgz","fileCount":63,"unpackedSize":1460746,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcNC3VCRA9TVsSAnZWagAA5IIQAIG58EPvk4MXswt1556B\nHoeXdUxzas/qontD7uBnRsWxR8Soa5ONhj7jpKXH3/yBEf3WmJQfQhbCRE2P\nBnPVR6Mj3yWnEME6G8E1Qx4StGbnzNPcp+KvQuP66dyA6rXH6si3HbyJyYl/\nf/JaVBL4xiogalpUGMBgCVTIOQMOSKuUbkYTyKTN1vmTx/o9k5eYFKQ0miTN\nXeun83GlKJLUB0pNIVVoAX+3xpyDiPZbjhaqiCE9Uuvi1gUOf04raZsssUd3\nG9kompdr1NususXE/OzBUUXGCYrnNfbrbWgOD8XkkQSOIjW7oiqvTEIvOE8s\nfertgFdSERGbjw0q3bUWxzIVPo8kmQaW2XCizOQHZD2aIJWFZemx+dvKRvmX\nuu9dpyHw7L3bqWR6QfYrpJ5IG8sE0GpkxGWkNrFoKt5qxwuw/jr/BNbPRT2m\n+MN8/KNgOQBTmxDzX3y28VXaMAvRiCf+i/l0D0/u7HKSEDBwgOa4k97D6BtC\n6FDsfy7WaGSv2T/Ti7+QDJlHTRI37+o0k7zddgJ67N7IUsK5lGAcnBjT1iUd\n+m5zZuyMkKpi8yeww0rEkUiTaeuJXecCkmRIkQJrG+1Bn6v0jEehqMy3I90C\nu0hX/P6HwbGAnW+QMWsRIZkgtDkFHUR5c4ycSSwI/upjpEexY5VlCu81SlkO\naLH2\r\n=9TGk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD8AT+yR9jI9nc5Zy6bummbdNC2kZ+9WUVpNziY7yOgUgIhAM8gyFZGJN5j0c+Qjgtxq8l9YNZXPvYcKEiKl4EdjJeV"}]},"maintainers":[{"name":"colinbdclark","email":"colinbdclark@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bergson_0.15.0-dev.20190108T045554Z.6728e52.gh-15_1546923477178_0.6292738469902948"},"_hasShrinkwrap":false},"0.14.1":{"name":"bergson","main":"index.js","version":"0.14.1","description":"Time and scheduling for the web","author":{"name":"Colin Clark"},"homepage":"http://github.com/colinbdclark/bergson","repository":{"type":"git","url":"git://github.com/colinbdclark/bergson.git"},"bugs":{"url":"http://github.com/colinbdclark/bergson/issues"},"license":"(MIT OR GPL-2.0)","keywords":["music","audio","video","scheduling"],"devDependencies":{"node-jqunit":"1.1.8","sheep-benchmark":"github:colinbdclark/sheep.js","grunt":"1.0.4","grunt-contrib-clean":"2.0.0","grunt-contrib-concat":"1.0.1","grunt-contrib-uglify":"4.0.1","fluid-grunt-eslint":"18.1.2","testem":"3.0.2"},"dependencies":{"infusion":"3.0.0-dev.20191107T164711Z.332e92c33.FLUID-6148"},"scripts":{"prepare":"grunt","browser-test":"testem ci --file tests/testem.json","node-test":"node tests/node-all-tests.js","test":"npm run node-test && npm run browser-test"},"gitHead":"8ad446da646c8074c2e487bd2f8877a125bfd3c6","_id":"bergson@0.14.1","_npmVersion":"6.4.1","_nodeVersion":"10.15.1","_npmUser":{"name":"colinbdclark","email":"colinbdclark@gmail.com"},"dist":{"integrity":"sha512-Wgt2ILppZH9KYeD1dqyYn+tmUen9t4Q30kLWHUb979MZu2f8SXTBSkbr3IDE4lg7br0x0wFMUeJTiXrtsmrI8w==","shasum":"f0544e78584eb289fddb18ef49ed95c9aced2b69","tarball":"https://registry.npmjs.org/bergson/-/bergson-0.14.1.tgz","fileCount":59,"unpackedSize":1633199,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd8nNaCRA9TVsSAnZWagAAFJ4QAKHq8fTbKO5jpzgn+Igy\nM659XUFCABut5B1P8K57t/Tz/zFzumv5YoAcRxaxgbw6uuF8rOwbLzWqOTET\nCg4S1HZnlsDK6GeG1GBLSc3H1CCbCOmgg95AnytYK+xgE/GDDhuPFFgVho1T\nLkDtP5K2FQB7f31u3GiKX4jFNc2F3zDjsNztxWJ10OZ4LTyb47sK3Tr5loiO\nSBiudcXMeo/A1C7jtSasvSDBNIMve+GkyxT0Ob2u78XvqN3CFrofn3zgg3HR\nX9QVVuApTF1yg/06gEUniWEUJRyCjb5RPbw8R47iClWfN4+cSXDdDc+HPLxL\nFF810m5vu0PRzi9KsbuSYlLbUw5eMQvWEKQgerMjvR63z1oXigCZQIKGrNSI\nRBubHNkoRhWVxlEZxpkFHeaT8t/k8NlMriY04u2Jj0vsW0LVgfsuPuw3Qeot\nUh441Cb8MzxUBTQ6T+7bskclLhBwaPUdU2Fr98ahNJ+2fN356yEpFOG2iTlf\nmwmhr6ZYLwW+s9Om3NzaiFh7qvDiV4UXa+mUzIy+o3NJjpF0lwhyxZj0h+pe\nHtLoIWMgUAQV1N9NGFz3lrkFp6lDAYR2MpMgQe+iTjQ6YaQe+KKbic4WdehH\nD9l/BFfAOlL8Dywrbi3QGDajiHMOmYOIM00vInKOZ5ZsCK437HJqb8AJzLnN\nITeT\r\n=1zsc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGqFx5waqWDRTR+pYZJ89D2eyMa/SQx+5/0XI1I2rrYkAiEAqxVVTvP4mwBl3sdrqobNk8N4zH3mbllq4VFKw7Bd/FQ="}]},"maintainers":[{"name":"colinbdclark","email":"colinbdclark@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bergson_0.14.1_1576170329835_0.5427308277827543"},"_hasShrinkwrap":false},"0.15.0":{"name":"bergson","main":"index.js","version":"0.15.0","description":"Time and scheduling for the web","author":{"name":"Colin Clark"},"homepage":"http://github.com/colinbdclark/bergson","repository":{"type":"git","url":"git://github.com/colinbdclark/bergson.git"},"bugs":{"url":"http://github.com/colinbdclark/bergson/issues"},"license":"(MIT OR GPL-2.0)","keywords":["music","audio","video","scheduling"],"devDependencies":{"node-jqunit":"1.1.9","sheep-benchmark":"github:colinbdclark/sheep.js","grunt":"1.6.1","grunt-contrib-clean":"2.0.1","grunt-contrib-concat":"2.1.0","grunt-contrib-uglify":"5.2.2","fluid-grunt-eslint":"18.1.2","testem":"3.10.1"},"dependencies":{"infusion":"4.6.0"},"scripts":{"prepare":"npx grunt","browser-test":"npx testem ci --file tests/testem.json","node-test":"node tests/node-all-tests.js","test":"npm run node-test && npm run browser-test"},"gitHead":"c8e1310206c2ecc6ca03811635e72ee24b9accc4","_id":"bergson@0.15.0","_nodeVersion":"16.14.0","_npmVersion":"8.3.0","dist":{"integrity":"sha512-H+g0VG2hkEVeXcpkqMY5UZ1XC6S0nObRScZ9ViYxDKFVxQnsxnFb5Wo/4+hmslKeNudc2Dm5DvhbIwfenZ9M4g==","shasum":"5039d23eeea403fde04661631e9c63ae7e61492e","tarball":"https://registry.npmjs.org/bergson/-/bergson-0.15.0.tgz","fileCount":59,"unpackedSize":1649182,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB0j1gDCyqIbjt9r/iyJDnRhUfght8MIhXwNJtkFOFsDAiALbTa2UQSmJAlTS7Fv97++fX3dzqP78cleGNdOobnF6w=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj/jwKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq15BAAkOhX5qkrPyVVGBP7ysv0NNokvDPQiEWdEpf+Golnl0BpbMXd\r\n7adskRgFLjJ/eEr0vXmPyA5f2LUPxcyDH8XHiEEH5Rpn6//6Aqm5T5cmCEXY\r\nFZOoQRXRMGaLCmgmV06AHmO2WmoKRYN7uJRXCJOLAN44frFjuStlnL720Z1V\r\nFBUdycUP0EJhIeFYP8iCl5Rmc6jFUTQiMlUpk4ZJnlBAoqu32cdAP/SLEFBr\r\nGDmkzo5LGZhIfXz8ypQz6eGjyN95EPyou/vW37HGhsVaSRlBqVIG3Lg53fRu\r\n29y4KD+C0ogXf0+4hHj329UbxzmmWrDD744ae5LQEE46XTPKbD94SqyNEn3v\r\nLs0SvBkOCI5ZXiODwTEm+6mQO87gDrYvSAQ7GFRKvKz8vh+LwUpYbICJZAl5\r\nOgNhrD4V80Dv4kQ6u93R/SLMP29mhjx0XmzULwjKW7kt/gWOv2dN/MlAoC18\r\nl/kvaUCeMhQqdUkD9L2/Y5p82N7WS4BEjTcqVCu8KOMg49yev/dg1ADk53wO\r\nAEOOxyRww2xECAVW6vVYpRoHmeF/ONEjnQAB1j2t8MSxBrw+lIt/NGrIO7ba\r\noRFi5ZVs9r8OjL+gbl0nUQsXKUYR5Z/eC+1GPpZfFFh7SQlgZ68Rqr6vJUtz\r\noAUzbWifIFZTBWEMItWav8zvwVvqiICVbEw=\r\n=s2d5\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"colinbdclark","email":"colinbdclark@gmail.com"},"directories":{},"maintainers":[{"name":"colinbdclark","email":"colinbdclark@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bergson_0.15.0_1677605898527_0.5291648760806891"},"_hasShrinkwrap":false},"0.16.0":{"name":"bergson","main":"index.js","version":"0.16.0","description":"Time and scheduling for the web","author":{"name":"Colin Clark"},"homepage":"http://github.com/colinbdclark/bergson","repository":{"type":"git","url":"git://github.com/colinbdclark/bergson.git"},"bugs":{"url":"http://github.com/colinbdclark/bergson/issues"},"license":"(MIT OR GPL-2.0)","keywords":["music","audio","video","scheduling"],"devDependencies":{"node-jqunit":"1.1.9","sheep-benchmark":"github:colinbdclark/sheep.js","grunt":"1.6.1","grunt-contrib-clean":"2.0.1","grunt-contrib-concat":"2.1.0","grunt-contrib-uglify":"5.2.2","fluid-grunt-eslint":"18.1.2","testem":"3.10.1"},"dependencies":{"infusion":"4.6.0"},"scripts":{"prepare":"npx grunt","browser-core-test":"npx testem ci --file tests/testem.json","webaudio-test":"npx testem ci --file tests/testem-webaudio.json","node-test":"node tests/node-all-tests.js","test":"npm run node-test && npm run webaudio-test && npm run browser-core-test"},"gitHead":"5a5947d4f7f840216b6294a87c45c9aca50a28f5","_id":"bergson@0.16.0","_nodeVersion":"16.14.0","_npmVersion":"8.3.0","dist":{"integrity":"sha512-2WJbVN2y7GRuBTVHp+yl0XqTncCVyprXrtqs9CjJJTkbZcO5vB8LKvq7zJaI/p1WRdgzNm1OOjZ5pRYE38b5Rw==","shasum":"78b016190694747e387d97c0136ca397b556df0b","tarball":"https://registry.npmjs.org/bergson/-/bergson-0.16.0.tgz","fileCount":62,"unpackedSize":1655624,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDeMEB4QaBSAvYlUC0P9tOQER09HyhCGVy7sa19e4bdKwIhAP7b5a2d5Feg4gxwHqh5Vmx9bNRUyB2ePz5UyBbfacQk"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkB3AqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqDtg//bCy+wvUpaorpFAiZaYC2MFbosgvWqBWXXGKXrdcmzRBOedru\r\nBdc6r6QqG7Uue7e/XcKXJnTH7OLPX3szT88hH00283EqILpjrsahPP3kSd3R\r\nVJ6xBMWs2Ek9CjeqQtnoKn7OqEIEfpqFHe4uZOjeGO2Qvapcd/Z8G/pAQNp3\r\nxa8GNBQLLmgEGZyLIVqVOVmiwNwKPfo65eZ7LASMrC1RwiH1IwLOCb33TeYL\r\nbzIbArGYENW6ryBIr6Y+VwFL/pRXayPEKKggQkzjnT7t+ZTOnCY0iaJA3zt+\r\nfVuzdj9A73S/2qYN/5a+Hw8m7I5JhFAXsP2rA1XnQVkHHNtDmcNDSpK9fKS3\r\nYb7ahYDJJHCm0foNs29d3Fn5hiRlrC/ryGrMbL/5VQKSlVCzzqFr4apAHZZd\r\nJcFvmLfu0B1PRDn9Dor+EaVo9qzWaQ54QfheC/JBC5pk5WQsKDlFnRiG7Vrm\r\nuxNdT3UnXB/OmEzTmIzSWGhY878/p3qmISETO6qIqN1TwKw5yffMW2Kxqls7\r\n+MRAEgWxT6SCKfGnv2z5GmaeFcyM68+OzAp8aDIWy4EcGq4SIOeV42SE9S7t\r\nIWcw7YnDqg15i5LZ3VqpTboshF32L6hyZ9R/GRtt5xnm/nuo5E6ar7FnPdS+\r\nZvHa1m7W9bsSbGGlViHduOrSGWOY65LjW2Y=\r\n=NQAE\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"colinbdclark","email":"colinbdclark@gmail.com"},"directories":{},"maintainers":[{"name":"colinbdclark","email":"colinbdclark@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bergson_0.16.0_1678209065992_0.3719663127140005"},"_hasShrinkwrap":false}},"readme":"Bergson\n=======\n\nWhat is Bergson?\n----------------\n\nBergson is the scheduling system for [Flocking](https://github.com/colinbdclark/Flocking) and [Aconite](https://github.com/colinbdclark/aconite). It provides a variety of clocks driven by different\nsources (such as requestAnimationFrame, the Web Audio API, and setInterval), and a priority queue-based\nscheduler that allows you to queue up one-time and repeating function calls.\n\nBergson provides a very low-level API for scheduling, and is intended for library developers to build\ntheir own rhythmic and pattern-based abstractions on top of.\n\nExamples\n--------\n\n### Creating a Scheduler with the requestAnimationFrame Clock ###\n\n    var scheduler = berg.scheduler({\n        components: {\n            clock: {\n                type: \"berg.clock.requestAnimationFrame\",\n                options: {\n                    freq: 60\n                }\n            }\n        }\n    });\n\n    scheduler.start();\n\n### Scheduling one-time events ###\n\n    scheduler.schedule({\n        type: \"once\",\n        time: 30            // 30 seconds from now\n        callback: function (now) {\n            // Do something in the future.\n        }\n    });\n\n### Scheduling repeating events ###\n\n    scheduler.schedule({\n        type: \"repeat\",\n        time: 5,            // Start repeating five seconds from now.\n        freq: 2,            // Repeat every two seconds.\n        end: 20,            // Stop repeating 20 seconds from now.\n        callback: function (now) {\n            // Do something repeatedly.\n        }\n    });\n\n### Listening for Clock Events Directly ###\n\n    scheduler.clock.events.onTick.addListener(function (time, rate) {\n        // Do something every time the clock ticks.\n    });\n\n\nBergson API\n-------------\n\n### Scheduler API ###\n\n#### Score Event Specifications ####\n\nA _score event specification_ is a JSON-type (i.e. plain old, non-prototypal) object that describes the event to be scheduled. It can contain the following properties.\n\n<table>\n    <tr>\n        <th>Property</th>\n        <th>Value</th>\n        <th>Description</th>\n    </tr>\n    <tr>\n        <td>type</td>\n        <td><code>\"once\"</code> or <code>\"repeat\"</code></td>\n        <td>The type of event to schedule (either one-time or repeating).</td>\n    </tr>\n    <tr>\n        <td>time</td>\n        <td>Number</td>\n        <td>The future time in seconds when the scheduled event should occur.</td>\n    </tr>\n    <tr>\n        <td>interval</td>\n        <td>Number</td>\n        <td>(Only for repeating events) The time interval, in seconds, between repetitions. This option takes precendence over <code>freq</code> if both are provided.</td>\n    </tr>\n    <tr>\n        <td>freq</td>\n        <td>Number</td>\n        <td>(Only for repeating events) The frequency at which the event should repeat. This option will be overridden by <code>interval</code> if both are provided.</td>\n    </tr>\n    <tr>\n        <td>end</td>\n        <td>Number</td>\n        <td>(Only for repeating events) The future time in seconds when the scheduled event should stop repeating.</td>\n    </tr>\n    <tr>\n        <td>callback</td>\n        <td>Function</td>\n        <td>The function to invoke.</td>\n    </tr>\n</table>\n\n#### Scheduler Model ####\n\nFor more information on interacting with models, see the [Infusion documentation about the Change Applier](http://docs.fluidproject.org/infusion/development/ChangeApplierAPI.html).\n\n<table>\n    <tr>\n        <th>Property</th>\n        <th>Description</th>\n        <th>Types</th>\n    </tr>\n    <tr>\n        <td>timeScale</td>\n        <td>The scheduler's time scale factor. Defaults to 1.0.</td>\n        <td>Number</td>\n    </tr>\n</table>\n\n#### Scheduler Members ####\n\n<table>\n    <tr>\n        <th>Property</th>\n        <th>Description</th>\n        <th>Types</th>\n    </tr>\n    <tr>\n        <td>queue</td>\n        <td>The priority queue used to sort and queue score events.</td>\n        <td><code>berg.priorityQueue</code></td>\n    </tr>\n</table>\n\n#### Scheduler Methods ####\n\n<table>\n    <tr>\n        <th>Method</th>\n        <th>Description</th>\n        <th>Argument Types</th>\n        <th>Returns</th>\n    </tr>\n    <tr>\n        <td>start</td>\n        <td>Starts the scheduler and its clock.</td>\n        <td>none</td>\n        <td><code>undefined</code></td>\n    </tr>\n    <tr>\n        <td>stop</td>\n        <td>Stops the scheduler and its clock.</td>\n        <td>none</td>\n        <td><code>undefined</code></td>\n    </tr>\n    <tr>\n        <td>schedule\n        <td>Schedules an event</td>\n        <td>A _score event specification_ object</td>\n        <td>The scheduled score event specification.</td>\n    </tr>\n    <tr>\n        <td>clear</td>\n        <td>Removes a scheduled event from the scheduler queue.</td>\n        <td>The _score event specification_ to clear.</td>\n        <td><code>undefined</code></td>\n    </tr>\n    <tr>\n        <td>clearAll</td>\n        <td>Removes all scheduled events from the scheduler queue.</td>\n        <td>none</td>\n        <td><code>undefined</code></td>\n    </tr>\n    <tr>\n        <td>setTimeScale</td>\n        <td>Sets the time scale factor for the scheduler. This will cause all time values for current and future scheduled events to be scaled by the specified value.</td>\n        <td><code>Number</code></td>\n        <td><code>undefined</code></td>\n    </tr>\n</table>\n\n### Clock API ###\n\n#### Clock Members ####\n\n<table>\n    <tr>\n        <th>Property</th>\n        <th>Description</th>\n        <th>Types</th>\n    </tr>\n    <tr>\n        <td>time</td>\n        <td>The current clock time, in seconds.</td>\n        <td>Number</td>\n    </tr>\n    <tr>\n        <td>freq</td>\n        <td>The clock's frequency, in cyles per second.</td>\n        <td>Number</td>\n    </tr>\n    <tr>\n        <td>tickDuration</td>\n        <td>The duration between ticks, in seconds.</td>\n        <td>Number</td>\n    </tr>\n</table>\n\n#### Clock Methods ####\n\n<table>\n    <tr>\n        <th>Method</th>\n        <th>Description</th>\n        <th>Argument Types</th>\n        <th>Returns</th>\n    </tr>\n    <tr>\n        <td>start</td>\n        <td>Starts the clock.</td>\n        <td>none</td>\n        <td><code>undefined</code></td>\n    </tr>\n    <tr>\n        <td>stop</td>\n        <td>Stops clock.</td>\n        <td>none</td>\n        <td><code>undefined</code></td>\n    </tr>\n    <tr>\n        <td>tick</td>\n        <td>Advances the clock's time. (This will be invoked automatically for most clocks.)</td>\n        <td>None</td>\n        <td><code>undefined</code></td>\n    </tr>\n</table>\n\n#### Clock Events ####\n\n<table>\n    <tr>\n        <th>Event Name</th>\n        <th>Description</th>\n        <th>Argument Types</th>\n    </tr>\n    <tr>\n        <td>onTick</td>\n        <td>Fires each time the clock ticks.</td>\n        <td><code>Number</code> time: the current clock time in seconds</td>\n    </tr>\n</table>\n\nTypes of Clocks\n---------------\n\n<table>\n    <tr>\n        <th>Clock</th>\n        <th>Description</th>\n        <th>Default rate</th>\n    </tr>\n    <tr>\n        <td><code>berg.clock.requestAnimationFrame</code></td>\n        <td>A clock that is driven at (or as near as possible to) the display's refresh rate by the browser's built-in <code>requestAnimationFrame</code> function. Note that this clock will be throttled down to\n        1 Hz automatically by the browser if its tab is not active.</td>\n        <td>60 Hz. You must override this value if your display is running a different refresh rate.</td>\n    </tr>\n    <tr>\n        <td><code>berg.clock.audioContext</code></td>\n        <td>Uses the Web Audio API's <code>AudioContext</code> as a source of time. This clock\n        needs to be driven by your own ScriptProcessorNode code (i.e. by calling its <code>tick()</code> method within your <code>onaudioprocess</code> handler). This clock will not start ticking until its <code>start()</code> method is invoked by a user action (such as a button click).</td>\n        <td>Dynamically determined based on the AudioContext's <code>sampleRate</code> and this clock's <code>blockSize</code> option.</td>\n    </tr>\n    <tr>\n        <td><code>berg.clock.autoAudioContext</code></td>\n        <td>An AudioContext-based clock that will automatically create a <code>ScriptProcessorNode</code> instance and wire it up correctly for you. Use this if you're not using the Web Audio API directly, but want a rock-solid clock for scheduling events in your application. This clock will not start ticking until its <code>start()</code> method is invoked by a user action (such as a button click).</td>\n        <td>Dynamically determined based on the AudioContext's <code>sampleRate</code> and this clock's <code>blockSize</code> option.</td>\n    </tr>\n    <tr>\n        <td><code>berg.clock.setInterval</code></td>\n        <td>A clock that is driven by the browser's built-in (and notoriously jittery) <code>setInterval</code> function. Use this if you don't need significant reliability, and want maximal cross-environment compatibility (e.g. with Node.js). Note that this clock will be throttled down automatically\n        by the browser if its tab is not active.</td>\n        <td>10 Hz</td>\n    </tr>\n    <tr>\n        <td><code>berg.clock.workerSetInterval</code></td>\n        <td>Like <code>berg.clock.setInterval</code>, except that it employs a Web Worker in order to avoid\n        the standard throttling done by browsers when the page is in the background.</td>\n        <td>10 Hz</td>\n    </tr>\n    <tr>\n        <td><code>berg.clock.offline</code></td>\n        <td>A base grade for creating your own types of clocks.\n        An offline clock tracks time relatively (i.e. without reference to a \"real\" source of time\n        such as the system clock). This clock should be driven manually by invoking its tick() method.</td>\n        <td>1 Hz</td>\n    </tr>\n    <tr>\n        <td><code>berg.clock.realtime</code></td>\n        <td>A base grade for creating your own types of clocks.\n        A realtime clock tracks time based on the actual system time using,\n        by default, <code>performance.now()</code>.\n        This clock should be driven manually by invoking its tick() method.</td>\n        <td>1 Hz</td>\n    </tr>\n</table>\n\nBuilding and Testing Bergson\n-----------------------------\n\n### Prerequisites\n\nBergson uses Node.js, npm, Grunt, and Testem for its build and test tooling. Here's how to get set up:\n\n    1. Install the [Node.js](https://nodejs.org/en/) LTS release\n    3. Install Grunt: <code>npm install -g grunt-cli</code>\n    4. Install Testem: <code>npm install -g testem</code>\n\n\n### How to Build Bergson\n\nTo download all of Bergson's dependencies, build them, and then build Bergson itself, run the following commands:\n\n    npm install\n    grunt\n\n### Running Bergson's Test Suite\n\nBergson's test suite can be run on both Node.js and all of the browsers installed on your computer using Testem:\n\n    npm test\n\nIf you'd like to run only the Node.js tests, run:\n\n    npm run node-test\n\nOr if you only want to run the browser tests:\n\n    npm run browser-test\n\nAlternatively, if you'd like to only run the tests in one browser, you can open the test suite ``tests/unit/all-tests.html`` file by hand in your browser.\n\nCommunity\n---------\n\nBergson is supported by the Flocking community and uses its forums:\n\n### Mailing List\nThe [Flocking mailing list](http://lists.idrc.ocadu.ca/mailman/listinfo/flocking)\nis the place to ask questions, share code, and request new features.\n\n### Chat\nFlocking has an IRC channel, which can also be used to ask questions about Bergson. Join <code>#flocking</code> on <code>irc.freenode.net</code>.\n\nCredits and License\n-------------------\n\nBergson is written and maintained by Colin Clark. It is dually licensed under the MIT and GPL 2.0 licenses.\n","maintainers":[{"name":"colinbdclark","email":"colinbdclark@gmail.com"}],"time":{"modified":"2023-03-07T17:11:06.331Z","created":"2015-07-21T23:18:09.416Z","0.9.0":"2015-07-21T23:18:09.416Z","0.9.1":"2015-08-06T00:05:43.611Z","0.9.2":"2015-08-11T22:29:28.712Z","0.9.3":"2015-08-18T18:27:09.140Z","0.9.4":"2015-08-18T18:39:12.173Z","0.10.0":"2015-10-09T04:05:57.431Z","0.10.1":"2015-10-25T00:01:57.416Z","0.11.0":"2015-10-25T00:47:03.220Z","0.11.1":"2015-12-07T01:32:44.515Z","0.12.0":"2016-03-13T20:24:47.655Z","0.12.1":"2016-03-13T21:28:05.144Z","0.12.2":"2016-08-31T00:27:49.077Z","0.12.3":"2016-08-31T00:42:59.612Z","0.13.0":"2016-12-15T03:00:51.495Z","0.12.4":"2017-11-14T03:29:16.004Z","0.13.1":"2017-11-14T03:34:58.553Z","0.13.2":"2018-07-31T04:19:29.101Z","0.14.0":"2019-01-04T20:14:36.956Z","0.15.0-dev.20190108T045554Z.6728e52.gh-15":"2019-01-08T04:57:57.402Z","0.14.1":"2019-12-12T17:05:30.038Z","0.15.0":"2023-02-28T17:38:18.734Z","0.16.0":"2023-03-07T17:11:06.217Z"},"homepage":"http://github.com/colinbdclark/bergson","keywords":["music","audio","video","scheduling"],"repository":{"type":"git","url":"git://github.com/colinbdclark/bergson.git"},"author":{"name":"Colin Clark"},"bugs":{"url":"http://github.com/colinbdclark/bergson/issues"},"license":"(MIT OR GPL-2.0)","readmeFilename":"README.md"}