Subversion Repositories svn.mios

Rev

Rev 1117 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1107 tk 1
HEADER 3 MIDIbox NG User Manual --- Standard Control Surface
2
 
3
<P CLASS=INFO><B><A HREF="midibox_ng_manual.html">Back to main page...</A></B></P>
4
 
5
<H1>MIDIbox NG</H1>
6
<H1>User Manual --- Standard Control Surface</H1>
7
 
1113 tk 8
<P CLASS=INFO>The optional Standard Control Surface (SCS) allows to edit some (but not all) configuration values without the need of a computer.
1107 tk 9
 
10
<center><img src="midio128/midio128_v3_cs.jpg" width="550" height=554></IMG></center>
11
 
12
 
13
<H2> <IMG SRC="images/bullet.gif" ALT=""> Hardware: the original SCS </H2>
14
 
15
<P CLASS=INFO>Actually we've two ways how to access the SCS menu system. First let's describe the original SCS:</P>
16
 
1113 tk 17
<P CLASS=INFO>A <B>detented</B> rotary encoder and 6 buttons are directly connected to J10 of the MBHP_CORE_LPC17 module to control the menu system:<BR>
1107 tk 18
<a href="midibox_ng/mbng_scs.pdf">Schematic of the Standard Control Surface</A><BR>
19
In addition a LCD is required. The recommended size is at least 2x20! Graphical LCDs (GLCDs) are supported as well.</P>
20
 
21
<P CLASS=INFO>The <A HREF="midio128.html">MIDIO128 project</A> uses the same control surface, which means that users who built a MIDIO128 can upload the MIDIbox NG firmware and control it with their existing hardware, and vice versa!
22
 
1200 tk 23
<P CLASS=INFO>Meanwhile also a PCB is available which has been created by Ilmentator - see <A HREF="http://www.midibox.org/dokuwiki/doku.php?id=scs_pcb&#midibox_scs_standard_control_surface_module" TARGET="_blank">this Wiki page</A>.</P>
1107 tk 24
 
25
<P CLASS=DESC>In the main page (which is active after power-on) it's possible to emulate <A HREF="midibox_ng_manual_ngc.html">BUTTON and ENC</A> functions, which means that a very basic MIDI controller with a rotary encoder + 6 buttons could be created without the need to attach a <A HREF="mbhp_din.html">MBHP_DIN</A> module to the core!</P>
26
 
27
<P CLASS=DESC>A premade PCB layout for the SCS doesn't exist yet, but if you are interested to create one: step forward! :-)</P>
28
 
29
 
30
<H2> <IMG SRC="images/bullet.gif" ALT=""> Hardware: the emulated SCS </H2>
31
 
32
<P CLASS=DESC>Alternatively, it's possible to access the SCS menu system from buttons/encoder which are connected to a <A HREF="mbhp_din.html">MBHP_DIN</A> module.</P>
33
 
34
<P CLASS=DESC>In this case, Meta events have to be used to trigger the SCS functions. The events could be assigned to dedicated buttons/encoder, but also to controllers which are part of a bank (means: access the SCS by pressing your self-defined shift button which switches to a different bank).
35
 
36
<P CLASS=DESC>Example configuration:
37
<TT><PRE style="margin-left:20px">
38
EVENT_BUTTON id=  1  type=Meta   meta=ScsSoft1 range=0:1
39
EVENT_BUTTON id=  2  type=Meta   meta=ScsSoft2 range=0:1
40
EVENT_BUTTON id=  3  type=Meta   meta=ScsSoft3 range=0:1
41
EVENT_BUTTON id=  4  type=Meta   meta=ScsSoft4 range=0:1
42
EVENT_BUTTON id=  5  type=Meta   meta=ScsShift range=0:1
43
EVENT_BUTTON id=  6  type=Meta   meta=ScsMenu  range=0:1
44
 
45
# if dec/inc buttons should be used:
46
# DEC:
47
EVENT_BUTTON id=  7  type=Meta   meta=ScsEnc   range=63:63 button_mode=OnOnly
48
# INC:
49
EVENT_BUTTON id=  8  type=Meta   meta=ScsEnc   range=65:65 button_mode=OnOnly
50
 
51
# if a rotary encoder should be used:
52
ENC n=  1   sr= 15 pins=0:1   type=detented3
53
EVENT_ENC    id=  1  type=Meta   meta=ScsEnc   range=0:127 enc_mode=40Speed
54
</PRE></TT>
55
 
56
 
57
<H2> <IMG SRC="images/bullet.gif" ALT=""> Main Page </H2>
58
 
59
<P CLASS=INFO>In the main page (which is active after power-on) the SCS menu system is inactive. Instead, MIDIbox NG will display the strings which are printed by the controllers as specified in the <A HREF="midibox_ng_manual_ngc.html">.NGC file</A>.</P>
60
 
61
<P CLASS=INFO>By pressing the EXIT button the menu system will be entered. Press it again to exit the menu system.</P>
62
 
63
<P CLASS=INFO>The SOFT1..4 and SHIFT button, as well as the encoder have no effect in the main page by default, but they can emulate controller ids!
64
 
65
<P CLASS=INFO>E.g. with following configuration, the SOFT buttons can be used to select a bank, and the SHIFT button is used to enable the FAST mode for rotary encoders:
66
 
1113 tk 67
<TT><PRE style="margin-left:20px; font-size:8pt">
1107 tk 68
# the SCS should emulate button/enc functions in main page
69
SCS soft1_button_emu_id=2000 \
70
    soft2_button_emu_id=2001 \
71
    soft3_button_emu_id=2002 \
72
    soft4_button_emu_id=2003 \
73
    shift_button_emu_id=2004 \
74
    enc_emu_id=2000
75
 
76
 
77
# Controlled from SCS buttons at J10 in main page
78
EVENT_BUTTON id=2000  type=Meta   meta=SetBank   button_mode=OnOnly range=1:1  lcd_pos=1:17:1 label="Bnk%q"
79
EVENT_BUTTON id=2001  type=Meta   meta=SetBank   button_mode=OnOnly range=2:2  lcd_pos=1:17:1 label="Bnk%q"
80
EVENT_BUTTON id=2002  type=Meta   meta=SetBank   button_mode=OnOnly range=3:3  lcd_pos=1:17:1 label="Bnk%q"
81
EVENT_BUTTON id=2003  type=Meta   meta=SetBank   button_mode=OnOnly range=4:4  lcd_pos=1:17:1 label="Bnk%q"
82
EVENT_BUTTON id=2004  type=Meta   meta=EncFast:4 button_mode=OnOff  range=0:2
83
 
84
# the SCS encoder at J10 just increments/decrements the bank
85
# redundant function - could be changed in future
86
EVENT_ENC    id=2000  type=Meta   meta=SetBank   range=1:4
87
</PRE></TT>
88
 
89
<P CLASS=INFO>Of course, the buttons/encoders could also trigger any other action which is controllable by an EVENT_* definition. E.g., they could also send MIDI events.
90
 
91
<P CLASS=INFO>In fact, MIDIbox NG configurations are thinkable which only only consist of these SCS components!</P>
92
 
93
 
94
<H2> <IMG SRC="images/bullet.gif" ALT=""> Menu Pages </H2>
95
 
96
<P CLASS=DESC>The SCS menu will be entered by pressing the EXIT button in the main page:<BR>
1117 tk 97
<IMG SRC="midibox_ng/cs/root1.gif" width=482 height=38 ALT="Screen"></IMG><BR>
1107 tk 98
The pages are described in more details below.<BR>
99
Note that the 2x20 LCD will only display 4 of these items at once. Use the rotary encoder to scroll through the menu, and use a soft button to select the item above the button. Use the Exit button to get back to the previous page.</P>
100
 
101
<P CLASS=DESC>By pressing the Shift button a special page will pop up:<BR>
102
<IMG SRC="midibox_ng/cs/shift1.gif" width=242 height=38 ALT="Screen"></IMG><BR>
103
<UL CLASS=CL>
104
  <LI><B>Clk:</B> <I>no function yet!</I>
105
  <LI><B>BPM:</B> <I>no function yet!</I>
106
  <LI><B>DOUT:</B> allows to disable all DOUT pins (like "All Notes Off") from any page
107
  <LI><B>MSD:</B> enables/disables the Mass Storage Device driver as descriped in the "Integrated SD Card Reader" topic
108
</UL>
109
 
1113 tk 110
 
111
<H2> <IMG SRC="images/bullet.gif" ALT=""> Var(iable) </H2>
112
 
1107 tk 113
<IMG SRC="midibox_ng/cs/var1.gif" width=302 height=38 ALT="Screen"></IMG><BR>
1113 tk 114
<P CLASS=DESC>The Var page allows to change SysEx dump related variables directly from the control surface:
1107 tk 115
<UL CLASS=CL>
116
  <LI><B>Dev:</B> the device number <I>^dev</I>
117
  <LI><B>Pat:</B> the patch number <I>^pat</I>
118
  <LI><B>Bnk:</B> the bank number <I>^bnk</I>
119
  <LI><B>Ins:</B> the instrument number <I>^ins</I>
120
  <LI><B>Chn:</B> the channel number <I>^chn</I>
121
</UL>
122
 
123
<P CLASS=DESC>The variables could also be used for other purposes of course, they are only placeholders for typical usecases.
124
 
125
 
1117 tk 126
<H2> <IMG SRC="images/bullet.gif" ALT=""> Snap(shot) </H2>
127
 
128
<IMG SRC="midibox_ng/cs/snap1.gif" width=242 height=38 ALT="Screen"></IMG><BR>
129
<P CLASS=DESC>The Snapshot page allows to select, load, save and dump a snapshot.
130
 
131
<P CLASS=DESC>Snapshots are stored in a .NGS file with the same name of the .NGC configuration which is currently active.
132
 
133
<P CLASS=DESC>Up to 128 snapshots are available: 0..127; the stored values are referenced with the control element ids. It's allowed to add or remove ids, but they shouldn't change anymore if you are starting to create snapshots, otherwise values will be restored for the wrong control elements. If id changes can't be omitted, please remove the .NGS file from SD Card, so that a new one will be created.
134
 
135
<P CLASS=DESC>Note that snapshots can be alternatively controlled from buttons or incoming MIDI events by using meta events as described in the <A HREF="midibox_ng_manual_ngc.html">.NGC page</A>.
136
 
1113 tk 137
<H2> <IMG SRC="images/bullet.gif" ALT=""> Router </H2>
138
 
1107 tk 139
<IMG SRC="midibox_ng/cs/rout1.gif" width=302 height=38 ALT="Screen"></IMG><BR>
1113 tk 140
<P CLASS=DESC>The Router page allows to configure the integrated MIDI Router.<BR>
1107 tk 141
The router consists of 16 "nodes".<BR>
142
Each node can be connected to an individual source and destination port.<BR>
143
A node is activated by selecting a source MIDI channel != "--", e.g. 1..16 or All (for all channels).<BR>
144
The node will forward a MIDI event to the destination port. Either to the original channel ("All"), or to a changed channel (1..16)
145
 
146
<UL CLASS=CL>
147
  <LI><B>Node:</B> the selected router node (1..16)
148
  <LI><B>SrcP:</B> the source port
149
  <LI><B>Chn.:</B> the source channel ("--" to disable, 1..16 or "All")
150
  <LI><B>DstP:</B> the destination port
151
  <LI><B>Chn.:</B> the destination channel ("--" to disable, 1..16 to change the channel, or "All" to keep it untouched)
152
</UL>
153
 
154
 
1113 tk 155
<H2> <IMG SRC="images/bullet.gif" ALT=""> OSC </H2>
1107 tk 156
 
157
<P CLASS=DESC>Aside from the possibility to configure Ethernet and OSC Server/Client from the MIOS Terminal as described at the <A HREF="midibox_osc.html">MIDIbox OSC page</A>, it's also possible to change the settings from the control surface:<BR>
158
<IMG SRC="midibox_ng/cs/osc1.gif" width=422 height=38 ALT="Screen"></IMG><BR>
159
allows to configure the OSC ports 1..4.<BR>
160
Each OSC port has an individual remote IP, a remote port (to which OSC packets will be sent) and a local port (from which OSC packets will be received). Various packet formats are supported, additional modes can be added in future on request.
161
 
162
<UL CLASS=CL>
163
  <LI><B>Port:</B> the selected OSC port (1..4)
164
  <LI><B>Remote IP:</B> the remote IP assigned to the OSC port (e.g. the IP of your iPad)
165
  <LI><B>Remote Port:</B> the remote port to which OSC packets will be sent
166
  <LI><B>Local Port:</B> the local port from which OSC packets will be received
167
  <LI><B>Mode:</B> following transfer formats are currently supported:
168
    <UL CLASS=CL>
169
      <LI><B>MIDI:</B> MIDI events are bundled into MIDI elements
170
      <LI><B>Text Msg (Integer):</B> uses human readable pathes, values are in integer format
171
      <LI><B>Text Msg (Float):</B> uses human readable pathes, values are in float format
172
      <LI><B>MPP (Pianist Pro):</B> selects format which is used by <A HREF="http://moocowmusic.com/PianistPro/index.html" TARGET="_blank">Pianist Pro</A>
173
      <LI><B>TOSC (TouchOSC):</B> selects format which is used by <A HREF="http://hexler.net/software/touchosc" TARGET="_blank">TouchOSC</A>
174
    </UL>
175
</UL>
176
</P>
177
 
1113 tk 178
<P CLASS=DESC>See the <A HREF="midibox_osc.html">MIDIbox OSC chapter</A> for more details about the OSC protocol.</P>
1107 tk 179
 
1113 tk 180
 
181
<H2> <IMG SRC="images/bullet.gif" ALT=""> Network </H2>
182
 
1107 tk 183
<IMG SRC="midibox_ng/cs/netw1.gif" width=302 height=38 ALT="Screen"></IMG><BR>
1113 tk 184
<P CLASS=DESC>The Network page allows to configure the Ethernet interface of the <A HREF="mbhp_core_lpc17.html">MBHP_CORE_LPC17</A> module.
1107 tk 185
 
186
<UL CLASS=CL>
187
  <LI><B>DHCP:</B> if enabled (default), the Host IP, Network Mask and Gateway address will be requested from a DHCP Daemon (e.g. your wireless router) automatically whenever the ethernet cable is connected. The configuration could take some seconds depending on the responsiveness of your router.
188
  <LI><B>IP Host:</B> if DHCP on: displays the current IP address, if DHCP off: allows to enter the IP address of your MIDIbox NG manually
189
  <LI><B>Netmask:</B> if DHCP on: displays the current netmask, if DHCP off: allows to enter the netmask of your MIDIbox NG manually
190
  <LI><B>IP Gateway:</B> if DHCP on: displays the current gateway address, if DHCP off: allows to enter the gateway of the ethernet network manually
191
</UL>
192
 
1113 tk 193
 
194
<H2> <IMG SRC="images/bullet.gif" ALT=""> Monitor </H2>
195
 
1107 tk 196
<IMG SRC="midibox_ng/cs/mon1.gif" width=722 height=38 ALT="Screen"></IMG><BR>
1113 tk 197
<P CLASS=DESC>The Monitor page shows all IN ports at the upper line, and OUT ports at the lower line.</P>
1107 tk 198
 
199
<P CLASS=DESC>Whenever an event is received or sent, the appr. item will show the event for a short moment.<BR>
200
This gives you a great overview of the MIDI activity, especially to analyze the current track and MIDI router setup.</P>
201
 
202
 
1113 tk 203
 
204
<H2> <IMG SRC="images/bullet.gif" ALT=""> Learn </H2>
205
 
206
<P CLASS=DESC>The MIDI Learn function allows to assign a received MIDI event (Note/Aftertouch/CC/Program Change/PitchBender) to a controller (button/encoder/pot/motorfader). In NRPN mode it's even possible to assign an incoming NRPN event. In this learn mode, CC#6/38/98/99 will be transformed to an NRPN and can't be learned "standalone", therefore it's provided as a separate selection.
207
 
208
<P CLASS=DESC>The usage is simple:<BR>
209
<IMG SRC="midibox_ng/cs/learn1.gif" width=242 height=38 ALT="Screen"></IMG><BR>
210
<P CLASS=DESC>Select either "Common" or "NRPN" to start the learning procedure. Thereafter following screen will appear:<BR>
211
<IMG SRC="midibox_ng/cs/learn2.gif" width=242 height=38 ALT="Screen"></IMG><BR>
212
which tells you that MBNG is waiting for an incoming MIDI event.
213
 
214
<P CLASS=DESC>The incoming MIDI event should be sent over the full range (e..g. 0...127) to define the min/max value of the event which should be learnt:
215
<IMG SRC="midibox_ng/cs/learn3.gif" width=242 height=38 ALT="Screen"></IMG><BR>
216
Once the values have been received, just move the controller (button/encoder/pot/motorfader) to which the new event should be assigned.</P>
217
 
218
<P CLASS=DESC>-&gt; done!</P>
219
 
220
<P CLASS=DESC>Please note that it's also possible to assign the MIDI Learn function to a dedicated button by using a <A HREF="midibox_ng_manual_ngc.html">Meta Function</A>.</P>
221
 
222
<H2> <IMG SRC="images/bullet.gif" ALT=""> Disk </H2>
223
 
1107 tk 224
<IMG SRC="midibox_ng/cs/disk1.gif" width=242 height=38 ALT="Screen"></IMG><BR>
1113 tk 225
<P CLASS=DESC>The Disk page allows to store and restore a patch on SD Card of a given name.
1107 tk 226
 
227
<UL CLASS=CL>
228
  <LI><B>Load:</B> opens a filename browser for all .MIO files found on SD Card:<BR>
229
      <IMG SRC="midibox_ng/cs/disk2.gif" width=242 height=38 ALT="Screen"></IMG><BR>
230
      Select one of these files to load the patch (or press the Exit button to cancel this operation).
231
  <LI><B>Save:</B> enter the filename with the rotary encoder:<BR>
232
      <IMG SRC="midibox_ng/cs/disk3.gif" width=242 height=38 ALT="Screen"></IMG><BR>
233
      Press "SAVE" to store the patch (or press the Exit button to cancel this operation).
234
</UL>
235
 
236
 
237
<H2> <IMG SRC="images/bullet.gif" ALT=""> Planned Features </H2>
238
 
239
<P CLASS=INFO>It's planned to store/restore "snapshots" from the SCS, which allow to recall controller values (resp. SysEx patches) from files stored on SD Card.</P>
240
 
241
FOOTER