Skip to content

Add 'Delete downloaded soundfont' affordance #4

Description

@byrongamatos

Restored from slopsmith/slopsmith#547 — original issue, opened by @byrongamatos on 2026-04-22.
[restored-from: slopsmith/slopsmith#547]

Follow-up from slopsmith/slopsmith-desktop#13 review. After downloading FluidR3_GM.sf2 (~142 MB) via the "High" audio quality setting, switching back to "Default" leaves the file on disk at:

  • Linux: `~/.config/slopsmith-desktop/soundfonts/FluidR3_GM.sf2`
  • macOS: `~/Library/Application Support/slopsmith-desktop/soundfonts/FluidR3_GM.sf2`
  • Windows: `%APPDATA%\slopsmith-desktop\soundfonts\FluidR3_GM.sf2`

Users have no in-app way to reclaim that 142 MB.

What

Add a small "Delete downloaded" button that appears next to the High radio when the file exists AND the user is currently on Default (so they can't accidentally nuke the active soundfont). Clicking it:

  1. Confirms via a small toast ("Delete 142 MB downloaded soundfont?")
  2. Deletes the file
  3. Refreshes the settings panel (`api.getStatus`)

Why

Low priority but it's a tangible disk-space ask. Once a user tries and decides GeneralUser was fine for their needs, they should be able to roll back cleanly.

Implementation sketch

  • New IPC handler: `soundfont:deleteHighQuality` in `src/main/soundfont-manager.ts`
  • Unlink the file, return `{ success, message }`
  • Renderer: new "Delete" button in `src/renderer/settings.html`, visible when `status.highDownloaded && status.activeQuality !== 'high'`
  • Handler in `src/renderer/screen.js` that calls `api.deleteHighQuality()` + refreshes

Tagged from slopsmith/slopsmith-desktop#13's review.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    cap:1:audio-monitoringMonitoring start/stop, direct monitor, latency, and live session controlcap:2:settingsSettings-panel behavior and persistent user configurationdesktopRelates to slopsmith-desktop (JUCE/Electron wrapper)laterBacklog / later

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions