jackdbus/windows
sletz f58e9abb51 John Emmas Cygwin cleanup patch.
git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@4582 0c269be4-1314-0410-8aa9-9f06e86f4224
2011-11-09 17:18:53 +00:00
..
JackRouter Add missing jack_client_get_uuid API. 2011-11-03 08:44:02 +00:00
Release/bin Update Windows binaries and installers. 2011-10-27 15:48:32 +00:00
Release64/bin Update Windows binaries and installers. 2011-10-27 15:48:32 +00:00
Setup Memory locking now working on Windows. 2011-11-07 15:54:23 +00:00
portaudio Cleanup. 2011-11-07 11:10:12 +00:00
winmme Compiles on Windows again. 2011-08-26 16:40:47 +00:00
JackAtomic_os.h
JackCompilerDeps_os.h John Emmas POST_PACKED_STRUCTURE patch. 2011-10-28 09:33:24 +00:00
JackMMCSS.cpp More debug code in JackMMCSS class. 2011-07-06 16:40:03 +00:00
JackMMCSS.h Use of MMCSS API. 2011-05-03 13:21:19 +00:00
JackNetWinSocket.cpp Cleanup. 2011-11-07 11:10:12 +00:00
JackNetWinSocket.h Cleanup. 2011-11-07 11:10:12 +00:00
JackPlatformPlug_os.h Fix in Windows specific code. 2011-11-08 10:05:32 +00:00
JackShmMem_os.h Memory locking now working on Windows. 2011-11-07 15:54:23 +00:00
JackSystemDeps_os.h John Emmas Cygwin cleanup patch. 2011-11-09 17:18:53 +00:00
JackTypes_os.h rebase from trunk 4083:4180 2011-03-11 14:11:10 +00:00
JackWinEvent.cpp
JackWinEvent.h
JackWinMutex.h Compiles on Windows again. 2011-08-26 16:40:47 +00:00
JackWinNamedPipe.cpp
JackWinNamedPipe.h
JackWinNamedPipeClientChannel.cpp Move session command reply array creation to JackSessionNotifyResult 2011-08-07 04:21:58 +03:00
JackWinNamedPipeClientChannel.h Possible fix for http://trac.jackaudio.org/ticket/193. 2011-07-23 12:11:29 +02:00
JackWinNamedPipeNotifyChannel.cpp
JackWinNamedPipeNotifyChannel.h
JackWinNamedPipeServerChannel.cpp Correct Start/Stop for Control API. 2011-08-31 09:34:38 +00:00
JackWinNamedPipeServerChannel.h Correct Start/Stop for Control API. 2011-08-31 09:34:38 +00:00
JackWinNamedPipeServerNotifyChannel.cpp
JackWinNamedPipeServerNotifyChannel.h
JackWinProcessSync.cpp rebase from trunk 4180:4238 2011-03-30 16:37:38 +00:00
JackWinProcessSync.h
JackWinSemaphore.cpp
JackWinSemaphore.h
JackWinServerLaunch.cpp John Emmas Cygwin cleanup patch. 2011-11-09 17:18:53 +00:00
JackWinThread.cpp More debug code in JackMMCSS class. 2011-07-06 16:40:03 +00:00
JackWinThread.h Cleanup. 2011-05-03 13:26:09 +00:00
JackWinTime.c
Psapi.Lib Correct multi server launch bug on Windows. 2011-10-28 14:02:59 +00:00
README
getopt.c
getopt.h
getopt1.c
jack_audioadapter.cbp Activate JACK_32_64 on Windows (pure 32 bits and mixed 32/64 bits targets). 2011-10-26 10:27:47 +00:00
jack_connect.cbp rebase from trunk 4238:4306 2011-04-15 09:39:09 +00:00
jack_connect.dsp
jack_disconnect.cbp rebase from trunk 4238:4306 2011-04-15 09:39:09 +00:00
jack_dummy.cbp Correct MinGW project options(2). 2011-11-08 14:35:14 +00:00
jack_freeverb.dsp
jack_latent_client.cbp rebase from trunk 4238:4306 2011-04-15 09:39:09 +00:00
jack_load.cbp rebase from trunk 4238:4306 2011-04-15 09:39:09 +00:00
jack_load.dsp
jack_loopback.cbp Activate JACK_32_64 on Windows (pure 32 bits and mixed 32/64 bits targets). 2011-10-26 10:27:47 +00:00
jack_lsp.cbp rebase from trunk 4238:4306 2011-04-15 09:39:09 +00:00
jack_lsp.dsp
jack_metro.cbp rebase from trunk 4238:4306 2011-04-15 09:39:09 +00:00
jack_metro.dsp
jack_midi_dump.cbp Merge branch 'newer-midi' 2011-04-21 08:12:03 +00:00
jack_midi_latency_test.cbp Merge branch 'newer-midi' 2011-04-21 08:12:03 +00:00
jack_netadapter.cbp Activate JACK_32_64 on Windows (pure 32 bits and mixed 32/64 bits targets). 2011-10-26 10:27:47 +00:00
jack_netdriver.cbp Correct MinGW project options(2). 2011-11-08 14:35:14 +00:00
jack_netdriver.dsp
jack_netmanager.cbp Activate JACK_32_64 on Windows (pure 32 bits and mixed 32/64 bits targets). 2011-10-26 10:27:47 +00:00
jack_netmanager.dsp
jack_netonedriver.cbp Correct MinGW project options(2). 2011-11-08 14:35:14 +00:00
jack_netsource.cbp rebase from trunk 4238:4306 2011-04-15 09:39:09 +00:00
jack_portaudio.cbp Correct MinGW project options(2). 2011-11-08 14:35:14 +00:00
jack_portaudio.dsp
jack_simple_client.dsp
jack_test.cbp rebase from trunk 4238:4306 2011-04-15 09:39:09 +00:00
jack_test.dsp
jack_unload.cbp rebase from trunk 4238:4306 2011-04-15 09:39:09 +00:00
jack_unload.dsp
jack_winmme.cbp Activate JACK_32_64 on Windows (pure 32 bits and mixed 32/64 bits targets). 2011-10-26 10:27:47 +00:00
jackaudioadapter.rc rebase from trunk 4238:4306 2011-04-15 09:39:09 +00:00
jackd.cbp Correct MinGW project options. 2011-11-08 14:22:48 +00:00
jackd.rc rebase from trunk 4238:4306 2011-04-15 09:39:09 +00:00
jackd.workspace Correct MinGW project options. 2011-11-08 14:22:48 +00:00
jackdmp.dsp
jackdmp.dsw
jackdummydriver.rc rebase from trunk 4238:4306 2011-04-15 09:39:09 +00:00
jackloopbackdriver.rc rebase from trunk 4238:4306 2011-04-15 09:39:09 +00:00
jacknetadapter.rc rebase from trunk 4238:4306 2011-04-15 09:39:09 +00:00
jacknetdriver.rc rebase from trunk 4238:4306 2011-04-15 09:39:09 +00:00
jacknetmanager.rc rebase from trunk 4238:4306 2011-04-15 09:39:09 +00:00
jacknetonedriver.rc rebase from trunk 4238:4306 2011-04-15 09:39:09 +00:00
jackportaudio.rc rebase from trunk 4238:4306 2011-04-15 09:39:09 +00:00
jackwinmme.rc rebase from trunk 4238:4306 2011-04-15 09:39:09 +00:00
jdelay.dsp
libjack.cbp Correct multi server launch bug on Windows. 2011-10-28 14:02:59 +00:00
libjack.rc rebase from trunk 4238:4306 2011-04-15 09:39:09 +00:00
libjackmp.dsp
libjacknet.cbp Activate JACK_32_64 on Windows (pure 32 bits and mixed 32/64 bits targets). 2011-10-26 08:06:03 +00:00
libjacknet.rc Update libjacknet Windows project. 2011-04-19 10:49:06 +00:00
libjackserver.cbp Correct MinGW project options(2). 2011-11-08 14:35:14 +00:00
libjackserver.rc rebase from trunk 4238:4306 2011-04-15 09:39:09 +00:00
libjackservermp.dsp
multiple_metro.cbp rebase from trunk 4238:4306 2011-04-15 09:39:09 +00:00
resource.h
resource.rc rebase from trunk 4238:4306 2011-04-15 09:39:09 +00:00
resource_vc.h
samplerate.h
testSynchoServerClient.dsp
testSynchroClient.dsp
testSynchroServer.dsp

README

-------------------------------
JACK2 on Windows
-------------------------------

This folder contains all the windows specific sources.
You will also find two sets of files :
- VisualC++6 workspace and project files, in order to compile JACK with MSVC
- Code::Blocks (8.02) workspace and project files, in order to compile JACK with MingW

The built binaries will be located in '/Release/bin' (or '/Debug/bin' if you build the Debug target). Once compiled, you'll find there everything you need :
- the two 'libjackmp.dll' and 'libjackservermp.dll', client and server jack libraries
- the 'jackdmp.exe', main application : the JACK server
- the 'jack_xxx.exe' utilities and examples
- in the jackmp directory, you'll find the driver's DLL's ('jack_portaudio.dll' and 'jack_netdriver.dll') and some tools ('netmanager.dll', 'audioadapter.dll', 'netadapter.dll' for example)

In Code::Blocks all the projects are automatically built in a correct order (dll's then apps) by doing 'build->build workspace'.
In VC6, you'll have to build the projects one by one.

The needed regexp library TRE can be found here http://laurikari.net/tre/. Unzip and place the "tre-0.8.0" folder into the "windows" folder. 
Then edit and comment "#define snprintf sprintf_s" at the end off the "tre-0.8.0/win32/config.h" file before building the JACK project.

-------------------------------
Notes about VC and GCC versions
-------------------------------

The Visual Studio workspace is limited to VC6. JACK will not compile on most recent MSVC's. The fact is recent compilers (MSVC7, 8 or 9) don't agree with some of the JACK sources.
But now you can compile JACK using GCC, with MingW.
The project is actually organized in a Code::Blocks workspace. This is a simple and efficient way to compile the whole project.

But for some reasons, you need to compile JACK using a SJLJ version of G++ (available on MingW website).
Current GCC/G++ version (3.4.5) doesn't includes SJLJ so you'll have to use another one.
JACK needs the use of SJLJ exceptions instead of DW2 because exceptions are exchanged between DLL's, and DW2 does not allow to throw an exception out of a DLL, so it wouldn't be cought.

The ressources files has been created with ResEdit (ANSI build). VisualStudio uses 'ressource.rc' and 'ressource_vc.h'. The other files are used by MingW.

You can make a small installer ('setup.exe') with CreateInstallFree, a little freeware. For this you have the little script 'jack.ci'.The installer contains everything jack needs to be intagreted in windows (including register entries and shortcuts).
A binary version of qjackctl is also included.

-------------------------------
Running JACK on Windows
-------------------------------

You can use two drivers : PortAudio and NetDriver.
The PortAudio backend allow the use of many soundcards, using ASIO, DirectSound or WMME drivers (any ASIO driver can be seen by PortAudio).
The NetDriver allow you to use NetJack2 on windows. Thus you can easily exchange midi and audio streams bitween computers (Linux, MacOSX or Windows).
In both cases, you have to use the minimalist :
    'jackd -R -d ...' command. With PortAudio, you can have a list of supported drivers with :
    'jackd -R -S -d portaudio -l'

Other options still stay the same.
You can also pick a binary of Qjackctl, but this is still in development.

-------------------------------
Running Jack on windows
-------------------------------

More information at : 'http://www.grame.fr/~letz/jackdmp.html'.

For any question or suggestion, you can refer to the mailing list 'jack-devel@jackaudio.org'
Enjoy JACK on windows... ;-)