/* border */
static int draw_borders;
+static int draw_graph_borders;
static int stippled_borders;
static int draw_shades, draw_outline;
OBJ_infopipe_channels,
OBJ_infopipe_title,
OBJ_infopipe_file,
+ OBJ_infopipe_bar,
#endif
#ifdef TCP_PORT_MONITOR
OBJ_tcp_portmon,
OBJ(infopipe_channels, INFO_INFOPIPE) END
OBJ(infopipe_title, INFO_INFOPIPE) END
OBJ(infopipe_file, INFO_INFOPIPE) END
+ OBJ(infopipe_bar, INFO_INFOPIPE)
+ (void) scan_bar(arg, &obj->a, &obj->b);
+ END
#endif
#ifdef TCP_PORT_MONITOR
OBJ(tcp_portmon, INFO_TCP_PORT_MONITOR)
#endif
#ifdef INFOPIPE
OBJ(infopipe_protocol) {
- snprintf(p, p_max_size, "%s", cur->infopipe.item[INFOPIPE_PROTOCOL]);
+ snprintf(p, p_max_size, "%s", cur->infopipe.items[INFOPIPE_PROTOCOL]);
}
OBJ(infopipe_version) {
- snprintf(p, p_max_size, "%s", cur->infopipe.item[INFOPIPE_VERSION]);
+ snprintf(p, p_max_size, "%s", cur->infopipe.items[INFOPIPE_VERSION]);
}
OBJ(infopipe_status) {
- snprintf(p, p_max_size, "%s", cur->infopipe.item[INFOPIPE_STATUS]);
+ snprintf(p, p_max_size, "%s", cur->infopipe.items[INFOPIPE_STATUS]);
}
OBJ(infopipe_playlist_tunes) {
- snprintf(p, p_max_size, "%s", cur->infopipe.item[INFOPIPE_PLAYLIST_TUNES]);
+ snprintf(p, p_max_size, "%s", cur->infopipe.items[INFOPIPE_PLAYLIST_TUNES]);
}
OBJ(infopipe_playlist_currtune) {
- snprintf(p, p_max_size, "%s", cur->infopipe.item[INFOPIPE_PLAYLIST_CURRTUNE]);
+ snprintf(p, p_max_size, "%s", cur->infopipe.items[INFOPIPE_PLAYLIST_CURRTUNE]);
}
OBJ(infopipe_usec_position) {
- snprintf(p, p_max_size, "%s", cur->infopipe.item[INFOPIPE_USEC_POSITION]);
+ snprintf(p, p_max_size, "%s", cur->infopipe.items[INFOPIPE_USEC_POSITION]);
}
OBJ(infopipe_position) {
- snprintf(p, p_max_size, "%s", cur->infopipe.item[INFOPIPE_POSITION]);
+ snprintf(p, p_max_size, "%s", cur->infopipe.items[INFOPIPE_POSITION]);
}
OBJ(infopipe_usec_time) {
- snprintf(p, p_max_size, "%s", cur->infopipe.item[INFOPIPE_USEC_TIME]);
+ snprintf(p, p_max_size, "%s", cur->infopipe.items[INFOPIPE_USEC_TIME]);
}
OBJ(infopipe_time) {
- snprintf(p, p_max_size, "%s", cur->infopipe.item[INFOPIPE_TIME]);
+ snprintf(p, p_max_size, "%s", cur->infopipe.items[INFOPIPE_TIME]);
}
OBJ(infopipe_bitrate) {
- snprintf(p, p_max_size, "%s", cur->infopipe.item[INFOPIPE_BITRATE]);
+ snprintf(p, p_max_size, "%s", cur->infopipe.items[INFOPIPE_BITRATE]);
}
OBJ(infopipe_frequency) {
- snprintf(p, p_max_size, "%s", cur->infopipe.item[INFOPIPE_FREQUENCY]);
+ snprintf(p, p_max_size, "%s", cur->infopipe.items[INFOPIPE_FREQUENCY]);
}
OBJ(infopipe_channels) {
- snprintf(p, p_max_size, "%s", cur->infopipe.item[INFOPIPE_CHANNELS]);
+ snprintf(p, p_max_size, "%s", cur->infopipe.items[INFOPIPE_CHANNELS]);
}
OBJ(infopipe_title) {
- snprintf(p, p_max_size, "%s", cur->infopipe.item[INFOPIPE_TITLE]);
+ snprintf(p, p_max_size, "%s", cur->infopipe.items[INFOPIPE_TITLE]);
}
OBJ(infopipe_file) {
- snprintf(p, p_max_size, "%s", cur->infopipe.item[INFOPIPE_FILE]);
+ snprintf(p, p_max_size, "%s", cur->infopipe.items[INFOPIPE_FILE]);
+ }
+ OBJ(infopipe_bar) {
+ double progress;
+ progress= atof(cur->infopipe.items[INFOPIPE_USEC_POSITION]) /
+ atof(cur->infopipe.items[INFOPIPE_USEC_TIME]);
+ new_bar(p,obj->a,obj->b,(int)(progress*255.0f));
}
#endif
OBJ(top) {
w = text_start_x + text_width - cur_x - 1;
if (w < 0)
w = 0;
- XSetLineAttributes(display,
- window.gc, 1,
- LineSolid,
- CapButt,
- JoinMiter);
- XDrawRectangle(display,
- window.drawable,
- window.gc, cur_x,
- by, w, h);
+ if (draw_graph_borders) {
+ XSetLineAttributes(display, window.gc, 1, LineSolid, CapButt, JoinMiter);
+ XDrawRectangle(display,window.drawable, window.gc, cur_x, by, w, h);
+ }
XSetLineAttributes(display,
window.gc, 1,
LineSolid,
default_fg_color = WhitePixel(display, screen);
default_bg_color = BlackPixel(display, screen);
default_out_color = BlackPixel(display, screen);
- draw_borders = 0;
draw_shades = 1;
+ draw_borders = 0;
+ draw_graph_borders = 1;
draw_outline = 0;
set_first_font("6x10");
gap_x = 5;
CONF("draw_borders") {
draw_borders = string_to_bool(value);
}
+ CONF("draw_graph_borders") {
+ draw_graph_borders = string_to_bool(value);
+ }
CONF("draw_shades") {
draw_shades = string_to_bool(value);
}
pthread_mutex_lock(&info.infopipe.runnable_mutex);
info.infopipe.runnable=1;
pthread_mutex_unlock(&info.infopipe.runnable_mutex);
- if (pthread_create(&info.infopipe.thread, &info.infopipe.thread_attr, infopipe_service, NULL))
+ if (pthread_create(&info.infopipe.thread, &info.infopipe.thread_attr, infopipe_thread_func, NULL))
{
CRIT_ERR("unable to create infopipe thread!");
}