Replies: 2 comments 1 reply
-
I'm a total statistics nerd and it kinda tickle my senses when you speak of the 'massive API' and the fact that you want to dive in :) 'Most interesting year' sounds like nice nerdy one I personally would enjoy :P I'm guessing more possible outputs than today 'track, artist, album, trackID' would also be made possible directly in GUI? More album info for example, like the ones already in Snip_Metadata.json (release date, year, number of tracks for example). I'm just spitballing here - not requesting :) |
Beta Was this translation helpful? Give feedback.
-
I've got an initial base library in progress and, for the sake of testing on multiple platforms, have started a simple CLI version of Snip. I've only started with Spotify and it's not fully working yet. Development has shifted away from using Visual Studio itself and everything is being developed with Visual Studio Code instead. I may still run everything through Visual Studio for debugging/optimizations but that will be on my part and no one else should need Visual Studio to build it. Libraries used are official Microsoft .NET and not using mono. |
Beta Was this translation helpful? Give feedback.
-
READ FIRST
This is not a discussion page for feature requests or bugs. Continue to submit tickets for feature requests, bugs, etc. This discussion is for developers and contributors to help shape Snip.
Project Contributors,
Thank you for all your help with translations, bug reports, and replying to issues. I appreciate the assistance and help you provide.
I am rewriting/reworking Snip. I'd like some feedback from developers on what you'd like to see to make development/growth/maintenance of the project.
I get a lot of requests for a macOS and Linux version of Snip, as well as requests for supporting a lot of other players. I don't have the time to make all of that a reality. However, going forward I can make it easier for other people to implement those.
To start with I'm going to split Snip apart. The first part of it will be libSnip which will encompass core functionality and be cross-platform. libSnip will also implement a plugin interface. Spotify, iTunes, etc. will be plugins. The main GUI for Snip will also be separate now as well. This will allow a native implementation on other operating systems. For example, in Linux you would reference libSnip and you could make an interface out of Qt, GTK, or whatever else is out there. macOS could have a native interface as well. This will also open up the possibility to implement libSnip in another application as well.
As for the plugins you would just reference libSnip and then override functions to implement the player of choice. This should allow for developers to not have to download or mess with all of the code for Snip. All they need is libSnip.dll loaded into their project and they can write the code for the player of choice. This will also untie the player support from libSnip directly as well. When registering a plugin it should be registered as to which operating systems it's compatible with as well. iTunes support obviously won't work on Linux. I also am unsure if I could even implement iTunes support in macOS through C#.
Aside from that here's a very rough/crude outline of features I'd like to implement going forward (these are not in any particular order whatsoever). I'll try to mention the feature and then a description of why.
Again, this is not a page for feature requests or bug reports, but you may discuss features/bugs.
Beta Was this translation helpful? Give feedback.
All reactions