Subversion Repositories svn.mios

Rev

Rev 1113 | Go to most recent revision | 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
 
23
 
24
<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>
25
 
26
<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>
27
 
28
 
29
<H2> <IMG SRC="images/bullet.gif" ALT=""> Hardware: the emulated SCS </H2>
30
 
31
<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>
32
 
33
<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).
34
 
35
<P CLASS=DESC>Example configuration:
36
<TT><PRE style="margin-left:20px">
37
EVENT_BUTTON id=  1  type=Meta   meta=ScsSoft1 range=0:1
38
EVENT_BUTTON id=  2  type=Meta   meta=ScsSoft2 range=0:1
39
EVENT_BUTTON id=  3  type=Meta   meta=ScsSoft3 range=0:1
40
EVENT_BUTTON id=  4  type=Meta   meta=ScsSoft4 range=0:1
41
EVENT_BUTTON id=  5  type=Meta   meta=ScsShift range=0:1
42
EVENT_BUTTON id=  6  type=Meta   meta=ScsMenu  range=0:1
43
 
44
# if dec/inc buttons should be used:
45
# DEC:
46
EVENT_BUTTON id=  7  type=Meta   meta=ScsEnc   range=63:63 button_mode=OnOnly
47
# INC:
48
EVENT_BUTTON id=  8  type=Meta   meta=ScsEnc   range=65:65 button_mode=OnOnly
49
 
50
# if a rotary encoder should be used:
51
ENC n=  1   sr= 15 pins=0:1   type=detented3
52
EVENT_ENC    id=  1  type=Meta   meta=ScsEnc   range=0:127 enc_mode=40Speed
53
</PRE></TT>
54
 
55
 
56
<H2> <IMG SRC="images/bullet.gif" ALT=""> Main Page </H2>
57
 
58
<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>
59
 
60
<P CLASS=INFO>By pressing the EXIT button the menu system will be entered. Press it again to exit the menu system.</P>
61
 
62
<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!
63
 
64
<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:
65
 
1113 tk 66
<TT><PRE style="margin-left:20px; font-size:8pt">
1107 tk 67
# the SCS should emulate button/enc functions in main page
68
SCS soft1_button_emu_id=2000 \
69
    soft2_button_emu_id=2001 \
70
    soft3_button_emu_id=2002 \
71
    soft4_button_emu_id=2003 \
72
    shift_button_emu_id=2004 \
73
    enc_emu_id=2000
74
 
75
 
76
# Controlled from SCS buttons at J10 in main page
77
EVENT_BUTTON id=2000  type=Meta   meta=SetBank   button_mode=OnOnly range=1:1  lcd_pos=1:17:1 label="Bnk%q"
78
EVENT_BUTTON id=2001  type=Meta   meta=SetBank   button_mode=OnOnly range=2:2  lcd_pos=1:17:1 label="Bnk%q"
79
EVENT_BUTTON id=2002  type=Meta   meta=SetBank   button_mode=OnOnly range=3:3  lcd_pos=1:17:1 label="Bnk%q"
80
EVENT_BUTTON id=2003  type=Meta   meta=SetBank   button_mode=OnOnly range=4:4  lcd_pos=1:17:1 label="Bnk%q"
81
EVENT_BUTTON id=2004  type=Meta   meta=EncFast:4 button_mode=OnOff  range=0:2
82
 
83
# the SCS encoder at J10 just increments/decrements the bank
84
# redundant function - could be changed in future
85
EVENT_ENC    id=2000  type=Meta   meta=SetBank   range=1:4
86
</PRE></TT>
87
 
88
<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.
89
 
90
<P CLASS=INFO>In fact, MIDIbox NG configurations are thinkable which only only consist of these SCS components!</P>
91
 
92
 
93
<H2> <IMG SRC="images/bullet.gif" ALT=""> Menu Pages </H2>
94
 
95
<P CLASS=DESC>The SCS menu will be entered by pressing the EXIT button in the main page:<BR>
1117 tk 96
<IMG SRC="midibox_ng/cs/root1.gif" width=482 height=38 ALT="Screen"></IMG><BR>
1107 tk 97
The pages are described in more details below.<BR>
98
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>
99
 
100
<P CLASS=DESC>By pressing the Shift button a special page will pop up:<BR>
101
<IMG SRC="midibox_ng/cs/shift1.gif" width=242 height=38 ALT="Screen"></IMG><BR>
102
<UL CLASS=CL>
103
  <LI><B>Clk:</B> <I>no function yet!</I>
104
  <LI><B>BPM:</B> <I>no function yet!</I>
105
  <LI><B>DOUT:</B> allows to disable all DOUT pins (like "All Notes Off") from any page
106
  <LI><B>MSD:</B> enables/disables the Mass Storage Device driver as descriped in the "Integrated SD Card Reader" topic
107
</UL>
108
 
1113 tk 109
 
110
<H2> <IMG SRC="images/bullet.gif" ALT=""> Var(iable) </H2>
111
 
1107 tk 112
<IMG SRC="midibox_ng/cs/var1.gif" width=302 height=38 ALT="Screen"></IMG><BR>
1113 tk 113
<P CLASS=DESC>The Var page allows to change SysEx dump related variables directly from the control surface:
1107 tk 114
<UL CLASS=CL>
115
  <LI><B>Dev:</B> the device number <I>^dev</I>
116
  <LI><B>Pat:</B> the patch number <I>^pat</I>
117
  <LI><B>Bnk:</B> the bank number <I>^bnk</I>
118
  <LI><B>Ins:</B> the instrument number <I>^ins</I>
119
  <LI><B>Chn:</B> the channel number <I>^chn</I>
120
</UL>
121
 
122
<P CLASS=DESC>The variables could also be used for other purposes of course, they are only placeholders for typical usecases.
123
 
124
 
1117 tk 125
<H2> <IMG SRC="images/bullet.gif" ALT=""> Snap(shot) </H2>
126
 
127
<IMG SRC="midibox_ng/cs/snap1.gif" width=242 height=38 ALT="Screen"></IMG><BR>
128
<P CLASS=DESC>The Snapshot page allows to select, load, save and dump a snapshot.
129
 
130
<P CLASS=DESC>Snapshots are stored in a .NGS file with the same name of the .NGC configuration which is currently active.
131
 
132
<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.
133
 
134
<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>.
135
 
1113 tk 136
<H2> <IMG SRC="images/bullet.gif" ALT=""> Router </H2>
137
 
1107 tk 138
<IMG SRC="midibox_ng/cs/rout1.gif" width=302 height=38 ALT="Screen"></IMG><BR>
1113 tk 139
<P CLASS=DESC>The Router page allows to configure the integrated MIDI Router.<BR>
1107 tk 140
The router consists of 16 "nodes".<BR>
141
Each node can be connected to an individual source and destination port.<BR>
142
A node is activated by selecting a source MIDI channel != "--", e.g. 1..16 or All (for all channels).<BR>
143
The node will forward a MIDI event to the destination port. Either to the original channel ("All"), or to a changed channel (1..16)
144
 
145
<UL CLASS=CL>
146
  <LI><B>Node:</B> the selected router node (1..16)
147
  <LI><B>SrcP:</B> the source port
148
  <LI><B>Chn.:</B> the source channel ("--" to disable, 1..16 or "All")
149
  <LI><B>DstP:</B> the destination port
150
  <LI><B>Chn.:</B> the destination channel ("--" to disable, 1..16 to change the channel, or "All" to keep it untouched)
151
</UL>
152
 
153
 
1113 tk 154
<H2> <IMG SRC="images/bullet.gif" ALT=""> OSC </H2>
1107 tk 155
 
156
<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>
157
<IMG SRC="midibox_ng/cs/osc1.gif" width=422 height=38 ALT="Screen"></IMG><BR>
158
allows to configure the OSC ports 1..4.<BR>
159
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.
160
 
161
<UL CLASS=CL>
162
  <LI><B>Port:</B> the selected OSC port (1..4)
163
  <LI><B>Remote IP:</B> the remote IP assigned to the OSC port (e.g. the IP of your iPad)
164
  <LI><B>Remote Port:</B> the remote port to which OSC packets will be sent
165
  <LI><B>Local Port:</B> the local port from which OSC packets will be received
166
  <LI><B>Mode:</B> following transfer formats are currently supported:
167
    <UL CLASS=CL>
168
      <LI><B>MIDI:</B> MIDI events are bundled into MIDI elements
169
      <LI><B>Text Msg (Integer):</B> uses human readable pathes, values are in integer format
170
      <LI><B>Text Msg (Float):</B> uses human readable pathes, values are in float format
171
      <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>
172
      <LI><B>TOSC (TouchOSC):</B> selects format which is used by <A HREF="http://hexler.net/software/touchosc" TARGET="_blank">TouchOSC</A>
173
    </UL>
174
</UL>
175
</P>
176
 
1113 tk 177
<P CLASS=DESC>See the <A HREF="midibox_osc.html">MIDIbox OSC chapter</A> for more details about the OSC protocol.</P>
1107 tk 178
 
1113 tk 179
 
180
<H2> <IMG SRC="images/bullet.gif" ALT=""> Network </H2>
181
 
1107 tk 182
<IMG SRC="midibox_ng/cs/netw1.gif" width=302 height=38 ALT="Screen"></IMG><BR>
1113 tk 183
<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 184
 
185
<UL CLASS=CL>
186
  <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.
187
  <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
188
  <LI><B>Netmask:</B> if DHCP on: displays the current netmask, if DHCP off: allows to enter the netmask of your MIDIbox NG manually
189
  <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
190
</UL>
191
 
1113 tk 192
 
193
<H2> <IMG SRC="images/bullet.gif" ALT=""> Monitor </H2>
194
 
1107 tk 195
<IMG SRC="midibox_ng/cs/mon1.gif" width=722 height=38 ALT="Screen"></IMG><BR>
1113 tk 196
<P CLASS=DESC>The Monitor page shows all IN ports at the upper line, and OUT ports at the lower line.</P>
1107 tk 197
 
198
<P CLASS=DESC>Whenever an event is received or sent, the appr. item will show the event for a short moment.<BR>
199
This gives you a great overview of the MIDI activity, especially to analyze the current track and MIDI router setup.</P>
200
 
201
 
1113 tk 202
 
203
<H2> <IMG SRC="images/bullet.gif" ALT=""> Learn </H2>
204
 
205
<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.
206
 
207
<P CLASS=DESC>The usage is simple:<BR>
208
<IMG SRC="midibox_ng/cs/learn1.gif" width=242 height=38 ALT="Screen"></IMG><BR>
209
<P CLASS=DESC>Select either "Common" or "NRPN" to start the learning procedure. Thereafter following screen will appear:<BR>
210
<IMG SRC="midibox_ng/cs/learn2.gif" width=242 height=38 ALT="Screen"></IMG><BR>
211
which tells you that MBNG is waiting for an incoming MIDI event.
212
 
213
<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:
214
<IMG SRC="midibox_ng/cs/learn3.gif" width=242 height=38 ALT="Screen"></IMG><BR>
215
Once the values have been received, just move the controller (button/encoder/pot/motorfader) to which the new event should be assigned.</P>
216
 
217
<P CLASS=DESC>-&gt; done!</P>
218
 
219
<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>
220
 
221
<H2> <IMG SRC="images/bullet.gif" ALT=""> Disk </H2>
222
 
1107 tk 223
<IMG SRC="midibox_ng/cs/disk1.gif" width=242 height=38 ALT="Screen"></IMG><BR>
1113 tk 224
<P CLASS=DESC>The Disk page allows to store and restore a patch on SD Card of a given name.
1107 tk 225
 
226
<UL CLASS=CL>
227
  <LI><B>Load:</B> opens a filename browser for all .MIO files found on SD Card:<BR>
228
      <IMG SRC="midibox_ng/cs/disk2.gif" width=242 height=38 ALT="Screen"></IMG><BR>
229
      Select one of these files to load the patch (or press the Exit button to cancel this operation).
230
  <LI><B>Save:</B> enter the filename with the rotary encoder:<BR>
231
      <IMG SRC="midibox_ng/cs/disk3.gif" width=242 height=38 ALT="Screen"></IMG><BR>
232
      Press "SAVE" to store the patch (or press the Exit button to cancel this operation).
233
</UL>
234
 
235
 
236
<H2> <IMG SRC="images/bullet.gif" ALT=""> Planned Features </H2>
237
 
238
<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>
239
 
240
FOOTER