diff options
-rw-r--r-- | Makefile | 5 | ||||
-rw-r--r-- | audiosettings.c | 12 |
2 files changed, 14 insertions, 3 deletions
@@ -47,11 +47,10 @@ INSTALL = install INSTALL_FILE = $(INSTALL) -p -m 644 INSTALL_DIR = $(INSTALL) -p -m 755 -d -CFLAGS = -DPD -I$(PD_PATH)/src -I$(prefix)/include/pd -Wall -W -g +CFLAGS = -DPD -I$(PD_PATH)/src -I$(prefix)/include/pd -Wall -W -g -DHAVE_SYS_CLOSE_AUDIO LDFLAGS = LIBS = -ALLSOURCES := $(SOURCES) $(SOURCES_android) $(SOURCES_cygwin) $(SOURCES_macosx) \ - $(SOURCES_iphoneos) $(SOURCES_linux) $(SOURCES_windows) +ALLSOURCES := $(SOURCES) UNAME := $(shell uname -s) ifeq ($(UNAME),Darwin) diff --git a/audiosettings.c b/audiosettings.c index 416c59b..e972e92 100644 --- a/audiosettings.c +++ b/audiosettings.c @@ -566,8 +566,20 @@ static void audiosettings_setdriver(t_audiosettings *x, t_symbol*s, int argc, t_ return; } verbose(1, "setting driver '%s' (=%d)", s->s_name, id); +#ifdef HAVE_SYS_CLOSE_AUDIO + sys_close_audio(); sys_set_audio_api(id); sys_reopen_audio(); +#else + if (s_pdsym->s_thing) { + t_atom ap[1]; + SETFLOAT(ap, id); + typedmess(s_pdsym->s_thing, + gensym("audio-setapi"), + 1, + ap); + } +#endif } static void audiosettings_bang(t_audiosettings *x) { |