/* globals HUM */
"use strict";
/**
* The original g200kg's synthlist
*
* @type {Array.<WmlSynth>}
*/
HUM.midi.WebMidiLinkOut.g200kgSynthList = [];
/**
* Set a global function for WebMidiLink JSONP script (`synthlist.js`)
* In order to use the original synthlist from g200kg, uncomment one of the following `<script>` in "./index.html" file:
* - "./assets/js/lib/synthlist.js" for the "local copy" version;
* - "http://www.g200kg.com/webmidilink/synthlist.js" for the "live" version.
*
* @name SynthListCallback
* @function
* @global
* @param {Array.<WmlSynth>} synthlist - The search term to highlight.
*/
window.SynthListCallback = function(synthlist) {
HUM.midi.WebMidiLinkOut.g200kgSynthList = synthlist;
};
// MIDI Chanel Modes
// Mode 1: OMNI ON, POLY
// Mode 2: OMNI ON, MONO
// Mode 3: OMNI OFF, POLY
// Mode 4: OMNI OFF, MONO
/**
* The Harmonicarium's adhoc synthlist (internal)
*
* @type {Array.<WmlSynthHum>}
*/
HUM.midi.WebMidiLinkOut.adhocSynthList = [{
"name": "Yamaha XG Sound Set.sf2",
"url": "http://logue.github.io/smfplayer.js/wml.html",
// https://logue.dev/smfplayer.js/wml.html?soundfont=Yamaha%20XG%20Sound%20Set%20Ver.2.0.sf2
"author": "Logue",
"authorurl": "http://logue.be/",
"description": "SoundFont player",
"latency": {
"win-ch": 10,
"win-ff": 140,
"mac-sa": 40,
"mac-ch": 40,
"mac-ff": 40,
"*-*": 40
},
"pbRange": "2",
"chVoices": "16",
"chMode": "3",
"chModeDesc": "OMNI OFF, POLY",
"note": "Polyphonic - Multichannel - Multitimbral",
"status": "OK"
}, {
"name": "Mabinogi MSXSprit.sf2",
"url": "https://logue.dev/smfplayer.js/wml.html?soundfont=https://logue.be/mabinogi/mml/MSXspirit.sf2",
"author": "Logue",
"authorurl": "http://logue.be/",
"description": "SoundFont player",
"latency": {
"win-ch": 10,
"win-ff": 140,
"mac-sa": 40,
"mac-ch": 40,
"mac-ff": 40,
"*-*": 40
},
"pbRange": "2",
"chVoices": "16",
"chMode": "3",
"chModeDesc": "OMNI OFF, POLY",
"note": "Polyphonic - Multichannel - Multitimbral",
"status": "OK"
}, {
"name": "WebModular",
"url": "https://www.g200kg.com/webmidilink/webmodular/",
"author": "g200kg",
"authorurl": "https://www.g200kg.com/",
"description": "Modular synthesizer",
"latency": {
"win-ch": 120,
"win-ff": 190,
"mac-sa": 140,
"mac-ch": 140,
"mac-ff": 190,
"*-*": 120
},
"pbRange": "2",
"chVoices": "1",
"chMode": "2",
"chModeDesc": "OMNI ON, MONO",
"note": "Monophonic - Omni",
"status": "Sometimes no sound"
}, {
"name": "WebFMsynthesizer",
"url": "http://www.taktech.org/takm/WebFMSynth/",
"author": "Takashi Mizuhiki",
"authorurl": "http://http://www.taktech.org/takm/",
"description": "FM synthesizer",
"latency": {
"win-ch": 80,
"mac-sa": 70,
"mac-ch": 90,
"*-*": 80
},
"pbRange": "?",
"chVoices": "1",
"chMode": "1",
"chModeDesc": "OMNI ON, POLY",
"note": "Monophonic - Omni",
"status": "Pitchbend receiving to test"
}, {
"name": "RenoidPlayer",
"url": "https://www.g200kg.com/renoid/",
"author": "g200kg",
"authorurl": "https://www.g200kg.com/",
"description": "Virtual Singer",
"latency": {
"win-ch": 160,
"win-ff": 160,
"mac-ch": 160,
"mac-ff": 160,
"*-*": 160
},
"pbRange": "2",
"chVoices": "1",
"chMode": "4",
"chModeDesc": "OMNI OFF, MONO",
"note": "Monophoic - Only channel 1",
"status": "OK"
}, {
"name": "GMPlayer",
"url": "https://www.g200kg.com/webmidilink/gmplayer/",
"author": "g200kg",
"authorurl": "https://www.g200kg.com/",
"description": "GM mapped Multi-timbre Synth",
"latency": {
"win-ch": 40,
"win-ff": 140,
"mac-ch": 40,
"mac-ff": 140,
"*-*": 140
},
"pbRange": "2",
"chVoices": "16",
"chMode": "3",
"chModeDesc": "OMNI OFF, POLY",
"note": "Polyphonic - Multichannel - Multitimbral",
"status": "No sound on Chrome (user gesture issue)"
}, {
"name": "sf2synth.js",
"url": "http://imaya.github.io/demo/sf2.js/wml.html",
"author": "Yuuta Imaya",
"authorurl": "http://blog.livedoor.jp/imayjs/",
"description": "SoundFont Player",
"latency": {
"win-ch": 10,
"win-ff": 140,
"mac-sa": 40,
"mac-ch": 40,
"mac-ff": 40,
"*-*": 40
},
"pbRange": "2",
"chVoices": "16",
"chMode": "3",
"chModeDesc": "OMNI OFF, POLY",
"note": "Polyphonic - Multichannel - Multitimbral",
"status": "OK"
}];