Giter Site home page Giter Site logo

jzz-midi-gear's Introduction

JZZ-midi-Gear

npm npm build Coverage

Retrieve your MIDI device model and manufacturer

See the online demo (requires a MIDI insrument connected to your computer).

Install

npm install jzz-midi-gear
or yarn add jzz-midi-gear
or get the full development version and minified scripts from GitHub

Usage

Plain HTML
<script src="JZZ.js"></script>
<script src="JZZ.midi.Gear.js"></script>
//...
CDN (jsdelivr)
<script src="https://cdn.jsdelivr.net/npm/jzz"></script>
<script src="https://cdn.jsdelivr.net/npm/jzz-midi-gear"></script>
//...
CDN (unpkg)
<script src="https://unpkg.com/jzz"></script>
<script src="https://unpkg.com/jzz-midi-gear"></script>
//...
CommonJS
var JZZ = require('jzz');
require('jzz-midi-gear')(JZZ);
//...
TypeScript / ES6
import { JZZ } from 'jzz';
import { Gear } from 'jzz-midi-gear';
Gear(JZZ);
//...
AMD
require(['JZZ', 'JZZ.midi.Gear'], function(JZZ, gear) {
  // ...
});
//...
// start the MIDI engine:
JZZ({sysex:true}).and(function() {
  var inputs = this.info().inputs;
  var outputs = this.info().outputs;
  // enable message handlers on all MIDI-In ports:
  for (var i in inputs) this.openMidiIn(i).connect(function(msg) {
    if (msg.isIdResponse()) {
      var gear = msg.gearInfo();
      console.log('ID Response SysEx received:');
      console.log('   port:    ' + this.name());
      console.log('   message: ' + msg);
      console.log('   brand:   ' + gear.brand);
      console.log('   model:   ' + gear.model);
      console.log('   device:  ' + gear.descr);
    }
  });
  // send the ID Request SysEx to all MIDI-Out ports:
  for (var i in outputs) this.openMidiOut(i).sxIdRequest();
});
// ...
// in Node.js - don't forget to stop the engine when done:
JZZ().wait(500).close();
The expected output will look similar to the following:
ID Response SysEx received:
   port:    Roland RD
   message: f0 7e 10 06 02 41 2b 02 00 00 00 01 00 00 f7
   brand:   Roland
   model:   RD-700GX
   device:  Digital Stage Piano

Updates

If JZZ.midi.Gear cannot correctly identify your device, please help us fix the script:

- tell us!

  • Please post your device model name, brief description, manufacturer, and ID Response SysEx message at the GitHub issues page

or,

- do it yourself!

  • Clone the project repository from https://github.com/jazz-soft/JZZ-midi-Gear.git
  • In the project root directory run npm install
  • Update the data/models.txt and/or data/vendors.txt
  • In the project root directory run grunt
  • Commit to your branch
  • Create a pull request

Thanks for your support!

Stargazers for @jazz-soft/JZZ-midi-Gear
Forkers for @jazz-soft/JZZ-midi-Gear

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.