I finished the initial implementation of the choke region recoloring effect. The way it works at the moment is by recursively generating textures for each lane starting from the bottom of each track and moving up one by one. Each texture is added to the one generated by the lane below.
2021-04-04 16:21:15 +0000 UTC
View Post
Discord link for new people:
https://discord.gg/9ZW2UXM
Over the past few days I fixed some horrible new audio engine crashes that I discovered while testing things, and I re-implemented the...
2021-04-03 00:52:14 +0000 UTC
View Post
The envelope editor is now fully reimplemented and I added lots of improvements. The most obvious ones are:
- An "Enabled" toggle in the bottom right which allows you to disable the envelope without clearing the points.
- An "Always Visible" toggle as demo'd in the video
2021-03-30 13:42:54 +0000 UTC
View Post
I have been working on hooking up the modulation editor UIs to the new system, in particular the modulation selector in the header and the footer controls. Some of these controls have been re-used but a lot of it has had to be rebuilt. The way these controls would populate themselves previously w...
2021-03-26 16:11:22 +0000 UTC
View Post
I like having block parameters visible at the front rather than hidden in menus but there is always going to be limited space available.
To make the spin-box controls a bit smaller I made a standard set of icons for amp, pan, pitch and sample offset. The sampler plugins can specify which ic...
2021-03-19 16:01:49 +0000 UTC
View Post
The last one I posted is pretty out of date now. Things changed a lot because I decided to abandon those plans for the modular effects system in favour of something which I think will be much better in the long run.
1.1 Finish modularizing the sampler engines
I was pr...
2021-03-17 15:02:45 +0000 UTC
View Post
By double-clicking anywhere on a lane it toggles an "expanded" mode on and off. There's no official name for this state really. When a sampler block is on an expanded lane all its controls are visible, otherwise it only shows the waveform (and in the upcoming version, the choke envelope).
<...
2021-03-12 17:34:23 +0000 UTC
View Post
I've been working on a lot of different things over the past week. The data structure of projects has changed completely since v0.12.1 alpha so for a long time saving and loading has been broken. This makes testing things annoying so I finally got around to making it work again. The worst thing a...
2021-03-11 17:05:35 +0000 UTC
View Post
The new version of the audio engine will have the audio signal of a single track being routed downwards through the lanes with blocks being able to manipulate the dry signal coming from above them in various ways. After the work I did properly implementing the 2021-03-04 14:01:05 +0000 UTC
View Post
The Edges
To avoid clicking at the right edge of a block, Blockhead automatically adds a short fadeout to the end:

(I am drawing these lines freehand in MS Paint so they wo...
2021-02-17 03:00:13 +0000 UTC
View Post
I have been having health problems for the past few weeks and have only been able to work on Blockhead for a few hours a day due to tiredness. I spend a lot of time sleeping for 4 hours at a time and feeling fatigued all day. There is a lot of stuff that I wanted to have finished by now that I ha...
2021-02-01 13:08:05 +0000 UTC
View Post
There is something about music software that doesn't feel right to me. Maybe you agree and that's why you are here. It's hard to explain this feeling of wrongness when I'm such a terrible communicator so I have to rely on this combination of vague handwaving and broken analogies.
It feels n...
2021-01-17 21:53:57 +0000 UTC
View Post
I am pretty happy with the progress I have made with the refactoring so far though it turned into a much bigger job than I anticipated. The second stage of refactoring (modularizing the sample playback engines) is probably going to be rolled into the first stage because it is easier and more effi...
2020-12-31 00:13:34 +0000 UTC
View Post
These are just the big tasks and features. The order of tasks might change. Smaller features not listed here will likely still be worked on in between everything else.
Massive refactoring Part 1
I'm slowly going insane because the design and scope of Blockhead is beco...
2020-12-18 20:54:32 +0000 UTC
View Post

For the past week and a half I have been working on moving a bunch of UI code from GDScript to C++, mainly the block layout mana...
2020-12-16 22:17:21 +0000 UTC
View Post
The process of distributing new Blockhead builds is currently quite miserable. I have tried to streamline the actual build process as much as possible but the distribution process is really painful right now because my internet connection is so rubbish, much worse than the average in my area. I d...
2020-12-06 16:11:37 +0000 UTC
View Post
Update Notes:
- Bugfix: Crashes about 75% of the time when loading project file!
Public issue tracker: https://trello.com/b/MT1A3Zob/blockhead-issues
Planned features...
2020-12-06 16:07:47 +0000 UTC
View Post
Update Notes:
- Feature: Key binding editor
- Feature: Key binding import/export
- Update: New settings dialog
- Update: Visual changes to dialog boxes
- Bugfix: Crash is possible when resizing window
- Bugfix: Undo/Redo notifications labels are offset...
2020-12-06 00:30:21 +0000 UTC
View Post
Update Notes:
- Bugfix: [macOS] Should now work on older mac versions (I think theoretically back to 10.11)
- Bugfix: [macOS] Crash when the Remove Track button is pressed
- Bugfix: Visual issues in project save dialog when big font is selected
The default keyb...
2020-12-02 18:00:30 +0000 UTC
View Post
v0.11.1 should be functionally identical to v0.11.0. Many internal changes were made to get everything working on MacOS.
I am currently building only for x86 architecture however it is likely that I will be able to support running natively on Apple's new ARM processors in the future.
...
2020-12-01 16:55:12 +0000 UTC
View Post
Update Notes:
- Feature: Basic song rendering (from workspace context menu). If there is a sample start block on the workspace then rendering will start from there and stops at the end of the last block that makes a noise.
- Bugfix: Custom song start value is not sent to the engi...
2020-11-28 13:30:30 +0000 UTC
View Post
Update Notes:
- Feature: Added "Resample" checkbox to export dialogs (visible when a sample rate is selected which differs from the source sample rate). When enabled the resulting file will be the same length/pitch as it is in-DAW though upsampling or downsampling may need to be pe...
2020-11-26 17:09:21 +0000 UTC
View Post
There's a pretty bad bug in Blockhead at the moment where if you go far enough left or right in the workspace and start playing audio all the way over there then you will start to hear a sample reduction effect, which gets worse the further to the left or right you go. This is the most audibly no...
2020-11-24 15:37:42 +0000 UTC
View Post
Update Notes:
- Feature: MP3 sample support
- Update: Sample data is now stored in project files in WavPack format. 32-bit samples are no longer converted to 24-bit. Any existing FLAC format project files should still be openable
- Update: FLAC removed from expor...
2020-11-23 17:52:04 +0000 UTC
View Post
When a Blockhead project is saved it currently encodes all the samples as 24-bit FLAC files to save space. This means 32-bit samples are converted to 24-bit when the project is saved which is not ideal. The FLAC format does technically support 32-bit float but most FLAC encoders don't.
Than...
2020-11-21 15:27:36 +0000 UTC
View Post
Update Notes:
- Feature: Block export (From sample block context menu)
- Feature: Can now drop a single *.blkhd file onto the Blockhead window to open it
- Update: Users are now prompted to save unsaved changes on New Song, Open Song and Quit operations.
- Update: I...
2020-11-19 16:50:51 +0000 UTC
View Post
Update Notes:
- Feature: Sample export (Triggered from the context menu in the sample list). Supported export formats are currently WAV and FLAC. Block exporting is still in progress.
- Update: Background tasks that fail for some reason will keep a dismissable error message in th...
2020-11-17 13:57:03 +0000 UTC
View Post
Update Notes:
- Update: Zoom and scroll position is now saved with project
- Update: Slight visual improvements to waveform rendering.
- Update: Several small waveform glitches were fixed and LODs should be more accurately sampled now
- Update: Waveforms should be q...
2020-11-14 12:52:27 +0000 UTC
View Post
Blockhead is a mixture of C++ and a language called GDScript, Godot's built-in scripting language. All of the audio/performance critical code is C++ whereas the majority of the UI is written in GDScript.
GDScript makes it really easy to prototype new UI ideas and get things working very qui...
2020-11-12 12:20:12 +0000 UTC
View Post
Update Notes:
- Bugfix: Possible crash occurs while placing a new sample block at the current playhead position while the song is playing.
- Bugfix: Grain uniformity defaulting to 0% in engine when there are no modulation points.
- Bugfix: Middle mouse button no longer pan...
2020-11-11 16:40:49 +0000 UTC
View Post