git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@3274 0c269be4-1314-0410-8aa9-9f06e86f4224tags/1.9.1
@@ -23,6 +23,10 @@ Michael Voigt | |||
Jackdmp changes log | |||
--------------------------- | |||
2009-01-29 Stephane Letz <letz@grame.fr> | |||
* Support for "-h" option in internal clients to print the parameters. | |||
2009-01-28 Stephane Letz <letz@grame.fr> | |||
* Support for BIG_ENDIAN machines in NetJack2. | |||
@@ -0,0 +1,231 @@ | |||
/* | |||
Copyright (C) 2006-2008 Grame | |||
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 | |||
the Free Software Foundation; either version 2.1 of the License, or | |||
(at your option) any later version. | |||
This program is distributed in the hope that it will be useful, | |||
but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
GNU Lesser General Public License for more details. | |||
You should have received a copy of the GNU Lesser General Public License | |||
along with this program; if not, write to the Free Software | |||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |||
*/ | |||
#include "JackDriverLoader.h" | |||
#include "JackArgParser.h" | |||
#include <stdlib.h> | |||
#include <stdio.h> | |||
#include <assert.h> | |||
using namespace std; | |||
namespace Jack { | |||
// class JackArgParser *************************************************** | |||
JackArgParser::JackArgParser ( const char* arg ) | |||
{ | |||
jack_log ( "JackArgParser::JackArgParser, arg_string : '%s'", arg ); | |||
fArgc = 0; | |||
//if empty string | |||
if ( strlen(arg) == 0 ) | |||
return; | |||
fArgString = string(arg); | |||
//else parse the arg string | |||
const size_t arg_len = fArgString.length(); | |||
unsigned int i = 0; | |||
size_t pos = 0; | |||
size_t start = 0; | |||
size_t copy_start = 0; | |||
size_t copy_length = 0; | |||
//we need a 'space terminated' string | |||
fArgString += " "; | |||
//first fill a vector with args | |||
do { | |||
//find the first non-space character from the actual position | |||
start = fArgString.find_first_not_of ( ' ', start ); | |||
//get the next quote or space position | |||
pos = fArgString.find_first_of ( " \"" , start ); | |||
//no more quotes or spaces, consider the end of the string | |||
if ( pos == string::npos ) | |||
pos = arg_len; | |||
//if double quote | |||
if ( fArgString[pos] == '\"' ) { | |||
//first character : copy the substring | |||
if ( pos == start ) { | |||
copy_start = start + 1; | |||
pos = fArgString.find ( '\"', ++pos ); | |||
copy_length = pos - copy_start; | |||
start = pos + 1; | |||
} | |||
//else there is someting before the quote, first copy that | |||
else { | |||
copy_start = start; | |||
copy_length = pos - copy_start; | |||
start = pos; | |||
} | |||
} | |||
//if space | |||
if ( fArgString[pos] == ' ' ) { | |||
//short option descriptor | |||
if ( ( fArgString[start] == '-' ) && ( fArgString[start + 1] != '-' ) ) { | |||
copy_start = start; | |||
copy_length = 2; | |||
start += copy_length; | |||
} | |||
//else copy all the space delimitated string | |||
else { | |||
copy_start = start; | |||
copy_length = pos - copy_start; | |||
start = pos + 1; | |||
} | |||
} | |||
//then push the substring to the args vector | |||
fArgv.push_back ( fArgString.substr ( copy_start, copy_length ) ); | |||
jack_log ( "JackArgParser::JackArgParser, add : '%s'", (*fArgv.rbegin()).c_str() ); | |||
} while ( start < arg_len ); | |||
//finally count the options | |||
for ( i = 0; i < fArgv.size(); i++ ) | |||
if ( fArgv[i].at(0) == '-' ) | |||
fArgc++; | |||
} | |||
JackArgParser::~JackArgParser() | |||
{} | |||
string JackArgParser::GetArgString() | |||
{ | |||
return fArgString; | |||
} | |||
int JackArgParser::GetNumArgv() | |||
{ | |||
return fArgv.size(); | |||
} | |||
int JackArgParser::GetArgc() | |||
{ | |||
return fArgc; | |||
} | |||
int JackArgParser::GetArgv ( vector<string>& argv ) | |||
{ | |||
argv = fArgv; | |||
return 0; | |||
} | |||
int JackArgParser::GetArgv ( char** argv ) | |||
{ | |||
//argv must be NULL | |||
if ( argv ) | |||
return -1; | |||
//else allocate and fill it | |||
argv = (char**)calloc (fArgv.size(), sizeof(char*)); | |||
for ( unsigned int i = 0; i < fArgv.size(); i++ ) | |||
{ | |||
argv[i] = (char*)calloc(fArgv[i].length(), sizeof(char)); | |||
fill_n ( argv[i], fArgv[i].length() + 1, 0 ); | |||
fArgv[i].copy ( argv[i], fArgv[i].length() ); | |||
} | |||
return 0; | |||
} | |||
void JackArgParser::DeleteArgv ( const char** argv ) | |||
{ | |||
unsigned int i; | |||
for ( i = 0; i < fArgv.size(); i++ ) | |||
free((void*)argv[i]); | |||
free((void*)argv); | |||
} | |||
bool JackArgParser::ParseParams ( jack_driver_desc_t* desc, JSList** param_list ) | |||
{ | |||
string options_list; | |||
unsigned long i = 0; | |||
unsigned int param = 0; | |||
size_t param_id = 0; | |||
JSList* params = NULL; | |||
jack_driver_param_t* intclient_param; | |||
for ( i = 0; i < desc->nparams; i++ ) | |||
options_list += desc->params[i].character; | |||
for ( param = 0; param < fArgv.size(); param++ ) | |||
{ | |||
if ( fArgv[param][0] == '-' ) | |||
{ | |||
//valid option | |||
if ( ( param_id = options_list.find_first_of ( fArgv[param].at(1) ) ) != string::npos ) | |||
{ | |||
intclient_param = static_cast<jack_driver_param_t*> ( calloc ( 1, sizeof ( jack_driver_param_t) ) ); | |||
intclient_param->character = desc->params[param_id].character; | |||
switch ( desc->params[param_id].type ) | |||
{ | |||
case JackDriverParamInt: | |||
if (param + 1 < fArgv.size()) // something to parse | |||
intclient_param->value.i = atoi ( fArgv[param + 1].c_str() ); | |||
break; | |||
case JackDriverParamUInt: | |||
if (param + 1 < fArgv.size()) // something to parse | |||
intclient_param->value.ui = strtoul ( fArgv[param + 1].c_str(), NULL, 10 ); | |||
break; | |||
case JackDriverParamChar: | |||
if (param + 1 < fArgv.size()) // something to parse | |||
intclient_param->value.c = fArgv[param + 1][0]; | |||
break; | |||
case JackDriverParamString: | |||
if (param + 1 < fArgv.size()) // something to parse | |||
fArgv[param + 1].copy ( intclient_param->value.str, min(static_cast<int>(fArgv[param + 1].length()), JACK_DRIVER_PARAM_STRING_MAX) ); | |||
break; | |||
case JackDriverParamBool: | |||
intclient_param->value.i = true; | |||
break; | |||
} | |||
//add to the list | |||
params = jack_slist_append ( params, intclient_param ); | |||
} | |||
//invalid option | |||
else { | |||
if (fArgv[param][1] == 'h') { | |||
fprintf(stdout, "Internal client parameters:\n"); | |||
jack_print_driver_options (desc, stdout); | |||
return false; | |||
} else { | |||
jack_error ( "Invalid option '%c'", fArgv[param][1] ); | |||
} | |||
} | |||
} | |||
} | |||
assert(param_list); | |||
*param_list = params; | |||
return true; | |||
} | |||
void JackArgParser::FreeParams ( JSList* param_list ) | |||
{ | |||
JSList *node_ptr = param_list; | |||
JSList *next_node_ptr; | |||
while (node_ptr) { | |||
next_node_ptr = node_ptr->next; | |||
free(node_ptr->data); | |||
free(node_ptr); | |||
node_ptr = next_node_ptr; | |||
} | |||
} | |||
} | |||
@@ -0,0 +1,61 @@ | |||
/* | |||
Copyright (C) 2006-2008 Grame | |||
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 | |||
the Free Software Foundation; either version 2.1 of the License, or | |||
(at your option) any later version. | |||
This program is distributed in the hope that it will be useful, | |||
but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
GNU Lesser General Public License for more details. | |||
You should have received a copy of the GNU Lesser General Public License | |||
along with this program; if not, write to the Free Software | |||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |||
*/ | |||
#ifndef __JackArgParser__ | |||
#define __JackArgParser__ | |||
#include "jslist.h" | |||
#include "driver_interface.h" | |||
#include "JackCompilerDeps.h" | |||
#include "JackError.h" | |||
#include <string> | |||
#include <algorithm> | |||
#include <vector> | |||
#include <iostream> | |||
#include <fstream> | |||
namespace Jack | |||
{ | |||
class SERVER_EXPORT JackArgParser | |||
{ | |||
private: | |||
std::string fArgString; | |||
int fArgc; | |||
std::vector<std::string> fArgv; | |||
public: | |||
JackArgParser ( const char* arg ); | |||
~JackArgParser(); | |||
std::string GetArgString(); | |||
int GetNumArgv(); | |||
int GetArgc(); | |||
int GetArgv ( std::vector<std::string>& argv ); | |||
int GetArgv ( char** argv ); | |||
void DeleteArgv ( const char** argv ); | |||
bool ParseParams ( jack_driver_desc_t* desc, JSList** param_list ); | |||
void FreeParams ( JSList* param_list ); | |||
}; | |||
} | |||
#endif |
@@ -18,7 +18,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | |||
*/ | |||
#include "JackAudioAdapter.h" | |||
#include "JackTools.h" | |||
#include "JackArgParser.h" | |||
#include <stdio.h> | |||
#include <stdlib.h> | |||
#include <assert.h> | |||
@@ -83,14 +83,18 @@ extern "C" | |||
SERVER_EXPORT int jack_initialize(jack_client_t* jack_client, const char* load_init) | |||
{ | |||
JSList* params = NULL; | |||
jack_driver_desc_t *desc = jack_get_descriptor(); | |||
JackArgParser parser(load_init); | |||
if (parser.GetArgc() > 0) | |||
parser.ParseParams(desc, ¶ms); | |||
int res = jack_internal_initialize(jack_client, params); | |||
parser.FreeParams(params); | |||
bool parse_params = true; | |||
int res = 1; | |||
jack_driver_desc_t* desc = jack_get_descriptor(); | |||
Jack::JackArgParser parser ( load_init ); | |||
if ( parser.GetArgc() > 0 ) | |||
parse_params = parser.ParseParams ( desc, ¶ms ); | |||
if (parse_params) { | |||
res = jack_internal_initialize ( jack_client, params ); | |||
parser.FreeParams ( params ); | |||
} | |||
return res; | |||
} | |||
@@ -32,8 +32,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | |||
jack_driver_desc_t * jackctl_driver_get_desc(jackctl_driver_t * driver); | |||
static void | |||
jack_print_driver_options (jack_driver_desc_t * desc, FILE *file) | |||
SERVER_EXPORT void jack_print_driver_options (jack_driver_desc_t* desc, FILE* file) | |||
{ | |||
unsigned long i; | |||
char arg_default[JACK_DRIVER_PARAM_STRING_MAX + 1]; | |||
@@ -64,6 +64,7 @@ JSList * jack_internals_load (JSList * internals); | |||
SERVER_EXPORT int jackctl_parse_driver_params (jackctl_driver * driver_ptr, int argc, char* argv[]); | |||
SERVER_EXPORT void jack_free_driver_params(JSList * param_ptr); | |||
SERVER_EXPORT void jack_print_driver_options(jack_driver_desc_t* desc, FILE* file); | |||
#endif | |||
@@ -20,6 +20,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | |||
#include "JackException.h" | |||
#include "JackServerGlobals.h" | |||
#include "JackEngineControl.h" | |||
#include "JackArgParser.h" | |||
namespace Jack | |||
{ | |||
@@ -134,7 +135,7 @@ namespace Jack | |||
{ | |||
jack_log ( "JackNetAdapter::Open" ); | |||
jack_info ( "Net adapter started in %s mode %s Master's transport sync.", | |||
jack_info ( "NetAdapter started in %s mode %s Master's transport sync.", | |||
( fParams.fSlaveSyncMode ) ? "sync" : "async", ( fParams.fTransportSync ) ? "with" : "without" ); | |||
if ( fThread.StartSync() < 0 ) | |||
@@ -556,14 +557,18 @@ extern "C" | |||
SERVER_EXPORT int jack_initialize ( jack_client_t* jack_client, const char* load_init ) | |||
{ | |||
JSList* params = NULL; | |||
jack_driver_desc_t *desc = jack_get_descriptor(); | |||
JackArgParser parser(load_init); | |||
if (parser.GetArgc() > 0) | |||
parser.ParseParams (desc, ¶ms); | |||
int res = jack_internal_initialize(jack_client, params); | |||
parser.FreeParams(params); | |||
bool parse_params = true; | |||
int res = 1; | |||
jack_driver_desc_t* desc = jack_get_descriptor(); | |||
Jack::JackArgParser parser ( load_init ); | |||
if ( parser.GetArgc() > 0 ) | |||
parse_params = parser.ParseParams ( desc, ¶ms ); | |||
if (parse_params) { | |||
res = jack_internal_initialize ( jack_client, params ); | |||
parser.FreeParams ( params ); | |||
} | |||
return res; | |||
} | |||
@@ -17,6 +17,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | |||
*/ | |||
#include "JackNetManager.h" | |||
#include "JackArgParser.h" | |||
using namespace std; | |||
@@ -743,14 +744,18 @@ extern "C" | |||
SERVER_EXPORT int jack_initialize ( jack_client_t* jack_client, const char* load_init ) | |||
{ | |||
JSList* params = NULL; | |||
bool parse_params = true; | |||
int res = 1; | |||
jack_driver_desc_t* desc = jack_get_descriptor(); | |||
Jack::JackArgParser parser ( load_init ); | |||
if ( parser.GetArgc() > 0 ) | |||
parser.ParseParams ( desc, ¶ms ); | |||
parse_params = parser.ParseParams ( desc, ¶ms ); | |||
int res = jack_internal_initialize ( jack_client, params ); | |||
parser.FreeParams ( params ); | |||
if (parse_params) { | |||
res = jack_internal_initialize ( jack_client, params ); | |||
parser.FreeParams ( params ); | |||
} | |||
return res; | |||
} | |||
@@ -210,197 +210,5 @@ namespace Jack { | |||
new_name[i] = '\0'; | |||
} | |||
// class JackArgParser *************************************************** | |||
JackArgParser::JackArgParser ( const char* arg ) | |||
{ | |||
jack_log ( "JackArgParser::JackArgParser, arg_string : '%s'", arg ); | |||
fArgc = 0; | |||
//if empty string | |||
if ( strlen(arg) == 0 ) | |||
return; | |||
fArgString = string(arg); | |||
//else parse the arg string | |||
const size_t arg_len = fArgString.length(); | |||
unsigned int i = 0; | |||
size_t pos = 0; | |||
size_t start = 0; | |||
size_t copy_start = 0; | |||
size_t copy_length = 0; | |||
//we need a 'space terminated' string | |||
fArgString += " "; | |||
//first fill a vector with args | |||
do { | |||
//find the first non-space character from the actual position | |||
start = fArgString.find_first_not_of ( ' ', start ); | |||
//get the next quote or space position | |||
pos = fArgString.find_first_of ( " \"" , start ); | |||
//no more quotes or spaces, consider the end of the string | |||
if ( pos == string::npos ) | |||
pos = arg_len; | |||
//if double quote | |||
if ( fArgString[pos] == '\"' ) { | |||
//first character : copy the substring | |||
if ( pos == start ) { | |||
copy_start = start + 1; | |||
pos = fArgString.find ( '\"', ++pos ); | |||
copy_length = pos - copy_start; | |||
start = pos + 1; | |||
} | |||
//else there is someting before the quote, first copy that | |||
else { | |||
copy_start = start; | |||
copy_length = pos - copy_start; | |||
start = pos; | |||
} | |||
} | |||
//if space | |||
if ( fArgString[pos] == ' ' ) { | |||
//short option descriptor | |||
if ( ( fArgString[start] == '-' ) && ( fArgString[start + 1] != '-' ) ) { | |||
copy_start = start; | |||
copy_length = 2; | |||
start += copy_length; | |||
} | |||
//else copy all the space delimitated string | |||
else { | |||
copy_start = start; | |||
copy_length = pos - copy_start; | |||
start = pos + 1; | |||
} | |||
} | |||
//then push the substring to the args vector | |||
fArgv.push_back ( fArgString.substr ( copy_start, copy_length ) ); | |||
jack_log ( "JackArgParser::JackArgParser, add : '%s'", (*fArgv.rbegin()).c_str() ); | |||
} while ( start < arg_len ); | |||
//finally count the options | |||
for ( i = 0; i < fArgv.size(); i++ ) | |||
if ( fArgv[i].at(0) == '-' ) | |||
fArgc++; | |||
} | |||
JackArgParser::~JackArgParser() | |||
{} | |||
string JackArgParser::GetArgString() | |||
{ | |||
return fArgString; | |||
} | |||
int JackArgParser::GetNumArgv() | |||
{ | |||
return fArgv.size(); | |||
} | |||
int JackArgParser::GetArgc() | |||
{ | |||
return fArgc; | |||
} | |||
int JackArgParser::GetArgv ( vector<string>& argv ) | |||
{ | |||
argv = fArgv; | |||
return 0; | |||
} | |||
int JackArgParser::GetArgv ( char** argv ) | |||
{ | |||
//argv must be NULL | |||
if ( argv ) | |||
return -1; | |||
//else allocate and fill it | |||
argv = (char**)calloc (fArgv.size(), sizeof(char*)); | |||
for ( unsigned int i = 0; i < fArgv.size(); i++ ) | |||
{ | |||
argv[i] = (char*)calloc(fArgv[i].length(), sizeof(char)); | |||
fill_n ( argv[i], fArgv[i].length() + 1, 0 ); | |||
fArgv[i].copy ( argv[i], fArgv[i].length() ); | |||
} | |||
return 0; | |||
} | |||
void JackArgParser::DeleteArgv ( const char** argv ) | |||
{ | |||
unsigned int i; | |||
for ( i = 0; i < fArgv.size(); i++ ) | |||
free((void*)argv[i]); | |||
free((void*)argv); | |||
} | |||
void JackArgParser::ParseParams ( jack_driver_desc_t* desc, JSList** param_list ) | |||
{ | |||
string options_list; | |||
unsigned long i = 0; | |||
unsigned int param = 0; | |||
size_t param_id = 0; | |||
JSList* params = NULL; | |||
jack_driver_param_t* intclient_param; | |||
for ( i = 0; i < desc->nparams; i++ ) | |||
options_list += desc->params[i].character; | |||
for ( param = 0; param < fArgv.size(); param++ ) | |||
{ | |||
if ( fArgv[param][0] == '-' ) | |||
{ | |||
//valid option | |||
if ( ( param_id = options_list.find_first_of ( fArgv[param].at(1) ) ) != string::npos ) | |||
{ | |||
intclient_param = static_cast<jack_driver_param_t*> ( calloc ( 1, sizeof ( jack_driver_param_t) ) ); | |||
intclient_param->character = desc->params[param_id].character; | |||
switch ( desc->params[param_id].type ) | |||
{ | |||
case JackDriverParamInt: | |||
if (param + 1 < fArgv.size()) // something to parse | |||
intclient_param->value.i = atoi ( fArgv[param + 1].c_str() ); | |||
break; | |||
case JackDriverParamUInt: | |||
if (param + 1 < fArgv.size()) // something to parse | |||
intclient_param->value.ui = strtoul ( fArgv[param + 1].c_str(), NULL, 10 ); | |||
break; | |||
case JackDriverParamChar: | |||
if (param + 1 < fArgv.size()) // something to parse | |||
intclient_param->value.c = fArgv[param + 1][0]; | |||
break; | |||
case JackDriverParamString: | |||
if (param + 1 < fArgv.size()) // something to parse | |||
fArgv[param + 1].copy ( intclient_param->value.str, min(static_cast<int>(fArgv[param + 1].length()), JACK_DRIVER_PARAM_STRING_MAX) ); | |||
break; | |||
case JackDriverParamBool: | |||
intclient_param->value.i = true; | |||
break; | |||
} | |||
//add to the list | |||
params = jack_slist_append ( params, intclient_param ); | |||
} | |||
//invalid option | |||
else | |||
jack_error ( "Invalid option '%c'", fArgv[param][1] ); | |||
} | |||
} | |||
assert(param_list); | |||
*param_list = params; | |||
} | |||
void JackArgParser::FreeParams ( JSList* param_list ) | |||
{ | |||
JSList *node_ptr = param_list; | |||
JSList *next_node_ptr; | |||
while (node_ptr) { | |||
next_node_ptr = node_ptr->next; | |||
free(node_ptr->data); | |||
free(node_ptr); | |||
node_ptr = next_node_ptr; | |||
} | |||
} | |||
} | |||
@@ -63,32 +63,6 @@ namespace Jack | |||
static void RewriteName ( const char* name, char* new_name ); | |||
}; | |||
/*! | |||
\brief Internal cient command line parser. | |||
*/ | |||
class SERVER_EXPORT JackArgParser | |||
{ | |||
private: | |||
std::string fArgString; | |||
int fArgc; | |||
std::vector<std::string> fArgv; | |||
public: | |||
JackArgParser ( const char* arg ); | |||
~JackArgParser(); | |||
std::string GetArgString(); | |||
int GetNumArgv(); | |||
int GetArgc(); | |||
int GetArgv ( std::vector<std::string>& argv ); | |||
int GetArgv ( char** argv ); | |||
void DeleteArgv ( const char** argv ); | |||
void ParseParams ( jack_driver_desc_t* desc, JSList** param_list ); | |||
void FreeParams ( JSList* param_list ); | |||
}; | |||
/*! | |||
\brief Generic monitoring class. Saves data to GnuPlot files ('.plt' and '.log' datafile) | |||
@@ -114,6 +114,7 @@ def build(bld): | |||
'JackControlAPI.cpp', | |||
'JackNetTool.cpp', | |||
'JackNetInterface.cpp', | |||
'JackArgParser.cpp', | |||
] | |||
if bld.env['IS_LINUX']: | |||
@@ -566,6 +566,10 @@ | |||
4BE5FED10E725C320020B576 /* JackCoreAudioAdapter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BE5FECF0E725C320020B576 /* JackCoreAudioAdapter.cpp */; }; | |||
4BE5FED20E725C320020B576 /* JackCoreAudioAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BE5FED00E725C320020B576 /* JackCoreAudioAdapter.h */; }; | |||
4BE6C6AD0A3E0A65005A203A /* test.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BE6C6AC0A3E0A65005A203A /* test.cpp */; }; | |||
4BF284180F31B4BC00B05BE3 /* JackArgParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF284160F31B4BC00B05BE3 /* JackArgParser.cpp */; }; | |||
4BF284190F31B4BC00B05BE3 /* JackArgParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF284170F31B4BC00B05BE3 /* JackArgParser.h */; }; | |||
4BF2841A0F31B4BC00B05BE3 /* JackArgParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF284160F31B4BC00B05BE3 /* JackArgParser.cpp */; }; | |||
4BF2841B0F31B4BC00B05BE3 /* JackArgParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF284170F31B4BC00B05BE3 /* JackArgParser.h */; }; | |||
4BF4BAB10E3480AB00403CDF /* JackAudioAdapterFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF4BAB00E3480AB00403CDF /* JackAudioAdapterFactory.cpp */; }; | |||
4BF520530CB8D0E80037470E /* timestamps.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BF520520CB8D0E80037470E /* timestamps.c */; }; | |||
4BF520540CB8D0E80037470E /* timestamps.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BF520520CB8D0E80037470E /* timestamps.c */; }; | |||
@@ -1334,6 +1338,8 @@ | |||
4BE6C6A30A3E096F005A203A /* jack_test */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = jack_test; sourceTree = BUILT_PRODUCTS_DIR; }; | |||
4BE6C6AC0A3E0A65005A203A /* test.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = test.cpp; path = ../tests/test.cpp; sourceTree = SOURCE_ROOT; }; | |||
4BE99D300AD7A04800C59091 /* jack_cpu */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = jack_cpu; sourceTree = BUILT_PRODUCTS_DIR; }; | |||
4BF284160F31B4BC00B05BE3 /* JackArgParser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JackArgParser.cpp; path = ../common/JackArgParser.cpp; sourceTree = SOURCE_ROOT; }; | |||
4BF284170F31B4BC00B05BE3 /* JackArgParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JackArgParser.h; path = ../common/JackArgParser.h; sourceTree = SOURCE_ROOT; }; | |||
4BF3937C0626BF3600CC67FA /* JackMacLibClientRPC.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JackMacLibClientRPC.cpp; sourceTree = SOURCE_ROOT; }; | |||
4BF4BAB00E3480AB00403CDF /* JackAudioAdapterFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JackAudioAdapterFactory.cpp; path = ../common/JackAudioAdapterFactory.cpp; sourceTree = SOURCE_ROOT; }; | |||
4BF520520CB8D0E80037470E /* timestamps.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = timestamps.c; path = ../common/timestamps.c; sourceTree = SOURCE_ROOT; }; | |||
@@ -2296,6 +2302,8 @@ | |||
4B765CC805ECE17900571F78 /* Tools */ = { | |||
isa = PBXGroup; | |||
children = ( | |||
4BF284160F31B4BC00B05BE3 /* JackArgParser.cpp */, | |||
4BF284170F31B4BC00B05BE3 /* JackArgParser.h */, | |||
4BF5FBC80E878D24003D2374 /* JackMachTime.c */, | |||
4B4F9C8A0DC20C0400706CB0 /* JackMessageBuffer.cpp */, | |||
4B4F9C8B0DC20C0400706CB0 /* JackMessageBuffer.h */, | |||
@@ -3098,6 +3106,7 @@ | |||
4B8F3D4C0E06C4A10096D19C /* JackEngineTiming.h in Headers */, | |||
4B4E9AFB0E5F1090000A3278 /* JackControlAPI.h in Headers */, | |||
4BC3B6A70E703B2E0066E42F /* JackPosixThread.h in Headers */, | |||
4BF2841B0F31B4BC00B05BE3 /* JackArgParser.h in Headers */, | |||
); | |||
runOnlyForDeploymentPostprocessing = 0; | |||
}; | |||
@@ -3325,6 +3334,7 @@ | |||
BA222AEE0DC883B3001A17F4 /* JackNetManager.h in Headers */, | |||
4B76C76D0E5AB2DB00E2AC21 /* JackNetInterface.h in Headers */, | |||
4BC3B6BE0E703BCC0066E42F /* JackNetUnixSocket.h in Headers */, | |||
4BF284190F31B4BC00B05BE3 /* JackArgParser.h in Headers */, | |||
); | |||
runOnlyForDeploymentPostprocessing = 0; | |||
}; | |||
@@ -5757,6 +5767,7 @@ | |||
4BC3B6A60E703B2E0066E42F /* JackPosixThread.cpp in Sources */, | |||
4BC3B6AC0E703B690066E42F /* JackProcessSync.cpp in Sources */, | |||
4BF5FBCA0E878D24003D2374 /* JackMachTime.c in Sources */, | |||
4BF2841A0F31B4BC00B05BE3 /* JackArgParser.cpp in Sources */, | |||
); | |||
runOnlyForDeploymentPostprocessing = 0; | |||
}; | |||
@@ -6010,6 +6021,7 @@ | |||
4B76C76C0E5AB2DB00E2AC21 /* JackNetInterface.cpp in Sources */, | |||
4BC3B6BD0E703BCC0066E42F /* JackNetUnixSocket.cpp in Sources */, | |||
4BF5FBC90E878D24003D2374 /* JackMachTime.c in Sources */, | |||
4BF284180F31B4BC00B05BE3 /* JackArgParser.cpp in Sources */, | |||
); | |||
runOnlyForDeploymentPostprocessing = 0; | |||
}; | |||