diff --git a/src/configure.in b/src/configure.in index 2aa54d0b5ed72e6f796ee3bbaa3d54bec61ae9c5..bc5d5f7b87513685a77c8f94a0b2ab4d72d0f6fb 100644 --- a/src/configure.in +++ b/src/configure.in @@ -101,10 +101,6 @@ fi dnl look for tcl 8.x... do I really have to go through all this!? -if test x$tk != "xno"; then -GUISRC="t_main.c t_tkcmd.c" -fi - foundit=no if test $foundit = "no"; then @@ -171,6 +167,12 @@ AC_CHECK_LIB(tk85, main,, echo no tk library found; exit 1))))))) +if test x$tk != "xno"; then +GUISRC="t_main.c t_tkcmd.c" +else +GUISRC= +fi + if test `uname -s` = Linux; then dnl Ckecking for ALSA diff --git a/src/m_sched.c b/src/m_sched.c index 8801e285dd00acd4728aca8feb0ab2bf317c8647..a719574206c510b158a900a5659779f78845220a 100644 --- a/src/m_sched.c +++ b/src/m_sched.c @@ -28,7 +28,10 @@ int sys_schedblocksize = DEFDACBLKSIZE; int sys_usecsincelastsleep(void); int sys_sleepgrain; -int sched_reopenmeplease = 0; /* request from s_audio for deferred reopen */ +void sched_reopenmeplease(void) /* request from s_audio for deferred reopen */ +{ + sys_quit = SYS_QUIT_RESTART; +} typedef void (*t_clockmethod)(void *client); diff --git a/src/s_audio.c b/src/s_audio.c index ca8713c8b42336b583d1c26ada065891bea6f752..626c9f58d9157f4a64b20140faf5c8ea6089825a 100644 --- a/src/s_audio.c +++ b/src/s_audio.c @@ -68,7 +68,7 @@ static int audio_advance; static int audio_callback; void sched_audio_callbackfn(void); -extern int sched_reopenmeplease; +void sched_reopenmeplease(void); static int audio_isopen(void) { @@ -364,10 +364,11 @@ void sys_close_audio(void) mmio_close_audio(); else #endif - post("sys_close_audio: unknown API %d", sys_audioapi); + post("sys_close_audio: unknown API %d", sys_audioapiopened); sys_inchannels = sys_outchannels = 0; sys_audioapiopened = -1; sched_set_using_audio(SCHED_AUDIO_NONE); + audio_state = 0; } /* open audio using whatever parameters were last used */ @@ -432,6 +433,7 @@ void sys_reopen_audio( void) } else { + /* fprintf(stderr, "started w/callback %d\n", callback); */ audio_state = 1; sched_set_using_audio( (callback ? SCHED_AUDIO_CALLBACK : SCHED_AUDIO_POLL)); @@ -743,7 +745,7 @@ void glob_audio_dialog(t_pd *dummy, t_symbol *s, int argc, t_atom *argv) newrate, newadvance, (newcallback >= 0 ? newcallback : 0)); if (!audio_callback && !newcallback) sys_reopen_audio(); - else sched_reopenmeplease = 1; + else sched_reopenmeplease(); } void sys_listdevs(void ) @@ -820,7 +822,6 @@ void glob_audio_setapi(void *dummy, t_floatarg f) else if (audio_isopen()) { sys_close_audio(); - audio_state = 0; } } @@ -837,7 +838,6 @@ void sys_set_audio_state(int onoff) if (audio_isopen()) sys_close_audio(); } - audio_state = onoff; } void sys_get_audio_apis(char *buf)