Releases: eh2k/squares-and-circles
Releases · eh2k/squares-and-circles
2026-02-24 - 598c89c
== 2026-02-24
* Enhancements:
* Merged TR-909-Ride into TR-909-HiHat engine
* IO-Page: Indent on MultiTrigs level/pan
* Bugfix:
* SYNTH/DxFM - Stereo parameter fix
* Midi cc to an unexisting parameter crashes s&c #152
== 2026-02-21
* New Engines
* SEQ/303-Patterns
* Bugfix:
* O_C T4.1:
* Trig Gates "inverted" fix
* Output designation according to the latest rev3 panel.
* Patches are stored end of 8MB flash range (T40 2MB)
* Enhancements:
* Default IO config - (reset on load empty patch)
* Named Output/Inputs (outputBuffer_f32(name)/inputBuffer_f32(name))
* M-OSC/Waveforms - Attack removed, Stereo parameter added
* SEQ/EuclidRythm - new IO: TRIGS-OR-OUT, TRIGS-AND-OUT added
* FILTER/SVF - overdrive
* Virtual signal routing: Now 4 signals per engine - $1a..$1d, $2a..$2d
* CV/EnvGen_** - Envelope visualization..(and screensaver)
* Modulation/CV
* New OP: Slew
* OP: S&C/T&H -- now all signals configurable (also virtual routing)
* Engines renamed: CV/V/OCT to CV/V_OCT and M-OSC/Formant/PD to M-OSC/Grain
2026-02-21 - cbf07e78
== 2026-02-21
* New Engines
* SEQ/303-Patterns
* Bugfix:
* O_C T4.1:
* Trig Gates "inverted" fix
* Output designation according to the latest rev3 panel.
* Patches are stored end of 8MB flash range (T40 2MB)
* Enhancements:
* Default IO config - (reset on load empty patch)
* Named Output/Inputs (outputBuffer_f32(name)/inputBuffer_f32(name))
* M-OSC/Waveforms - Attack removed, Stereo parameter added
* SEQ/EuclidRythm - new IO: TRIGS-OR-OUT, TRIGS-AND-OUT added
* FILTER/SVF - overdrive
* Virtual signal routing: Now 4 signals per engine - $1a..$1d, $2a..$2d
* CV/EnvGen_** - Envelope visualization..(and screensaver)
* Modulation/CV
* New OP: Slew
* OP: S&C/T&H -- now all signals configurable (also virtual routing)
* Engines renamed: CV/V/OCT to CV/V_OCT and M-OSC/Formant/PD to M-OSC/Grain
2026-01-05 - c4ed709
== 2026-01-04
* Bugfix:
* Modulation Clock disabled (except clocked engines) -> global clock default for non clocked engines #118
== 2025-12-14
* Enchancement
* SEQ engines: support any input for clock-source #118
* Midi+Clock+Timing: Tigger-Input-Delay setting #150
== 2025-12-07
* Bugfix
* IO-page/Stereo control not allways visible (depends on output settings)
* IO-page/Input level not visible for CV-Engines (now allways visible, scope usecase etc)
* GND/Scope performance issue (range limit)
* Enchancement
* Modulation CV - Attenuverter min/max = ±2 #149
* Scope/FFT stereo signal pass through
* WhitePink noise stereo (+BROWN mode)
* FILTER/SVF stereo signal pass through
2025-11-29 - 45a3684
== 2025-11-29
* New Engines
* FILTER/SVF
* FILTER/MoogLadder
* FILTER/TeeBee
* Bugfix
* FX/Delay - patch restore allways default control values
* FX/Delay - dynamic time parameter by internal clock (general bpm == 0 case)
* FX/Delay - heap corruption (cause DelayLine array)
* Enchancement
* FX/Delay - Dry/Wet control #101
* UsbHid - remote display (https://eh2k.github.io/%E2%96%A1%E2%97%8F/remote/)
* DrumSynth - MidiNote mapping implemented
* DrumSynth - cpu usage optimization
== 2025-11-03
* Bugfix
* TR707 Crashes #146 (when missing 707_IC19, 707_IC22)
== 2025-11-02
* Bugfix
* Claps engine no longer produces any sound #145 (uninitialized struct + missing deinit)
== 2025-10-27
* Bugfix
* Glitch/Noise caused in some cases by drawing x > 128 (TR707 sample visualization)
* TR707: fixed TOM samplerate from 25000 to 12500
* MIDI CC doesn't reach last step of a parameter #139
* Enchancement
* TR707
- optional crash & ride crymbals added
- Midi CC04 (Footcontroller) support for Closed/OpenHihat
* New App-API
- GetMidiCC
== 2025-10-26
* Bugfix
* Fix Crash on Midi CC (Parameter 6 and 7 in some engines)
* Enhancement
* Midi/Monitor display velocity
* Multi-trigs engines MIDI control:
* engine::setMultiTrigMidiKeyMap(midi_key_map);
* Support Midi velocity
* New App-API
- GetTrigLevel
== 2025-10-20
* Bugfix
* DrumSynth - 909AbsKit-1 drumkit crashing #140
* DrumSynth - Midi multi-trigs (missing bit reset) #130
* Enhancement
* Midi 14-Bit CC (parameter CC 32-40 changed to 16-24 MSB, 48-56 LSB) #139
* All multi-trigs engines - Midi support / trig visualization (GM-Keys + Key 60-76)
* v/oct calculation from midi-note #130
Full Changelog: 2025-05-19...2025-11-29
2025-05-18 - cb81c7c
== 2025-05-15
* Bugfix
* usb init error - device descriptor read/64, error -110 - #132
* Enhancements
* DSM0 4x or single engine mode
* Midi CC 0xA Pan #134
* DrumSynth (same behaviour as RC808)
- waveshaper curve
- sine osc phase inversion
- metallic osc -> pitch envelope (same behaviour as RC808)
== 2025-04-26
* Bugfixes
* DrumSynth
- Metallic oscillator crash when N > 6
- Instrument max rendering length ~ 1.2s * 4
== 2025-04-17
* Enhancements
* AttVer (attenuverter), Offset Paramters added to CV/EnvGen_*, CV/EnvFollower, CV/Vactrol #126
* Bugfixes
* DrumSynth - IO-Page: Mixer Level for individual instrument was added to all instruments
== 2025-03-25
* Enhancements
* Polyphony for the Rings machine #124
2025-01-11 - aa5c787
== 2025-01-11
* Changes
* M-OSC/Waveforms - Chords paramter text eg. 1+3+5+7 instead of 0+2+4+6
== 2025-01-05
* Bugfix
* Plaits drums - pitch parameter no effect
* IO-config - accent input was set eq trigger input
== 2025-01-04
* Bugfix/Enhancements
* M-OSC/Waveforms:
- Transpose fix: -1 OCT
- Braids Renaissance Chords
- SEMI quantizer - global plaits chords
- Value paramter (chord offsets) #121
* M-OSC/Waveforms, M-OSC/Chords, SEQ/EuclidyArp
* Parameter texts, case insensitive chord-naming eg. m7->min7, M7 -> Maj7
* V_OCT Paramter (modulation visualition timer fix)
* Quantizer edge case optimization
* CV/V_OCT:
- shows internal value for debugging/quantizer monitoring
== 2024-12-28
* Bugfix
* M-OSC/Waveforms: Braids Renaissance Chords - fixed root offset #117
== 2024-12-23
* Bugifx
* Crash / parameter modulations wrap around #120
== 2024-12-22
* Bugfix
* SEQ/TuringMachine crash #119
* M-OSC/Waveforms: Braids Renaissance Chords - fixed note offsets #117
* Enhancements
* DrumSynth ...
== 2024-12-17
* Bugfix/Enchancement #117
* Parameter value was not visualized when modulations set (Bug since 2024-12-16)
* Midi pitch was added before quantizer
* V_OCT parameter value was added before quantized
* All modulations exept RND and TM are now added after quantizer
== 2024-12-16
* New paramters io-page
* Quantizer-Root
* Transpose-Finetune
* Bugfix/Enchancement
* tanspose offset was quantized
== 2024-12-14
* Bugfix/Enchancement
* SEQ triggered & trig-input triggered engines were not in sync
* V_OCT/Scale parameter, semitones from active quantizer (#117)
* Claps less RAM usage
== 2024-12-07
* Bugfix:
* EnvFollower - IO-page AUX input
* Enhancements:
* EnvFollower - mode Follower, Vactrol (based on MU Streams)
== 2024-11-30
* Bugfix:
* Crash on patch saving/restoring (#97)
* Enhancements:
* M-OSC/Waveforms: Braids Renaissance Chords (#110)
* SEQ/TuringMachine - OutputModes: Note-3...Note-7 (#109)
* Internal signal routing: src: $1-$9 (#108)
== 2024-11-07
* Bugfix:
* M-OSC/Waveforms - V_OCT modulation
* SEQ/EuclidArp - Screensaver circle offset
* Crash on patch saving/restoring (#97 ?!)
* New Engines:
* SEQ/TuringMachine
== 2024-11-04
* Bugfix
* 808ish-BD Crash #103
* Enhancements:
* Crashreport fix (listing engine ids added)
* SEQ/EuclidArp
- fixed recalc pattern on slide > 1
- gate timing (using samples_per_step)
* New APIs
- clock::samples_per_step
- engine::setPatchStateEx
- engine::stepReset
== 2024-11-02
* Enhancement:
* SEQ/EuclidArp
- fixed: note order (starting with root note)
- quantized output
- slide modes: OFF, ON, RND25, RND50, RND75
* Mod/TM
- reset #100
- shift_reg & seed - added to patch state
* GND/Scope
- x-scale added #73
== 2024-10-29
* Enhancement:
* TR707 - dynamic level/pan params in io-page/mixer section #29
* Bugfix:
* setPixel missing (scope app not working)
== 2024-10-28
* Enhancement:
* Mod/SEQ - 4-step sequencer modulation #91
* Multitrigs (TR707 etc) #29
* TR707 - midi mapping (GM Standard Drum Map) #29
* Mod/LFO - New paramter: Waveform #89
* CV/LFO - New paramter: Scale, Offset, Waveform #89
* IO-PAGE - Listing of modulation trig/cv inputs
* Bugfix:
* M-OSC/Waveforms - display correct waveform instead of "shape"
* out of memory handling / memory fragmentation - no new/delete usings in open303
* crash-reporting improvment
* Sporadic midi stops working while update with webflasher
* Modulation/LFO Shape ist not saved in the patch storage (is set to sine, after restore) #98
* New Engines:
* SEQ/EuclidRythm
* SEQ/EuclidArp
* DSM:
* One-Engine-Mode
== 2025-07-02
* Bugfix: DSM0 "CRC32:0x63F R:1"
== 2024-06-15
* Enhancement:
* T1 Clock - resets to begin after 200milis silence
* internal crc32 checks for debugging
* midi response optimization
* squares-and-circles api
* serial
* fs
* Bugfixes
* out of memory handling - prevent crashing
== 2024-04-19
* Enhancement: Engine Load "Options" (Reset IO + Copy From) #74
* SD Format - preserves stored patches
== 2024-04-14
* Enhancement: Patch storage (managment)
* Bugfix:
* tinyusb buffer/optimization
2024-03-28 - fc2389f
== 2024-03-28
* Enhancement: Turing Machine Modulation
* Enhancement: FV1emu (cleanup + 16bit delay optimization)
* Bugfix: Crash on Midi-CC
* Refactoring MIDI-Settings / Clock-Settings
* Enhancement: Midi-Channel moved to IO-Settings
* ***New Analysis Engines: GND/Scope, GND/FFT
* OC_T41 Support
== 2024-02-14
* Enhancement/Bugfix: No usb midi response while 5sec startup #66
== 2024-02-12
* Enhancement/Bugfix: Unique midi device names (support multiple S&C devices for WebMidi #66)
== 2024-02-07
* Enhancement/Bugfix: DXFM (custom syx handling)
* Enhancement: FV1emu / FX-Compiler (using 16bit delay buffer for less memory consumption)
* Enhancement: UI - one pixel left another up - bigger modulation popup
== 2024-01-23
* Bugfix: Black screen ?!
== 2024-01-20
* DevSync:
* Bugfix T4X: CV input > 6 V is received as negative voltage bug
* Bugfix: ClassicVAVCF -> param change Decay/Level
* Enhancement: Modualtion attenuverter resolution 1/2000
* Enhancement/Bugfix: Modulation ranges..
* Enhancement: NEw Modulation CV src aka "+" constant voltage
* Enhancement: Visualizing parameter modulations (moving knobs)
* Enhancement: squares-and-circles api
* Enhancement DSM: Support MID Button (ui navigaten - mid botton back function)
2023
== 2024-01-14
* DevSync: Fix DSM0 audio clipping
== 2023-12-21
* DevSync: Fix DSM0 Callibration + Voltage engines
== 2023-12-18
* DevSync: DSM0 ITCM usage + Bugfix DSM0 calibration
* Enhancements/BreakingChanges:
* Dynamic Loader (apps as header includes for now) - Noise, SAM, Faust engines ported
== 2023-12-03 ==
* Bugfix: DxFM custom syx didnt work
* DevSync: DSM0 perf+wdt
== 2023-11-19 ==
* Refactoring CV-Engines (based on modulations)
- CV-Output Scope-View
* New CV-Engines:
- EnvGen_AD
- EnvFollower
* Bugfix: CV-Engine (fine-tune after quantizer)
* Bugfix: #57
* Bugfix: plaits engines trigger_patched reset
== 2023-11-04 ==
* Bugfix: CV/Voltage modulation
== 2023-10-14 ==
* Bugfix: CV/LFO shape selection
== 2023-10-07 ==
* Bugfix:
- crash in dac calibration
== 2023-09-24 ==
* Enhancements:
- I/O-Page: UI enhancements
- Speech/SAM "random numbers"
- Speech/LPC "AuxMix" Parameter
* Bugfix:
- Speech/LPC word selection
- VOCT semitone = encoder step (skipped increments)
== 2023-09-17 ==
* mi-libs sync/upgrade
* new Synth-Engine:
- ClassicVAVCF (Classic waveshapes with filter)
- DxFM_BNK1-3 (using the SixOpEngine default patches)
* Several engines, parameter naming, ranges and defaults optimizations ...
* Optimised behaviour on encoders increments
- Value change is 1/128 per step if the increments don't immediately follow each other
- Short-time display of the value (0-127)
* Bugfix:
- GND engine - crash on encoder rotation
== 2023-09-03 ==
* Enhancements, new engines:
* Claps refactoring, drumsynth based on RC808 models
* DxFM enhancement, 2 voice stereo mode
* Waveforms, 2 voice stereo mode
* JU60_chorus, emulation of Juno60 chorus, based on VA BBD
* Noise engines: NES_noise, 808_squares
* Bugfixes
* #52 Modulations & quantizer
* #51 Engine loading - IO config is lost / restored to defaults
== 2023-08-09 ==
* Audio routing refactoring
* Optimizations and bugfixes
- #6 Output-routing / Mixing (discussion)
- #25 OLED 2 Pixel offset... fixed_in_latest
- #21 Channel one gate input not working (hardware works with standard OC firmware) fixed_in_latest
- #57 CV/V/OCT outputs a lower voltage fixed_in_latest
- #52 Modulations & Quantizer fixed_in_latest
- #51 Engine loading - IO config is lost / restored to defaults fixed_in_latest
- #45 Feature request - Insert levels for all machines on #4 not just FX fixed_in_latest
- #39 M-OSC - Unpatched Trigger Mode fixed_in_latest
- #38 T&H Modulation - wrong Trigger fixed_in_latest
- #28 Drum Engines causing freeze fixed_in_latest
RC_0.0N4
RC_0.0N4
- New:
- audio responsive screensaver
- Bugfixes:
- Optimizations
- SPI: DAC/Display
Please use the to flash the firmware directly from the browser (tested with Chromium):
...have fun jamming!
IMG_3720.MP4
Thanks @MidiSlave for video demo
T4 is being sequenced from Digitakt which
allows PC message locks per step. Octatrack is sequencing T1-T3 (on same
midi channel) for the poly-arp.
RC_0.0m
RC_0.0m
- New Engines:
- CV:Noise (White/Pink Noise)
- FX:ReverbSC (8 delay line stereo FDN reverb, based on work by Sean Costello)
- Enhancements:
- CV:V/OCT - Slew
- Modulations:
- CV-OP (Sample&Hold, Track&Hold) #16
- Pitch-Modulation is routed through the internal CV-In quantizer
- Optimizations
- ADC: less noise, equal samplerate on all Inputs ( recalibration of the ADCs recommended )
- SPI: DAC/Display - less interference / higher display-rate (20 fps)
- Support DAC_8564/DAC_8565 #13 (Setup-Commands WebFlasher)
Please use the to flash the firmware directly from the browser (tested with Chromium):
...have fun jamming!