Skip to content

Releases: joshnishikawa/MIDIcontroller

3.1.3

14 Jun 22:01
Compare
Choose a tag to compare

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

25 Apr 01:27
Compare
Choose a tag to compare

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

11 Feb 04:44
Compare
Choose a tag to compare

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

23 Nov 00:14
Compare
Choose a tag to compare

Fixed a bug preventing PER_DETENT from working on encoders.

Updated dependencies

06 Jul 00:20
Compare
Choose a tag to compare

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

30 Mar 22:29
Compare
Choose a tag to compare

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

21 Mar 03:54
Compare
Choose a tag to compare

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

12 Mar 15:34
Compare
Choose a tag to compare

The waitTime before MIDIdrum detects subsequent hits can now be set using the setWaitTime(int) function.

2.3.2

02 Mar 06:46
Compare
Choose a tag to compare

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.