feat(dac-wizard): extend DAC info to all steps and done summary
- Add DAC short name to pulse config filename for multi-DAC support - Add getCreatedConfigPaths() for dynamic file path generation - Show configured DAC name/description in done step - Add configuredFor translation to all locales (EN/ES/FR/DE)
This commit is contained in:
1 parent
c3ae0a2e6a
commit
e6d5c1ae7d
5 files changed
+44
-4
No files matched your search
@@ -243,6 +243,7 @@
|
|||||||
|
|
||||||
// Generate pulse config command based on selected apps
|
// Generate pulse config command based on selected apps
|
||||||
function generatePulseConfig(): string[] {
|
function generatePulseConfig(): string[] {
|
||||||
|
const fileName = dacNodeName ? `99-qbz-bitperfect-${dacShortName()}.conf` : '99-qbz-bitperfect.conf';
|
||||||
const rules = selectedApps.map(app => {
|
const rules = selectedApps.map(app => {
|
||||||
const matchKey = app === 'QBZ' ? 'application.name' : 'application.process.binary';
|
const matchKey = app === 'QBZ' ? 'application.name' : 'application.process.binary';
|
||||||
const matchValue = app === 'QBZ' ? 'QBZ' : app.toLowerCase();
|
const matchValue = app === 'QBZ' ? 'QBZ' : app.toLowerCase();
|
||||||
@@ -254,7 +255,7 @@
|
|||||||
|
|
||||||
return [
|
return [
|
||||||
'mkdir -p ~/.config/pipewire/pipewire-pulse.conf.d',
|
'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',
|
'# QBZ DAC Setup - Per-App Bit-Perfect',
|
||||||
'pulse.rules = [',
|
'pulse.rules = [',
|
||||||
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
|
// Generate WirePlumber config with user's DAC node name
|
||||||
function generateWireplumberConfig(): string[] {
|
function generateWireplumberConfig(): string[] {
|
||||||
const rates = Array.from(selectedSampleRates).sort((a, b) => a - b);
|
const rates = Array.from(selectedSampleRates).sort((a, b) => a - b);
|
||||||
@@ -633,12 +644,19 @@
|
|||||||
<div class="done-content">
|
<div class="done-content">
|
||||||
<CheckCircle size={64} class="done-icon" />
|
<CheckCircle size={64} class="done-icon" />
|
||||||
|
|
||||||
|
{#if dacCapabilities?.description || dacNodeName}
|
||||||
|
<div class="done-dac-info">
|
||||||
|
<span class="done-dac-label">{$t('dacWizard.done.configuredFor')}</span>
|
||||||
|
<span class="done-dac-name">{dacCapabilities?.description || dacShortName()}</span>
|
||||||
|
</div>
|
||||||
|
{/if}
|
||||||
|
|
||||||
<div class="done-summary">
|
<div class="done-summary">
|
||||||
<h4>{$t('dacWizard.done.summary')}</h4>
|
<h4>{$t('dacWizard.done.summary')}</h4>
|
||||||
<ul class="config-list">
|
<ul class="config-list">
|
||||||
<li><code>~/.config/pipewire/pipewire.conf.d/99-qbz-dac.conf</code></li>
|
{#each getCreatedConfigPaths() as path}
|
||||||
<li><code>~/.config/pipewire/pipewire-pulse.conf.d/99-qbz-bitperfect.conf</code></li>
|
<li><code>{path}</code></li>
|
||||||
<li><code>~/.config/wireplumber/wireplumber.conf.d/99-qbz-dac.conf</code></li>
|
{/each}
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -1157,6 +1175,24 @@
|
|||||||
color: var(--accent-primary);
|
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 {
|
.done-summary {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1065,6 +1065,7 @@
|
|||||||
"title": "Einrichtung abgeschlossen",
|
"title": "Einrichtung abgeschlossen",
|
||||||
"subtitle": "Ihr DAC ist für Bit-Perfect-Wiedergabe konfiguriert.",
|
"subtitle": "Ihr DAC ist für Bit-Perfect-Wiedergabe konfiguriert.",
|
||||||
"summary": "Erstellte Konfigurationen:",
|
"summary": "Erstellte Konfigurationen:",
|
||||||
|
"configuredFor": "Konfiguriert für:",
|
||||||
"close": "Schließen"
|
"close": "Schließen"
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
|
|||||||
@@ -1123,6 +1123,7 @@
|
|||||||
"done": {
|
"done": {
|
||||||
"title": "Setup Complete",
|
"title": "Setup Complete",
|
||||||
"subtitle": "Your DAC is configured for bit-perfect playback.",
|
"subtitle": "Your DAC is configured for bit-perfect playback.",
|
||||||
|
"configuredFor": "Configured for:",
|
||||||
"summary": "Created configs:",
|
"summary": "Created configs:",
|
||||||
"close": "Close"
|
"close": "Close"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1123,6 +1123,7 @@
|
|||||||
"done": {
|
"done": {
|
||||||
"title": "Configuración Completa",
|
"title": "Configuración Completa",
|
||||||
"subtitle": "Tu DAC está configurado para reproducción bit-perfect.",
|
"subtitle": "Tu DAC está configurado para reproducción bit-perfect.",
|
||||||
|
"configuredFor": "Configurado para:",
|
||||||
"summary": "Configs creados:",
|
"summary": "Configs creados:",
|
||||||
"close": "Cerrar"
|
"close": "Cerrar"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1064,6 +1064,7 @@
|
|||||||
"done": {
|
"done": {
|
||||||
"title": "Configuration terminée",
|
"title": "Configuration terminée",
|
||||||
"subtitle": "Votre DAC est configuré pour la lecture bit-perfect.",
|
"subtitle": "Votre DAC est configuré pour la lecture bit-perfect.",
|
||||||
|
"configuredFor": "Configuré pour :",
|
||||||
"summary": "Configurations créées :",
|
"summary": "Configurations créées :",
|
||||||
"close": "Fermer"
|
"close": "Fermer"
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in new issue
Block a user