Small build fix & zero playtime and progress bars when XMMS2 playback is stopped.
[monky] / src / xmms2.c
index 3dde9aa..521bffa 100644 (file)
@@ -223,6 +223,7 @@ int handle_playback_state_change(xmmsv_t *value, void *p)
                                break;
                        case XMMS_PLAYBACK_STATUS_STOP:
                                strncpy(ptr->xmms2.status, "Stopped", text_buffer_size - 1);
+                               ptr->xmms2.elapsed = ptr->xmms2.progress = ptr->xmms2.percent = 0;
                                break;
                        default:
                                strncpy(ptr->xmms2.status, "Unknown", text_buffer_size - 1);
@@ -252,7 +253,7 @@ int handle_playlist_loaded(xmmsv_t *value, void *p)
        return TRUE;
 }
 
-void update_xmms2(void)
+int update_xmms2(void)
 {
        struct information *current_info = &info;
 
@@ -266,7 +267,7 @@ void update_xmms2(void)
                /* did init fail? */
                if (xmms2_conn == NULL) {
                        fprintf(stderr,"XMMS2 init failed. %s\n", xmmsc_get_last_error(xmms2_conn));
-                       return;
+                       return 0;
                }
 
                /* init ok but not connected yet.. */
@@ -284,7 +285,7 @@ void update_xmms2(void)
                if (!xmmsc_connect(xmms2_conn, path)) {
                        fprintf(stderr,"XMMS2 connection failed. %s\n", xmmsc_get_last_error(xmms2_conn));
                        current_info->xmms2.conn_state = CONN_NO;
-                       return;
+                       return 0;
                }
 
                /* set callbacks */
@@ -318,6 +319,7 @@ void update_xmms2(void)
                        xmmsc_io_out_handle(xmms2_conn);
 
        }
+       return 0;
 }