On Dec 1, 2007, at 5:42 PM, Patrice Colet wrote:
Martin Peach a écrit :
Patrice Colet wrote:
Hans-Christoph Steiner a écrit :
That stuff wasn't removed from Pd, but instead never made it into Miller's sources. If you get this running smoothly, then I think it is likely to be included by Miller. The big thing to do would be to make the ./configure && make work on Cygwin, then we'll have a unified build system on all platforms.
One tip, when posting changes to code, you should post a "diff - uw", otherwise it's hard to tell what you have changed. I don't think anyone here has s_midi.c memorized, but I could be wrong ;).
Post the errors that you were getting before adding s_stuff.h and that will be easier to troubleshoot.
Okay, let's start with these diff (I might have reversed the new and the old file, sorry for that, also I'll make separated diff files when make will run smoothly) and after that, there is my last error message (I didn't go further because s_inter.c seems linked to s_midi.c by the sys_close_midi() function, and I don't get how to deal with it) :
$ diff -uw d_osc.c d_osc.c.old --- d_osc.c 2007-12-01 06:02:38.218750000 +0100 +++ d_osc.c.old 2007-01-19 07:37:56.000000000 +0100
Yes that's a backwards diff...
s_inter.o: dans la fonction << sys_bail >>: /home/pat/pdextended/pd-extended/pd-extended/pd/src/s_inter.c: 1276: r'ef'erence ind'efinie vers << _sys_close_midi >>
sys_close_midi has several incarnations but you must choose one. The MSW version uses portmidi, so if you can build portmidi then use s_midi_pm.c by specifying it in the makefile.
I've just modified configure.in by adding those lines:
if test `uname -s` == CYGWIN_NT-5.1; then EXT=dll MORECFLAGS="-DUSEAPI_PORTAUDIO -DPA_LITTLE_ENDIAN -DPA19 \ -I../portaudio/pa_common -I../portaudio/pablio \ -I../portmidi/pm_common -I../portmidi/porttime \ -I../portmidi/pm_win -I../portmidi/pm_win_ds \ -mms-bitfields "$MORECFLAGS
PDLIB=$PDLIB" -lwsock32 -lwinmm -lole32 -lstdc++" SYSSRC="s_midi_pm.c \ s_audio_pa.c s_audio_pablio.c s_audio_paring.c \ ../portaudio/pa_common/pa_allocation.c \ ../portaudio/pa_common/pa_converters.c \ ../portaudio/pa_common/pa_cpuload.c \ ../portaudio/pa_common/pa_dither.c \ ../portaudio/pa_common/pa_front.c \ ../portaudio/pa_common/pa_process.c \ ../portaudio/pa_common/pa_skeleton.c \ ../portaudio/pa_common/pa_stream.c \ ../portaudio/pa_common/pa_trace.c \ ../portaudio/pa_win/pa_win_util.c \ ../portaudio/pa_win/pa_win_hostapis.c \ ../portaudio/pa_win_wmme/pa_win_wmme.c \ ../portaudio/pa_win_ds/pa_win_ds.c \ ../portmidi/pm_common/pmutil.c \ ../portmidi/pm_common/portmidi.c \ ../portmidi/pm_win/pmdll.c \ ../portmidi/pm_win/pmwin.c \ ../portmidi/pm_win/pmwinmm.c \ ../portmidi/porttime/ptwinmm.c" ASIOSRC="../portaudio/pa_asio/iasiothiscallresolver.cpp \ ../portaudio/pa_asio/pa_asio.cpp ../asio/asio.cpp \ ../asio/asiodrivers.cpp ../asio/asiolist.cpp" STRIPFLAG="--strip-unneeded" GUINAME="pdtcl.dll" GUIFLAGS=
fi
A "diff -uw" patch of this would be very helpful since it includes the line information and can be applied automatically.
And the problem I'm encountering right now could engage a big discussion, I hope the solution is simplier than the one I'm figuring out. The compiler needs DSound.h, so I have to download the complete directx SDK for having this header included, and then having possibility of using directsound in pd, once downloaded I would like to put this header file into the portaudio/pa_win_ds directory, what do you thing about this?
A lot of the DirectX headers are available under a free license from MinGW/WINE/Cygwin. I see dshow.h, dxerr8.h, and dxerr9.h on the WinXP auto-build machine. Perhaps it's just a matter of finding them and installing them? I think those headers should be installed in the system rather than included in the Pd/portaudio source.
One other thing that would be nice to address is the different Cygwin defines. CYGWIN_NT-5.1 is for WinXP, CYGWIN_NT-5.0 is for Windows 2000, and I am guessing CYGWIN_NT-6.0 is for Vista.
.hc
------------------------------------------------------------------------ ----