reversebuffer
Advanced tools
+24
-27
@@ -5,35 +5,32 @@ (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){ | ||
| /* | ||
| constructor | ||
| var revBuffer = new ReverseBuffer({buffer: audioBuffer, context: AudioContext}); | ||
| var revBuffer = reversebuffer({buffer: audioBuffer, context: AudioContext}); | ||
| var revBuffer = reversebuffer(audioBuffer); | ||
| */ | ||
| function ReverseBuffer(options){ | ||
| function reversebuffer(options){ | ||
| if(!(this instanceof ReverseBuffer)){ | ||
| throw new TypeError("ReverseBuffer constructor cannot be called as a function."); | ||
| } | ||
| window.AudioContext = window.AudioContext || window.webkitAudioContext; | ||
| window.ReverseBuffer = this; | ||
| var buffer; | ||
| var context; | ||
| var reverseBuffer; | ||
| options = options || {}; | ||
| for (var opt in options){ | ||
| if (this.hasOwnProperty(opt) && options[opt] !== undefined){ | ||
| this[opt] = options[opt]; | ||
| } | ||
| } | ||
| this.context = options.context || window.AudioContext; | ||
| this._buffer = options.buffer; | ||
| this.reverseBuffer = null; | ||
| var _chIndex = 0; | ||
| var _sIndex = 0; | ||
| if (this._buffer) { | ||
| this.reverseBuffer = this.context.createBuffer(this._buffer.numberOfChannels, this._buffer.length, this._buffer.sampleRate); | ||
| if (options instanceof AudioBuffer){ | ||
| buffer = options; | ||
| context = new window.AudioContext(); | ||
| }else{ | ||
| context = options.context || new window.AudioContext(); | ||
| buffer = options.buffer; | ||
| } | ||
| for (_chIndex = 0; _chIndex < this._buffer.numberOfChannels; _chIndex++){ | ||
| var dest = this.reverseBuffer.getChannelData(_chIndex); | ||
| var src = this._buffer.getChannelData(_chIndex); | ||
| for (_sIndex = 0; _sIndex < this._buffer.length; _sIndex++){ | ||
| dest[_sIndex] = src[this._buffer.length-_sIndex]; | ||
| if (buffer) { | ||
| reverseBuffer = context.createBuffer(buffer.numberOfChannels, buffer.length, buffer.sampleRate); | ||
| for (_chIndex = 0; _chIndex < buffer.numberOfChannels; _chIndex++){ | ||
| var dest = reverseBuffer.getChannelData(_chIndex); | ||
| var src = buffer.getChannelData(_chIndex); | ||
| for (_sIndex = 0; _sIndex < buffer.length; _sIndex++){ | ||
| dest[_sIndex] = src[buffer.length-_sIndex]; | ||
| } | ||
@@ -43,7 +40,7 @@ } | ||
| return this.reverseBuffer; | ||
| return reverseBuffer; | ||
| } | ||
| module.exports = ReverseBuffer; | ||
| module.exports = reversebuffer; | ||
| },{}]},{},[1]); |
+23
-27
| "use strict"; | ||
| /* | ||
| constructor | ||
| var revBuffer = new ReverseBuffer({buffer: audioBuffer, context: AudioContext}); | ||
| var revBuffer = reversebuffer({buffer: audioBuffer, context: AudioContext}); | ||
| var revBuffer = reversebuffer(audioBuffer); | ||
| */ | ||
| function ReverseBuffer(options){ | ||
| function reversebuffer(options){ | ||
| if(!(this instanceof ReverseBuffer)){ | ||
| throw new TypeError("ReverseBuffer constructor cannot be called as a function."); | ||
| } | ||
| window.AudioContext = window.AudioContext || window.webkitAudioContext; | ||
| window.ReverseBuffer = this; | ||
| var buffer; | ||
| var context; | ||
| var reverseBuffer; | ||
| options = options || {}; | ||
| for (var opt in options){ | ||
| if (this.hasOwnProperty(opt) && options[opt] !== undefined){ | ||
| this[opt] = options[opt]; | ||
| } | ||
| } | ||
| this.context = options.context || window.AudioContext; | ||
| this._buffer = options.buffer; | ||
| this.reverseBuffer = null; | ||
| var _chIndex = 0; | ||
| var _sIndex = 0; | ||
| if (this._buffer) { | ||
| this.reverseBuffer = this.context.createBuffer(this._buffer.numberOfChannels, this._buffer.length, this._buffer.sampleRate); | ||
| if (options instanceof AudioBuffer){ | ||
| buffer = options; | ||
| context = new window.AudioContext(); | ||
| }else{ | ||
| context = options.context || new window.AudioContext(); | ||
| buffer = options.buffer; | ||
| } | ||
| for (_chIndex = 0; _chIndex < this._buffer.numberOfChannels; _chIndex++){ | ||
| var dest = this.reverseBuffer.getChannelData(_chIndex); | ||
| var src = this._buffer.getChannelData(_chIndex); | ||
| for (_sIndex = 0; _sIndex < this._buffer.length; _sIndex++){ | ||
| dest[_sIndex] = src[this._buffer.length-_sIndex]; | ||
| if (buffer) { | ||
| reverseBuffer = context.createBuffer(buffer.numberOfChannels, buffer.length, buffer.sampleRate); | ||
| for (_chIndex = 0; _chIndex < buffer.numberOfChannels; _chIndex++){ | ||
| var dest = reverseBuffer.getChannelData(_chIndex); | ||
| var src = buffer.getChannelData(_chIndex); | ||
| for (_sIndex = 0; _sIndex < buffer.length; _sIndex++){ | ||
| dest[_sIndex] = src[buffer.length-_sIndex]; | ||
| } | ||
@@ -41,6 +38,5 @@ } | ||
| return this.reverseBuffer; | ||
| return reverseBuffer; | ||
| } | ||
| module.exports = ReverseBuffer; | ||
| module.exports = reversebuffer; |
+4
-2
| { | ||
| "name": "reversebuffer", | ||
| "version": "2.0.0", | ||
| "version": "3.0.0", | ||
| "description": "Give a reversed Audio Buffer from a forward playing buffer", | ||
@@ -17,3 +17,5 @@ "main": "lib/reversebuffer.js", | ||
| "playback", | ||
| "mp3" | ||
| "mp3", | ||
| "audio", | ||
| "audiobuffer" | ||
| ], | ||
@@ -20,0 +22,0 @@ "author": "Yap Hong Kheng", |
+17
-17
@@ -1,4 +0,4 @@ | ||
| # ReverseBuffer | ||
| # reversebuffer | ||
| Returns a reverse buffer of AudioBuffer from an original forward playing AudioBuffer. | ||
| Returns a reverse buffer of [AudioBuffer](http://webaudio.github.io/web-audio-api/#the-audiobuffer-interface) from an original AudioBuffer. | ||
@@ -12,12 +12,12 @@ A reverse buffer mimics a "backward" playback of an audio source when it is being played forward normally. | ||
| ``` | ||
| var ReverseBuffer = require("reversebuffer"); | ||
| var reversebuffer = require("reversebuffer"); | ||
| var audioContext = new AudioContext(); | ||
| // Make an AudioBuffer | ||
| // Make an AudioBuffer or get decode it from a file. | ||
| var bufferSource = audioContext.createBuffer(); | ||
| // In turn returns a reversed AudioBuffer | ||
| var revBuffer = new ReverseBuffer({ | ||
| buffer: bufferSource, | ||
| var revBuffer = reversebuffer({ | ||
| buffer: bufferSource, | ||
| context: audioContext | ||
@@ -34,3 +34,3 @@ }); | ||
| var WebAudioLoader = require("webaudioloader"); | ||
| var ReverseBuffer = require("reversebuffer"); | ||
| var reversebuffer = require("reversebuffer"); | ||
@@ -59,4 +59,4 @@ var audioContext = new AudioContext(); | ||
| var reverseBuffer = new ReverseBuffer({ | ||
| buffer: originalBuffer, | ||
| var reverseBuffer = reversebuffer({ | ||
| buffer: originalBuffer, | ||
| context: audioContext | ||
@@ -70,9 +70,9 @@ }); | ||
| 1. npm | ||
| ``` npm install --save-dev reversebuffer``` | ||
| 2. Using browserify | ||
| ```var ReverseBuffer = require("reversebuffer");``` | ||
| ```var reversebuffer = require("reversebuffer");``` | ||
| 3. Standalone (global object, AMD) [builds are here](https://github.com/Sonoport/reversebuffer/tree/master/dist) | ||
@@ -82,13 +82,13 @@ | ||
| ### Constructor | ||
| ```var revBuffer = reversebuffer(options);``` | ||
| ```var revBuffer = new ReverseBuffer(options);``` | ||
| * option object have this arguments | ||
| - `buffer`: AudioBuffer - buffer source to be reversed | ||
| - `context`: AudioContext - an AudioContext to use for decoding the audio | ||
| * returns an AudioBuffer which is reversed. | ||
| ### Properties | ||
| ```var revBuffer = reversebuffer(audioBuffer);``` | ||
| * `reverseBuffer` : AudioBuffer - Reversed audio buffer | ||
| * `buffer`: AudioBuffer - buffer source to be reversed | ||
| * returns an AudioBuffer which is reversed. | ||
@@ -95,0 +95,0 @@ ## License |
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
8136
-2.92%72
-6.49%1
Infinity%