Skip to content

v0.9.5-alpha

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 12 Sep 16:13
· 29 commits to main since this release
c70395f

Cassette v0.9.5

What's New

  • Post - load audio editing is finally here! You can now re - trim your track, tweak fades, or change the BPM anytime after loading it.
  • Fresh icons in the Project Menu, all hand - drawn by me :)
  • A new, proper tutorial is now included to help you get started without the guesswork.
  • Track names always stay on top of glyphs and now dynamically shift their color to match the background so they are always readable.
  • Keyframe shortcut: When Keyframes mode is active on a glyph, you can now tap the [ and ] keys to quickly raise or lower brightness points.
  • Animated history: Undoing and redoing glyph movements or length changes is now smoothly animated.
  • A new setting: Toggleable glyph rounded corners.

Visuals & Glyph Tweaks

  • Smarter rendering for tiny glyphs:

    • Glyphs smaller than 15px now switch to sharp corners. This looks much cleaner at small scales and gives a nice FPS boost.
    • Glyph borders dynamically shrink from 2px down to 0px as glyphs get smaller, keeping things clean and readable.
    • Selected tiny glyphs keep their default border thickness so you never lose track of what you have selected.
  • Better Audio Delay Setup animations. Added a textbox so you can set the milliseconds yourself.


Performance & Optimization

  • Massive rendering overhaul: Thanks to a new occlusion system, hidden glyphs aren't rendered at all anymore. The app easily hits a rock - solid 120 FPS. Because of this:
    • Noticeably higher frame rates across the board.
    • No more lag spikes when spam - spawning glyphs.
    • Silky - smooth zooming, no matter how crowded your canvas is.
    • Marquee selection and dragging still work seamlessly on glyphs tucked behind others.
    • Bulk - deleting large amounts of glyphs is significantly faster.
  • Less disk space used: Save files are lighter, and if your audio track does not need trimming, the app will no longer generate a redundant cropped audio file.
  • Lighter footprint: Completely dropped Mutagen from Cassette dependencies.
  • Optimized undo / redo actions.
  • Optimized glyph deletion.
  • Optimized glyph move and resize.

Bug Fixes

  • Fixed weird playhead behavior when it is at the end.
  • More fixes for Floating Window incorrect sizes.
  • Fixed an issue where you could paste massive walls of text into textboxes that were never meant to handle them.
  • Fixed a window bug where short audio files combined with a low default zoom caused compositions to open at a broken scale instead of going fullscreen.
  • Fixed weird composer window scaling when resizing mid - opening animation.
  • Fixed a glitch where spawning a glyph right as playback began would launch it completely outside the composer bounds.
  • Spawning glyphs during playback now respects your audio latency settings (positive delay advances the playhead, negative delay pulls it back).
  • Fixed multiple stability issues when GPU rendering is turned off.
  • Fixed glyphs loading into incorrect positions when opening saved compositions.
  • Squashed several errors that happened while loading audio files.
  • Fixed broken Undo / Redo (Ctrl + Z / Ctrl + Y) behavior when editing Keyframes.
  • Fixed odd slider behavior in context menus: previously, moving the Gap slider in the Chase effect from 0 to 1 did nothing until you moved it to 2, after which 1 would suddenly work. It now updates properly on every step.

Under the Hood (For Nerds)

  • Extracted most hardcoded values into a clean, dedicated Constants.py file.
  • Split oversized, monolithic files into smaller, modular components for cleaner and more maintainable code.
  • Applied general performance and memory optimizations across all core systems.