Skip to content

Releases: jasonulbright/wavescope-native

WaveScope 1.2.1 — controls, presets, and playback

Choose a tag to compare

@github-actions github-actions released this 11 Sep 00:42

WaveScope 1.2.1 makes the native visualizer easier to discover and control, with searchable presets, a practical preset editor, and audio-file playback controls.

  • Find presets with F3: instant filename search, saved favorites, favorites-only browsing, and favorites-only shuffle. Bundled and user preset favorites survive moving a portable folder.
  • Keep controls visible: pin the on-screen deck, use Tab/arrows/Enter to navigate, or open the native Controls window with F4. Launch controls now stay visible for 15 seconds or until the first keypress.
  • Edit presets with L: a resizable native editor adds selection, copy/cut/paste, undo/redo, Unicode and scrolling. Unsaved edits get a modified indicator and save/discard/cancel protection. Failed saves keep the editor open.
  • Control audio files with F5: filename, elapsed/total time, pause, seek, replay and looping. Ctrl+Space pauses/resumes; Space in the visual keeps advancing presets.
  • Reliability fixes: failed preset loads preserve the current visual; deleted presets detach safely from the picker; re-enabling the HUD wakes it immediately; audio-file loads keep separate error/progress state and finish buffered playback before stopping.
  • Updated the README, screenshots and product review.

Choose WaveScope-v1.2.1-installer-win64.msi for a per-user installation and Start menu shortcut, or WaveScope-v1.2.1-portable-win64.zip to unzip and run. Both include the same signed app and projectM binaries. The installer is signed too, with timestamped signatures identifying Jason Ulbright. Each package includes a separate SHA-256 checksum file.

Close WaveScope before upgrading. Installer upgrades preserve user data; portable settings remain beside the executable. Windows x64 is required, with OpenGL 3.3 for the GPU/MilkDrop engines. See the README for usage and download verification for signature/checksum checks.

Validation: unit/adversarial tests; full desktop rendering, audio transport, preset/editor, MP4 and Spout selftests; signed package verification; MSI install/repair/uninstall, upgrade/downgrade protection, and user-data preservation checks.

Full changelog

WaveScope 1.2.0 — installer and portable

Choose a tag to compare

@github-actions github-actions released this 10 Sep 20:01

WaveScope 1.2.0 adds a Windows installer, clearly labels the portable download, and fixes two reproducible app bugs.

Choose your download

Package What it does
WaveScope-v1.2.0-installer-win64.msi Installs for your Windows account, adds a Start menu shortcut, and supports repair, upgrades, and uninstall through Windows Settings. No administrator account is required.
WaveScope-v1.2.0-portable-win64.zip Extract anywhere, including a USB drive, and run WaveScope.exe. Settings, saved presets and recordings stay beside the app.

Both include the same signed application/projectM binaries, Microsoft's app-local runtime, all bundled presets and textures, and documentation. Each download has its own .sha256 checksum file. The MSI package itself is also signed as Jason Ulbright with a trusted timestamp. Signature and checksum verification.

The installer places application files in %LOCALAPPDATA%\Programs\WaveScope, settings and saved presets in %LOCALAPPDATA%\WaveScope, and recordings in your Windows Videos folder under WaveScope. Upgrades and uninstall preserve user files. Close the app before maintenance; if you enabled launch at login, disable it before uninstalling.

Existing portable users can continue using the ZIP. To move to the installed edition, follow the migration instructions so your settings and saved presets come with you.

Bug fixes

  • Preset lab Save As no longer silently overwrites an existing preset. Saving now writes and flushes a new file, then publishes it without replacement. Reused names, invalid Windows filenames and write failures produce an error. Tests verify byte preservation and concurrent saves.
  • Single-page dropdowns no longer leak keyboard input. Arrow keys and audio-source shortcuts previously changed the visualizer behind an open dropdown. Dropdown input is now isolated, including menus with only one page.

Validation

Unit/adversarial tests and the full graphics selftest pass, covering 34 modes, 17 shaders, MilkDrop, recording/decoding, Spout, lab behavior and GUI regressions. MSI lifecycle tests cover fresh installation, Start menu integration, per-user registration, repair, upgrade, downgrade rejection, uninstall and preservation of user files. The installed executable also passes the full graphics selftest.

The computer-use environment blocks direct inspection of Windows Installer dialogs; installer validation uses the Windows Installer command line and APIs. Review notes.

GitHub CI and CodeQL passed with no open code-scanning alerts. The signed release workflow verified the expected publisher and timestamps. Both draft downloads were independently checked on Windows, and all 13 installer binaries matched the portable package byte for byte.

Before publication, the downloaded signed portable app and the app installed from the downloaded signed MSI both reported ALL PASS from the full selftest. The downloaded MSI also passed upgrade, downgrade rejection, repair and uninstall tests; existing installed settings remained byte-for-byte unchanged.

SHA-256

1c7bbb19f4483114bd38977c9b6be1be5e4b1e42a27bbe5c0b3bb27f62cf0aff  WaveScope-v1.2.0-portable-win64.zip
0fd52296657f7221f8d466fda7452082f2516d13afea0ac2ed79e8ead3575919  WaveScope-v1.2.0-installer-win64.msi

Full changelog

WaveScope 1.1.1 — first signed release

Choose a tag to compare

@github-actions github-actions released this 10 Sep 03:06

WaveScope 1.1.1 is the first signed Windows release. It fixes GUI and recording bugs, adds personal Spotify configuration, and addresses findings from the repository's first adversarial review.

Download

Download WaveScope-v1.1.1-win64.zip, extract it, and run WaveScope.exe. The portable ZIP includes projectM, Microsoft's app-local runtime, all bundled presets and textures, documentation, and screenshots. GPU and MilkDrop modes require an OpenGL 3.3-capable driver.

WaveScope.exe, projectM-4.dll, and projectM-4-playlist.dll are signed through Azure Artifact Signing as Jason Ulbright, with SHA-256 signatures and trusted timestamps. Microsoft runtime DLLs retain their Microsoft signatures. The accompanying .zip.sha256 file contains the final signed ZIP's checksum. Verification instructions.

Changes

  • GUI: fixed the lab shortcut inserting text and stale editor redraws; added palette pagination, narrow-window wrapping, label clipping, modal shortcut isolation, and reliable slider dragging.
  • Spotify: configure your own public Client ID in Options (F2). The bundled ID is removed; changing it or disconnecting clears the stored login. Existing users who want API playback control must supply their own ID. System-audio visualization needs no Spotify API setup.
  • Reliability: fixed recording restart/destruction crashes after automatic stop and rapid-take filename collisions; corrected audio-thread teardown and a sample-rate data race.
  • OAuth: stricter callback parsing, bounded socket/network reads, serialized refresh requests, proper Unicode/JSON handling, and nonmodal worker errors.
  • Packaging: pinned build dependencies and workflow actions, Windows version metadata, compiler hardening, signed release checks, SHA-256 checksums, and exclusion of personal presets/settings. Updated README badges, build instructions, and release documentation.

Validation

The MSVC build and unit/adversarial suite passed. The portable graphics selftest covers all 34 built-in modes, all 17 shaders, MP4 recording/decoding, recording restart, Spout roundtrip, MilkDrop presets/morphs, GUI input/layout, lab redraw, and VJ transitions. Native Options and lab behavior were also checked interactively.

The actual signed ZIP was downloaded from the draft release, its SHA-256 checksum and Authenticode signatures were verified on Windows, and its full selftest reported ALL PASS before publication. GitHub CI and CodeQL also passed, with no open code-scanning alerts at release time. Successful signing workflow.

Real Spotify account authorization/playback was not exercised. The review report records the scope and remaining limitations. Calm mode reduces selected effects and does not guarantee photosensitivity safety.

SHA-256 (ZIP): 6ec2dd688e4a7345a1ed6d56b1636aecf166f66cbb63fc1055d371f0bed81477

Full changelog

WaveScope 1.1.0

Choose a tag to compare

@jasonulbright jasonulbright released this 12 Jul 23:18

Portable zip — unzip anywhere, run WaveScope.exe. Settings live in
wavescope.ini beside the exe; nothing touches the registry except the
opt-in launch-at-login key. Delete the folder and every trace is gone.

MilkDrop deck true-up: morph transitions, a live preset lab, and
audio-driven VJ shuffle.

  • Morph deck (projectM engine): a MORPH row with a target dropdown (shuffle,
    or any preset in the library), a 0.5–10 s blend slider, and a morph button
    that cross-fades between presets using the engine's soft cut. The blend
    length persists in wavescope.ini.
  • Preset lab (L): a modal editor over the active preset's full .milk
    source. Apply (Ctrl+Enter) recompiles live against the signal; a rejected
    edit keeps the running preset and shows the engine's message, with a line
    and column when it has one. Save writes to presets\user\.
  • Auto-VJ (S → VJ): audio-driven shuffle instead of a timer — a bass drop
    hard-cuts to another visual, a long lull gently morphs. Applies to
    whichever engine is active.
  • Timed shuffle now blends projectM preset hops over the morph slider length
    instead of hard-cutting; DJ still hops the engine, VJ keeps its own design.
  • L used to open the MilkDrop preset folder; point MILK at your own
    .milk archive by clicking the milkdrop deck button again.

The zip bundles the projectM DLLs, their app-local VC++ runtime, and
THIRD-PARTY-NOTICES.txt with full license texts and upstream pins. The
artifact is gated by WaveScope.exe selftest run from the staged layout
before zipping.

WaveScope 1.0.0

Choose a tag to compare

@jasonulbright jasonulbright released this 12 Jul 16:17

Portable zip — unzip anywhere, run WaveScope.exe. Settings live in
wavescope.ini beside the exe; nothing touches the registry except the
opt-in launch-at-login key. Delete the folder and every trace is gone.

  • Three engines: 34 built-in Direct2D modes, all 17 GPU shader modes, and
    real MilkDrop via libprojectM — the 15 WaveScope presets plus the
    551-preset classic library with the shared texture pack.
  • Sources: silent WASAPI system loopback, microphone, demo signal, audio
    file (Media Foundation, looped).
  • MP4 clip recording (hardware H.264 + AAC), Spout output for
    OBS/Resolume/TouchDesigner, multi-monitor companion displays, always on
    top, tray, kiosk and video-wall launch modes, DJ shuffle, calm mode.
  • Spotify one-button sign-in (browser PKCE flow, no client secret; the
    stored login is encrypted to your Windows user account).

The zip bundles the projectM DLLs, their app-local VC++ runtime, and
THIRD-PARTY-NOTICES.txt with full license texts and upstream pins. The
artifact is gated by WaveScope.exe selftest run from the staged layout
before zipping.