SamuKata
colugomusic

colugomusic

patreon


colugomusic posts

Dev Log #43

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

Dev Log #42

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 snapshot system that I previously disabled and go...

View Post

Dev Log #41 - Envelope editor improvements

Dev Log #41 - Envelope editor improvements

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
  • Points can now be selected by left-clicking on th...

    View Post

Dev Log #40

Dev Log #40

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 was really hacky. Now everything is much cleaner bu...

View Post

Dev Log #38 - Fitting things into small spaces

Dev Log #38 - Fitting things into small spaces

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 icon to use for each parameter or otherwise just dis...

View Post

Updated Roadmap (March 17th 2021)

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 previously thinking of putting this on hold and reve...

View Post

Dev Log #37 - Lane states

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

Dev Log #36

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 about the old project structure was the really stup...

View Post

Dev Log #35 - Block choke and amp envelopes

Dev Log #35 - Block choke and amp envelopes

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 fade-in/fad...

View Post

Dev Log #34 - Block Transitions

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 won't be accurate.)

This fade-out is very shor...

View Post

Apology for lack of updates

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 haven't managed to do so I am very unhappy and frust...

View Post

Dev log #33 - Refactoring progress and design changes

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 natural to draw comparisons to graphical art softwa...

View Post

Dev log #32 - Refactoring hell

Dev log #32 - Refactoring hell

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 efficient to do them both together.

This is beca...

View Post

Dev log #31 - Vague roadmap

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 becoming much clearer in my head so I have a better id...

View Post

Dev log #30 - Moving rectangles around

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 manager which handles block stamping, drag&dro...

View Post

Dev log #29 - Builds, distribution, internet issues

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 don't know why I am with such a crappy ISP. It take...

View Post

Blockhead v0.12.1 alpha

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

Blockhead v0.12.0 alpha

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 when big font is selected
  • Bugfix: Undo/R...

    View Post

Blockhead v0.11.2 alpha (macOS only)

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 keyboard shortcuts on macOS are currently bananas due ...

View Post

Blockhead v0.11.1 alpha (MacOS only)

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.

Edit: Seems to only be working with 10.15 ...

View Post

Blockhead v0.11.0 alpha

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 engine on project load
  • Bugfix: Song start is ...

    View Post

Blockhead v0.10.0 alpha

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 performed to achieve this.
  • Bugfix: Downsamp...

    View Post

Dev log #28 - Song traversal (warning very boring)

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 noticeable bug in a family of related bugs that I am...

View Post

Blockhead v0.9.0 alpha

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 exportable formats
  • Update: WavPack (.wv) added...

    View Post

Dev log #27 - File Formats

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.

Thankfully there is a nice alternative - a lesser know...

View Post

Blockhead v0.8.0 alpha

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: Internal changes to the way sample data is stored w...

    View Post

Blockhead v0.7.0 alpha

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 the task list
  • Update: Background tasks ...

    View Post

Blockhead v0.6.3 alpha

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 quicker to generate but larger samples might use a ...

    View Post

Dev log #26 - The Most Horrible Code In Blockhead

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 quickly. It's no good for professional audio code bec...

View Post

Blockhead v0.6.2 alpha

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 panning the catch buffer.
  • Bugfix: Catch buff...

    View Post