forked from mreid/matriarch-editor
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
111 lines (108 loc) · 4.65 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Moog Grandmother Global Settings Editor</title>
<link rel="stylesheet"
href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T"
crossorigin="anonymous">
<link rel="stylesheet"
href="css/editor.css">
<script src="https://code.jquery.com/jquery-3.5.1.min.js"
integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0="
crossorigin="anonymous"></script>
<script src="js/JZZ.js"></script>
<script src="js/midi.js"></script>
<script src="js/parameters.js"></script>
<script src="js/ui.js"></script>
<script>
$( document ).ready(async function() {
createTable(params);
while (true) {
const out_ok = await open_midi_out();
const in_ok = await open_midi_in();
if (out_ok && in_ok) {
break
}
await sleep(1000);
}
let param_ids = [...Object.values(params).map(p => p.id)]
while (true) {
param_ids = await scan_midi(param_ids, 100);
if (!param_ids.length) {
break;
}
}
});
</script>
</head>
<body>
<h1>Grandmother Global Settings Editor</h1>
<p>
This is a global settings editor for the <a href="https://www.moogmusic.com/products/Grandmother">Moog Grandmother</a>
synthesizer. It uses the SysEx messages introduced in the v1.1.0 firmware update to read/write the settings.
Please refer to the Moog Grandmother
<a href="https://api.moogmusic.com/sites/default/files/2020-09/Grandmother_V1.1.0_Firmware_Update_notes_0.pdf">
v1.1.0 (or later) Firmware Notes PDF </a>
for more details.
The <a href="https://github.com/marcora/grandmother-editor">source code is available on GitHub</a> along
with more details.
It is made available with no warranty or guarantees, and is in no way affiliated with Moog Music.
<strong>Use at your own risk!</strong>.
</p>
<p>
For this editor to work, <strong>your browser will need to support the Web MIDI API</strong> and permissions
will need to be setup correctly. <strong>Your Grandmother will also need to have the latest <a href="https://api.moogmusic.com/sites/default/files/2020-12/Grandmother_Firmware_v1_1_3.zip">v1.1.3 firmware</a> installed</strong>.
</p>
<ul>
<li>For the Chrome browser, you will need to "Allow" MIDI access when the pop-up requests it.</li>
<li>For Safari and Firefox, please follow the instructions at the
<a href="https://jazz-soft.net/download/web-midi/">Web MIDI API extension</a> page to install the
appropriate extensions.</li>
</ul>
<p>
When this page is loaded, the MIDI API will look for any MIDI In/Out devices with the word "Grandmother"
in their name and connect to the first of these that is found. Once connected, the global settings are
scanned. Each of the 47 settings in the table below will switch from a grey to white background if a
value is successfully read from the connected Grandmother.
</p>
<p>
Use the selection boxes or sliders to select a new value from the list. The factory defaults are indicated
with the text "(Default)", along with any explanatory notes. When a new value is selected it is immediate
sent to the Matriarch. The row for the setting will turn grey and then white again indicated that the value
was successfully updated.
</p>
<p>
There are a number of parameters that de-facto resets to another default value than the officially
documented default value.
</p>
<p>
This editor is a modification of the <a href="https://mreid.github.io/matriarch-editor/">Moog Matriarch Global Settings Editor</a> by Mark Reid.
If you like it, please check out some of the music he has made using the Matriarch on
<a href="https://twitter.com/mdreid">Twitter</a>,
<a href="https://www.instagram.com/mdreid/">Instagram</a>,
<a href="https://www.youtube.com/user/mdreid/videos">YouTube</a>,
and <a href="https://soundcloud.com/mdreid-1">SoundCloud</a>.
</p>
<ul>
<li><em>2021-08-24</em>: Initial Release</li>
</ul>
<hr/>
<div id="midiEngineStatus">
<strong>MIDI-Out</strong>: <span id="midiOutName">NONE</span>
<strong>MIDI-In</strong>: <span id="midiInName">NONE</span>
<div id="midiError"></div>
</div>
<table id="parameters">
<thead>
<tr>
<th>Parameter ID</th>
<th>Parameter Name</th>
<th>Values</th>
</tr>
</thead>
<tbody></tbody>
</table>
</body>
</html>