Merge feature/profile-volume-slider-fix into master

This commit is contained in:
joren
2026-04-02 19:16:55 +02:00

View File

@@ -349,6 +349,17 @@ export async function saveProfile(name: string) {
async function applyProfileVolumes(profile: PatchbayProfile) { async function applyProfileVolumes(profile: PatchbayProfile) {
if (!profile.volumes && !profile.mutes) return; if (!profile.volumes && !profile.mutes) return;
const currentNodes = get_store_value(nodes); const currentNodes = get_store_value(nodes);
// Optimistically update store so sliders reflect new values immediately
nodes.update(ns => ns.map(n => {
const vol = profile.volumes?.[n.name];
const mute = profile.mutes?.[n.name];
if (vol !== undefined || mute !== undefined) {
return { ...n, ...(vol !== undefined ? { volume: vol } : {}), ...(mute !== undefined ? { mute } : {}) };
}
return n;
}));
for (const n of currentNodes) { for (const n of currentNodes) {
if (profile.volumes?.[n.name] !== undefined) { if (profile.volumes?.[n.name] !== undefined) {
await setNodeVolume(n.id, profile.volumes[n.name]); await setNodeVolume(n.id, profile.volumes[n.name]);