2.8 KiB
Mixeur audio du Control Center
Le clic sur l'indicateur de volume de la barre ouvre la page Audio du
Control Center. Le défilement de la barre conserve ses pas de 1 point et son
contrôleur VolumeSlider. La page est intégrée au StackLayout existant et
possède un bouton Retour vers Réglages rapides ; elle ne crée ni fenêtre ni
service supplémentaire.
La page utilise Quickshell.Services.Pipewire. Pipewire.nodes fournit les
objets vivants et PwObjectTracker lie les nœuds audio uniquement tant que la
page est active. Le volume général lit exactement le sinkAudio du
VolumeSlider déjà partagé avec la barre. Les trois listes se fondent sur
media.class et les propriétés de direction : Audio/Sink pour les sorties,
Audio/Source pour les microphones et Stream/Output/Audio pour les flux de
lecture. Les flux de capture, de vidéo et les nœuds techniques de monitoring
ou de groupe loopback sont exclus. Chaque objet de flux garde sa propre ligne ;
aucune identité temporaire n'est persistée et l'ordre des survivants suit le
catalogue PipeWire pendant les interactions.
Choisir une sortie ou une entrée écrit preferredDefaultAudioSink ou
preferredDefaultAudioSource. La coche et le libellé « utilisée » suivent
uniquement defaultAudioSink et defaultAudioSource effectivement observés.
La préférence peut être différente de la valeur effective ou prendre du temps
à s'appliquer. Un changement de sortie par défaut ne garantit pas le transfert
des flux déjà ouverts. Le routage par application et les profils Bluetooth ne
font pas partie de cette V1.
Chaque curseur affiche le volume réel, borné à 0–100 % seulement pour une
nouvelle demande utilisateur. Une valeur externe supérieure à 100 % demeure
affichée sans écriture automatique. Le bouton muet est indépendant du curseur :
modifier le volume n'active jamais un flux ou un microphone muet. La page ne
lance aucune capture de microphone et n'écrit aucun paramètre à l'ouverture ou
à la fermeture. Les commandes restent des propriétés natives QuickShell ;
wpctl n'est utilisé que pour la confirmation des tests.
AudioMixerModel.js contient le filtrage et les conversions vérifiées par
node tests/audio_mixer/test_model.js. Les essais réels de V1 ont utilisé deux
flux pw-play silencieux et non reliés (--target 0) : leurs volumes ont été
réglés indépendamment depuis l'interface et confirmés par PipeWire. La
sourdine d'un flux est restée active après un déplacement de son curseur ; une
modification externe et une disparition pendant le réglage ont aussi été
reflétées dans la page. Aucun flux utilisateur n'a été modifié. Le choix réel
d'une autre sortie ou entrée et la sourdine matérielle du microphone restent à
contrôler manuellement, sans déconnecter la sortie courante ni activer le micro.