DM48X FIRMWARE V1.20
--------------------

***************************************************************************************
* WARNING: ONLY FOR DM48X - INSTALLING ON A DM48 WILL RENDER YOUR INSTRUMENT UNUSABLE *
***************************************************************************************


Includes the following upgrades compared to v1.19:

* “Virtual buttons” allows the twelve holes to be used as MIDI control “keys”. Enable this feature
  by setting “Sliders CC#” to “VB” (found at the end of the value range) for the left arrow button.
  With the “2nd/3rd slider” page active, now hold the left arrow to temporarily activate Virtual
  buttons. The holes will send MIDI CC messages in the 102-113 range (always with a value of 127).
  Assign them to suitable parameters using the “learn” feature commonly available in music software.
* Minor interface tweaks

Includes the following upgrades compared to v1.16:

* New “Bend range” feature allows scaling of the pitch bend signal (useful for limiting bend response
  e.g. on some MPE synths with large bend range)
* Note-specific bend range (“Smart bending”) allows the pitch bend interval to be determined
  individually for each note, as on e.g. a Richter-tuned blues harmonica. Please see manual for
  detailed information. This feature is based on an idea by Brendan Power, UK.
* New default tunings (“Richbend” and “Solobend”, courtesy of Brendan Power) to take advantage of
  Smart bending
* The default Richter tuning is now placed on holes 2-11, with additional lower/higher notes on
  Holes 1 and 12

Includes the following upgrades compared to v1.14:

* Shortcut key combination (slider+round button) improved to allow quick access to Global preset,
  2nd/3rd slider and MIDI program pages
* An icon depicting a curved arrow now briefly indicates that the shortcut key combo has been pressed
* Minor adjustment to the SWAM preset
* Minor interface tweaks

Includes the following upgrades compared to v1.10:

* Screen turns off after long periods of inactivity (5 hours), to prevent screen burn-in e.g. when
  left for charging unattended
* Three new default tunings added: diminished, wholetone and bebop (note that these will become
  available only after resetting tunings to factory defaults)
* Modulation and bend (pitch) sensitivity can now be adjusted individually for the ribbon controller
* A “Swam” global preset was added, to facilitate playing with SWAM instruments from Audio Modeling
  (use this preset together with default settings in SWAM apps on iOS)
* Swam and Geoswam (for SWAM in GeoShred) presets now default to using the ribbon in “Bend/mod” mode,
  such that swiping left causes bending while right controls vibrato
* Minor interface tweaks


NOTE: No reset is needed if upgrading from v1.19 - HOLD DOWN THE SLIDER AT POWER-UP TO CHECK VERSION!
NOTE: IF UPGRADING FROM EARLIER VERSIONS (prior to v1.19), GLOBAL PRESETS NEED TO BE RESET TO FACTORY
      DEFAULTS after installing (see below).
NOTE: Tunings DO NOT need to be reset


INSTRUCTIONS FOR UPDATING - READ AND FOLLOW VERY CAREFULLY!

1. On your Mac, Windows, or Linux machine, install the "Teensy Loader" application, available here:

https://www.pjrc.com/teensy/loader.html

2. In Teensy Loader, open the firmware file provided in this zip archive, DM48X_firmware_v1.20.hex.
   Do this by clicking "File" and "Open HEX File" in the menu, and then navigating to the file. MAKE
   SURE TO OPEN THE CORRECT FILE.
   
3. Connect your DM48X while HOLDING DOWN THE SLIDER button (it should be off before this, i.e. not
   running on battery). The screen should show the current firmware version. KEEP HOLDING the button
   for 10 seconds. Your DM48X should now say "Ready for update", meaning it is ready to receive a
   firmware update via USB. Try again if you don't see this message.
   
4. Click the "Auto" button in Teensy Loader. KEEP YOUR INSTRUMENT CONNECTED - the updating process
   must not be interrupted. The new firmware should now upload to your DM48X, and the instrument
   will restart after that. It is now safe to disconnect. Double check that you have the new
   version by holding the slider while starting the DM48X (no need to hold longer this time). The
   version number will be shown on the screen. NOW CLOSE TEENSY LOADER TO PREVENT ACCIDENTAL UPDATES.

5. IF UPGRADING FROM A VERSION PRIOR TO v1.19, NOW PERFORM A COMPLETE FACTORY DEFAULTS RESET for
   global parameter presets: Turn on your DM48X while HOLDING DOWN ALL THREE MENU BUTTONS. You should
   see "Factory settings restored" on the screen. Now IMMEDIATELY RELEASE the buttons. Repeat if you
   failed to see a confirmation message.
   
6. IF YOU WISH TO RESET TUNINGS as well, KEEP HOLDING the buttons longer (about 6 seconds) until a 
   confirmation message is shown.


LICENSE INFO

This software is designated for use by a single owner of a DM48X. It is licensed for use only in a
DM48X instrument manufactured by Lekholm Instruments AB, Sweden.

