Socket
Socket
Sign inDemoInstall

chem

Package Overview
Dependencies
1
Maintainers
2
Versions
38
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 3.0.0 to 3.1.0

4

doc/api.md

@@ -675,3 +675,5 @@ **Table of Contents** *generated with [DocToc](http://doctoc.herokuapp.com/)*

Plays the sound. If the sound is already playing, it will play another
instance at the same time.
instance at the same time. If the number of instances in the pool is
greater than `maxPoolSize`, it will find the least recently played audio
in the pool and restart it.

@@ -678,0 +680,0 @@ Returns the HTML5 Audio object that is generating the sound, which has these

# History
## 3.1.0
* sound: `play` always returns an audio object. restarts old sounds
if necessary.
* capture mouse up events even if they go outside the canvas.
* key up event handler on window instead of canvas.
## 3.0.0

@@ -4,0 +11,0 @@

@@ -127,8 +127,3 @@ var Vec2d = require('vec2d').Vec2d;

self.mousePos = new Vec2d(0, 0);
addListener(self.canvas, 'mousemove', function(event){
self.mousePos = new Vec2d(
(event.offsetX) != null ? event.offsetX : event.pageX - event.target.offsetLeft,
(event.offsetY) != null ? event.offsetY : event.pageY - event.target.offsetTop);
self.emit('mousemove', self.mousePos, MOUSE_OFFSET + event.which);
});
addListener(self.canvas, 'mousemove', onMouseMove);
addListener(self.canvas, 'mousedown', function(event){

@@ -140,12 +135,25 @@ var buttonId = MOUSE_OFFSET + event.which;

self.canvas.focus();
window.addEventListener('mouseup', onMouseUp, false);
window.addEventListener('mousemove', onMouseMove, false);
return bubbleEvent(self, event);
});
addListener(self.canvas, 'mouseup', function(event){
var buttonId;
buttonId = MOUSE_OFFSET + event.which;
function onMouseUp(event) {
var buttonId = MOUSE_OFFSET + event.which;
self.buttonStates[buttonId] = false;
self.btnJustReleased[buttonId] = true;
self.emit('buttonup', buttonId);
window.removeEventListener('mouseup', onMouseUp, false);
window.removeEventListener('mousemove', onMouseMove, false);
return bubbleEvent(self, event);
});
}
function onMouseMove(event) {
self.mousePos = new Vec2d(
event.pageX - self.canvas.offsetLeft,
event.pageY - self.canvas.offsetTop);
self.emit('mousemove', self.mousePos, MOUSE_OFFSET + event.which);
}
// keyboard input

@@ -159,3 +167,3 @@ addListener(self.canvas, 'keydown', function(event){

});
addListener(self.canvas, 'keyup', function(event){
addListener(window, 'keyup', function(event){
var buttonId = KEY_OFFSET + event.which;

@@ -162,0 +170,0 @@ self.btnJustReleased[buttonId] = self.buttonStates[buttonId];

@@ -24,2 +24,5 @@ var EventEmitter = require('events').EventEmitter;

Sound.prototype.play = function() {
var oldest = null;
var oldestCurrentTime = -1;
// play a ready one
for (var i = 0; i < this.audioPool.length; ++i) {

@@ -30,4 +33,8 @@ var audio = this.audioPool[i];

return audio;
} else if (audio.currentTime > oldestCurrentTime) {
oldestCurrentTime = audio.currentTime;
oldest = audio;
}
}
// add a new one to the pool and play that one
if (this.audioPool.length < this.maxPoolSize) {

@@ -38,3 +45,8 @@ var newAudio = new Audio(this.currentSrc);

this.audioPool.push(newAudio);
return newAudio;
}
// recycle the oldest one
oldest.currentTime = 0;
oldest.play();
return oldest;
};

@@ -41,0 +53,0 @@

@@ -5,3 +5,3 @@ {

"author": "Andrew Kelley <superjoe30@gmail.com>",
"version": "3.0.0",
"version": "3.1.0",
"main": "index.js",

@@ -8,0 +8,0 @@ "license": "MIT",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc