Releases: joshnishikawa/MIDIcontroller
3.1.3
3.1.3 MAJOR RELEASE WITH BREAKING CHANGES:
-
Min and Max output is no longer set when constructing objects.
use outputRange(min, max) instead. -
MIDIbutton is now completely deprecated. Use MIDIswitch instead.
-
MIDIcapSense is now completely deprecated. Use MIDItouch instead.
-
MIDIdrum using TOUCH is deprecated. It's still doable but just too unstable
and too niche for this library. Use the Flicker library instead.OTHER CHANGES:
-
Added sensitivity(int) function to MIDIdrum. Takes a number between 1 and 100.
Lower numbers require higher velocity to trigger MIDI. 100 is default
and triggers even if pressed very slowly. 99 requires at least a light tap. -
MIDIenc can now take PROGRAM_CHANGE as an argument. This allows the encoder
to send program change messages instead of CC messages. -
MIDIswitch can now take START, STOP, CONTINUE, CLOCK or SYSTEM_RESET as an
argument. This allows the switch to send those messages instead of CC. -
Better examples
-
Made inclusion of Flicker library optional. Some boards don't to Cap Touch.
(thanks @digitalelements for suggestions and testing all of the above)
-
MIDIenc.read() now updates the value of the encoder. This allows the value
to be changed without actually sending MIDI. -
Split analogRange and touchRange into separate utilities.
-
Bugfix: MIDIenc.value initialized to outLo when user-specified.
2.5.3
This release adds an option to force a MIDIswitch, MIDIenc, MIDIpot or MIDItouch to send its current value using send(FORCE)
. 'FORCE' is just a constant that represents a boolean value of true
. You can pass any boolean. A value of false
means the function will have no effect.
MIDIswitch is now preferred over MIDIbutton because the former is a more inclusive term for the various types of binary inputs that the class handles.
The default MIDIswitch mode of MOMENTARY is now actually implemented so you can create an instance of a momentary switch using only MIDIswitch(pin, CC)
2.4.3
Fixed the PER_DETENT bug (again).
Made PER_DETENT the default since it works cleaner and is probably more useful
Added a write(int) function to the MIDIenc class that will set it to a
specific value and immediately send a MIDI message for that CC at that value
2.4.2
Fixed a bug preventing PER_DETENT from working on encoders.
Updated dependencies
Bounce (not Bounce2) is now a dependency as all the examples use Bounce implementation and I have yet to find a use for Bounce2 features.
Major bugfix for MIDIdrum
A missing constrain() function was causing high velocity notes to be mapped to low velocities (1 and even 0 at times). This has been fixed. Face has been palmed.
Muxed Input Example added
An example for muxed input has been added. MIDIdrum now has an inputRange(int, int) function that will allow users to set the threshold at which notes are triggered and the analog reading that will trigger the maximum output. Also bugfix.
2.3.3
The waitTime before MIDIdrum detects subsequent hits can now be set using the setWaitTime(int) function.
2.3.2
A library for creating Teensy MIDI controllers.
Includes easy to follow examples for implementing velocity sensitive FSR, Piezo or Capacitive Touch inputs; momentary, latch or 'trigger' type MIDI buttons (also works with Cap Touch); stable analog to MIDI conversion for potentiometers and other sensors; stable Capacitive Touch to MIDI conversion for expression control; support for encoders; Min/Max output can be set (or inverted) for all MIDI; Min/Max input can also be set for analog input (maintaining stability in conversion).
You can see README.md for detailed version information. However, this is the first official release and therefore the oldest version that will be available.