Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP release? #48

Open
gridsystem opened this issue Jun 29, 2022 · 4 comments
Open

WIP release? #48

gridsystem opened this issue Jun 29, 2022 · 4 comments

Comments

@gridsystem
Copy link

Any chance you could build a version of the app that includes some of the features added since 2017?

I really like the look of this app, I'd like to what you're up to :)

@jcm93
Copy link
Owner

jcm93 commented Jul 5, 2022

I'd like to; it's in quite an unstable state at the moment, however. I've added some integration with Apple Music and probably some other things I've forgotten.

I should be able to devote some time to this during the month of July. A stable-ish build is a priority so hopefully you'll see it sooner rather than later.

@jcm93
Copy link
Owner

jcm93 commented Aug 7, 2022

Just figured I'd post an update here. Had a bit of time to do some work the past couple weeks. Mostly been working on the artist view which is getting there. Last thing for the next build is just to iron out the Apple Music integration which I'm working on now.

Apple Music is a bit awkward, since MusicKit has no direct support for macOS, though the Apple Music API does. So the app is currently embedding an invisible web view that plays tracks with MusicKit JS, while using the normal macOS API to do user catalog lookups. I don't like bundling a web view with the program, but I want to be able to play Apple Music tracks and currently that's the only way. The goal is for this whole thing to be invisible and for the app to play Apple Music tracks just like normal tracks so we'll see how close I can get to that.

@gridsystem
Copy link
Author

Sounds cool! I don't know if it's any use to you but the only non-Apple device I've used with an Apple Music client is the PS5. I mention it in case you might be able to find out how their implementation works.

@jcm93
Copy link
Owner

jcm93 commented Aug 22, 2022

Still working on stuff. The performance of the embedded web view with MusicKit JS turns out to be too poor for me to want to use it. It was delivering tracks at subpar bitrates and not responding to higher bitrate settings, and integration between JavaScript and Swift was really annoying when trying to ensure sync between the UI and the web player state.

I'm now instead going to try to embed a Mac Catalyst app that plays tracks with MusicKit through the iOS Swift API, and connecting to the main app with either AppleScript or NSXPCConnection. That should solve both issues, but it's sort of uncharted territory so it might take some time to implement.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants