diff options
Diffstat (limited to 'main.c')
-rw-r--r-- | main.c | 16 |
1 files changed, 11 insertions, 5 deletions
@@ -137,7 +137,8 @@ server_exec_command_line (const char *cmdline, int len, char *sendback, int sbsi } if (sendback) { playItem_t *curr = streamer_get_playing_track (); - if (curr && curr->decoder) { + DB_fileinfo_t *dec = streamer_get_current_decoder (); + if (curr && dec) { const char np[] = "nowplaying "; memcpy (sendback, np, sizeof (np)-1); pl_format_title (curr, -1, sendback+sizeof(np)-1, sbsize-sizeof(np)+1, -1, parg); @@ -149,7 +150,8 @@ server_exec_command_line (const char *cmdline, int len, char *sendback, int sbsi else { char out[2048]; playItem_t *curr = streamer_get_playing_track (); - if (curr && curr->decoder) { + DB_fileinfo_t *dec = streamer_get_current_decoder (); + if (curr && dec) { pl_format_title (curr, -1, out, sizeof (out), -1, parg); } else { @@ -335,11 +337,11 @@ player_mainloop (void) { break; case M_NEXTSONG: p_stop (); - pl_nextsong (1); + streamer_move_nextsong (1); break; case M_PREVSONG: p_stop (); - pl_prevsong (); + streamer_move_prevsong (); break; case M_PAUSESONG: if (p_get_state () == OUTPUT_STATE_PAUSED) { @@ -353,7 +355,7 @@ player_mainloop (void) { break; case M_PLAYRANDOM: p_stop (); - pl_randomsong (); + streamer_move_randomsong (); break; case M_PLAYLISTREFRESH: plug_trigger_event_playlistchanged (); @@ -544,6 +546,8 @@ main (int argc, char *argv[]) { atexit (atexit_handler); // helps to save in simple cases, like xkill + plt_add (0, "Default"); + // execute server commands in local context int noloadpl = 0; if (argc > 1) { @@ -599,6 +603,8 @@ main (int argc, char *argv[]) { pl_free (); conf_free (); messagepump_free (); + plt_free (); + plug_free_decoder_ids (); sigterm_handled = 1; fprintf (stderr, "hej-hej!\n"); return 0; |