Then I thought about working on the end animation for text, which was the last remaining task, but unfortunately it’s a bit tricky (you need to make sure it doesn’t overlap the start animation, needs to have an option to enable / disable, has to be the reverse of the start, etc) so I decided I would leave it for when I’m feeling better.
I decided to move on to working on audio layers, since I figured it would be relatively simple, but I was wrong.
The way I implemented the layer system in my tool works in such a way that layers require an instance of themselves within the canvas. Audio does not have any entity, so when I tried adding it in it just threw all sorts of errors. The workaround I came up with was to create a empty object, and just hide its handles and disable its selection so you wouldn’t see it.
I also had to give audio a unique property panel, with unique animation properties. I decided for the first version the only exposed property would be the volume, which you can animate up and down with all sorts of easing. Here’s a bit of the behavior, although it’s kind of hard to show through a GIF: