jack2 codebase
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Cédric Schieli 8f6c3c6d1f Add JackProxyDriver 10 years ago
..
JackRouter Robin Gareus patch for Windows JackRouter. 10 years ago
Release/bin On Windows, change PortAudio and LibSamplerate libraries to static ones. 13 years ago
Release64/bin On Windows, change PortAudio and LibSamplerate libraries to static ones. 13 years ago
Setup Compiles again on Windows. 10 years ago
portaudio Compiles again on Windows. 10 years ago
winmme Some 'jack_info' messages moved to 'jack_log' messages on Windows. 10 years ago
JackAtomic_os.h Protect shared fSynchroTable access with a mutex. 12 years ago
JackCompilerDeps_os.h John Emmas patch for Windows. 12 years ago
JackMMCSS.cpp Compiles again on Windows. 10 years ago
JackMMCSS.h More flexible RT priority setup on Windows. 10 years ago
JackNetWinSocket.cpp Better time-out management in NetJack2. 13 years ago
JackNetWinSocket.h Cleanup. 13 years ago
JackPlatformPlug_os.h Audioadapter factory code moved back in JackAudioAdapterFactory.cpp file. 12 years ago
JackShmMem_os.h Cleanup. 13 years ago
JackSystemDeps_os.h John Emmas third auto-launch server on Windows patch. 13 years ago
JackTypes_os.h Delete some redundant macros and typedefs. 12 years ago
JackWinEvent.cpp Cleanup code using snprintf(2). 13 years ago
JackWinEvent.h Cleanup code using snprintf(2). 13 years ago
JackWinMutex.cpp Cleanup JackWinProcessSync and JackWinMutex. 13 years ago
JackWinMutex.h Works again on Windows. 13 years ago
JackWinNamedPipe.cpp Use a time-out in notification channel write function. 13 years ago
JackWinNamedPipe.h Use a time-out in notification channel write function. 13 years ago
JackWinNamedPipeClientChannel.cpp Tim Mayberry : fix for changes to JackClient::ShutDown in windows code. 11 years ago
JackWinNamedPipeClientChannel.h Better handling of shutdown state in client side. 12 years ago
JackWinNamedPipeNotifyChannel.cpp Fix lock management in JackEngine. 13 years ago
JackWinNamedPipeNotifyChannel.h Fix some file header to have library side code use LGPL. 15 years ago
JackWinNamedPipeServerChannel.cpp Move ClientKill in JackEngine class. 12 years ago
JackWinNamedPipeServerChannel.h Constant naming cleanup. 12 years ago
JackWinNamedPipeServerNotifyChannel.cpp More precise debug messages. 13 years ago
JackWinNamedPipeServerNotifyChannel.h Fix some file header to have library side code use LGPL. 15 years ago
JackWinProcessSync.cpp Try more robust synchronization primitives in JackWinProcessSync. 13 years ago
JackWinProcessSync.h Cleanup. 13 years ago
JackWinSemaphore.cpp Move SYNC_MAX_NAME_SIZE in JackConstants.h, correct synchro primitives BuildName method. 12 years ago
JackWinSemaphore.h Cleanup code using snprintf(2). 13 years ago
JackWinServerLaunch.cpp Improve port alias management in Windows JackRouter. 13 years ago
JackWinThread.cpp More flexible RT priority setup on Windows. 10 years ago
JackWinThread.h Cleanup. 14 years ago
JackWinTime.c Some 'jack_info' messages moved to 'jack_log' messages on Windows. 10 years ago
Psapi.Lib Correct multi server launch bug on Windows. 13 years ago
README Remove old resource file. 13 years ago
getopt.c First import 18 years ago
getopt.h Cleanup, documentation. 17 years ago
getopt1.c Merge windows branch back to trunk. 17 years ago
jack_audioadapter.cbp Remove JACK_32_64 flag, so POST_PACKED_STRUCTURE now always used. 13 years ago
jack_connect.cbp Correct jack_connect.cbp. 13 years ago
jack_disconnect.cbp Change intermediate compilation names on Windows. 14 years ago
jack_dummy.cbp Remove JACK_32_64 flag, so POST_PACKED_STRUCTURE now always used. 13 years ago
jack_latent_client.cbp Correct jack_latent_client.cbp. 13 years ago
jack_load.cbp Change intermediate compilation names on Windows. 14 years ago
jack_loopback.cbp Remove JACK_32_64 flag, so POST_PACKED_STRUCTURE now always used. 13 years ago
jack_lsp.cbp Correct linking issues. 14 years ago
jack_metro.cbp Change intermediate compilation names on Windows. 14 years ago
jack_midi_dump.cbp Compiles again on Windows. 10 years ago
jack_midi_latency_test.cbp Merge branch 'newer-midi' 14 years ago
jack_netadapter.cbp Remove JACK_32_64 flag, so POST_PACKED_STRUCTURE now always used. 13 years ago
jack_netdriver.cbp Remove JACK_32_64 flag, so POST_PACKED_STRUCTURE now always used. 13 years ago
jack_netmanager.cbp Remove JACK_32_64 flag, so POST_PACKED_STRUCTURE now always used. 13 years ago
jack_netonedriver.cbp Remove JACK_32_64 flag, so POST_PACKED_STRUCTURE now always used. 13 years ago
jack_netsource.cbp Compiles again on Windows. 13 years ago
jack_portaudio.cbp Add DHAVE_ASIO in jack_portaudio.cbp CB project. 11 years ago
jack_test.cbp Change intermediate compilation names on Windows. 14 years ago
jack_unload.cbp Correct debug targets on Windows, use jack_free in test.cpp. 13 years ago
jack_winmme.cbp Remove JACK_32_64 flag, so POST_PACKED_STRUCTURE now always used. 13 years ago
jackaudioadapter.rc Version 1.9.11 started. 10 years ago
jackd.cbp Compiles again on Windows. 13 years ago
jackd.rc Version 1.9.11 started. 10 years ago
jackd.workspace On Windows, change PortAudio and LibSamplerate libraries to static ones. 13 years ago
jackdummydriver.rc Version 1.9.11 started. 10 years ago
jackloopbackdriver.rc Version 1.9.11 started. 10 years ago
jacknetadapter.rc Version 1.9.11 started. 10 years ago
jacknetdriver.rc Version 1.9.11 started. 10 years ago
jacknetmanager.rc Version 1.9.11 started. 10 years ago
jacknetonedriver.rc Version 1.9.11 started. 10 years ago
jackportaudio.rc Version 1.9.11 started. 10 years ago
jackwinmme.rc Version 1.9.11 started. 10 years ago
libjack.cbp Remove JACK_32_64 flag, so POST_PACKED_STRUCTURE now always used. 13 years ago
libjack.rc Version 1.9.11 started. 10 years ago
libjacknet.cbp Compiles again on Windows. 10 years ago
libjacknet.rc Version 1.9.11 started. 10 years ago
libjackserver.cbp Remove JACK_32_64 flag, so POST_PACKED_STRUCTURE now always used. 13 years ago
libjackserver.rc Version 1.9.11 started. 10 years ago
multiple_metro.cbp Change intermediate compilation names on Windows. 14 years ago
resource.h Merge windows branch back to trunk. 17 years ago
resource_vc.h All Windows files switched to Unix line ending. 16 years ago
samplerate.h Merge windows branch back to trunk. 17 years ago
wscript Add JackProxyDriver 10 years ago

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 (10.05) 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 'libjack.dll' and 'libjackserver.dll', client and server jack libraries.
- the 'jackd.exe', main application : the JACK server
- the 'jack_xxx.exe' utilities and examples
- in the jack directory, you'll find the driver's DLL's ('jack_portaudio.dll', 'jack_dummy.dll', 'jack_winmme.dll', 'jack_net.dll' and 'jack_netone.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' for 32 bits version and 'jack64.c' for mixed 64/32 bits version. The installer contains everything jack needs to be integrated 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 allows the use of many soundcards, using ASIO, DirectSound or WMME drivers (any ASIO driver can be seen by PortAudio).
The NetDriver allows you to use NetJack2 on windows. Thus you can easily exchange midi and audio streams between 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... ;-)