Releases: rogerlinndesign/linnstrument-firmware
2.3.3
2.3.2
2.3.1
Features:
- In Per-Split Settings > MIDI Mode, holding ONE CHANNEL now resets all MIDI settings as they are after a Reset command. Similar to holding ChPerNote to quickly change all settings for MPE synths, this is useful for quickly changing all MIDI settings for use with common preset sounds of One Channel synth that are optimized for MIDI piano keyboards:
Main channel: 1
Bend Range: +/- 2
Timbre/Y: CC74
Loudness/Z: Poly Pressure - If MIDI Mode is set to ChPerNote and you change either the Bend Range setting or hold ChPerNote to force MPE settings, LinnStrument sends a MIDI RPN 0 “Pitch Bend range” message, which sets the external synth to the same bend range.
Bug fixes
- When using the Arpeggiator to arpeggiate through a held chord and you lifted one finger of the chord, the arpeggio order would reset to the starting note. Fixed.
- When split was on with CC Faders on in one split and Low Row on in the other, sometimes the Low Row lights would turn on on the other split. Fixed.
- When receiving a Bend Range configuration message through MIDI, LinnStrument would echo it back to the MIDI out, which was unnecessary. Fixed.
- When LinnStrument would receive a MIDI Stop command to stop its Step Sequencer, it would unnecessarily echo it back out to the MIDI out. Fixed.
2.3.0
New Feature:
Custom Light Patterns
You can now create your own custom light patterns for LinnStrument’s note lights, independently setting each note pad to any of 10 colors or off. You can create 3 different custom light patterns, and they remain stored after turning power off.
The Scale Select feature (in Global Settings, column 1) is now used to also select or create the custom light patterns. Until now, there were 12 Scale Select memories, named C through B. (These are merely identifiers, using the 12 printed labels printed below the buttons, with no relation to the musical keys C though B.) The first 9 memories (C through G#) work exactly as before and as described in the Panel Settings page. The upper 3 Scale Select memories (A, A# and B) are now changed to hold the 3 new custom light patterns.
Note: when you update to version 2.3.0 software, any scales you had previously entered into Scale Select memories A, A# or B will be deleted.
Here's how the custom light patterns feature works:
To display one of the 3 custom light patterns, enter Global Settings then:
- In column 1 (“View”), press Scale Select.
- In columns 2 through 4, briefly press Scale Select button A, A# or B. By default, Scale Select “A” contains traditional guitar neck dots. Scale Select “A#” is a C major scale with a different color for each scale note. And Scale Select “B” is blank.
- Press Global Settings to turn it off. Your selected light pattern will appear.
To Edit one of the 3 custom light patterns, enter Global Settings then:
- In column 1 (“View”), press Scale Select.
- In columns 2 through 4, HOLD Scale Select memory A, A# or B. You have now entered the light editor screen and the existing contents of the selected memory will appear.
- To set the color of a pad: repeatedly press the blinking Switch 1 button until it shows your desired color, rotating through the 10 available colors. Then press any note pad to change it to that color.
- To erase any note pad: hold it.
- To erase many note pads: press 2 pads that are 2 corners of a rectangle that includes the pads to be erased.
- To save your changes and exit the editor: press Global Settings to turn it off and return to the normal performance lights.
Note: these 3 custom light patterns are not part of the 6 All Settings presets in the Presets screen, so they are unaffected by loading or saving any of the All Settings presets.
Note: the custom light patterns always use the entire playing surface, even if Split is on. However if Split is on, playing the note pads will still work the same-- divided into left and right splits.
As before, you can still load a light pattern from MIDI by sending MIDI CCs 20, 21 and 22 to LinnStrument, as described in the Panel Settings page, Global Settings tab, Note Lights section, “Setting the note lights remotely via MIDI messages” subsection. As before, any received messages will add to whatever light pattern is displayed. If you wish to save your loaded pattern, load it while the above light editor screen is showing, then exit Global Settings to save it. Also, two more MIDI CC numbers are now accepted by LinnStrument:
CC23: Save loaded light pattern to flash.
After sending a new light pattern to LinnStrument, send a CC23 message with value 0, 1 or 2 to save it to Scale Select memory A, A# or B, respectively.
CC24.: Clear custom light pattern from flash.
Send a CC24 message with value 0, 1 or 2 to clear Scale Select pattern A, A# or B, respectively.
2.3.0-beta1
New Feature : Custom Light Patterns
You can now create your own custom light patterns for LinnStrument’s note lights, independently setting each note pad to any of 10 colors or off. You can create 3 different custom light patterns, and they remain stored after turning power off.
The Scale Select feature (in Global Settings, column 1) is now used to also select or create the custom light patterns. Until now, there were 12 Scale Select memories, named C through B. (These are merely identifiers, using the 12 printed labels printed below the buttons, with no relation to the musical keys C though B.) The first 9 memories (C through G#) work exactly as before and as described in the Panel Settings page. The upper 3 Scale Select memories (A, A# and B) are now changed to hold the 3 new custom light patterns.
Note: when you update to version 2.3.0 software, any scales you had previously entered into Scale Select memories A, A# or B will be deleted.
Here's how the custom light patterns feature works:
To display one of the 3 custom light patterns, enter Global Settings then:
- In column 1 (“View”), press Scale Select.
- In columns 2 through 4, briefly press Scale Select button A, A# or B. By default, Scale Select “A” contains traditional guitar neck dots. Scale Select “A#” is a C major scale with a different color for each scale note. And Scale Select “B” is blank.
- Press Global Settings to turn it off. Your selected light pattern will appear.
To Edit one of the 3 custom light patterns, enter Global Settings then:
- In column 1 (“View”), press Scale Select.
- In columns 2 through 4, HOLD Scale Select memory A, A# or B. You have now entered the light editor screen and the existing contents of the selected memory will appear.
- To set the color of a pad: repeatedly press the blinking Switch 1 button until it shows your desired color, rotating through the 10 available colors. Then press any note pad to change it to that color.
- To erase any note pad: hold it.
- To erase many note pads: press 2 pads that are 2 corners of a rectangle that includes the pads to be erased.
- To save your changes and exit the editor: press Global Settings to turn it off and return to the normal performance lights.
Note: these 3 custom light patterns are not part of the 6 All Settings presets in the Presets screen, so they are unaffected by loading or saving any of the All Settings presets.
Note: the custom light patterns always use the entire playing surface, even if Split is on. However if Split is on, playing the note pads will still work the same-- divided into left and right splits.
As before, you can still load a light pattern from MIDI by sending MIDI CCs 20, 21 and 22 to LinnStrument, as described in the Panel Settings page, Global Settings tab, Note Lights section, “Setting the note lights remotely via MIDI messages” subsection. As before, any received messages will add to whatever light pattern is displayed. If you wish to save your loaded pattern, load it while the above light editor screen is showing, then exit Global Settings to save it. Also, two more MIDI CC numbers are now accepted by LinnStrument:
CC23: Save loaded light pattern to flash.
After sending a new light pattern to LinnStrument, send a CC23 message with value 0, 1 or 2 to save it to Scale Select memory A, A# or B, respectively.
CC24.: Clear custom light pattern from flash.
Send a CC24 message with value 0, 1 or 2 to clear Scale Select pattern A, A# or B, respectively.
2.2.2
Improvements
- Touch sensitivity of LinnStrument 128 was slightly less than that of the large LinnStrument model. They are now the same.
- The range of the Touch Sensor Prescale parameter in Global Settings (which could adjust the output of the touch sensor) has been increased from the former 50-100%, to the new 50- 200%, permitting the option to increase sensitivity to very light touches even more than before.
Warning: settings above 100 might cause notes within chords to trigger falsely, decrease velocity accuracy, or produce maximum velocity or pressure values with only medium playing force. - When using the “MPE” shortcut to set all MIDI settings for MPE play (in Per-Split Settings > MIDI mode column, hold ChPerNt), Bend Range was formerly set to 24. It is now set to 48, the standard for MPE synths. Also, our downloadable file of LinnStrument sounds for Apple's Logic and MainStage has been updated for an MPE Bend Range of 48 instead of the former 24.
- There was a brief delay after a note pad was physically released before sending the Note Off message. It is now much shorter. Thanks to Connor Golden for implementing this fix.
Bug fixes
- In the Step Sequencer, muting the sequence of the split that was not selected would mute its sequence but not turn on the Mute button’s light. Fixed.
- In the Step Sequencer, if a sequence was set to Drums mode, transposing the sequence would transpose the drum note numbers, which makes no musical sense. Fixed.
- In the Step Sequencer, if transposing a sequence down such that the transposed note numbers would go below 0, this would cause an “underflow” error, resulting in high note numbers of 127 and below. (For example, note number 6 transposed down 8 semitones would result in note number 126.) Fixed.
- If sending an NRPN message to LinnStrument to set colors, magenta would be selected regardless of the value sent. Fixed. And if sending an NRPN message to to set any of the Per-Split Settings, the Per-Setting Settings indicator lights would change but not the internal value. Fixed.
2.2.2-beta2
All the changes from v2.2.2-beta1, as well as:
- On the large LinnStrument model, the upper right note pad would sometimes have an on/off behavior instead of continuous pressure. Beta2 fixes that.
2.2.2-beta1
Improvements
- Touch sensitivity of LinnStrument 128 was slightly less than that of the large LinnStrument model. They are now the same.
- The range of the Touch Sensor Prescale parameter in Global Settings (which could adjust the output of the touch sensor) has been increased from the former 50-100%, to the new 50- 200%, permitting the option to increase sensitivity to very light touches even more than before. Warning: high settings might cause notes within chords to trigger falsely, decrease velocity accuracy, or produce maximum velocity or pressure values with only medium playing force.
- When using the “MPE” shortcut to set all MIDI settings for MPE play (in Per-Split Settings > MIDI mode column, hold ChPerNt), Bend Range was formerly set to 24. It is now set to 48, the standard for MPE synths. When v222 is released, our file of LinnStrument sounds for Logic and MainStage will be updated to use an MPE Bend Range of 48 instead of 24.
- There was a brief delay after a note pad was physically released before sending the Note Off message. It is now much shorter. Thanks to Connor Golden for implementing this fix.
Bug fixes
- In the Step Sequencer, muting the sequence of the split that was not selected would mute its sequence but not turn on the Mute button’s light. Fixed.
- In the Step Sequencer, if a sequence was set to Drums mode, transposing the sequence would transpose the drum note numbers, which makes no musical sense. Fixed.
- In the Step Sequencer, if transposing a sequence down such that the transposed note numbers would go below 0, this would cause an “underflow” error, resulting in high note numbers of 127 and below. (For example, note number 6 transposed down 8 semitones would result in note number 126.) Fixed.
- If sending an NRPN message to LinnStrument to set colors, magenta would be selected regardless of the value sent. Fixed. And if sending an NRPN message to to set any of the Per-Split Settngs, the Per-Setting Settings indicator lights would change but not the internal value. Fixed.
2.2.1
- After 2.2.0, the Global Settings LED would no longer blink 1/4 notes in sync to received MIDI Clock. Fixed.
- When playing the Step Sequencer from internal tempo by pressing the Play (Switch 2) button, the Global Settings LED's tempo blinking was not in correct sync to the playing tempo. Fixed.
- In version 2.2.0 a new feature was added, "Permit reading of any panel setting from MIDI NRPN messages", but when reading NRPN 243 (the 6 All Settings" memories), only the 4 memories of version 2.1.0 could be read. Fixed.
2.2.0
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.