Skip to content

Latest commit

 

History

History
79 lines (70 loc) · 5.12 KB

RELEASE_0.14.2.md

File metadata and controls

79 lines (70 loc) · 5.12 KB

v0.14.2: Source layout and browser GUI improvements

Imported Python components now live in src/audio_bitsqueezer/. Standalone CLI entry points remain in the project root and resolve their package/resources from the checkout, independently of the caller's current directory.

Changes

  • Center the Settings cog and label with flex alignment and an inline SVG icon.

  • Show a green Render completed notice with the full saved-folder path, clickable to open it in the local file manager. Hide success during processing, after errors/Stop, and when starting another render or loading another source.

  • Add cogwheel Settings with A/B output naming. Default to the input basename plus artifact suffix, such as audioinputfile_prepared.wav; simple names remain available. Persist settings and uploaded basenames, retain names of earlier and active renders, and keep comparison/VICE metadata references consistent.

  • Add optional --comparison-prefix for comparison files; existing CLI defaults remain unchanged and destination collision checks cover the prefixed paths.

  • Move the GUI service and browser assets into src/audio_bitsqueezer/gui/, optional analysis into its own subpackage, dependency lists into requirements/, and the Windows runtime helper into scripts/windows/. Update imports, launchers, installers, resource paths, tests and CI references.

  • Add scripts/sort-layout.py. The default is a dry run. Applying the cumulative ZIP verifies its file manifest, backs up all replaced/retired files, preserves additional local checkpoint notes and rolls back file changes after an error. Existing user audio, outputs, virtual environments and configuration stay put.

  • Move checkpoint history to docs/CHECKPOINT-0.14.2.md. Keep update instructions in docs/APPLY-0.14.2.md and document layout/testing under docs/.

  • Replace the Tkinter output-folder popup with a standard HTML dialog inside the local GUI: folder list, path entry, Up/Home/Project/Default shortcuts and Use this folder/Cancel. Browsing is read-only and cancellation retains the current destination. Source selection uses the browser's normal file input.

  • Accept one source audio file dropped onto the dotted top chooser or Original panel. Include the boxed-plus browse button and the exact chooser prompt: "Choose an audio file or drag and drop one to start"

  • Make Load open the browser's normal file picker when the source dropdown is empty. A selected project file still loads directly; cancellation and failed loads retain the previous source.

  • Validate file type/count/size, retain a working source when upload fails, block source changes during rendering and prevent misplaced file drops navigating away.

  • Create audio/in/ for new uploads and audio/out/ for default GUI renders. Retain existing sources directly in audio/. If no sources are found, try audio files in the project root. Warn in the GUI/terminal if folders cannot be created, read or written; use available fallback locations and report them explicitly.

  • Keep dated render subfolders, custom destinations, earlier files and preferences under build/gui/. Migrate a remembered old default of exactly build/gui/ to audio/out/; explicitly choosing that old folder again is still supported.

  • Fix macOS path assertions by resolving temporary fixture roots and home-directory expectations, preserving canonical path resolution in the application.

  • Retain the Windows setup/recovery behavior and terminal startup instructions. Shared VERSION is 0.14.2, one patch increment from the published 0.14.1.

Validation

Checkpoint r5, Linux / Python 3.12 with optional analysis/audit dependencies: 132 tests run, 128 passed, 4 skipped. Subsequent focused verification passed all seven output-naming tests (including an additional prefixed VICE report test) and the VICE readiness check with naming settings changed during active feedback. Skips in the full suite: two native Windows wrapper checks and two opt-in real VICE checks (the VICE emulator is not available in this environment). Node GUI interaction checks and JavaScript syntax passed, including the green completion notice, local folder link/errors, stale result protection, naming settings, browser folder navigation, file drops, cancellation and playback state. The earlier r3 checkpoint also passed all seven output-directory tests using a symlinked temporary directory, exercising the macOS-style alias mismatch.

The unit/integration coverage map is in TESTING.md. It includes package/resource paths, existing conversion and legacy behavior, HTTP operations, directory failure/fallback behavior, and sorter preservation/rollback tests. The cumulative update is verified against the uploaded v0.14.1 snapshot; original legacy sources and bundled C64 assets are preserved byte for byte.

Native Windows/WinGet execution and macOS execution remain for their respective runtimes and GitHub Actions. The preview browser cannot access this workspace's local server, so desktop appearance and a physical drag gesture remain for local browser testing. GitHub commits, pushes, tags and publication are handled locally by the maintainer.