summaryrefslogtreecommitdiff
path: root/objects.js
diff options
context:
space:
mode:
Diffstat (limited to 'objects.js')
-rw-r--r--objects.js13
1 files changed, 10 insertions, 3 deletions
diff --git a/objects.js b/objects.js
index 1a42e0f..323ccab 100644
--- a/objects.js
+++ b/objects.js
@@ -6320,8 +6320,9 @@ Sound.prototype.toDataURL = function () {
// Note instance creation
-function Note(pitch) {
+function Note(pitch, volume) {
this.pitch = pitch === 0 ? 0 : pitch || 69;
+ this.volume = volume;
this.setupContext();
this.oscillator = null;
}
@@ -6356,8 +6357,8 @@ Note.prototype.setupContext = function () {
// Note playing
-Note.prototype.play = function (volume) {
- this.gainNode.gain.value = 0.25 * volume / 100; // reduce volume by 1/4
+Note.prototype.play = function () {
+ this.gainNode.gain.value = 0.25 * this.volume / 100; // reduce volume by 1/4
this.oscillator = this.audioContext.createOscillator();
if (!this.oscillator.start) {
@@ -6374,6 +6375,12 @@ Note.prototype.play = function (volume) {
this.oscillator.start(0);
};
+Note.prototype.setVolume = function (volume) {
+ this.stop();
+ this.volume = volume;
+ this.play();
+}
+
Note.prototype.stop = function () {
if (this.oscillator) {
this.oscillator.stop(0);