summaryrefslogtreecommitdiff
path: root/libpiano
diff options
context:
space:
mode:
Diffstat (limited to 'libpiano')
-rw-r--r--libpiano/src/main.c12
-rw-r--r--libpiano/src/piano.h4
-rw-r--r--libpiano/src/xml.c2
3 files changed, 17 insertions, 1 deletions
diff --git a/libpiano/src/main.c b/libpiano/src/main.c
index d8d9498..4e72629 100644
--- a/libpiano/src/main.c
+++ b/libpiano/src/main.c
@@ -141,6 +141,7 @@ void PianoDestroyPlaylist (PianoHandle_t *ph) {
PianoFree (curSong->title, 0);
PianoFree (curSong->userSeed, 0);
PianoFree (curSong->identity, 0);
+ PianoFree (curSong->stationId, 0);
lastSong = curSong;
curSong = curSong->next;
PianoFree (lastSong, sizeof (*lastSong));
@@ -653,3 +654,14 @@ PianoReturn_t PianoSetQuickmix (PianoHandle_t *ph) {
return ret;
}
+
+PianoStation_t *PianoFindStationById (PianoStation_t *stations,
+ char *searchStation) {
+ while (stations != NULL) {
+ if (strcmp (stations->id, searchStation) == 0) {
+ return stations;
+ }
+ stations = stations->next;
+ }
+ return NULL;
+}
diff --git a/libpiano/src/piano.h b/libpiano/src/piano.h
index 93c9fc1..7ee69fa 100644
--- a/libpiano/src/piano.h
+++ b/libpiano/src/piano.h
@@ -90,7 +90,7 @@ struct PianoSong {
/* disabled: artistExplorerUrl */
/* disabled: artRadio */
//char *audioEncoding; /* FIXME: should be enum: mp3 or aacplus */
- //char *stationId;
+ char *stationId;
//char *album;
//char *artistMusicId;
char *userSeed;
@@ -169,5 +169,7 @@ PianoReturn_t PianoStationAddMusic (PianoHandle_t *ph,
PianoStation_t *station, char *musicId);
PianoReturn_t PianoSongTired (PianoHandle_t *ph, PianoSong_t *song);
PianoReturn_t PianoSetQuickmix (PianoHandle_t *ph);
+PianoStation_t *PianoFindStationById (PianoStation_t *stations,
+ char *searchStation);
#endif /* _PIANO_H */
diff --git a/libpiano/src/xml.c b/libpiano/src/xml.c
index ecd3394..a9be0a8 100644
--- a/libpiano/src/xml.c
+++ b/libpiano/src/xml.c
@@ -253,6 +253,8 @@ void PianoXmlParsePlaylistCb (char *key, xmlNode *value, void *data) {
} else {
song->rating = PIANO_RATE_NONE;
}
+ } else if (strcmp ("stationId", key) == 0) {
+ song->stationId = strdup (valueStr);
}
}