I also built an Emacs music player recently, for subsonic. I even use it as my daily music/podcast player. It's a very rewarding thing to work on, The Emacs development flow has made me wish everything could be developed like an Emacs application.
That's incredibly cool, I didn't even think of using it for that. I haven't dug into your code, but I know that I use some unusual portions of the subsonic API that you probably haven't included. Are you open to contributions?
Its my first emacs package outside of my config so the elisp isnt amazing or anything, but if you want to send patches the mailing list is here https://lists.sr.ht/~amk/public-inbox put any questions or patches there! :)
Hm, I've been searching for a good replacement for Google Play Music, and this looks like a compelling option - the library of youtube, the recommendations of last.fm, and the UI of Emacs - an excellent set of ingredients!
And here I thought I had finally given up the temptation that is emacs. Combined with evil mode, I can easily see having a leader keyspace dedicated to music so I could flip through tracks mid-code without even leaving the home row.
Actually, since it should be pretty straightforward, I'm going to go map some keys in vim to execute applescript to control my media.
Am I the only one who has stability issues with emacs? It’s not bad, like once every few weeks emacs daemon crashes, but enough that I wouldn’t want to add more to my config.
Maybe I need to learn how to debug the issues, but my config is hardly extensive
Crashes, as in actually exits without you triggering it? That's definitely very unusual; most lisp shouldn't be able to do that. Is there anything particularly unusual about your config? Are you maybe using a loadable module? If you do investigate it, you might find a reportable bug.
Yeah, I do 2 from time to time, because I use emacs as my long-running editor but also jmacs as a quick-one-off emacs-keybindings terminal editor, and so I tend to autotype C-x C-s C-x C-c for save-and-exit. My fix was to add this to my .emacs:
(put 'save-buffers-kill-emacs 'disabled "You probably didn't want to do that...\n")
which makes emacs prompt you for whether you really meant to ask it to exit. (I'm sure there are a ton of other ways to do this; this is just the first one I hit on a decade or more ago :-))
Could you do this with VS Code? Technically, of course it's possible but I don't think it'd be easy. Legally, Github or Microsoft would eventually cave to a DMCA. GPL wins the day yet again.
VS Code's remote extensions are proprietary. Some folks created 'VSCodium' which is VSCode minus telemetry. But they are not allowed to use the excellent remote extensions.
I'm not sure about this, I think they are making their Python LSP proprietary too. There was a comment in HN about it a while ago, can't find it. Hope somebody can help.
So yeah GPL wins in this case. The strategy of Microsoft seems to be that they make the core VSCode open, but might make more and more extensions proprietary. Resulting in people getting locked to VSCode. Classic Microsoft.
Replying because can't edit above comment. The closed-source Python LSP in VSCode is named 'Pylance'. HN discussion from 2 months ago [1]. Notice the reply to the top comment > "Our long-term plan is to transition our Microsoft Python Language Server users over to Pylance and eventually deprecate and remove the old language server as a supported option."
The server is open source, right? It's here: https://github.com/microsoft/pylance-release. I don't know what you're referring to. Can you link to information about the proprietary extensions you're referring to?
Nope it's not open source. It's right there in the link you posted:
"This repository is for providing feedback and documentation on the Pylance language server extension in Visual Studio Code. You can use the repository to report issues or submit feature requests. The Pylance codebase is not open-source but you can contribute to Pyright to make improvements to the core typing engine that powers the Pylance experience."
"In discussing ways of competing with open source, Document I suggests that one reason that open source projects had been able to enter the server market is the market's use of standardized protocols. The document then suggests that this can be stopped by "extending these protocols and developing new protocols" and "de-commoditiz[ing] protocols & applications". This policy has been internally nicknamed "embrace, extend, extinguish". Document I also suggests that open source software "is long-term credible ... FUD tactics can not be used to combat it", and "Recent case studies (the Internet) provide very dramatic evidence ... that commercial quality can be achieved / exceeded by OSS projects."
Documents I and II were filed as evidence on January 16, 2007, in the case of Comes v. Microsoft."
2. They are allowed to have proprietary implementations of this protocol (let alone the fact that they created and opened up this protocol, so you could say it's their protocol).
Are they doing anything to close down the actual protocol?
Yeah they created it. VS Code is touted as open source. But the thing is it comes with gotchas like the above 2 extensions. It's similar in spirit to the news about the pfSense project that recently got attention on HN. PfSense toutes it is open source, only later we realise we cannot compile from source. And now they are kinda abandoning their open software, all the while not being open about it to users.
The VSCodium folks drank the MS kool-aid and only later realised that the remote extensions are blocked. Now it's pylance, which will be THE python LSP for VSCode. This creates a lock-in effect. People who would have easily moved to VSCodium (which is VSCode minus telemetry) would stay with VSCode. And who knows what bit they would lock down next.
This is against the spirit of open source. Emacs or Vim would never do it, all the little Unix tools would never do it.
At least be honest like 'Sublime Text' or the Jetbrains IDEs. They have excellent software without the gotchas. They are upfront about what you are gonna get. Kudos to them.
With VSCode, it's not obvious. Whenever it comes up in HN, we feel it's open source. When one goes to it's github, one feels it's MIT licensed. That's why there are at least 3 issues in the VSCodium github asking why remote extensions are not working. It's like the excerpt from the 'Halloween documents' I commented above.
I also built an Emacs music player recently, for subsonic. I even use it as my daily music/podcast player. It's a very rewarding thing to work on, The Emacs development flow has made me wish everything could be developed like an Emacs application.
https://git.sr.ht/~amk/subsonic.el