I've been really tired recently recovering from COVID or whatever it was, so I haven't been able to follow my usual routine. All was not lost because I spent a lot of time lying flat on my back thinking about how to implement the macro system in Blockhead. This is something I have been planning for ages and I know the implementation details are going to be really complex, not something I can just start coding away at.
A "workspace" is the main work area you see in the window when you st...
2022-07-05 17:19:12 +0000 UTC
View Post
I am still recovering from illness (not sure if COVID or just a bad lingering cold) so I am working at somewhat depressed productivity. The baking system is a deceptively complex thing and has been a steady source of bugs but I think it's maybe getting there now.
The previous "public alpha" was a bit of a failed experiment in that it didn't really seem generate any more Patreon subscribers at all. That version is buggier than I would like though and is less representative of Blockhead's...
2022-07-01 13:32:27 +0000 UTC
View Post
Update Notes:
Bugfix: Likely crash on exit
Bugfix: Crash when undo'ing a sample deletion if there were any associated sampler blocks
Bugfix: Crash when hovering over a sampler block if the associated sample was deleted
Bugfix: Block colors don't update when the track color does
Bugfix: Sample being stamped isn't always hidden while sample-overriding another sampler block
...
2022-06-24 13:56:13 +0000 UTC
View Post
Update Notes
Feature: Send/receive system
- Right-click on a lane and select "Add Send Bus" to add a Send block. Incoming audio from the lanes above will be recorded to the send block.
- Select "Add Receive Bus" to add a Receive block. The Receive block header has a button for selecting which Send block it connects to.
Feature: Baking wait time setting was added to the bakery settings page
Update<...
2022-06-23 11:02:14 +0000 UTC
View Post
Send/Receive Blocks
I am almost ready now to finally release the new build I have been working on all month. The main new feature is the send/receive blocks. You can place a "Send" block anywhere in the workspace which will act as a sort of mobile recording buffer. The send block just records audio and doesn't produce any sound itself. Then you can connect any number of "Receive" blocks to it to play back then content of the buffer anywhere else in the workspace.
...
2022-06-18 23:28:35 +0000 UTC
View Post
Update Notes
Update: Added new Bakery settings page
Update: Added baking override submenu to block context menu
Update: Baked audio is now displayed visually
Update: Baking is now processed through the background task system, so baking tasks will now appear in the bottom right
Update: Blocks now display progress bars for frame loading, mipmap generation and baking
2022-05-29 16:30:55 +0000 UTC
View Post
Update Notes
Bugfix: Possible crash when a track is deleted
Bugfix: Baked audio not being discarded when the audio device sample rate changes
Bugfix: Baked audio can play back at the wrong sample rate
Bugfix: Some samples play back in mono until the channel mode is manually changed (or the block is baked)
Links
Known Issues: 2022-05-23 11:09:23 +0000 UTC
View Post
Update Notes
Bugfix: Baked effect blocks introduce clicking artifacts at the edges
Bugfix: Sampler block amplitude modulation makes waveform look hilarious
Links
Known Issues: https://trello.com/b/MT1A3Zob/blockhead-issues
Discord: Bloc...
2022-05-22 22:51:57 +0000 UTC
View Post
Update Notes
Update: The sample mipmaps used in waveform rendering should now use a bit less memory overall
Bugfix: Possible crash any time a new synth or effect block is created
Bugfix: Possible crash when a bake is triggered for a block which is still setting itself up internally
Bugfix: Making edits to the choke envelope doesn't trigger the block to be rebaked
Bugfix: Vis...
2022-05-22 21:20:49 +0000 UTC
View Post
This update introduces the audio baking thing which is a pretty experimental update but it seems to be working ok from my tests. If you notice anything weird going on then let me know!
Here is a tweet explaining the audio baking technology:
https://twitter.com/ColugoMusic/status/1526578338306961409
Update Notes
Update: Bl...
2022-05-19 14:39:05 +0000 UTC
View Post
Update Notes
Update: Block context menu can now be opened from its low-detail visual representation
Bugfix: Many potential crashes which can occur after objects are deleted
Bugfix: Crash when envelope points are recreated via a redo action after the block itself was redo'd back into existence
Bugfix: Possible crash when a track is deleted
Bugfix: Possible crash when resizing...
2022-05-15 17:14:27 +0000 UTC
View Post
Update Notes
Feature: Workspace map was added
Update: Multiple lanes can now be expanded on a track at the same time
Update: Lanes can now be individually resized. There is a minimum height for expanded lanes
Update: Changes to keyboard shortcuts:
- The "collapse hovered item" (C) key has been removed
- The generic "close/cancel/go back" (Escape) key is now reassignabl...
2022-05-11 19:31:24 +0000 UTC
View Post
This is functionally identical to v0.21.4. This build is "pretty stable" but there will still likely be some bugs and occasional crashes.
The macOS build is not notarized because I'm too dumb to figure out how to do that, so you might have to jump through some hoops to launch it .
If you enjoy this software then please consider subscribing if you are not already. If you're broke but s...
2022-04-30 16:58:34 +0000 UTC
View Post
Blockhead continues to steadily approach the "5% done" mark without ever getting there, due to the phenomenon of 2 new ideas coming up for every 1 that is implemented. This is a summary of my future plans. There are many things which are not listed here, these are just what's on the top of my head.
Quality of life updates
I will probably be working on these first three soon-ish, since i feel like workflow is still a little awkward in places where it doesn't need t...
2022-04-30 16:55:25 +0000 UTC
View Post
Update Notes
Update: Audio device latency control was removed completely as it seemed to be causing problems with certain audio drivers (very delayed audio, stuttering playhead, among other things) and wasn't really useful anyway.
Update: Blockhead will now always request the default latency for the selected audio device.
Update: A different exception handling method is now being used on Windows to catch crashes, ...
2022-04-27 10:46:33 +0000 UTC
View Post
Update Notes
Update: On Windows only, Blockhead will now try to write a crash dump if it crashes.
- Crash dumps are written to the user data directory which should be something like '\Users\your_name\AppData\Roaming\Blockhead\crash'. An explorer window should open up here automatically.
- Crash dumps in this directory older than 3 days will be deleted when Blockhead starts up
- The crash handler only catches crashes that occur in...
2022-04-25 13:48:25 +0000 UTC
View Post
Update Notes
Update: Some audio thread optimizations
Bugfix: Crash when undoing a block deletion if the associated sample was deleted
Bugfix: Sampler block does not properly disconnect itself when the associated sample is deleted
Bugfix: Abnormally high GPU usage while idle
Bugfix: Envelope editor breaks if Max is set to a lower value than Min
Bugfix: Tem...
2022-04-20 13:11:34 +0000 UTC
View Post
Update Notes:
The macOS build is still not notarized so you probably have to jump through hoops to open it.
The Linux build tends to crash a lot on my computer when trying to change audio device settings. Usually some nebulous ALSA errors will be output to the console.
Audio stream setup in Blockhead is handled by 2022-04-16 06:18:51 +0000 UTC
View Post
Since the v0.21.0 build all I've been doing is working on bugs and improving stability. I won't be adding any new features until I am happy with how things are working. So v0.21.1 will just be a big bug-fix build and then the plan is still to do a "free-for-everybody" public build (probably v0.21.2 or v0.21.3.) I'd like the public build to be useable for long sessions without fear of crashes or everything breaking horribly.
Even though no new features are being added, some parts of the ...
2022-04-05 23:51:59 +0000 UTC
View Post
Feature: Manipulator blocks. As usual there is no documentation.
Update: macOS version should now be codesigned if i did everything properly
Update: Project files now save less redundant parameter data
Update: The 'Active' item in the modulation button context menu has been renamed to 'Remove'
Bugfix: Crash when a block is sliced while an editor is open
Bugfix: Crash when edito...
2022-03-22 16:41:36 +0000 UTC
View Post
I have spent pretty much the entire month working on manipulator blocks, which a few other things here and there. I originally hoped to have it all done before the end of February but that doesn't look like it will happen. I am pretty close though and I still have not run into any really big problems, it's just taking time.
One of the main ideas in my head for manipulator blocks from the start was the ability to reverse regions of a sample. I finally achieved this milestone a few hours ...
2022-02-26 02:38:56 +0000 UTC
View Post
I'm currently still nose-deep in code finishing up the new manipulators feature. If you didn't see them already here are some more quick videos I posted on Twitter:
https://t.co/VE5J0yuDEv
https://t.co/R6zZjXYQ6C
2022-02-02 18:44:37 +0000 UTC
View Post
Here is a video of what I've got working so far. I think I've finished all the hardest parts but now but there is still a lot to get through.
The envelope manipulator can work in either offset or override mode. The override mode is pretty simple as it just overwrites the envelope points within the manipulator region, whereas the offset mode has a more complex implementation since it needs to blend points together. Currently a short ramp is generated at the edges of a manipulator to avoi...
2022-01-22 09:06:13 +0000 UTC
View Post
I have spent the last ~3 weeks working on finally adding manipulator blocks which is an idea that I vaguely alluded to in past blog posts. This has been another massive change to the codebase with many things having to be changed internally, mainly related to plugin parameters, as well as changes to the plugin API.
I still have nothing actually working to show but I am steadily getting there and I have a pretty good idea now of how things are going to work.
A manipulator block can...
2022-01-02 17:55:05 +0000 UTC
View Post
After much sweat and tears the macOS version is now built to run natively on both Apple M1 and intel. It seems to be working for me but if I have broken something for macOS users then I am not surprised. Please let me know!
Edit: If macOS refuses to open the app because the file is "damaged", apparently this command fixes it:
"xattr -dr com.apple.quarantine <path to the .dmg file>"
If I understand correctly this happens because the application is ...
2021-12-09 17:53:40 +0000 UTC
View Post
I'm still in the middle of a large optimization pass and I've learned a few things since my previous post. The conclusions I reached regarding the speed of scene instantiation in Godot were kind of wrong but sort of right. Technically the tweet I linked to in the last post is correct but it's a bit misleading in my opinion because:
- The actual scene instantiation process may be pretty fast but in the vas...
2021-11-12 16:27:58 +0000 UTC
View Post
I have been spending the past few days making some large changes to try to speed up some operations which cause the interface to freeze or lag. This happens whenever Blockhead has to instance a lot of Godot scenes at the same time, for example if you create 100 blocks, drag a selection box around them all and press CTRL+C to create 100 more blocks, the interface will currently freeze for a moment while all the new blocks are created.
Another thing which causes a freeze is if you place a...
2021-11-05 19:06:27 +0000 UTC
View Post
This is a small update to fix the stupid project saving issue
Update Notes
Bugfix: "Error incorrect bits/bytes configuration..." when saving a project which contains any samples with a bit depth < 32.
Bugfix: Fixed an issue where blocks would get stuck in a "mouse hovered" state when switching workspaces
Some Boring Technical Info:
If a project contains any samples which exceed 0db they will now ...
2021-11-01 13:13:15 +0000 UTC
View Post
Update Notes:
Feature: Multiple workspaces
- Check the cheat sheet (F1) for new keyboard shortcuts
- Rename a workspace by right-clicking its button in the menu and selecting "Rename"
- The pan and zoom of the workspaces can be automatically synchronized by enabling the toggle to the left of the workspace buttons
Update: Sample list items now display sample load errors
Upd...
2021-10-31 14:51:59 +0000 UTC
View Post
Bugfix: Holding ALT to manipulate warp markers while an editor is open is no longer super broken
Bugfix: ALT key shouldn't ever get stuck in a pressed state anymore
Bugfix: Envelope points shouldn't be editable on a contracted lane anymore
Bugfix: Fixed a bug where the mute status of blocks was not being recalled when loading saved project
Bugfix: Fixed a returning issue where exporting would not ...
2021-10-11 13:23:59 +0000 UTC
View Post