2 points par GN⁺ 4 시간 전 | 1 commentaires | Partager sur WhatsApp
  • Music Decoy est une app qui reste présente comme processus en cours d’exécution pour empêcher l’ouverture de l’app système Music lorsqu’on appuie par erreur sur ▶ Play
  • Elle ne fait absolument rien en arrière-plan et utilise le même identifiant de bundle que l’app Music afin que le système considère que Music est déjà en cours d’exécution
  • À partir de la v1.1, le réglage mediaAppPath permet de configurer le lancement d’une autre app, comme Spotify, lors d’un appui sur ▶ Play
  • Le lancement automatique de l’app Music peut se produire après un appui sur la touche ▶ Play du clavier, une commande de lecture après connexion d’un casque Bluetooth, ou quand un casque repasse du mode appel au mode musique après la fin d’un appel
  • rcd envoie la commande à l’app audio en cours s’il y en a une lors d’un événement de lecture, sinon il lance l’app système Music ; désactiver ce démon désactive aussi les contrôles multimédias du clavier

Music Decoy

  • Téléchargement, voir le code source, commande d’installation $brew install music-decoy disponible

  • Empêcher le lancement de l’app Music

    • Tant que Music Decoy est en cours d’exécution, l’app système Music ne se lancera pas même si vous appuyez par erreur sur ▶ Play
    • L’app ne fait absolument rien en arrière-plan ; elle existe simplement comme processus en cours d’exécution avec le même identifiant de bundle que l’app Music
  • Fonctionnement

    • Elle utilise l’identifiant de bundle com.apple.Music pour amener le système à considérer que l’app Music est déjà en cours d’exécution
  • Configuration

    • Depuis la v1.1, il est possible de configurer Music Decoy pour lancer une autre app lorsqu’on appuie sur le bouton ▶ Play
    • Exemple de commande de configuration pour Spotify :
      defaults write com.lowtechguys.MusicDecoy mediaAppPath /Applications/Spotify.app
      
      Publicité
    • Commande pour réinitialiser la configuration :
      defaults delete com.lowtechguys.MusicDecoy mediaAppPath
      
  • Comment quitter

    • Il n’y a ni icône dans le Dock ni icône dans la barre de menus ; il faut donc quitter l’app par l’un des moyens suivants
      • Ouvrir Activity Monitor, trouver Music Decoy, puis cliquer sur le bouton ❌ en haut
      • Exécuter killall 'Music Decoy' dans le Terminal

Conditions de lancement automatique, cause et alternatives

  • Quand Music se lance-t-elle toute seule ?

    • Cela se produit lorsqu’on appuie sur la touche ▶ Play du clavier et qu’aucune autre app ne lit d’audio
    • Cela se produit lorsqu’un casque Bluetooth se connecte et envoie une commande de lecture
    • Cela se produit lorsqu’un casque Bluetooth repasse du mode appel au mode musique à la fin d’un appel
    Publicité
  • Pourquoi cela se produit-il ?

    • rcd est l’abréviation de Remote Control Daemon, le démon chargé du traitement des touches multimédias
    • Lorsqu’un événement de lecture se produit, rcd vérifie s’il existe une app en train de lire de l’audio
    • S’il y a une app de lecture audio, il lui envoie la commande de lecture ; sinon, il lance l’app système Music
    • Il existe une méthode pour désactiver ce démon, mais cela désactive aussi les fonctions de contrôle multimédia au clavier
  • Alternatives

    • D’après cette réponse StackExchange, il existe plusieurs façons d’obtenir le même effet
    • launchctl unload -w /System/Library/LaunchAgents/com.apple.rcd.plist
      • Inconvénient : désactive complètement le bouton Play
    • noTunes détecte les apps lancées et ferme Music immédiatement après son ouverture
      • Inconvénient : utilise une quantité infime de CPU en arrière-plan, même si la détection des apps lancées demande très peu de travail

1 commentaires

 
GN⁺ 4 시간 전
Avis Hacker News
  • C’est vraiment malin que l’application fonctionne simplement en restant comme un processus en cours d’exécution avec le même identifiant de bundle que l’app Music, sans rien faire du tout en arrière-plan
    Ce genre de solution low-code/no-code a une élégance qui ne vient que d’une compréhension très profonde du système. Il faut savoir exactement ce qui se passe quand on appuie sur le bouton lecture dans macOS, comment fonctionnent les identifiants de bundle, et le résultat n’est presque rien d’autre qu’une simple « collision », ce qui est magnifique
    Au passage, les agents de codage sont faibles sur ce genre de problème. Le Codex actuel aurait de fortes chances de créer une application excessive qui surveille en boucle le lancement de Music avant de la tuer

    • Au contraire, ça ressemble plutôt à un bon exemple théorique d’utilisation efficace d’un agent de codage
      Si on lui demande « empêche le lancement de l’app Apple Music », il ira probablement, comme la plupart des humains, vers une approche de surveillance puis fermeture. Mais si on lui demande « enquête sur la raison pour laquelle Apple Music se lance », l’utilisateur peut rapidement conclure à partir des résultats que la meilleure solution est de créer une application sans code qui entre en conflit avec Music
    • Au lycée, mon père limitait mon temps de jeu avec Apple ScreenTime, alors j’ai contourné ça en changeant le BundleIdentifier du jeu dans info.plist en com.apple.systempreferences, puis en signant le .app avec mon propre certificat développeur
      C’était assez drôle jusqu’à ce que je me fasse prendre
  • J’ai encore du mal à croire qu’Apple ait supprimé iTunes
    Avant, j’y gardais toute ma bibliothèque musicale numérique, en grande partie issue de CD que j’avais rippés moi-même, mais il y avait aussi des albums et des séries TV achetés sur iTunes. Quand Apple a purement et simplement abandonné iTunes et l’a supprimé de Mac OS pour le remplacer par quelque chose comme Apple Music, je me suis dit que je ne leur ferais plus jamais confiance
    J’ai cherché pendant un moment un bon lecteur MP3 et j’ai aussi essayé AIMP, mais maintenant je pense carrément créer moi-même, avec l’IA, un lecteur basé sur des fichiers locaux avec mon propre interface. Je n’ai pas besoin de streaming et je n’en veux pas. J’aurais peut-être continué à acheter des albums sur iTunes, mais aujourd’hui il vaut mieux acheter des CD

    • Dans Apple Music, on peut désactiver les services cloud tout en continuant à utiliser ses morceaux locaux et la musique téléchargée depuis l’iTunes Music Store
      J’ai fait ça pendant la majeure partie de l’an dernier : j’ai désactivé les fonctions cloud, mis toute ma musique locale dans Apple Music, puis synchronisé mon iPhone par câble comme avec un vieil iPod, et ça marche toujours très bien
    • L’app Music lit la même bibliothèque qu’iTunes et les fonctions musicales de base sont presque identiques. Ce qui manque, c’est plutôt du côté de l’interface ?
    • Il existe aussi des gestionnaires de bibliothèque/lecteurs bien conçus à la main, comme https://www.strawberrymusicplayer.org
    • foobar reste le meilleur : https://www.foobar2000.org/mac
    • Je ne vois pas très bien la différence. J’utilise encore l’app Music, mais elle fonctionne exactement comme avant le changement de nom
      Même sans abonnement à Apple Music, je garde toute ma bibliothèque musicale numérique dans iTunes/Music et je l’utilise comme avant
  • J’utilise l’utilitaire intégré hidutil pour remapper les touches F3 à F9 comme je veux
    J’ai mis F3/F4 sur la luminosité du rétroéclairage du clavier, et F5 à F9 en touches de fonction normales. Il y a beaucoup d’infos utiles dans ce post : https://news.ycombinator.com/item?id=35555475
    Sur mon MacBook M1, je fais ça avec hidutil property --set et UserKeyMapping, en définissant les valeurs HIDKeyboardModifierMappingSrc/HIDKeyboardModifierMappingDst

  • J’aurais eu besoin de ça il y a quelques mois. En concert, je fais tourner mon setup clavier sur un MacBook, et pour le monitoring j’utilise des casques sans fil à faible latence
    Le dongle émetteur du casque est branché sur l’ordinateur portable, et si j’appuie sur le bouton du casque, le dongle envoie une commande « lecture/pause », ce qui lance Music et commence à jouer de l’audio sur le périphérique de sortie par défaut. Il ne vérifie même pas si l’émetteur du casque est sélectionné comme sortie par défaut, donc dans une configuration multi-appareils complexe, le son peut très bien partir vers un tout autre appareil
    Si j’appuie par erreur sur le bouton pendant le concert et que la sortie par défaut est l’interface connectée à la sono, une piste aléatoire peut partir dans toute la salle à volume maximal
    Aujourd’hui, j’ai modifié le matériel pour brancher le dongle non plus sur l’ordinateur portable mais du côté de l’interface audio, donc ce n’est plus un problème immédiat, mais empêcher ce genre de mauvais comportement faisait aussi partie des raisons de cette reconfiguration. Sur un appareil premium destiné aux professionnels de la création, ce type de comportement non configurable est totalement inadapté à un environnement de concert

  • Ça me déprime de voir Apple utiliser ce genre de tactiques de bas étage à la Microsoft. Forcer les utilisateurs vers un autre produit, c’est de l’autocannibalisation de marque

    • Pourquoi serait-il étrange que le lecteur de musique inclus dans le système d’exploitation s’ouvre quand on appuie sur lecture alors qu’il n’y a pas de session multimédia active ?
    • L’expression « tactiques de bas étage à la Microsoft » me fait rire, parce qu’en lisant la solution, ma première pensée a plutôt été : « c’est très Apple, comme approche »
    • Apple est obsédé par l’idée de tuer Spotify. C’est sans doute pour ça qu’ils font, de façon peu caractéristique pour Apple, des choses hostiles au client
      Ça rappelle l’ancien face-à-face Microsoft contre Netscape
    • Ce genre de comportement produit surtout l’effet inverse. Je n’ai absolument aucune envie d’utiliser un produit lié à Apple Music
      Je ne comprends pas pourquoi il n’existe pas de moyen simple de désactiver ce comportement agressif. On dirait une interaction volontairement coercitive et désagréable, le genre de chose qui, si on ne la coupe pas tôt, finit par proliférer et enfermer davantage l’utilisateur
      Ce n’est pas propre à Apple : beaucoup de designers produit adoptent cette attitude arrogante
    • J’ai du mal à voir en quoi le fait que le lecteur de musique inclus dans l’OS s’ouvre quand on essaie de lire de la musique serait une forme de « coercition »
  • Ce que je déteste, c’est que quand on ouvre un fichier audio, Music se lance automatiquement et l’ajoute en plus à la bibliothèque musicale
    Ensuite il faut le supprimer manuellement en choisissant « conserver le fichier »

    • Il y a très longtemps, quand l’app Music s’appelait encore iTunes, j’avais configuré tous les fichiers musicaux pour qu’ils s’ouvrent avec QuickTime Player
      Ça remonte à tellement loin que j’avais même oublié que l’app par défaut était Music. Lire un fichier ne veut pas dire qu’on veut l’ajouter à sa bibliothèque
    • À cause de ça, j’ai déjà eu des audios liés au travail qui sont apparus dans des playlists et m’ont surpris plus d’une fois
    • C’est agaçant, mais assez facile à corriger. Il suffit de faire un clic droit sur un fichier comme .mp3, d’ouvrir Lire les informations, de changer l’application par défaut pour celle que vous voulez, puis de cliquer sur « Change all... »
      Il faut le faire une fois par type de fichier, mais ensuite c’est réglé
  • Ça m’agace énormément qu’un mauvais clic sur les AirPods lance soudainement une application que je n’utilise pas et que je ne veux pas

    • Je ne suis pas fan d’Apple, mais si c’est une application inutile, pourquoi ne pas simplement la supprimer ?
    • J’ai le même problème. Même la boîte de dialogue modale bloquante qui apparaît n’a pas de bouton de fermeture visible, ce qui donne l’impression d’un dark pattern
  • J’utilise https://github.com/tombonez/noTunes

    • J’utilisais noTunes sur mon ancien Mac. L’avantage, comme c’est clairement indiqué sur la page, c’est qu’avec cette méthode il ne s’agit pas de détecter le lancement de l’application pour la tuer ensuite, mais d’empêcher totalement son lancement dès le départ
      J’aime aussi le fait qu’il n’utilise pas d’icône dans la barre de menus, ce qui économise cet espace limité
  • J’aime beaucoup l’approche. C’est intelligent. Cela dit, personnellement, j’aime bien que le fait d’appuyer sur le bouton PLAY du clavier ouvre Apple Music

  • J’avais cherché autrefois comment empêcher ça, mais sans bons résultats, alors j’avais créé un Shortcut qui refermait Music quand l’app s’ouvrait
    En pratique, ça fonctionnait plutôt bien, mais ça posait problème quand je voulais vraiment utiliser Music. Comme expérience utilisateur Apple, c’est assez mauvais et agaçant