diff options
| -rw-r--r-- | libpiano/piano.h | 9 | ||||
| -rw-r--r-- | libpiano/xml.c | 6 | 
2 files changed, 10 insertions, 5 deletions
| diff --git a/libpiano/piano.h b/libpiano/piano.h index 5048dc0..b5d14ba 100644 --- a/libpiano/piano.h +++ b/libpiano/piano.h @@ -65,9 +65,11 @@ struct PianoStation {  	char *id;  	struct PianoStation *next;  }; -  typedef struct PianoStation PianoStation_t; +enum PianoSongRating {PIANO_RATE_BAN, PIANO_RATE_LOVE, PIANO_RATE_NONE}; +typedef enum PianoSongRating PianoSongRating_t; +  struct PianoSong {  	char *artist;  	char **genre; @@ -82,7 +84,7 @@ struct PianoSong {  	char *webId;  	/* disabled: musicComUrl */  	/* disabled: fanExplorerUrl */ -	int rating; +	PianoSongRating_t rating;  	/* disabled: artistExplorerUrl */  	/* disabled: artRadio */  	char *audioEncoding; /* FIXME: should be enum: mp3 or aacplus */ @@ -119,9 +121,6 @@ typedef struct PianoHandle PianoHandle_t;  enum PianoReturn {PIANO_RET_OK, PIANO_RET_ERR};  typedef enum PianoReturn PianoReturn_t; -enum PianoSongRating {PIANO_RATE_BAN, PIANO_RATE_LOVE}; -typedef enum PianoSongRating PianoSongRating_t; -  void PianoInit (PianoHandle_t *);  void PianoDestroy (PianoHandle_t *);  void PianoDestroyPlaylist (PianoHandle_t *ph); diff --git a/libpiano/xml.c b/libpiano/xml.c index 8881ac9..ba6e3c8 100644 --- a/libpiano/xml.c +++ b/libpiano/xml.c @@ -167,6 +167,12 @@ void PianoXmlParsePlaylistCb (char *key, xmlNode *value, void *data) {  		song->focusTraitId = strdup (valueStr);  	} else if (strcmp ("songTitle", key) == 0) {  		song->title = strdup (valueStr); +	} else if (strcmp ("rating", key) == 0) { +		if (xmlStrEqual (valueStr, "1")) { +			song->rating = PIANO_RATE_LOVE; +		} else { +			song->rating = PIANO_RATE_NONE; +		}  	}  } | 
