Pandora Modes
github-account1111 opened this issue · 8 comments
Subject of the issue
Wondering if it's possible to switch from the default playback to, say, Discovery. I have not been able to find anything about that in regard to Pianobar.
Your environment
- version of pianobar 2020.04.20
- your Linux distribution and release version Windows 10
I think modes are per station. Pandora themselves describe it as "tuning your station." Actually I'm wondering if Pianobar already does this. If I change the mode in the web interface, next time I log in it's still using that mode. So perhaps if I open the same station from Pianobar it does the same. All speculation of course.
Will this do?
https://gist.github.com/github-account1111/fe3baf8f1a9f081585012b1b0b52fd55
During network capture I switch from Discovery to My Station and back to Discovery. I've no clue why it's so huge. I only captured a couple seconds..
Yeah, thanks. So it looks like the API is called interactiveradio.v1.setAndGetAvailableModes
. It accepts a stationId and
modeId. There’s also interactiveradio.v1.getAvailableModesSimple
, which only accepts a stationId and probably retrieves the available modes, which are currently:
{
"result": {
"interactiveRadioAvailable": true,
"currentModeId": 0,
"availableModesHeader": "Choose a mode to fine-tune your station",
"takeoverModesHeader": "Exclusive Curated Modes",
"availableModes": [
{
"representativeTracks": [],
"isModeAvailable": true,
"modeId": 0,
"modePandoraId": "MO:0",
"modeName": "My Station",
"modeButtonText": "My Station",
"modeDescription": "The station experience you know and love.",
"isPremiumOnly": false,
"isTakeoverMode": false,
"isAlgorithmicMode": true
},
{
"representativeTracks": [],
"isModeAvailable": true,
"modeId": 1,
"modePandoraId": "MO:1",
"modeName": "Crowd Faves",
"modeButtonText": "Crowd Faves",
"modeDescription": "You’ll hear the most Thumbed Up songs by other listeners.",
"isPremiumOnly": false,
"isTakeoverMode": false,
"isAlgorithmicMode": true
},
{
"representativeTracks": [],
"isModeAvailable": true,
"modeId": 2,
"modePandoraId": "MO:2",
"modeName": "Discovery",
"modeButtonText": "Discovery",
"modeDescription": "You’ll hear more artists who don’t usually play on this station.",
"isPremiumOnly": false,
"isTakeoverMode": false,
"isAlgorithmicMode": true
},
{
"representativeTracks": [],
"isModeAvailable": true,
"modeId": 3,
"modePandoraId": "MO:3",
"modeName": "Deep Cuts",
"modeButtonText": "Deep Cuts",
"modeDescription": "You’ll hear less familiar songs from station artists.",
"isPremiumOnly": false,
"isTakeoverMode": false,
"isAlgorithmicMode": true
},
{
"representativeTracks": [],
"isModeAvailable": true,
"modeId": 4,
"modePandoraId": "MO:4",
"modeName": "Newly Released",
"modeButtonText": "Newly Released",
"modeDescription": "You’ll hear the newest releases from station artists.",
"isPremiumOnly": false,
"isTakeoverMode": false,
"isAlgorithmicMode": true
},
{
"representativeTracks": [],
"isModeAvailable": true,
"modeId": 5,
"modePandoraId": "MO:5",
"modeName": "Artist Only",
"modeButtonText": "Artist Only",
"modeDescription": "You’ll only hear songs from the station artist.",
"isPremiumOnly": true,
"isTakeoverMode": false,
"isAlgorithmicMode": true
}
],
"hasTakeoverModes": false,
"annotations": {}
},
"stat": "ok"
}
Should be fairly easy to implement as well.
Done, you’ll find it in the '=' menu.
Thanks! For this and for the remaining time feature.