Skip to content

Releases: midilab/uClock

Raspberry PR2040 Support

04 May 16:29
Compare
Choose a tag to compare

Experimental support for RP2040 microcontrollers.

What's Changed

  • README updates: typo's, readability by @vanzuiden in #34
  • initial working proof-of-concept of rp2040 support by @doctea in #33

New Contributors

Full Changelog: v2.0.0...v2.1.0

Higher PPQN resolution support and better swing feel!

22 Jan 10:55
Compare
Choose a tag to compare

Engine rewrited to perform higher PPQN resolutions and better swing styles.

// avaliable resolutions
// [ uClock.PPQN_24, uClock.PPQN_48, uClock.PPQN_96, uClock.PPQN_384, uClock.PPQN_480, uClock.PPQN_960 ]
// not mandatory to call, the default is 96PPQN if not set
uClock.setPPQN(uClock.PPQN_96);

BREAKCHANGES:
If you are comming from uClock version < 2.0 versions keep attention to the breakchanges so you can update your code to the new API interface changes:

setCallback functions name changing:

setClock96PPQNOutput(onClock96PPQNOutputCallback) is now setOnPPQN(onPPQNCallback) and his clock depends on the PPQN setup using setPPQN (clockPPQNResolution). For clock setup you now use a separeted callback via setOnSync24(onSync48Callback) or setOnSync24(onSync48Callback)
setClock16PPQNOutput(ClockOut16PPQN) is now setOnStep(onStepCall) and its not dependent on clock PPQN resolution
setOnClockStartOutput(onClockStartCallback) is now setOnClockStart(onClockStartCallback)
setOnClockStopOutput(onClockStopCallback) is now setOnClockStop(onClockStopCallback)
setOnClockStartOutput(onClockStartCallback) is now setOnClockStart(onClockStartCallback)

Tick resolution and sequencers

If you have write a sequencer using setClock16PPQNOutput only its ok to just change the API call to setOnStep, but if you were dependent on setClock96PPQNOutput you migth need to review you tick counting system depending on wich PPQN clock resolution you choose.

Programable Shuffle Support

20 Nov 14:42
Compare
Choose a tag to compare

After long waiting on TODO list, the shufle is done!

Please take a read at the following thread comment for more info on how to program and create your shuffle signatures to use with uClock: #27 (comment)

ESP32 Enhancement

05 Sep 18:56
Compare
Choose a tag to compare

This release enhance esp32 API usage by hidding the concurrency handle implementation to support UART and Serial general calls inside callbacks.

This release implementation makes use of FreeRTOS layer of esp32 support for arduino.

PlatformIO support

16 May 14:02
Compare
Choose a tag to compare

Official platformio support published:
https://registry.platformio.org/libraries/midilab/uClock

to install it on your platformio project:
pio pkg install --library "midilab/uClock@^1.4.1"

Generic STM32 Support released

15 May 11:10
ea8ef07
Compare
Choose a tag to compare
  • STM32 generic support by using STM32Duino and Hal library.
  • Independent platform implementation support for easy arch ports, check platforms/ dir.
  • Fixed missing name.c file for usb-midi definitions on teensy arm platforms

Thanks to @Jackson-Devices to manage the tests and examples.

ESP32 experimental support released!

15 May 10:54
Compare
Choose a tag to compare

An experimental support of ESP32, since this is a 2 cores platform there are some scenarios not tested extensivelly to guarantee full working uClock port, anyway, this is the one used for the Aciduino V2 ESP32 support working so far without problems.

Avoid xiao timer problems

21 Oct 08:24
Compare
Choose a tag to compare
  • force the use of defined object TimerTcc0 to avoid problems with xiao mcu timer usage.

Example usage fixes

30 Sep 17:19
Compare
Choose a tag to compare

fixed a bpm printing problem within midi monitor examples that freezes the microcontroler.

Examples fixes

21 Sep 15:05
8a27c0c
Compare
Choose a tag to compare
  • Example usage fixes for tick access on calback