$Id: CHANGELOG.txt 1692 2013-02-10 16:45:30Z tk $

MIDIbox NG V1.018
~~~~~~~~~~~~~~~~~

   o added EVENT_KB. See cfg/tests/kb_*.ngc for usage examples

   o new LCD formats: %N prints the note name based on the specified MIDI event,
     and %n based on the event value

   o new meta event: SwapValues - it swaps the primary and secondary value of an event.
     E.g. on a note event, velocity can be swapped with the key value.
     A usage example can be found in cfg/tests/kb_4.ngc, where the key and velocity
     value should be output by separate CV channels

   o AIN/AINSER configuration: added pinrange parameter.
     It allows to specify individual ranges for the connected pots to calibrate
     the physical min/max limits.

   o SCS configuration: added SCS num_items and lcd_pos parameters


MIDIbox NG V1.017
~~~~~~~~~~~~~~~~~

   o it's now possible to use the same hw_id in multiple event definitions.
     This allows for example to send multiple MIDI events from a single
     control element (e.g. from a single button)

   o the fwd_id now forwards to the event(s) with the given hw_id
     (which is the same like the "normal id" if not explicitely specified)

   o implemented "conditional events".
     See the user manual (.NGC chapter) for details and examples.

   o the new meta event UpdateLcd allows to force a refresh of the complete
     LCD content. This is especially useful in conjunction with conditional
     events: whenever a source value has been changed (e.g. a button state),
     all events which have this value in their condition will print out the
     label if the specified condition matches.


MIDIbox NG V1.016
~~~~~~~~~~~~~~~~~

   o LPC17: robustness of LCD driver has been improved


MIDIbox NG V1.015
~~~~~~~~~~~~~~~~~

   o support for GLCD_SSD1306_ROTATED

   o the ^txt and ^txt56 SysEx command now allows to map incoming characters to
     different cursor positions. An example can be found in cfg/templates/logictrl.ngc

   o independent from this map feature, ^txt and ^txt56 now also take lcd_pos=... and
     label=... into account to set the initial LCD and cursor position, at which the
     message will start. The label can be used to change the GLCD font before the
     characters will be print.
     An example can be found in cfg/templates/logictrl.ngc as well.


MIDIbox NG V1.014
~~~~~~~~~~~~~~~~~

   o the keyboard handler of MIDIbox KB has been integrated.
     The configuration commands are identical "set kb..." as documented at
     the MIDIbox KB page: http://www.ucapps.de/midibox_kb.html

   o keyboard parameters are also stored in the .NGC file, and can be
     configured from there.

   o please note that the latency is 10 times higher than in the MIDIbox KB
     application! Each row is scanned in 320 uS (instead of 32 uS).
     This has to be considered in the velocity delay configuration.
     delay_slowest should be 100 (instead of 1000), and delay_fastest should
     be 5 (instead of 50)

   o DOGM and SSD1306 GLCDs: support for more than 12 displays via DOUT shift
     registers connected to J28


MIDIbox NG V1.013
~~~~~~~~~~~~~~~~~

   o overworked LCD handling: there is no buffer limitation anymore, any LCD and GLCD size
     is accepted, which especially means that GLCD fonts are displayed correctly
     independent from the specified number of connected devices.

   o this change has freed some RAM which can be used for other purposes in future


MIDIbox NG V1.012
~~~~~~~~~~~~~~~~~

   o The application boots a little bit faster now

   o support for more than 2 LCDs.
     A documentation can be found under http://www.ucapps.de/midibox_ng_manual_lcd.html


MIDIbox NG V1.011
~~~~~~~~~~~~~~~~~

   o EVENT_SENDER and EVENT_RECEIVER can now also be assigned to a radio_group.
     This can not only be used in conjunction with BUTTON/LED radio groups, but also
     to distribute MIDI events to from receiver to multiple senders without
     forwarding chains (which then can be used for a different purpose)

   o the "sdcard_format" command allows to format the connected SD Card with FAT32
     from the MIOS Terminal


MIDIbox NG V1.010
~~~~~~~~~~~~~~~~~

   o SysEx: added ^cursor, ^txt and ^txt56 identifiers.
     They allow to send messages to the LCD via SysEx.
     A usage example can be found under cfg/templates/logictrl.ngc

   o Labels: ^# allows to terminate a label.
     E.g. "^label^#MyText" prints "MyText" directly after the specified ^label


MIDIbox NG V1.009
~~~~~~~~~~~~~~~~~

   o with a button assigned to 'type=Meta meta=MidiLearn range=0:1' it's now possible
     to activate a MIDI Learn mode which allows to assign an incoming MIDI event to any
     control element

   o with 'type=Meta meta=MidiLearn range=0:2' also NRPN events can be learned (in this case,
     CC#62 and CC#63 will be ignored!)

   o MIDI Learn mode can also be activated in the SCS menu


MIDIbox NG V1.008
~~~~~~~~~~~~~~~~~

   o DIN_MATRIX with rows=4 now properly supported

   o DIN_MATRIX/DOUT_MATRIX: it's now possible to invert the rows as well:
     inverted=1 or inverted_sel=1 will invert the selection lines
     inverted_row=1 will invert the row pattern

   o configuration examples for the 16x4 Button/Duo-LED matrix are now
     available under cfg/tests/blm16x4*.ngc


MIDIbox NG V1.007
~~~~~~~~~~~~~~~~~

   o changed bank concept: the BANK command has been removed, instead the EVENT
     command got a new "hw_id" and "bank" parameter.
     A simple configuration example can be found under cfg/tests/encbanks.ngc
     More complex configuration examples under cfg/tests/bnk*.ngc

   o added meta=CycleBank (increments bank, resets to 1 if last bank reached)

   o additional new metas: SetBankOfHwId, DecBankOfHwId, IncBankOfHwId, CycleBankOfHwId


MIDIbox NG V1.006
~~~~~~~~~~~~~~~~~

   o corrected LED pattern output for the case that the selection lines are inverted.

   o the new SCS command allows to assign emulated button/encoder functions if the SCS
     shows the mainpage.
     A usage example can be found under cfg/templates/lre8x2.ngc


MIDIbox NG V1.005
~~~~~~~~~~~~~~~~~

   o support for value MAPs.
     Various examples can be found under cfg/tests/map*.ngc

   o support for EVENT_CV
     Various examples can be found under cfg/tests/cv*.ngc

   o AINSER modules now disabled after RESET_HW
     They have to be explicitely enabled with the AINSER command

   o the AINSER command now supports the "resolution" and "num_pins" parameters


MIDIbox NG V1.004
~~~~~~~~~~~~~~~~~

   o some minor code cleanup


MIDIbox NG V1.003
~~~~~~~~~~~~~~~~~

   o added "enc_speed_mode" parameter to EVENT_ENC
     Valid modes are Auto (speed automatically adapted according to the value range),
     Slow:0 .. Slow:7 (divides the increments),
     Normal (no special measure) and
     Fast:0 .. Fast:7 (accelerates the increments)
     A configuration example can be found under cfg/tests/encspeed.ngc


MIDIbox NG V1.002
~~~~~~~~~~~~~~~~~

   o the patterns specified with LED_MATRIX_PATTERN are now reversed so that the
     bit orientation matches with the hardware.

   o reversed value ranges (min value greater than max value) now properly supported

   o support for ain_mode Direct/Snap/Relative/Parallax

   o incoming MIDI values can now trigger the output of EVENT labels if the "fwd_to_lcd"
     option is set to 1 in the related EVENT_* definitions.

   o support for "Radio Groups": button and LEDs can now be assigned to groups, which
     handle the same value over multiple elements.
     A configuration example can be found under: cfg/tests/radiogrp.ngc


MIDIbox NG V1.001
~~~~~~~~~~~~~~~~~

   o maximum length of DIN/DOUT shift register chain increased to 32.
     This means that up to 256 digital inputs, and 256 digital outputs are available.

   o Number of virtual button and LED functions increased to 1024

   o New meta event for speeding up ENC movements (EncFast, see .NGC documentation)

   o New meta events for emulating SCS buttons/encoder (see .NGC documentation)

   o Ethernet and OSC setup now stored with ETH/OSC commands in .NGC file

   o SysEx variables are now stored with a SYSEX_VAR command in .NGC file

   o EVENT_BUTTON_MATRIX and EVENT_LED_MATRIX now properly supported
     See cfg/tests/blm8x8.ngc for a simple configuration example


MIDIbox NG V1.000
~~~~~~~~~~~~~~~~~

   o initial version
