Subversion Repositories svn.mios

Rev

Rev 1117 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1015 tk 1
HEADER 3 MIDIO128 V3
2
 
3
<H1>MIDIO128 V3</H1>
4
<H3>Created in July 2011</H3>
5
 
6
<P CLASS=INFO>The MIDIO128 application allows to midify keyboard instruments such as organs.<BR>
7
It can also be used for other purposes of course - whenever you are planning to trigger MIDI events with buttons, and/or to control LEDs (or relays) via USB, MIDI or Ethernet/OSC, have a closer look to the feature list!</P>
8
 
1162 tk 9
<P CLASS=INFO>While the <A HREF="midio128_v2.html">previous version</A> was based on the <A HREF="mbhp_core.html">expired PIC based core</A>, MIDIO128 V3 utilizes the new <A HREF="mbhp_core_lpc17.html">MBHP_CORE_LPC17</A> and <A HREF="mbhp_core_stm32f4.html">MBHP_CORE_STM32F4 module</A>, and provides much more features:
1015 tk 10
<UL CLASS=CL>
11
<LI> up to 16 8bit input shift registers (=128 pins, =4 x <A HREF="mbhp_din.html">MBHP_DINX4 modules)</A>
12
<LI> up to 16 8bit output shift registers (=128 pins, =4 x <A HREF="mbhp_din.html">MBHP_DOUTX4 modules)</A>
13
<LI> up to 16 scan matrices for up to 1024 pins/keys
1033 tk 14
<LI> up to 8 pots/faders directly connected to the core
15
<LI> up to 128 pots/faders connected to up to two <A HREF="mbhp_ainser64.html">MBHP_AINSER64 modules</A>.
1015 tk 16
<LI> USB MIDI port with much higher transfer rate (ca. 100x faster!) than common MIDI
1086 tk 17
<LI> Ethernet port to send/receive events via <A HREF="midibox_osc.html">OSC</A>
1016 tk 18
<LI> support for DHCP - connect the module to a wireless router without additional configuration
1015 tk 19
<LI> different OSC modes are prepared for popular PC/Mac/iPhone/iPad apps, extensions can be added on request
1017 tk 20
<LI> can also be used as USB/MIDI interface, or even as OSC/MIDI interface
1016 tk 21
<LI> integrated MIDI router with 16 configurable nodes
1015 tk 22
<LI> multiple patches are stored on SD Card
23
<LI> optional Control Surface for direct editing without a computer
24
<LI> but patches can also be edited on a computer, e.g. in an Excel or Open Office spreadsheet
1021 tk 25
<LI> integrated MIDI monitor for all Ports (USB/MIDI/OSC)
1113 tk 26
<LI> integrated MIDI File Player and Recorder
1021 tk 27
<LI> integrated SD Card Reader (Mass Storage Device driver for USB)
1015 tk 28
<LI> more features available on request
29
</UL>
30
 
1016 tk 31
<H2> <IMG SRC="images/bullet.gif" ALT=""> Hardware </H2>
32
 
33
<P CLASS=DESC>The MIDIO128 V3 application consists of:
34
<UL CLASS=CL>
1162 tk 35
  <LI>a <A HREF="mbhp_core_lpc17.html">MBHP_CORE_LPC17</A> or <A HREF="mbhp_core_stm32f4.html">MBHP_CORE_STM32F4</A> module
1016 tk 36
  <LI>up to 4 <A HREF="mbhp_din.html">MBHP_DINX4</A> modules
37
  <LI>up to 4 <A HREF="mbhp_dout.html">MBHP_DOUTX4</A> modules
38
  <LI>an (more or less) optional <A HREF="mbhp_sdcard.html">SD Card</A><BR>
1113 tk 39
      Without a SD Card patches can't be stored/restored, and MIDI files can't be played or recorded
40
  <LI>an optional 2x20 LCD + 6 buttons + detented rotary encoder for the control surface<BR>
1016 tk 41
      Without the control surface patches can only be edited with a PC/Mac
1021 tk 42
  <LI>up to 8 pots/faders connected to J5A/J5B of the core module
1016 tk 43
</UL>
44
 
1021 tk 45
<p></p><center><a href="midio128/midio128_v3_interconnections.pdf"><img src="midio128/midio128_v3_interconnections.png" width="550" height=425></a></center><p></p>
1016 tk 46
 
47
<H2> <IMG SRC="images/bullet.gif" ALT=""> Controlling Reed Relays </H2>
48
 
49
<P CLASS=INFO><A HREF="mbhp/mbhp_doutx1_reed_relays.pdf">This diagram</A> shows, how Reed Relays can be connected to the DOUT module.<P>
50
<P CLASS=INFO><A HREF="mbhp/mbhp_doutx1_reed_relays.jpg">This photo</A> shows the circuit together with a 74HC595 shift register (DOUT) built on a veroboard.</P>
51
 
52
<H2> <IMG SRC="images/bullet.gif" ALT=""> Scan Matrices </H2>
53
 
1066 tk 54
<P CLASS=INFO>MIDIO128 V3 allows to scan up to 16 8x8 matrices, which are connected between a DOUT and DIN shift register.</P>
55
<P CLASS=INFO><A HREF="midio128/midio128_v3_scanmatrix.pdf">Connection diagram for a single matrix</A> connected between <A HREF="mbhp_din.html">MBHP_DIN</A> and <A HREF="mbhp_dout.html">MBHP_DOUT</A> module.</P>
56
<P CLASS=INFO><A HREF="midio128/midio128_v3_dio_scanmatrix.pdf">Connection diagram for two matrices</A> connected to <A HREF="mbhp_dio_matrix.html">MBHP_DIO_MATRIX</A> module.
1016 tk 57
</P>
58
 
59
<P CLASS=INFO>Each matrix can be assigned to a dedicated DIN and DOUT shift register. Optionally it's possible to share a single DOUT register for all matrices (in this case assign a DOUT to the first matrix, and disable the DOUT for all other matrices). The remaining (not assigned) DIN/DOUT registers can still be used to connect buttons and LEDs directly.</P>
60
 
61
 
1021 tk 62
<H2> <IMG SRC="images/bullet.gif" ALT=""> Pots/Faders </H2>
63
 
1162 tk 64
<P CLASS=INFO>Up to 8 pots/faders can be directly connected to J5A/B of the MBHP_CORE_LPC17 or MBHP_CORE_STM32F4 module as shown in the <a href="midio128/midio128_v3_interconnections.pdf">interconnection diagram</A>.</P>
1021 tk 65
 
1033 tk 66
<P CLASS=INFO>The resistor value should be in the range of 1k..10k. The cable between pot and J5 port shouldn't be longer than 0.5m if 10k pots are used. With a shielded cable and 1k pots the allowed length is up to 2m.</P>
1021 tk 67
 
68
 
1033 tk 69
<H2> <IMG SRC="images/bullet.gif" ALT=""> More Pots/Faders </H2>
70
 
71
<P CLASS=INFO>Up to 128 pots/faders can be scanned by using one or two <A HREF="mbhp_ainser64.html">MBHP_AINSER64</A> modules. The MIDIO128 firmware allows to configure individual MIDI events and Port routings for each analog input.</P>
72
 
73
 
1016 tk 74
<H2> <IMG SRC="images/bullet.gif" ALT=""> Installation </H2>
75
 
76
<P CLASS=DESC>The MIDIO128 V3 firmware is released as a precompiled binary, which can be easily updated via USB MIDI by using MIOS Studio. Details about the bootloader are explained <A HREF="mios32_bootstrap_newbies.html">here</A>.</P>
77
 
78
<P CLASS=DESC>Step by Step:
79
<UL CLASS=CL>
80
  <LI>it's assumed that you already tested the USB MIDI communication by pressing the Query button in MIOS Studio as explained in the <A HREF="mios32_bootstrap_newbies.html">Bootloader page</A> - you should get some informations about the chip and the running application.<BR>
1162 tk 81
      If this procedure sounds unfamiliar to you, please follow the hardware test procedure first as explained in the <A HREF="mbhp_core_lpc17.html">MBHP_CORE_LPC17</A> resp. <A HREF="mbhp_core_stm32f4.html">MBHP_CORE_STM32F4</A> page.</LI>
1016 tk 82
  <LI>download the latest midio128_v3_* release package from the <A HREF="mios32_download.html">MIOS32 Download Page</A>.
1113 tk 83
  <LI>unzip the .zip archive.
84
  <LI>load the project.hex file with the "Hex Upload" window of MIOS Studio and press the Start button.
85
  <LI>the new firmware will be transfered to your MIDIbox.
86
  <LI>once the "Upload completed" message is displayed by MIOS Studio (after ca. 20..30 seconds), your MIDIbox will reboot, and the new firmware will be started.
1016 tk 87
</UL>
88
</P>
89
 
1117 tk 90
 
91
<H2> <IMG SRC="images/bullet.gif" ALT=""> Working under Windows? </H2>
92
 
93
<P CLASS=DESC>MIDIO128 enables 4 USB MIDI ports. Unfortunately some windows versions can't handle this correctly: MIDI is stucking sometimes, Filebrowser operations are failing, etc.</P>
94
 
95
<P CLASS=DESC>In order to overcome this issue, sometimes it helps to install the GM5 USB MIDI driver, which can be downloaded from the <A HREF="mios32_download.html">MIOS32 Download page</A>.
96
 
97
<P CLASS=DESC>Unfortunately the GM5 driver can cause new issues if multiple cores are connected. And users reported that it doesn't work stable under Windows XP. In such cases it's recommended to force the usage of a single USB port which solves the MIDI transfer issues with the drawback of the reduced functionality.
98
 
99
<P CLASS=DESC>So: if you notice MIDI transfer issues, please enable the single_usb option with the <A HREF="mios32_bootstrap_newbies.html">MIOS32 Bootloader</A> update application.
100
 
101
 
102
<H2> <IMG SRC="images/bullet.gif" ALT=""> Working under MacOS? </H2>
103
 
104
<P CLASS=DESC>The USB MIDI implementation of MacOS is perfectly working, regardless of the number of USB MIDI ports!
105
 
106
<P CLASS=DESC>So far we only noticed a minor issue when an app changes the number of USB MIDI ports or the device name. Such changes won't be taken over automatically, instead you've to delete the old interface description in the Audio-MIDI-Setup:
107
<UL CLASS=CL>
108
  <LI>start the Audio-MIDI-Setup of MacOS (e.g. search for "audio-midi" with Spotlight)
109
  <LI>disconnect the core module from USB
110
  <LI>delete the interface in the Audio-MIDI-Setup
111
  <LI>connect the core module to USB again
112
</UL>
113
 
114
<P CLASS=DESC>Thereafter you should see an interface with the new names and the right number of USB MIDI Ports:
115
<A HREF="mios32/macos_midi_setup.png"><IMG SRC="mios32/macos_midi_setup.png" WIDTH=550></A>
116
 
1016 tk 117
<H2> <IMG SRC="images/bullet.gif" ALT=""> The Control Surface </H2>
118
 
119
<center><img src="midio128/midio128_v3_cs.jpg" width="550" height=554></IMG></center>
120
 
1162 tk 121
<P CLASS=DESC>The optional control surface allows to edit most configuration values without the need of a computer. The detented rotary encoder and buttons can be directly connected to J10 of the MBHP_CORE_LPC17, resp. J10A of the MBHP_CORE_STM32F4 module, no special DIN shift register is required (see also <a href="midio128/midio128_v3_interconnections.pdf">this schematic</A>).</P>
1016 tk 122
 
1113 tk 123
<P CLASS=DESC>After startup the main screen will be displayed:<BR>
124
<IMG SRC="midio128/cs3/main1.gif" width=242 height=38 ALT="Screen"></IMG><BR>
125
The upper line shows the current MIDI file once the soft-button below "PLAY" is pushed. The next two soft buttons allow to select the previous/next MIDI file found in the root directory of the SD Card.
1016 tk 126
 
1113 tk 127
<P CLASS=DESC>By pressing the EXIT button (blue button in the picture) a second selection page will be displayed with some additional options:<BR>
128
<IMG SRC="midio128/cs3/main2.gif" width=242 height=38 ALT="Screen"></IMG><BR>
129
The first Soft button allows to start/stop recording. The next two soft buttons to fast-rewind/forward the MIDI file. And the fourth soft button is doing nothing ;-) - to change the tempo (BPM), just rotate the encoder (works also when the EXIT button is not pressed).</P>
130
 
131
<P CLASS=DESC>By pressing the SHIFT button a special page will pop up:<BR>
1016 tk 132
<IMG SRC="midio128/cs3/shift1.gif" width=242 height=38 ALT="Screen"></IMG><BR>
1021 tk 133
<UL CLASS=CL>
1113 tk 134
  <LI><B>MIDI:</B> allows to start/stop the MIDI file player from any page while pressing the SHIFT button.
135
  <LI><B>BPM:</B> cycles between BPM Clock Auto/Master/Slave and Lock:
136
     <UL CLASS=CL>
137
       <LI><I>Master</I>: the MIDI player will run with a tempo specified in the .MID file
138
       <LI><I>Slave</I>: the MIDI player is synchronized to an external (incoming) MIDI Clock
139
       <LI><I>Auto</I>: the BPM generator is running in <I>Master</I> mode by default, but will switch to <I>Slave</I> mode when a MIDI clock is received.
140
       <LI><I>Lock</I>: all MIDI files will play at the BPM rate specified in the main screen.
141
     </UL>
1107 tk 142
  <LI><B>DOUT:</B> allows to disable all DOUT pins (like "All Notes Off") from any page
1021 tk 143
  <LI><B>MSD:</B> enables/disables the Mass Storage Device driver as descriped in the "Integrated SD Card Reader" topic
144
</UL>
1016 tk 145
 
1113 tk 146
 
147
<P CLASS=INFO>Back to the main screen:<BR>
148
<IMG SRC="midio128/cs3/main1.gif" width=242 height=38 ALT="Screen"></IMG><BR>
149
The fourth soft-button below "MENU" enters the configuration menu:
150
<IMG SRC="midio128/cs3/root1.gif" width=602 height=38 ALT="Screen"></IMG><BR>
151
The pages are described in more details below.<BR>
152
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>
153
 
154
 
1016 tk 155
<P CLASS=DESC>The <B>DIN</B> page:<BR>
156
<IMG SRC="midio128/cs3/din1.gif" width=481 height=19 ALT="Screen"></IMG><BR>
157
allows to configure parameters for each individual input pin of the DIN shift register chain:
158
<UL CLASS=CL>
159
  <LI><B>Pin:</B> the pin number counted from 0 (0..127)
160
  <LI><B>DIN:</B> the same number in "SR.Dx" format: first number displays the number of shift register (counted from 1, 1..16), and the second number the data input of the shift register (D0..D7)
161
  <LI><B>Mode:</B> the button behaviour can be configured in three modes:
162
    <UL CLASS=CL>
163
      <LI><I>Normal:</I> On-Event sent when button pushed, Off-Event sent when button depressed
164
      <LI><I>OnOff:</I> only On-Event is sent, no event sent when button depressed
165
      <LI><I>Toggle:</I> alternates between On- and Off-Event whenever button is pushed
166
    </UL>
167
  <LI><B>E0On..E2On:</B> the three bytes of the "On-Event" which is sent when the button is pushed in hexadecimal format
168
  <LI><B>E0Off..E2Off:</B> the three bytes of the "Off-Event" which is sent when the button is depressed (resp. Toggle mode: the alternate event) in hexadecimal format
169
  <LI><B>USB1..OSC4:</B> selects the MIDI ports over which the selected DIN pin will send the MIDI event
170
</UL>
171
 
172
<P CLASS=INFO><I>Hot tip:</I> the usage of this page is too cumpersome for "mass edits" - if multiple (or all) pins should be changed, you might prefer to use a spreadsheet as described in the topic "Editing a patch with Excel/OpenOffice"</P>
173
 
174
 
175
<P CLASS=DESC>The <B>DOUT</B> page:<BR>
176
<IMG SRC="midio128/cs3/dout1.gif" width=331 height=19 ALT="Screen"></IMG><BR>
177
allows to configure parameters for each individual output pin of the DOUT shift register chain:
178
<UL CLASS=CL>
179
  <LI><B>Pin:</B> the pin number counted from 0 (0..127)
180
  <LI><B>DOUT:</B> the same number in "SR.Dx" format: first number displays the number of shift register (counted from 1, 1..16), and the second number the data input of the shift register (D7..D0). Note that D7..D0 is reversed, so that outputs can be connected from the left to the right side of the MBHP_DOUT module!
1021 tk 181
  <LI><B>Evn0..Evn1:</B> the first two bytes of the event which will set the output pin. Whenever the value 0x00..0x3F is received, the pin will be switched off, with values >= 0x40 the pin will be switched on.
1016 tk 182
  <LI><B>USB1..OSC4:</B> selects the MIDI ports over which the selected DOUT pin will receive MIDI events
183
</UL>
184
 
185
<P CLASS=INFO><I>Hot tip:</I> the usage of this page is too cumpersome for "mass edits" - if multiple (or all) pins should be changed, you might prefer to use a spreadsheet as described in the topic "Editing a patch with Excel/OpenOffice"</P>
186
 
187
 
188
<P CLASS=DESC>The <B>M8x8</B> page:<BR>
189
<IMG SRC="midio128/cs3/m8x8_1.gif" width=302 height=19 ALT="Screen"></IMG><BR>
190
allows to configure the scan matrices:
191
<UL CLASS=CL>
192
  <LI><B>Matrix:</B> the matrix number counted from 1..16
193
  <LI><B>Channel:</B> the MIDI channel to which the matrix will send Note Events
194
  <LI><B>Base:</B> the base node for the first pin of the matrix.
195
  <LI><B>DIN:</B> DIN register assignment. If "---", the matrix is disabled, with "1..16" the selected matrix is assigned to the given DIN shift register.<BR>
196
<I>Please note that the appr. pins of the shift register won't be available for sending common MIDI events as configured in the DIN page anymore!</I>
197
  <LI><B>DOUT:</B> DOUT register assignment. If "---", the matrix won't write to any DOUT register, with "1..16" the matrix will write to the given DOUT register in order to select the matrix row.<BR>
198
<I>Please note that the appr. pins of the shift register won't be available for outputing values on incoming MIDI events as configured in the DOUT page anymore!</I><BR>
199
<I>Please note also that all matrices will output the same value to the DOUT shift registers in order to select a button row. Accordingly it's possible to share a single DOUT register for all matrices to save hardware. However, using multple DOUT SRs could make sense if for example selarate keyboards should be scanned.</I>
200
</UL>
201
 
202
<P CLASS=DESC>The Matrix handler is prepared for supporting different modes, which will be added on request. Currently only a single matrix configuration <A HREF="midio128/midio128_v3_scanmatrix.pdf">(DINs connected to columns, DOUTs connected to rows)</A> is available, and only Note events over a selectable channel with a selectable base note are sent.</P>
203
 
204
 
1021 tk 205
<P CLASS=DESC>The <B>AIN</B> page:<BR>
206
<IMG SRC="midio128/cs3/ain1.gif" width=301 height=19 ALT="Screen"></IMG><BR>
207
allows to configure parameters for each individual analog pin of J5A/J5B of the core module:
208
<UL CLASS=CL>
209
  <LI><B>Pin:</B> the pin number counted from 0 (0..7)
210
  <LI><B>Evn0..Evn1:</B> the first two bytes of the event which is sent by the analog pin
211
  <LI><B>USB1..OSC4:</B> selects the MIDI ports over which the AIN will send MIDI events
212
</UL>
213
 
214
<P CLASS=INFO><B>Please note:</B> an unconnected analog input will send a permanent stream of random MIDI values. Therefore the pins are disabled by default (no MIDI port assigned). Please ensure that the pot/fader is properly connected before enabling the output port(s), either in the AIN page or in your .MIO file!</P>
215
 
216
 
1016 tk 217
<P CLASS=DESC>The <B>Router</B> page:<BR>
218
<IMG SRC="midio128/cs3/rout1.gif" width=302 height=38 ALT="Screen"></IMG><BR>
219
allows to configure the integrated MIDI Router.<BR>
220
The router consists of 16 "nodes".<BR>
221
Each node can be connected to an individual source and destination port.<BR>
222
A node is activated by selecting a source MIDI channel != "--", e.g. 1..16 or All (for all channels).<BR>
223
The node will forward a MIDI event to the destination port. Either to the original channel ("All"), or to a changed channel (1..16)
224
 
225
<UL CLASS=CL>
226
  <LI><B>Node:</B> the selected router node (1..16)
227
  <LI><B>SrcP:</B> the source port
228
  <LI><B>Chn.:</B> the source channel ("--" to disable, 1..16 or "All")
229
  <LI><B>DstP:</B> the destination port
230
  <LI><B>Chn.:</B> the destination channel ("--" to disable, 1..16 to change the channel, or "All" to keep it untouched)
231
</UL>
232
 
233
 
234
<P CLASS=DESC>The <B>OSC</B> page:<BR>
1084 tk 235
 
1107 tk 236
<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>
1016 tk 237
<IMG SRC="midio128/cs3/osc1.gif" width=422 height=38 ALT="Screen"></IMG><BR>
238
allows to configure the OSC ports 1..4.<BR>
239
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.
240
 
241
<UL CLASS=CL>
242
  <LI><B>Port:</B> the selected OSC port (1..4)
243
  <LI><B>Remote IP:</B> the remote IP assigned to the OSC port (e.g. the IP of your iPad)
1084 tk 244
  <LI><B>Remote Port:</B> the remote port to which OSC packets will be sent
245
  <LI><B>Local Port:</B> the local port from which OSC packets will be received
1016 tk 246
  <LI><B>Mode:</B> following transfer formats are currently supported:
247
    <UL CLASS=CL>
248
      <LI><B>MIDI:</B> MIDI events are bundled into MIDI elements
249
      <LI><B>Text Msg (Integer):</B> uses human readable pathes, values are in integer format
250
      <LI><B>Text Msg (Float):</B> uses human readable pathes, values are in float format
251
      <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>
252
      <LI><B>TOSC (TouchOSC):</B> selects format which is used by <A HREF="http://hexler.net/software/touchosc" TARGET="_blank">TouchOSC</A>
253
    </UL>
254
</UL>
255
</P>
256
 
1084 tk 257
<P CLASS=DESC>See the <A HREF="midibox_osc.html">MIDIbox OSC page</A> for more details about the OSC protocol.</P>
1016 tk 258
 
259
<P CLASS=DESC>The <B>Network</B> page:<BR>
260
<IMG SRC="midio128/cs3/netw1.gif" width=302 height=38 ALT="Screen"></IMG><BR>
261
allows to configure the Ethernet interface of the <A HREF="mbhp_core_lpc17.html">MBHP_CORE_LPC17</A> module.
262
 
263
<UL CLASS=CL>
264
  <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.
265
  <LI><B>IP Host:</B> if DHCP on: displays the current IP address, if DHCP off: allows to enter the IP address of your MIDIO128 manually
266
  <LI><B>Netmask:</B> if DHCP on: displays the current netmask, if DHCP off: allows to enter the netmask of your MIDIO128 manually
267
  <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
268
</UL>
269
 
270
<P CLASS=DESC>The <B>MIDI</B> page:<BR>
1113 tk 271
<IMG SRC="midio128/cs3/midi3.gif" width=242 height=38 ALT="Screen"></IMG><BR>
272
enters a submenu to enter the <B>Play</B> or <B>Ports</B> page.
273
 
274
<P CLASS=DESC>The <B>MIDI/Play</B> page:<BR>
1016 tk 275
<IMG SRC="midio128/cs3/midi1.gif" width=242 height=38 ALT="Screen"></IMG><BR>
276
allows to select the MIDI play mode, and to directly select a MIDI file.
277
 
278
<UL CLASS=CL>
1113 tk 279
  <LI><B>Mode:</B> two modes are available:
280
     <UL CLASS=CL>
281
       <LI><I>All</I>: plays all MIDI files which can be found in the root directory of your SD Card, one after another.
282
       <LI><I>Loop</I>: plays the current MIDI file in a loop.
283
       <LI><I>Single</I>: plays the current MIDI file only once, and thereafter stops the MIDI player
284
     </UL>
1016 tk 285
  <LI><B>Filename:</B> opens a filename browser:<BR>
286
      <IMG SRC="midio128/cs3/midi2.gif" width=242 height=38 ALT="Screen"></IMG><BR>
287
      Use the rotary encoder or the &lt;/&gt; soft buttons to scroll through the directory. Press "Load" to play the selected MIDI file.
288
</UL>
289
 
1021 tk 290
 
1113 tk 291
<P CLASS=DESC>The <B>MIDI/Ports</B> page:<BR>
292
 <IMG SRC="midio128/cs3/midi4.gif" width=302 height=38 ALT="Screen"></IMG><BR>
293
provides some kind of "Patchbay" for the MIDI Recording/Playback functions.<BR>
294
Selectable Ports a DI/O (DIN/DOUT hardware pins), USB1..4, MIDI1..4 and OSC1..4<BR>
295
For each port it can be specified if should be used for REC/Play function, and if it should receive and/or send a MIDI clock.</P>
296
 
297
 
1021 tk 298
<P CLASS=DESC>The <B>Monitor</B> page:<BR>
1107 tk 299
<IMG SRC="midio128/cs3/mon1.gif" width=722 height=38 ALT="Screen"></IMG><BR>
1021 tk 300
shows all IN ports at the upper line, and OUT ports at the lower line.</P>
301
 
302
<P CLASS=DESC>Whenever an event is received or sent, the appr. item will show the event for a short moment.<BR>
303
This gives you a great overview of the MIDI activity, especially to analyze the current track and MIDI router setup.</P>
304
 
305
 
1016 tk 306
<P CLASS=DESC>The <B>Disk</B> page:<BR>
307
<IMG SRC="midio128/cs3/disk1.gif" width=242 height=38 ALT="Screen"></IMG><BR>
308
allows to store and restore a patch on SD Card of a given name.
309
 
310
<UL CLASS=CL>
311
  <LI><B>Load:</B> opens a filename browser for all .MIO files found on SD Card:
312
      <IMG SRC="midio128/cs3/disk2.gif" width=242 height=38 ALT="Screen"></IMG><BR>
313
      Select one of these files to load the patch (or press the Exit button to cancel this operation).
314
  <LI><B>Save:</B> enter the filename with the rotary encoder:<BR>
315
      <IMG SRC="midio128/cs3/disk3.gif" width=242 height=38 ALT="Screen"></IMG><BR>
316
      Press "SAVE" to store the patch (or press the Exit button to cancel this operation).
317
</UL>
318
 
319
<H2> <IMG SRC="images/bullet.gif" ALT=""> Editing a patch with Excel/OpenOffice </H2>
320
 
321
<P CLASS=DESC>Patches are stored in "CSV" (character separated values) format on SD Card, the items are delimited with semicolons.</P>
322
 
323
<P CLASS=DESC>This format allows to edit patches with a common text editor, but also in a spreadsheet with Microsoft Excel or <A HREF="http://www.openoffice.org" TARGET="_blank">OpenOffice</A>.
324
 
325
Most simple solution: mount the SD Card, search for the .MIO patch (e.g. "DEFAULT.MIO"), rename it to "DEFAULT.CSV" and double-click on the file.<BR>
326
Open Office will ask you for some formatting parameters, just use the default setup:</P>
327
 
328
<p></p><center><a href="midio128/midio128_v3_spreadsheet1.png"><img src="midio128/midio128_v3_spreadsheet1.png" width="550"></a></center><p></p>
329
 
330
<P CLASS=DESC>Now each cell will contain a single configuration value, and you can simply edit/copy/paste/etc... - vertically and horizontally!
331
<p></p><center><a href="midio128/midio128_v3_spreadsheet2.png"><img src="midio128/midio128_v3_spreadsheet2.png" width="550"></a></center><p></p>
332
 
333
<P CLASS=DESC>Note that some columns (such as USB2..4, RES1..4, etc...) have no effect yet, and are reserved for future extensions.
334
<I>(more details on the value formats required? This should be selfexplaining...)</I></P>
335
 
336
<P CLASS=DESC>Store your edits, and rename the file to the original filename. Thereafter load the patch from the Disk-&gt;Load menu - done!</P>
337
 
338
 
1021 tk 339
<H2> <IMG SRC="images/bullet.gif" ALT=""> Integrated SD Card Reader</H2>
340
 
1162 tk 341
<P CLASS=DESC>A MSD (Mass Storage Device) driver is integrated into the firmware. It allows you to mount your SD Card via USB without disconnecting it from the core module, which is especially useful if you want to quickly edit a .MIO file, or copy some .MID files.</P>
1021 tk 342
 
1113 tk 343
<P CLASS=DESC>It can be activated by pressing SHIFT and the soft button under the "MSD" item:<BR>
1021 tk 344
<IMG SRC="midio128/cs3/shift1.gif" width=242 height=38 ALT="Screen"></IMG><BR>
345
</P>
346
 
1024 tk 347
<P CLASS=DESC>Alternatively (if no control surface connected) it can be activated in the MIOS Terminal with the "msd on" command.</P>
348
 
1021 tk 349
<P CLASS=DESC>Once enabled, the SD Card should be automatically mounted by your operating system (Windows/MacOS/Linux). USB MIDI will be disabled. The upper line of the LCD will show the MSD status in any menu page until your SD Card has been unmounted from the operating system (and MSD has been disabled again).</LI>
350
 
1113 tk 351
<B>Please note:</B> some users reported, that the MSD function works unstable on their Windows computer. It works fine under MacOS. The Windows issues are probably related to the fact, that the same USB port was used for MIDI before. Meanwhile I developed an alternative, much more comfortable solution: the MIOS Filebrowser which works via MIDI! :-)
1021 tk 352
 
1113 tk 353
 
354
<H2> <IMG SRC="images/bullet.gif" ALT=""> Accessing Files from MIOS Studio </H2>
355
 
356
<P CLASS=DESC>The Filebrowser of <A HREF="mios_studio.html">MIOS Studio</A> allows to access the SD Card via USB MIDI:
357
<CENTER><IMG SRC="mios_studio/mios_studio_filebrowser.png" width=952 height=550></CENTER></P>
358
 
359
<P CLASS=DESC>The "Update" button retrieves the directory structure. Once it has been read, files and directories can be selected in the directory tree.<BR>
360
Existing files can be downloaded to your computer at a speed of ca. 40..50 kb/s.<BR>
361
New files can be uploaded from your computer at a speed of ca. 10..20 kb/s.<BR>
362
The edit functions allow to modify files in text or binary (hex) format, which is really helpful for quick changes on application specific configuration files without disconnecting the SD Card from the core, or enabling the MSD driver (which would deactivate USB MIDI).</P>
363
 
364
 
1016 tk 365
<H2> <IMG SRC="images/bullet.gif" ALT=""> Remote-Configuration from MIOS Terminal</H2>
366
 
367
<P CLASS=DESC>Some configuration values can be edited from the MIOS Terminal which is part of <A HREF="mios_studio.html">MIOS Studio</A>.<BR>
368
Enter "help" to get a list of available commands:</P>
369
<p></p><center><a href="midio128/midio128_v3_terminal.png"><img src="midio128/midio128_v3_terminal.png" width="550"></a></center><p></p>
370
 
371
<P CLASS=DESC>In future it could be possible to edit any configuration parameter from the terminal, which might be helpful for runtime editing if MIDIO128 is used without a control surface.</P>
372
 
373
 
374
<H2> <IMG SRC="images/bullet.gif" ALT=""> Future Enhancements/Wishlist:</H2>
375
 
376
<UL CLASS=CL>
1021 tk 377
  <LI>all open requests have been implemented
1016 tk 378
  <LI>your request might be added here if it's easy to implement
379
</UL>
380
 
1090 tk 381
<H2> <IMG SRC="images/bullet.gif" ALT=""> License </H2>
382
 
1093 tk 383
<P CLASS=DESC>This project is a DIY project licensed under <A HREF="http://www.ucapps.de/TAPR_Noncommercial_Hardware_License_v1.0.pdf" TARGET="_blank">TAPR NCL</A>. A commercial release is neither planned, nor allowed! But the license allows you to build and sell up to 10 units per year (e.g. to friends) as long as the given constraints of the license are not violated.</P>
1090 tk 384
 
385
 
1015 tk 386
FOOTER