OBJ_mpd_title,
OBJ_mpd_artist,
OBJ_mpd_album,
+ OBJ_mpd_random,
+ OBJ_mpd_repeat,
OBJ_mpd_vol,
OBJ_mpd_bitrate,
OBJ_mpd_status,
OBJ_mpd_bar,
OBJ_mpd_elapsed,
OBJ_mpd_length,
+ OBJ_mpd_track,
OBJ_mpd_percent,
#endif
};
case OBJ_mpd_title:
case OBJ_mpd_artist:
case OBJ_mpd_album:
+ case OBJ_mpd_random:
+ case OBJ_mpd_repeat:
+ case OBJ_mpd_track:
case OBJ_mpd_status:
case OBJ_mpd_host:
#endif
#ifdef MPD
OBJ(mpd_artist, INFO_MPD)
END OBJ(mpd_title, INFO_MPD)
+ END OBJ(mpd_random, INFO_MPD)
+ END OBJ(mpd_repeat, INFO_MPD)
END OBJ(mpd_elapsed, INFO_MPD)
END OBJ(mpd_length, INFO_MPD)
+ END OBJ(mpd_track, INFO_MPD)
END OBJ(mpd_percent, INFO_MPD)
END OBJ(mpd_album, INFO_MPD) END OBJ(mpd_vol,
INFO_MPD) END OBJ(mpd_bitrate,
INFO_MPD)
- END OBJ(mpd_status, INFO_MPD) END OBJ(mpd_bar, INFO_MPD)
+ END OBJ(mpd_status, INFO_MPD)
+ END OBJ(mpd_bar, INFO_MPD)
(void) scan_bar(arg, &obj->data.pair.a, &obj->data.pair.b);
END
#endif
OBJ(mpd_album) {
snprintf(p, n, "%s", cur->mpd.album);
}
+ OBJ(mpd_random) {
+ snprintf(p, n, "%s", cur->mpd.random);
+ }
+ OBJ(mpd_repeat) {
+ snprintf(p, n, "%s", cur->mpd.repeat);
+ }
+ OBJ(mpd_track) {
+ snprintf(p, n, "%s", cur->mpd.track);
+ }
OBJ(mpd_vol) {
snprintf(p, n, "%i", cur->mpd.volume);
}
current_info->mpd.album = malloc(TEXT_BUFFER_SIZE);
if (current_info->mpd.title == NULL)
current_info->mpd.title = malloc(TEXT_BUFFER_SIZE);
+ if (current_info->mpd.random == NULL)
+ current_info->mpd.random = malloc(TEXT_BUFFER_SIZE);
+ if (current_info->mpd.repeat == NULL)
+ current_info->mpd.repeat = malloc(TEXT_BUFFER_SIZE);
+ if (current_info->mpd.track == NULL)
+ current_info->mpd.track = malloc(TEXT_BUFFER_SIZE);
strcpy(current_info->mpd.artist, "Unknown");
strcpy(current_info->mpd.album, "Unknown");
strcpy(current_info->mpd.title, "Unknown");
+ strcpy(current_info->mpd.random, "Unknown");
+ strcpy(current_info->mpd.repeat, "Unknown");
+ strcpy(current_info->mpd.track, "Unknown");
current_info->mpd.status = "MPD not responding";
current_info->mpd.bitrate = 0;
current_info->mpd.progress = 0;
current_info->mpd.album = malloc(TEXT_BUFFER_SIZE);
if (current_info->mpd.title == NULL)
current_info->mpd.title = malloc(TEXT_BUFFER_SIZE);
+ if (current_info->mpd.random == NULL)
+ current_info->mpd.random = malloc(TEXT_BUFFER_SIZE);
+ if (current_info->mpd.track == NULL)
+ current_info->mpd.track = malloc(TEXT_BUFFER_SIZE);
strcpy(current_info->mpd.artist, "Unknown");
strcpy(current_info->mpd.album, "Unknown");
strcpy(current_info->mpd.title, "Unknown");
+ strcpy(current_info->mpd.random, "Unknown");
+ strcpy(current_info->mpd.repeat, "Unknown");
+ strcpy(current_info->mpd.track, "Unknown");
current_info->mpd.status = "MPD not responding";
current_info->mpd.bitrate = 0;
current_info->mpd.progress = 0;
current_info->mpd.elapsed = 0;
current_info->mpd.length = 0;
+ current_info->mpd.track = 0;
return;
}
current_info->mpd.volume = status->volume;
current_info->mpd.progress = 0;
current_info->mpd.elapsed = 0;
current_info->mpd.length = 0;
+ current_info->mpd.track = 0;
if (current_info->mpd.artist == NULL)
current_info->mpd.artist =
malloc(TEXT_BUFFER_SIZE);
current_info->mpd.album = malloc(TEXT_BUFFER_SIZE);
if (current_info->mpd.title == NULL)
current_info->mpd.title = malloc(TEXT_BUFFER_SIZE);
+ if (current_info->mpd.random == NULL)
+ current_info->mpd.random = malloc(TEXT_BUFFER_SIZE);
+ if (current_info->mpd.repeat == NULL)
+ current_info->mpd.repeat = malloc(TEXT_BUFFER_SIZE);
+ if (current_info->mpd.track == NULL)
+ current_info->mpd.track = malloc(TEXT_BUFFER_SIZE);
strcpy(current_info->mpd.artist, "Stopped");
strcpy(current_info->mpd.album, "Stopped");
strcpy(current_info->mpd.title, "Stopped");
+ strcpy(current_info->mpd.random, "Stopped");
+ strcpy(current_info->mpd.repeat, "Stopped");
+ strcpy(current_info->mpd.track, "Stopped");
}
if (status->state == MPD_STATUS_STATE_PAUSE) {
current_info->mpd.status = "Paused";
current_info->mpd.progress = 0;
current_info->mpd.elapsed = 0;
current_info->mpd.length = 0;
+ current_info->mpd.track = 0;
if (current_info->mpd.artist == NULL)
current_info->mpd.artist =
malloc(TEXT_BUFFER_SIZE);
current_info->mpd.album = malloc(TEXT_BUFFER_SIZE);
if (current_info->mpd.title == NULL)
current_info->mpd.title = malloc(TEXT_BUFFER_SIZE);
+ if (current_info->mpd.random == NULL)
+ current_info->mpd.random = malloc(TEXT_BUFFER_SIZE);
+ if (current_info->mpd.repeat == NULL)
+ current_info->mpd.repeat = malloc(TEXT_BUFFER_SIZE);
+ if (current_info->mpd.track == NULL)
+ current_info->mpd.track = malloc(TEXT_BUFFER_SIZE);
strcpy(current_info->mpd.artist, "Unknown");
strcpy(current_info->mpd.album, "Unknown");
strcpy(current_info->mpd.title, "Unknown");
+ strcpy(current_info->mpd.random, "Unknown");
+ strcpy(current_info->mpd.repeat, "Unknown");
+ strcpy(current_info->mpd.track, "Unknown");
}
if (status->state == MPD_STATUS_STATE_PLAY ||
status->state == MPD_STATUS_STATE_PAUSE) {
(float) status->elapsedTime / status->totalTime;
current_info->mpd.elapsed = status->elapsedTime;
current_info->mpd.length = status->totalTime;
- }
-
-
+ if (current_info->mpd.random == NULL)
+ current_info->mpd.random = malloc(TEXT_BUFFER_SIZE);
+ if (current_info->mpd.repeat == NULL)
+ current_info->mpd.repeat = malloc(TEXT_BUFFER_SIZE);
+ if (status->random == 0) {
+ strcpy(current_info->mpd.random, "Off");
+ } else if (status->random == 1){
+ strcpy(current_info->mpd.random, "On");
+ } else {
+ strcpy(current_info->mpd.random, "Unknown");
+ }
+ if (status->repeat == 0) {
+ strcpy(current_info->mpd.repeat, "Off");
+ } else if (status->repeat == 1){
+ strcpy(current_info->mpd.repeat, "On");
+ } else {
+ strcpy(current_info->mpd.repeat, "Unknown");
+ }
+ }
+
+
+
if (current_info->conn->error) {
//fprintf(stderr, "%s\n", current_info->conn->errorStr);
mpd_closeConnection(current_info->conn);
current_info->mpd.album = malloc(TEXT_BUFFER_SIZE);
if (current_info->mpd.title == NULL)
current_info->mpd.title = malloc(TEXT_BUFFER_SIZE);
+ if (current_info->mpd.track == NULL)
+ current_info->mpd.track = malloc(TEXT_BUFFER_SIZE);
if (song->artist) {
strcpy(current_info->mpd.artist, song->artist);
} else {
} else {
strcpy(current_info->mpd.title, "Unknown");
}
+ if (song->track) {
+ strcpy(current_info->mpd.track, song->track);
+ } else {
+ strcpy(current_info->mpd.track, "Unknown");
+ }
if (entity != NULL) {
mpd_freeInfoEntity(entity);
}
}
mpd_freeStatus(status);
mpd_closeConnection(current_info->conn);
-}
+ }