git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@4578 0c269be4-1314-0410-8aa9-9f06e86f4224tags/1.9.8
| @@ -38,7 +38,8 @@ John Emmas | |||||
| 2011-11-07 Stephane Letz <letz@grame.fr> | 2011-11-07 Stephane Letz <letz@grame.fr> | ||||
| * John Emmas auto-launch server on WIndows patch. | |||||
| * John Emmas first auto-launch server on Windows patch. | |||||
| * John Emmas second auto-launch server on Windows patch. | |||||
| 2011-11-06 Stephane Letz <letz@grame.fr> | 2011-11-06 Stephane Letz <letz@grame.fr> | ||||
| @@ -17,6 +17,10 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |||||
| */ | */ | ||||
| #if defined(__CYGWIN__) && !defined(CYGWIN_USE_PIPES) | |||||
| #undef WIN32 // Avoids "unqualified id" problem with std::max() etc | |||||
| #endif | |||||
| #include "JackDebugClient.h" | #include "JackDebugClient.h" | ||||
| #include "JackEngineControl.h" | #include "JackEngineControl.h" | ||||
| #include "JackException.h" | #include "JackException.h" | ||||
| @@ -333,7 +337,7 @@ int JackDebugClient::SetFreeWheel(int onoff) | |||||
| *fStream << "!!! ERROR !!! : Freewheel setup seems incorrect : set = ON while FW is already ON " << endl; | *fStream << "!!! ERROR !!! : Freewheel setup seems incorrect : set = ON while FW is already ON " << endl; | ||||
| if (!onoff && !fFreewheel) | if (!onoff && !fFreewheel) | ||||
| *fStream << "!!! ERROR !!! : Freewheel setup seems incorrect : set = OFF while FW is already OFF " << endl; | *fStream << "!!! ERROR !!! : Freewheel setup seems incorrect : set = OFF while FW is already OFF " << endl; | ||||
| fFreewheel = onoff; | |||||
| fFreewheel = onoff ? true : false; | |||||
| return fClient->SetFreeWheel(onoff); | return fClient->SetFreeWheel(onoff); | ||||
| } | } | ||||
| @@ -20,13 +20,14 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | |||||
| #ifndef __jack_systemdeps_h__ | #ifndef __jack_systemdeps_h__ | ||||
| #define __jack_systemdeps_h__ | #define __jack_systemdeps_h__ | ||||
| #ifdef WIN32 | |||||
| #if defined(WIN32) && !defined(__CYGWIN__) && !defined(GNU_WIN32) | |||||
| #include <windows.h> | #include <windows.h> | ||||
| #ifdef _MSC_VER /* Microsoft compiler */ | #ifdef _MSC_VER /* Microsoft compiler */ | ||||
| #define __inline__ inline | #define __inline__ inline | ||||
| #ifndef int8_t | |||||
| #if (!defined(int8_t) && !defined(_STDINT_H)) | |||||
| #define __int8_t_defined | |||||
| typedef char int8_t; | typedef char int8_t; | ||||
| typedef unsigned char uint8_t; | typedef unsigned char uint8_t; | ||||
| typedef short int16_t; | typedef short int16_t; | ||||
| @@ -36,28 +37,39 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | |||||
| typedef LONGLONG int64_t; | typedef LONGLONG int64_t; | ||||
| typedef ULONGLONG uint64_t; | typedef ULONGLONG uint64_t; | ||||
| #endif | #endif | ||||
| /** | |||||
| * to make jack API independent of different thread implementations, | |||||
| * we define jack_native_thread_t to HANDLE here. | |||||
| */ | |||||
| typedef HANDLE jack_native_thread_t; | |||||
| #elif __MINGW32__ /* MINGW */ | #elif __MINGW32__ /* MINGW */ | ||||
| #include <stdint.h> | #include <stdint.h> | ||||
| #include <sys/types.h> | #include <sys/types.h> | ||||
| #else /* other compilers ...*/ | |||||
| #include <inttypes.h> | |||||
| #include <pthread.h> | |||||
| #include <sys/types.h> | |||||
| #endif | |||||
| #if !defined(_PTHREAD_H) && !defined(PTHREAD_WIN32) | |||||
| /** | /** | ||||
| * to make jack API independent of different thread implementations, | * to make jack API independent of different thread implementations, | ||||
| * we define jack_native_thread_t to HANDLE here. | * we define jack_native_thread_t to HANDLE here. | ||||
| */ | */ | ||||
| typedef HANDLE jack_native_thread_t; | typedef HANDLE jack_native_thread_t; | ||||
| #else /* other compilers ...*/ | |||||
| #include <inttypes.h> | |||||
| #include <pthread.h> | |||||
| #include <sys/types.h> | |||||
| #else | |||||
| #ifdef PTHREAD_WIN32 // Added by JE - 10-10-2011 | |||||
| #include <ptw32/pthread.h> // Makes sure we #include the ptw32 version ! | |||||
| #endif | |||||
| /** | |||||
| * to make jack API independent of different thread implementations, | |||||
| * we define jack_native_thread_t to pthread_t here. | |||||
| */ | |||||
| typedef pthread_t jack_native_thread_t; | |||||
| #endif | #endif | ||||
| #endif /* WIN32 */ | |||||
| #endif // WIN32 && !__CYGWIN__ && !GNU_WIN32 */ | |||||
| #if defined(__APPLE__) || defined(__linux__) || defined(__sun__) || defined(sun) || defined(__unix__) | |||||
| #if defined(__APPLE__) || defined(__linux__) || defined(__sun__) || defined(sun) || defined(__unix__) || defined(__CYGWIN__) || defined(GNU_WIN32) | |||||
| #if defined(__CYGWIN__) || defined(GNU_WIN32) | |||||
| #include <stdint.h> | |||||
| #endif | |||||
| #include <inttypes.h> | #include <inttypes.h> | ||||
| #include <pthread.h> | #include <pthread.h> | ||||
| #include <sys/types.h> | #include <sys/types.h> | ||||
| @@ -13,11 +13,13 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||||
| GNU Lesser General Public License for more details. | GNU Lesser General Public License for more details. | ||||
| You should have received a copy of the GNU Lesser General Public License | You should have received a copy of the GNU Lesser General Public License | ||||
| along with this program; if not, write to the Free Software | |||||
| along with this program; if not, write to the Free Software | |||||
| Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||||
| */ | */ | ||||
| #if !defined(WIN32) || defined(__CYGWIN__) | |||||
| #include "JackConstants.h" | #include "JackConstants.h" | ||||
| #include "JackChannel.h" | #include "JackChannel.h" | ||||
| #include "JackLibGlobals.h" | #include "JackLibGlobals.h" | ||||
| @@ -116,8 +118,13 @@ static void start_server_classic_aux(const char* server_name) | |||||
| } | } | ||||
| if (!good) { | if (!good) { | ||||
| command = (char*)(JACK_LOCATION "/jackd"); | |||||
| strncpy(arguments, JACK_LOCATION "/jackd -T -d "JACK_DEFAULT_DRIVER, 255); | |||||
| #if defined(__CYGWIN__) | |||||
| command = (char*)("/usr/bin/jackd.exe"); | |||||
| strncpy(arguments, "jackd.exe -S -R -d JACK_DEFAULT_DRIVER", 255); | |||||
| #else | |||||
| command = (char*)("/usr/bin/jackd"); | |||||
| strncpy(arguments, "/jackd -R -d "JACK_DEFAULT_DRIVER, 255); | |||||
| #endif | |||||
| } else { | } else { | ||||
| result = strcspn(arguments, " "); | result = strcspn(arguments, " "); | ||||
| command = (char*)malloc(result + 1); | command = (char*)malloc(result + 1); | ||||
| @@ -209,6 +216,8 @@ static int server_connect(char* server_name) | |||||
| JackClientChannel channel; | JackClientChannel channel; | ||||
| int res = channel.ServerCheck(server_name); | int res = channel.ServerCheck(server_name); | ||||
| channel.Close(); | channel.Close(); | ||||
| JackSleep(2000); // Added by JE - 02-01-2009 (gives | |||||
| // the channel some time to close) | |||||
| return res; | return res; | ||||
| } | } | ||||
| @@ -236,3 +245,5 @@ int try_start_server(jack_varargs_t* va, jack_options_t options, jack_status_t* | |||||
| return 0; | return 0; | ||||
| } | } | ||||
| #endif // !WIN32 || __CYGWIN__ | |||||
| @@ -23,10 +23,13 @@ | |||||
| #define jack_server_dir "server" | #define jack_server_dir "server" | ||||
| #define jack_client_dir "client" | #define jack_client_dir "client" | ||||
| #define ADDON_DIR "jack" | |||||
| #define JACK_DEFAULT_DRIVER "portaudio" | #define JACK_DEFAULT_DRIVER "portaudio" | ||||
| #define JACK_LOCATION "C:\Program Files\Jack" | #define JACK_LOCATION "C:\Program Files\Jack" | ||||
| #ifndef ADDON_DIR | |||||
| #define ADDON_DIR "jack" | |||||
| #endif | |||||
| namespace Jack | namespace Jack | ||||
| { | { | ||||
| struct JackRequest; | struct JackRequest; | ||||
| @@ -1,42 +1,80 @@ | |||||
| /* | /* | ||||
| Copyright (C) 2004-2008 Grame | Copyright (C) 2004-2008 Grame | ||||
| This program is free software; you can redistribute it and/or modify | This program is free software; you can redistribute it and/or modify | ||||
| it under the terms of the GNU Lesser General Public License as published by | it under the terms of the GNU Lesser General Public License as published by | ||||
| the Free Software Foundation; either version 2.1 of the License, or | the Free Software Foundation; either version 2.1 of the License, or | ||||
| (at your option) any later version. | (at your option) any later version. | ||||
| This program is distributed in the hope that it will be useful, | This program is distributed in the hope that it will be useful, | ||||
| but WITHOUT ANY WARRANTY; without even the implied warranty of | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||||
| GNU Lesser General Public License for more details. | GNU Lesser General Public License for more details. | ||||
| You should have received a copy of the GNU Lesser General Public License | You should have received a copy of the GNU Lesser General Public License | ||||
| along with this program; if not, write to the Free Software | along with this program; if not, write to the Free Software | ||||
| Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||||
| */ | */ | ||||
| #ifndef __JackSystemDeps_WIN32__ | #ifndef __JackSystemDeps_WIN32__ | ||||
| #define __JackSystemDeps_WIN32__ | #define __JackSystemDeps_WIN32__ | ||||
| #include <windows.h> | |||||
| #ifndef PATH_MAX | |||||
| #define PATH_MAX 512 | |||||
| #endif | |||||
| #if defined(__CYGWIN__) | |||||
| #include <inttypes.h> | |||||
| #include <sys/types.h> | |||||
| #include <signal.h> | |||||
| #include <dlfcn.h> | |||||
| #ifndef UINT32_MAX | |||||
| #define UINT32_MAX 4294967295U | |||||
| #endif | |||||
| #define UINT32_MAX 4294967295U | |||||
| #define DRIVER_HANDLE void* | |||||
| #define LoadDriverModule(name) dlopen((name), RTLD_NOW | RTLD_GLOBAL) | |||||
| #define UnloadDriverModule(handle) dlclose((handle)) | |||||
| #define GetDriverProc(handle, name) dlsym((handle), (name)) | |||||
| #define DRIVER_HANDLE HINSTANCE | |||||
| #define LoadDriverModule(name) LoadLibrary((name)) | |||||
| #define UnloadDriverModule(handle) (FreeLibrary(((HMODULE)handle))) | |||||
| #define GetDriverProc(handle, name) GetProcAddress(((HMODULE)handle), (name)) | |||||
| #define JACK_HANDLE void* | |||||
| #define LoadJackModule(name) dlopen((name), RTLD_NOW | RTLD_LOCAL); | |||||
| #define UnloadJackModule(handle) dlclose((handle)); | |||||
| #define GetJackProc(handle, name) dlsym((handle), (name)); | |||||
| #define JACK_HANDLE HINSTANCE | |||||
| #define LoadJackModule(name) LoadLibrary((name)); | |||||
| #define UnloadJackModule(handle) FreeLibrary((handle)); | |||||
| #define GetJackProc(handle, name) GetProcAddress((handle), (name)); | |||||
| #define JACK_DEBUG (getenv("JACK_CLIENT_DEBUG") && strcmp(getenv("JACK_CLIENT_DEBUG"), "on") == 0) | |||||
| #define ENOBUFS 55 | |||||
| #define JACK_DEBUG false | |||||
| #else | |||||
| #include <windows.h> | |||||
| #define UINT32_MAX 4294967295U | |||||
| #define DRIVER_HANDLE HINSTANCE | |||||
| #define LoadDriverModule(name) LoadLibrary((name)) | |||||
| #define UnloadDriverModule(handle) (FreeLibrary(((HMODULE)handle))) | |||||
| #define GetDriverProc(handle, name) GetProcAddress(((HMODULE)handle), (name)) | |||||
| #define JACK_HANDLE HINSTANCE | |||||
| #define LoadJackModule(name) LoadLibrary((name)); | |||||
| #define UnloadJackModule(handle) FreeLibrary((handle)); | |||||
| #define GetJackProc(handle, name) GetProcAddress((handle), (name)); | |||||
| #ifndef ENOBUFS | |||||
| #define ENOBUFS 55 | |||||
| #endif | |||||
| #ifdef _DEBUG | |||||
| #define JACK_DEBUG true | |||||
| #else | |||||
| #define JACK_DEBUG false | |||||
| #endif | |||||
| #endif | |||||
| #endif | #endif | ||||