-
Notifications
You must be signed in to change notification settings - Fork 126
Update metadata protobuf schema #23
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
Conversation
|
Out of curiosity, where/how are you getting these updates? I wrote a quick little script the other day that supposedly dumps the .proto files from spotify, but they seemed incomplete and missing the |
Update metadata protobuf schema
|
Thanks! |
|
These changes are from the data.xml file that it loads, https://play.spotify.edgekey.net/client/c46d547/proto/data.xml I expect these changes are because they have changed the protocol to support more features, not that you missed anything. Previews for example have only just launched. |
|
I see. And do you have example code of playing one of these preview files? P.S. I gave you commit access to this repo today, since you've been rocking it. Let's still do PR's when merging in code, but I'd love the extra set of eyes on other PR's and issues that get opened. Cheers dude! |
|
Trivial example is at https://github.com/adammw/node-spotify-web/blob/preview/example/playPreview.js Thanks for the commit access, I'm not sure how much I'll use it, I'm hesitant to make any changes without consulting you in case I stuff something up or missing something in a PR. While I'm on the topic, I think I have asked you already but not sure if you saw it, do you have a tool or style guide your working off when you do those lint commits? Or is that just you going through the code by-hand? |
That sounds great to me and I was thinking basically the same thing. Side question: Do you know if the other file types are accessible via this same technique? i.e.
Ya definitely, let's do PRs still. I think it's more just to "auto-watch" the project for you ;) And if there's some PRs from other people that are simple bug fixes and straightforward, fell free to merge as well. API changes let's discuss first.
I just run Thanks again for the help! |
Ok. I apologise for the delay, I was working on some other projects. Did you want me to submit a separate PR for this or can you review/merge it directly?
I don't think so. The previews are returned directly within the Track object, so while it's possible you will get that information as it is an array and each object does specify the file format, I haven't seen anything besides
Ok, will continue to do PRs. If you get around to it, can you review the existing PRs (#20, #22, #24)? #20 by me, refactors a lot of the code around Mercury request to make calls easier, and is loosely modelled around how the Web Client makes the calls. #22 by me, builds upon #20 (ie it is essentially a dependency - it uses the new calling methods) to provide support for working with playlists including a new Playlist object (ala Track and Artist objects, although slightly different in terms of the constructor), adding items to playlists/rootlist, removing items from a playlist/rootlist, creating playlists, modifying playlist attributes, and "deleting" playlists. #24 by @sashman-jaspin, also does playlists, creation and adding items. My very biased opinion is to use my PR instead of @sashman-jaspin, but I'll leave the decision to you. |
Adds a couple of fields, most notably (to me at least) the listing of 30 second song previews.