Browse Source

Add a new cpu testing/loading client.

git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@1254 0c269be4-1314-0410-8aa9-9f06e86f4224
tags/0.59
sletz 19 years ago
parent
commit
f8933377e5
3 changed files with 433 additions and 1 deletions
  1. +4
    -0
      ChangeLog
  2. +265
    -0
      example-clients/cpu.c
  3. +164
    -1
      macosx/Jackdmp.xcodeproj/project.pbxproj

+ 4
- 0
ChangeLog View File

@@ -2,6 +2,10 @@
Jackdmp changes log Jackdmp changes log
--------------------------- ---------------------------


2006-10-06 Stephane Letz <letz@grame.fr>

* Add a new cpu testing/loading client.

2006-09-23 Stephane Letz <letz@grame.fr> 2006-09-23 Stephane Letz <letz@grame.fr>
* Rename global "verbose" in "jack_verbose" to avoid symbol clash with PureData. * Rename global "verbose" in "jack_verbose" to avoid symbol clash with PureData.


+ 265
- 0
example-clients/cpu.c View File

@@ -0,0 +1,265 @@
/*
Copyright (C) 2005 Samuel TRACOL
Copyright (C) 2006 Grame
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 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 General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

*/

/** @file jack_cpu.c
*
* @brief This client test the capacity for jackd to kick out a to heavy cpu client.
*
*/

#include <stdio.h>
#include <errno.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
#include <getopt.h>

#include <jack/jack.h>

jack_port_t *input_port;
jack_port_t *output_port;
jack_client_t *client;
unsigned long sr;
int idle_time = 0;
int percent_cpu = 0;
int time_to_run = 0;
int time_before_run = 0;
int time_before_exit = 1;
jack_nframes_t cur_buffer_size;
jack_nframes_t start_frame;
jack_nframes_t cur_frame;

/* a simple state machine for this client */
volatile enum {
Init,
Run,
Exit
} client_state = Init;

void usage()
{
fprintf (stderr, "\n"
"usage: jack_cpu \n"
" [ --name OR -n client_name ]\n"
" [ --time OR -t time_to_run (in seconds) ]\n"
" [ --delay OR -d delay_before_cpuload__is_applied (in seconds) ]\n"
" --cpu OR -c percent_cpu_load (1-99)\n"
);
}

JackBufferSizeCallback update_buffer_size()
{
cur_buffer_size = jack_get_buffer_size(client);
printf("Buffer size = %d \n", cur_buffer_size);
idle_time = (int) (cur_buffer_size * percent_cpu / 100);
printf("CPU load applies as %d sample delay.\n",idle_time);
return 0;
}

/**
* The process callback for this JACK application is called in a
* special realtime thread once for each audio cycle.
*
* This client follows a simple rule: when the JACK transport is
* running, copy the input port to the output. When it stops, exit.
*/

int process(jack_nframes_t nframes, void *arg)
{
jack_default_audio_sample_t *in, *out;
start_frame = jack_frame_time(client);
in = (jack_default_audio_sample_t *) jack_port_get_buffer (input_port, nframes);
out = (jack_default_audio_sample_t *) jack_port_get_buffer (output_port, nframes);
memset(out, 0, sizeof (jack_default_audio_sample_t) * nframes);
while ((client_state == Run) && (jack_frame_time(client) < (start_frame + idle_time))) {}
return 0;
}

/**
* JACK calls this shutdown_callback if the server ever shuts down or
* decides to disconnect the client.
*/
void jack_shutdown(void *arg)
{
printf("Jack_cpu has been kicked out by jackd !");
exit (1);
}

int main(int argc, char *argv[])
{
const char **ports;
const char *client_name;
int got_time = 0;

int option_index;
int opt;
const char *options = "t:t:d:c:";
struct option long_options[] =
{
{"time", 1, 0, 't'},
{"name", 1, 0, 'n'},
{"delay", 1, 0, 'd'},
{"cpu", 1, 0, 'c'},
{0, 0, 0, 0}
};
client_name = "jack-cpu";
while ((opt = getopt_long (argc, argv, options, long_options, &option_index)) != EOF) {
switch (opt) {
case 'n':
client_name = optarg;
break;
case 't':
time_to_run = atoi(optarg);
break;
case 'd':
time_before_run = atoi(optarg);
break;
case 'c':
percent_cpu = atoi(optarg);
got_time = 1;
break;
default:
fprintf(stderr, "unknown option %c\n", opt);
usage();
}
}
if (!got_time) {
fprintf(stderr, "CPU load not specified ! See usage as following :\n");
usage();
return -1;
}
if (time_to_run != 0)
printf("Running jack-cpu for %d seconds...\n", time_to_run);
/* open a client connection to the JACK server */

client = jack_client_new(client_name);
if (client == NULL) {
fprintf(stderr, "jack_client_open() failed : is jack server running ?\n");
exit(1);
}
/* tell the JACK server to call `process()' whenever
there is work to be done.
*/

jack_set_process_callback(client, process, 0);

/* tell the JACK server to call `jack_shutdown()' if
it ever shuts down, either entirely, or if it
just decides to stop calling us.
*/

jack_on_shutdown(client, jack_shutdown, 0);

/* display the current sample rate.
*/

printf("engine sample rate: %d Hz\n", jack_get_sample_rate(client));
printf("computing time in samples : %d \n", idle_time);

/* create two ports */

input_port = jack_port_register (client, "input", JACK_DEFAULT_AUDIO_TYPE, JackPortIsInput, 0);
output_port = jack_port_register (client, "output", JACK_DEFAULT_AUDIO_TYPE, JackPortIsOutput, 0);

printf("registering ports...\n");
if ((input_port == NULL) || (output_port == NULL)) {
fprintf(stderr, "no more JACK ports available\n");
exit(1);
}
if (jack_set_buffer_size_callback(client, update_buffer_size(), 0) != 0) {
printf("Error when calling buffer_size_callback !");
return -1;
}
if (time_before_run == 0)
client_state = Run;
/* Tell the JACK server that we are ready to roll. Our
* process() callback will start running now. */
printf("Activating as jackd client...\n");
if (jack_activate(client)) {
fprintf(stderr, "cannot activate client");
exit(1);
}

/* Connect the ports. You can't do this before the client is
* activated, because we can't make connections to clients
* that aren't running. Note the confusing (but necessary)
* orientation of the driver backend ports: playback ports are
* "input" to the backend, and capture ports are "output" from
* it.
*/

ports = jack_get_ports (client, NULL, NULL, JackPortIsPhysical|JackPortIsOutput);
if (ports == NULL) {
fprintf(stderr, "no physical capture ports\n");
exit (1);
}

if (jack_connect(client, ports[0], jack_port_name(input_port))) {
fprintf (stderr, "cannot connect input ports\n");
}
free(ports);
ports = jack_get_ports (client, NULL, NULL, JackPortIsPhysical|JackPortIsInput);
if (ports == NULL) {
fprintf(stderr, "no physical playback ports\n");
exit(1);
}

if (jack_connect(client, jack_port_name (output_port), ports[0])) {
fprintf(stderr, "cannot connect output ports\n");
}
free(ports);
if (time_before_run == 0) {
client_state = Run;
printf("Activating cpu load...\n");
}
if (time_to_run !=0)
time_before_exit = time_to_run + time_before_run;
while (client_state != Exit) {
if ((time_before_run > 0) && (client_state == Init))
time_before_run--;
sleep(1);
if ((time_before_run < 1) && (client_state != Run)) {
client_state = Run;
printf("Activating cpu load...\n");
}
if (time_to_run != 0)
time_before_exit--;
if (time_before_exit < 1)
client_state = Exit;
}
jack_client_close(client);
printf("Exiting after a %d seconds run.\n", time_to_run);
exit(0);
}

+ 164
- 1
macosx/Jackdmp.xcodeproj/project.pbxproj View File

@@ -25,11 +25,12 @@
4BFA994A0AAAED90009E916C /* PBXTargetDependency */, 4BFA994A0AAAED90009E916C /* PBXTargetDependency */,
4BFA994C0AAAED90009E916C /* PBXTargetDependency */, 4BFA994C0AAAED90009E916C /* PBXTargetDependency */,
4BFA994E0AAAED90009E916C /* PBXTargetDependency */, 4BFA994E0AAAED90009E916C /* PBXTargetDependency */,
4BFA99560AAAED90009E916C /* PBXTargetDependency */,
4BE99D630AD7A19100C59091 /* PBXTargetDependency */,
4BFA99AC0AAAF41D009E916C /* PBXTargetDependency */, 4BFA99AC0AAAF41D009E916C /* PBXTargetDependency */,
4BFA99500AAAED90009E916C /* PBXTargetDependency */, 4BFA99500AAAED90009E916C /* PBXTargetDependency */,
4BFA99520AAAED90009E916C /* PBXTargetDependency */, 4BFA99520AAAED90009E916C /* PBXTargetDependency */,
4BFA99540AAAED90009E916C /* PBXTargetDependency */, 4BFA99540AAAED90009E916C /* PBXTargetDependency */,
4BFA99560AAAED90009E916C /* PBXTargetDependency */,
4BFA99580AAAED90009E916C /* PBXTargetDependency */, 4BFA99580AAAED90009E916C /* PBXTargetDependency */,
4BFA995A0AAAED90009E916C /* PBXTargetDependency */, 4BFA995A0AAAED90009E916C /* PBXTargetDependency */,
4BFA995C0AAAED90009E916C /* PBXTargetDependency */, 4BFA995C0AAAED90009E916C /* PBXTargetDependency */,
@@ -250,6 +251,7 @@
4BD4B4E409BACEF300750C0F /* JackTransportEngine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BD4B4D509BACD9600750C0F /* JackTransportEngine.cpp */; }; 4BD4B4E409BACEF300750C0F /* JackTransportEngine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BD4B4D509BACD9600750C0F /* JackTransportEngine.cpp */; };
4BD4B4E509BACEF300750C0F /* JackTransportEngine.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BD4B4D409BACD9600750C0F /* JackTransportEngine.h */; }; 4BD4B4E509BACEF300750C0F /* JackTransportEngine.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BD4B4D409BACD9600750C0F /* JackTransportEngine.h */; };
4BE6C6AD0A3E0A65005A203A /* jack_test.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BE6C6AC0A3E0A65005A203A /* jack_test.cpp */; }; 4BE6C6AD0A3E0A65005A203A /* jack_test.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BE6C6AC0A3E0A65005A203A /* jack_test.cpp */; };
4BE99D410AD7A0E700C59091 /* cpu.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BE99D400AD7A0E700C59091 /* cpu.c */; };
4BFA99600AAAEE5C009E916C /* transport.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D21C0834F04800C94B91 /* transport.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4BFA99600AAAEE5C009E916C /* transport.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D21C0834F04800C94B91 /* transport.h */; settings = {ATTRIBUTES = (Public, ); }; };
4BFA99610AAAEE5E009E916C /* types.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D21B0834F04800C94B91 /* types.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4BFA99610AAAEE5E009E916C /* types.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D21B0834F04800C94B91 /* types.h */; settings = {ATTRIBUTES = (Public, ); }; };
4BFA99620AAAEE72009E916C /* jack.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D2170834F03500C94B91 /* jack.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4BFA99620AAAEE72009E916C /* jack.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D2170834F03500C94B91 /* jack.h */; settings = {ATTRIBUTES = (Public, ); }; };
@@ -309,6 +311,13 @@
remoteGlobalIDString = 4B978DB10A31CF4A009E2DD1; remoteGlobalIDString = 4B978DB10A31CF4A009E2DD1;
remoteInfo = "jack_portaudio Universal"; remoteInfo = "jack_portaudio Universal";
}; };
4BE99D620AD7A19100C59091 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 4BE99D260AD7A04800C59091;
remoteInfo = "jack_cpu Universal";
};
4BFA99430AAAED90009E916C /* PBXContainerItemProxy */ = { 4BFA99430AAAED90009E916C /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy; isa = PBXContainerItemProxy;
containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
@@ -483,6 +492,8 @@
4BD561C708EEB910006BBC2A /* JackSynchro.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = JackSynchro.h; path = ../common/JackSynchro.h; sourceTree = SOURCE_ROOT; }; 4BD561C708EEB910006BBC2A /* JackSynchro.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = JackSynchro.h; path = ../common/JackSynchro.h; sourceTree = SOURCE_ROOT; };
4BE6C6A30A3E096F005A203A /* jack_test */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = jack_test; sourceTree = BUILT_PRODUCTS_DIR; }; 4BE6C6A30A3E096F005A203A /* jack_test */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = jack_test; sourceTree = BUILT_PRODUCTS_DIR; };
4BE6C6AC0A3E0A65005A203A /* jack_test.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = jack_test.cpp; path = ../tests/jack_test.cpp; sourceTree = SOURCE_ROOT; }; 4BE6C6AC0A3E0A65005A203A /* jack_test.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = jack_test.cpp; path = ../tests/jack_test.cpp; sourceTree = SOURCE_ROOT; };
4BE99D300AD7A04800C59091 /* jack_cpu */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = jack_cpu; sourceTree = BUILT_PRODUCTS_DIR; };
4BE99D400AD7A0E700C59091 /* cpu.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = cpu.c; path = "../example-clients/cpu.c"; sourceTree = SOURCE_ROOT; };
4BEE0B2C08ACBB9F00D22B43 /* JackPosixSemaphore.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = JackPosixSemaphore.cpp; path = ../common/JackPosixSemaphore.cpp; sourceTree = SOURCE_ROOT; }; 4BEE0B2C08ACBB9F00D22B43 /* JackPosixSemaphore.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = JackPosixSemaphore.cpp; path = ../common/JackPosixSemaphore.cpp; sourceTree = SOURCE_ROOT; };
4BEE0B2D08ACBB9F00D22B43 /* JackPosixSemaphore.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = JackPosixSemaphore.h; path = ../common/JackPosixSemaphore.h; sourceTree = SOURCE_ROOT; }; 4BEE0B2D08ACBB9F00D22B43 /* JackPosixSemaphore.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = JackPosixSemaphore.h; path = ../common/JackPosixSemaphore.h; sourceTree = SOURCE_ROOT; };
4BF3937C0626BF3600CC67FA /* JackMacLibClientRPC.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JackMacLibClientRPC.cpp; sourceTree = SOURCE_ROOT; }; 4BF3937C0626BF3600CC67FA /* JackMacLibClientRPC.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JackMacLibClientRPC.cpp; sourceTree = SOURCE_ROOT; };
@@ -705,6 +716,13 @@
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
4BE99D2A0AD7A04800C59091 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
4BFA999C0AAAF3B0009E916C /* Frameworks */ = { 4BFA999C0AAAF3B0009E916C /* Frameworks */ = {
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
@@ -778,6 +796,7 @@
4B978DBB0A31CF4A009E2DD1 /* jack_portaudio.so */, 4B978DBB0A31CF4A009E2DD1 /* jack_portaudio.so */,
4BE6C6A30A3E096F005A203A /* jack_test */, 4BE6C6A30A3E096F005A203A /* jack_test */,
4BFA99A20AAAF3B0009E916C /* jdelay */, 4BFA99A20AAAF3B0009E916C /* jdelay */,
4BE99D300AD7A04800C59091 /* jack_cpu */,
); );
name = Products; name = Products;
sourceTree = "<group>"; sourceTree = "<group>";
@@ -785,6 +804,7 @@
4B03383E0797E19900686131 /* Simple clients */ = { 4B03383E0797E19900686131 /* Simple clients */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
4BE99D400AD7A0E700C59091 /* cpu.c */,
4B60CE480AAABA31004956AA /* connect.c */, 4B60CE480AAABA31004956AA /* connect.c */,
4BF8D1670834EDD900C94B91 /* zombie.c */, 4BF8D1670834EDD900C94B91 /* zombie.c */,
4BF8D1690834EDE600C94B91 /* lsp.c */, 4BF8D1690834EDE600C94B91 /* lsp.c */,
@@ -1334,6 +1354,13 @@
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
4BE99D270AD7A04800C59091 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
4BFA99990AAAF3B0009E916C /* Headers */ = { 4BFA99990AAAF3B0009E916C /* Headers */ = {
isa = PBXHeadersBuildPhase; isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
@@ -1700,6 +1727,25 @@
productReference = 4BE6C6A30A3E096F005A203A /* jack_test */; productReference = 4BE6C6A30A3E096F005A203A /* jack_test */;
productType = "com.apple.product-type.tool"; productType = "com.apple.product-type.tool";
}; };
4BE99D260AD7A04800C59091 /* jack_cpu Universal */ = {
isa = PBXNativeTarget;
buildConfigurationList = 4BE99D2C0AD7A04800C59091 /* Build configuration list for PBXNativeTarget "jack_cpu Universal" */;
buildPhases = (
4BE99D270AD7A04800C59091 /* Headers */,
4BE99D280AD7A04800C59091 /* Sources */,
4BE99D2A0AD7A04800C59091 /* Frameworks */,
4BE99D2B0AD7A04800C59091 /* Rez */,
);
buildRules = (
);
dependencies = (
);
name = "jack_cpu Universal";
productInstallPath = /usr/local/bin;
productName = testSem;
productReference = 4BE99D300AD7A04800C59091 /* jack_cpu */;
productType = "com.apple.product-type.tool";
};
4BFA99980AAAF3B0009E916C /* jdelay Universal */ = { 4BFA99980AAAF3B0009E916C /* jdelay Universal */ = {
isa = PBXNativeTarget; isa = PBXNativeTarget;
buildConfigurationList = 4BFA999E0AAAF3B0009E916C /* Build configuration list for PBXNativeTarget "jdelay Universal" */; buildConfigurationList = 4BFA999E0AAAF3B0009E916C /* Build configuration list for PBXNativeTarget "jdelay Universal" */;
@@ -1744,6 +1790,7 @@
4B699D27097D421600A18468 /* testSem Universal */, 4B699D27097D421600A18468 /* testSem Universal */,
4B699D3F097D421600A18468 /* zombie Universal */, 4B699D3F097D421600A18468 /* zombie Universal */,
4BE6C6910A3E096F005A203A /* jack_test Universal */, 4BE6C6910A3E096F005A203A /* jack_test Universal */,
4BE99D260AD7A04800C59091 /* jack_cpu Universal */,
4B699D4F097D421600A18468 /* synchroServer Universal */, 4B699D4F097D421600A18468 /* synchroServer Universal */,
4B699D67097D421600A18468 /* synchroClient Universal */, 4B699D67097D421600A18468 /* synchroClient Universal */,
4B699D7F097D421700A18468 /* synchroServerClient Universal */, 4B699D7F097D421700A18468 /* synchroServerClient Universal */,
@@ -1884,6 +1931,13 @@
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
4BE99D2B0AD7A04800C59091 /* Rez */ = {
isa = PBXRezBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
4BFA999D0AAAF3B0009E916C /* Rez */ = { 4BFA999D0AAAF3B0009E916C /* Rez */ = {
isa = PBXRezBuildPhase; isa = PBXRezBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
@@ -2142,6 +2196,14 @@
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
4BE99D280AD7A04800C59091 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
4BE99D410AD7A0E700C59091 /* cpu.c in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
4BFA999A0AAAF3B0009E916C /* Sources */ = { 4BFA999A0AAAF3B0009E916C /* Sources */ = {
isa = PBXSourcesBuildPhase; isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
@@ -2188,6 +2250,11 @@
target = 4B978DB10A31CF4A009E2DD1 /* jack_portaudio Universal */; target = 4B978DB10A31CF4A009E2DD1 /* jack_portaudio Universal */;
targetProxy = 4B978E7F0A31D8B7009E2DD1 /* PBXContainerItemProxy */; targetProxy = 4B978E7F0A31D8B7009E2DD1 /* PBXContainerItemProxy */;
}; };
4BE99D630AD7A19100C59091 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 4BE99D260AD7A04800C59091 /* jack_cpu Universal */;
targetProxy = 4BE99D620AD7A19100C59091 /* PBXContainerItemProxy */;
};
4BFA99440AAAED90009E916C /* PBXTargetDependency */ = { 4BFA99440AAAED90009E916C /* PBXTargetDependency */ = {
isa = PBXTargetDependency; isa = PBXTargetDependency;
target = 4B699CB1097D421600A18468 /* jack_metro Universal */; target = 4B699CB1097D421600A18468 /* jack_metro Universal */;
@@ -4353,6 +4420,92 @@
}; };
name = Default; name = Default;
}; };
4BE99D2D0AD7A04800C59091 /* Development */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = (
ppc,
i386,
);
COPY_PHASE_STRIP = NO;
GCC_DYNAMIC_NO_PIC = NO;
GCC_ENABLE_FIX_AND_CONTINUE = YES;
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
OTHER_CFLAGS = "";
OTHER_LDFLAGS = (
"-framework",
Jackmp,
);
OTHER_REZFLAGS = "";
PRODUCT_NAME = jack_cpu;
REZ_EXECUTABLE = YES;
SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
SECTORDER_FLAGS = "";
WARNING_CFLAGS = (
"-Wmost",
"-Wno-four-char-constants",
"-Wno-unknown-pragmas",
);
ZERO_LINK = YES;
};
name = Development;
};
4BE99D2E0AD7A04800C59091 /* Deployment */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = (
ppc,
i386,
);
COPY_PHASE_STRIP = YES;
GCC_ENABLE_FIX_AND_CONTINUE = NO;
GCC_OPTIMIZATION_LEVEL = 3;
OTHER_CFLAGS = "";
OTHER_LDFLAGS = (
"-framework",
Jackmp,
);
OTHER_REZFLAGS = "";
PRODUCT_NAME = jack_cpu;
REZ_EXECUTABLE = YES;
SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
SECTORDER_FLAGS = "";
WARNING_CFLAGS = (
"-Wmost",
"-Wno-four-char-constants",
"-Wno-unknown-pragmas",
);
ZERO_LINK = NO;
};
name = Deployment;
};
4BE99D2F0AD7A04800C59091 /* Default */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = (
ppc,
i386,
);
GCC_OPTIMIZATION_LEVEL = 3;
OTHER_CFLAGS = "";
OTHER_LDFLAGS = (
"-framework",
Jackmp,
);
OTHER_REZFLAGS = "";
PRODUCT_NAME = jack_cpu;
REZ_EXECUTABLE = YES;
SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
SECTORDER_FLAGS = "";
WARNING_CFLAGS = (
"-Wmost",
"-Wno-four-char-constants",
"-Wno-unknown-pragmas",
);
};
name = Default;
};
4BFA999F0AAAF3B0009E916C /* Development */ = { 4BFA999F0AAAF3B0009E916C /* Development */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
@@ -4653,6 +4806,16 @@
defaultConfigurationIsVisible = 0; defaultConfigurationIsVisible = 0;
defaultConfigurationName = Default; defaultConfigurationName = Default;
}; };
4BE99D2C0AD7A04800C59091 /* Build configuration list for PBXNativeTarget "jack_cpu Universal" */ = {
isa = XCConfigurationList;
buildConfigurations = (
4BE99D2D0AD7A04800C59091 /* Development */,
4BE99D2E0AD7A04800C59091 /* Deployment */,
4BE99D2F0AD7A04800C59091 /* Default */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Default;
};
4BFA999E0AAAF3B0009E916C /* Build configuration list for PBXNativeTarget "jdelay Universal" */ = { 4BFA999E0AAAF3B0009E916C /* Build configuration list for PBXNativeTarget "jdelay Universal" */ = {
isa = XCConfigurationList; isa = XCConfigurationList;
buildConfigurations = ( buildConfigurations = (


Loading…
Cancel
Save