1.2.7 • Published 28 days ago
web-midi-test v1.2.7
web-midi-test
Fake Web MIDI API for testing Web MIDI applications
See also: Web MIDI API
See also: midi-test, jazz-midi-headless, test-midi-files
Install: npm install web-midi-test --save-dev
Usage
Node.js
var WMT = require('web-midi-test');
var navigator = { requestMIDIAccess: WMT.requestMIDIAccess };
var performance = { now: WMT.now }; // if required...
// ...
HTML
<script src="node_modules/web-midi-test/wmt.js"></script>
// this will add an object named WMT into the global scope
// ...
if (typeof navigator.requestMIDIAccess == 'undefined') {
navigator.requestMIDIAccess = WMT.requestMIDIAccess;
}
// ...
TypeScript
tsc myscript.ts --lib es2015,dom
import * as WMT from 'web-midi-test';
// ...
With JSDOM
With Zombie.js
With Puppeteer
With Playwright
API
MIDI access
function onSuccess() { console.log('Success!'); }
function onFail() { console.log('Fail!'); }
// normal scenario
WMT.requestMIDIAccess().then(onSuccess, onFail); // Success!
WMT.requestMIDIAccess({ sysex: true }).then(onSuccess, onFail); // Success!
// no sysex permission scenario
WMT.sysex = false;
WMT.requestMIDIAccess().then(onSuccess, onFail); // Success!
WMT.requestMIDIAccess({ sysex: true }).then(onSuccess, onFail); // Fail!
// no midi permission scenario
WMT.midi = false;
WMT.requestMIDIAccess().then(onSuccess, onFail); // Fail!
MIDI Source (Virtual MIDI-In)
var port = new WMT.MidiSrc('VIRTUAL MIDI-In');
port.connect();
port.emit([0x90, 0x40, 0x7f]);
//...
port.busy = true; // "another application" captured the port
// Web MIDI can see the port, but can not connect to it
port.busy = false; // "another application" released the port
//...
port.disconnect();
MIDI Destination (Virtual MIDI-Out)
var port = new WMT.MidiDst('VIRTUAL MIDI-Out');
port.receive = function(msg) { console.log('received:', msg); };
port.connect();
//...
port.busy = true; // "another application" captured the port
// Web MIDI can see the port, but can not connect to it
port.busy = false; // "another application" released the port
//...
port.disconnect();
1.2.7
28 days ago
1.2.6
4 months ago
1.2.5
7 months ago
1.2.4
1 year ago
1.2.3
1 year ago
1.2.2
1 year ago
1.2.1
2 years ago
1.2.0
2 years ago
1.1.9
3 years ago
1.1.8
3 years ago
1.1.7
3 years ago
1.1.6
3 years ago
1.1.5
3 years ago
1.1.4
3 years ago
1.1.3
3 years ago
1.1.2
3 years ago
1.1.1
3 years ago
1.1.0
4 years ago
1.0.9
4 years ago
1.0.8
4 years ago
1.0.7
4 years ago
1.0.6
4 years ago
1.0.5
5 years ago
1.0.4
5 years ago
1.0.3
5 years ago
1.0.2
5 years ago
1.0.1
5 years ago
1.0.0
5 years ago
0.1.2
5 years ago
0.1.1
5 years ago
0.1.0
5 years ago
0.0.9
5 years ago
0.0.8
5 years ago
0.0.7
5 years ago
0.0.6
5 years ago
0.0.5
5 years ago
0.0.4
5 years ago
0.0.3
5 years ago
0.0.2
5 years ago
0.0.1
5 years ago
0.0.0
5 years ago