git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@4591 0c269be4-1314-0410-8aa9-9f06e86f4224tags/1.9.8
@@ -36,6 +36,10 @@ John Emmas | |||||
Jackdmp changes log | Jackdmp changes log | ||||
--------------------------- | --------------------------- | ||||
2011-11-21 Stephane Letz <letz@grame.fr> | |||||
* John Emmas third auto-launch server on Windows patch. | |||||
2011-11-07 Stephane Letz <letz@grame.fr> | 2011-11-07 Stephane Letz <letz@grame.fr> | ||||
* John Emmas first auto-launch server on Windows patch. | * John Emmas first auto-launch server on Windows patch. | ||||
@@ -53,7 +53,7 @@ void JackGlobals::CheckContext(const char* name) | |||||
/* Convert it to local time representation. */ | /* Convert it to local time representation. */ | ||||
loctime = localtime (&curtime); | loctime = localtime (&curtime); | ||||
strftime(buffer, 256, "%I-%M", loctime); | strftime(buffer, 256, "%I-%M", loctime); | ||||
sprintnf(provstr, sizeof(provstr), "JackAPICall-%s.log", buffer); | |||||
snprintf(provstr, sizeof(provstr), "JackAPICall-%s.log", buffer); | |||||
JackGlobals::fStream = new std::ofstream(provstr, std::ios_base::ate); | JackGlobals::fStream = new std::ofstream(provstr, std::ios_base::ate); | ||||
JackGlobals::fStream->is_open(); | JackGlobals::fStream->is_open(); | ||||
} | } | ||||
@@ -21,6 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |||||
#define __JackGlobals__ | #define __JackGlobals__ | ||||
#include "JackPlatformPlug.h" | #include "JackPlatformPlug.h" | ||||
#include "JackSystemDeps.h" | |||||
#include "JackConstants.h" | #include "JackConstants.h" | ||||
#ifdef __CLIENTDEBUG__ | #ifdef __CLIENTDEBUG__ | ||||
@@ -49,5 +49,9 @@ | |||||
#define JACK_DEBUG false | #define JACK_DEBUG false | ||||
#endif | #endif | ||||
#if defined(_MSC_VER) | |||||
#define snprintf _snprintf | |||||
#endif | |||||
#endif | #endif | ||||
@@ -30,7 +30,7 @@ void JackWinSemaphore::BuildName(const char* client_name, const char* server_nam | |||||
{ | { | ||||
char ext_client_name[JACK_CLIENT_NAME_SIZE + 1]; | char ext_client_name[JACK_CLIENT_NAME_SIZE + 1]; | ||||
JackTools::RewriteName(client_name, ext_client_name); | JackTools::RewriteName(client_name, ext_client_name); | ||||
snprintf(res, size, "jack_pipe.%s_%s", server_name, ext_client_name); | |||||
_snprintf(res, size, "jack_pipe.%s_%s", server_name, ext_client_name); | |||||
} | } | ||||
bool JackWinSemaphore::Signal() | bool JackWinSemaphore::Signal() | ||||
@@ -158,4 +158,3 @@ void JackWinSemaphore::Destroy() | |||||
} // end of namespace | } // end of namespace | ||||
@@ -45,10 +45,7 @@ find_path_to_jackdrc(char *path_to_jackdrc) | |||||
if (S_OK == SHGetFolderPath(NULL, CSIDL_PROFILE, NULL, SHGFP_TYPE_CURRENT, user_jackdrc)) | if (S_OK == SHGetFolderPath(NULL, CSIDL_PROFILE, NULL, SHGFP_TYPE_CURRENT, user_jackdrc)) | ||||
{ | { | ||||
int fh; | |||||
// The above call should have given us the path to the user's home folder | // The above call should have given us the path to the user's home folder | ||||
char* pos; | |||||
char ch = user_jackdrc[strlen(user_jackdrc)-1]; | char ch = user_jackdrc[strlen(user_jackdrc)-1]; | ||||
if (('/' != ch) && ('\\' != ch)) | if (('/' != ch) && ('\\' != ch)) | ||||
@@ -165,9 +162,10 @@ static int start_server_aux(const char* server_name) | |||||
strncpy(arguments, "jackd.exe -S -d " JACK_DEFAULT_DRIVER, 255); | strncpy(arguments, "jackd.exe -S -d " JACK_DEFAULT_DRIVER, 255); | ||||
} | } | ||||
int buffer_termination; | |||||
int buffer_termination; | |||||
bool verbose_mode = false; | |||||
argv = (char**)malloc(255); | argv = (char**)malloc(255); | ||||
pos = 0; | |||||
pos = 0; | |||||
while (1) { | while (1) { | ||||
/* insert -T and -n server_name in front of arguments */ | /* insert -T and -n server_name in front of arguments */ | ||||
@@ -215,6 +213,9 @@ static int start_server_aux(const char* server_name) | |||||
strcpy(argv[i], buffer); | strcpy(argv[i], buffer); | ||||
pos += (result + 1); | pos += (result + 1); | ||||
++i; | ++i; | ||||
if ((0 == strcmp(buffer, "-v")) || (0 == strcmp(buffer, "--verbose"))) | |||||
verbose_mode = true; | |||||
} | } | ||||
} | } | ||||
@@ -238,8 +239,17 @@ static int start_server_aux(const char* server_name) | |||||
} | } | ||||
#endif | #endif | ||||
ret = _spawnv(_P_DETACH, command, argv); | |||||
Sleep(2500); // Give the server time to launch | |||||
if (verbose_mode) { | |||||
// Launch the server with a console... (note that | |||||
// if the client is a console app, the server might | |||||
// also use the client's console) | |||||
ret = _spawnv(_P_NOWAIT, command, argv); | |||||
} else { | |||||
// Launch the server silently... (without a console) | |||||
ret = _spawnv(_P_DETACH, command, argv); | |||||
} | |||||
Sleep(2500); // Give it some time to launch | |||||
if ((-1) == ret) | if ((-1) == ret) | ||||
fprintf(stderr, "Execution of JACK server (command = \"%s\") failed: %s\n", command, strerror(errno)); | fprintf(stderr, "Execution of JACK server (command = \"%s\") failed: %s\n", command, strerror(errno)); | ||||
@@ -305,4 +315,3 @@ int try_start_server(jack_varargs_t* va, jack_options_t options, jack_status_t* | |||||
return 0; | return 0; | ||||
} | } | ||||