diff options
Diffstat (limited to 'libpiano')
| -rw-r--r-- | libpiano/src/main.c | 12 | ||||
| -rw-r--r-- | libpiano/src/piano.h | 4 | ||||
| -rw-r--r-- | libpiano/src/xml.c | 2 | 
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);  	}  } | 
