From 3d1d9e147936ad9b9ff36fd809527526bc369359 Mon Sep 17 00:00:00 2001 From: mohayonao Date: Wed, 26 Nov 2014 10:11:27 +0900 Subject: [PATCH 1/8] update dependencies --- package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 8e2500c..785afed 100644 --- a/package.json +++ b/package.json @@ -15,16 +15,16 @@ } ], "dependencies": { - "readable-stream": "^1.0.33-1", + "readable-stream": "^1.0.33", "speaker": "^0.2.1" }, "devDependencies": { - "chai": "^1.9.2", + "chai": "^1.10.0", "grunt": "^0.4.5", "grunt-contrib-clean": "^0.6.0", "grunt-contrib-jshint": "^0.10.0", "grunt-contrib-uglify": "^0.6.0", "grunt-contrib-watch": "^0.6.1", - "mocha": "^1.21.5" + "mocha": "^2.0.1" } } From 6a15cf8c8836c8acc85542b963ac7368bf7443af Mon Sep 17 00:00:00 2001 From: revilofr Date: Thu, 6 Nov 2014 15:36:39 +0100 Subject: [PATCH 2/8] Update of the duration formula to handle more than 3 dots. Even if it is uncommon it's theorically correct, and it seems that some generator use to do that. With that formula is is theorically possible to handle an infinite number of dots as opposed to the previous version which was handling a fixed maximum amount of 3 dots. --- timbre.dev.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/timbre.dev.js b/timbre.dev.js index 92cb888..f3289ba 100644 --- a/timbre.dev.js +++ b/timbre.dev.js @@ -8835,7 +8835,7 @@ dot = cmd.dot || status.dot; } duration = (60 / tempo) * (4 / len) * 1000; - duration *= [1, 1.5, 1.75, 1.875][dot] || 1; + duration *= 2 - (1 / Math.pow(2, dot)); vel = status.v << 3; if (status.tie) { From c4f36c355af669398d3cb3f8ee769c70723d8bde Mon Sep 17 00:00:00 2001 From: Dario Seminara Date: Tue, 25 Nov 2014 12:17:27 -0300 Subject: [PATCH 3/8] updated webaudioapi.js extension to latest webaudio browser API --- src/extras/webaudioapi.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/extras/webaudioapi.js b/src/extras/webaudioapi.js index 0ecea89..6fb60d1 100644 --- a/src/extras/webaudioapi.js +++ b/src/extras/webaudioapi.js @@ -19,7 +19,7 @@ _.bufferR = new fn.SignalArray(BUFFERSIZE << 2); _.buffermask = _.bufferL.length - 1; _.node = null; - _.script = context.createJavaScriptNode(BUFFERSIZE, 2, 2); + _.script = context.createScriptProcessor(BUFFERSIZE, 2, 2); _.writeIndex = 0; _.readIndex = 0; _.totalRead = 0; @@ -58,7 +58,7 @@ var _ = this._; _.mode = "recv"; _.script.onaudioprocess = make_recv_process(this); - _.gain = context.createGainNode(); + _.gain = context.createGain(); _.gain.gain.value = 0; _.script.connect(_.gain); } From e2f38652d416f507405ee5a877472a91989fcefa Mon Sep 17 00:00:00 2001 From: mohayonao Date: Wed, 26 Nov 2014 09:59:30 +0900 Subject: [PATCH 4/8] updated objects/mediastream.js extension to latest webaudio browser API --- src/objects/mediastream.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/objects/mediastream.js b/src/objects/mediastream.js index 039d87d..b528731 100644 --- a/src/objects/mediastream.js +++ b/src/objects/mediastream.js @@ -91,9 +91,9 @@ listen: function() { var _ = this._; var context = fn._audioContext; - _.gain = context.createGainNode(); + _.gain = context.createGain(); _.gain.gain.value = 0; - _.node = context.createJavaScriptNode(1024, 2, 2); + _.node = context.createScriptProcessorNode(1024, 2, 2); _.node.onaudioprocess = onaudioprocess(this); _.src.connect(_.node); _.node.connect(_.gain); From 62594c83ccfec3dde87f90d5ee9f6f0d3575b693 Mon Sep 17 00:00:00 2001 From: mohayonao Date: Wed, 26 Nov 2014 10:06:30 +0900 Subject: [PATCH 5/8] updated note duration formula to handle more than 3 dots --- src/core.js | 2 +- src/objects/mml.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/core.js b/src/core.js index 138d00e..7c71173 100644 --- a/src/core.js +++ b/src/core.js @@ -237,7 +237,7 @@ } if ((m = /L(\d+)?(\.*)$/i.exec(str))) { ms = 60 / getbpm(str) * (4 / (m[1]||4)) * 1000; - ms *= [1, 1.5, 1.75, 1.875][(m[2]||"").length] || 1; + ms *= 2 - (1 / Math.pow(2, (m[2]||"").length)); return ms; } if ((m = /^(\d+(?:\.\d+)?|\.(?:\d+))(min|sec|m)s?$/i.exec(str))) { diff --git a/src/objects/mml.js b/src/objects/mml.js index 0f867d9..b14ee34 100644 --- a/src/objects/mml.js +++ b/src/objects/mml.js @@ -268,7 +268,7 @@ dot = cmd.dot || status.dot; } duration = (60 / tempo) * (4 / len) * 1000; - duration *= [1, 1.5, 1.75, 1.875][dot] || 1; + duration *= 2 - (1 / Math.pow(2, dot)); vel = status.v << 3; if (status.tie) { @@ -315,7 +315,7 @@ } if (len > 0) { duration = (60 / tempo) * (4 / len) * 1000; - duration *= [1, 1.5, 1.75, 1.875][dot] || 1; + duration *= 2 - (1 / Math.pow(2, dot)); queueTime += duration; } break; From 3e93049bfd784d76d309020a480d0feeb64c98a0 Mon Sep 17 00:00:00 2001 From: mohayonao Date: Wed, 26 Nov 2014 10:08:58 +0900 Subject: [PATCH 6/8] update README --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 3f4a7a8..04b2c5e 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,10 @@ T("sin", {freq:880, mul:0.5}).play(); MIT ## ChangeLog ## +**14.11.25** (356.27KB) +* Merge: [#33](https://github.com/mohayonao/timbre.js/pull/33) update of the note duration formula to handle more 3 dots +* Merge: [#36](https://github.com/mohayonao/timbre.js/pull/36) use latest Web Audio API intergace + **14.10.12** (356.28KB) * Fixed: Decoding wav file * Fixed: Envelope release From 5406dbf865b80e42571833981572a3f2051763b6 Mon Sep 17 00:00:00 2001 From: mohayonao Date: Wed, 26 Nov 2014 10:09:37 +0900 Subject: [PATCH 7/8] v14.11.25 --- package.json | 2 +- timbre.dev.js | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 785afed..e052908 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "timbre", - "version": "14.10.12", + "version": "14.11.25", "description": "JavaScript library for objective sound programming", "author": "nao yonamine ", "repository": { diff --git a/timbre.dev.js b/timbre.dev.js index f3289ba..441c06b 100644 --- a/timbre.dev.js +++ b/timbre.dev.js @@ -18,7 +18,7 @@ var ACCEPT_SAMPLERATES = [8000,11025,12000,16000,22050,24000,32000,44100,48000]; var ACCEPT_CELLSIZES = [32,64,128,256]; - var _ver = "14.10.12"; + var _ver = "14.11.25"; var _sys = null; var _constructors = {}; var _factories = {}; @@ -237,7 +237,7 @@ } if ((m = /L(\d+)?(\.*)$/i.exec(str))) { ms = 60 / getbpm(str) * (4 / (m[1]||4)) * 1000; - ms *= [1, 1.5, 1.75, 1.875][(m[2]||"").length] || 1; + ms *= 2 - (1 / Math.pow(2, (m[2]||"").length)); return ms; } if ((m = /^(\d+(?:\.\d+)?|\.(?:\d+))(min|sec|m)s?$/i.exec(str))) { @@ -8209,9 +8209,9 @@ listen: function() { var _ = this._; var context = fn._audioContext; - _.gain = context.createGainNode(); + _.gain = context.createGain(); _.gain.gain.value = 0; - _.node = context.createJavaScriptNode(1024, 2, 2); + _.node = context.createScriptProcessorNode(1024, 2, 2); _.node.onaudioprocess = onaudioprocess(this); _.src.connect(_.node); _.node.connect(_.gain); @@ -8882,7 +8882,7 @@ } if (len > 0) { duration = (60 / tempo) * (4 / len) * 1000; - duration *= [1, 1.5, 1.75, 1.875][dot] || 1; + duration *= 2 - (1 / Math.pow(2, dot)); queueTime += duration; } break; From b6eeb0d2c6dc90074754524f57836db871a8a9d3 Mon Sep 17 00:00:00 2001 From: mohayonao Date: Wed, 26 Nov 2014 10:13:45 +0900 Subject: [PATCH 8/8] fix typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 04b2c5e..59d0401 100644 --- a/README.md +++ b/README.md @@ -53,7 +53,7 @@ MIT ## ChangeLog ## **14.11.25** (356.27KB) * Merge: [#33](https://github.com/mohayonao/timbre.js/pull/33) update of the note duration formula to handle more 3 dots -* Merge: [#36](https://github.com/mohayonao/timbre.js/pull/36) use latest Web Audio API intergace +* Merge: [#36](https://github.com/mohayonao/timbre.js/pull/36) use latest Web Audio API interfaces **14.10.12** (356.28KB) * Fixed: Decoding wav file