fix: previews follow the app volume; volume bar fill always accent
The preview backend never received a volume — clips played at the crate default (0.7) regardless of the slider, even muted. The session now sets the preview volume from the app store (mute → 0) before the first load and mirrors it live while the modal is open; the debug overlay's PREVIEW row exposes the backend's resting volume as proof. The player-bar volume (and fallback seek) fill is now always the accent color — matching the waveform scrubber's played region — stepping up to the hover shade on hover instead of white-until-hover. Also syncs package-lock to the soulstream name + alpha version.
This commit is contained in:
1 parent
793f78370e
commit
691fdcdc9a
10 files changed
+63
-10
No files matched your search
@@ -18,6 +18,7 @@
|
||||
previewCommands,
|
||||
closePreview,
|
||||
} from "../lib/preview/previewSession.svelte.js";
|
||||
import { player } from "../lib/state.svelte.js";
|
||||
import {
|
||||
playableManifestIndices,
|
||||
playableCursor,
|
||||
@@ -25,6 +26,14 @@
|
||||
} from "../lib/preview/session.js";
|
||||
import { accentFromImage } from "../lib/color.js";
|
||||
|
||||
// Preview audio follows the APP volume — mute means silent previews
|
||||
// too. Mirrored live while the modal is open (the session also sets it
|
||||
// once at open, before the first load).
|
||||
$effect(() => {
|
||||
if (!previewUi.open) return;
|
||||
previewCommands.setVolume(player.muted ? 0 : player.volume);
|
||||
});
|
||||
|
||||
const st = $derived(previewUi.snapshot);
|
||||
const manifest = $derived(st?.manifest ?? null);
|
||||
const items = $derived(manifest?.items ?? []);
|
||||
|
||||
Reference in new issue
Block a user