Skip to content

Commit

Permalink
Added Musical Typing flag to settings object. (#41)
Browse files Browse the repository at this point in the history
  • Loading branch information
stuartmemo authored Nov 19, 2020
1 parent 488c722 commit d4cb9a9
Show file tree
Hide file tree
Showing 6 changed files with 4,609 additions and 60 deletions.
9 changes: 5 additions & 4 deletions demo/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,8 @@ <h2>Need help or have an idea to make QH better?</h2>
blackNotesColour: '#000',
borderColour: '#000',
activeColour: 'yellow',
octaves: 2
octaves: 2,
musicalTyping: false
},
keyboard = new QwertyHancock(settings);

Expand All @@ -115,18 +116,18 @@ <h2>Need help or have an idea to make QH better?</h2>
};

keyboard.keyUp = function (note, frequency) {
var new_nodes = [];
const newNodes = [];

for (var i = 0; i < nodes.length; i++) {
if (Math.round(nodes[i].frequency.value) === Math.round(frequency)) {
nodes[i].stop(0);
nodes[i].disconnect();
} else {
new_nodes.push(nodes[i]);
newNodes.push(nodes[i]);
}
}

nodes = new_nodes;
nodes = newNodes;
};

keyboard = new QwertyHancock(settings);
Expand Down
45 changes: 24 additions & 21 deletions dist/qwerty-hancock.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Qwerty Hancock keyboard library v0.8.0
* Qwerty Hancock keyboard library v0.9.0
* The web keyboard for now people.
* Copyright 2012-20, Stuart Memo
*
Expand All @@ -15,7 +15,7 @@
* In node context (browserify), `this` is the node global.
*/
var globalWindow = typeof global === 'undefined' ? root : root.window;
var version = '0.8.0',
var version = '0.9.0',
settings = {},
mouse_is_down = false,
keysDown = {},
Expand Down Expand Up @@ -74,7 +74,8 @@
blackKeyColour: user_settings.blackKeyColour || '#000',
activeColour: user_settings.activeColour || 'yellow',
borderColour: user_settings.borderColour || '#000',
keyboardLayout: user_settings.keyboardLayout || 'en'
keyboardLayout: user_settings.keyboardLayout || 'en',
musicalTyping: user_settings.musicalTyping === false ? false : true
};

container = document.getElementById(settings.id);
Expand Down Expand Up @@ -494,25 +495,27 @@
var addListeners = function (keyboard_element) {
var that = this;

// Key is pressed down on keyboard.
globalWindow.addEventListener('keydown', function (key) {
if (isModifierKey(key)) {
return;
}
if (keyboardDown(key, that.keyDown)) {
key.preventDefault();
}
});
if (settings.musicalTyping) {
// Key is pressed down on keyboard.
globalWindow.addEventListener('keydown', function (key) {
if (isModifierKey(key)) {
return;
}
if (keyboardDown(key, that.keyDown)) {
key.preventDefault();
}
});

// Key is released on keyboard.
globalWindow.addEventListener('keyup', function (key) {
if (isModifierKey(key)) {
return;
}
if (keyboardUp(key, that.keyUp)) {
key.preventDefault();
}
});
// Key is released on keyboard.
globalWindow.addEventListener('keyup', function (key) {
if (isModifierKey(key)) {
return;
}
if (keyboardUp(key, that.keyUp)) {
key.preventDefault();
}
});
}

// Mouse is clicked down on keyboard element.
keyboard_element.addEventListener('mousedown', function (event) {
Expand Down
5 changes: 3 additions & 2 deletions dist/qwerty-hancock.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit d4cb9a9

Please sign in to comment.