Open ivanicin opened 2 years ago
Hey @ivanicin, congratz on your first feature request.
You'd be right, right now we're focused on tidying up the SDK and making sure it's fit to handle anything we throw at it.
As long as Apple gives developers an open (not to mention, legal) way to stream Apple Music as a third-party, this is something we'd love to make Strix-compatible as soon as we can.
If anyone wants to begin work on this, we have a complete step-by-step guide on how to build a core from scratch.
The SDK is still in alpha and subject to breaking changes, but if work is done in this repository, we'll be happy to automatically migrate any breaking changes for you.
A quick search shows that Apple Music for C# already exists: https://github.com/MattPress/AppleMusicAPI.NET
However it is GPL so neither I can use it neither you can directly use it but I am sure it will help you to implement it quicker when you decide to do so.
Also this appears to be using REST API: https://github.com/xamarin/ios-samples/tree/main/ios11/MusicKitSample
I might end up using that for start as at the moment for me priority is iOS and some basic Apple Music features, while more would be definitely interesting and that's how I found your project :).
A quick search shows that Apple Music for C# already exists: https://github.com/MattPress/AppleMusicAPI.NET
However it is GPL so neither I can use it neither you can directly use it but I am sure it will help you to implement it quicker when you decide to do so.
It's hard to see because it's buried in the src
directory for the app, but Strix is also licensed under GPL.
A quick search shows that Apple Music for C# already exists: https://github.com/MattPress/AppleMusicAPI.NET However it is GPL so neither I can use it neither you can directly use it but I am sure it will help you to implement it quicker when you decide to do so.
It's hard to see because it's buried in the
src
directory for the app, but Strix is also licensed under GPL.
If your documentation on nuget is correct then you are using LGPL which is entirely different thing.
OK I see that it is GPL now possibly you haven't updated that on nuget. Then I wish you good luck and I do find that this extremely ambitious and worth the respect, but this isn't for any kind of commercial use and hopefully you have figured out your intended target market.
As per our pledge[1], [2], we'll always be a free and open standard. You'll never be charged to use or build with any part of Strix. We rely on donations from our supporters.
The Strix Music SDK and all things built on it/for it are at minimum LGPLv3 + Additional terms. Reasons for this included
The Strix Music App, our various shells and our (unfinished) WinUI control library are GPLv3. This is because
Switching to Apache 2.0 or MIT isn't off the table in the future, but these are what we've landed on for now. This is also from memory, so it may be incomplete. Let me know if I missed anything, and I'll update it 🙂
Also note that a lot of tooling isn't designed to handle multiple licenses per repo, so it might show incorrectly in some places. These will all get fixed when we eventually split the into separate repos.
The Strix Music SDK and all things built on it/for it are at minimum LGPLv3 + Additional terms. Reasons for this included
@yoshiask is right that currently you have stated differently: https://github.com/Arlodotexe/strix-music/blob/master/src/Sdk/StrixMusic.Sdk/LICENSE
But then info on nuget is correct so you should update the file above.
@ivanicin LGPLv3 is a modification of GPLv3. LGPL requires the full GPL to be present, and full GPL allows for LGPL to be present. LGPL then allows us to define additional terms.
They're all required to be in different files. See LICENSE.LESSER and LICENSE.ADDITONAL in the same folder.
Also this appears to be using REST API: https://github.com/xamarin/ios-samples/tree/main/ios11/MusicKitSample
That certainly looks promising for iOS devices! Only problem is running on non-Apple devices, we should be using .NET Standard 2.0 unless we have a very good reason to multitarget.
After some basic research, I found these, which should be everything we need:
So this is already looking significantly more promising than most other music services!
We get a REST API that works in NS2.0, and a native/cross-platform way to play audio, which would be handled by the consuming application, not the strix core.
Describe the problem
First congratulations as this is a truly great effort.
I understand that you currently make just some foundations and that it may take a while for that.
Anyway I think that a must have for this is just two things to work: Spotify (listed but not implemented) and Apple Music (not even listed and that's why I am opening this as an issue so that you at least put it in the future plans). All other things are potentially nice added value for many, but if you don't implement those two services which are the biggest streaming services that will be a red flag for many potential users.
Describe the proposed change
Apple Music does have REST API so you can implement it.
I would definitely consider to give at least some small sponsorship if those things get implemented (actually if it works well the only reason that I wouldn't do it is if I found some alternative solution that works for me). And that's surely not enough for your to do that but I think it is likely to affect at least some other people too.
Alternatives
No response
Additional info
No response
Help us help you
No, I'm unable to contribute a solution.