Skip to content

Repository files navigation

MenuMixer

Mélangeur audio par application pour macOS — comme le mixeur de volume de Windows, directement dans la barre des menus.

Contrôle le volume de chaque application individuellement, change de sortie audio à la volée, visualise les niveaux en temps réel avec un VU-mètre, et n'affiche que les apps qui jouent actuellement (comme sur Windows).

macOS Swift License


Fonctionnalités

  • Affichage "Windows-like" : seules les apps qui émettent du son actuellement sont listées (via kAudioProcessPropertyIsRunningOutput). Un toggle permet de voir aussi les apps ayant un stream ouvert mais silencieux.
  • Indicateur visuel (point vert) sur chaque app qui joue actuellement.
  • Volume par application avec curseur individuel et VU-mètre temps réel.
  • Volume master global (synchronisé avec le volume système macOS).
  • Sélection de la sortie audio par app (haut-parleurs, casque, AirPods, etc.).
  • App légère en barre des menus (aucune fenêtre flottante, LSUIElement).
  • Persistance des volumes et états de mute entre les sessions.
  • Utilise les Core Audio Process Taps (API native macOS 14.2+).

Installation

Depuis la dernière release (recommandé)

  1. Télécharge le .dmg depuis la page Releases.

  2. Ouvre le DMG (double-clic), puis glisse MenuMixer.app dans le dossier Applications.

  3. Ouvre le Terminal (Spotlight → taper "Terminal" → Entrée) et colle cette ligne :

    xattr -cr /Applications/MenuMixer.app && open /Applications/MenuMixer.app

    Cette commande retire le flag de quarantaine posé par le navigateur (sinon macOS affiche « MenuMixer est endommagé ») puis lance l'app.

  4. Autorise la capture audio au premier clic (indispensable pour contrôler le volume par app). L'icône haut-parleur apparaît ensuite dans la barre des menus.

Pourquoi cette commande ?

L'app est signée en ad-hoc (signature locale gratuite) et non notarisée par Apple (99 €/an de compte développeur pour la notarisation). macOS pose un flag de "quarantaine" sur tout fichier téléchargé depuis un navigateur, ce qui combiné à une signature ad-hoc provoque le message « endommagé » avec seulement l'option "Placer dans la corbeille" sur macOS Sequoia. La commande xattr -cr retire ce flag en une seconde — l'app est parfaitement saine, le code source est entièrement public et auditable dans ce repo.

Note : sur d'anciennes versions de macOS, il était possible d'utiliser un script .command pour automatiser la commande, mais Sequoia bloque désormais aussi ces scripts quand ils sont téléchargés. Le passage par le Terminal reste la méthode la plus fiable sans compte développeur Apple.

Compilation depuis le source

Prérequis :

  • macOS 15.0+
  • Xcode 16.0+
  • XcodeGen (brew install xcodegen)
git clone https://github.com/AbrahamOP/MenuMixer.git
cd MenuMixer
xcodegen generate           # régénère MenuMixer.xcodeproj depuis project.yml
open MenuMixer.xcodeproj

Puis build (⌘B) / run (⌘R) depuis Xcode.

Pour générer un DMG local :

./create-dmg.sh

Utilisation

  1. Clique sur l'icône haut-parleur dans la barre des menus.
  2. Le popover affiche uniquement les apps qui jouent actuellement. Chacune montre :
    • Son icône et son nom, avec un point vert si elle émet en ce moment
    • Un curseur de volume individuel
    • Un VU-mètre temps réel
    • Un bouton mute
    • Un sélecteur de sortie audio (si plusieurs devices disponibles)
  3. En bas, un bouton « Afficher les X apps silencieuses » permet de voir aussi les apps ayant un stream ouvert mais ne jouant rien. À l'inverse, un bouton « Masquer les apps silencieuses » rebascule en mode compact.
  4. Le curseur Volume global en bas contrôle le volume système (lié bidirectionnellement aux touches clavier de volume et au menu son macOS).

Permissions requises

Au premier lancement, macOS demande l'autorisation de capture audio (Core Audio Process Taps). C'est indispensable pour lire et contrôler le volume de chaque app. Les données audio ne quittent jamais ta machine.


Désinstallation

rm -rf "/Applications/MenuMixer.app"
defaults delete com.menumixer.app 2>/dev/null || true

La seconde ligne supprime les préférences (volumes sauvegardés par app).


Contribuer

Les PR sont les bienvenues. Ouvre une issue d'abord pour discuter des changements importants.

Licence

MIT — voir LICENSE.

About

Mélangeur audio par application pour macOS — contrôle le volume de chaque app depuis la barre des menus.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages