2 puntos por GN⁺ 4 시간 전 | 1 comentarios | Compartir por WhatsApp
  • Music Decoy es una app que existe como un proceso en ejecución para evitar que se abra la app del sistema Music cuando por error se presiona ▶ Play
  • No hace absolutamente nada en segundo plano; usa el mismo identificador de paquete que la app Music para que el sistema crea que Music ya está en ejecución
  • Desde la v1.1 se puede configurar con mediaAppPath para que al presionar ▶ Play se abra otra app, como Spotify
  • La apertura automática de Music ocurre al presionar ▶ Play en el teclado, al conectar unos audífonos Bluetooth y enviar una orden de reproducción, o cuando al terminar una llamada los audífonos cambian del modo de llamada al modo de música
  • rcd envía el comando a la app que esté reproduciendo audio cuando ocurre un evento de reproducción y, si no hay ninguna, abre la app del sistema Music; desactivar el daemon también termina deshabilitando los controles multimedia del teclado

Music Decoy

  • Descarga, ver código fuente, comando de instalación $brew install music-decoy

  • Evitar que se abra la app Music

    • Mientras Music Decoy esté en ejecución, aunque presiones ▶ Play por accidente, la app del sistema Music no se abrirá
    • La app no hace absolutamente nada en segundo plano; simplemente existe como un proceso en ejecución con el mismo identificador de paquete que la app Music
  • Cómo funciona

    • Usa el identificador de paquete com.apple.Music para hacer que el sistema determine que la app Music ya está en ejecución
  • Configuración

    • Desde v1.1, se puede configurar Music Decoy para abrir otra app al presionar el botón ▶ Play
    • Comando de ejemplo para configurarlo con Spotify:
      defaults write com.lowtechguys.MusicDecoy mediaAppPath /Applications/Spotify.app
      
      Publicidad
    • Comando para restablecer la configuración:
      defaults delete com.lowtechguys.MusicDecoy mediaAppPath
      
  • Cómo cerrarlo

    • Como no tiene ícono en el Dock ni en la barra de menús, hay que cerrarlo de una de estas formas
      • Abrir Activity Monitor, buscar Music Decoy y seleccionar el botón ❌ de la parte superior
      • Ejecutar killall 'Music Decoy' en Terminal

Condiciones de inicio automático, causa y alternativas

  • ¿Cuándo se abre Music por sí sola?

    • Ocurre al presionar la tecla ▶ Play del teclado cuando ninguna otra app está reproduciendo audio
    • Ocurre cuando se conectan unos audífonos Bluetooth y se envía una orden de reproducción
    • Ocurre cuando, al terminar una llamada, unos audífonos Bluetooth cambian del modo de llamada al modo de música
    Publicidad
  • ¿Por qué ocurre esto?

    • rcd es la abreviatura de Remote Control Daemon, el daemon encargado de procesar las teclas multimedia
    • Cuando ocurre un evento de reproducción, rcd verifica si hay una app reproduciendo audio en ese momento
    • Si hay una app reproduciendo audio, le envía el comando de reproducción; si no, abre la app del sistema Music
    • Existe una forma de desactivar ese daemon, pero también desactiva la función de controlar la reproducción multimedia desde el teclado
  • Alternativas

    • Según una respuesta de StackExchange, existen varias formas de lograr el mismo efecto
    • launchctl unload -w /System/Library/LaunchAgents/com.apple.rcd.plist
      • Problema: desactiva por completo el botón Play
    • noTunes detecta la app cuando se ejecuta y cierra Music inmediatamente después de que se abre
      • Problema: usa una cantidad muy pequeña de CPU en segundo plano, aunque la detección de apps en ejecución implica muy poca carga

1 comentarios

 
GN⁺ 4 시간 전
Comentarios en Hacker News
  • Es realmente ingenioso que funcione solo porque la app existe como un proceso en ejecución con el mismo identificador de paquete que la app Music, sin hacer nada en segundo plano
    Este tipo de solución low-code/no-code tiene una elegancia que solo sale de entender el sistema muy a fondo. Hay que saber exactamente qué pasa en macOS cuando presionas el botón de reproducción, cómo funcionan los identificadores de paquete, y el resultado es hermoso porque no es más que una “colisión” casi sin código
    Como dato aparte, los agentes de código son malos para este tipo de problemas. El Codex actual probablemente haría una app exagerada que vigila en bucle el arranque de Music y luego la mata

    • Más bien, esto parece un buen ejemplo hipotético de cómo usar eficazmente a un agente de código
      Si le pides “evita que se abra la app Apple Music”, probablemente irá por la vía de vigilarla y cerrarla, como haría la mayoría de la gente. Pero si le pides “investiga por qué se abre Apple Music”, el usuario puede llegar rápido a la conclusión, a partir de esa investigación, de que la mejor solución es crear una app sin código que entre en conflicto con Music
    • Cuando estaba en la preparatoria, mi papá limitó mi tiempo de juego con Apple ScreenTime, y yo lo evadí cambiando el BundleIdentifier en el info.plist del juego a com.apple.systempreferences y firmando la .app con mi certificado de desarrollador
      Fue bastante divertido hasta que me descubrieron
  • Todavía no puedo creer que Apple haya eliminado iTunes
    Antes tenía toda mi biblioteca de música digital en iTunes, y la mayor parte era música ripeada directamente de CDs, aunque también tenía álbumes y programas de TV comprados en iTunes. Cuando Apple tiró iTunes completo y lo quitó de Mac OS para reemplazarlo con algo como Apple Music, pensé que nunca volvería a confiar en ellos
    Estuve un tiempo buscando un buen reproductor de MP3 y hasta usé AIMP, pero ahora estoy pensando en hacer yo mismo, con IA, un reproductor basado en archivos locales con mi propia interfaz. No necesito ni quiero streaming. Podría haber seguido comprando álbumes en iTunes, pero ahora es mejor comprar CDs

    • Puedes desactivar los servicios en la nube en Apple Music y seguir usando tus pistas locales y la música descargada de iTunes Music Store tal como están
      Pasé la mayor parte del año pasado usándolo así, con las funciones de nube desactivadas, metí toda mi música local en Apple Music y luego la sincronicé al iPhone por cable como en los iPod de antes, y sigue funcionando bien
    • La app Music lee la misma biblioteca que iTunes y sus funciones centrales de música son casi las mismas. ¿Lo que te molesta es más bien la interfaz?
    • También hay administradores de biblioteca/reproductores hechos con mucho cuidado, como https://www.strawberrymusicplayer.org
    • foobar es lo máximo: https://www.foobar2000.org/mac
    • No veo muy bien la diferencia. Yo sigo usando la app Music y funciona igual que antes de que le cambiaran el nombre
      Sin suscribirme a Apple Music, sigo teniendo toda mi biblioteca de música digital en iTunes/Music y la uso como siempre
  • Yo uso la utilidad integrada hidutil para reasignar las teclas F3~F9 a las teclas que quiero
    Puse F3/F4 como brillo de la retroiluminación del teclado y F5~F9 como teclas de función normales. Hay mucha información útil en este post: https://news.ycombinator.com/item?id=35555475
    En una MacBook M1 se aplica usando hidutil property --set y UserKeyMapping, especificando los valores HIDKeyboardModifierMappingSrc/HIDKeyboardModifierMappingDst

  • Hace unos meses necesitaba algo así. En shows en vivo uso una MacBook para correr mi rig de teclado y para monitoreo uso audífonos inalámbricos de baja latencia
    Dejo conectado al laptop el dongle transmisor de los audífonos, y cuando presiono el botón de los audífonos, el dongle manda un comando de “play/pause” y Music se abre y empieza a reproducir audio por el dispositivo de salida predeterminado. Ni siquiera le importa si el transmisor de los audífonos está seleccionado como salida predeterminada, así que en una configuración compleja con varios dispositivos, el sonido puede salir por otro dispositivo totalmente distinto
    Si presiono el botón por accidente durante una presentación y el valor predeterminado es la interfaz conectada al sistema de P.A., puede terminar sonando una canción aleatoria a volumen máximo en todo el recinto
    Ahora ya cambié la configuración de hardware para conectar el dongle no al laptop sino a la interfaz de audio, así que por ahora dejó de ser problema, pero evitar este tipo de mal funcionamiento fue una de las razones para reconfigurarlo. En un dispositivo premium para profesionales creativos, este tipo de comportamiento no configurable es demasiado inapropiado para un entorno de show en vivo

  • Es triste ver a Apple usando tácticas tan de bajo nivel al estilo Microsoft. Obligar a los usuarios a irse a otro producto es canibalismo de marca

    • ¿Por qué sería raro que, si no hay una sesión multimedia activa y presionas el botón de reproducción, se abra el reproductor de música incluido con el sistema operativo?
    • Me da risa lo de “tácticas tan de bajo nivel al estilo Microsoft”, porque al leer la solución lo primero que pensé fue más bien “qué manera tan Apple de hacerlo”
    • Apple está obsesionada con matar a Spotify. Por eso parece estar haciendo cosas poco propias de Apple y hostiles para el cliente
      Es una dinámica parecida a la de Microsoft contra Netscape en el pasado
    • Este tipo de comportamiento me provoca un efecto contrario muy fuerte. No quiero usar jamás ningún producto relacionado con Apple Music
      No entiendo por qué no hay una forma simple de desactivar este comportamiento agresivo. Parece algo hecho a propósito para ser coercitivo y desagradable, y si no se corta desde el inicio, después se expande más y termina apretando al usuario
      No es solo problema de Apple; muchos diseñadores de producto están adoptando esta actitud arrogante
    • Me cuesta verlo como que te están “arrastrando a la fuerza” cuando lo que pasa es que se abre el reproductor de música incluido con el sistema operativo al intentar reproducir música
  • No solo me molesta que Music se abra automáticamente al abrir un archivo de audio, sino que además lo agrega a la biblioteca musical
    Después tengo que borrarlo manualmente eligiendo “mantener archivo”

    • Hace mucho tiempo, cuando la app Music todavía era iTunes, configuré que todos los archivos de música se abrieran con QuickTime Player
      Tiene tanto tiempo que hasta se me había olvidado que la app predeterminada era Music. Reproducir un archivo no significa necesariamente que quieras meterlo en la biblioteca
    • Por culpa de eso ya me he llevado varios sustos cuando audio del trabajo aparece de repente en playlists
    • Es molesto, pero es bastante fácil de arreglar. Solo haz clic derecho en un archivo como .mp3, abre Obtener información, cambia la app predeterminada por la que quieras y luego pulsa “Change all...”
      Hay que hacerlo una vez por cada tipo de archivo, pero una vez hecho, se acabó
  • Me fastidia muchísimo que por un clic equivocado en los AirPods se abra de pronto una app que ni uso ni quiero

    • No soy fan de Apple, pero si es una app que no necesitas, me pregunto por qué no simplemente la desinstalas
    • Me pasa lo mismo. Además, el cuadro de diálogo modal bloqueante que aparece encima ni siquiera tiene un botón de cerrar visible, así que se siente como un patrón oscuro
  • Yo uso https://github.com/tombonez/noTunes

    • Yo usaba noTunes en una Mac anterior. Además, la página deja claro que la ventaja de este método es que no detecta el arranque de la app para luego matarla, sino que directamente evita que se abra
      También está bien que no use un ícono en la barra de menú, porque así ahorra ese espacio limitado
  • Me gusta mucho el enfoque. Está muy inteligente. Aunque en lo personal sí me gusta que se abra Apple Music cuando presiono el botón de PLAY del teclado

  • Antes busqué cómo evitar esto, pero como no encontré buenos resultados, hice un Shortcut que volvía a cerrar la app Music cuando se abría
    En la práctica funcionaba bastante bien, pero se volvía un problema cuando de verdad quería usar la app Music. Es una experiencia de usuario bastante mala por parte de Apple y resulta irritante