mTroll Home

mTroll MIDI controller process milestones

2007.05.19
Exhibits at Maker Faire provide inspiration and get the gears turning
2007.05.26
Completed first pass at engine control logic
2007.05.30
Completed initial UI and got it all to compile
2007.06.16
Initial pass at midi out device, UI and file loader implementation
2007.07.06
Read about and ordered the monome logic kit after having looked at other USB bridge boards (like Phidgets, EleXol and CREATE USB Interface)
2007.07.08
Initial pass at FTDI and monome software support
2007.07.12
Met Josh Fiden at Voodoo Lab in Santa Rosa and scored a Ground Control Pro chassis - this was huge! Not being too handy with metal, without this the alternatives would have been: Many thanks to Josh and Harmony at Voodoo Lab!
2007.08.05
Finally got around to assembling the logic board
Fixed some bugs in the monome software framework, app now works with the board
My neighbor, Brian Barron, drilled extra holes in the Ground Control Pro case
2007.08.11
Wired up the LEDs
2007.08.19
Wired up the switches
Initial pass at expression pedal support
2007.09.01
Worked out expression pedal calibration and load of pedal settings from file
2007.09.08
Started on this page
2007.09.16
Added first meta-patch: Reset patches in active bank
2007.10.21
Automatically loads last opened files at startup
Fixed flicker in the GUI
Made LED intensity user definable
Cleaned up GUI (removed unused default elements)
Added Raw ADC Value engine mode
2007.11.03
After biting the bullet and ordering a firmware programmer, it arrived this week; tweaked the adc filtering/smoothing. Happy now.
2007.11.17
Added support for instant access switches
2007.12.23
Added support for exclusive switch groups (for radio button functionality)
Added support for a new meta-patch: Load Bank
Added support for inverse LED display (specified in the hardware node of the .ui.xml file)
2008.02.11
Automatically disable screensaver and system sleep/shutdown timers while application is running if monome is found at startup (previous settings restored at exit)
2008.05.08
Added support for new meta-patches: Backward, Forward and Recall
2008.06.07
Started port from Windows-only WTL to cross-platform Qt 4.4
2008.06.29
Finished port to Qt 4.4 including Qt-based monome client implementation. Now, a Mac or Linux developer will only need to write their own MIDI out implementation (and create their own makefile).
2008.07.05
User-defined banks can make patch mappings to the switches reserved for Next Bank and Previous Bank. The switches are still reserved in the alternate operating modes. You can now override and use the Next and Previous switches in none/some/all banks. If no mapping is specified, the switches default to Next and Previous functionality (to switch from standard Bank mode to Bank Navigation mode).
2008.08.23
Qt build released.
Released source code.
2008.11.02
A handful of changes resulting from experience on the Asus eee PC Model 900.
Added 1024x600 ui profile for 8.9" display.
Added auto-scrollbars to main display.
Previous builds apparently didn't work if Visual Studio 2008 wasn't installed due to the damn SxS manifest crap. It's addressed now but requires an update of the Qt libraries.
2008.11.09
Added "Toggle trace window visibility" command (Ctrl+T) that hides/shows the trace window and resizes the main display window appropriately.
2008.12.06
Added support for double byte expression pedal control changes (though the monome hardware only supports 1024 steps - at least it's an improvement over the 128 steps possible using a single byte control change) (use doubleByte attribute).
Fixed crash that occured when opening a config file with a bank that maps to a non-existent patch.
Created XSL file for nicer display of config files in web browsers (compare without XSL to with XSL).
2009.03.14
Added menu items to disable ADC ports/expression pedals independently of the config files. These items either let the file-defined state pass untouched, or override them to force the ADCs off. Useful if, for example, you load a config file that has defined ADC behavior but you don't actually have any pedals hooked up. The overrides are retained across file loads and sessions.
2009.05.17
Fixed handling of interrupted USB reads which would cause occassional unknown command trace statements.
2010.01.03
Many changes to XML data files:
- Added support for multiple commands per patch group (instead of a single, long hex string per patch).
- Added support for simpler non-binary commands for ProgramChange, ControlChange, NoteOn, NoteOff (which can be used instead of midiByteStrings).
- Added support for new patch command: RefirePedal.
- Added config data file validation messages.
- Fixed crash loading malformed data files.
Improved expression pedal jitter control.
2010.08.29
Added support for expression pedal virtual toggle footswitches at toe and/or heel positions.
Added interactive engine commands that are accessible from the hardware via engine mode select:
- toggle display of trace window (previously only available in the GUI)
- set ADC overrides (previously only available in the GUI)
- invert LEDs (previously only available via the config data file)
- test LEDs (previously only occurred during hardware handshake)
Fixed failure to load some elements that followed comments in XML files
Minor update to expression pedal jitter control.
2010.09.15
Added support for expression pedal response curves.
2010.12.28
Created project and uploaded source to SourceForge.
Added support for Axe-Fx processors (via special device name, new patch types, patch commands and metapatch).
Allow expression pedals to be active while in some engine modes other than the default bank mode.
DeviceChannelMap supports device to MIDI port binding.
Status updates to main display by expression pedals are prepended to existing text rather than overwriting it.
Expression pedals are bound only to the first patch if there are multiple patches assigned to the same switch.
Patches can optionally define a default channel for all commands (that can be overridden on individual commands).
Added a Sleep patch command.
PatchMap accepts empty patch number in order to defeat a default mapping without actually overriding it.
Mappings in PatchMaps have new optional override and sync attributes.
Added time display engine mode.
Added interactive program change engine mode.
Switch mappings during Mode Select are customizable.
Added support for direct access to any mTroll bank during mode select (reducing need for the LoadBank metapatch).
Made the recall, backward and forward metapatches available during mode select.
Reorganized default switches used in mode select.
Created new LoadNextBank and LoadPreviousBank metapatches that load the next/previous bank (without confirmation, in contrast to the Next and Prev commands of Bank Navigation mode).
Added support for spaces in button labels.
Made UI background and element frame colors customizable.
Updated default colors.
Fixed problem opening MIDI device during reload.
2011.02.13
Added support for Axe-Fx Feedback Return block bypass synchronization (via external ctrl modifier).
Fixed off by one channel error when defining local expression pedal using implicit device default channel (as opposed to explicit channel).
Fixed occassional expression pedal status text corruption.
2011.03.26
Added interactive control change engine mode.
2011.10.15
Fixed inadvertent change of LED state of first LED.
Fixed handling of loadState/unloadState/override/sync attributes (loadState was also inadvertently being set for unloadState).
Improved timing of sync after AxeFxProgramChange.
2012.07.21
Added Axe-Fx II support.
Created patchListSequence patch type that steps through a list of patches.
Added secondary function switch support accessed via long-press of switches (defined in a PatchMap of a Bank).
Mode switch invokes Backward metapatch on long-press.
Updated LED illumination of mode, next and back switches.
2012.08.20
Fix for bug where switch release was routed to a different bank than switch press if the press caused the load of a different bank (bank loads now occur on switch release instead of press).
Display and switch LEDs update when changing presets via Axe-Fx II front panel if using recent versions of firmware that send notification of preset loads.
2013.01.15
Added support for Axe-Fx II scenes (introduced in firmware version 9).
Normal-type patches are deactivated, when stepping through a PatchListSequencePatch.
Fix for crash when loading/reloading configuration in some circumstances.
Fix for incorrect initial size of window after refresh/reload when maximized.
last update: 2013.01.17