the #rust #tui #daw is actually starting to look cool!

some things in the code become unwieldy where shared ownership is involved. it gets tricky because the model and the view aren't really decoupled.

one feature important to me which #ableton does not provide: being able to extend clips across scenes ("remove stop button" doesn't count)

this is probably the most advanced rust code that i've written so far. i've seen way more complicated codebases but this is as far as my cognitive capacity stretches. especially considering my cure for anxiety and depression is sleep deprivation (don't do that kids 🤣) always can waste 3 more months rewriting it in #zig - or finally get with the program and configure better ide integration for rust in #neovim

Show thread

delete key now removes clip (instance of phrase) from arrangement.

wondering whether to store a separate set of phrases in each track (sequencer), or have a global phrase pool for the entire project (so the same phrase can be instantiated on multiple tracks and play with multiple voices)

the first (track contains clips) is more conventional, the latter (track contains *instances* of clips) seems simpler to implement and honestly just so much more flexible to use

Show thread

the entire thing is already pretty convoluted and it's not even usable yet. the arranger contains tracks (a.k.a. sequencers, i.e. columns) and scenes (i.e. rows), but each scene contains just a list of which phrase is active on each track for that point in time ... nah, that won't do, one Arc<RwLock<Vec<Phrase>>> for all tracks it's gonna be and then hopefully i'll be able to simplify it enough to figure out how to actually highlight the sequencer when it's focused :D

Show thread

and another thing that ableton can't do, which will be pretty easy (once i've separated view layer from model layer some more, i guess)

showing "session" (vertical tracks) and "arrangement" (horizontal tracks) simultaneously 👽 so i can see have *both* the clip palette and the temporal representation of clips...

i think #bitwig that feature in some form (picrelated)

but since i can't show waveforms anyway ima try to do it more compact

Show thread
Follow

@unspeaker
Live CAN do that — starting with 9 I think, that's when they've added the option to have two windows, I use it with two displays and sometimes it's handy, but not essential — you can do the same by dragging clips and pressing Tab to switch between Session and Arrangement views.

@m0xee forgot dual window mode is a thing 🤦‍♂️

was quite excited when they enabled it. but it was around that time i was stopping using windows (setting back my music production by about half 🤣 ) so can't really say i've taken it through its paces properly.

thanks for the reminder - my next ableton jam will be in dual window mode and i'll see what i can learn from that. definitely needs 2 displays tho 🤔

damn now i gotta check if they stocked yet another monitor arm at the shop down the road 🤣

Sign in to participate in the conversation
Librem Social

Librem Social is an opt-in public network. Messages are shared under Creative Commons BY-SA 4.0 license terms. Policy.

Stay safe. Please abide by our code of conduct.

(Source code)

image/svg+xml Librem Chat image/svg+xml