X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=mixer.c;h=efa42b93efb9ce0cf6f277b0f117806845455a26;hp=ad674bf537e89c5d89bb0ebf946bfd14dad1a81a;hb=6bded356ec89b1344049ff702e6c6babaeccd439;hpb=7e611b37e41f0ec7ec6d3173b7e88ed5b9b3a276 diff --git a/mixer.c b/mixer.c index ad674bf5..efa42b93 100644 --- a/mixer.c +++ b/mixer.c @@ -1,6 +1,6 @@ /* Copyright (C) 1998 Andre Noll , see file COPYING. */ -/** \file mixer.c A volume fader and alarm clock for OSS. */ +/** \file mixer.c A volume fader and alarm clock. */ #include #include @@ -313,7 +313,6 @@ static int com_sleep(const struct mixer *m, struct mixer_handle *h) client_cmd("stop"); if (!fit || !fi_mood) /* nothing to do */ return 1; - change_afs_mode(fi_mood); for (;;) { time(&t1); if (wake_time_epoch <= t1 + fit) @@ -324,7 +323,11 @@ static int com_sleep(const struct mixer *m, struct mixer_handle *h) (delay % 3600) / 60); sleep(delay); } - client_cmd("play"); + change_afs_mode(fi_mood); + if (sleep_mood) /* currently playing */ + client_cmd("next"); + else /* currently stopped */ + client_cmd("play"); ret = fade(m, h, fiv, fit); PARA_INFO_LOG("fade complete, returning\n"); return ret; @@ -526,7 +529,7 @@ int main(int argc, char *argv[]) } if (ret < 0) goto close_mixer; - ret = (*(mixer_subcommand_handler_t *)(lls_user_data(cmd)))(m ,h); + ret = (*(mixer_subcommand_handler_t *)(lls_user_data(cmd)))(m, h); close_mixer: m->close(&h); free_sub_lpr: