diff --git a/src/lib/components/DACSetupWizard.svelte b/src/lib/components/DACSetupWizard.svelte
index c5961864f..38ab2a05e 100644
--- a/src/lib/components/DACSetupWizard.svelte
+++ b/src/lib/components/DACSetupWizard.svelte
@@ -243,6 +243,7 @@
// Generate pulse config command based on selected apps
function generatePulseConfig(): string[] {
+ const fileName = dacNodeName ? `99-qbz-bitperfect-${dacShortName()}.conf` : '99-qbz-bitperfect.conf';
const rules = selectedApps.map(app => {
const matchKey = app === 'QBZ' ? 'application.name' : 'application.process.binary';
const matchValue = app === 'QBZ' ? 'QBZ' : app.toLowerCase();
@@ -254,7 +255,7 @@
return [
'mkdir -p ~/.config/pipewire/pipewire-pulse.conf.d',
- `cat > ~/.config/pipewire/pipewire-pulse.conf.d/99-qbz-bitperfect.conf << 'EOF'`,
+ `cat > ~/.config/pipewire/pipewire-pulse.conf.d/${fileName} << 'EOF'`,
'# QBZ DAC Setup - Per-App Bit-Perfect',
'pulse.rules = [',
rules,
@@ -263,6 +264,16 @@
];
}
+ // Get created config file paths for summary
+ function getCreatedConfigPaths(): string[] {
+ const name = dacNodeName ? dacShortName() : null;
+ return [
+ `~/.config/pipewire/pipewire.conf.d/${name ? `99-qbz-dac-${name}.conf` : '99-qbz-dac.conf'}`,
+ `~/.config/pipewire/pipewire-pulse.conf.d/${name ? `99-qbz-bitperfect-${name}.conf` : '99-qbz-bitperfect.conf'}`,
+ `~/.config/wireplumber/wireplumber.conf.d/${name ? `99-qbz-dac-${name}.conf` : '99-qbz-dac.conf'}`
+ ];
+ }
+
// Generate WirePlumber config with user's DAC node name
function generateWireplumberConfig(): string[] {
const rates = Array.from(selectedSampleRates).sort((a, b) => a - b);
@@ -633,12 +644,19 @@
+ {#if dacCapabilities?.description || dacNodeName}
+
+ {$t('dacWizard.done.configuredFor')}
+ {dacCapabilities?.description || dacShortName()}
+
+ {/if}
+
{$t('dacWizard.done.summary')}
- ~/.config/pipewire/pipewire.conf.d/99-qbz-dac.conf
- ~/.config/pipewire/pipewire-pulse.conf.d/99-qbz-bitperfect.conf
- ~/.config/wireplumber/wireplumber.conf.d/99-qbz-dac.conf
+ {#each getCreatedConfigPaths() as path}
+ {path}
+ {/each}
@@ -1157,6 +1175,24 @@
color: var(--accent-primary);
}
+ .done-dac-info {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ gap: 4px;
+ }
+
+ .done-dac-label {
+ font-size: 13px;
+ color: var(--text-muted);
+ }
+
+ .done-dac-name {
+ font-size: 18px;
+ font-weight: 600;
+ color: var(--text-primary);
+ }
+
.done-summary {
text-align: center;
}
diff --git a/src/lib/i18n/locales/de.json b/src/lib/i18n/locales/de.json
index 70c23e312..7e4bd0ea2 100644
--- a/src/lib/i18n/locales/de.json
+++ b/src/lib/i18n/locales/de.json
@@ -1065,6 +1065,7 @@
"title": "Einrichtung abgeschlossen",
"subtitle": "Ihr DAC ist für Bit-Perfect-Wiedergabe konfiguriert.",
"summary": "Erstellte Konfigurationen:",
+ "configuredFor": "Konfiguriert für:",
"close": "Schließen"
},
"error": {
diff --git a/src/lib/i18n/locales/en.json b/src/lib/i18n/locales/en.json
index d04e997fd..adf262928 100644
--- a/src/lib/i18n/locales/en.json
+++ b/src/lib/i18n/locales/en.json
@@ -1123,6 +1123,7 @@
"done": {
"title": "Setup Complete",
"subtitle": "Your DAC is configured for bit-perfect playback.",
+ "configuredFor": "Configured for:",
"summary": "Created configs:",
"close": "Close"
},
diff --git a/src/lib/i18n/locales/es.json b/src/lib/i18n/locales/es.json
index a96845ffa..e581cb288 100644
--- a/src/lib/i18n/locales/es.json
+++ b/src/lib/i18n/locales/es.json
@@ -1123,6 +1123,7 @@
"done": {
"title": "Configuración Completa",
"subtitle": "Tu DAC está configurado para reproducción bit-perfect.",
+ "configuredFor": "Configurado para:",
"summary": "Configs creados:",
"close": "Cerrar"
},
diff --git a/src/lib/i18n/locales/fr.json b/src/lib/i18n/locales/fr.json
index dece2b424..7a881dfda 100644
--- a/src/lib/i18n/locales/fr.json
+++ b/src/lib/i18n/locales/fr.json
@@ -1064,6 +1064,7 @@
"done": {
"title": "Configuration terminée",
"subtitle": "Votre DAC est configuré pour la lecture bit-perfect.",
+ "configuredFor": "Configuré pour :",
"summary": "Configurations créées :",
"close": "Fermer"
},