Leaqio.com
colugomusic from patreon
colugomusic patreon

Dev log #26 - The Most Horrible Code In Blockhead

🕑 Added 2020-11-12 12:20:12 +0000 UTC

Comments

Marek Bereza

Ah, very sensible. Probably a bit of a rabbit hole, but hot reloading is nice way to prototype quickly in C++ - I have a thing I made here: https://github.com/elf-audio/cppsketch - but it's mac/linux only for now :( - this project does it on windows but it's tied into a whole graphics engine: https://github.com/tgfrerer/island

Colugo Music

Writing C++ UI elements in Godot always involves creating a class that inherits from godot::Control or something like that so that can sort of double as a way to help enforce that audio/GUI separation. e.g. For the catch buffer I ended up with a CatchBuffer class and a CatchBufferView class

Marek Bereza

Really nice drag and drop is a pain to do in any language I think - maybe it's partly because it's messing with the view hierarchy, by pulling things in and out of it, working with your long list of exceptional cases etc. Last time I had a bug with drag and drop, basically had to rewrite it to understand what I wrote the first time round :-S Using GDScript in blockhead must help you enforce a decent amount of code separation which is awesome especially with audio software, where there are threads flying all over the place, so I guess it's important to maintain that aspect if doing more UI in C++ - it's so tempting to mix it all up and end up in a rats nest (that's basically my life these days).

C++ is so ubiquitous / reliable. Better to change things now and achieve greater scalability and future ease, than to hit roadblocks or functionality dead-ends later down the road. All the features and developments thus far have been very exiting and I (along with many others) look forward to where Blockhead will go from here! In a world full of DAWs, Blockhead is unique / truly offers its own perspective and approach, which we have not seen in years


More Creators