File jack-mingw.diff of Package mingw64-jack

--- jack-1.9.4/common/JackControlAPI.h
+++ jack-1.9.4/common/JackControlAPI.h
@@ -26,7 +26,7 @@
 #include "JackCompilerDeps.h"
 
 #ifdef WIN32
-#ifdef __MINGW32__
+#if defined(__MINGW32__) && !defined(__MINGW64_VERSION_MAJOR)
 #include <sys/types.h>
 #else
 typedef HANDLE sigset_t;
--- jack-1.9.4/common/JackPort.h
+++ jack-1.9.4/common/JackPort.h
@@ -101,7 +101,7 @@
         // Since we are in shared memory, the resulting pointer cannot be cached, so align it here...
         float* GetBuffer()
         {
-            return (float*)((long)fBuffer & ~15L) + 4;
+            return (float*)((size_t)fBuffer & ~15L) + 4;
         }
 
         int GetRefNum() const;
--- jack-1.9.4/common/JackLibGlobals.h
+++ jack-1.9.4/common/JackLibGlobals.h
@@ -29,6 +29,7 @@
 #include "JackTime.h"
 #include "JackClient.h"
 #include "JackError.h"
+#include "JackControlAPI.h"
 #include <assert.h>
 #include <signal.h>
 
dummy
--- jack-1.9.4/common/JackConstants.h
+++ jack-1.9.4/common/JackConstants.h
@@ -60,7 +60,7 @@
 #ifdef WIN32
 #define jack_server_dir "server"
 #define jack_client_dir "client"
-#define ADDON_DIR "jack"
+#define ADDON_DIR "lib\\jack"
 #endif
 
 #ifdef __APPLE__
--- jack-1.9.4/windows/portaudio/JackPortAudioDevices.cpp
+++ jack-1.9.4/windows/portaudio/JackPortAudioDevices.cpp
@@ -239,7 +239,7 @@
         jack_info ( "Max inputs                  = %d", fDeviceInfo[id]->maxInputChannels );
         jack_info ( "Max outputs                 = %d", fDeviceInfo[id]->maxOutputChannels );
 
-#ifdef WIN32
+#ifdef WIN32_notdefined /* We haven't built portaudio with the ASIO backend */
         /* ASIO specific latency information */
         if ( Pa_GetHostApiInfo(fDeviceInfo[id]->hostApi)->type == paASIO )
         {
--- jack-1.9.4/windows/winmme/JackWinMMEDriver.cpp
+++ jack-1.9.4/windows/winmme/JackWinMMEDriver.cpp
@@ -121,7 +121,7 @@
 
         HMIDIIN handle;
         fMidiDestination[devindex].fIndex = i;
-        MMRESULT ret = midiInOpen(&handle, fMidiDestination[devindex].fIndex, (DWORD)MidiInProc, (DWORD)fRingBuffer[devindex], CALLBACK_FUNCTION);
+        MMRESULT ret = midiInOpen(&handle, fMidiDestination[devindex].fIndex, (DWORD_PTR)MidiInProc, (DWORD_PTR)fRingBuffer[devindex], CALLBACK_FUNCTION);
 
         if (ret == MMSYSERR_NOERROR) {
             fMidiDestination[devindex].fHandle = handle;
--- /dev/null
+++ jack-1.9.4/Makefile
@@ -0,0 +1,305 @@
+# Simple manually written Makefile to build jack for Windows
+# No IDE, no Python-based thingies, no autofoo, no libtool. Just straight commands
+
+VPATH = common:windows
+
+all: \
+  libjackserver.dll \
+  libjack.dll \
+  jack_audioadapter.dll \
+  jack_dummy.dll \
+  jack_netadapter.dll \
+  jack_netmanager.dll \
+  jack_portaudio.dll \
+  jack_winmme.dll \
+  jackd.exe \
+  jack_connect.exe \
+  jack_disconnect.exe \
+  jack_load.exe \
+  jack_lsp.exe \
+  jack_metro.exe \
+  jack_test.exe \
+  jack_unload.exe
+
+INCLUDES = -Icommon -Icommon/jack -Iwindows -Iwindows/portaudio
+
+DEFINES = -DWIN32 -DNDEBUG -D_WINDOWS -D_MBCS -DREGEX_MALLOC -DSTDC_HEADERS
+
+# Just link all binaries with all the import libs.
+# The PE format won't actually refer to DLLs from which
+# nothing is imported anyway.
+
+LIBS = `pkg-config --libs samplerate portaudio-2.0` -lws2_32
+
+LIBJACKSERVER_SOURCES = \
+  common/JackAPI.cpp \
+  common/JackActivationCount.cpp \
+  common/JackArgParser.cpp \
+  common/JackAudioDriver.cpp \
+  common/JackAudioPort.cpp \
+  common/JackClient.cpp \
+  common/JackConnectionManager.cpp \
+  common/JackControlAPI.cpp \
+  common/JackDriver.cpp \
+  common/JackDriverLoader.cpp \
+  common/JackEngine.cpp \
+  common/JackEngineControl.cpp \
+  common/JackError.cpp \
+  common/JackExternalClient.cpp \
+  common/JackFrameTimer.cpp \
+  common/JackFreewheelDriver.cpp \
+  common/JackGlobals.cpp \
+  common/JackGraphManager.cpp \
+  common/JackInternalClient.cpp \
+  common/JackLoopbackDriver.cpp \
+  common/JackMessageBuffer.cpp \
+  common/JackMidiAPI.cpp \
+  common/JackMidiDriver.cpp \
+  common/JackMidiPort.cpp \
+  common/JackNetInterface.cpp \
+  common/JackNetTool.cpp \
+  common/JackPort.cpp \
+  common/JackPortType.cpp \
+  common/JackRestartThreadedDriver.cpp \
+  common/JackServer.cpp \
+  common/JackServerAPI.cpp \
+  common/JackServerGlobals.cpp \
+  common/JackShmMem.cpp \
+  common/JackThreadedDriver.cpp \
+  common/JackTools.cpp \
+  common/JackTransportEngine.cpp \
+  common/JackWaitThreadedDriver.cpp \
+  windows/JackNetWinSocket.cpp \
+  windows/JackWinNamedPipe.cpp \
+  windows/JackWinNamedPipeClientChannel.cpp \
+  windows/JackWinNamedPipeNotifyChannel.cpp \
+  windows/JackWinNamedPipeServerChannel.cpp \
+  windows/JackWinNamedPipeServerNotifyChannel.cpp \
+  windows/JackWinProcessSync.cpp \
+  windows/JackWinSemaphore.cpp \
+  windows/JackWinThread.cpp \
+
+LIBJACKSERVER_OBJECTS = \
+  getopt.o \
+  getopt1.o \
+  regex.o \
+  ringbuffer.o \
+  shm.o \
+  JackWinTime.server.o \
+  libjackserver.res.o
+
+LIBJACK_SOURCES = \
+  common/JackActivationCount.cpp \
+  common/JackAPI.cpp \
+  common/JackAudioPort.cpp \
+  common/JackClient.cpp \
+  common/JackConnectionManager.cpp \
+  common/JackEngineControl.cpp \
+  common/JackError.cpp \
+  common/JackFrameTimer.cpp \
+  common/JackGlobals.cpp \
+  common/JackGraphManager.cpp \
+  common/JackLibAPI.cpp \
+  common/JackLibClient.cpp \
+  common/JackMessageBuffer.cpp \
+  common/JackMidiAPI.cpp \
+  common/JackMidiPort.cpp \
+  common/JackPort.cpp \
+  common/JackPortType.cpp \
+  common/JackShmMem.cpp \
+  common/JackTools.cpp \
+  common/JackTransportEngine.cpp \
+  windows/JackWinNamedPipe.cpp \
+  windows/JackWinNamedPipeClientChannel.cpp \
+  windows/JackWinProcessSync.cpp \
+  windows/JackWinSemaphore.cpp \
+  windows/JackWinServerLaunch.cpp \
+  windows/JackWinThread.cpp
+
+LIBJACK_OBJECTS = \
+  regex.o \
+  shm.o \
+  JackWinTime.o \
+  libjack.res.o
+
+JACK_AUDIOADAPTER_SOURCES = \
+  common/JackAudioAdapter.cpp \
+  common/JackAudioAdapterFactory.cpp \
+  common/JackAudioAdapterInterface.cpp \
+  common/JackLibSampleRateResampler.cpp \
+  common/JackResampler.cpp \
+  windows/portaudio/JackPortAudioAdapter.cpp \
+  windows/portaudio/JackPortAudioDevices.cpp \
+
+JACK_AUDIOADAPTER_OBJECTS = \
+  jackaudioadapter.res.o
+
+JACK_DUMMY_SOURCES = \
+  common/JackDummyDriver.cpp
+
+JACK_NETADAPTER_SOURCES = \
+  common/JackAudioAdapter.cpp \
+  common/JackAudioAdapterInterface.cpp \
+  common/JackLibSampleRateResampler.cpp \
+  common/JackNetAdapter.cpp \
+  common/JackResampler.cpp
+
+JACK_NETADAPTER_OBJECTS = \
+  jacknetadapter.res.o
+
+JACK_NETMANAGER_SOURCES = \
+  common/JackNetManager.cpp
+
+JACK_NETMANAGER_OBJECTS = \
+  jacknetmanager.res.o
+
+JACK_PORTAUDIO_SOURCES = \
+  windows/portaudio/JackPortAudioDevices.cpp \
+  windows/portaudio/JackPortAudioDriver.cpp
+
+JACK_PORTAUDIO_OBJECTS = \
+  jackportaudio.res.o
+
+JACK_WINMME_SOURCES = \
+  windows/winmme/JackWinMMEDriver.cpp
+
+JACK_WINMME_OBJECTS = \
+  jackwinmme.res.o
+
+JACKD_SOURCES = \
+  common/Jackdmp.cpp
+
+JACKD_OBJECTS = \
+  getopt.o \
+  getopt1.o
+
+JACK_CONNECT_SOURCES = \
+  windows/getopt.c \
+  windows/getopt1.c \
+  example-clients/connect.c
+
+JACK_UNLOAD_SOURCES = \
+  example-clients/ipunload.c
+
+JACK_LOAD_SOURCES = \
+  example-clients/ipload.c
+
+JACK_LSP_SOURCES = \
+  example-clients/lsp.c
+
+JACK_METRO_SOURCES = \
+  example-clients/metro.c
+
+JACK_TEST_SOURCES = \
+  tests/test.cpp
+
+libjackserver.dll: $(LIBJACKSERVER_SOURCES) $(LIBJACKSERVER_OBJECTS)
+	$(CXX) $(CXXFLAGS) $(INCLUDES) $(DEFINES) \
+	  -DLIBJACKDMP_EXPORTS -DSERVER_SIDE \
+	  -shared -o $@ -Wl,--out-implib=libjackserver.dll.a \
+	  $(LIBJACKSERVER_SOURCES) $(LIBJACKSERVER_OBJECTS) \
+	  $(LIBS) -lstdc++
+
+libjack.dll: $(LIBJACK_SOURCES) $(LIBJACK_OBJECTS)
+	$(CXX) $(CXXFLAGS) $(INCLUDES) $(DEFINES) \
+	  -DLIBJACKMP_EXPORTS \
+	  -shared -o $@ -Wl,--out-implib=libjack.dll.a \
+	  $(LIBJACK_SOURCES) $(LIBJACK_OBJECTS) \
+	  $(LIBS) -lstdc++
+
+jack_audioadapter.dll: $(JACK_AUDIOADAPTER_SOURCES) $(JACK_AUDIOADAPTER_OBJECTS) libjackserver.dll
+	$(CXX) $(CXXFLAGS) $(INCLUDES) $(DEFINES) \
+	  -DBUILD_DLL -DSERVER_SIDE \
+	  -shared -o $@ \
+	  $(JACK_AUDIOADAPTER_SOURCES) $(JACK_AUDIOADAPTER_OBJECTS) libjackserver.dll.a  \
+	  $(LIBS) -lstdc++
+
+jack_dummy.dll: $(JACK_DUMMY_SOURCES) libjackserver.dll
+	$(CXX) $(CXXFLAGS) $(INCLUDES) $(DEFINES) \
+	  -DBUILD_DLL -DSERVER_SIDE \
+	  -shared -o $@ \
+	  $(JACK_DUMMY_SOURCES) libjackserver.dll.a  \
+	  $(LIBS) -lstdc++
+
+jack_netadapter.dll: $(JACK_NETADAPTER_SOURCES) $(JACK_NETADAPTER_OBJECTS) libjackserver.dll
+	$(CXX) $(CXXFLAGS) $(INCLUDES) $(DEFINES) \
+	  -DBUILD_DLL -DSERVER_SIDE \
+	  -shared -o $@ \
+	  $(JACK_NETADAPTER_SOURCES) $(JACK_NETADAPTER_OBJECTS) libjackserver.dll.a  \
+	  $(LIBS) -lstdc++
+
+jack_netmanager.dll: $(JACK_NETMANAGER_SOURCES) $(JACK_NETMANAGER_OBJECTS) libjackserver.dll
+	$(CXX) $(CXXFLAGS) $(INCLUDES) $(DEFINES) \
+	  -DSERVER_SIDE \
+	  -shared -o $@ \
+	  $(JACK_NETMANAGER_SOURCES) $(JACK_NETMANAGER_OBJECTS) libjackserver.dll.a \
+	  $(LIBS) -lstdc++
+
+jack_portaudio.dll: $(JACK_PORTAUDIO_SOURCES) $(JACK_PORTAUDIO_OBJECTS) libjackserver.dll
+	$(CXX) $(CXXFLAGS) $(INCLUDES) $(DEFINES) \
+	  -D_USRDLL -DJACK_PORTAUDIO_EXPORTS -DSERVER_SIDE \
+	  -shared -o $@ \
+	  $(JACK_PORTAUDIO_SOURCES) $(JACK_PORTAUDIO_OBJECTS) libjackserver.dll.a \
+	  $(LIBS) -lstdc++
+
+jack_winmme.dll: $(JACK_WINMME_SOURCES) $(JACK_WINMME_OBJECTS) libjackserver.dll
+	$(CXX) $(CXXFLAGS) $(INCLUDES) $(DEFINES) \
+	  -D_USRDLL -DSERVER_SIDE \
+	  -shared -o $@ \
+	  $(JACK_WINMME_SOURCES) $(JACK_WINMME_OBJECTS) libjackserver.dll.a \
+	  $(LIBS) -lstdc++
+
+jackd.exe: $(JACKD_SOURCES) $(JACKD_OBJECTS) libjackserver.dll
+	$(CXX) $(CXXFLAGS) $(INCLUDES) $(DEFINES) \
+	  -D_CONSOLE \
+	  -o $@ \
+	  $(JACKD_SOURCES) $(JACKD_OBJECTS) libjackserver.dll.a \
+	  $(LIBS) -lstdc++
+
+jack_connect.exe: $(JACK_CONNECT_SOURCES) libjack.dll
+	$(CC) $(CFLAGS) $(INCLUDES) $(DEFINES) \
+	  -o $@ \
+	  $(JACK_CONNECT_SOURCES) libjack.dll.a \
+	  $(LIBS)
+
+jack_disconnect.exe: jack_connect.exe
+	cp $^ $@
+
+jack_load.exe: $(JACK_LOAD_SOURCES) libjack.dll
+	$(CC) $(CFLAGS) $(INCLUDES) $(DEFINES) \
+	  -o $@ \
+	  $(JACK_LOAD_SOURCES) libjack.dll.a \
+	  $(LIBS)
+
+jack_lsp.exe: $(JACK_LSP_SOURCES) libjack.dll
+	$(CC) $(CFLAGS) $(INCLUDES) $(DEFINES) \
+	  -o $@ \
+	  $(JACK_LSP_SOURCES) libjack.dll.a \
+	  $(LIBS)
+
+jack_metro.exe: $(JACK_METRO_SOURCES) libjack.dll
+	$(CC) $(CFLAGS) $(INCLUDES) $(DEFINES) \
+	  -o $@ \
+	  $(JACK_METRO_SOURCES) libjack.dll.a \
+	  $(LIBS)
+
+jack_test.exe: $(JACK_TEST_SOURCES) libjack.dll
+	$(CXX) $(CXXFLAGS) $(INCLUDES) $(DEFINES) \
+	  -o $@ \
+	  $(JACK_TEST_SOURCES) libjack.dll.a \
+	  $(LIBS) -lstdc++
+
+jack_unload.exe: $(JACK_UNLOAD_SOURCES) libjack.dll
+	$(CC) $(CFLAGS) $(INCLUDES) $(DEFINES) \
+	  -o $@ \
+	  $(JACK_UNLOAD_SOURCES) libjack.dll.a \
+	  $(LIBS)
+
+%.res.o: %.rc
+	$(WINDRES) $^ $@
+
+%.server.o: %.c
+	$(CC) $(CFLAGS) $(INCLUDES) $(DEFINES) -DSERVER_SIDE -c $^ -o $@
+
+%.o: %.c
+	$(CC) $(CFLAGS) $(INCLUDES) $(DEFINES) -c $^ -o $@
openSUSE Build Service is sponsored by