Subversion Repositories svn.mios

Rev

Rev 1120 | Rev 1136 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1120 Rev 1125
Line 6... Line 6...
6
6
7
<P CLASS=INFO>MIOS Studio 2 is a <A HREF="http://www.rawmaterialsoftware.com/juce.php" TARGET="_blank">Juce</A> based, platform-independent MIDI processing environment which allows to upload an application binary to a <A HREF="mbhp_core.html">MIOS8</A>, <A HREF="mbhp_core_stm32.html">STM32</A> and <A HREF="mbhp_core_lpc17.html">LPC17</A> core. It also provides MIDI monitors, a virtual MIDI keyboard, a terminal to communicate with MIOS32 applications (partly also used by MIOS8 applications), a SysEx transfer tool and configuration tools for <A HREF="midio128.html">MIDIO128</A> and <A HREF="midibox_cv.html">MIDIbox CV</A>, a SysEx Librarian and a Filebrowser.</P>
7
<P CLASS=INFO>MIOS Studio 2 is a <A HREF="http://www.rawmaterialsoftware.com/juce.php" TARGET="_blank">Juce</A> based, platform-independent MIDI processing environment which allows to upload an application binary to a <A HREF="mbhp_core.html">MIOS8</A>, <A HREF="mbhp_core_stm32.html">STM32</A> and <A HREF="mbhp_core_lpc17.html">LPC17</A> core. It also provides MIDI monitors, a virtual MIDI keyboard, a terminal to communicate with MIOS32 applications (partly also used by MIOS8 applications), a SysEx transfer tool and configuration tools for <A HREF="midio128.html">MIDIO128</A> and <A HREF="midibox_cv.html">MIDIbox CV</A>, a SysEx Librarian and a Filebrowser.</P>
8
8
9
9
10
<H2>Four simple steps to upload a MIOS application</H2>
10
<H2>Four simple steps to upload a MIOS application</H2>
11
<P CLASS=INFO>Start MIOS Studio and select the IN (1) and OUT (2) port of the MIDI interface to which you core module is connected:
11
<P CLASS=DESC>Start MIOS Studio and select the IN (1) and OUT (2) port of the MIDI interface to which you core module is connected:
12
<CENTER><IMG SRC="mios_studio/mios_studio_4steps.png" width=802 height=386></CENTER></P>
12
<CENTER><IMG SRC="mios_studio/mios_studio_4steps.png" width=802 height=386></CENTER></P>
13
13
14
<P CLASS=INFO>MIOS Studio will automatically try to contact the core whenever a new MIDI port has been selected, and determine the run state. The detected application will be displayed in the query window.</P>
14
<P CLASS=DESC>MIOS Studio will automatically try to contact the core whenever a new MIDI port has been selected, and determine the run state. The detected application will be displayed in the query window.</P>
15
15
16
<P CLASS=INFO>You can repeat this check by pressing the Query button.</P>
16
<P CLASS=DESC>You can repeat this check by pressing the Query button.</P>
17
17
18
<P CLASS=INFO>Select the .hex file you want to upload by pressing the browser button (3).</P>
18
<P CLASS=DESC>Select the .hex file you want to upload by pressing the browser button (3).</P>
19
19
20
<P CLASS=INFO>Thereafter press the start button to upload the binary (4).</P>
20
<P CLASS=DESC>Thereafter press the start button to upload the binary (4).</P>
21
21
22
<P CLASS=INFO><B>DONE!</B> - if the upload should fail, please continue at the <A HREF="howto_debug_midi.html">MIDI troubleshooting guide</A>.
22
<P CLASS=DESC><B>DONE!</B> - if the upload should fail, please continue at the <A HREF="howto_debug_midi.html">MIDI troubleshooting guide</A>.
23
23
24
24
25
<H2>MIOS Terminal</H2>
25
<H2>MIOS Terminal</H2>
26
26
27
<P CLASS=INFO>The MIOS Terminal is a very helpful debugging tool for MIOS32 applications. It displays strings which are sent with the <A HREF="http://midibox.org/mios32/manual/group___m_i_o_s32___m_i_d_i.html#gf5287553167123159564141481c02146" TARGET="_blank">MIOS32_MIDI_SendDebugMessage</A> or <A HREF="http://midibox.org/mios32/manual/group___m_i_o_s32___m_i_d_i.html#g29d708043a134724a68a9dad3c8e897b" TARGET="_blank">MIOS32_MIDI_SendDebugHexDump</A> function.</P>
27
<P CLASS=DESC>The MIOS Terminal is a very helpful debugging tool for MIOS32 applications. It displays strings which are sent with the <A HREF="http://midibox.org/mios32/manual/group___m_i_o_s32___m_i_d_i.html#gf5287553167123159564141481c02146" TARGET="_blank">MIOS32_MIDI_SendDebugMessage</A> or <A HREF="http://midibox.org/mios32/manual/group___m_i_o_s32___m_i_d_i.html#g29d708043a134724a68a9dad3c8e897b" TARGET="_blank">MIOS32_MIDI_SendDebugHexDump</A> function.</P>
28
28
29
<P CLASS=INFO>Some MIOS32 applications even provide an interactive command interface:</P>
29
<P CLASS=DESC>Some MIOS32 applications even provide an interactive command interface:</P>
30
30
31
<CENTER><IMG SRC="mios_studio/mios_studio_terminal32.png" width=802 height=218></CENTER></P>
31
<CENTER><IMG SRC="mios_studio/mios_studio_terminal32.png" width=802 height=218></CENTER></P>
32
32
33
<P CLASS=INFO>A small number of MIOS8 applications are sending messages to the terminal as well, e.g. to give you instructions for testing pin connections:</P>
33
<P CLASS=DESC>A small number of MIOS8 applications are sending messages to the terminal as well, e.g. to give you instructions for testing pin connections:</P>
34
34
35
<CENTER><IMG SRC="mios_studio/mios_studio_terminal8.png" width=801 height=331></CENTER></P>
35
<CENTER><IMG SRC="mios_studio/mios_studio_terminal8.png" width=801 height=331></CENTER></P>
36
36
37
<P CLASS=INFO>Note: MIOS8 won't respond to a command string sent to the PIC microcontroller. This feature is provided by MIOS32 only!</P>
37
<P CLASS=DESC>Note: MIOS8 won't respond to a command string sent to the PIC microcontroller. This feature is provided by MIOS32 only!</P>
38
38
39
39
40
<H2>SysEx Tool</H2>
40
<H2>SysEx Tool</H2>
41
41
42
<P CLASS=INFO>A simple SysEx upload/download/load/save/edit tool which should be self-explaining:
42
<P CLASS=DESC>A simple SysEx upload/download/load/save/edit tool which should be self-explaining:
43
<CENTER><IMG SRC="mios_studio/mios_studio_sysex.png" width=863 height=529></CENTER></P>
43
<CENTER><IMG SRC="mios_studio/mios_studio_sysex.png" width=863 height=529></CENTER></P>
44
44
45
45
46
<H2>SysEx Librarian</H2>
46
<H2>SysEx Librarian</H2>
47
47
48
<P CLASS=INFO>The SysEx Librarian allows to upload/download/load/save/organize banks of various MIDIboxes (and other MIDI devices):
48
<P CLASS=DESC>The SysEx Librarian allows to upload/download/load/save/organize banks of various MIDIboxes (and other MIDI devices):
49
<CENTER><IMG SRC="mios_studio/mios_studio_sysex_lib2.png" width=727 height=550></CENTER></P>
49
<CENTER><IMG SRC="mios_studio/mios_studio_sysex_lib2.png" width=727 height=550></CENTER></P>
50
50
51
<P CLASS=INFO>Beside of the classic send/receive/load/save functions for banks/patches/buffers (current patch), it provides a "Transaction" and "Assembly" bank. The Assembly bank is a temporal storage which allows to compose a new bank from different .syx files or received dumps. Once it's ready, the Transaction bank can be completely cleared, the Assembly bank can be moved into the Transaction bank, and then stored into a new .syx file, and/or transfered to the MIDIbox</P>
51
<P CLASS=DESC>Beside of the classic send/receive/load/save functions for banks/patches/buffers (current patch), it provides a "Transaction" and "Assembly" bank. The Assembly bank is a temporal storage which allows to compose a new bank from different .syx files or received dumps. Once it's ready, the Transaction bank can be completely cleared, the Assembly bank can be moved into the Transaction bank, and then stored into a new .syx file, and/or transfered to the MIDIbox</P>
52
52
53
<P CLASS=INFO><B>IMPORTANT:</B>
53
<P CLASS=DESC><B>IMPORTANT:</B>
54
<UL CLASS=CL>
54
<UL CLASS=CL>
55
  <LI>for handling MIDIbox SID patches correctly, you need firmware version v2.041 or higher!</LI>
55
  <LI>for handling MIDIbox SID patches correctly, you need firmware version v2.041 or higher!</LI>
56
  <LI>for handling MIDIbox 808/Dr patches correctly, you need firmware version v1.3 or higher!</LI>
56
  <LI>for handling MIDIbox 808/Dr patches correctly, you need firmware version v1.3 or higher!</LI>
57
</UL>
57
</UL>
58
58
59
<H2>OSC Tool</H2>
59
<H2>OSC Tool</H2>
60
60
61
<P CLASS=INFO>This tool allows you to send and receive OSC datagrams:
61
<P CLASS=DESC>This tool allows you to send and receive OSC datagrams:
62
<CENTER><IMG SRC="mios_studio/mios_studio_osc.png" width=853 height=553></CENTER></P>
62
<CENTER><IMG SRC="mios_studio/mios_studio_osc.png" width=853 height=553></CENTER></P>
63
63
64
<P CLASS=INFO>Similar to the SysEx window, there is one frame to enter data that should be sent, and another frame which displays received messages.</P>
64
<P CLASS=DESC>Similar to the SysEx window, there is one frame to enter data that should be sent, and another frame which displays received messages.</P>
65
65
66
<P CLASS=INFO>Enter the remote host and port over which datagrams should be sent. You can either enter the IP address or the host name of the host that should receive outgoing data (such as "localhost" to send data internally on your PC/Mac).</P>
66
<P CLASS=DESC>Enter the remote host and port over which datagrams should be sent. You can either enter the IP address or the host name of the host that should receive outgoing data (such as "localhost" to send data internally on your PC/Mac).</P>
67
67
68
<P CLASS=INFO>The local port is the one which receives OSC datagrams from any IP. It's allowed to set the local port to the same number as the remote port if your application requires this.</P>
68
<P CLASS=DESC>The local port is the one which receives OSC datagrams from any IP. It's allowed to set the local port to the same number as the remote port if your application requires this.</P>
69
69
70
<P CLASS=INFO>E.g., by setting remote host to "localhost", and both ports (remote and local) to "10000", outgoing datagrams will be received like on a loopback.</P>
70
<P CLASS=DESC>E.g., by setting remote host to "localhost", and both ports (remote and local) to "10000", outgoing datagrams will be received like on a loopback.</P>
71
71
72
<P CLASS=INFO>The send window supports multiple OSC messages sent in a bundle. The syntax for entering datagrams is the same as displayed by the receive window.</P>
72
<P CLASS=DESC>The send window supports multiple OSC messages sent in a bundle. The syntax for entering datagrams is the same as displayed by the receive window.</P>
73
73
74
<P CLASS=INFO>Here some examples. To improve the readability, we always take /foo/bar as the free definable path, and we leave out the timestamp (which can optionally be specified by writing @&lt;seconds&gt;.&lt;fraction&gt; before the path.
74
<P CLASS=DESC>Here some examples. To improve the readability, we always take /foo/bar as the free definable path, and we leave out the timestamp (which can optionally be specified by writing @&lt;seconds&gt;.&lt;fraction&gt; before the path.
75
<UL CLASS=CL>
75
<UL CLASS=CL>
76
  <LI><B>/foo/bar i1234</B> sends the integer value 1234 (int32)
76
  <LI><B>/foo/bar i1234</B> sends the integer value 1234 (int32)
77
  <LI><B>/foo/bar f0.42</B> sends the floating value 0.42 (float32)
77
  <LI><B>/foo/bar f0.42</B> sends the floating value 0.42 (float32)
78
  <LI><B>/foo/bar sHello!</B> sends the string "Hello!"
78
  <LI><B>/foo/bar sHello!</B> sends the string "Hello!"
79
  <LI><B>/foo/bar SHello!</B> sends the alternate string "Hello!"
79
  <LI><B>/foo/bar SHello!</B> sends the alternate string "Hello!"
Line 93... Line 93...
93
</UL>
93
</UL>
94
94
95
95
96
<H2>MIDIO128 Tool</H2>
96
<H2>MIDIO128 Tool</H2>
97
97
98
<P CLASS=INFO>Allows you to configure the (old, PIC based) <A HREF="midio128_v2.html">MIDIO128 V2</A> application:
98
<P CLASS=DESC>Allows you to configure the (old, PIC based) <A HREF="midio128_v2.html">MIDIO128 V2</A> application:
99
<CENTER><IMG SRC="mios_studio/mios_studio_midio128.png" width=862 height=528></CENTER></P>
99
<CENTER><IMG SRC="mios_studio/mios_studio_midio128.png" width=862 height=528></CENTER></P>
100
100
101
101
102
<H2>MIDIbox CV Tool</H2>
102
<H2>MIDIbox CV Tool</H2>
103
103
104
<P CLASS=INFO>Allows you to configure the <A HREF="midibox_cv.html">MIDIbox CV V1</A> application:
104
<P CLASS=DESC>Allows you to configure the <A HREF="midibox_cv.html">MIDIbox CV V1</A> application:
105
<CENTER><IMG SRC="mios_studio/mios_studio_mbcv.png" width=862 height=293></CENTER></P>
105
<CENTER><IMG SRC="mios_studio/mios_studio_mbcv.png" width=862 height=293></CENTER></P>
106
106
107
107
108
<H2>MIOS Filebrowser</H2>
108
<H2>MIOS Filebrowser</H2>
109
109
110
<P CLASS=INFO>The Filebrowser allows to access a SD Card, which is connected to a MIOS32 based core, via USB MIDI:
110
<P CLASS=DESC>The Filebrowser allows to access a SD Card, which is connected to a MIOS32 based core, via USB MIDI:
111
<CENTER><IMG SRC="mios_studio/mios_studio_filebrowser.png" width=952 height=550></CENTER></P>
111
<CENTER><IMG SRC="mios_studio/mios_studio_filebrowser.png" width=952 height=550></CENTER></P>
112
112
113
<P CLASS=INFO>It's for example supported by <A HREF="midibox_seq.html">MIDIbox SEQ</A>, <A HREF="midio128.html">MIDIO128</A>, <A HREF="midibox_ng.html">MIDIbox NG</A>, and by all future applications which get use of a SD Card to store informations.</P>
113
<P CLASS=DESC>It's for example supported by <A HREF="midibox_seq.html">MIDIbox SEQ</A>, <A HREF="midio128.html">MIDIO128</A>, <A HREF="midibox_ng.html">MIDIbox NG</A>, and by all future applications which get use of a SD Card to store informations.</P>
114
114
115
<P CLASS=INFO>The "Update" button retrieves the directory structure. Once it has been read, files and directories can be selected in the directory tree.<BR>
115
<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>
116
Existing files can be downloaded to your computer at a speed of ca. 40..50 kb/s.<BR>
116
Existing files can be downloaded to your computer at a speed of ca. 40..50 kb/s.<BR>
117
New files can be uploaded from your computer at a speed of ca. 10..20 kb/s.<BR>
117
New files can be uploaded from your computer at a speed of ca. 10..20 kb/s.<BR>
118
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>
118
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>
-
 
119
-
 
120
-
 
121
<H2>Command Line Parameters and Batch Mode</H2>
-
 
122
-
 
123
<P CLASS=DESC>MIOS Studio supports following command line parameters:<BR>
-
 
124
<TT><PRE style="margin-left:10px; font-size:8pt">
-
 
125
--help                  this page
-
 
126
--version               shows version number
-
 
127
--batch                 don't open GUI
-
 
128
--in=<port>             optional search string for MIDI IN port
-
 
129
--out=<port>            optional search string for MIDI OUT port
-
 
130
--device_id=<id>        sets the device id, should be done before upload if necessary
-
 
131
--query                 queries the selected core
-
 
132
--upload_hex=<file>     upload specified .hex file to core. Multiple --upload_hex allowed!
-
 
133
--upload_file=<file>    upload specified file to SD Card. Multiple --upload_file allowed!
-
 
134
--send_syx=<file>       send specified .syx file to core. Multiple --send_syx allowed!
-
 
135
--terminal=<command>    send a MIOS terminal command. Multiple --terminal allowed!
-
 
136
--wait=<seconds>        Waits for the given seconds.
-
 
137
--gui_x=<x>             specifies the initial window X position
-
 
138
--gui_y=<y>             specifies the initial window Y position
-
 
139
--gui_width=<width>     specifies the initial window width
-
 
140
--gui_height=<height>   specifies the initial window height
-
 
141
--gui_title=<name>      changes the name of the application in the title bar
-
 
142
--gui_hide_monitors     disables the MIDI IN/OUT monitor when the GUI is started
-
 
143
--gui_hide_upload       disables the upload panel when the GUI is started
-
 
144
--gui_hide_terminal     disables the terminal panel when the GUI is started
-
 
145
--gui_hide_keyboard     disables the virtual keyboard panel when the GUI is started
-
 
146
</PRE></TT>
-
 
147
-
 
148
<P CLASS=DESC>Usage examples:
-
 
149
<UL CLASS=CL>
-
 
150
  <LI><I>MIOS_Studio --in=MIOS32 --out=MIOS32</I><BR>
-
 
151
    starts MIOS Studio with MIDI IN/OUT port matching with 'MIOS32'
-
 
152
-
 
153
  <LI><I>MIOS_Studio --upload_hex=project.hex</I><BR>
-
 
154
    starts MIOS Studio and uploads the project.hex file immediately
-
 
155
-
 
156
  <LI><I>MIOS_Studio --batch --upload_hex=project.hex</I><BR>
-
 
157
    starts MIOS Studio without GUI and uploads the project.hex file
-
 
158
-
 
159
  <LI><I>MIOS_Studio --batch --upload_file=default.ngc --upload_file=default.ngl</I><BR>
-
 
160
    starts MIOS Studio without GUI and uploads two files to SD Card (MIOS32 only)
-
 
161
-
 
162
  <LI><I>MIOS_Studio --batch --terminal="help" --wait=1</I><BR>
-
 
163
    starts MIOS Studio, executes the "help" command in MIOS Terminal and waits 1 second for response
-
 
164
</UL>
-
 
165
-
 
166
<P CLASS=DESC>Most parameters can be combined to a sequence of operations. E.g. upload a .hex file, upload files to SD Card, execute a terminal command and wait some seconds before exit.
-
 
167
-
 
168
<P CLASS=DESC>Use quotes if strings have to be specified which include spaces (e.g. terminal commands or MIDI IN/OUT ports).<BR>
-
 
169
Example: <I>--terminal="load default"</I>
-
 
170
-
 
171
<P CLASS=DESC>Special note to MacOS users: the binary, which has to be called to pass parameters, is located under MIOS_Studio.app/Contents/MacOS/MIOS_Studio<BR>
-
 
172
In order to simplify the access to the binary, just create following aliases (it's assumed, that MIOS Studio has been copied to the /Applications folder):
-
 
173
<TT><PRE style="margin-left:10px; font-size:8pt">
-
 
174
  alias ms='/Applications/MIOS_Studio.app/Contents/MacOS/MIOS_Studio'
-
 
175
  alias ms_batch='/Applications/MIOS_Studio.app/Contents/MacOS/MIOS_Studio --batch'
-
 
176
</PRE></TT>
-
 
177
By entering these aliases into your ~/.bash_profile, they will be available whenever a new terminal is opened.</P>
119
178
120
179
121
<H2>Download</H2>
180
<H2>Download</H2>
122
181
123
<P CLASS=INFO>
182
<P CLASS=DESC>
124
<UL CLASS=CL>
183
<UL CLASS=CL>
125
  <LI><A HREF="mios_studio/MIOS_Studio_2_4_4.zip">MIOS_Studio_2_4_4 for WinXP/Vista/Win7/Win8</A>
184
  <LI><A HREF="mios_studio/MIOS_Studio_2_4_5.zip">MIOS_Studio_2_4_5 for WinXP/Vista/Win7/Win8</A>
126
  <LI><A HREF="mios_studio/MIOS_Studio_2_4_4.app.zip">MIOS_Studio_2_4_4 for MacOS 10.6 (Snow Leopard), 10.7 (Lion) and 10.8 (Mountain Lion)</A>
185
  <LI><A HREF="mios_studio/MIOS_Studio_2_4_5.app.zip">MIOS_Studio_2_4_5 for MacOS 10.6 (Snow Leopard), 10.7 (Lion) and 10.8 (Mountain Lion)</A>
127
  <LI><A HREF="mios_studio/MIOS_Studio_2_4_4.tar.gz">MIOS_Studio_2_4_4 for Linux (compiled under Ubuntu 10)</A>
186
  <LI><A HREF="mios_studio/MIOS_Studio_2_4_5.tar.gz">MIOS_Studio_2_4_5 for Linux (compiled under Ubuntu)</A>
128
</UL>
187
</UL>
129
188
130
<H2>Source Code</H2>
189
<H2>Source Code</H2>
131
190
132
<P CLASS=INFO>The source code is available in the <A HREF="http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Ftools%2Fmios_studio%2F" TARGET="_blank">SVN Repository</A>. It requires the Juce v1.52 release to compile.</P>
191
<P CLASS=DESC>The source code is available in the <A HREF="http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Ftools%2Fmios_studio%2F" TARGET="_blank">SVN Repository</A>. It requires the Juce v1.52 release to compile.</P>
133
192
134
<H2>Known Issues</H2>
193
<H2>Known Issues</H2>
135
194
136
<P CLASS=INFO>Firstly it should be highlighted, that the Juce based MIOS Studio 2 solved all MIDI uploading issues of V1 which were mainly related to the MIDI API of Java implemented by Sun and Apple (or third party vendors)!</P>
195
<P CLASS=DESC>Firstly it should be highlighted, that the Juce based MIOS Studio 2 solved all MIDI uploading issues of V1 which were mainly related to the MIDI API of Java implemented by Sun and Apple (or third party vendors)!</P>
137
196
138
<P CLASS=INFO>Currently there is only one known issue:
197
<P CLASS=DESC>Currently there is only one known issue:
139
<UL CLASS=CL>
198
<UL CLASS=CL>
140
<LI><B>Windows7 64bit:</B> the SysEx communication gets stucked if a MIOS32 core opens more than one USB port (like MIDIbox SEQ V4).<BR>
199
<LI><B>Windows7 64bit:</B> the SysEx communication gets stucked if a MIOS32 core opens more than one USB port (like MIDIbox SEQ V4).<BR>
141
<B>Workarounds</B> ensure that your are using MIOS32 Bootloader V1.010 or higher, and install the <A HREF="mios32_download.html">GM5 device driver</A>. Alternatively you could install the Korg USB driver as reported <A HREF="http://midibox.org/forums/topic/16072-alternative-usb-midi-driver-for-windows-7-64bit/" TARGET="_blank">here</A>, but the GM5 driver seems to be better.
200
<B>Workarounds</B> ensure that your are using MIOS32 Bootloader V1.010 or higher, and install the <A HREF="mios32_download.html">GM5 device driver</A>. Alternatively you could install the Korg USB driver as reported <A HREF="http://midibox.org/forums/topic/16072-alternative-usb-midi-driver-for-windows-7-64bit/" TARGET="_blank">here</A>, but the GM5 driver seems to be better.
142
</UL>
201
</UL>
143
202