Releases: rogerlinndesign/linnstrument-firmware
2.2.0-beta2
New Features
- Open tunings
The tuning for each row can now be independently set. In Global Settings > Row Offset, hold GUITAR to view the Row Tuning screen. Select one of the 8 rows at left, then edit that’s row’s note number by swiping left or right. - Common MPE messages sent over all channels
In Channel Per Note mode, LinnStrument normally sends messages that are common to all touches (like Sustain Pedal or Program Change) over the Main channel. However, many synths implement MPE (Channel Per Note) without such a separate Main channel. For such synths, it is now possible to send these common messages redundantly over all Per Note channels.
To do this, in Per-Split Settings set MIDI Mode to Channel Per Note. Then while View (column 2) is set to Main Channel, press the selected channel button in columns 3-6 to deselect it. Now all common messages will be send redundantly over all Per Note channels. - New Foot/Panel Switch options:
- “CLK”: Start/Stop sending MIDI Clock
- “MUTE”: In the Step Sequencer, toggle the Mute status of the selected split’s sequence.
To select either of these, in Global Settings > Assign Switch, hold TAP TEMPO then swipe to select the desired option.
- Permit reading of any panel setting from MIDI NRPN messages
It is now possible to remotely read the status of any of LinnStrument’s settings from MIDI. To do so, send the number of the parameter that you want to read to NRPN 299, then the value will be sent back through the parameter's NRPN number. This is useful, for example, in creating a computer application for non-sighted users. - MPE remote activation (MIDI RPN 6) is now supported
This is the new official method of remotely setting a synth to MPE mode, or letting a synth remotely set LinnStrument to MPE mode. Now, when MPE mode is selected in LinnStrument by holding the Channel Per Note button, an RPN 6 message is sent. And if an RPN 6 message is received, LinnStrument enables Channel Per Note (MPE) mode. - Virtual third foot switch
A virtual third foot switch has been added, actuated by pressing both left and right foot switches together. To assign it, in Global Settings > Select Switch column, press both FOOT L and FOOT R together, then select an assignment in the Assign Switch columns. If an assignment is made, then the actions of the Left or Right Foot Switches will occur when releasing the foot switch instead when pressing it. To remove the assignment for the virtual third foot switch, press its selection to deselect it
Improvements
- The number of All Settings presets (on the right of the Presets screen) has been increased from 4 to 6. The contents of the previous four presets are in the same locations as before, with the two new presets added below them.
- If Per-Split Settings > Pitch/x column > On is turned off, a Pitch Bend message with a value of zero is no longer sent before Note On.
- When using the Step Sequencer, if syncing to a sync source that didn’t send Song Position Pointer messages, LinnStrument’s sequencer would not start immediately in response to received Start messages. This is now fixed.
- In the Step Sequencer, the colors used in the 4 note data sliders are reversed so that the Accent color now reflects the slider’s value, and the Main color indicates the unused portion of the slider.
- In the Step Sequencer, when a note is selected (blinking), the blink rate is now synced to the playing tempo.
- In the Step Sequencer screen, the Mute setting can now be remotely set via MIDI NRPN messages, as described in the the file midi.text in the source code.
- In the Step Sequencer, a variety of minor improvements have been made to the user interface.
Bug fixes
- In earlier software versions, a bug existed that could result in the upper one or two note pads in columns 4 and/or 5 to be disabled. We thought we had fixed this in version 2.1.0 but didn’t. It is now fixed.
- In the Preset screen, pressing RIGHT SPLIT was sometimes ignored. This is fixed.
- In the Step Sequencer, touching any of the 4 Note Data sliders to view its status could alter the value. This is fixed.
2.1.0
-
New Feature: You can now turn on light animations that surround and emanate from the played note pads, responding to velocity and pressure. In Per-Split Settings > Color column, hold PLAYED. Swipe L/R to select one of the following options:
- Cell (only lights pressed cell)
- Same (lights notes of same pitch on other rows, as in previous software versions)
- Crosses
- Circles
- Squares
- Diamonds
- Stars
- Sparkles (Roger's favorite, because its shorter duration is less distracting from the note lights. Try it in white.)
- Curtains
- Blinds
- Targets
- Up
- Down
- Left
- Right
- Orbits
-
New Feature: additional Panel/Foot Switch options have been added. In Global Settings > Assign Switch, hold Tap Tempo then swiping L/R to select one of the following options, independent for the 4 switches:
- TAP: Tap Tempo.
- LEG: Legato. While switch is on, notes or chords are sustained after release until the next note or chord is played.
- LAT: Arpeggiator latch. While switch is on, each pressed & released note will be added to the arpeggiated chord.
- PR+: Preset +. The Preset number shown in Preset screen is incremented.
- PR-: Preset -. The Preset number shown in Preset screen is decremented.
- PCH: Pitch slide on/off. Reverses the selected state of Per-Split Settings > Pitch/X column > On. This is useful, for example, to quickly switch between smooth pitch slides and semitone slides as on a guitar.
Plus the following 3 only for the Foot switches:
- PLAY: Start or Stop the internal step sequencer. This can also be controlled by MIDI NRPN messages.
- PREV: Previous Sequence, of the 4 sequences in the Step Sequencer. This can also be controlled by MIDI NRPN messages.
- NEXT: Next Sequence, of the 4 sequences in the Step Sequencer. This can also be controlled by MIDI NRPN messages.
-
New Feature: added support for negative row offsets and inverted guitar tuning.
In Global Settings > Row Offset columns, you could previously hold OCTAVE then swipe L/R to select any row offset from 0 to 16. Now the options include -16 to -1 and -GUI (inverted GUItar tuning). -
New Feature: Mirrored split pitch direction. Previously, turning on Left-Handed Mode (Global Settings > Column 1, 4th note pad from bottom) would reverse the pitch direction (R to L instead of L to R). Now you can reverse the pitch direction for one split only, permitting mirrored split tunings.
In Global Settings > column 1 > hold the 4th note pad from the bottom and Swipe L/R to select one of 3 options:- REV: reverse pitch direction of both splits (same as previous versions).
- REVL: reverse pitch direction of left split only.
- REVR: reverse pitch direction of right split only.
Note that you must turn on the note pad (col 1, row 4) for the selected pitch reversal to be on.
-
New Feature: The Step Sequencer now responds to MIDI Song Position Pointer messages, thereby maintaining correct sync position if the external DAW is started from a position in the song other than the start.
-
New Feature: in Assign Switches, permit SUSTAIN and CC65 to be reassigned to any CC, and independently for the 4 switches.
In Global Settings > Assign Switch columns, hold SUSTAIN or CC65. Swipe L/R to select option. -
New Feature: For Low Row's CC1 and XYZ=16-18 options, as well as for the CC Fader options, you can now select Channel Pressure in addition to the CCs 0-127.
In Per-Split Settings > Low Row columns, hold either CC1 or XYZ=16-18, then swipe all the way to the right.
In Per-Split Settings > Special column, hold either CC FADERS, then swipe all the way to the right. -
New Feature: added support for a configurable start value for the CC value sent when Per-Split Settings > Timbre/Y column > Relative is turned on. Previously it was always 64. Now it can be any value from 0 to 127. For example, if using Y-axis to add a modulation amount, this now permits the value at first press to be zero, then increased by tilting your finger forward.
In Per-Split Settings > Timbre/Y column, hold Relative. Swipe L/R to adjust value. -
New Feature: Channel Per Row mode's channel order can now be reversed, permitting for example the highest row to send on channel one and lowest on channel 8. This is useful when using some guitar synthesizers that prefer the high E string to use channel 1 and the low E string to use channel 6.
In Per-Split Settings > MIDI Mode column, hold ChPerRow. It will light in the accent color to indicate reversed channel order. -
New Feature: Previously, if the Arpeggiator was on and LinnStrument was synced to an external source, the Global Settings button would blink 1/4 notes. Now it also blinks if Arpeggiator is on and using internal tempo. This helps by showing you the Arpeggiator tempo before you start playing.
-
Improvement: Previously if using One Channel mode and you played two note pads of the same pitch, releasing one of them would terminate both notes, because MIDI only permits one note of the same pitch per channel. Now the heard note is terminated only after releasing both note pads.
-
Improvement: When synced to external MIDI clock, LinnStrument no longer also sends MIDI click. This prevents MIDI clock loops with external DAWs.
-
Improvement: Incoming MIDI handling and response to external MIDI clock are now more reliable.
-
Improvement: The 4 All-Settings Presets (on the right side of the Preset screen) now store and recall the status of the Split button, as well as which split is current selected.
-
Improvement: When changing the MIDI Mode (in Per-Split settings), zero values are sent for the X, Y and Z messages, thereby preventing the external synth from adding the last-sent One Channel and Channel Per Note values.
-
Improvement: the fourth/highest "All Settings" preset (on the right side of the Preset screen) is now configured by default for playing auto drumbeats on the left split and auto bass lines on the right split, as shown in the LinnStrument Introduction video at 4:36.
-
Improvement: the entered tempo value is now saved after disconnecting and reconnecting power.
-
Bug Fix: A rare bug existed in version 2.0.0 and later that causes the upper 2 note pads in columns 4 and 5 to stop working. This was due to a bug that caused the calibration values for these pads to be corrupted. We believe we fixed the cause of the bug but in case it happens in future and you notice that these 4 notes pads aren't working, simply remove and reconnect power to make them work again.
-
Bug fix: the sequencer's Event Edit sliders (lower right of sequencer screen) would sometimes not return from the numeric display when a touch was released. Now fixed.
-
Bug Fix: Previously, there were small inconsistencies in quantized pitch bend ranges. This is now corrected.
-
Bug Fix: Previously, if Split was on, and a panel switch was assigned to Arpeggiator, is was sometimes impossible to turn the Arpeggiator on/off using the panel switch. This is fixed.
2.1.0-rc1
- Added sequencer play and sequencer pattern previous/next to the custom foot pedal options.
- Added MIDI NRPN control for sequencer play, pattern previous/next and pattern select.
- The internal tempo is now preserved across LinnStrument restarts.
- Improvements to the calibration procedure.
2.1.0-beta4
- New Feature: added CELL touch animation that only lights up the cell that a finger is touching. This is now the default for all new firmware installations, upgrades will still preserve the previous touch animation even it is was set to SAME or the pre-2.1.0 default.
- Improvement: touch animations are slight sped up.
- Improvement: the fourth pre-programmed preset now has split activated and the arpeggiator configured for the right split.
- Improvement: added self-healing capability to the calibration data.
- Bug fix: the sequencer edit screen could get stuck when touching the event parameter faders, this is now fixed.
2.1.0-beta3
- New Feature: Touch animations now respond to pressure and loop for as long as a touch is down.
- Improvement: Expanding touch animations are limited to two to avoid the whole surface filling up.
- Improvement: Touch animations are prevented from lighting the control switches.
- Bug Fix: Split selection wasn't properly displayed on the touch animation configuration screen, fixed.
2.1.0-beta2
- New Feature: You can now turn on light animations that surround and emanate from the played note pads.
The animations are SAME (notes of same pitch are lit on other rows, as existed in previous versions), Crosses, Circles, Squares, Diamonds, Stars, Sparkles, Curtains, Blinds, Targets, Up, Down, Left, Right, Orbits.
In Per-Split Settings > Color column, hold PLAYED. Swipe L/R to select option.
Note from Roger: My favorite is "Sparkles" and in white, because the shorter duration of each light in the animation doesn't obscure the note lights as much as the other animations, and white is less distracting from the note lights than a bold color like red. - New Feature: in Assign Switches, permit SUSTAIN and CC65 to be reassigned to any CC, and independently for the 4 switches.
In Global Settings > Assign Switch columns, hold SUSTAIN or CC65. Swipe L/R to select option. - New Feature: additional Panel/Foot Switch options have been added, selected by holding Tap Tempo then swiping L/R:
- Legato: While switch is on, notes or chords are sustained after release until the next note or chord is played.
- Arpeggiator latch: While switch is on, each pressed & released note will be added to the arpeggiated chord.
- Preset -: The Preset number shown in Preset screen is decremented.
- Preset +: The Preset number shown in Preset screen is incremented.
- Pitch slide on/off: Reverses the selected state of Per-Split Settings > Pitch/X column > On. This is useful, for example, to quickly switch between smooth pitch slides and semitone slides as on a guitar.
These assignments are independent for the 4 switches.
To select any of these, in Global Settings > Assign Switch columns, hold TAP TEMPO. Swipe L/R to select option.
- New Feature: For Low Row's CC1 and XYZ=16-18 options, as well as for the CC Fader options, you can now select Channel Pressure in addition to the CCs 0-127.
In Per-Split Settings > Low Row columns, hold either CC1 or XYZ=16-18, then swipe all the way to the right.
In Per-Split Settings > Special column, hold either CC FADERS, then swipe all the way to the right. - New Feature: added support for negative row offsets and inverted guitar tuning.
In Global Settings > Row Offset columns, you could previously hold OCTAVE then swipe L/R to select any row offset from 0 to 16. Now the options include -16 to -1 and -GUI (inverted GUItar tuning). - New Feature: added support for a configurable start value for the CC value sent when Per-Split Settings > Timbre/Y column, Relative is turned on. Previously it was always 64. Now it can be any value from 0 to 127. For example, if using Y-axis to add a modulation amount, this now permits the value at first press to be zero, then increased by tilting your finger forward.
In Per-Split Settings > Timbre/Y column, hold Relative. Swipe L/R to adjust value. - New Feature: Previously, turning on Left-Handed Mode (Global Settings > Column 1, 4th note pad from bottom) would reverse the pitch direction (R to L instead of L to R). Now you can reverse the pitch direction for one split only, permitting mirrored split tunings.
In Global Settings > column 1 > hold the 4th note pad from the bottom and Swipe L/R to select one of 3 options:- REV: reverse pitch direction of both splits (same as previous versions).
- REVL: reverse pitch direction of left split only.
- REVR: reverse pitch direction of right split only.
Note that you must press the note pad to turn it on for the pitch reversal to be on.
- New Feature: Channel Per Row mode's channel order can now be reversed, permitting for example the highest row to send on channel one and lowest on channel 8. This is useful when using some guitar synthesizers that prefer the high E string to use channel 1 and the low E string to use channel 6.
In Per-Split Settings > MIDI Mode column, hold ChPerRow. It will light in the accent color to indicate reversed channel order. - New Feature: The Step Sequencer now responds to MIDI Song Position Pointer messages, thereby maintaining correct sync position if DAW is started from a position in the song other than the start.
- New Feature: Previously, if the Arpeggiator was on and LinnStrument was synced to an external source, the Global Settings button would blink 1/4 notes. Now it also blinks if Arpeggiator is on and using internal tempo. This helps by showing you the Arpeggiator tempo before you start playing.
- Improvement: Previously if using One Channel mode and you played two note pads of the same pitch, releasing one of them would terminate both notes, because MIDI only permits one note of the same pitch per channel. Now the heard note is terminated only after releasing both note pads.
- Improvement: When synced to external MIDI clock, LinnStrument no longer also sends MIDI click. This prevents MIDI clock loops with external DAWs.
- Improvement: Incoming MIDI handling and response to external MIDI clock are now more reliable.
- Improvement: The 4 All-Settings Presets (on the right side of the Preset screen) now store and recall the status of the Split button, as well as which split is current selected.
- Improvement: When changing the MIDI Mode (in Per-Split settings), zero values are sent for the X, Y and Z messages, thereby preventing the external synth from adding the last-sent One Channel and Channel Per Note values.
- Improvement: A rare bug exist in version 2.0.0 and later that causes the upper 2 note pads in columns 4 and 5 to stop working, due to some function erroneously overwriting the calibration values for these note pads. If it occurs, it is fixed by resetting Calibration values to defaults (hold Global Settings + Switch 2 while connecting power.) We think we may have fixed this but aren't sure because we can't yet reproduce the bug in earlier versions. As a protection, the software now checks all calibration values on power-up and if any are out of legal range, resets the Calibration to default values, indicated by the Global Settings > Calibration note pad appearing in red.
If anyone has experiencing this problem with the upper 2 note pads in columns 4 and 5 not working, it would be very helpful if you could tell us what functions you were using shortly before the problem appeared, and even better if you found a list of steps that would reliably cause the problem to occur. Thanks. - Bug Fix: Previously, there were small inconsistencies in quantized pitch bend ranges. This is now corrected.
- Bug Fix: Previously, if Split was on, and a panel switch was assigned to Arpeggiator, is was sometimes impossible to turn the Arpeggiator on/off using the panel switch. This is fixed.
2.0.3-beta1
- Fixed small inconsistencies in quantized pitch bend ranges.
- The split being active is now stored with each preset, this was missing before.
2.0.2
- New setting "Pressure Sensitivity Prescale" permits adjusting the touch sensitivity over a wide range to better fit your personal playing style, so that the 3 fixed settings (low, medium, high) will be more useful to you. In Global Settings, first select Pressure Sens > Medium, then hold Calibration while pressing Pressure Sens > Medium again. You will see the number "100" in large digits, which can be changed by swiping left or right. 100 = highest sensitivity (default), lower settings require more pressure or strike force to produce output pressure or velocity values of 127. Minimum value is 50.
- Strum mode (Per-Split Settings > Special column > Strum) improved to be more guitar-like:
- Only highest note on row (string) is recognized
- Hammer-ons and pull-offs can now be performed
- Fingered notes do not sound until strummed.
- Strumming area is much more sensitive to touch
- New Sleep animation: Snow Falling on Christmas trees. In Global Settings, hold Sleep (column 15, row 3) and swipe right to show “XMS”. Then swipe down to set delay before sleep animation starts.
- Split on/off status is now remembered after power off/on. After changing Split status, press Per-Split Settings or Global Settings once to save it.
- Default USB MIDI data rate (hold Global Settings > USB) is slightly slower (235) to avoid overloading slower computers or synths.
- Bug fix: Sometimes when syncing the Sequencer or Arpeggiator to external MIDI clock, the internal tempo would jump to very fast setting. Fixed.
2.0.1
- Bug fix: Starting at the bottom or the top of a cell would not always start from 0 or 127 for timbre, depending on the pressure. This is fixed.
- Bug fix: Quantize hold would sometimes not correct until the final pitch when the pressure was too soft. This is fixed.
- Bug fix: The lights of the control switches would sometimes be lit incorrectly when a sequencer is active. This is fixed.
- Bug fix: The new colors white, orange, lime and pink could not be set using over MIDI messages CC20-22. This is fixed.
2.0.0
- Feature: Added expressive polyphonic step sequencer for each split. See manual page:
http://www.rogerlinndesign.com/ls-sequencer.html - Improvement: Significantly better velocity response, range and consistency, tuned for piano play with PianoTeq.
- Feature: Release velocity now supported in Note Off messages. LinnStrument is now “5D” in ROLI-speak. :)
- Feature: Four new LED colors: white, orange, lime and pink. Note that for these four new colors, if you move your eyes quickly across the playing surface, you will briefly see the individual RGB colors that comprise the combined color.
- Feature: Support for 14-bit Loudness CC values. In Per-Split Settings > Loudness/Z column:
Hold “On” for large character display. Swipe down three times then swipe right to select “14 Bit”.
Hold “CC11” for large charger display. Select any CC from 0 to 31. LSB data will be sent on the CC number that is 32 higher than the selected CC. For example, select CC11 to send MSB on CC11 and LSB on CC43. - Feature: Added support for using the DIN MIDI OUT jack as a MIDI THRU jack. In Global Settngs > MIDI/POWER column ("MIDI I/O" on older units), hold “MIDI JACKS”. Swipe right to select “THRU”. Now the DIN MIDI OUT jack will both send MIDI OUT data and also echo received MIDI IN data.
- Feature: Tap tempo has been added as a new option in the Assign Switch options, located above Octave Up.
- Improvement: Before when a note was played with Quantize on, the tuning would slide to the quantized pitch on initial touch. It now immediately jumps to the quantized pitch.
- Improvement: Removed occasional flicker when switching between LED displays.
- Improvement: The timing of send USB MIDI messages has been optimized so that slower hardware synthesizers are less likely to misinterpret some of LinnStrument’s sent MIDI messages.
- Improvement: Last loaded presets are now remembered across reboot.
- Bug fix: If a MIDI "Pitch Bend Sensitivity” RPN message was received, LinnStrument responded by setting the Bend Range incorrectly. Fixed.
- Bug fix: Updater application would sometimes not work correctly on Windows and MacOS Sierra. Fixed.
- Bug fix: The data sent through updater application could be corrupted with slower computers or certain USB connections. Fixed.