Cirklon OS Revision history from v1.08 in reverse chronological order - newest fixes/additions at the top, version numbers at point of release ======================================================================== *** ALWAYS BACKUP YOUR DATA BEFORE UPDATING THE OS *** Use the "SAVE Raw SYX dump" option to ensure all data and configuration settings can be restored ======================================================================== 1.22d - 7/4/24 fixed invalid filename errors saving new filenames 1.22c - 9/12/23 fixed poly-spread poly AT re-send as channel AT 1.22b - 9/11/23 fixed card-save writing file to wrong drive after boot fixed temporary loss of CVIO input after changing number of inputs fixed possible blank track value rows in instrument added CK edit pattern clear also resets any row mutes added scene list SHIFT + for current SCENE re-loads saved version added d-mux firmware finalise only option for test 1.22a - 20/9/23 fixed CVIO slide stuck on in bi-polar mode fixed CK edit not flagging pattern as changed when notes deleted using DELETE + GANG only 1.22 16/7/23 fixed possible boot check crash with bad p3 bar ptr fixed possible 303 TAP problem with non-zero d-mux CV on SYNC port in DIN mode added "freewheel after MIDI STOP" user config option - for use with master clock that only sends ticks while running; on MIDI STOP, ck switches back to internal clock source running at incoming tempo, to continue sending clock to following devices 1.21a 21/5/23 added CVIO firmware update for CVIO v1.8 board 1.21 - 19/3/23 NOTE: CVIO firmware, d-mux firmware tools and upgrade codes have been removed from this build to free space. Temporarily re-install previous build if these functions are required. fixed possible crash during boot check for song with no patterns fixed time-consuming ck event list fix during boot time check fixed zero vscale values for CVIO after memory wipe fixed mute trk n aux events take effect after song/scene change on first step of muted track added micro-rotate in ck edit - SHIFT + hold and rotate BAR encoder added ~gate (inverse gate) target value to grab/push/swap aux events added apply FTS option to ck edit menu updated FATFS core to 0.14b added auto-backup at boot when last backup older than 1 week - can be foolishly disabled in user config added bar edit of channel number for ck pattern recorded in multi-chan mode added multi-channel mode option flag in pattern object ==//==//==//==//==//== 1.20g - 9/6/22 fixed possible invalid ck loop start pointer causing loss of playback after loop fixed tempo value in row view of set tempo aux event changed full manual bar follow to only apply during playback - bar position unlocked for edit while stopped fixed ck event list check - revised code to recover out of order events, instead of deleting - added option to dump debug info for bad ck pattern to sd-card files fixed handling of extension case in card load/save fixed ck real-time record inserting events out of order during un-quantised record 1.20f - 27/1/22 fixed ripple insert bar in CK edit adding extra step added upgrade codes for CK2 kits 1.20e3 - 3/1/22 fixed possible SD card access problem with bad path after OS update fixed ck record auto-start events missed (?) fixed possible crash with invalid ck pattern event list pointer 1.20e2 - 16/12/21 changed "unmute new pattern" user config to "no unmute..." to keep default behaviour added separate port level delay setting for MIDI clock output on serial and USB ports encoder 8 edits sync delay in MIDI port options menu when applicable port is selected 1.20e1 - 8/12/21 fixed "no next in workscene" popup sticking fixed replay of manual program changes on start after boot added "unmute new pattern" as user config option 1.20e - 30/11/21 fixed track fill status remained active after re-start during fill-in fixed incorrect capture of events during count-in to CK record fixed knob A movement triggering repeated re-draw in CK edit fixed CK pattern real-time record errors when recording quantised notes simultaneously with un-quantised control events (causing event list errors reported at next boot) fixed reported free list loop error after status:0 event cleaned from ck event list fixed possible output buffer replay on serial MIDI output when manually sending CC track values from A/B knobs fixed possible events missed after record mode start by note-on without click/count-in fixed incorrect scene state changed SAVE LED when changing scene during playback fixed loss of ck pattern playback when edited pattern saved, or edits lost during scene saved fixed ck edit sculpted note recorded after auto-start added CK event list structure check after real-time record, expanded check also run at boot added channel aftertouch and pitchbend alongside CC view in CK edit added negative/too high offset warnings to vscale calibration page, improved auto vscale calibration operation for tuning dongle added pop-up for record count-in (active when click enabled) added h/w MIDI bandwidth limiting for test 1.20d1 fixed updating of CV values during micro-tuning table edit with order value set 1.20d - 7/9/21 fixed handling of cc purge during record (2 step timeout, user adjustability tbi) fixed record of note quantised to end of ck loop, start-time set to zero, should be loop start time deprecated chase_events flag with new seek method moved loop start event pointer from track state to pattern object fixed boot-time data check not clearing possible event list loop warning fixed CC record being blocked with ck row view enabled fixed fill flags cleared on stop added current bar and bar length values to CK pattern graphic on SCENE and TRACK pages added "start from loop" option for CK pattern - SHIFT + FILL/X to toggle option added note row mutes to CK pattern - hold SOLO/SKIP and press ROW to toggle row mute status, SHIFT + SOLO/SKIP to clear all mutes added LAST + SCULPT shortcut to set bar length to bar with last event in CK pattern added '+' to text entry mode 1.20c2 - 22/7/21 fixed move scene crash 1.20c1 - 20/6/21 fixed previous scene pointer handling for moved scenes fixed accumulator wrap/clip behaviour for some events changed accumulator defeat knob mask events to act directly, instead of masking previous accumulator defeat event added DELETE + (press)ROW shortcut in P3 edit, clears all values an flags on current row added SHIFT + (press)ROW in P3 edit, for swap aux row function 1.20c - 9/6/21 fixed tempo timebase error, tempo was ~0.012% low fixed display of "set length", "rep*n by length" aux values fixed negative range of "set delay" and "rndmz delay" events added SHIFT + NEXT + SCENE, previous scene combo 1.20b6 - 30/5/21 added note stack for test track gang - held notes cleared when track removed 1.20b5 - 27/5/21 fixed incorrect 'edit' status of CV envelope values after first recall of song with stored values after power cycle fixed no refresh of current CV EG parameters when changing law fixed rsyn behaviour for CV port added "no NEXT + SONG" user config option to disable key combo 1.20b4 - 12/5/21 added "new songs use #'s" user config option, for default accidentals added test for tempo based swing, over-rides standard swing by using SHIFT + to select swing percentage; swing affects odd and even steps, and mclk/din output (excessive setting may upset slaved devices due to instantaneous high tempo) 1.20b3 - 8/5/21 fixed scene select view reset at boot added dmux low end curve compensation 1.20b2 - 5/5/21 fixed spurious "no songs" warning and workscene clear after loading instrument def 1.20b1 - 2/5/21 added dmux tools for firmware update/bootloader install with adaptor 1.20b - 27/2/21 fixed excess filename length highlight in file picker fixed SMF type 1 import for > 53 tracks 1.20a1 - 13/1/21 fixed clock output to CVIO fixed encoder LEDs for ck event edit only lit for active encoders fixed excessive bar follow cancel in p3 edit 1.20a - 6/1/21 fixed SYNC output now responds to rsyn and no clock when stopped settings for CV port fixed MTC QF transmit via USB fixed missing velo value in ck edit fixed tbase tcv reset on bar advance added warning when trying to load firmware image as data sysex added MIDI tuning bulk dump receive added tuning table root note offset, order for linked edit added tuning table send bulk/128*single 1.20 - 5/12/2020 fixed dmux velo curves 2 & 4 to have zero volt output for velocity = 1 added basic CC edit operations to ck edit CC view 1.19a4 - 14/11/20 fixed RIPPLE insert at start of pattern weirdness fixed mask..dAc events with incorrect maximum values fixed line wraps/blank lines for long len: values in CK edit event list view fixed USB device transmit blocked after sending while disconnected added "ck edit, RIPPLE bar length" user config option - adjust bar length by whole bars when ripple inserting copied notes (clip length rounded to nearest bar) 1.19a3 - 7/11/20 fixed blank screen in play mode after lose+exit from edit mode fixed possible crash in name edit changed dmux velo curves 2 & 4 to remove dead zone at low values 1.19a2 - 14/10/20 fixed ck record filter popup window not cleared on record exit fixed ck DELETE-only not including notes with non-zero delay fixed d-mux pulsed accent settings missing from .CKC file added sync pgm track values with soft-thru pgm message to track output v1.19a1 fixed P3 edit sculpt v1.19a - 4/10/20 fixed scene initial_mutes save to .CKS fixed occasional corruption of mute status in saved scene fixed json number format errors and track value limits fixed re-init of poly spread group after instrument MIDI channel change added allow spaces in filenames, longer names, mixed case added latency matching delay values for USB ports * new settings require data format change, sysex from this build not loadable in older versions added internal RAM copy of NV-RAM configuration settings as manual cache for frequently used values added knobs assigned to track values with limited range follow range settings v1.18e1 - 3/08/20 changes to USB debug info page v1.18e - 20/07/20 added user config option: ck edit, use COPY+DELETE for CUT. enables COPY, CUT (COPY+DELETE) or DELETE of selected range in ck edit changed CK loop markers to show loop start from pattern start if loop end is set added minimum time enforced between dmux packets, to prevent mis-triggers on soft-thru data v1.18d10 fixed no quantise on inf. length ck pattern v1.18d9 - 23/06/20 fixed missing redraws on error conditions entering pattern edit fixed CK paste function seeking from pattern start for every event paste (slow!) changed some build optimisation settings v1.18d8 - 16/06/20 fixed buffer handling error on CVIO input (causing crash/UI hang) v1.18d7 - 9/06/20 fixed data corruption due to poly spread assign mode change during note activity v1.18d6 - 7/06/20 fixed aux midi clock send applies to DIN sync via CV port assignment fixed FTS not applying to SCULPT-tap of row in CK record fixed redraw bug in global vscale page v1.18d5 - 21/05/20 fixed soft-thru handling of large sysex packets where delays between transmitter buffers add delays between chunks of packet (running status reset issue) changed P3 send MIDI clock event to send only on port assigned to current track v1.18d4 - 19/05/20 added further poly spread allocation options - cc 110 values: 0 - default, next voice to be allocated will be the least recently used 1 - least recently used, with voice order reset on last note off 2 - least recently used, with same note-override 3 - a combination of options 1 and 2 4 - jp8 dynamic unison v1.18d3 - 15/05/20 fixed multi instrument channel bug v1.18d2 fixed 16 byte sysex frame soft-thru bug v1.18d1 - 3/05/20 fixed possible DP sending sysx to CVIO port added double-press of track value encoder re-sends current CC value, or bankM/bankL/pgm group v1.18d - 27/4/20 fixed sysex soft-thru fixed screen corruption after delete all hidden track values fixed LCD bus access enabling UART GPIO before initialisation (spurious data at boot) added alternate voice allocation mode for poly spread - use CC #110 to select 0 - normal; 1 - jp8-style dynamic unison mode use debug tools, option 13 for allocation view (SHIFT + INSERT, 13) v1.18c6 - 17/4/20 fixed clock mode CVIO gate output retriggering by notes on linked CV output for gate mode fixed SHIFT key behaviour in text entry mode fixed ck record menu filter in CC view fixed instrument not re-initialised after replacement by loaded .CKI file fixed track swap leaving text scroll enabled, causing possible screen corruption added separate output stream for serial MIDI clocks, to support system-realtime interleave in channel & sysex messages, and independent latency matching delays for sync added "no select with SCENE loop" user config; setting loop in scene select view does not cue loop start to play next - user must manually select scene (allows loop to be set in advance) added "global STOP x 2 resets SONG" user config; double press of STOP will reset song to first scene from any page (otherwise only from SONG page, as per previous behaviour) v1.18c5 fixed track swap not swapping current MIDI settings (maybe ?) added scene loop select no longer forces advance to start of loop - re-select first scene v1.18c4 added auto-saving of workscene edits, to restore patterns/mutes/track values when recalled added most recent ck note/velo values written to source values for p3 grab events added SCULPT key toggles storage between SD/internal in path select page v1.18c3 fixed clock output to CV port added clock filter to MIDI output view, press LAST to toggle; v1.18c2 - 6/3/20 revised serial MIDI tx handling; lc timestamps embedded in output buffer, no separate delay lines added raw MIDI output view in debug tools v1.18c sequence engine external memory access optimisations v1.18b6 fixed workscene delete and delete unassigned pattern confirm (no redraw) v1.18b5 fixed pattern type selection dialogue v1.18b4 - 16/2/20 screen draw and refresh handling re-written to use ck2 compatible hardware abstraction changed SD card load/save display to progress bar, improved transfer times v1.18a10 - 21/1/20 fixed combi/config .CK file selection for card load v1.18a9 - 16/1/20 fixed dmux incorrect trigger on soft-thru with 0x80 note-off status v1.18a8 - 6/1/20 fixed RTC initialisation v1.18a7 fixed incorrect channel when selecting multi-inst v1.18a6 fixed saved workscene losing fill mode settings fixed DP after loading SYX backup that replaces assigned poly-spread insts v1.18a5 fixed in 5 midi clock fixed port 1 configuration after bootloader exit / overflow bug v1.18a2 fixed USB MIDI transmit fixed manual edit of CV tuning tables v1.18a1 - 7/12/19 fixed some MIDI in/out issues added SHIFT + to remove assignment v1.18a - 4/12/19 re-enabled internal uSD access v1.18 - 3/12/19 fixed file picker extension filter hiding files with lower case extensions fixed track instrument initialisation not changing multi MIDI channel for same instrument migrated all hardware initialisation & control functions from FWLib v2.0.3 to STM32F1xx HAL v1.1.4 v.1.17f - 8/11/19 fixed bend on Hz/V CV outputs fixed save workscene on song change saving fill patterns as main patterns fixed hanging notes with poly spread when instrument changed by scene during held notes added clear of long playing or repeating notes on song change (should be optional?) added pitchbend resend to all channels in poly spread group added CVIO input buffer debug info v1.17e5 fixed missing stored values, instrument or pattern assignments fixed USB sysex dump handling extended double-STOP for reset song position to all screens except pattern edit v1.17e4 fixed CVIO retrigger for gate off/gate on on same clock tick v1.17e2 fixed not quite fixed incorrect workscene recall on boot v1.17e1 fixed incorrect workscene recall on boot v1.17e - 17/9/19 fixed CVIO/dmux settings not refreshed after raw SYX load fixed dmux start_pos/frame_size limit bug fixed CC learn to aux row in P3 edit (enter CC select menu, press SCULPT, send CC) fixed text scroll mode skipping empty lines added support for CVIO v1.7 board (adds smoothing defeat for faster CV transients, and bi-polar option to extend CV output range to -5V; vscale adjustment required for pitch CV!) gate output retrigger timing off-loaded to CVIO CPU improved CV output glide behaviour added CC 118 - over-ride CV slide mode, range 0 - 4 added song copy function (select source song in song list then press COPY) v1.17d1 - 29/05/19 fixed CVIO DMA transfer possible buffer over-run v1.17d - 14/05/19 fixed possible crash after update through invalid instrument assignment/no songs loaded fixed blank page after exiting pattern edit with unchanged pattern and force save menu option enabled fixed ck pattern dropout while changing tbase in edit added hold SHIFT while selecting new scene to advance at scene end instead of gbar loop added CC value min/max and optional start value to MIDI CC track values added re-shaped expo slide response curve - increases maximum slide time to 30s, may affect saved slide values v1.17c - 27/04/19 fixed possible overflow of CVIO packet rx buffer added CV EG depth and velo controls (next 2 CCs after a/d/s/r) v1.17a1 - 25/03/19 fixed USB v1.17a - 23/03/19 fixed incorrect event triggering after selection of new CK pattern during playback changed swing behaviour, excess swing of CK notes clipped at 16th note boundary, instead of current view/quantise tbase v1.17 - 17/03/19 all non-volatile configuration settings moved to new config blocks, held in the static data area (area size increased to guarantee config blocks can fit with full-memory legacy data re-load) improved boot-time data check - regenerates song and instrument lists if pointers are invalid, missing configuration will be re-initialised with less scary/cryptic user warnings v1.11h config imported if detected, later betas need re-load of backup added 'off' default note for instruments, for former FTS root note/octave 4 behaviour fixed scene save not saving muted status for track with fill pattern only added CK edit ripple delete/insert functions - SHIFT + INSERT / DELETE to enable ripple edits - blank space inserted into pattern according to clipboard length on INSERT (or use INSERT + BAR to insert a whole empty bar) - length of DELETEd selection removed from pattern and following events moved forward added vertical current step highlight to CK edit grid added INSERT + option to insert empty bar in P3 bar edit mode added latency matching delays to json .CKC config files added CV output edge boost altered CVIO gate edge timing to ensure CV refresh happens before gate on improved CVIO linear slide behaviour added basic editing to CV microtuning table (access from main MENU, SHIFT + "tune") v1.16e1 - 31/01/19 fixed free space error fixed DIN clock output v1.16e - 09/01/19 fixed CV out gate mode added cv-num link option (after channel 16) for CV outs in gate mode; slaves gate to note CV out added dmux velo curve option 4 (0 - 5V accent out) added "SCENE advance in edit" user config option (still under test, report any weirdness) v1.16d2 - 18/12/18 fixed crash changing accidentals with no song fixed rounding errors in Hz/V offset/vscale calculations changed Hz/V CV output note base handling - range adjusted to maximise CV for top octave of output range added dmux velo curve option 3 (as option 1, but scaled for euro 12V powered output limit) v1.16d1 changed source level optimisation options fixed no-resync on p3 pattern edited for direction also playing on other track fixed mounting uSD for internal storage added dmux debug tool v1.16d built with cs 4.3.0 v1.16c1 fixed cluster of following events played after ck loop end with +ve reich ticks fixed smf import added basic MMC support for play, stop and record toggle (punch) v1.16b1 fixed unassigned pattern after aborting pattern import fixed swap track, multi MIDI chan selection not swapped fixed 'tie' for aux note chords in p3 poly step fixed p3 real-time record irregular lengths for long overlapped note v1.16b - 8/10/18 fixed incorrect usage counts for some patterns during song clean-up/unused patterns fixed path/filename caching for recent raw SYX backup fixed handling of negative values for some bipolar aux events fixed DP on receive if MIDI start during SYX load fixed P3 record mono/legato record handling for length=tie (?) fixed restart on incoming MTC QF after manual stop fixed CK record sculpt note input - hung note if row changed while SCULPT held fixed incorrect sync of new P3 pattern when created during steps 7 to 10 updated FATFS to latest build combined USB debug info to single page, added SOF count (for USB fail debug) added track swap function (on TRACK page, COPY + swaps selected track with edit track) added track level FTS - set with track control values fts-root and fts-scale added song size in blocks display above song play time added INSERT key in pattern select list imports .CKP file from SD/internal flash as new pattern added CK record - - SCULPTed notes soft-thru'd in record 'ready' - in CC view, knob A generates controller stream to record for current row - CC clean overdub - following CC events auto-deleted after new value recorded until record exit or pattern loops added CK edit, CC view - DELETE + BAR clears CC row in current bar added CC transmit to poly spread instrument duplicated to all voice outputs added poly AT transmit to poly spread instrument routed to matching voice as channel AT added quick save/lose shortcut ( [TRACK] / [PATTERN] ) for pattern exit with 'force save menu' user config active added quick access to pattern load from file - in pattern select list, press INSERT, then select .CKP file from SD card/flash to import pattern to current track added CK pattern loop points - FILL + sets loop start - LAST + sets loop end - FILL + BAR sets loop around current bar added experimental 'reich' track control value - alters length of playback loop for CK pattern by +/- 12 ticks for incremental phasing between tracks added AT option for CV out 'ctrl', responds to channel AT v1.15d RTC initialisation - altered backup domain access commands (was backup domain write acess being left active at power down ?) fixed RTC midnight irq handler fail fixed bugs related to ck event list handling fixed lack of warning of possible data loss when editing patterns with memory full added real-time record abort if memory too low to backup pattern changed ck event list handling so free-list can be empty - new block will be added to end of linked list on event insert added ck event list compact function revised ck event list record handling data structures added MIDI port 1 input capture mode for CVIO connected VCO auto-Vscale (audio input dongle required) fixed track output test-ensemble mode - MIDI port and channel taken from current track settings, not instrument def added FAT failure code number to "failed to create file warning" for debug v1.15c4 test build with key scan order reversed (minor fixes to key scan code) v1.15c3 - 22/1/18 fixed slow UI due to CVIO activity v1.15c2 - 20/1/18 removed [SHIFT] key press needed after CVIO fw-update fixed CVIO mux timing for pre-production boards on new firmware fixed CV bend handling fixed missing unskipped mask update on json P3 bar reload fixed possible port record option mis-read added (experimental!) "prh" tbase to P3 patterns, tbase based on last-step division of 4/4 bar v1.15a - 26/12/17 fixed CVIO refresh bugs EG settings not updating from config page 1V cal outputs not updating without other CVIO trigger event fixed unit number line wrap on boot screen fixed possible data corruption by poly midi spread enabled inst with bad va pointer v1.15 - 16/12/17 fixed display glitch on quant%/note% tcv values fixed ganged edit of delay in CK edit missing simultaneous events improved DIN sync startup relative timing of signal edges added default note and default pattern type values to instrument def v1.14c fixed re-select current step not resetting p3 step-time record position fixed grab of aux status track order limitation revised LED refresh code for reduced CPU load increased encoder scan rate added Env 'law' option for CV output to operate as ADSR envelope note range controls range of notes that will gate EG gate retrig option enables envelope retrig ctrl# sets base CC number for EG parameters: Attack=, Decay=, Sustain=, Release= cvio data calculation and transfer optimisation cvio and dmux latency comp delay re-written using packet-based queues added CVIO 1v calibration page - from CVIO config, SHIFT + INSERT to access measure voltage between CV out 1 and 2 with accurate multimeter adjust 1v calibration value, then SAVE to set default scaling for vscale 10000 added latency matching delay parameters to Raw SYX dump added legacy p3 record note lengths option - hold SHIFT then press "length" option in record menu; * shown next to off/tie options; does not apply to 'long' option v1.14a fixed odd scene xpos values in .CKS output fixed possible duplicate pattern name, when re-naming to existing edit copy name fixed CK grid not redrawn when new row is fixed in "add/edit rows" fixed filtering of repeat CC values for CC 6/38 not applied when NPRN/RPN in use fixed possible crash for pattern playing with unassigned instrument CVIO firmware update - link protocol re-designed for interrupt driven read - 1v calibration value stored in CVIO EEPROM test envelope generator CV output added CK edit, tails of notes lasting from before bar start appear on grid added "MIDI tuning received" popup v1.13f2 - 11/8/17 fixed JSON "fill_release" value load error v1.13f - 31/5/17 fixed object value list truncation error (instrument assignments/track values not saving) fixed possible duplicate pattern name creation fixed scene xpos value incorrectly written to CKS fixed missing xpos FTS flag in CKS fixed missing fill release mode in CKS fixed missing comma for "always show" inst row without label in CKI added LAST key in song select list jumps to last entry v1.13e3 - 24/5/17 fixed incorrect quantise of CK pattern set to inf. loop v1.13e2 - 23/5/17 fixed clock send interrupting large sysx pass thru added support for mb v2.5 v1.13e1 fixed internal SD access v1.13e - 14/4/17 fixed possible crash following use of rndmz note aux v1.13d - 10/3/17 fixed no clock while stopped/record midi thru bug added no clock while stopped support for CVIO gates in clock mode fixed incorrect note lengths in P3 real-time record, length=tie/off enforced CVIO gate off period when new note on follows last note off in same tick v1.13c - 21/01/17 fixed display redraw issues v1.13b - 16/01/17 added midi clock send option for no clock while stopped, toggle with SHIFT + on port config page added note numbers/drum labels to p3 edit row view for main note or note aux values v1.13a - added [Hidden TVs] warning below instrument on tracks with stored track values not assigned a slot in current instrument added track values options to song clean-up - delete hidden TVs, delete SCENE / SONG TVs for edit track added pulsed-accent configuration option to D-mux config page for D-mux v3 boards added scrollable view of microtune tables added CC view in CK edit added CVIO gate port input mode added instrument "show note nums" and "presend pgm" options to inst edit and CKI JSON schema added validity check for seek to more_fdacs blocks fixed some track value handling oddities fixed? P3 fine length recording too long on notes in off/tie mode fixed CK quantised note record with CCs start-time order bug fixed delete instrument w/o reassign BBRAM error fixed 'mask * dAcc>=n', 'mask * n>dAcc' and 'mute trk, dAcc>n' event behaviour fixed incoming MTC QF rate select error for 25/30 fps v1.12d - added quant% applies to P3 delay values (scales delay to 0 as quant% -> 100%) added enhanced BBRAM error check and reporting fixed Hz/V mode CV pitchbend bug fixed track key mode bug after pattern export v1.12c - 7/05/16 fixed MIDI track value handling for tracks with poly spread instruments fixed play restart after MIDI stop on note when record active, slaved to clock fixed loss of CK playback after extreme swing of last step before loop fixed dropped notes with high combined quantisation and swing shift fixed .CKS song re-load linking pattern edit copies to scene objects added clear of workscene pattern/fill assignments using DELETE + SCENE key combination on SCENE page added un-quantised P3 record - delay values capture exact note timing added finer resolution gate length timing for P3 real-time record (length=off/tie) added quantised CK record - notes are quantised to nearest step (other events not quantised) added CVIO 1 Volt calibration value - globally adjusts CV scaling so default 10000 vscale gives accurate 1v/octave v1.12b - 24/02/16 fixed text alignment for display names and values in track values page fixed OOR track fill mode after num_tracks increase crashing write to .CKS file fixed USB tx buffer size removed p3_bar next_ and previous_step metadata generation, replaced with masking and lut added CK apply quantise affects only GANGed notes while GANG is active v1.12a1 fixed track value selection fixed MIDI latency compensation delay v1.12a fixed crash creating new instrument with poly spread v1.12 fixed replace instrument after inst deletion re-routing all tracks MIDI output fixed crash when changing instrument selection during CK playback of long note over-lapping same note on new instrument fixed possible invalid MIDI values for un-assigned track fixed access to newly saved scenes in scene list view added poly_spread instrument option - spreads output across n channels on port, with poly assignment of a single note to each channel, up to 16 voices new instrument object increases track value slots to 180 (30 rows of 6 in track page) added DMA transfer for SD-card access added current p3 accumulator values shown above p3 edit menu added 9600 ppqn import for smf simplified ck note record duration capture end of release code fork ============================= v1.11h1 fixed C1K problem (serial number now shown as 4 digits) v1.11h applied fixes included in 1.13f beta v1.11g3 fixed clock send interrupting large sysx pass thru added support for mb v2.5 (code fork) added debug information for date/time not set v1.11f6 added enhanced BBRAM error check and reporting code forked for release builds ============================== v1.11f5 fixed ck edit pattern drop-out v1.11f4 fixed A/T record bug v1.11f3 added latency compensation delay for DIN sync output fixed soft-thru of duplicated note-on not releasing held note before sending new note on (could lead to hanging notes on synths with multiple voice assign for duplicate note) fixed CK pattern re-sync bug causing temporary loss of pattern playback after bar length edit v1.11f2 fixed CVIO velocity output clip fixed crash during CKS song load, skipping loaded song fixed CKC d-mux config save of DIN sync settings v1.11f1 fixed NEXT + SONG behaviour with no songs loaded v1.11f fixed CVIO DMA transfer crash on rev Z CPU fixed reload of CKS song storing edit copies as pattern refs fixed infinite timeout on SD card read failure fixed hard fault handler check for process stack changed song load to automatically increase track count if required, instead of aborting load v1.11e1 fixed CK edit DELETE + BAR, incorrect range fixed swap aux bug fixed sending CC from aux D fixed vscale calibration page, semitone offset in v/oct ref notes added "knob n to auxC/auxD" knob range scaled to maximum value of assigned event on target aux v1.11e fixed erroneous bbram warning after forced power-on memory wipe fixed CK edit DELETE incorrect range of selection & restored pop-up count of notes/events cut fixed P3 sculpt to wrong step at bar advance fixed CK pattern playback FTS bug added record mode CK sculpt starts playback changed dmux configuration to support assignment of D-sync outputs change dmux board config page so frame start position starts from '1' to match trigger output numbers on trigger map page v1.11d3 fixed missing "hold" flag in P3 pattern JSON output fixed unchecked dmux setting causing crash v1.11d2 added CK edit event list shows track value labels if defined for CCs player allocation changed to first use active player matching output note, rather than input note fixed P3 pattern polyphony on track 1 ( * looks like + without glasses) increased "rep step * n" limit to 256, fixed value display error v1.11d1 fixed possible out-of-range track bank value - may cause crash hold & turn edit step increments of "xpose by n" and "set rep*n note+" events changed to 12 (step in octaves) v1.11d added SCENE delete from scene list (press DELETE to remove currently highlighted scene) enable SAVE of current scene in scene list fixed auto-name increment bug allowing duplicate scene names fixed JSON file line number count clipping blocked loading of duplicate scene names from CKS file fixed .CKS song load crashing if memory becomes full during pattern creation fixed issues with pattern edit when memory full v1.11c6 fixed usage count update bug (causing slow UI with large songs) removed unnecessary scene checking for edit copy and backup pattern deletion (slow UI) fixed CK record buffer overflow receiving non-note events before playback starts v1.11c5 fixed SHIFT + TRACK mixer page bug where VALUE encoder will cause all tracks to rise/fall v1.11c4 removed debug code causing DPs v1.11c3 fixed loss of CV tuning tables on power-cycle v1.11c added separate notes/events count for cut/copy in ck edit added support for 8 CV microtune tables - MENU, then SHIFT + tune for table select or send PGM message to CV port fixed json event list save bug (spurious comma) fixed save all track values bug fixed slide state bug on CV outs assigned to ctrl only fixed scene change mute bug when slaved to stopped external clock removed external tempo readout from scene list fixed raw .SYX save bug for empty song/instrument lists fixed CK event list block leak on song delete v1.11b (X) optimisation changed to minimum code size for all non time-critical modules beta test build only v1.11a fixed CK edit blob position wrong at maximum delay value improved player assign stealing (no stealing at maximum new players) v1.11 fixed bug allowing playing song to be over-written by loading .CKS file, causing crash added Standard MIDI file import (MENU, Card/Sysex, card LOAD, Import SMF) added sub-folder support for SD-card Load/Save operations added option to save all/single instrument defs added Latency compensation delay for D-mux output stream - Latency comp. delays adjustable independently for MIDI ports 1 - 5, CVIO and D-Mux added note tap in CK record using SCULPT key - enters note of current row with velocity by knob A revised instrument def .CKI format to support CC labels without assigned track values added instrument def editor CC0 and CC32 as bank select options added placeholder for CC label editor added user config option "select main ptrn on trk chg" - if FILL pattern field is selected for edit, change of edit track returns selection to main PATTERN field (except if fast track switch is used from edit mode) v1.10b HOLD flag enabled in P3 patterns (equivalent to P3 length = 13); hold SHIFT then turn encoder clockwise on LENGTH row to enable HOLD player assignment tweaks v1.10a ck edit event list view includes events in last helf-step period before a bar loop point (events recorded there in realtime record were not previously visible without extending bar length to see first step of next bar) grid view shows blob for notes in last half-step, not yet editable without increasing length v1.10 fixed possible CK pattern loop length error after copy&double fixed CK pattern loop length error on other tracks playing edit pattern fixed P3 step-time record position select in another bar fixed non-playing pattern after creating new pattern of different type added instrument select picks default midi channel for multi inst, or increments channel if (track - 1) has same multi instrument assigned added microtune support for Hz/V CV outputs CV calibration for Hz/V now includes absolute tune correction using vscale rationalised MIDI output functions to support ensemble routing various ensemble test code and data structures added dmux configuration revised & extended "drum trig config" option added to more> menu SONG delete enabled from song list - press DELETE key, then confirm ---------- v1.09e modified handling of bankM, bankL and pgm track values - all values now sent as a group when any value changed (if bank values in use for instrument) added instrument options to use CC0/CC32 as standard CCs (disables grouping of send/store with pgm) - still to add options to instrument edit page added "save all TV edits for SCENE/SONG" options to track values page SAVE menu - saves all currently edited track values for all tracks; use with caution if you have MIDI CC track values assigned to the same instrument on multiple tracks - duplicate values will be saved (fix TBI) modified response to incoming MIDI stop when "ignore MIDI STOP while master" user config option is enabled - MIDI stop on any MIDI input other than tempo master will also be ignored when in slave mode added user config options "SHIFT+[trk] mutes active" - option allows active tracks to be muted at the next gbar loop using SHIFT+[track key] added LED indication for copy in P3 edit to match CK edit ---------- v1.09c fixed bug with cancelled copy/delete in CK edit added "step rep*n" aux event - re-plays the current step n times without advancing added DIN sync triggers to dmux output ---------- v1.09a added CVIO gate output independent of CV output - turn "cv_num" value in gate config beyond 16, label will change to "chan" for MIDI channel selection gate will respond globally to any notes on that channel, without needing link to a CV output moved dmux mapping configuration to bbram ---------- v1.09 fixed raw syx load problem with empty card added "run" and "rst" options to PPQN setting for gate output in clock mode "run" - gate on during playback; "rst" - short gate pulse at start added CVIO gate mode "inverse" - gate on = 0V, gate off = 5v; suitable for Yamaha CS40M/CS15D changes to dmux frame handling ---------- v1.08c modified encoder handling ---------- v1.08b added offset calibration page for CV outs in Hz/V mode - press 'offset' encoder to access from CV out config page, as with Vscale calibration for V/oct mode tune low and high Cs two octaves apart, then press save to store the calculated offset value to match the attached synth. note there will likely be an absolute tuning shift after the correct offset is saved, but I should be able to do something about that. in the meantime, correct the tuning at the synth, or using the lower range limit. ---------- v1.08a fixed possible slave mode clock and tempo display issues fixed tbase copied to new bars when p3 pattern extended fixed numeric display in graph view of inter-track events fixed P3 gang bug ---------- v1.08