2 पॉइंट द्वारा GN⁺ 4 시간 전 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Music Decoy एक ऐसा ऐप है जो एक चलती हुई process के रूप में मौजूद रहता है, ताकि गलती से ▶ Play दबाने पर सिस्टम का Music ऐप न खुले
  • यह बैकग्राउंड में बिल्कुल कोई काम नहीं करता, बल्कि Music ऐप के समान bundle identifier का उपयोग करके सिस्टम को यह मानने देता है कि Music ऐप पहले से चल रहा है
  • v1.1 से mediaAppPath सेटिंग के जरिए ▶ Play इनपुट पर Spotify जैसे किसी दूसरे ऐप को लॉन्च करने के लिए कॉन्फ़िगर किया जा सकता है
  • Music ऐप का अपने-आप खुलना कीबोर्ड पर ▶ Play दबाने, Bluetooth headset कनेक्ट होने के बाद playback command भेजने, या कॉल समाप्त होने के बाद headset के call mode से music mode में बदलने पर हो सकता है
  • rcd playback event के समय अगर कोई मौजूदा audio playback ऐप पाता है तो उसी ऐप को कमांड भेजता है, और अगर नहीं पाता तो सिस्टम Music ऐप को चलाता है; daemon को disable करने पर कीबोर्ड media playback control भी बंद हो जाता है

Music Decoy

  • डाउनलोड, सोर्स देखें, $brew install music-decoy इंस्टॉल कमांड उपलब्ध

  • Music ऐप खुलने से रोकना

    • जब तक Music Decoy चल रहा है, गलती से ▶ Play दबाने पर भी सिस्टम Music ऐप नहीं खुलेगा
    • ऐप बैकग्राउंड में बिल्कुल कोई काम नहीं करता, और Music ऐप के समान bundle identifier वाली एक चलती हुई process के रूप में मौजूद रहता है
  • यह कैसे काम करता है

    • bundle identifier com.apple.Music का उपयोग करके सिस्टम को यह तय करने देता है कि Music ऐप पहले से चल रहा है
  • सेटिंग

    • v1.1 से ▶ Play बटन दबाने पर किसी दूसरे ऐप को लॉन्च करने के लिए Music Decoy को कॉन्फ़िगर किया जा सकता है
    • Spotify उदाहरण सेटिंग कमांड:
      defaults write com.lowtechguys.MusicDecoy mediaAppPath /Applications/Spotify.app
      
      विज्ञापन
    • सेटिंग रीसेट कमांड:
      defaults delete com.lowtechguys.MusicDecoy mediaAppPath
      
  • बंद करने का तरीका

    • Dock icon और menu bar icon नहीं हैं, इसलिए इसे बंद करने के लिए नीचे दिए गए तरीकों में से एक का उपयोग करना होगा
      • Activity Monitor खोलें, Music Decoy ढूंढें, फिर ऊपर ❌ बटन चुनें
      • Terminal में killall 'Music Decoy' चलाएँ

अपने-आप लॉन्च होने की शर्तें, कारण, और विकल्प

  • Music अपने-आप कब खुलता है?

    • जब कीबोर्ड का ▶ Play key दबाया जाता है और कोई दूसरा ऐप audio नहीं चला रहा होता
    • जब Bluetooth headset कनेक्ट होता है और playback command भेजता है
    • जब कॉल खत्म होने पर Bluetooth headset call mode से music mode में बदलता है
    विज्ञापन
  • ऐसा क्यों होता है?

    • rcd Remote Control Daemon का संक्षिप्त नाम है, और यह media key handling के लिए जिम्मेदार daemon है
    • जब playback event होता है, rcd यह जांचता है कि कोई ऐप अभी audio चला रहा है या नहीं
    • अगर कोई audio playback ऐप है, तो यह उसी ऐप को playback command भेजता है; अगर नहीं है, तो सिस्टम Music ऐप को चलाता है
    • इस daemon को disable करने का तरीका है, लेकिन इससे कीबोर्ड से media playback control करने की सुविधा भी साथ में disable हो जाती है
  • विकल्प

    • StackExchange उत्तर के अनुसार, यही असर पाने के कुछ और तरीके भी मौजूद हैं
    • launchctl unload -w /System/Library/LaunchAgents/com.apple.rcd.plist
      • समस्या: Play बटन पूरी तरह disable हो जाता है
    • noTunes चल रहे ऐप्स को detect करता है और Music खुलते ही उसे तुरंत बंद कर देता है
      • समस्या: यह बैकग्राउंड में बहुत थोड़ा CPU उपयोग करता है, हालांकि running app detection बहुत हल्का काम है

1 टिप्पणियां

 
GN⁺ 4 시간 전
Hacker News टिप्पणियाँ
  • यह वाकई बहुत चतुर है कि ऐप बैकग्राउंड में कुछ किए बिना, सिर्फ Music ऐप के समान bundle identifier वाले एक रनिंग process के रूप में मौजूद रहकर काम करता है
    इस तरह के low-code/no-code समाधान में जो सुंदरता होती है, वह सिस्टम की बहुत गहरी समझ से आती है। आपको यह जानना पड़ता है कि macOS में play बटन दबाने पर ठीक-ठीक क्या होता है, bundle identifier कैसे काम करता है, और अंत में नतीजा लगभग बिना कोड वाला सिर्फ एक “collision” होता है — यही इसकी खूबसूरती है
    वैसे, इस तरह की समस्या में coding agents कमजोर पड़ते हैं। आज का Codex शायद एक ऐसा over-engineered ऐप बना दे जो loop में Music ऐप के लॉन्च होने पर नज़र रखे और उसे मारता रहे

    • बल्कि यह coding agent को प्रभावी तरीके से इस्तेमाल करने का एक अच्छा काल्पनिक उदाहरण लगता है
      अगर आप कहें, “Apple Music ऐप को लॉन्च होने से रोक दो”, तो ज़्यादातर लोग जिस तरह करेंगे, उसी तरह वह भी शायद monitor करके terminate करने वाले रास्ते पर जाएगा। लेकिन अगर आप कहें, “जाँच करके बताओ कि Apple Music क्यों लॉन्च होता है”, तो जाँच के नतीजे के आधार पर user जल्दी समझ सकता है कि Music से टकराने वाला no-code ऐप बनाना ही सबसे अच्छा हल है
    • हाई स्कूल में मेरे पिता ने Apple ScreenTime से मेरे गेम खेलने का समय सीमित किया था, तो मैंने गेम के info.plist में BundleIdentifier को com.apple.systempreferences में बदल दिया और अपने developer certificate से .app पर sign करके उसे bypass कर लिया
      पकड़े जाने तक यह काफ़ी मज़ेदार था
  • अब भी यक़ीन नहीं होता कि Apple ने iTunes को हटा दिया
    पहले मैं अपनी पूरी digital music library iTunes में रखता था, जिसमें ज़्यादातर गाने CD से खुद rip किए हुए थे, लेकिन iTunes से खरीदे हुए albums और TV shows भी थे। जब Apple ने iTunes को पूरी तरह छोड़कर Mac OS से हटा दिया और उसकी जगह Apple Music जैसी चीज़ रख दी, तभी मैंने सोचा कि अब उन पर दोबारा भरोसा नहीं करूँगा
    कुछ समय तक मैंने एक अच्छा MP3 player ढूँढा, AIMP भी इस्तेमाल किया, लेकिन अब सोच रहा हूँ कि AI की मदद से अपने interface वाला एक local file-based player खुद बना लूँ। मुझे streaming न चाहिए और न ही पसंद है। शायद मैं iTunes पर albums खरीदता रहता, लेकिन अब CD खरीदना बेहतर लगता है

    • Apple Music में cloud services बंद करके भी local tracks और iTunes Music Store से मिले गाने वैसे ही इस्तेमाल किए जा सकते हैं
      मैंने पिछले साल का ज़्यादातर समय इसी तरह इस्तेमाल किया, cloud features बंद रखकर अपना सारा local music Apple Music में डाला, फिर पुराने iPod की तरह cable से iPhone में sync किया, और यह अब भी ठीक से काम करता था
    • Music ऐप iTunes जैसी ही library पढ़ता है, और उसके core music features भी लगभग वही हैं। कमी शायद interface की तरफ़ है?
    • https://www.strawberrymusicplayer.org जैसे मेहनत से बनाए गए library manager/player भी हैं
    • foobar सबसे बढ़िया है: https://www.foobar2000.org/mac
    • मुझे फ़र्क ठीक से समझ नहीं आता। मैं अब भी Music ऐप इस्तेमाल करता हूँ, और नाम बदलने से पहले जैसा था, लगभग वैसा ही काम करता है
      Apple Music की subscription लिए बिना भी मैं अपनी पूरी digital music library iTunes/Music में रखकर पहले की तरह इस्तेमाल कर रहा हूँ
  • मैं built-in utility hidutil से F3~F9 keys को अपनी पसंद की keys पर remap करके इस्तेमाल करता हूँ
    F3/F4 को keyboard backlight brightness के लिए, और F5~F9 को सामान्य function keys में बदल दिया। इस पोस्ट में उपयोगी जानकारी काफ़ी है: https://news.ycombinator.com/item?id=35555475
    M1 MacBook पर इसे hidutil property --set और UserKeyMapping के साथ HIDKeyboardModifierMappingSrc/HIDKeyboardModifierMappingDst values सेट करके लागू किया जाता है

  • कुछ महीने पहले मुझे इसकी ज़रूरत थी। मैं live performance में MacBook से keyboard rig चला रहा था, और monitoring के लिए low-latency wireless headphones इस्तेमाल करता था
    headphone transmitter dongle लैपटॉप में लगा रहता था, और headphones पर बटन दबाते ही dongle “play/pause” command भेजता था, जिससे Music लॉन्च हो जाता था और default output device पर audio चलने लगती थी। यह इस बात की भी परवाह नहीं करता था कि headphone transmitter default output के रूप में चुना गया है या नहीं, इसलिए जटिल multi-device setup में आवाज़ किसी बिल्कुल अलग device से भी निकल सकती थी
    अगर performance के दौरान गलती से बटन दब जाता और default interface P.A. system से जुड़ा होता, तो पूरे venue में random गाना full volume पर बज सकता था
    अभी मैंने hardware setup बदल दिया है ताकि dongle लैपटॉप की जगह audio interface से जुड़ा रहे, इसलिए फिलहाल समस्या नहीं है, लेकिन इस तरह के misfire को रोकना भी reconfiguration की एक वजह था। creative professionals के लिए premium device में ऐसा configuration न किया जा सकने वाला behavior live performance environment के लिए बहुत अनुपयुक्त है

  • Apple को इस तरह की घटिया Microsoft-स्टाइल रणनीति अपनाते देखना निराशाजनक है। users को ज़बरदस्ती दूसरे product की तरफ़ धकेलना brand self-cannibalization है

    • जब कोई media session न हो और आप play बटन दबाएँ, तो operating system में शामिल music player का खुलना अजीब क्यों है?
    • “घटिया Microsoft-स्टाइल रणनीति” सुनकर हँसी आती है, क्योंकि समाधान पढ़कर मेरे मन में पहला ख़याल तो उल्टा यह आया था कि “यह तो बहुत Apple-जैसा तरीका है”
    • Apple, Spotify को ख़त्म करने को लेकर जुनूनी है। इसलिए लगता है कि वह Apple जैसी न लगने वाली, customers के प्रति hostile चीज़ें कर रहा है
      यह पुराने Microsoft बनाम Netscape जैसी स्थिति लगती है
    • इस तरह का व्यवहार बहुत उल्टा असर करता है। मैं Apple Music से जुड़े products कभी इस्तेमाल नहीं करना चाहता
      समझ नहीं आता कि ऐसे aggressive behavior को बंद करने का कोई आसान तरीका क्यों नहीं है। यह जानबूझकर जबरदस्ती और खीझ पैदा करने वाला बनाया गया लगता है, और अगर शुरुआत में न रोका जाए तो बाद में और फैलकर users को जकड़ सकता है
      यह सिर्फ Apple की समस्या नहीं है; बहुत से product designers इस तरह के अहंकारी रवैये को अपना रहे हैं
    • जब आप music चलाने की कोशिश कर रहे हों, तब operating system में शामिल music player का खुलना “ज़बरदस्ती घसीटा जाना” कहना मुश्किल है
  • मुझे यह नापसंद है कि audio file खोलने पर Music सिर्फ auto-launch ही नहीं होता, बल्कि उसे music library में भी जोड़ देता है
    फिर मुझे उसे manually delete करना पड़ता है और “keep file” चुनना पड़ता है

    • बहुत पहले, जब Music ऐप अभी iTunes था, मैंने सेट कर दिया था कि सभी music files QuickTime Player में खुलें
      इतना समय हो गया कि मैं भूल ही गया था कि default Music ऐप है। किसी file को play करना यह नहीं दर्शाता कि आप उसे library में जोड़ना चाहते हैं
    • इसी वजह से काम से जुड़े audio कई बार playlist में आ गए और मैं चौंक गया
    • यह परेशान करने वाला है, लेकिन ठीक करना काफ़ी आसान है। .mp3 जैसी file पर right-click करके Get Info खोलिए, default app को अपनी पसंद के app में बदलिए, फिर “Change all...” दबाइए
      हर file type के लिए एक बार करना पड़ता है, लेकिन एक बार कर दें तो काम हो जाता है
  • AirPods पर गलत क्लिक हो जाए और अचानक ऐसा ऐप खुल जाए जिसे मैं न इस्तेमाल करता हूँ न चाहता हूँ, यह वाकई बहुत खटकता है

    • मैं Apple fan नहीं हूँ, लेकिन अगर ऐप बेकार है, तो फिर लोग उसे हटा क्यों नहीं देते?
    • मुझे भी यही समस्या हुई। ऊपर आने वाले blocking modal dialog में कोई साफ़ दिखने वाला close बटन भी नहीं होता, इसलिए यह dark pattern जैसा लगता है
  • मैं https://github.com/tombonez/noTunes इस्तेमाल करता हूँ

    • पुराने Mac पर मैंने noTunes इस्तेमाल किया था। लेकिन इस तरीके की ख़ासियत, जैसा पेज पर साफ़ लिखा है, यह है कि यह ऐप लॉन्च होने का पता लगाकर उसे मारता नहीं, बल्कि शुरू से ही लॉन्च होने से रोक देता है
      यह menu bar icon भी इस्तेमाल नहीं करता, इसलिए सीमित जगह बचाने का फ़ायदा भी है
  • मुझे यह approach बहुत पसंद आई। बहुत smart है। हालांकि व्यक्तिगत रूप से मुझे keyboard पर PLAY button दबाने पर Apple Music का खुलना पसंद है

  • पहले मैंने इसे रोकने के लिए खोजा था, लेकिन कोई अच्छा नतीजा नहीं मिला, इसलिए मैंने एक Shortcut बना लिया जो Music ऐप खुलते ही उसे फिर बंद कर देता था
    व्यवहार में यह काफ़ी अच्छी तरह काम करता था, लेकिन जब सच में Music ऐप इस्तेमाल करना होता था, तब दिक्कत बन जाता था। Apple के user experience के हिसाब से यह काफ़ी खराब और खीझ पैदा करने वाला है