2 poin oleh GN⁺ 4 jam lalu | 1 komentar | Bagikan ke WhatsApp
  • Music Decoy adalah aplikasi yang hadir sebagai proses yang sedang berjalan, sehingga saat ▶ Play ditekan tanpa sengaja, aplikasi Music bawaan sistem tidak akan terbuka
  • Aplikasi ini sama sekali tidak melakukan pekerjaan apa pun di latar belakang, dan bekerja dengan menggunakan bundle identifier yang sama dengan aplikasi Music agar sistem menganggap Music sudah berjalan
  • Mulai v1.1, dapat dikonfigurasi melalui pengaturan mediaAppPath agar saat input ▶ Play diterima, aplikasi lain seperti Spotify yang dijalankan
  • Aplikasi Music dapat terbuka otomatis saat tombol ▶ Play di keyboard ditekan, saat headset Bluetooth terhubung lalu mengirim perintah putar, atau saat panggilan berakhir dan headset beralih dari mode panggilan ke mode musik
  • rcd saat menerima event pemutaran akan mengirim perintah ke aplikasi audio yang sedang memutar jika ada, dan jika tidak ada maka menjalankan aplikasi Music bawaan sistem; menonaktifkan daemon ini juga akan mematikan kontrol pemutaran media dari keyboard

Music Decoy

  • Unduh, Lihat sumber, tersedia perintah instalasi $brew install music-decoy

  • Mencegah aplikasi Music terbuka

    • Selama Music Decoy berjalan, menekan ▶ Play tanpa sengaja tidak akan membuka aplikasi Music bawaan sistem
    • Aplikasi ini sama sekali tidak melakukan apa pun di latar belakang, dan hanya hadir sebagai proses yang sedang berjalan dengan bundle identifier yang sama seperti aplikasi Music
  • Cara kerja

    • Menggunakan bundle identifier com.apple.Music agar sistem menilai aplikasi Music sudah berjalan
  • Pengaturan

    • Sejak v1.1, Music Decoy dapat diatur agar menjalankan aplikasi lain saat tombol ▶ Play ditekan
    • Contoh perintah pengaturan untuk Spotify:
      defaults write com.lowtechguys.MusicDecoy mediaAppPath /Applications/Spotify.app
      
      Iklan
    • Perintah untuk menghapus pengaturan:
      defaults delete com.lowtechguys.MusicDecoy mediaAppPath
      
  • Cara keluar

    • Karena tidak ada ikon Dock maupun ikon bilah menu, keluar harus dilakukan dengan salah satu cara berikut
      • Buka Activity Monitor, cari Music Decoy, lalu pilih tombol ❌ di bagian atas
      • Jalankan killall 'Music Decoy' di Terminal

Kondisi auto-start, penyebab, dan alternatif

  • Kapan Music terbuka sendiri?

    • Terjadi saat tombol ▶ Play di keyboard ditekan dan tidak ada aplikasi lain yang sedang memutar audio
    • Terjadi saat headset Bluetooth terhubung dan mengirim perintah putar
    • Terjadi saat panggilan berakhir sehingga headset Bluetooth beralih dari mode panggilan ke mode musik
    Iklan
  • Mengapa ini terjadi?

    • rcd adalah singkatan dari Remote Control Daemon, daemon yang menangani pemrosesan tombol media
    • Saat event putar terjadi, rcd memeriksa apakah ada aplikasi yang sedang memutar audio
    • Jika ada aplikasi pemutar audio, perintah putar dikirim ke aplikasi tersebut; jika tidak ada, aplikasi Music bawaan sistem dijalankan
    • Ada cara untuk menonaktifkan daemon tersebut, tetapi itu juga akan menonaktifkan kemampuan mengontrol pemutaran media dengan keyboard
  • Alternatif

    • Berdasarkan jawaban StackExchange, ada beberapa cara untuk mendapatkan efek yang sama
    • launchctl unload -w /System/Library/LaunchAgents/com.apple.rcd.plist
      • Kekurangan: tombol Play menjadi sepenuhnya nonaktif
    • noTunes mendeteksi aplikasi yang dijalankan lalu langsung menutup Music begitu terbuka
      • Kekurangan: menggunakan CPU sangat kecil di latar belakang, tetapi pendeteksian aplikasi yang berjalan memang hanya pekerjaan yang sangat ringan

1 komentar

 
GN⁺ 4 jam lalu
Komentar Hacker News
  • Sangat cerdik bahwa ini bekerja hanya dengan membuat aplikasi tetap ada sebagai proses berjalan dengan bundle identifier yang sama seperti aplikasi Music, tanpa melakukan apa pun di latar belakang
    Solusi low-code/no-code seperti ini punya keanggunan yang hanya muncul jika seseorang benar-benar memahami sistem secara mendalam. Harus tahu persis apa yang terjadi saat menekan tombol play di macOS, bagaimana bundle identifier bekerja, dan hasil akhirnya indah karena hampir tidak lebih dari satu “tabrakan” tanpa kode
    Sebagai tambahan, agen coding cenderung lemah untuk masalah seperti ini. Codex saat ini kemungkinan besar akan membuat aplikasi berlebihan yang memantau peluncuran aplikasi Music dalam loop lalu membunuhnya

    • Justru ini terlihat seperti contoh hipotetis yang bagus untuk memakai agen coding secara efektif
      Jika disuruh “tolong cegah aplikasi Apple Music berjalan”, kemungkinan besar arahnya akan ke pendekatan memantau lalu menutupnya, seperti yang kebanyakan orang lakukan. Namun jika disuruh “tolong selidiki kenapa Apple Music berjalan”, berdasarkan hasil investigasi pengguna bisa cepat sampai pada kesimpulan bahwa solusi terbaik adalah membuat aplikasi tanpa kode yang berbenturan dengan Music
    • Waktu SMA, ayah saya membatasi waktu main game dengan Apple ScreenTime, dan saya mengakalinya dengan mengubah BundleIdentifier di info.plist game menjadi com.apple.systempreferences lalu menandatangani .app itu dengan sertifikat pengembang saya sendiri
      Cukup seru sampai akhirnya ketahuan
  • Saya masih tidak percaya Apple benar-benar menghapus iTunes
    Dulu seluruh perpustakaan musik digital saya ada di iTunes, dan sebagian besar adalah musik yang saya rip langsung dari CD, meski ada juga album dan acara TV yang saya beli di iTunes. Ketika Apple membuang iTunes sepenuhnya, menghapusnya dari Mac OS, lalu menggantinya dengan sesuatu seperti Apple Music, saya berpikir saya tidak akan pernah mempercayai mereka lagi
    Saya sempat mencari pemutar MP3 yang layak dan juga mencoba AIMP, tetapi sekarang saya berpikir untuk membuat sendiri pemutar berbasis file lokal dengan antarmuka milik saya menggunakan AI. Saya tidak butuh dan juga tidak mau streaming. Mungkin saya akan terus membeli album di iTunes, tetapi sekarang rasanya lebih baik membeli CD

    • Di Apple Music Anda bisa mematikan layanan cloud dan tetap memakai trek lokal serta musik yang diunduh dari iTunes Music Store seperti biasa
      Saya memakai itu hampir sepanjang tahun lalu, mematikan fitur cloud, memasukkan semua musik lokal ke Apple Music, lalu menyinkronkannya ke iPhone dengan kabel seperti iPod lama, dan itu masih berfungsi baik
    • Aplikasi Music membaca perpustakaan yang sama seperti iTunes, dan fungsi inti musiknya juga hampir sama. Apakah yang disayangkan ada di sisi antarmuka?
    • Ada juga pengelola perpustakaan/pemutar yang dibuat dengan sangat baik secara manual seperti https://www.strawberrymusicplayer.org
    • foobar yang terbaik: https://www.foobar2000.org/mac
    • Saya tidak begitu paham bedanya. Saya masih memakai aplikasi Music, dan sejauh ini rasanya sama saja seperti sebelum namanya diganti
      Bahkan tanpa berlangganan Apple Music, saya tetap menyimpan seluruh perpustakaan musik digital saya di iTunes/Music dan memakainya seperti dulu
  • Saya memakai utilitas bawaan hidutil untuk memetakan ulang tombol F3~F9 ke tombol yang saya inginkan
    F3/F4 saya ubah menjadi pengatur kecerahan lampu latar keyboard, dan F5~F9 menjadi tombol fungsi biasa. Ada banyak informasi berguna di sini: https://news.ycombinator.com/item?id=35555475
    Di MacBook M1, ini diterapkan dengan hidutil property --set dan UserKeyMapping, dengan menetapkan nilai HIDKeyboardModifierMappingSrc/HIDKeyboardModifierMappingDst

  • Beberapa bulan lalu saya membutuhkan hal seperti ini. Untuk pertunjukan live saya menjalankan rig keyboard dari MacBook, dan untuk monitoring saya memakai headphone nirkabel latensi rendah
    Dongle pemancar headphone saya colokkan ke laptop, dan saat tombol di headphone ditekan, dongle mengirim perintah “play/pause”, lalu Music berjalan dan mulai memutar audio ke perangkat output default. Ia bahkan tidak peduli apakah pemancar headphone dipilih sebagai output default, jadi dalam konfigurasi multi-perangkat yang rumit, suaranya bisa keluar ke perangkat yang sama sekali berbeda
    Jika tombol itu terpencet saat pertunjukan dan default-nya adalah antarmuka yang terhubung ke sistem P.A., lagu acak bisa meledak ke seluruh venue dengan volume maksimum
    Sekarang saya sudah mengubah konfigurasi perangkat keras sehingga dongle terhubung ke antarmuka audio, bukan laptop, jadi untuk saat ini bukan masalah lagi, tetapi mencegah perilaku salah seperti ini juga jadi salah satu alasan saya menata ulang sistem. Perilaku yang tidak bisa dikonfigurasi seperti ini sangat tidak cocok untuk lingkungan pertunjukan live pada perangkat premium yang ditujukan bagi profesional kreatif

  • Sedih melihat Apple memakai taktik murahan ala Microsoft seperti ini. Memaksa pengguna beralih ke produk lain adalah bentuk kanibalisasi merek sendiri

    • Kenapa aneh kalau saat tidak ada sesi media dan tombol play ditekan, pemutar musik yang disertakan dengan sistem operasi terbuka?
    • Lucu menyebutnya “taktik murahan ala Microsoft”, karena setelah membaca solusinya kesan pertama saya justru “ini benar-benar cara Apple sekali”
    • Apple terobsesi membunuh Spotify. Karena itu mereka tampak melakukan hal-hal yang tidak seperti Apple dan malah memusuhi pelanggan
      Mirip dengan dinamika Microsoft versus Netscape dulu
    • Perilaku seperti ini justru sangat kontraproduktif. Saya jadi sama sekali tidak ingin memakai produk terkait Apple Music
      Saya tidak paham kenapa tidak ada cara sederhana untuk mematikan perilaku agresif ini. Kelihatannya seperti sesuatu yang sengaja dibuat memaksa dan menjengkelkan, dan kalau tidak dipotong sejak awal, lama-lama akan makin menyebar dan mengekang pengguna
      Ini bukan cuma masalah Apple; banyak perancang produk tampaknya mulai menerima sikap arogan seperti ini
    • Sulit menyebutnya “dipaksa beralih” hanya karena pemutar musik bawaan sistem operasi terbuka saat Anda mencoba memutar musik
  • Saya tidak suka kalau membuka file audio membuat Music otomatis berjalan lalu menambahkannya ke perpustakaan musik
    Setelah itu saya harus menghapusnya sendiri sambil memilih “simpan file”

    • Sudah lama sekali, saat aplikasi Music masih bernama iTunes, saya mengatur semua file musik agar dibuka dengan QuickTime Player
      Saking lamanya, saya bahkan lupa bahwa default-nya adalah aplikasi Music. Memutar file tidak berarti saya ingin memasukkan file itu ke perpustakaan
    • Gara-gara ini, audio terkait pekerjaan pernah muncul tiba-tiba di playlist dan beberapa kali membuat saya kaget
    • Memang menjengkelkan, tapi cukup mudah diperbaiki. Klik kanan file seperti .mp3, buka Get Info, ubah aplikasi default ke aplikasi yang Anda inginkan, lalu tekan “Change all...”, selesai
      Memang harus dilakukan sekali untuk tiap format file, tetapi setelah itu beres
  • Sangat mengganggu ketika salah klik AirPods lalu aplikasi yang tidak saya pakai dan tidak saya inginkan tiba-tiba terbuka

    • Saya bukan penggemar Apple, tapi kalau itu aplikasi yang tidak dibutuhkan, kenapa tidak dihapus saja?
    • Saya mengalami masalah yang sama. Dialog modal pemblokir yang muncul di atas juga tidak punya tombol tutup yang mencolok, jadi terasa seperti dark pattern
  • Saya memakai https://github.com/tombonez/noTunes

    • Saya pernah memakai noTunes di Mac lama. Halamannya secara jelas menyebut keunggulan bahwa cara ini bukan mendeteksi aplikasi lalu membunuhnya, melainkan mencegahnya berjalan sejak awal
      Saya juga suka karena tidak memakai ikon menu bar, jadi menghemat ruang yang terbatas
  • Saya sangat suka pendekatannya. Cerdas sekali. Meski begitu, secara pribadi saya suka saat menekan tombol PLAY di keyboard membuka Apple Music

  • Dulu saya pernah mencari cara untuk mencegah ini, tapi tidak menemukan hasil yang bagus, jadi saya membuat Shortcut yang menutup kembali Music saat terbuka
    Dalam praktiknya itu bekerja cukup baik, tetapi jadi masalah saat saya benar-benar ingin memakai aplikasi Music. Dari sisi pengalaman pengguna Apple, ini terasa buruk dan menjengkelkan