summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--deadbeef.h2
-rw-r--r--main.c17
2 files changed, 9 insertions, 10 deletions
diff --git a/deadbeef.h b/deadbeef.h
index 27eaf838..bbbecb48 100644
--- a/deadbeef.h
+++ b/deadbeef.h
@@ -253,11 +253,9 @@ enum {
M_STOPSONG,
M_PAUSESONG,
M_PLAYRANDOM,
-// M_SONGCHANGED, // p1=from, p2=to
M_TERMINATE, // must be sent to player thread to terminate
M_PLAYLISTREFRESH,
M_REINIT_SOUND,
-// M_TRACKCHANGED, // p1=tracknumber
M_CONFIGCHANGED, // no arguments
};
diff --git a/main.c b/main.c
index 0f257fd4..36133bcf 100644
--- a/main.c
+++ b/main.c
@@ -230,7 +230,7 @@ server_exec_command_line (const char *cmdline, int len, char *sendback, int sbsi
}
messagepump_push (M_PLAYLISTREFRESH, 0, 0, 0);
if (!queue) {
- messagepump_push (M_PLAYSONG, 0, 0, 0);
+ messagepump_push (M_PLAYSONG, 0, 1, 0);
return 2; // don't reload playlist at startup
}
}
@@ -350,15 +350,16 @@ player_mainloop (void) {
break;
case M_TERMINATE:
return;
-// case M_SONGCHANGED:
-// plug_trigger_event_trackchange (p1, p2);
-// break;
case M_PLAYSONG:
- streamer_play_current_track ();
+ if (p1) {
+ p_stop ();
+ pl_playqueue_clear ();
+ streamer_set_nextsong (0, 1);
+ }
+ else {
+ streamer_play_current_track ();
+ }
break;
-// case M_TRACKCHANGED:
-// plug_trigger_event_trackinfochanged (p1);
-// break;
case M_PLAYSONGNUM:
p_stop ();
pl_playqueue_clear ();