i can see either option being useful - perhaps this should also be configurable, and making it default to not reset?

not near the modular atm so can’t try it, but i think this should be doable: go into series, stop the clock, set the desired position, then start the clock again. would that achieve what you need?

configurable pattern start is a good idea! :slight_smile:

about series mode: i think the main ideia is to edit a pattern, make a copy, and chain them without stop the clock… the way it is now i have to stop clock or miss some steps, not useful in a live situation… :confused:

actually, re-reading your first message i don’t think it would be possible to reset to first step after stopping the master clock in direct mode, because it wouldn’t be able to differentiate between a stop and a long break. you could make it reset after a certain amount of time but that’s unreliable and you could get unintentional resets. what can ben done is having the option to reset when using the start/stop button.

re: editing series while in pattern editing - agreed it would be useful, but it would be a separate change.

reset using start/stop is very useful thx! :slight_smile:

new version: whitewhale.hex (136.8 KB)

fixed a potential bug, WW.SYNC will now work properly for both direct mode and tap tempo mode, and added a setting to have patterns reset to first position when starting the clock.

the setting is on the clock settings page, 3rd button from the left in the bottom row. it’s disabled by default. the setting is saved as part of preset.

3 Likes

Will give it a go right now, long time i don’t have the ww firm installed, so it will take me a while to remember it…

1 Like

i made the following cheat sheet for myself, hope this helps!


row 1 - switch between triggers/cv, meta to mute, alt to switch between triggers/gates and curves/map
row 2 - cut to position, set loop length (hold meta to not cut), alt to select step mode and direction
row 3 - pattern, alt to queue, hold src then dest to copy
row 4 - mutes (depends on which trigger/cv page is selected)


TRIGGERS

change triggers
alt to capture live triggers
meta + step to activate trigger choice


CV A / CV B CURVES

row 5 semitone up, hold row 6 for fine tuning, hold alt for octave shift
row 7 semitone down, hold row 6 for fine tuning, hold alt for octave shift
row 8 + param knob - change current step value, hold row 6 to not quantize

copy: row 6 on source, then row 6 + alt on dest
randomize: row 6 then row 8 (range determined by param knob)

meta + row 5 or row 7 - transpose all 16 steps (alt for octace shift)
meta + row 6 then row 8 - randomize all 16 steps

alt + bottom right to record param knob, release to stop recording


CV A / CV B MAP

alt + row 1 to switch to map
row 5 step to set
row 8 select scale tone, hold to select multiple

rows 6/7 up and down, first 4 columns (octaves, fifths, semi, fine)
alt + bottom right to set current scale tone to param knob

alt + bottom left to display map presets


PROBABILITY

alt + row 4 to select


SERIES

alt + meta to select
meta + param knob to scroll
alt + rightmost to set the end
alt + 2nd rightmost to set the start
alt + leftmost cut to position

press and hold to select multiple patterns


PRESETS

front button to select, hold to save the current preset
left column selects preset, press again to load, hold to save
right 8x8 is glyph


8 Likes

Thank you!! White whale is a beast. Super terse cheat sheets are a huge help.

In fact, I’m tempted to type this into the description of a teletype script, just so that i have it handy.

1 Like

it could use some editing - this was something i quickly threw together when working on a different ww mod. ww is a beast indeed - i only use half of the features really!

1 Like

Thanks for that. I thought I had a pretty good understanding of all of the features of WW, but from that I can see I’ve missed one or two!

1 Like

That’s handy indeed! thanks :slight_smile:

1 Like

heads up - i’ve hit a nasty bug a couple of times where the clock just stops. when that happens you can still use direct mode, but i wouldn’t use the firmware in live setting right now.

i have some theories as to what might be causing it - part of the problem is i can’t reproduce it reliably, so have to rely on theories. i have a couple of ideas on how to strengthen it, will post a new version when that’s done. in the meantime if anybody manages to get it into this state reliably - this would be a huge help!

2 Likes

wow…I missed all of this!!!

Was jamming around with WW & AS/Kr this morning. Both externally clocked and using the Switch to switch between the two. I noticed some glitches in the clocking of WW when switching between the two. @scanner_darkly any idea if this might be related to the clocking changes??

are you using a beta from this thread or the official firmware? i didn’t make any changes to clocking in the official version.

do those glitches happen just after you switch and then it goes back to normal, or does it stay that way? it’s likely due to the USB handshake having higher priority than the timer interrupt, so some glitching is to be expected, but it should resume normal operation after that.

Yep, beta from this thread. And yes, it’s a glitch on the switch, and then reverts to normal behaviour. Your suggestion makes sense. Is that something that could be fixed? What would the likely impact of reducing the USB handshake priority be?

this is only a guess since i don’t know much about the USB implementation, but it will likely fail to establish a connection with grid if it was given lower priority. could be interesting to try it though. let me know if you want to give it a try and i’ll see if i can find my branch corresponding to the beta posted here, it’s been a while.

i should probably also clarify the state of this project.

i had to abandon it as i couldn’t make it work to my satisfaction. perhaps my goal was too ambitious. what i wanted to do was create a reusable implementation of a clock that would sync to an external clock with chosen division/multiplication (so you could have a synced clock that runs at 3/5 of the external clock rate, for instance). it would also allow you to change div/mult at any point with the clock still running and preserving the phase relationship with the external clock. in the context of white whale that would mean you could have different patterns using different div/mult ratio, and it would switch between them while still being phase locked to the clock. if you consider that different patterns can have different lengths this becomes a non trivial task (i don’t know if there are any sequencers that allow you to do this).

it almost worked except when it didn’t. it could run for an hour without missing a beat and then it would go out of sync. i spent many hours using both a debugger and an oscilloscope and listening to a click track waiting for it to go out of sync. trying to investigate race conditions is most certainly no fun at all, especially when it looks like some of them are related to something else really “fun”, like memory barriers. so at one point i had to just stop because i couldn’t dedicate any more time that could’ve been better spent working on some other firmware.

i might come back to this at some point, maybe just make it work for single patterns, but will probably be a while. for some time i couldn’t even look at that code anymore…

2 Likes

Fair enough! Stuff like that is I’m sure a total pain to try to debug.

not to say it’s completely unusable, i just didn’t want people running into sync issues while playing live. if you don’t mind an occasional glitch it should be okay to use, i should post the latest version i had. having a series of patterns with different length and different clock div/mult ratios or changing div/mult while a pattern is playing is a lot of fun!

debugging - i would take screenshots of glitches and look at them during the day or while on a bus hoping that maybe i’ll get a hint as to what might be causing it…