-
Notifications
You must be signed in to change notification settings - Fork 13
/
index.html
141 lines (138 loc) · 5.75 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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Moog Matriarch 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>Matriarch Global Settings Editor</h1>
<p>
This is a settings editor for the <a href="https://www.moogmusic.com/products/matriarch">Moog Matriarch</a>
synthesizer. It uses the SysEx messages introduced in the v1.2.0 firmware update to read/write the settings.
Please refer to the Moog Matriarch
<a href="https://api.moogmusic.com/sites/default/files/2020-09/Matriarch_V1.2.0_Firmware_Notes.pdf">
v1.2.0 Firmware Notes PDF </a>
for more details.
The <a href="https://github.com/mreid/matriarch-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 correctly.
</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 "Matriarch"
in their name and connect to the first of these that is found. Once connected, the global settings are
scanned. Each of the 74 settings in the table below will switch from a grey to white background if a
value is successfully read from the connected Matriarch.
</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. They are marked in the list (this was found with firmware 1.2.3).
</p>
<p>
This editor was developed over a weekend 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>2020-10-04</em>: Initial Release</li>
<li>
<em>2020-12-29</em>:
Better retries, highlighting of non-default settings, and update to 1.2.3 SysEx messages
<a href="https://github.com/mreid/matriarch-editor/pull/1">added</a> by
<a href="https://github.com/algesten">Martin Algesten</a>
</li>
<li>
<em>2022-04-08</em>:
Improved ranges and selectors for PPQN and arp/swing
<a href="https://github.com/mreid/matriarch-editor/pull/3">added</a> by
<a href="https://github.com/faqteur">Quentin Lamerand</a>
</li>
<li>
<em>2022-11-07</em>:
Added instructions for resolving "Matriarch Not Found!" errors.
</li>
<li>
<em>2023-03-18</em>:
Support for MIDI velocity curves in firmware 1.3.0
<a href="https://github.com/mreid/matriarch-editor/pull/5">added</a> by
<a href="https://github.com/dangerous">David Rainsford</a>
</li>
<li>
<em>2024-01-21</em>:
Incorrect values and sign inconsistencies in some parameters
<a href="https://github.com/mreid/matriarch-editor/pull/7">fixed</a> by
<a href="https://github.com/randomrun42">Chris</a>
</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>
<p><em>(If the "Connot find Matriarch!" error persists, access this page via https (not http), i.e., go to
<a href="https://mark.reid.name/matriarch-editor/">https://mark.reid.name/matriarch-editor/</a>)</em></p>
</div>
<table id="parameters">
<thead>
<tr>
<th>Parameter ID</th>
<th>Parameter Name</th>
<th>Values</th>
</tr>
</thead>
<tbody></tbody>
</table>
</body>
</html>