Subversion Repositories svn.mios

Rev

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

Rev Author Line No. Line
1096 tk 1
HEADER 3 ChangeLog of MIDIbox NG
2
 
3
<CENTER><H1>MIDIbox NG Change Log</H1></CENTER>
1186 tk 4
<CENTER><H3>Last Release: 2014-11-09</H3></CENTER>
1096 tk 5
 
6
<P CLASS=DESC>Current firmware, schematics, additional infos are located at <A HREF="midibox_ng.html">http://www.uCApps.de/midibox_ng.html</A>.</P>
7
 
8
<IMG SRC="images/1x1dot.gif" height=10 ALT=""><BR>
9
 
10
<UL CLASS=CL>
11
 
12
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
1186 tk 13
<LI><I>V1.032</I>
14
  <UL CLASS=CL>
15
   <LI> support for mathematical operations in .NGR script.
16
     They have to be surrounded with square-brackets ([...])<BR>
17
     Syntax: [&lt;left-operand&gt;&lt;operator&gt;&lt;right-operand&gt;]<BR>
18
     Example:
19
     <UL CLASS=CL>
20
        <LI> set LED:2000 [LED:2000 + 1]<BR>
21
          will increment the value stored in LED:2000
22
        <LI> set LED:2000 [LED:2000 - 1]
23
          will decrement the value stored in LED:2000
24
     </UL>
25
 
26
     Note that nested operations are supported as well, such as:
27
     <UL CLASS=CL>
28
        <LI> send CC USB1 1 [LED:2000 + [LED:2001 + [LED:2002 + LED:2003]]]
29
     </UL>
30
 
31
     More examples in cfg/tests/runscr5.ngc<BR>
32
     Support operators: + - * / % &amp; | ^
33
 
34
 
35
   <LI> number of scanned SRIOs now configurable in .NGC file
36
     with 'SRIO num_sr=&lt;1..32&gt;'<BR>
37
 
38
     By default 32 DIN and DOUT shift registers are scanned, which
39
     result into an update rate of ca. 420 uS on a STM32F4 based core.<BR>
40
 
41
     With (for example) 'sr_num=8' only up to 8 DIN and 8 DOUT SRs will
42
     be scanned anymore, but the update rate is reduced to ca. 110..120 uS
43
     (a little bit more than a quarter due to SR handling overhead)
44
 
45
 
46
    <LI> corrected DebounceCtr parameter (value was not passed to MIOS32).<BR>
47
      Now also part of the SRIO configuration, use: SRIO debounce_cycles=&lt;1..255&gt;
48
 
49
    <LI> added new meta event "KbBreakIsMake:&lt;keyboard-number&gt;" which will
50
      already trigger a note event when the break contact is activated
51
      (nice for playing organ style).<BR>
52
      Trigger it from a toggle button function as shown in cfg/test/kb_5.ngc
53
      Can be optionally set from the terminal as well with following
54
      command: "set kb &lt;keyboard-number&gt; break_is_make &lt;on|off&gt;"
55
      (e.g. "set kb 1 break_is_make on")
56
 
57
   <LI> added ain_mode=Toggle for AIN and AINSER events.<BR>
58
     Similar to ain_mode=Switch it can be used if buttons are connected to analog inputs.
59
     The event will toggle between the min and max value.
60
 
61
   <LI> .NGR: added "set_no_dump" command. It allows to change the "no_dump" flag
62
     which specifies if an EVENT_xxx should be sent during a DumpSnapshot.<BR>
63
     This feature can be used to handle different snapshot setups.
64
 
65
   <LI> STM32F4: support for bootloader "enforce_usb_device" flag
66
  </UL>
67
</LI>
68
 
69
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
1181 tk 70
<LI><I>V1.031</I>
71
  <UL CLASS=CL>
72
   <LI>the STM32F4 variant of the firmware supports USB Host mode!<BR>
73
     See also <A HREF="http://midibox.org/forums/topic/18906-usb-host-support-for-mbhp-core-stm32f4/" TARGET="_blank">this forum article</A>.
74
 
75
   <LI> MIDI clock input ports now disabled by default to avoid feedback loops
76
     in various setups
77
 
78
   <LI> improved "ain_filter_delay_ms" implementation to support sensors (experimental stage)
79
 
80
   <LI> Covered new use case which allows to transform velocity values of incoming notes.
81
     See cfg/test/conev_6.ngc<BR>
82
     EVENT_RECEIVER and EVENT_SENDER have to be specified with "key=any", so that any
83
     key will be received and sent.
84
 
85
   <LI> support for DIN/DOUT emulation on digital IO ports J10A/J10B (LPC17: J10/J28)<BR>
86
     See examples in cfg/test/diocfg_1.ngc and cfg/test/diocfg_2.ngc
87
  </UL>
88
</LI>
89
 
90
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
1172 tk 91
<LI><I>V1.030</I>
92
  <UL CLASS=CL>
93
   <LI> increased event pool size to 64k for MBHP_CORE_STM32F4
94
 
95
   <LI> added ain_mode=Switch for AIN and AINSER events.<BR>
96
     Can be used if buttons are connected to analog inputs. The event will send the
97
     min value if a 30% threshold is reached, and the max value if a 70% threshold
98
     is reached.<BR>
99
     Schematic:  Ground |----o Button o-----> analog input + 10k Pull-Up resistor to 3.3V (AIN) resp. 5V (AINSER)
100
 
101
   <LI> .ngr: added "change" command. It works similar to the "set" command, but
102
     only changes the value, and doesn't generate a MIDI event.
103
 
104
   <LI> .ngr: added "set_min" and "set_max" command which allows to modify the
105
     min/max range of a EVENT
106
 
107
   <LI> added new meta events to control the internal MIDI clock generator:
108
     MClkPlay, MClkStop, MClkPlayStop, MClkPause, MClkDecTempo, MClkIncTempo, MClkSetTempo.<BR>
109
     Example can be found under cfg/test/midiclk.ngc
110
 
111
   <LI> added new string formatting items:
112
    <UL CLASS=CL>
113
     <LI>%t to display MIDI clock state (Play/Stop)
114
     <LI>%T to display tempo (BPM)
115
    </UL>
116
 
117
   <LI> added new MClk menu page to SCS to control the tempo w/o dedicated controllers
118
 
119
   <LI> fixed AOUT_NG module communication issue if AINSER was used in addition
120
 
121
   <LI> added new meta events:
122
     <UL CLASS=CL>
123
       <LI> CvPitchBend14Bit:<cv-channel>
124
       <LI> CvPitchBend7Bit:<cv-channel>
125
       <LI> CvPitchRange:<cv-channel>
126
       <LI> CvTransposeOctave:<cv-channel>
127
       <LI> CvTransposeSemitones:<cv-channel>
128
     </UL>
129
     see cfg/test/cvtransp.ngc for usage examples
130
 
131
   <LI> BUTTON toggle function can now also handle with inverted and reduced value ranges
132
  </UL>
133
</LI>
134
 
135
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
1162 tk 136
<LI><I>V1.029</I>
137
  <UL CLASS=CL>
138
   <LI> added USB MIDI workaround for Windows
139
 
140
   <LI> if a EVENT_SENDER is part of a radio group, and got a new value, it will only
141
     send the MIDI event if the new value is matching with the specified range.<BR>
142
     Usage example: cfg/templates/pg300.ngc
143
 
144
   <LI> if EVENT_RECEIVER forwarded to EVENT_AIN, EVENT_AINSER or EVENT_BUTTON,
145
     send also MIDI event.<BR>
146
     Usage example: cfg/templates/pg300.ngc
147
 
148
   <LI> support for MBHP_CORE_STM32F4 module
149
  </UL>
150
</LI>
151
 
152
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
153
<LI><I>V1.028</I>
154
  <UL CLASS=CL>
155
   <LI> DOUT_MATRIX n=8 properly supported
156
 
157
   <LI> now up to 16 DOUT_MATRIX and DIN_MATRIX can be configured
158
  </UL>
159
</LI>
160
 
161
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
1148 tk 162
<LI><I>V1.027</I>
163
  <UL CLASS=CL>
164
   <LI> .NGR: added "set_active" command. It can be alternatively used
165
     instead of the bank mechanism to activate/deactivate events,
166
     e.g. if the same events should be activated in multiple banks under
167
     certain conditions.<BR>
168
     A demo can be found under cfg/tests/multibnk.*
169
 
170
   <LI> it's now possible to set a static forward value independent from the
171
     actual value of the event which initiates the forwarding.<BR>
172
 
173
     E.g. with<BR>
174
<TT><PRE style="margin-left:20px; font-size:8pt">
175
     EVENT_xxx fwd_id=SENDER:1:42
176
</PRE></TT>
177
     the SENDER:1 will always get value 42 for additional processing
178
 
179
   <LI> support for multiple MBHP_MF_NG modules in a chain.<BR>
180
     See cfg/test/mf_multi.ngc for a configuration example
181
 
182
   <LI> support for Logic Control Meters.<BR>
183
     Configuration example: see cfg/templates/logictrl.ngc
184
     (search for "meter")
185
 
186
   <LI> added new GLCD fonts (provided by Pcbatterij): Inverted and Tiny.<BR>
187
     In order to test these fonts, try following commands in the MIOS Terminal:<BR>
188
<TT><PRE style="margin-left:20px; font-size:8pt">
189
     lcd %C&t@(1:1:1)Tiny Font
190
     lcd %C&i@(1:1:1)Inverted Font
191
</PRE></TT>
192
 
193
   <LI> fixed OSC receiver (avoided stack overflow)
194
 
195
   <LI> various minor bugfixes
196
  </UL>
197
</LI>
198
 
199
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
1130 tk 200
<LI><I>V1.026</I>
201
  <UL CLASS=CL>
202
   <LI>support for nrpn_format=MsbOnly (e.g. for MBSEQ V4 NRPNs)
203
 
204
   <LI> new EVENT parameter ain_sensor_mode:
205
     <UL CLASS=CL>
206
       <LI>With ain_sensor_mode=NoteOnOff, AIN and AINSER events, which are
207
         assigned to Note events, send velocity 0 before a new Note is sent
208
         with velocity > 0 to avoid hanging notes.
209
       <LI>With ain_sensor_mode=None (default if no sensor mode specified),
210
         Note events will be generated as a continuous stream like CCs
211
     </UL>
212
  </UL>
213
</LI>
214
 
215
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
216
<LI><I>V1.025</I>
217
  <UL CLASS=CL>
218
   <LI> new terminal commands:
219
    <UL CLASS=CL>
220
     <LI> ngc: allows to execute a .NGC command directly
221
     <LI> ngr: allows to execute a .NGR command directly
222
     <LI> ngr_section: sets the ^section for .NGR execution
223
     <LI> ngr_value: sets the ^value for .NGR execution
224
     <LI> run: can now also executed without specified &lt;section&gt; &lt;value&gt;<BR>
225
       (the previously set values will be taken in this case)
226
    </UL>
227
 
228
   <LI> inofficial support for MAX72xx chains - see cfg/tests/max72xx.ngc for
229
     a configuration example (no schematic available yet)
230
 
231
   <LI> .NGR: fixed "delay statements in if branches" issue
232
 
233
   <LI> .NGR: added "set_lock" command. It allows to prevent, that received
234
     events will overwrite a value of an event.
235
 
236
   <LI> .NGR: the "set" command now also allows to change variables, e.g.:<BR>
237
       set ^value 1<BR>
238
       set ^section 2<BR>
239
       set ^bank 3<BR>
240
       (etc...)<BR>
241
     the last one (^bank) will also switch MBNG to the specified bank
242
 
243
   <LI> .NGR: added variables ^dev, ^pat, ^bnk, ^ins, ^chn<BR>
244
     These are the same which can be used in SysEx strings, and which can
245
     be changed in a SCS page (e.g. the variables could also be used for
246
     different purposes)
247
 
248
   <LI> added new SCS menu page to execute the .NGR file with given
249
     ^section and ^value
250
 
251
   <LI> the AIN command now supports the "resolution" parameter
252
 
253
   <LI> the AINSER command now supports the "muxed" parameter.<BR>
254
     Use muxed=1 for the AINSER64 module (default), and muxed=0 for the AINSER8 module.
255
 
256
   <LI> AIN and AINSER events, which are assigned to Note events, send velocity 0
257
     before a new Note is sent with velocity > 0 to avoid hanging notes.
258
 
259
   <LI> added "ain_filter_delay_ms" to support sensors (experimental stage)
260
 
261
   <LI> EVENT_RECEIVER in conjunction with ^txt or ^txt56: if ^cursor is not specified
262
     in the SysEx stream, it will start at offset 0 from the specified lcd_pos=<device>:<x>:<y>
263
 
264
   <LI> EVENT ... syxdumppos now supports the full receiver range 1..4095 (previously
265
     only 1..15)
266
 
267
   <LI> the MIDI router forwards SysEx messages regardless if channels are filtered,
268
     or "All" is used. It's ensured that messages are only sent once if multiple
269
     router nodes forward to the same destination port.
270
  </UL>
271
</LI>
272
 
273
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
1120 tk 274
<LI><I>V1.024</I>
275
  <UL CLASS=CL>
276
   <LI> bugfix for "single_usb" option
277
 
278
   <LI> support for LED Digits (7-segment displays).<BR>
279
     Configuration examples can be found under cfg/tests/leddig*.ngc
280
 
281
   <LI> the DIN_MATRIX and DOUT_MATRIX configuration command now allows to
282
     mirror the row pattern with "mirrored_row=1"
283
 
284
   <LI> added EVENT_RECEIVER emu_enc_mode and emu_enc_hw_id parameters.<BR>
285
     See cfg/tests/emu_enc.ngc for an usage example
286
 
287
   <LI> .NGR now allows to cast the ID type: (id) or (hw_id).<BR>
288
     E.g. (id)LED:1 will search for the EVENT specified with id=1, and
289
     (hw_id)LED:1 will search for the EVENT specified with hw_id=1<BR>
290
 
291
     if (hw_id) is used (default if no type specified), and no EVENT with
292
     a matching hw_id can be found, a virtual event will access the control
293
     element directly. This is currently only relevant for the SET command.<BR>
294
 
295
     This matches with the behaviour of the "EVENT ... fwd_id=<id>" function.
296
 
297
   <LI> added RunStop meta event to stop the execution of a .NGR file
298
 
299
   <LI> added "runstop" terminal command
300
 
301
   <LI> new .NGR command: set_rgb <id> <r:g:b><BR>
302
     E.g. "set_rgb (id)LED:1001 15:8:4"
303
  </UL>
304
</LI>
305
 
306
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
307
<LI><I>V1.023</I>
308
  <UL CLASS=CL>
309
   <LI> the current AIN/AINSER pot values can now be taken over by the meta events
310
     RetrieveAinValues and RetrieveAinserValues
311
   <LI> new .NGR command: EXEC_META
312
  </UL>
313
</LI>
314
 
315
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
1119 tk 316
<LI><I>V1.022</I>
317
  <UL CLASS=CL>
318
   <LI> support for run scripts.<BR>
319
     See also the <A HREF="midibox_ng_manual_ngr.html">new manual page</A>.
320
 
321
   <LI> the new SysEx command ^label has been added. It allows to insert the ASCII code
322
     of a label string into a SysEx stream.<BR>
323
     See also cfg/tests/syxlabel.ngc
324
 
325
   <LI> big GLCD font now correctly handled by ^txt and ^txt56 SysEx command
326
 
327
   <LI> line number now displayed on errors in .NGC, .NGL or .NGR file
328
 
329
   <LI> various bugfixes and improvements
330
  </UL>
331
</LI>
332
 
333
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
1117 tk 334
<LI><I>V1.021</I>
335
  <UL CLASS=CL>
336
   <LI> support for the "single_usb" option, which can be enabled with the
337
     bootloader update application V1.012 ("set usb_single 1")<BR>
338
 
339
     Use this option if you are working with a Windows PC which can't handle
340
     the 4 USB ports correctly (e.g. stucking MIDI, Filebrowser operations are failing, etc.)
341
 
342
   <LI> added .NGS file which allows to store and restore values into
343
     up to 128 snapshots (0..127).<BR>
344
     The snapshot can be changed in the "Snap" menu in the SCS
345
 
346
   <LI> the "Snap" menu also allows to dump all events (e.g. after a new
347
     snapshot has been loaded)
348
 
349
   <LI> added new (hopefully selfexplaining) meta events:<BR>
350
     SetSnapshot, DecSnapshot, IncSnapshot, CycleSnapshot, LoadSnapshot,
351
     SaveSnapshot and DumpSnapshot<BR>
352
     Note that multiple meta commands can be assigned to an event, e.g.
353
     to set, auto-load and dump a snapshot from an encoder write:<BR>
354
     EVENT_ENC ... type=Meta meta=SetSnapshot meta=LoadSnapshot meta=DumpSnapshot
355
 
356
   <LI> added "no_dump" parameter to EVENT_xxx<BR>
357
     It specifies if an EVENT_xxx should be sent during a DumpSnapshot.<BR>
358
 
359
     no_dump=1 is set for EVENT_RECEIVER and EVENT_KB and events which are using
360
     type=Meta by default.<BR>
361
     If such events should be part of the dump, set no_dump=0
362
 
363
     For all other events/types no_dump=0 is set by default, set no_dump=1 if
364
     they shouldn't send MIDI events on a snapshot dump.
365
 
366
   <LI> new label printf-control "%S" prints the snapshot number 0..127
367
  </UL>
368
</LI>
369
 
370
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
371
<LI><I>V1.020</I>
372
  <UL CLASS=CL>
373
  <LI>added "rgb" parameter.<BR>
374
     See cfg/tests/rgb_*.ngc for various examples.
375
 
376
  <LI>added "spread_center" option to AIN/AINSER calibration.<BR>
377
     See cfg/tests/kb_1.ngc for an usage example.
378
 
379
  <LI>reduced memory consumption of EVENT_* definitions
380
 
381
  <LI>added MIOS Terminal commands: "show id" and "show hw_id"
382
  </UL>
383
</LI>
384
 
385
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
386
<LI><I>V1.019</I>
387
  <UL CLASS=CL>
388
   <LI> added "Autoload" function: whenever a .NGC file has been uploaded via the
389
     MIOS Filebrowser, it will be automatically loaded, so that "load &lt;file&gt;"
390
     doesn't need to be entered in the MIOS Terminal anymore.
391
 
392
   <LI> EVENT_LED_MATRIX: now expects the 'colour' parameter to address the
393
     red (colour=0), green (colour=1) or blue (colour=2) LED.<BR>
394
 
395
     Note that it's still possible to control the LEDs from a single incoming
396
     MIDI message, e.g. by assigning the 3 EVENT_LED_MATRIX entries to the
397
     same CC number.
398
 
399
     But now it's also possible to address the LEDs independent from each other.
400
 
401
 
402
   <LI> LEDs can now be dimmed with 16 brightness levels over the value range.<BR>
403
     This feature has to be enabled with dimmed=1 in the EVENT_* definition.<BR>
404
     Configuration example: cfg/tests/dimled.ngc
405
 
406
   <LI> LEDs in a matrix configuration can be dimmed as well. The dim range is the
407
     same (0..15), but the effective dim level is limited by the number of
408
     scanned rows:
409
     <UL CLASS=CL>
410
        <LI> 4  rows: only 8 levels (0..1, 2..3, 4..5, 6..7, 8..9, 10..11, 12..13, 14..15)
411
        <LI> 8  rows: only 4 levels (0..3, 4..7, 8..11, 12..15)
412
        <LI> 16 rows: only 2 levels (0..7, 8..15)
413
     </UL>
414
     Configuration example: cfg/tests/dimled_m.ngc
415
 
416
   <LI> the new MIOS Terminal command "lcd" allows to directly output a (formatted)
417
     string to the LCD(s).<BR>
418
     E.g. try "lcd @(1:1:1)Hello World!"<BR>
419
 
420
     Note that terminal strings can also be sent via SysEx from a DAW:<BR>
421
     F0 00 00 7E 32 00 0D 00 &lt;ascii-text&gt; 0A F7
422
 
423
     Accordingly, this SysEx string will print "Hello World!" as well:<BR>
424
     F0 00 00 7E 32 00 0D 00 6C 63 64 20 40 28 31 3A 31 3A 31 29 48 65 6C 6C 6F 20 57 6F 72 6C 64 21 0A F7
425
  </UL>
426
</LI>
427
 
428
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
429
<LI><I>V1.018</I>
430
  <UL CLASS=CL>
431
   <LI> added EVENT_KB. See cfg/tests/kb_*.ngc for usage examples
432
 
433
   <LI> new LCD formats: %N prints the note name based on the specified MIDI event,
434
     and %n based on the event value
435
 
436
   <LI> new meta event: SwapValues - it swaps the primary and secondary value of an event.<BR>
437
     E.g. on a note event, velocity can be swapped with the key value.<BR>
438
     A usage example can be found in cfg/tests/kb_4.ngc, where the key and velocity
439
     value should be output by separate CV channels
440
 
441
   <LI> AIN/AINSER configuration: added pinrange parameter.<BR>
442
     It allows to specify individual ranges for the connected pots to calibrate
443
     the physical min/max limits.
444
 
445
   <LI> SCS configuration: added SCS num_items and lcd_pos parameters
446
  </UL>
447
</LI>
448
 
449
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
450
<LI><I>V1.017</I>
451
  <UL CLASS=CL>
452
   <LI> it's now possible to use the same hw_id in multiple event definitions.
453
     This allows for example to send multiple MIDI events from a single
454
     control element (e.g. from a single button)
455
 
456
   <LI> the fwd_id now forwards to the event(s) with the given hw_id
457
     (which is the same like the "normal id" if not explicitely specified)
458
 
459
   <LI> implemented "conditional events".<BR>
460
     See the <A HREF="midibox_ng_manual_ngc.html">User Manual</A> for details and examples.
461
 
462
   <LI> the new meta event UpdateLcd allows to force a refresh of the complete
463
     LCD content. This is especially useful in conjunction with conditional
464
     events: whenever a source value has been changed (e.g. a button state),
465
     all events which have this value in their condition will print out the
466
     label if the specified condition matches.
467
  </UL>
468
</LI>
469
 
470
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
471
<LI><I>V1.016</I>
472
  <UL CLASS=CL>
473
   <LI> LPC17: robustness of LCD driver has been improved
474
  </UL>
475
</LI>
476
 
477
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
1113 tk 478
<LI><I>V1.015</I>
479
  <UL CLASS=CL>
480
   <LI> support for GLCD_SSD1306_ROTATED
481
 
482
   <LI> the ^txt and ^txt56 SysEx command now allows to map incoming characters to
483
     different cursor positions. An example can be found in cfg/templates/logictrl.ngc
484
 
485
   <LI> independent from this map feature, ^txt and ^txt56 now also take lcd_pos=... and
486
     label=... into account to set the initial LCD and cursor position, at which the
487
     message will start. The label can be used to change the GLCD font before the
488
     characters will be print.<BR>
489
     An example can be found in cfg/templates/logictrl.ngc as well.
490
  </UL>
491
</LI>
492
 
493
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
494
<LI><I>V1.014</I>
495
  <UL CLASS=CL>
496
   <LI> the keyboard handler of MIDIbox KB has been integrated.
497
     The configuration commands are identical "set kb..." as documented at
498
     the <A HREF="http://www.ucapps.de/midibox_kb.html">MIDIbox KB page</A>.
499
 
500
   <LI> keyboard parameters are also stored in the .NGC file, and can be
501
     configured from there.
502
 
503
   <LI> please note that the latency is 10 times higher than in the MIDIbox KB
504
     application! Each row is scanned in 320 uS (instead of 32 uS).<BR>
505
     This has to be considered in the velocity delay configuration.
506
     delay_slowest should be 100 (instead of 1000), and delay_fastest should
507
     be 5 (instead of 50)
508
 
509
   <LI> DOGM and SSD1306 GLCDs: support for more than 12 displays via DOUT shift
510
     registers connected to J28
511
  </UL>
512
</LI>
513
 
514
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
515
<LI><I>V1.013</I>
516
  <UL CLASS=CL>
517
   <LI> overworked LCD handling: there is no buffer limitation anymore, any LCD and GLCD size
518
     is accepted, which especially means that GLCD fonts are displayed correctly
519
     independent from the specified number of connected devices.
520
 
521
   <LI> this change has freed some RAM which can be used for other purposes in future
522
  </UL>
523
</LI>
524
 
525
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
526
<LI><I>V1.012</I>
527
  <UL CLASS=CL>
528
   <LI> The application boots a little bit faster now
529
 
530
   <LI> support for more than 2 LCDs.<BR>
531
     A documentation can be found in the <A HREF="midibox_ng_manual_lcd.html">User Manual</A>.
532
  </UL>
533
</LI>
534
 
535
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
536
<LI><I>V1.011</I>
537
  <UL CLASS=CL>
538
   <LI> EVENT_SENDER and EVENT_RECEIVER can now also be assigned to a radio_group.<BR>
539
     This can not only be used in conjunction with BUTTON/LED radio groups, but also
540
     to distribute MIDI events to from receiver to multiple senders without
541
     forwarding chains (which then can be used for a different purpose)
542
 
543
   <LI> the "sdcard_format" command allows to format the connected SD Card with FAT32
544
     from the MIOS Terminal
545
  </UL>
546
</LI>
547
 
548
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
549
<LI><I>V1.010</I>
550
  <UL CLASS=CL>
551
   <LI> SysEx: added ^cursor, ^txt and ^txt56 identifiers.<BR>
552
     They allow to send messages to the LCD via SysEx.<BR>
553
     A usage example can be found under cfg/templates/logictrl.ngc
554
 
555
   <LI> Labels: ^# allows to terminate a label.<BR>
556
     E.g. "^label^#MyText" prints "MyText" directly after the specified ^label
557
  </UL>
558
</LI>
559
 
560
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
561
<LI><I>V1.009</I>
562
  <UL CLASS=CL>
563
   <LI> with a button assigned to 'type=Meta meta=MidiLearn range=0:1' it's now possible
564
     to activate a MIDI Learn mode which allows to assign an incoming MIDI event to any
565
     control element
566
 
567
   <LI> with 'type=Meta meta=MidiLearn range=0:2' also NRPN events can be learned (in this case,
568
     CC#62 and CC#63 will be ignored!)
569
 
570
   <LI> MIDI Learn mode can also be activated in the SCS menu
571
  </UL>
572
</LI>
573
 
574
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
575
<LI><I>V1.008</I>
576
  <UL CLASS=CL>
577
   <LI> DIN_MATRIX with rows=4 now properly supported
578
 
579
   <LI> DIN_MATRIX/DOUT_MATRIX: it's now possible to invert the rows as well:<BR>
580
     inverted=1 or inverted_sel=1 will invert the selection lines<BR>
581
     inverted_row=1 will invert the row pattern
582
 
583
   <LI> configuration examples for the 16x4 Button/Duo-LED matrix are now
584
     available under cfg/tests/blm16x4*.ngc
585
  </UL>
586
</LI>
587
 
588
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
589
<LI><I>V1.007</I>
590
  <UL CLASS=CL>
591
   o changed bank concept: the BANK command has been removed, instead the EVENT
592
     command got a new "hw_id" and "bank" parameter.<BR>
593
     A simple configuration example can be found under cfg/tests/encbanks.ngc<BR>
594
     More complex configuration examples under cfg/tests/bnk*.ngc
595
 
596
   <LI> added meta=CycleBank (increments bank, resets to 1 if last bank reached)<BR>
597
 
598
   <LI> additional new metas: SetBankOfHwId, DecBankOfHwId, IncBankOfHwId, CycleBankOfHwId
599
  </UL>
600
</LI>
601
 
602
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
1107 tk 603
<LI><I>V1.006</I>
604
  <UL CLASS=CL>
605
   <LI> corrected LED pattern output for the case that the selection lines are inverted.
606
 
607
   <LI> the new SCS command allows to assign emulated button/encoder functions if the SCS
608
     shows the mainpage.<BR>
609
     A usage example can be found under cfg/templates/lre8x2.ngc
610
  </UL>
611
</LI>
612
 
613
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
1101 tk 614
<LI><I>V1.005</I>
615
  <UL CLASS=CL>
616
   <LI> support for value MAPs.<BR>
1107 tk 617
     Various examples can be found under cfg/tests/map*.ngc
1101 tk 618
 
619
   <LI> support for EVENT_CV<BR>
1107 tk 620
     Various examples can be found under cfg/tests/cv*.ngc
1101 tk 621
 
622
   <LI> AINSER modules now disabled after RESET_HW<BR>
623
     They have to be explicitely enabled with the AINSER command
624
 
625
   <LI> the AINSER command now supports the "resolution" and "num_pins" parameters
626
  </UL>
627
</LI>
628
 
629
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
630
<LI><I>V1.004</I>
631
  <UL CLASS=CL>
632
   <LI>some minor code cleanup
633
  </UL>
634
</LI>
635
 
636
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
637
<LI><I>V1.003</I>
638
  <UL CLASS=CL>
639
   <LI>added "enc_speed_mode" parameter to EVENT_ENC<BR>
640
     Valid modes are:
641
     <UL CLASS=CL>
642
       <LI>Auto (speed automatically adapted according to the value range),
643
       <LI>Slow:0 .. Slow:7 (divides the increments),
644
       <LI>Normal (no special measure) and
645
       <LI>Fast:0 .. Fast:7 (accelerates the increments)
646
     </UL>
647
     A configuration example can be found under cfg/tests/encspeed.ngc
648
  </UL>
649
</LI>
650
 
651
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
1097 tk 652
<LI><I>V1.002</I>
653
  <UL CLASS=CL>
654
   <LI> the patterns specified with LED_MATRIX_PATTERN are now reversed so that the
655
     bit orientation matches with the hardware.
656
 
657
   <LI> reversed value ranges (min value greater than max value) now properly supported
658
 
659
   <LI> support for ain_mode Direct/Snap/Relative/Parallax
660
 
661
   <LI> incoming MIDI values can now trigger the output of EVENT labels if the "fwd_to_lcd"
662
     option is set to 1 in the related EVENT_* definitions.
663
 
664
   <LI> support for "Radio Groups": button and LEDs can now be assigned to groups, which
665
     handle the same value over multiple elements.<BR>
666
     A configuration example can be found under: cfg/tests/radiogrp.ngc
667
  </UL>
668
</LI>
669
 
670
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
1096 tk 671
<LI><I>V1.001</I>
672
  <UL CLASS=CL>
673
   <LI> maximum length of DIN/DOUT shift register chain increased to 32.<BR>
674
     This means that up to 256 digital inputs, and 256 digital outputs are available.
675
 
676
   <LI> Number of virtual button and LED functions increased to 1024
677
 
678
   <LI> New meta event for speeding up ENC movements (EncFast, see .NGC documentation)
679
 
680
   <LI> New meta events for emulating SCS buttons/encoder (see .NGC documentation)
681
 
682
   <LI> Ethernet and OSC setup now stored with ETH/OSC commands in .NGC file
683
 
684
   <LI> SysEx variables are now stored with a SYSEX_VAR command in .NGC file
685
 
686
   <LI> EVENT_BUTTON_MATRIX and EVENT_LED_MATRIX now properly supported<BR>
1097 tk 687
     See cfg/tests/blm8x8.ngc for a simple configuration example
1096 tk 688
  </UL>
689
</LI>
690
 
691
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
692
<LI><I>V1.000</I>
693
  <UL>
694
    <LI>initial version</LI>
695
  </UL>
696
</LI>
697
 
698
</UL>
699
 
700
 
701
FOOTER