devlog > adc23
3D visuals for modulators
Captain's Log: Stardate 77371.4
Now that I'm done with the ADC talk as well as the holiday, I am happy to be back to full-time work on Anukari.
Today I got quite a few small things done. MIDI control modulators now have their own basic 3D model, which looks like a knob and spins when the MIDI input changes. Visual updates from MIDI modulation now show correctly in the 3D view, so e.g. changing the position of a mass via a knob shows up with smooth motion. And I continued to improve some of the modulation infrastructure so that it will be easier to add more modulator types (soon).
I also fixed a couple bugs, and applied a small optimization that I learned about at ADC, using arch-specific pause/yield instructions for the spin-loops in the thread synchronization code. At the least, these should save a bit of power, but they might also help with better pipelining etc.
Right now I'm planning to add some more modulation targets and then begin work on the next long-form demo video. The current plan is to do basically a live demo where I create an instrument from scratch and talk through the whole process. None of the existing demos really show how the GUI works in detail and what the workflow looks like, so I want to go into that.
Finally done giving my ADC23 talk
Captain's Log: Stardate 77350.1
I gave my ADC23 talk today, which means that finally I can unload that process from my brain state and get back to fully working on Anukari. It was a pretty huge distraction, but early signs point to the idea that the whole thing was worth it, in terms of making some really good connections in the audio dev world, and learning a few things from other talks I attended. In particular, there were some really good talks about actually getting a plugin all the way to market.
Now, I just can't wait to get all the travel home done to sleep in my own bed. 🙂
Adding modulation, working on ADC23 slides
Captain's Log: Stardate 77168.9
Today work on adding modulation continues. The design I chose is that modulators will be a separate 3D entity in the world, which are linked to the objects they modulate. The links store the properties about the modulation operand and depth, i.e. the routing table.
The modulators themselves are general: right now they just include MIDI continuous control, but this will expand to DAW parameters, LFOs, envelopes, perhaps envelope generators
Today I fixed the icons for the new entity types in the right-hand editing panel, and then spend a while chasing down a crash bug in JUCE and fixing it: https://github.com/juce-framework/JUCE/pull/1296
Of course the other thing that I've been working on lately is practicing and refining my ADC23 talk. It's at a point where I could deliver the talk and it would be pretty good, but I got some feedback from a friend and am making some tweaks to make it more digestible. Maybe I can share the slides here in a week or so once they're not changing much.
One fun thing I'm putting in the slides is this video, which shows what happens if the GPU code doesn't correctly make use of synchronization/barrier instructions
(No audio because I don't want to destroy anyone's eardrums.)
Captain's Log, Supplemental
Today I finished incorporating some feedback into my ADC23 slides, and they're in OK shape to share with folks here in Discord. I would request that they aren't shared publicly, as they're not yet final. Any feedback would be appreciated!
https://docs.google.com/presentation/d/1k8NnuJETrnWBCk-UMaEpZ-JR09DICVYJQszm2LaXreo/edit?usp=sharing