I searched for some decent mp3 players for a while, and even used AIMP for a while, but nowadays I think I'll just vibe code my own with my own interface and rely on the local file system and folder mounts to do the job. I really love this new era where I can just use AI to build a custom thing for myself and forget about all the predatory crap out there, especially from the OS vendors. I don't need streaming, I don't want it. I would have kept buying albums off iTunes, but since it sucks so much I'll just buy it on CD, thanks.
I did this for most of last year. I had all local music in Apple Music, disabled the cloud stuff, and synced it all to my iPhone by plugging it in with a cable, as if it was an old iPod. It all still worked.
In iOS Music, tapping the artist name on a song launches the artist’s cloud Apple Music page —- even if you’ve hidden paid Apple Music.
Disabling cellular data for the Music app fixes this by showing an album view of the downloaded music from the artist. However, the cloud version is unavoidable on WiFi. It’s a small but annoying example of how Apple made the classic experience worse to push their subscription product.
You can technically still buy albums, but you can really tell its only there because it was forgotten about.
The iOS app is such a permanently buggy mess that I eventually had to bail after years of use with persistent issues that wouldn’t get fixed, and new bugs popping up. It can play hyper obscure formats, but the basic UI functions are very unstable
I’ve had mixed luck getting llm’s to configure mpv (which involved writing lua or something for basic functionality!), but there are audio sync issues with it.
I miss the days when something like totem would just work and default to playing with deinterlacing and audio set correctly.
Configuring VLC is like solving a 200 variable boolean satisfiability problem or something. Also, the workarounds for core bugs come and go over time, so Reddit suggests toggling removed settings.
It is basically old iTunes with some UI improvements and modern features built around somebody who has their own library to manage. Been around for a long time.
It’s great software that I’m willing to pay for in today’s world for sure.
Worse, the fun, here’s your music collection as a wall of cover images didn’t sit well with consumers who just wanted, I don’t know, get fed music and not curate themselves and I guess that’s how we ended up with mediocre.
Maybe I should have an LLM port to rust. It was under a thousand lines of code.
iTunes Match still exists, one of the handful of subs I pay for.
Makes me feel like an idiot for doing something as outlandish as paying artists for their music.
Just about everything I watch or listen to is served from the same iTunes Library I've had for over 20 years. It's more important to me now than it has ever been.
Stuff designed to rip mp3 streams got this right.
I'm probably holding it wrong.
I wish I believed in software hell because then I would be happy knowing that’s where iTunes existed.
So my next phone was an Android phone. And I could just plug it into a USB slot, and it showed up as an attached drive, the same way a thumbdrive did. Simple file transfer, at last.
That was nearly twenty years ago, and I have never bought an iPhone or iPad since.
So don't worry! The same trash UI is available to you... except now even worse, thanks to "Liquid Glass" and brain-dead decisions like moving the playback controls from the empty area at the top of the screen into the content-browser area... where they reside on a "transparent" bubble that overlaps other graphics and text.
I'd be fine with it doing that if it actually opened what i listen with. The OS can clearly see i spend 100% of my time in another music player (Spotify), opening Apple Music is at best a poorly designed UX.
1. You have an iPhone, a Macbook, and AirPods.
2. You are listening to a podcast or song on your iPhone using your AirPods.
3. You press your AirPods stem to pause the podcast or song on your iPhone.
4. You press your AirPods again, expecting to continue the podcast or song on your iPhone.
5. Your AirPods are now connected to your Mac, which is opening Apple Music. This takes a long time to complete.
Note that you can not remove the Music app from MacOS without serious compromises to MacOS. It is a slow, awful resource hog that I personally never want to use, and it rubs me the wrong way. My impression of Apple is much lower for it.
Why not to have a simple way to turn this offensive behaviour off? Nonsense. It is intentionally offensive and forceful! Straight forceful behaviour that needs to be cut down at the sprout! Otherwise it will multiply and suffocate you down the line.
Too much of the product designers adapt this arrogant attitude, Apple is just a (sizeable) drop in the sea!
Similar situation in the past: Microsoft vs Netscape.
It's funny you say this because when I read the solution my first thought was that's such an Apple thing.
I'm just trying to put my bluetooth earbud in my ear to make a Teams call, and 1/3 of the time I get an onboarding prompt to join Apple Music on my work computer. Can't turn it off.
I love clever, low-or-no-code engineering solutions like this. You typically need to understand a systems very deeply to reach this level of elegance. In this case, one has to understand exactly what happens when the play button is pressed in Mac OS, how bundle identifiers work, etc. And the outcome is an app with almost no code at all – just a collision – it's beautiful.
(As an aside, coding agents are terrible at this kind of thing; I'd guess Codex as of right now would write some overpowered application that polls in a loop looking for Music App starts and killing them)
> Codex as of right now would write some overpowered application that polls in a loop looking for Music App starts and killing them
Most human engineers would also do this. It's a relative rarity to find someone writing things this elegantly.
Similarly, if you asked an agent to "Stop the Apple Music app from launching", it would likely try to do what most humans would do. Otoh if you asked an agent to explain why the Apple Music app launches, based on the discoveries it presents to you from its investigation you would quickly discover for yourself that asking it to make a zero code app that collides with Music is the best course of action.
If their tendancy is to research a problem and understand why it's happening and design a solution, then their LLM assisted code will do that as well.
The rest of us ask for a customizable experience.
"Absolutely unlimited grief and inconvenience!"
You have to do it once per file type but it's once and done.
>You have to do it once per file type but it's once and done.
I will note I have one Mac with one old user account where it will not remember this anymore across reboots (across macOS 15, plan to skip 26 and hope 27 is acceptable). I haven't had time to try to get into why, but it's occasionally irritating.
Source code for this one: https://github.com/FuzzyIdeas/MusicDecoy
sudo chmod -x /Applications/Music.app
edit: sorry about that. this used to work before the Music.app moved to /System/Applications ~: sudo chmod -x /Applications/Music.app
chmod: /Applications/Music.app: No such file or directory
~: sudo chmod -x /System/Applications/Music.app
chmod: Unable to change file mode on /System/Applications/Music.app: Operation not permitted
(Mac OS Tahoe 26.5) % ls -la /System/Applications/Music.app/Contents/MacOS/Music
-rwxr-xr-x 1 root wheel 66201040 Apr 30 09:12 /System/Applications/Music.app/Contents/MacOS/MusicI'm by no way an Apple fan, but why not uninstall the app if you don't need it?
Google did the same thing with Transformers 2 I think. It still shows up as Purchased for me even though I absolutely did not purchase that. Good way to ensure I never ever watch any Transformers movie!
+1 point for Joey Ramone.
curl https://alx.sh | sh
https://asahilinux.org/fedoraI'm a classic macOS fan, but it's time for us to admit that it's not a premium OS anymore. It's a service upsell layer.
If I were on my computer, it'd actually link the Gentoo script that we used to bootstrap it on AWS.
This is problematic because if I were to accidentally hit the button in the middle of a set, and it decides to default to whatever interface is connected to the P.A. system, then now I've just started blasting some random song at full volume to everyone in the venue.
(It's not an immediate problem for me anymore because I've reworked my hardware setup such that the dongle connects through my audio interface rather than directly to my laptop, meaning my laptop no longer receives "play/pause" commands from it. There were additional reasons for this rework, but preventing this misbehavior was absolutely part of the consideration.)
It's absurd that a premium device marketed to creative professionals has unconfigurable behavior like this which is so unacceptable for a live show.
Have a look at Loopback - very mature app now. I use this for doing live and studio routing, you set a live profile so that only your soft synths actually get an output and Music (and FaceTime, system, whatever) get sent to the musical equivalent of /dev/null. So an accidental press of "Play" has no effect (beyond perhaps catastrophic stuttering as Music.app opens.)
My laptop is disconnected at the moment so it's full of "missing device" notifications but this screenshot[1] will give you an idea. Profiles on the left, apps in the next column, routing to mixer channels (I have a multichannel interface) next and then "monitor devices" which can be multiplexed.
Loopback looks nice, but I prefer to keep the routing entirely within my DAW (or my interface where possible) to keep latency to a minimum, particularly since I'm already using wireless headphones that add 10ms latency.
Another mitigation I now have is to use an aggregate device that has BlackHole on the first two channels rather than the main outputs. That way, if I accidentally start playing audio, it gets harmlessly sent to the void; and it also means I can easily capture and forward it in my DAW if I actually want to play PC audio (for example, listening to a recording during a rehearsal).
launchctl unload -w /System/Library/LaunchAgents/com.apple.rcd.plist
will quit the process responsible for the madness (rcd, the "remote control daemon").You'll have to remember to re-load this thing if you want the default behavior. Or if you encounter other unexpected situations, to restore the default insanity.
It might be easier to run this app instead; then you have an icon in your GUI desktop environment and an app you can simply quit to restore defaults. Plus this app allows you to assign any app to the "Play" media event.
I ran the above and then quit Apple Music and tried a few different things and so far it hasn't come back up.
FTA:
Uh.. how do I quit this app?
The app has no Dock icon and no menubar icon so to quit it you'd need to do one of the following:
Launch Activity Monitor, find Music Decoy and press the button at the top
Run the following command in the Terminal:
killall 'Music Decoy'For example, it keeps polluting my results with things like preinstalled system music demo files. There's no option to exclude the location, nor to selectively disable "Garageband" results while keeping other apps I actually do use for work.
On the bright side, there are a few power scripts that allow a much more custom experience (particularly if you are an all keyboard shortcuts person), but I am not the kind that wants extras there.
The next time you go to launch Chrome, type ch and then use the arrow keys to navigate to the Chrome result to launch it.
You may have to do that for one more launch. After that it should always launch Chrome with ‘ch’.
F3/F4 are remapped to the keyboard backlight brightness.
F5-F9 are remapped to be plain old function keys.
This post has a lot of great info: https://news.ycombinator.com/item?id=35555475
This is the mapping I use on an M1 MacBook:
hidutil property --set '{
"UserKeyMapping":[
{"HIDKeyboardModifierMappingSrc":0x0000FF0100000010,"HIDKeyboardModifierMappingDst":0x00FF00000009},
{"HIDKeyboardModifierMappingSrc":0x0000000c00000221,"HIDKeyboardModifierMappingDst":0x00FF00000008},
{"HIDKeyboardModifierMappingSrc":0x0000000c000000cf,"HIDKeyboardModifierMappingDst":0x00070000003e},
{"HIDKeyboardModifierMappingSrc":0x000000010000009b,"HIDKeyboardModifierMappingDst":0x00070000003f},
{"HIDKeyboardModifierMappingSrc":0x0000000c000000b4,"HIDKeyboardModifierMappingDst":0x000700000040},
{"HIDKeyboardModifierMappingSrc":0x0000000c000000cd,"HIDKeyboardModifierMappingDst":0x000700000041},
{"HIDKeyboardModifierMappingSrc":0x0000000c000000b3,"HIDKeyboardModifierMappingDst":0x000700000042}
]
}'I mostly listen to the radio, with an occasional trip where I instead listen to a podcast or music via CarPlay.
What I've found greatly helps is when I finish a trip where I've used CarPlay after I park but before turning the car off I open my phone, open control center, tap the now playing widget, tap the symbol on that for output selection, and make sure it is set to iPhone Speaker. I then hit the Media button in the car and select FM. That starts the radio playing. Then I stop the radio and shut off the car.
Next time I use the car CarPlay connects normally but does NOT take over the media playback. If I hit the play button in the car it starts playing the radio.
This works fine for me because as I said I mostly listen to radio. It is not that big of a deal the once a week or so that I listen via CarPlay to do those extra steps at the end of a trip.
It would probably be a lot more annoying if I was frequently switching between radio and CarPlay.
In either case I would definitely like a setting somewhere that makes it so the play button in the car plays whatever source was playing the last time you turned off playback.
Although it's a pretty well known source in the macOS apps community (lowtechguys.com) with source code available right on the front page (https://github.com/FuzzyIdeas/MusicDecoy) and the code does basically nothing. There's not much to be afraid of.
So annoying and not great UX from Apple imo. Thanks for this.
> BeardedSpice is a menubar application for Mac OSX that allows you to control web based media players and some native apps with the media keys found on Mac keyboards. It is an extensible application that works with Chrome (Canary, Yandex, Chromium) and Safari, and can control any tab with an applicable media player.
- Media Playback Known Issues: In apps like TV, Podcasts, and Music, the window controls may become unresponsive after dragging the playhead to adjust the playback position. (177984877)
- Workaround: Use keyboard shortcuts or the menu bar to close, minimize, or enter full screen mode.
• • •
Super clunky compared to the imminently more practical workaround for wrong-size gifs in Messages, STOP LOOKING AT IT:
- Messages Known Issues: GIFs and pasted images might render as the incorrect size. (177657977)
- Workaround: Scroll until that message is offscreen
1. Open System Settings
2. Navigate to Screen Time -> App Limits -> Add Limit...
3. Select "Music" and set an "Every Day" limit of 0 minutes.
Also a bit unfortunate that a software like this has to exist in the first place.
I actually nuked my music library off my Mac to mitigate this problem, but it's still a nuisance when the app launches.
Thank you for sharing this!
I have the podcast app and so many times I would click an AirPod to resume and it would play a random song
Many times Apple Music also triggered by the Bluetooth devices which is super annoying.
Apple really needs to implement a way to remove Apple Music completely.
Slightly concerned Apple would patch this by preventing others from using the same bundle identifier as their official apps, though?
this is the OG app.
Then launch it once to say you approve
startup Ventura and later: Navigate to System Settings Select General Select Login Items Click the + under Open at Login and select noTunes
/s for the sarcasm impaired
Another fix for this bollocks