Skip to content

Releases: eh2k/squares-and-circles

2026-02-24 - 598c89c

27 Feb 18:40

Choose a tag to compare

WebFlasher WebFlasher

== 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

20 Feb 20:49

Choose a tag to compare

2026-02-21 - cbf07e78 Pre-release
Pre-release

WebFlasher WebFlasher

== 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

05 Jan 10:47

Choose a tag to compare

== 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

29 Nov 18:41

Choose a tag to compare

== 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

24 Oct 19:18

Choose a tag to compare

WebFlasher WebFlasher

== 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

11 Jan 15:31

Choose a tag to compare

WebFlasher WebFlasher

== 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

05 Apr 10:53

Choose a tag to compare

WebFlasher

== 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

14 Jan 10:28

Choose a tag to compare

== 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

22 Sep 19:23

Choose a tag to compare

RC_0.0N4 Pre-release
Pre-release

RC_0.0N4

  • New:
    • audio responsive screensaver
  • Bugfixes:
    • Display is black after flashing 0.0m #17
    • Midi pitches no longer working #19
  • Optimizations
    • SPI: DAC/Display

Please use the WebFlasher 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

04 Sep 08:29

Choose a tag to compare

RC_0.0m Pre-release
Pre-release

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 WebFlasher to flash the firmware directly from the browser (tested with Chromium):

...have fun jamming!