From b7b66e10d0b0a638d58ef7bb6d481492a79f262c Mon Sep 17 00:00:00 2001 From: Miller Puckette <msp@ucsd.edu> Date: Wed, 15 Aug 2007 18:48:51 -0700 Subject: [PATCH] fixes for MSW --- msw/get-msw.sh | 6 ++-- src/m_sched.c | 9 ++++- src/makefile.nt | 85 +++++++++++++++++++++++----------------------- src/s_audio_mmio.c | 4 +-- src/s_stuff.h | 2 +- 5 files changed, 57 insertions(+), 49 deletions(-) diff --git a/msw/get-msw.sh b/msw/get-msw.sh index 30b4e24c7..8c56ec90d 100755 --- a/msw/get-msw.sh +++ b/msw/get-msw.sh @@ -1,8 +1,8 @@ #!/bin/tcsh -rm -rf image -mkdir image -cd image +rm -rf /tmp/image +mkdir /tmp/image +cd /tmp/image unzip -q /tmp/pdout.zip find . \( -name "*.lib" -o -name "*.exe" -o -name "*.dll" -o -name "*.obj" \ -o -name "*.exp" \) \ diff --git a/src/m_sched.c b/src/m_sched.c index 4f708ec8d..6f3dc3b15 100644 --- a/src/m_sched.c +++ b/src/m_sched.c @@ -7,6 +7,9 @@ #include "m_pd.h" #include "m_imp.h" #include "s_stuff.h" +#ifdef MSW +#include <windows.h> +#endif /* LATER consider making this variable. It's now the LCM of all sample rates we expect to see: 32000, 44100, 48000, 88200, 96000. */ @@ -529,7 +532,11 @@ static void m_callbackscheduler(void) sys_initmidiqueue(); while (1) { - sleep(1); +#ifdef MSW + Sleep(1000); +#else + sleep(1); +#endif if (sys_idlehook) sys_idlehook(); } diff --git a/src/makefile.nt b/src/makefile.nt index fc6248965..d60651cdc 100644 --- a/src/makefile.nt +++ b/src/makefile.nt @@ -38,19 +38,20 @@ SRC = g_canvas.c g_graph.c g_text.c g_rtext.c g_array.c g_template.c g_io.c \ $(SYSSRC) PADIR = ..\portaudio -INCPA = -I$(PADIR) -I$(PADIR)\pa_common -I$(PADIR)\pablio -I..\lib\asio -SRCPA = $(PADIR)/pa_common/pa_stream.c \ - $(PADIR)/pa_common/pa_trace.c \ - $(PADIR)/pa_common/pa_skeleton.c \ - $(PADIR)/pa_common/pa_process.c \ - $(PADIR)/pa_common/pa_front.c \ - $(PADIR)/pa_common/pa_dither.c \ - $(PADIR)/pa_common/pa_cpuload.c \ - $(PADIR)/pa_common/pa_converters.c \ - $(PADIR)/pa_common/pa_allocation.c \ - $(PADIR)/pa_win/pa_win_util.c \ - $(PADIR)/pa_win/pa_win_hostapis.c \ - $(PADIR)/pa_win_wmme/pa_win_wmme.c +INCPA = -I$(PADIR)\include -I$(PADIR)\src\common -I..\lib\asio +PASRC = $(PADIR)\src +SRCPA = $(PASRC)/common/pa_stream.c \ + $(PASRC)/common/pa_trace.c \ + $(PASRC)/common/pa_skeleton.c \ + $(PASRC)/common/pa_process.c \ + $(PASRC)/common/pa_front.c \ + $(PASRC)/common/pa_dither.c \ + $(PASRC)/common/pa_cpuload.c \ + $(PASRC)/common/pa_converters.c \ + $(PASRC)/common/pa_allocation.c \ + $(PASRC)/os/win/pa_win_hostapis.c \ + $(PASRC)/os/win/pa_win_util.c \ + $(PASRC)/hostapi/wmme/pa_win_wmme.c # $(PADIR)/pa_win_wdmks/pa_win_wdmks.c SRCASIO = $(PADIR)/pa_asio/pa_asio.cpp @@ -63,12 +64,12 @@ $(LDIR)\odbc32.lib $(LDIR)\odbccp32.lib ..\lib\asio\asiolib.lib PAOBJ = pa_stream.obj pa_trace.obj pa_skeleton.obj pa_process.obj \ pa_front.obj pa_dither.obj pa_cpuload.obj pa_converters.obj \ - pa_allocation.obj pa_win_util.obj pa_win_hostapis.obj pa_asio.obj \ + pa_allocation.obj pa_win_hostapis.obj pa_win_util.obj pa_asio.obj \ pa_win_wmme.obj # pa_win_wdmks.obj PMDIR = ..\portmidi -INCPM = -I$(PMDIR)\pm_common -I$(PMDIR)\pm_win -I$(PMDIR)\porttime +INCPM = -I$(PMDIR)\pm_common -I$(PMDIR)\pm_win -I$(PMDIR)\porttime -DNEWBUFFER SRCPM = $(PADIR)/pm_common/portmidi.c \ $(PMDIR)/pm_common/pmutil.c \ $(PMDIR)/porttime/porttime.c \ @@ -127,37 +128,37 @@ s_entry_com.obj: s_entry.c ..\bin\pd.lib $(LIB) $(ASIOLIB) # explicit rules to compile portaudio sources: -pa_stream.obj: $(PADIR)\pa_common\pa_stream.c - cl /c $(ALLCF) $(PADIR)\pa_common\pa_stream.c -pa_trace.obj: $(PADIR)\pa_common\pa_trace.c - cl /c $(ALLCF) $(PADIR)\pa_common\pa_trace.c -pa_skeleton.obj: $(PADIR)\pa_common\pa_skeleton.c - cl /c $(ALLCF) $(PADIR)\pa_common\pa_skeleton.c -pa_process.obj: $(PADIR)\pa_common\pa_process.c - cl /c $(ALLCF) $(PADIR)\pa_common\pa_process.c -pa_front.obj: $(PADIR)\pa_common\pa_front.c - cl /c $(ALLCF) $(PADIR)\pa_common\pa_front.c -pa_dither.obj: $(PADIR)\pa_common\pa_dither.c - cl /c $(ALLCF) $(PADIR)\pa_common\pa_dither.c -pa_cpuload.obj: $(PADIR)\pa_common\pa_cpuload.c - cl /c $(ALLCF) $(PADIR)\pa_common\pa_cpuload.c -pa_converters.obj: $(PADIR)\pa_common\pa_converters.c - cl /c $(ALLCF) $(PADIR)\pa_common\pa_converters.c -pa_allocation.obj: $(PADIR)\pa_common\pa_allocation.c - cl /c $(ALLCF) $(PADIR)\pa_common\pa_allocation.c - -pa_win_util.obj: $(PADIR)\pa_win\pa_win_util.c - cl /c $(ALLCF) $(PADIR)\pa_win\pa_win_util.c -pa_win_hostapis.obj: $(PADIR)\pa_win\pa_win_hostapis.c - cl /c $(ALLCF) $(PADIR)\pa_win\pa_win_hostapis.c -pa_win_wmme.obj: $(PADIR)\pa_win_wmme\pa_win_wmme.c - cl /c $(ALLCF) $(PADIR)\pa_win_wmme\pa_win_wmme.c +pa_stream.obj: $(PASRC)\common\pa_stream.c + cl /c $(ALLCF) $(PASRC)\common\pa_stream.c +pa_trace.obj: $(PASRC)\common\pa_trace.c + cl /c $(ALLCF) $(PASRC)\common\pa_trace.c +pa_skeleton.obj: $(PASRC)\common\pa_skeleton.c + cl /c $(ALLCF) $(PASRC)\common\pa_skeleton.c +pa_process.obj: $(PASRC)\common\pa_process.c + cl /c $(ALLCF) $(PASRC)\common\pa_process.c +pa_front.obj: $(PASRC)\common\pa_front.c + cl /c $(ALLCF) $(PASRC)\common\pa_front.c +pa_dither.obj: $(PASRC)\common\pa_dither.c + cl /c $(ALLCF) $(PASRC)\common\pa_dither.c +pa_cpuload.obj: $(PASRC)\common\pa_cpuload.c + cl /c $(ALLCF) $(PASRC)\common\pa_cpuload.c +pa_converters.obj: $(PASRC)\common\pa_converters.c + cl /c $(ALLCF) $(PASRC)\common\pa_converters.c +pa_allocation.obj: $(PASRC)\common\pa_allocation.c + cl /c $(ALLCF) $(PASRC)\common\pa_allocation.c + +pa_win_hostapis.obj: $(PASRC)\os\win\pa_win_hostapis.c + cl /c $(ALLCF) $(PASRC)\os\win\pa_win_hostapis.c +pa_win_util.obj: $(PASRC)\os\win\pa_win_util.c + cl /c $(ALLCF) $(PASRC)\os\win\pa_win_util.c +pa_win_wmme.obj: $(PASRC)\hostapi\wmme\pa_win_wmme.c + cl /c $(ALLCF) $(PASRC)\hostapi\wmme\pa_win_wmme.c pa_win_wdmks.obj: $(PADIR)\pa_win_wdmks\pa_win_wdmks.c cl /c $(ALLCF) \ -DWINVER=0x400 -DKSAUDIO_SPEAKER_DIRECTOUT \ $(PADIR)\pa_win_wdmks\pa_win_wdmks.c -pa_asio.obj: $(PADIR)\pa_asio\pa_asio.cpp - cl /c $(ALLCF) $(PADIR)\pa_asio\pa_asio.cpp +pa_asio.obj: $(PASRC)\hostapi\asio\pa_asio.cpp + cl /c $(ALLCF) $(PASRC)\hostapi\asio\pa_asio.cpp portmidi.obj: $(PMDIR)\pm_common\portmidi.c cl /c $(ALLCF) $(PMDIR)\pm_common\portmidi.c diff --git a/src/s_audio_mmio.c b/src/s_audio_mmio.c index a949767a3..cf79f1351 100644 --- a/src/s_audio_mmio.c +++ b/src/s_audio_mmio.c @@ -694,7 +694,7 @@ idle: /* ------------------- public routines -------------------------- */ -void mmio_open_audio(int naudioindev, int *audioindev, +int mmio_open_audio(int naudioindev, int *audioindev, int nchindev, int *chindev, int naudiooutdev, int *audiooutdev, int nchoutdev, int *choutdev, int rate) { @@ -724,7 +724,7 @@ void mmio_open_audio(int naudioindev, int *audioindev, (nt_nwaveout > 1 ? WAVE_MAPPER : -1) : audiooutdev[0]); if (naudiooutdev > 1 || naudioindev > 1) post("separate audio device choice not supported; using sequential devices."); - mmio_do_open_audio(); + return (mmio_do_open_audio()); } diff --git a/src/s_stuff.h b/src/s_stuff.h index 9abd5cd35..4cde9c426 100644 --- a/src/s_stuff.h +++ b/src/s_stuff.h @@ -251,7 +251,7 @@ void jack_getdevs(char *indevlist, int *nindevs, int maxndev, int devdescsize); void jack_listdevs(void); -void mmio_open_audio(int naudioindev, int *audioindev, +int mmio_open_audio(int naudioindev, int *audioindev, int nchindev, int *chindev, int naudiooutdev, int *audiooutdev, int nchoutdev, int *choutdev, int rate); void mmio_close_audio( void); -- GitLab