mirror of
https://github.com/Llewellynvdm/conky.git
synced 2024-11-15 17:47:09 +00:00
cleanup mpd code
This commit is contained in:
parent
41f32f8766
commit
cec0f3b8c6
60
src/mpd.c
60
src/mpd.c
@ -43,7 +43,23 @@ static int mpd_port;
|
|||||||
static int mpd_environment_password = 0;
|
static int mpd_environment_password = 0;
|
||||||
|
|
||||||
/* global mpd information */
|
/* global mpd information */
|
||||||
static struct mpd_s mpd_info;
|
static struct {
|
||||||
|
char *title;
|
||||||
|
char *artist;
|
||||||
|
char *album;
|
||||||
|
const char *status;
|
||||||
|
const char *random;
|
||||||
|
const char *repeat;
|
||||||
|
char *track;
|
||||||
|
char *name;
|
||||||
|
char *file;
|
||||||
|
int is_playing;
|
||||||
|
int vol;
|
||||||
|
float progress;
|
||||||
|
int bitrate;
|
||||||
|
int length;
|
||||||
|
int elapsed;
|
||||||
|
} mpd_info;
|
||||||
|
|
||||||
/* number of users of the above struct */
|
/* number of users of the above struct */
|
||||||
static int refcount = 0;
|
static int refcount = 0;
|
||||||
@ -81,16 +97,11 @@ int mpd_set_port(const char *port)
|
|||||||
void init_mpd(void)
|
void init_mpd(void)
|
||||||
{
|
{
|
||||||
if (!(refcount++)) /* first client */
|
if (!(refcount++)) /* first client */
|
||||||
memset(&mpd_info, 0, sizeof(struct mpd_s));
|
memset(&mpd_info, 0, sizeof(mpd_info));
|
||||||
|
|
||||||
refcount++;
|
refcount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct mpd_s *mpd_get_info(void)
|
|
||||||
{
|
|
||||||
return &mpd_info;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void clear_mpd(void)
|
static void clear_mpd(void)
|
||||||
{
|
{
|
||||||
#define xfree(x) if (x) free(x)
|
#define xfree(x) if (x) free(x)
|
||||||
@ -104,7 +115,7 @@ static void clear_mpd(void)
|
|||||||
xfree(mpd_info.name);
|
xfree(mpd_info.name);
|
||||||
xfree(mpd_info.file);
|
xfree(mpd_info.file);
|
||||||
#undef xfree
|
#undef xfree
|
||||||
memset(&mpd_info, 0, sizeof(struct mpd_s));
|
memset(&mpd_info, 0, sizeof(mpd_info));
|
||||||
}
|
}
|
||||||
|
|
||||||
void free_mpd(void)
|
void free_mpd(void)
|
||||||
@ -350,44 +361,43 @@ static inline void format_media_player_time(char *buf, const int size,
|
|||||||
void print_mpd_elapsed(struct text_object *obj, char *p, int p_max_size)
|
void print_mpd_elapsed(struct text_object *obj, char *p, int p_max_size)
|
||||||
{
|
{
|
||||||
(void)obj;
|
(void)obj;
|
||||||
format_media_player_time(p, p_max_size, mpd_get_info()->elapsed);
|
format_media_player_time(p, p_max_size, mpd_info.elapsed);
|
||||||
}
|
}
|
||||||
|
|
||||||
void print_mpd_length(struct text_object *obj, char *p, int p_max_size)
|
void print_mpd_length(struct text_object *obj, char *p, int p_max_size)
|
||||||
{
|
{
|
||||||
(void)obj;
|
(void)obj;
|
||||||
format_media_player_time(p, p_max_size, mpd_get_info()->length);
|
format_media_player_time(p, p_max_size, mpd_info.length);
|
||||||
}
|
}
|
||||||
|
|
||||||
void print_mpd_percent(struct text_object *obj, char *p, int p_max_size)
|
void print_mpd_percent(struct text_object *obj, char *p, int p_max_size)
|
||||||
{
|
{
|
||||||
(void)obj;
|
(void)obj;
|
||||||
percent_print(p, p_max_size, (int)(mpd_get_info()->progress * 100));
|
percent_print(p, p_max_size, (int)(mpd_info.progress * 100));
|
||||||
}
|
}
|
||||||
|
|
||||||
void print_mpd_bar(struct text_object *obj, char *p, int p_max_size)
|
void print_mpd_bar(struct text_object *obj, char *p, int p_max_size)
|
||||||
{
|
{
|
||||||
new_bar(obj, p, p_max_size, (int) (mpd_get_info()->progress * 255.0f));
|
new_bar(obj, p, p_max_size, (int) (mpd_info.progress * 255.0f));
|
||||||
}
|
}
|
||||||
|
|
||||||
void print_mpd_smart(struct text_object *obj, char *p, int p_max_size)
|
void print_mpd_smart(struct text_object *obj, char *p, int p_max_size)
|
||||||
{
|
{
|
||||||
struct mpd_s *mpd = mpd_get_info();
|
|
||||||
int len = obj->data.i;
|
int len = obj->data.i;
|
||||||
if (len == 0 || len > p_max_size)
|
if (len == 0 || len > p_max_size)
|
||||||
len = p_max_size;
|
len = p_max_size;
|
||||||
|
|
||||||
memset(p, 0, p_max_size);
|
memset(p, 0, p_max_size);
|
||||||
if (mpd->artist && *mpd->artist &&
|
if (mpd_info.artist && *mpd_info.artist &&
|
||||||
mpd->title && *mpd->title) {
|
mpd_info.title && *mpd_info.title) {
|
||||||
snprintf(p, len, "%s - %s", mpd->artist,
|
snprintf(p, len, "%s - %s", mpd_info.artist,
|
||||||
mpd->title);
|
mpd_info.title);
|
||||||
} else if (mpd->title && *mpd->title) {
|
} else if (mpd_info.title && *mpd_info.title) {
|
||||||
snprintf(p, len, "%s", mpd->title);
|
snprintf(p, len, "%s", mpd_info.title);
|
||||||
} else if (mpd->artist && *mpd->artist) {
|
} else if (mpd_info.artist && *mpd_info.artist) {
|
||||||
snprintf(p, len, "%s", mpd->artist);
|
snprintf(p, len, "%s", mpd_info.artist);
|
||||||
} else if (mpd->file && *mpd->file) {
|
} else if (mpd_info.file && *mpd_info.file) {
|
||||||
snprintf(p, len, "%s", mpd->file);
|
snprintf(p, len, "%s", mpd_info.file);
|
||||||
} else {
|
} else {
|
||||||
*p = 0;
|
*p = 0;
|
||||||
}
|
}
|
||||||
@ -396,7 +406,7 @@ void print_mpd_smart(struct text_object *obj, char *p, int p_max_size)
|
|||||||
int check_mpd_playing(struct text_object *obj)
|
int check_mpd_playing(struct text_object *obj)
|
||||||
{
|
{
|
||||||
(void)obj;
|
(void)obj;
|
||||||
return mpd_get_info()->is_playing;
|
return mpd_info.is_playing;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define MPD_PRINT_GENERATOR(name, fmt) \
|
#define MPD_PRINT_GENERATOR(name, fmt) \
|
||||||
@ -404,7 +414,7 @@ void print_mpd_##name(struct text_object *obj, char *p, int p_max_size) \
|
|||||||
{ \
|
{ \
|
||||||
if (obj->data.i && obj->data.i < p_max_size) \
|
if (obj->data.i && obj->data.i < p_max_size) \
|
||||||
p_max_size = obj->data.i; \
|
p_max_size = obj->data.i; \
|
||||||
snprintf(p, p_max_size, fmt, mpd_get_info()->name); \
|
snprintf(p, p_max_size, fmt, mpd_info.name); \
|
||||||
}
|
}
|
||||||
|
|
||||||
MPD_PRINT_GENERATOR(title, "%s")
|
MPD_PRINT_GENERATOR(title, "%s")
|
||||||
|
19
src/mpd.h
19
src/mpd.h
@ -3,24 +3,6 @@
|
|||||||
#ifndef MPD_H_
|
#ifndef MPD_H_
|
||||||
#define MPD_H_
|
#define MPD_H_
|
||||||
|
|
||||||
struct mpd_s {
|
|
||||||
char *title;
|
|
||||||
char *artist;
|
|
||||||
char *album;
|
|
||||||
const char *status;
|
|
||||||
const char *random;
|
|
||||||
const char *repeat;
|
|
||||||
char *track;
|
|
||||||
char *name;
|
|
||||||
char *file;
|
|
||||||
int is_playing;
|
|
||||||
int vol;
|
|
||||||
float progress;
|
|
||||||
int bitrate;
|
|
||||||
int length;
|
|
||||||
int elapsed;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* functions for setting the configuration values */
|
/* functions for setting the configuration values */
|
||||||
void mpd_set_host(const char *);
|
void mpd_set_host(const char *);
|
||||||
void mpd_set_password(const char *, int);
|
void mpd_set_password(const char *, int);
|
||||||
@ -29,7 +11,6 @@ int mpd_set_port(const char *);
|
|||||||
|
|
||||||
/* text object functions */
|
/* text object functions */
|
||||||
void init_mpd(void);
|
void init_mpd(void);
|
||||||
struct mpd_s *mpd_get_info(void);
|
|
||||||
void free_mpd(void);
|
void free_mpd(void);
|
||||||
void update_mpd(void);
|
void update_mpd(void);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user