Home Artists Posts Import Register

Downloads

Content

In addition to the stuff listed below I have tried to address some of the old issues related to starting/stopping the audio system. This issues include crashes when switching audio device settings (I think mostly on Linux) and settings not being correctly recalled on startup. Pretty much everything that Blockhead does to start and stop the audio system is now encapsulated in this library: https://github.com/colugomusic/bhas

If you know C++ and want to help make this more robust then one thing you could do is help to expand or improve the unit tests which are here: https://github.com/colugomusic/bhas/blob/master/src/bhas_tests.cpp

I think the main problem is Linux, where audio drivers appear to be more unstable and will crash in some obscure corner cases. A lot of that stuff is likely environmental and can probably be mitigated by doing specific things within the library to workaround issues with certain drivers. Pull requests are welcome.

We have also seen issues where Blockhead will fail to initialize the audio stream on startup, and the user has to manually go into settings and reset the audio device. I have never been able to reproduce this locally but perhaps it is necessary to have the library auto-retry a few times on startup until it works. If you are seeing this issue yourself and feel like investigating then be my guest. Blockhead's interaction with the library at startup is very simple. It calls bhas::init, bhas::make_request_from_user_config and bhas::request_stream in that order.

Update Notes

Feature: Track soloing.
Update: "Big Font" option has been removed in favor of the improved screen scaling behavior described below.
Update: Font will now scale properly with the "screen scaling" setting. Blockhead still uses my own bitmap font because I haven't found a real dynamically scaling font that I think looks good when rendered at all different sizes, and doesn't look like a blurry mess at very small sizes. I apply a filter to the font to smooth out the aliasing at in-between scalings (e.g. 125%, 150%, etc.) but it will look perfectly sharp at 100%, 200%, 300% and 400%. Up until now Blockhead has a lot of annoying and complicated code for dealing with adjusting the size of UI elements for the two "small" and "big" font size options. This new screen scaling setting gives the user much better control over how big everything is on the screen, and on my end it vastly simplifies the codebase. My hope is that this is an acceptable compromise which works for everybody. For the time being all the old code for switching between the "small" and "big" font sizes is still there, but just disabled. If nobody loudly complains then I will eventually go through and delete all that dead code.
Bugfix: Crash if you hold down ALT and right-click on an empty part of the workspace.
Bugfix: Crash when slicing a manipulator while an option parameter (e.g. Reverse) is open.
Bugfix: Crash creating a macro from a tempo block.
Bugfix: Possible crash or other weirdness resulting from overflow when resetting a squashed block's data offset.
Bugfix: Possible hang on shutdown if baking tasks are active.
Bugfix: Macro blocks are laughably broken (absolute positions of internal blocks are not updated so the macro acts as a sort of window instead.)
Bugfix: "Error: Model has missing data!" when attempting to copy a macro.
Bugfix: Clicking artifacts occurring on truncated blocks.
Bugfix: Warp editor and chord editor are completely broken for squashed blocks, or blocks with a data offset != 0 (e.g. sliced blocks)
Bugfix: Editing the data offset completely breaks modulation editors if the block is squashed.
Bugfix: Choke fade handles are broken when screen scaling is not at 100%.
Bugfix: Blink chord/scale parameters don't work until the user explicitly disables and then enables them.
Bugfix: Clicking to place a warp marker without also dragging left/right doesn't create an undo/redo action for the warp marker's creation.
Bugfix: Manipulator destination settings are not restored when undo'ing its deletion.
Bugfix: Manipulator destination button icon doesn't immediately update visually when the destination changes.
Bugfix: Track mute button doesn't light up when activated.
Bugfix: New blocks still get baked if baking is disabled at startup, until the global setting is re-applied.
Bugfix: "Choke" context menu item is labelled "Insert Gap" instead.
Bugfix: "Level/Tilt notification pops up whenever a choke envelope is modified in any way.
Bugfix: Blocks may not be baked correctly after squashing/stretching them.
Bugfix: Manipulators fail to load their destination target on project load when they are targeting a block or block instance.

Links

Manual (WIP): https://docs.google.com/document/d/1y6je_g2oNnxClL1eXV20dcQpoyZEkek5LTxQPyEFT0w
Known Issues: https://trello.com/b/MT1A3Zob/blockhead-issues
Discord: Blockhead (discord.com)
Development Videos: https://www.youtube.com/@colugo5172/videos

Comments

No comments found for this post.