Subversion Repositories svn.mios32

Rev

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

Rev Author Line No. Line
1573 tk 1
$Id: CHANGELOG.txt 2565 2018-03-04 21:31:38Z tk $
2
 
2408 tk 3
MIDIbox NG V1.036
4
~~~~~~~~~~~~~~~~~
5
 
6
   o new .NGR script command: send_seq (see cfg/test/seq* examples)
7
 
8
   o added new MIDI event types: Clock, Start, Stop, Cont
9
 
10
   o added new meta events to control a MIDI clock divider:
11
     MClkSetDivider, MClkDecDivider, MClkIncDivider
12
 
13
   o added new .NGC file configuration parameters:
14
     MidiClkOutPorts and MidiClkInPorts
15
 
2443 tk 16
   o new LCD format character '%L' allows to display logic control digits
17
     (MTC and status digits)
2408 tk 18
 
2557 tk 19
   o added new .NGR commands SET_KB_TRANSPOSE and SET_KB_VELOCITY_MAP.
20
     The configuration example can be found under cfg/tests/kb_6.ng*
2443 tk 21
 
2557 tk 22
   o encoder absolute mode: negative ranges are now handled correctly
23
 
24
   o .NGR LCD command: %d outputs the ^value
25
 
26
 
2269 tk 27
MIDIbox NG V1.035
28
~~~~~~~~~~~~~~~~~
29
 
30
   o Support for secure keyboard handling if patch is switched: keep original
31
     MIDI port, note, channel when playing Note Off
32
     (this feature is not supported for LPC17 due to high memory consumption)
33
 
2289 tk 34
    o Fixed encoder incrementer in absolute mode
2269 tk 35
 
2289 tk 36
 
2248 tk 37
MIDIbox NG V1.034
38
~~~~~~~~~~~~~~~~~
39
 
2257 tk 40
   o Support for interpolation tables:
41
     MAPs can now apply linear interpolation between data points.
42
     This allows to quickly define curves without the need to enter the values for the complete range.
43
     E.g. previously it was required to enter 128 values to create a curve for a CC controller,
44
     now it's mostly sufficient to define the same with 3..4 data points. MBNG will interpolate
45
     the values between these points.
46
 
47
     Interpolation tables can be defined with following commands:
48
     MAP<n>/BYTEI and MAP<n>/HWORDI
49
 
50
     A BYTEI map can define up to 64 datapoints with 8bit resultion,
51
     and a HWORDI map can define up to 32 datapoints with 16bit resolution.
52
 
53
     Usage examples can be found under cfg/test/map* and cfg/test/kb_2.ngc
54
 
55
     See the user manual for further explanations.
56
 
57
   o Support for 16bit maps: with MAP<n>/HWORD 16bit values can be mapped.
58
 
2248 tk 59
   o label "std_rgbled" renamed to "std_rgb" to avoid error message
60
 
2249 tk 61
   o Cursor handling on SysEx based GLCD output should now work correctly if the big font is activated
2248 tk 62
 
2249 tk 63
 
2095 tk 64
MIDIbox NG V1.033
65
~~~~~~~~~~~~~~~~~
66
 
2211 tk 67
   o with this release, .NGR scripts running on a STM32F4 are directly executed from RAM in a compressed
68
     format, and therefore they are significantly faster, so that they could even be used for timing
69
     critical operations.
70
 
2095 tk 71
   o added basic support for SPI_MIDI
2097 tk 72
     This feature requires an update to MIOS32 bootloader v1.018
73
     In the bootloader update app, enter "set spi_midi 1" to enable the SPI MIDI device at J16 (RC2 chip select line).
74
     This will also disable the OSC ports via MBHP_ETH module, which is normally connected to this port.
2095 tk 75
 
2223 tk 76
   o support for WS2812 LED strips (currently only for the MBHP_CORE_STM32F4 module).
77
     The data input has to be connected to J4B.SC, ground to J4B.VS and +5V to an external PSU (required, since
78
     each RGB LED can consume up to 20 mA!)
79
 
80
     Following meta event commands are available:
81
     - RgbLedClearAll (clears all LEDs)
82
     - RgbLedSetRgb:<led>:<r>:<g>:<b> (led=1..64, r/g/b=0..255)
83
     - RgbLedSetHsv:<led>:<h>:<s>:<v> (led=1..64, h=0..359, s=0..100, v=0..100)
84
     - RgbLedRainbow:<speed>:<brightness> (speed=1..255, brightness=0..100)
85
 
86
    Most simple way to test a LED strip: enter following command in MIOS Terminal
2225 tk 87
       ngr exec_meta RgbLedRainbow:9:100
2223 tk 88
    (don't forget to wear sunglasses, or start with brightness 20!!! ;-)
89
 
2225 tk 90
   o added EVENT_RGBLED
91
     See cfg/test/rgbled_1.ngc for usage examples
92
 
93
   o .NGR file: added "set_hsv" command which allows to control the hue parameters of a RGBLED
94
 
2099 tk 95
   o SRIO num_sr=<value> reconfiguration works correctly with DIN/DOUT matrices now
2095 tk 96
 
2240 tk 97
   o added "inverted=1" to EVENT_BUTTON and EVENT_LED
98
 
2100 tk 99
   o .NGR file: added "load <setup>" command which allows to switch to another setup (.NGC, .NGS, .NGR, ... files)
2099 tk 100
 
2107 tk 101
   o implemented new meta command "SendEvent" which allows to remote control one or more events from a single event
102
     within a given value range and direction.
103
     See cfg/test/metalrn.ngc for a usage example
2108 tk 104
 
105
   o implemented new meta command "LearnEvent" which allows to learn SendEvent based controller assignments during runtime.
106
     See cfg/test/metalrn.ngc for a usage example
2100 tk 107
 
2222 tk 108
   o added new meta command "SaveDelayedSnapshot:<seconds>"
109
     It will request to store a snapshot after at least the given seconds.
110
 
2174 tk 111
   o added new event type "NoteOnOff", which will send a NoteOff event immediately after NoteOn (resp. actually it will
112
     send Note On with velocity 0 for runtime event optimisation)
113
 
2240 tk 114
   o added possibility to calibrate the delay_slowest values for each individual key of a keyboard.
115
     New terminal commands:
116
     - set kb <1|2> key_calibration on: delay values will be measured (method described at the MIDIbox KB webpage)
117
     - set kb <1|2> key_calibration off: captured delay values will be used: (<measured-delay> * delay_slowest / 1000)
118
     - set kb <1|2> key_calibration clean: shows the captured measurement values
119
     - set kb <1|2> key_calibration_value <key> <value>: allows to modify a calibration value directly
120
     - kb <1|2> delays: shows the measured delay values
121
 
122
   o keyboard calibration values are stored in a new file: .NGK, and can also be edited there
123
 
2132 tk 124
   o bugfix for DELAY_MS
2107 tk 125
 
2132 tk 126
   o bugfix for fwd_id to a non-existing ID with specific value
127
 
2174 tk 128
   o bugfix for maps with duplicated values
2132 tk 129
 
2190 tk 130
   o bugfix for sporadic file access errors reported during snapshot restore
2174 tk 131
 
2190 tk 132
 
2044 tk 133
MIDIbox NG V1.032
134
~~~~~~~~~~~~~~~~~
135
 
136
   o support for mathematical operations in .NGR script.
137
     They have to be surrounded with square-brackets ([...])
138
     Syntax: [<left-operand><operator><right-operand>]
139
     Example:
2045 tk 140
        - set LED:2000 [LED:2000 + 1]
2044 tk 141
          will increment the value stored in LED:2000
2045 tk 142
        - set LED:2000 [LED:2000 - 1]
2044 tk 143
          will decrement the value stored in LED:2000
144
 
2045 tk 145
     Note that nested operations are supported as well, such as:
146
        - send CC USB1 1 [LED:2000 + [LED:2001 + [LED:2002 + LED:2003]]]
147
 
2044 tk 148
     More examples in cfg/tests/runscr5.ngc
149
 
2045 tk 150
     Support operators: + - * / % & | ^
2044 tk 151
 
152
 
2045 tk 153
   o number of scanned SRIOs now configurable in .NGC file
2067 tk 154
     with 'SRIO num_sr=<1..32>'
2045 tk 155
 
156
     By default 32 DIN and DOUT shift registers are scanned, which
157
     result into an update rate of ca. 420 uS on a STM32F4 based core.
158
 
2046 tk 159
     With (for example) 'sr_num=8' only up to 8 DIN and 8 DOUT SRs will
2045 tk 160
     be scanned anymore, but the update rate is reduced to ca. 110..120 uS
161
     (a little bit more than a quarter due to SR handling overhead)
162
 
163
 
164
    o corrected DebounceCtr parameter (value was not passed to MIOS32)
2046 tk 165
      Now also part of the SRIO configuration, use:
166
      SRIO debounce_cycles=<1..255>
2045 tk 167
 
2067 tk 168
    o added new meta event "KbBreakIsMake:<keyboard-number>" which will
169
      already trigger a note event when the break contact is activated
170
      (nice for playing organ style).
171
      Trigger it from a toggle button function as shown in cfg/test/kb_5.ngc
2088 tk 172
      Can be optionally set from the terminal as well with following
2067 tk 173
      command: "set kb <keyboard-number> break_is_make <on|off>"
174
      (e.g. "set kb 1 break_is_make on")
2045 tk 175
 
2090 tk 176
   o added ain_mode=Toggle for AIN and AINSER events.
177
     Similar to ain_mode=Switch it can be used if buttons are connected to analog inputs.
178
     The event will toggle between the min and max value.
2067 tk 179
 
2090 tk 180
   o .NGR: added "set_no_dump" command. It allows to change the "no_dump" flag
181
     which specifies if an EVENT_xxx should be sent during a DumpSnapshot.
182
     This feature can be used to handle different snapshot setups.
183
 
184
   o STM32F4: support for bootloader "enforce_usb_device" flag
185
 
186
 
2014 tk 187
MIDIbox NG V1.031
188
~~~~~~~~~~~~~~~~~
189
 
2035 tk 190
   o the STM32F4 variant of the firmware supports USB Host mode!
191
     See also http://midibox.org/forums/topic/18906-usb-host-support-for-mbhp-core-stm32f4/
192
 
2014 tk 193
   o MIDI clock input ports now disabled by default to avoid feedback loops
194
     in various setups
195
 
2015 tk 196
   o improved "ain_filter_delay_ms" implementation to support sensors (experimental stage)
2014 tk 197
 
2019 tk 198
   o Covered new use case which allows to transform velocity values of incoming notes.
199
     See cfg/test/conev_6.ngc
200
     EVENT_RECEIVER and EVENT_SENDER have to be specified with "key=any", so that any
2037 tk 201
     key will be received and sent.
2015 tk 202
 
2035 tk 203
   o support for DIN/DOUT emulation on digital IO ports J10A/J10B (LPC17: J10/J28)
204
     See examples in cfg/test/diocfg_1.ngc and cfg/test/diocfg_2.ngc
2019 tk 205
 
2035 tk 206
 
1957 tk 207
MIDIbox NG V1.030
208
~~~~~~~~~~~~~~~~~
209
 
210
   o increased event pool size to 64k for MBHP_CORE_STM32F4
211
 
1967 tk 212
   o added ain_mode=Switch for AIN and AINSER events.
213
     Can be used if buttons are connected to analog inputs. The event will send the
214
     min value if a 30% threshold is reached, and the max value if a 70% threshold
215
     is reached.
216
     Schematic:  Ground |----o Button o-----> analog input + 10k Pull-Up resistor to 3.3V (AIN) resp. 5V (AINSER)
1957 tk 217
 
1967 tk 218
   o .ngr: added "change" command. It works similar to the "set" command, but
219
     only changes the value, and doesn't generate a MIDI event.
220
 
221
   o .ngr: added "set_min" and "set_max" command which allows to modify the
222
     min/max range of a EVENT
223
 
224
   o added new meta events to control the internal MIDI clock generator:
225
     MClkPlay, MClkStop, MClkPlayStop, MClkPause, MClkDecTempo, MClkIncTempo, MClkSetTempo.
226
     Example can be found under cfg/test/midiclk.ngc
227
 
228
   o added new string formatting items:
229
     %t to display MIDI clock state (Play/Stop)
230
     %T to display tempo (BPM)
231
 
232
   o added new MClk menu page to SCS to control the tempo w/o dedicated controllers
233
 
1985 tk 234
   o fixed AOUT_NG module communication issue if AINSER was used in addition
1967 tk 235
 
1985 tk 236
   o added new meta events:
237
       - CvPitchBend14Bit:<cv-channel>
238
       - CvPitchBend7Bit:<cv-channel>
239
       - CvPitchRange:<cv-channel>
240
       - CvTransposeOctave:<cv-channel>
241
       - CvTransposeSemitones:<cv-channel>
242
     see cfg/test/cvtransp.ngc for usage examples
243
 
1992 tk 244
   o BUTTON toggle function can now also handle with inverted and reduced value ranges
1985 tk 245
 
1992 tk 246
 
1898 tk 247
MIDIbox NG V1.029
248
~~~~~~~~~~~~~~~~~
249
 
250
   o added USB MIDI workaround for Windows
251
 
1916 tk 252
   o if a EVENT_SENDER is part of a radio group, and got a new value, it will only
253
     send the MIDI event if the new value is matching with the specified range.
254
     Usage example: cfg/templates/pg300.ngc
1898 tk 255
 
1916 tk 256
   o if EVENT_RECEIVER forwarded to EVENT_AIN, EVENT_AINSER or EVENT_BUTTON,
257
     send also MIDI event.
258
     Usage example: cfg/templates/pg300.ngc
259
 
1948 tk 260
   o support for MBHP_CORE_STM32F4 module
1916 tk 261
 
1948 tk 262
 
1890 tk 263
MIDIbox NG V1.028
264
~~~~~~~~~~~~~~~~~
265
 
266
   o DOUT_MATRIX n=8 properly supported
267
 
1891 tk 268
   o now up to 16 DOUT_MATRIX and DIN_MATRIX can be configured
1890 tk 269
 
1891 tk 270
 
1815 tk 271
MIDIbox NG V1.027
272
~~~~~~~~~~~~~~~~~
273
 
274
   o .NGR: added "set_active" command. It can be alternatively used
1879 tk 275
     instead of the bank mechanism to activate/deactivate events,
276
     e.g. if the same events should be activated in multiple banks under
277
     certain conditions.
1815 tk 278
     A demo can be found under cfg/tests/multibnk.*
279
 
1828 tk 280
   o it's now possible to set a static forward value independent from the
281
     actual value of the event which initiates the forwarding.
1815 tk 282
 
1828 tk 283
     E.g. with
284
        EVENT_xxx fwd_id=SENDER:1:42
285
     the SENDER:1 will always get value 42 for additional processing
286
 
1839 tk 287
   o support for multiple MBHP_MF_NG modules in a chain.
288
     See cfg/test/mf_multi.ngc for a configuration example
1828 tk 289
 
1844 tk 290
   o support for Logic Control Meters
291
     Configuration example: see cfg/templates/logictrl.ngc
292
     (search for "meter")
1839 tk 293
 
1849 tk 294
   o added new GLCD fonts (provided by Pcbatterij): Inverted and Tiny.
295
     In order to test these fonts, try following commands in the MIOS Terminal:
296
     lcd %C&t@(1:1:1)Tiny Font
297
     lcd %C&i@(1:1:1)Inverted Font
1844 tk 298
 
1876 tk 299
   o fixed OSC receiver (avoided stack overflow)
300
 
1879 tk 301
   o various minor bugfixes
1876 tk 302
 
1879 tk 303
 
1807 tk 304
MIDIbox NG V1.026
305
~~~~~~~~~~~~~~~~~
306
 
1808 tk 307
   o support for nrpn_format=MsbOnly (e.g. for MBSEQ V4 NRPNs)
1807 tk 308
 
309
   o new EVENT parameter ain_sensor_mode:
310
 
311
     With ain_sensor_mode=NoteOnOff, AIN and AINSER events, which are
312
     assigned to Note events, send velocity 0 before a new Note is sent
313
     with velocity > 0 to avoid hanging notes.
314
 
1808 tk 315
     With ain_sensor_mode=None (default if no sensor mode specified),
316
     Note events will be generated as a continuous stream like CCs
1807 tk 317
 
318
 
1758 tk 319
MIDIbox NG V1.025
320
~~~~~~~~~~~~~~~~~
321
 
322
   o new terminal commands:
323
     - ngc: allows to execute a .NGC command directly
324
     - ngr: allows to execute a .NGR command directly
325
     - ngr_section: sets the ^section for .NGR execution
326
     - ngr_value: sets the ^value for .NGR execution
327
     - run: can now also executed without specified <section> <value>
328
       (the previously set values will be taken in this case)
329
 
330
   o inofficial support for MAX72xx chains - see cfg/tests/max72xx.ngc for
331
     a configuration example (no schematic available yet)
332
 
1773 tk 333
   o .NGR: fixed "delay statements in if branches" issue
1758 tk 334
 
1791 tk 335
   o .NGR: added "set_lock" command. It allows to prevent, that received
336
     events will overwrite a value of an event.
337
 
338
   o .NGR: the "set" command now also allows to change variables, e.g.:
339
       set ^value 1
340
       set ^section 2
341
       set ^bank 3
342
       (etc...)
343
     the last one (^bank) will also switch MBNG to the specified bank
344
 
345
   o .NGR: added variables ^dev, ^pat, ^bnk, ^ins, ^chn
346
     These are the same which can be used in SysEx strings, and which can
347
     be changed in a SCS page (e.g. the variables could also be used for
348
     different purposes)
349
 
350
   o added new SCS menu page to execute the .NGR file with given
351
     ^section and ^value
352
 
1775 tk 353
   o the AIN command now supports the "resolution" parameter
1773 tk 354
 
1789 tk 355
   o the AINSER command now supports the "muxed" parameter.
356
     Use muxed=1 for the AINSER64 module (default), and muxed=0 for the AINSER8 module.
357
 
1791 tk 358
   o AIN and AINSER events, which are assigned to Note events, send velocity 0
359
     before a new Note is sent with velocity > 0 to avoid hanging notes.
1775 tk 360
 
1791 tk 361
   o added "ain_filter_delay_ms" to support sensors (experimental stage)
362
 
363
   o EVENT_RECEIVER in conjunction with ^txt or ^txt56: if ^cursor is not specified
364
     in the SysEx stream, it will start at offset 0 from the specified lcd_pos=<device>:<x>:<y>
365
 
366
   o EVENT ... syxdumppos now supports the full receiver range 1..4095 (previously
367
     only 1..15)
368
 
1786 tk 369
   o the MIDI router forwards SysEx messages regardless if channels are filtered,
370
     or "All" is used. It's ensured that messages are only sent once if multiple
371
     router nodes forward to the same destination port.
1775 tk 372
 
1786 tk 373
 
1736 tk 374
MIDIbox NG V1.024
375
~~~~~~~~~~~~~~~~~
376
 
1748 tk 377
   o bugfix for "single_usb" option
378
 
1736 tk 379
   o support for LED Digits (7-segment displays).
380
     Configuration examples can be found under cfg/tests/leddig*.ngc
381
 
382
   o the DIN_MATRIX and DOUT_MATRIX configuration command now allows to
383
     mirror the row pattern with "mirrored_row=1"
384
 
1748 tk 385
   o added EVENT_RECEIVER emu_enc_mode and emu_enc_hw_id parameters.
386
     See cfg/tests/emu_enc.ngc for an usage example
387
 
1737 tk 388
   o .NGR now allows to cast the ID type: (id) or (hw_id).
389
     E.g. (id)LED:1 will search for the EVENT specified with id=1, and
390
     (hw_id)LED:1 will search for the EVENT specified with hw_id=1
1736 tk 391
 
1737 tk 392
     if (hw_id) is used (default if no type specified), and no EVENT with
393
     a matching hw_id can be found, a virtual event will access the control
394
     element directly. This is currently only relevant for the SET command.
395
 
396
     This matches with the behaviour of the "EVENT ... fwd_id=<id>" function.
397
 
1740 tk 398
   o added RunStop meta event to stop the execution of a .NGR file
399
 
400
   o added "runstop" terminal command
401
 
1737 tk 402
   o new .NGR command: set_rgb <id> <r:g:b>
403
     E.g. "set_rgb (id)LED:1001 15:8:4"
404
 
405
 
1733 tk 406
MIDIbox NG V1.023
407
~~~~~~~~~~~~~~~~~
408
 
409
   o the current AIN/AINSER pot values can now be taken over by the meta events
410
     RetrieveAinValues and RetrieveAinserValues
411
 
412
   o new .NGR command: EXEC_META
413
 
414
 
1732 tk 415
MIDIbox NG V1.022
416
~~~~~~~~~~~~~~~~~
417
 
418
   o support for run scripts.
419
     See also the new manual page: http://www.ucapps.de/midibox_ng_manual_ngr.html
420
 
421
   o the new SysEx command ^label has been added. It allows to insert the ASCII code
422
     of a label string into a SysEx stream.
423
     See also cfg/tests/syxlabel.ngc
424
 
425
   o big GLCD font now correctly handled by ^txt and ^txt56 SysEx command
426
 
427
   o line number now displayed on errors in .NGC, .NGL or .NGR file
428
 
429
   o various bugfixes and improvements
430
 
431
 
1708 tk 432
MIDIbox NG V1.021
433
~~~~~~~~~~~~~~~~~
434
 
1715 tk 435
   o support for the "single_usb" option, which can be enabled with the
436
     bootloader update application V1.012 ("set usb_single 1")
437
 
438
     Use this option if you are working with a Windows PC which can't handle
439
     the 4 USB ports correctly (e.g. stucking MIDI, Filebrowser operations are failing, etc.)
440
 
1709 tk 441
   o added .NGS file which allows to store and restore values into
442
     up to 128 snapshots (0..127).
1708 tk 443
     The snapshot can be changed in the "Snap" menu in the SCS
444
 
1709 tk 445
   o the "Snap" menu also allows to dump all events (e.g. after a new
446
     snapshot has been loaded)
1708 tk 447
 
1709 tk 448
   o added new (hopefully selfexplaining) meta events:
449
     SetSnapshot, DecSnapshot, IncSnapshot, CycleSnapshot, LoadSnapshot,
450
     SaveSnapshot and DumpSnapshot
451
     Note that multiple meta commands can be assigned to an event, e.g.
452
     to set, auto-load and dump a snapshot from an encoder write:
453
     EVENT_ENC ... type=Meta meta=SetSnapshot meta=LoadSnapshot meta=DumpSnapshot
454
 
455
   o added "no_dump" parameter to EVENT_xxx
456
     It specifies if an EVENT_xxx should be sent during a DumpSnapshot.
457
 
458
     no_dump=1 is set for EVENT_RECEIVER and EVENT_KB and events which are using
459
     type=Meta by default.
460
     If such events should be part of the dump, set no_dump=0
461
 
462
     For all other events/types no_dump=0 is set by default, set no_dump=1 if
463
     they shouldn't send MIDI events on a snapshot dump.
464
 
465
   o new label printf-control "%S" prints the snapshot number 0..127
466
 
467
 
1701 tk 468
MIDIbox NG V1.020
469
~~~~~~~~~~~~~~~~~
470
 
1704 tk 471
   o added "rgb" parameter.
472
     See cfg/tests/rgb_*.ngc for various examples.
1701 tk 473
 
1707 tk 474
   o added "spread_center" option to AIN/AINSER calibration.
475
     See cfg/tests/kb_1.ngc for an usage example.
476
 
1706 tk 477
   o reduced memory consumption of EVENT_* definitions
1701 tk 478
 
1706 tk 479
   o added MIOS Terminal commands: "show id" and "show hw_id"
480
 
481
 
1699 tk 482
MIDIbox NG V1.019
483
~~~~~~~~~~~~~~~~~
484
 
485
   o added "Autoload" function: whenever a .NGC file has been uploaded via the
486
     MIOS Filebrowser, it will be automatically loaded, so that "load <file>"
487
     doesn't need to be entered in the MIOS Terminal anymore.
488
 
489
 
490
   o EVENT_LED_MATRIX: now expects the 'colour' parameter to address the
491
     red (colour=0), green (colour=1) or blue (colour=2) LED.
492
 
493
     Note that it's still possible to control the LEDs from a single incoming
494
     MIDI message, e.g. by assigning the 3 EVENT_LED_MATRIX entries to the
495
     same CC number.
496
 
497
     But now it's also possible to address the LEDs independent from each other.
498
 
499
 
500
   o LEDs can now be dimmed with 16 brightness levels over the value range.
501
     This feature has to be enabled with dimmed=1 in the EVENT_* definition.
502
     Configuration example: cfg/tests/dimled.ngc
503
 
504
   o LEDs in a matrix configuration can be dimmed as well. The dim range is the
505
     same (0..15), but the effective dim level is limited by the number of
506
     scanned rows:
507
        - 4  rows: only 8 levels (0..1, 2..3, 4..5, 6..7, 8..9, 10..11, 12..13, 14..15)
508
        - 8  rows: only 4 levels (0..3, 4..7, 8..11, 12..15)
509
        - 16 rows: only 2 levels (0..7, 8..15)
510
     Configuration example: cfg/tests/dimled_m.ngc
511
 
512
   o the new MIOS Terminal command "lcd" allows to directly output a (formatted)
513
     string to the LCD(s).
514
     E.g. try "lcd @(1:1:1)Hello World!"
515
 
516
     Note that terminal strings can also be sent via SysEx from a DAW:
517
     F0 00 00 7E 32 00 0D 00 <ascii-text> 0A F7
518
 
519
     Accordingly, this SysEx string will print "Hello World!" as well:
520
     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
521
 
522
 
523
 
524
 
1688 tk 525
MIDIbox NG V1.018
526
~~~~~~~~~~~~~~~~~
527
 
528
   o added EVENT_KB. See cfg/tests/kb_*.ngc for usage examples
529
 
530
   o new LCD formats: %N prints the note name based on the specified MIDI event,
531
     and %n based on the event value
532
 
1690 tk 533
   o new meta event: SwapValues - it swaps the primary and secondary value of an event.
534
     E.g. on a note event, velocity can be swapped with the key value.
535
     A usage example can be found in cfg/tests/kb_4.ngc, where the key and velocity
536
     value should be output by separate CV channels
537
 
1689 tk 538
   o AIN/AINSER configuration: added pinrange parameter.
539
     It allows to specify individual ranges for the connected pots to calibrate
540
     the physical min/max limits.
1688 tk 541
 
1692 tk 542
   o SCS configuration: added SCS num_items and lcd_pos parameters
1689 tk 543
 
1692 tk 544
 
1680 tk 545
MIDIbox NG V1.017
546
~~~~~~~~~~~~~~~~~
547
 
548
   o it's now possible to use the same hw_id in multiple event definitions.
1684 tk 549
     This allows for example to send multiple MIDI events from a single
550
     control element (e.g. from a single button)
1680 tk 551
 
1684 tk 552
   o the fwd_id now forwards to the event(s) with the given hw_id
553
     (which is the same like the "normal id" if not explicitely specified)
1680 tk 554
 
1684 tk 555
   o implemented "conditional events".
556
     See the user manual (.NGC chapter) for details and examples.
1680 tk 557
 
1684 tk 558
   o the new meta event UpdateLcd allows to force a refresh of the complete
559
     LCD content. This is especially useful in conjunction with conditional
560
     events: whenever a source value has been changed (e.g. a button state),
561
     all events which have this value in their condition will print out the
562
     label if the specified condition matches.
563
 
564
 
1677 tk 565
MIDIbox NG V1.016
566
~~~~~~~~~~~~~~~~~
567
 
568
   o LPC17: robustness of LCD driver has been improved
569
 
570
 
1673 tk 571
MIDIbox NG V1.015
572
~~~~~~~~~~~~~~~~~
1657 tk 573
 
1673 tk 574
   o support for GLCD_SSD1306_ROTATED
575
 
576
   o the ^txt and ^txt56 SysEx command now allows to map incoming characters to
577
     different cursor positions. An example can be found in cfg/templates/logictrl.ngc
578
 
579
   o independent from this map feature, ^txt and ^txt56 now also take lcd_pos=... and
580
     label=... into account to set the initial LCD and cursor position, at which the
581
     message will start. The label can be used to change the GLCD font before the
582
     characters will be print.
583
     An example can be found in cfg/templates/logictrl.ngc as well.
584
 
585
 
1667 tk 586
MIDIbox NG V1.014
587
~~~~~~~~~~~~~~~~~
588
 
589
   o the keyboard handler of MIDIbox KB has been integrated.
590
     The configuration commands are identical "set kb..." as documented at
591
     the MIDIbox KB page: http://www.ucapps.de/midibox_kb.html
592
 
593
   o keyboard parameters are also stored in the .NGC file, and can be
594
     configured from there.
595
 
596
   o please note that the latency is 10 times higher than in the MIDIbox KB
597
     application! Each row is scanned in 320 uS (instead of 32 uS).
598
     This has to be considered in the velocity delay configuration.
599
     delay_slowest should be 100 (instead of 1000), and delay_fastest should
600
     be 5 (instead of 50)
601
 
602
   o DOGM and SSD1306 GLCDs: support for more than 12 displays via DOUT shift
603
     registers connected to J28
604
 
605
 
1664 tk 606
MIDIbox NG V1.013
607
~~~~~~~~~~~~~~~~~
608
 
609
   o overworked LCD handling: there is no buffer limitation anymore, any LCD and GLCD size
610
     is accepted, which especially means that GLCD fonts are displayed correctly
611
     independent from the specified number of connected devices.
612
 
613
   o this change has freed some RAM which can be used for other purposes in future
614
 
615
 
1657 tk 616
MIDIbox NG V1.012
617
~~~~~~~~~~~~~~~~~
618
 
619
   o The application boots a little bit faster now
620
 
1659 tk 621
   o support for more than 2 LCDs.
622
     A documentation can be found under http://www.ucapps.de/midibox_ng_manual_lcd.html
1657 tk 623
 
624
 
1652 tk 625
MIDIbox NG V1.011
626
~~~~~~~~~~~~~~~~~
627
 
628
   o EVENT_SENDER and EVENT_RECEIVER can now also be assigned to a radio_group.
629
     This can not only be used in conjunction with BUTTON/LED radio groups, but also
630
     to distribute MIDI events to from receiver to multiple senders without
631
     forwarding chains (which then can be used for a different purpose)
632
 
633
   o the "sdcard_format" command allows to format the connected SD Card with FAT32
634
     from the MIOS Terminal
635
 
636
 
1651 tk 637
MIDIbox NG V1.010
638
~~~~~~~~~~~~~~~~~
639
 
640
   o SysEx: added ^cursor, ^txt and ^txt56 identifiers.
641
     They allow to send messages to the LCD via SysEx.
642
     A usage example can be found under cfg/templates/logictrl.ngc
643
 
644
   o Labels: ^# allows to terminate a label.
645
     E.g. "^label^#MyText" prints "MyText" directly after the specified ^label
646
 
647
 
1646 tk 648
MIDIbox NG V1.009
649
~~~~~~~~~~~~~~~~~
650
 
651
   o with a button assigned to 'type=Meta meta=MidiLearn range=0:1' it's now possible
652
     to activate a MIDI Learn mode which allows to assign an incoming MIDI event to any
653
     control element
654
 
655
   o with 'type=Meta meta=MidiLearn range=0:2' also NRPN events can be learned (in this case,
656
     CC#62 and CC#63 will be ignored!)
657
 
1647 tk 658
   o MIDI Learn mode can also be activated in the SCS menu
1646 tk 659
 
1647 tk 660
 
1644 tk 661
MIDIbox NG V1.008
662
~~~~~~~~~~~~~~~~~
663
 
664
   o DIN_MATRIX with rows=4 now properly supported
665
 
666
   o DIN_MATRIX/DOUT_MATRIX: it's now possible to invert the rows as well:
667
     inverted=1 or inverted_sel=1 will invert the selection lines
668
     inverted_row=1 will invert the row pattern
669
 
670
   o configuration examples for the 16x4 Button/Duo-LED matrix are now
671
     available under cfg/tests/blm16x4*.ngc
672
 
673
 
1641 tk 674
MIDIbox NG V1.007
675
~~~~~~~~~~~~~~~~~
676
 
677
   o changed bank concept: the BANK command has been removed, instead the EVENT
678
     command got a new "hw_id" and "bank" parameter.
679
     A simple configuration example can be found under cfg/tests/encbanks.ngc
680
     More complex configuration examples under cfg/tests/bnk*.ngc
681
 
682
   o added meta=CycleBank (increments bank, resets to 1 if last bank reached)
683
 
684
   o additional new metas: SetBankOfHwId, DecBankOfHwId, IncBankOfHwId, CycleBankOfHwId
685
 
686
 
1640 tk 687
MIDIbox NG V1.006
688
~~~~~~~~~~~~~~~~~
689
 
690
   o corrected LED pattern output for the case that the selection lines are inverted.
691
 
692
   o the new SCS command allows to assign emulated button/encoder functions if the SCS
693
     shows the mainpage.
694
     A usage example can be found under cfg/templates/lre8x2.ngc
695
 
696
 
1629 tk 697
MIDIbox NG V1.005
698
~~~~~~~~~~~~~~~~~
699
 
700
   o support for value MAPs.
1640 tk 701
     Various examples can be found under cfg/tests/map*.ngc
1629 tk 702
 
1631 tk 703
   o support for EVENT_CV
1640 tk 704
     Various examples can be found under cfg/tests/cv*.ngc
1631 tk 705
 
1629 tk 706
   o AINSER modules now disabled after RESET_HW
707
     They have to be explicitely enabled with the AINSER command
708
 
709
   o the AINSER command now supports the "resolution" and "num_pins" parameters
710
 
711
 
1622 tk 712
MIDIbox NG V1.004
713
~~~~~~~~~~~~~~~~~
714
 
715
   o some minor code cleanup
716
 
717
 
1620 tk 718
MIDIbox NG V1.003
719
~~~~~~~~~~~~~~~~~
720
 
721
   o added "enc_speed_mode" parameter to EVENT_ENC
722
     Valid modes are Auto (speed automatically adapted according to the value range),
723
     Slow:0 .. Slow:7 (divides the increments),
724
     Normal (no special measure) and
725
     Fast:0 .. Fast:7 (accelerates the increments)
726
     A configuration example can be found under cfg/tests/encspeed.ngc
727
 
728
 
1614 tk 729
MIDIbox NG V1.002
730
~~~~~~~~~~~~~~~~~
731
 
732
   o the patterns specified with LED_MATRIX_PATTERN are now reversed so that the
733
     bit orientation matches with the hardware.
734
 
1615 tk 735
   o reversed value ranges (min value greater than max value) now properly supported
1614 tk 736
 
1616 tk 737
   o support for ain_mode Direct/Snap/Relative/Parallax
1615 tk 738
 
1616 tk 739
   o incoming MIDI values can now trigger the output of EVENT labels if the "fwd_to_lcd"
740
     option is set to 1 in the related EVENT_* definitions.
741
 
742
   o support for "Radio Groups": button and LEDs can now be assigned to groups, which
743
     handle the same value over multiple elements.
744
     A configuration example can be found under: cfg/tests/radiogrp.ngc
745
 
746
 
1607 tk 747
MIDIbox NG V1.001
748
~~~~~~~~~~~~~~~~~
749
 
750
   o maximum length of DIN/DOUT shift register chain increased to 32.
751
     This means that up to 256 digital inputs, and 256 digital outputs are available.
752
 
753
   o Number of virtual button and LED functions increased to 1024
754
 
1609 tk 755
   o New meta event for speeding up ENC movements (EncFast, see .NGC documentation)
756
 
757
   o New meta events for emulating SCS buttons/encoder (see .NGC documentation)
758
 
1607 tk 759
   o Ethernet and OSC setup now stored with ETH/OSC commands in .NGC file
760
 
1608 tk 761
   o SysEx variables are now stored with a SYSEX_VAR command in .NGC file
1607 tk 762
 
1610 tk 763
   o EVENT_BUTTON_MATRIX and EVENT_LED_MATRIX now properly supported
1614 tk 764
     See cfg/tests/blm8x8.ngc for a simple configuration example
1608 tk 765
 
1610 tk 766
 
1573 tk 767
MIDIbox NG V1.000
768
~~~~~~~~~~~~~~~~~
769
 
770
   o initial version
1963 tk 771
 
772
 
773
 
1966 tk 774
--------------------------------------------------------------------------------
775
 
776
Wishlist
777
~~~~~~~~
778
 
2137 tk 779
--------------------------------------------------------------------------------
2008 tk 780
automatic .NGC backup: http://midibox.org/forums/topic/18819-enable-midi-in4-and-midi-routing
2137 tk 781
--------------------------------------------------------------------------------
2109 tk 782
AOUT mapping: http://midibox.org/forums/topic/17498-midibox-ng-release-feedback/?p=167869
2137 tk 783
--------------------------------------------------------------------------------
2136 tk 784
Allow to directly select SCS pages with meta events: http://midibox.org/forums/topic/17498-midibox-ng-release-feedback/?p=168793
2137 tk 785
--------------------------------------------------------------------------------
2136 tk 786
Add "delete" option to SCS disk page
2089 tk 787
--------------------------------------------------------------------------------
2137 tk 788
KEYBOARD: allow individual delay settings for all keys
789
--------------------------------------------------------------------------------
2181 tk 790
Display timecode on LCD: http://midibox.org/forums/topic/17498-midibox-ng-release-feedback/?p=170513