Changes

v5.2 - Motions, terminal, undo

New Features & Major Enhancements

  • Motions Editor - This feature lets you move objects automatically with preset (and configurable) motion paths, like circles, squares, figure-8, random, and more. This means that you can control device placement over time, without needing to manually record and draw their motion paths. Motions are available for sound source devices (Samplers, Emitters) and can be triggered independently of timeline playback. They are fully configurable with radius, height, speed, and more. 

  • Motion Path Modes & UI: Added more motion paths and updated the Automator UI for a better workflow.

  • Motion Saving & Loading: All your motion edits are now saved and loaded with project data.

  • Microphone Location Automation - You can now automate the microphone position to change the listening perspective. 

  • Custom Color Themes -  Users can now create and apply custom color themes using .txt files. The Nord Themes have been added, and a shortcut [ctrl+T] allows for quick theme switching. Open your “Audiocube\ColorThemes”, then copy and edit the TemplateColorTheme.txt file to create your own themes!

  • Terminal - An interactive text terminal enables the triggering of a range of functions just using the keyboard. Press the “/” or “~” keys to open and close the terminal, and type “help” to see a list of commands. You can scroll up and down using [ctrl+up/down], and you can expand the window by dragging the bottom bar, or by pressing [ctrl+shift+up/down].  It features a bunch of common commands, enabling more fluid keyboard-based control. It’s still early, and I want to expand the terminal functionality to cover most operations. 

  • Undo/Redo - Finally, an undo/redo system has been added that can be triggered with [ctrl/cmd + Z/Y]. This allows you to undo and redo most of the core actions, like creating, moving, and deleting devices, changing mixer settings, timeline placements, and more. It’s still a little rough, but the foundation is now working.

  • Improved Selection System - The selection system is now more robust and fully integrated with the Device Rack and Selection UI, making it clear to see what devices are selected and easier to perform multi-device operations. 

  • Camera Follow Mode: Added a new "Camera Follow Mode" [cmd/ctrl+F] to automatically follow the selected object, which pairs well with the new Motions features. 

  • More Keyboard Shortcuts - Started work on a custom keyboard system, type “shortcuts” into the terminal for a full list of keyboard shortcuts. 

    • Keyboard Navigation - More UI elements have been keyboard navigation enabled, so you can move through functions like saving & loading projects purely with the keyboard. I’m still working on this to make it more fluid. 

    • Device Creation Shortcuts - All devices can now be created with the keyboard shortcuts of [shift+alt+s/e/t/b/w/a/f] based on the name of the device. This creates the device at the mouse point and speeds up the creation workflow. 

  • Improved Soundwall Editor - Updated the Soundwall shape/size editing interface to be more responsive and easy to use. 

Connection Line Indicators Improvements - A nice aesthetic reworking of connection line indicators on Tickers and Logic boxes. 

  • Gridded Connectors - Logic connection lines can now snap to an optional (toggleable) grid and are rendered with a new chevron-style line, making it easier to see the connection direction. 

  • Gridded Animations - Logic chain "blip" indicators now animate along these optional grid lines.

  • Modernized UI: A significant visual refresh across the application, including

    • Custom window chrome - The Audiocube app window now uses its own top bar graphics and is not using the native OS top bar for a streamlined, clean look. (This took me a while to work out, but I think it looks really nice.) It still integrates with OS window snapping functionality, full screen, etc.  

    • Drop Shadows - A new shading system to add custom shadows below UI elements, for more depth and visual hierarchy. 

    • Updated button styles - With better visibility for selection states

    • Native Cursor System - Implemented OS-native, context-aware custom cursors for a more familiar, integrated style. 

    • Improved file popups

    • Refined right-click menu

    • Improved tooltip Styling

    • General improvements to layout, visual responsiveness, and more. 

  • Login Screen Redesign: The launch menu and login/authentication screens have been completely revamped for a more modern look and feel. A new preferences page within the launch menu allows for custom project folder settings and UI scaling. Once authenticated, you can enable an option to skip the login screen on launch and go straight to the studio.

  • Improved UI Scaling - Unified and automatic UI scaling to address resolution mismatches. And a new keyboard shortcut [ctrl/cmd+-/=] to manually change the UI scaling.

Project Management Revamp:

  • Enhanced "Save As" & Custom Folders: The "Save As" functionality is now finalized, allowing projects to be saved to custom folders. Project Manager now fully supports loading from and saving to these custom locations - no longer bound to your C:/ Drive.

  • Sorting Options - A dropdown lets you pick between [Newest/Alphabetical/Oldest] sorting of projects. 

  • Search Mode - Use the search input field to find specific projects in the selected folder.

  • Keyboard Navigation - Smooth keyboard-based operation - Press [ctrl+o] to open the project manager, navigate with w/a/s/d or arrow keys through your projects, then hit enter/space to load them, etc. 

  • Notifications System - Started development of a "Notifier" system for pop-up notifications relating to operations and actions taken. This can be toggled on/off in the settings menu. 

  • Cross-Platform & Compatibility:

    • Linux Support: Initial support for Linux has been added. Although the Linux app has not been tested for this version yet. 

    • .MP3 Compatibility: Audiocube can now work with .mp3 audio files.

  • DRM Free Mode - A bypass for online activation can be granted upon request for people who don’t have internet access. 

Bug Fixes & Stability Improvements

  • Core System & Loading:

    • Fixed a critical issue preventing projects from loading correctly.

    • Resolved a "don't destroy on load" bug that caused mainframe initialization problems.

    • Fixed a break in mainframe loading due to refactoring.

    • Corrected an ID issue related to FindObjectsSortMode.InstanceID for reliable object identification.

    • Fixed an issue that prevented the application from quitting correctly.

  • UI & Visuals:

    • Fixed Mac custom cursor rendering.

    • Addressed a retina scale mismatch issue for UI elements.

    • Fixed text tags not showing due to list management errors.

    • Corrected various UI element color inconsistencies with the theming system.

    • Fixed issues with the Mac OS top bar glitching and dropdown positioning.

    • Fixed Windows OS bar button interference.

    • Right-side panel height calculations and Windows OS bar button interference issues resolved.

  • Timeline  - Fixed issues with the timeline, incorrect playback, 

  • Selection & Spawning:

    • Fixed the selection box so that the selection is cleared when clicking on the floor.

    • Resolved bugs causing devices to spawn under the grid.

  • Audio & Devices:

    • Fixed a Sampler bug causing start/end time bleeding issues with loop lengths.

    • Acoustic settings functionality fixed and UI updated.

    • Fixed Soundwall corner rendering.

  • Terminal & Console:

    • Fixed numerous broken terminal commands.

    • Resolved a console overload issue caused by reaching vertex limits for text.

  • Undo/Redo:

    • Fixed undo logs and issues with cursor hiding when using Shift/Alt with undo/redo.

  • General Stability:

    • Numerous fixes and general error corrections.

    • Improved "Find Object" methods and cleaned out "yellow" warnings/errors in the editor.

    • Addressed various overload issues.

    • Significant internal refactoring (e.g., MAINFRAME.Global, Console to static singleton) for improved code quality and stability.