I prepared this blog post about my use of the Resonate (v2) API to build “resotrack”.
It’s for a technical audience (specifically Django developers interested in using Neo4j) but if anyone has any red flags or wants me to add / remove anything, comments are open.
@angus - for next steps on this I wanted to do playlist generation - like “< tag > across the globe” in which it would explore (for example) punk music from different countries.
Are there any dos and don’ts when approaching this? I don’t want to break anything.
From what I’ve figured out so far this is how playlist creation works:
user creates playlist with a title and cover image
user can edit the title, blurb, and privacy setting of playlist they own
Yes that looks good. Playlists may be private or published too.
@auggod designed and wrote the code around playlisting, based on the generic track_group and track_group_items stucture that is also used for releases. Here’s the structure (caution…may be out of date… check all this with @auggod and with @angus for plans and priorities.
If I were to give any feedback, I’d say I’d love to hear more about your motivations for working on it and some of the process of building it, i.e. more of the “narrative” arround it.
Also, we’re thinking about launching a blog and this would be a good candidate for inclusion in some form (“syndicated” perhaps). I can’t make any promises on that front, but something to keep in mind (for both of us) for a few months down the track.
As @Nick_M mentions, I would defer to @auggod on the specific playlist logic.
I was thinking of the inconsistency of track tagging by the artists rather than the tagging of playlists by playlist curators… Perhaps we could fill in some of the gaps by looking at the way the tracks have been tagged by the same artist on other platforms?
I think playlist tags can already be managed by the playlist owners?
On the current version of stream.resonate.coop there is no way for a user to create genre tags for a playlist they have made.
However, since playlists are “trackgroups” in the same way that as releases are on the player, I imagine that giving a user the ability to add tags to their playlist would not involve many adjustments.
Currently a tag can only be added to a release by the release’s owner. This is done at dash.resonate.coop – at this point only by workers using admin accounts who upload releases on behalf of artists.
The reason why I think setting up this user playlist tagging feature should be straightforward is because dash.resonate.coop and stream.resonate.coop are already so interlinked.
For example, if I log in at dash.resonate.coop, I can use that interface to update the artwork for a playlist I’ve made – since the interface presents my playlist I made as an “album” owned by me.
The background code may be more complicated than I assume, but it at least appears that giving users the ability to tag a playlist they made is mostly about adjusting and extending out features that already exist on dash.resonate.coop to stream.resonate.coop, rather than having to build everything from scratch.
@boopboop We should meet up sometime and I can show you around dash.resonate.coop; it’s the other piece of this puzzle. The interface appears different depending on whether you have a listener account, admin account, or artist account. Last I checked, the site wasn’t usable for artist accounts, but if you log in with your listener account you may be able to mess around with your playlists in new ways (although I don’t think you can use that interface to add tags to playlists).
All of the playlists here with the same background (grass with red dress) were made by me via the API. Since there seemed to be no way to delete playlists and I didn’t want to break anything, I didn’t continue with trying to test (since I’d load up my account with fake playlists that I wouldn’t be able to get rid of).
I can log into dash.resonate.coop and edit my test playlists to add tags, check it out (edit: oops I deleted this trackgroup):
@auggod would know the next steps from here to explore this. I think that if users had the ability to tag their own playlists, it would be great for music exploration on the player – especially plugged into what you’ve made with Resotrack!