Update Notes
Bugfix: Crash when a warp marker is dragged off the left edge of the workspace.
Bugfix: Crash when creating a macro that contains a meta block.
Bugfix: Crash when attempting to add something to a track from the track header context menu.
Bugfix: Current editor is not closed when a manipulator or parameter is removed (which could then lead to a crash if the editor was interacted wit...
2023-09-05 14:56:56 +0000 UTC
View Post
Update Notes
Bugfix: Envelope editor 'Clear' button clears the previously open envelope, if a new envelope is selected before closing the current one.
Bugfix: Warp data is not immediately sent to the audio engine when a project is loaded or a block is copied.
Links
Known Issues: https://trello.com/b/MT1A3Zob/bloc...
2023-09-03 12:15:06 +0000 UTC
View Post
Update Notes
Bugfix: Crash when hovering manipulation target picker over a Blink parameter slider.
Bugfix: While resizing a block, choke fadein/fadeout sections do not auto-shrink when they need to.
Bugfix: Choke envelope settings are not correctly loaded during certain operations, (e.g. "copy", "make unique").
Bugfix: Dynamic chord editor 'Clear' button doesn't update editor visuals.
2023-09-02 13:07:06 +0000 UTC
View Post
Update Notes
Bugfix: Crash when hovering a contracted block and pressing Escape if one of its editors is currently open.
Bugfix: Crash during drag/drop operation if there is a tempo guide block hiding behind the track level meter.
Bugfix: Possible crash on "Delete unused samples" operation.
Bugfix: Modulation buttons can't be clicked if there is an expanded effect or synth on the lane directly ...
2023-08-30 15:18:17 +0000 UTC
View Post
Update Notes
Bugfix: Crash when a deleted macro is undo'd back into existence if an input track was set.
Bugfix: Crash when slicing a macro if an input track is set.
Bugfix: A macro with an input track set may erroneously generate a silent baked output if it has no audible content.
Bugfix: Sidebar doesn't always open when pressing a system bookmark.
Bugfix: "Is song start" t...
2023-08-28 23:55:54 +0000 UTC
View Post
Update Notes
Bugfix: Crash when the track color picker button is pressed.
Bugfix: Crash when an effect block is pressed in the block browser if autoplay is enabled.
Bugfix: Possible crash when the choke level editor is opened from the context menu.
Bugfix: Possible crash when the "overall mute" state of a block changes.
2023-08-27 15:14:10 +0000 UTC
View Post
My focus at the moment is to keep finding and fixing bugs until we have a good build which people can use for extended sessions without crashes or project files getting corrupted.
My guess is there will probably be a couple more builds before we get to that point but please have a try and see what you think.
For more development videos you can check out my YouTube channel here: https://www.youtube.com/@...
2023-08-26 12:24:37 +0000 UTC
View Post
I want to get better at talking into a microphone so I recorded this video of me mumbling and struggling to think straight because I'm not used to talking. If you are wondering what it's like working on Blockhead then a lot of the time it's something like this. I don't recommend watching the entire thing unless you are taking part in some kind of "ultimate boredom challenge"
https://www.youtube.com/watch?v=p...
2023-08-09 21:13:44 +0000 UTC
View Post
Hello I am still alive! Thank you everyone for bearing with me as I am still going through this gruelling refactoring period. I am still dividing my time between Blockhead and contract work but mostly I have been working on Blockhead since my last post. I have been quiet but that is just because there is little to talk about when refactoring.
Sorry v0.28.3 is so buggy. My priority is still bug fixing and stability but some of the issues are so deep that they require these large changes ...
2023-07-31 22:51:38 +0000 UTC
View Post
A note about version numbers
...because I have never mentioned it anywhere:
- Each blockhead build gets a version number in the format v0.0.0.
- The first number is always zero because we are still in alpha.
- I increase the second number by one when I add new features.
- I increase the third number by one for anything else (e.g. bug fixes and other non-feature updates)
So with this build we are going from v0.28.2 to v0.28.3 be...
2023-06-06 18:57:12 +0000 UTC
View Post
I am beginning jury service tomorrow and they haven't told me yet how long it will last but I assume about a week.
Once I am done with jury service I will likely be doing some unrelated contracting work to help pay the bills and then I will be able to get back to Blockhead.
Since build v0.28.2 I have been doing a bunch of work on performance and stability improvements, and general code clean-up. I was really hoping to finish this before starting jury service but unfortunately I di...
2023-03-12 14:15:43 +0000 UTC
View Post
Update Notes
UPDATE: Improved playhead synchronization (it will better visually represent the actual song position even with large audio buffer sizes and while looping.)
UPDATE: Background task information takes up less vertical space
BUGFIX: Crash when a manipulator block is opened for the first time
BUGFIX: Crash when a manipulator target editor is opened
BUGFIX: Backgroun...
2023-02-26 09:47:07 +0000 UTC
View Post
Update Notes
This is a quick update to fix some major stability issues in the previous build. Apologies if your ears got blasted off.
BUGFIX: Possible crash or glitching when changing a block while it is playing back.
BUGFIX: Crash when trying to preview an MP3 file from the file browser.
Links
Known Issues: https://t...
2023-02-25 06:47:49 +0000 UTC
View Post
Update Notes
NOTE: Projects saved with older versions of Blockhead will be incompatible with this version.
FEATURE: If you add a file to the project which Blockhead fails to read as a valid audio file, you can select it in the sample browser and a "Reinterpret File Bytes" should appear in the lower panel. This allows you to interpret the raw binary file as audio data no matter what it is. The result will usually be horrible so onl...
2023-02-24 06:39:22 +0000 UTC
View Post
I am tearing myself away from the code to write this post, just because it has been way too long since my last one. Usually I write a post when I hit some kind of coding or design milestone but all January I have been working away on the same thing and it's not quite done yet, and when it's done, nothing will outwardly change because it's a big internal refactoring which needs to be done for the instrument system.
I will go into detail on what exactly I am doing at the moment but first ...
2023-01-26 14:31:32 +0000 UTC
View Post
Update Notes
MIDI is currently disabled on Linux because unfortunately Godot's MIDI implementation is still broken. It looks like there is not currently much interest in fixing this for Godot 3.x (and I don't want to do it myself.) For now I'm just leaving it disabled on Linux but I think there are probably more reliable MIDI libraries out there which I can use instead, so at some point during the development of the upcoming instrumen...
2022-12-26 15:46:02 +0000 UTC
View Post
Update Notes
The sidebar has been redesigned. The old "Samples" and "Blocks" tabs are still there temporarily but they will be replaced by something better in upcoming updates.
Update: The sidebar looks different.
Update: Block snapping is no longer disabled by holding down a modifier key. Instead there is a new toggle on the sidebar to turn it on or off. You can also toggle it using the keyboard shortcut (default: P).
2022-11-25 14:50:14 +0000 UTC
View Post
Update Notes
Update: Dragging/resizing a block will no longer affect the other blocks in the selection if the target block is not also in the current selection (This is similar to the old v0.26.0 behaviour except now the selection is not automatically cleared.)
Bugfix: Crash if a block is stamped outside the area of a track.
Bugfix: Possible crash on project unload if there is at least one tempo guide in the proje...
2022-11-17 14:05:39 +0000 UTC
View Post
I have been asked several times about this in the last few weeks and coincidentally it is one of the things I am going to be looking at soon now that Macro blocks are working, so I have been thinking about it recently and had a funny idea. Ultimately I think there will be many different ways of getting chords and phrases from your fingertips onto the workspace so this is just one idea of many.
There is going to be some way of creating instruments in blockhead which you can play via MIDI...
2022-11-17 13:39:39 +0000 UTC
View Post
The minimum macOS version required was bumped from 10.13 (High Sierra) to 10.14 (Mojave). This was done simply because it was a quick fix for a technical problem I had (a certain C++ feature not being supported on 10.13). But if you have been using Blockhead on High Sierra and this makes you really sad then let me know and I will see if I can fix the problem some other way and get the minimum required version back down to 10.13.
Update Notes<...
2022-11-14 07:54:35 +0000 UTC
View Post
The re-write of all the drag and drop stuff is going well. I just got to the point of handling the sample override feature. Currently if you are stamping a single sample, you can hover over an existing sampler block to override the sample to the one you are stamping, and if you want to keep it, just left click to assign the new sample to the sampler block. Up until now this has been coded in a pretty hacky way, because I have always planned to generalise the idea to allow overriding entire bl...
2022-11-09 08:34:08 +0000 UTC
View Post
I released v0.26.0 and nobody has reported any catastrophic show stopping bugs yet so I guess it's a success, or not many people have tried it yet. I also assume that the package is properly notarized and macOS user are able to open now it with no problems.
It feels important to me to be able to keep uploading new alpha builds since I have nothing else to offer for Patreon rewards except for these boring blog posts. This sometimes leads to an unnecessary amount of stress especially when...
2022-10-31 10:54:49 +0000 UTC
View Post
Known feature issues in this build:
- Bouncing of send/receive blocks is still not supported. This is because a new read/write memory buffer needs to be created for use during the bounce operation (this is not necessary during baking because the Send is always fully baked before any connected Receives.) I would rather not allocate a new buffer every time a send/receive needs to be bounced so I will likely try to do something where a single re-usable buffer is used f...
2022-10-25 03:51:55 +0000 UTC
View Post
One of the last-minute bugs while trying to get v0.26.0 out the door is that manipulators are not being applied in the right order when macros are involved.
The way that manipulators are combined follows a simple set of rules. They are applied to target parameters top-to-bottom, so if a manipulator B appears below manipulator A on the workspace, manipulator A is applied to the target parameter first, and then manipulator B is applied on top of it.
The only other factor to be aware...
2022-10-17 18:01:07 +0000 UTC
View Post
I'm not giving any more time estimates but v0.26 is pretty close to being done now. Mostly it is just a case of clearing up small bugs. I can hardly believe it has been an entire month since my last update, so I wanted to let everyone know that lots of progress is being made.
The large engine refactor I wrote about in my previous post is all done and seems to be working very well.
I als...
2022-10-07 18:53:34 +0000 UTC
View Post
I was getting pretty close to finishing the implementation of Macro blocks and came across it pretty big problem, so as is typical in software development my previous estimate of "a couple more weeks" I think is 100% wrong.
I'm now about to embark on a pretty big refactor of the audio engine, though I'm feeling positive about it, and I don't actually think it will take that long (maybe just add a couple more weeks to my previous estimate.) I feel like I know exactly what the problem is ...
2022-09-09 17:18:47 +0000 UTC
View Post
I have just received a small influx of subscribers because prox.bleep posted a cool video on Twitter so I thought I should just write a quick note for the new people with some information about what's going on with the project.
The latest build (v0.25.2 alpha) is here:
https://www.patreon.com/posts/blockhead-v0-25-68514096
It has a silly bug where the "Mix" parameter for effects...
2022-09-06 18:42:53 +0000 UTC
View Post
Thanks for bearing with me this last month. The implementation of the macro system has been a particularly soul crushing experience but I am now starting to see some light at the end of the tunnel so I am finally happy to write an update post.
In my last post I estimated the macros system would take "at least a month". That was a little over a month ago and I feel like I'm about 75% done. However things have slowed down a little now due to the sheer difficulty of getting the last few pa...
2022-08-22 16:28:46 +0000 UTC
View Post
I'm now well and truly underway implementing the new macro system. I have a pretty good idea now of how all the pieces fit together so it is just a case now of consuming a lot of caffeine and powering through it.
I estimate it will take at least a month for the next build and it won't be a full implementation of the macro system.
For v0.26 I am probably going to aim for this basic stuff to be working:
- Right click a track and select "Empty macro" to create an empty macr...
2022-07-19 17:03:12 +0000 UTC
View Post
When blocks are moved around a bunch of stuff is happening behind the scenes. One of the most complex things going on is the dependency graphs.
I have been working on implementing macros and the existing implementation of this stuff was giving me a huge headache so I ended up rewriting the entire thing. So while it is fresh in my head here is a post about it.
Blockhead has to keep track of which blocks are logically connected to other blocks on the workspace. There are two differe...
2022-07-15 15:20:09 +0000 UTC
View Post