git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@3947 0c269be4-1314-0410-8aa9-9f06e86f4224tags/v1.9.6
@@ -194,7 +194,7 @@ namespace Jack { | |||||
} | } | ||||
if (fgets(buf, sizeof(buf), in) == NULL) { | if (fgets(buf, sizeof(buf), in) == NULL) { | ||||
fclose(in); | |||||
pclose(in); | |||||
return -1; | return -1; | ||||
} | } | ||||
@@ -202,7 +202,7 @@ namespace Jack { | |||||
if (buf[len - 1] != '\n') { | if (buf[len - 1] != '\n') { | ||||
/* didn't get a whole line */ | /* didn't get a whole line */ | ||||
fclose(in); | |||||
pclose(in); | |||||
return -1; | return -1; | ||||
} | } | ||||
@@ -210,7 +210,7 @@ namespace Jack { | |||||
memcpy(jack_tmpdir, buf, len - 1); | memcpy(jack_tmpdir, buf, len - 1); | ||||
jack_tmpdir[len - 1] = '\0'; | jack_tmpdir[len - 1] = '\0'; | ||||
fclose(in); | |||||
pclose(in); | |||||
return 0; | return 0; | ||||
} | } | ||||
#endif | #endif | ||||
@@ -46,7 +46,6 @@ InternalMetro::InternalMetro(int freq, double max_amp, int dur_arg, int bpm, cha | |||||
{ | { | ||||
sample_t scale; | sample_t scale; | ||||
int i, attack_length, decay_length; | int i, attack_length, decay_length; | ||||
double *amp; | |||||
int attack_percent = 1, decay_percent = 10; | int attack_percent = 1, decay_percent = 10; | ||||
const char *bpm_string = "bpm"; | const char *bpm_string = "bpm"; | ||||
@@ -59,7 +58,7 @@ InternalMetro::InternalMetro(int freq, double max_amp, int dur_arg, int bpm, cha | |||||
} | } | ||||
if ((client = jack_client_open (client_name, JackNullOption, NULL)) == 0) { | if ((client = jack_client_open (client_name, JackNullOption, NULL)) == 0) { | ||||
fprintf (stderr, "jack server not running?\n"); | fprintf (stderr, "jack server not running?\n"); | ||||
return ; | |||||
return; | |||||
} | } | ||||
jack_set_process_callback (client, process_audio, this); | jack_set_process_callback (client, process_audio, this); | ||||
@@ -81,11 +80,11 @@ InternalMetro::InternalMetro(int freq, double max_amp, int dur_arg, int bpm, cha | |||||
", wave length = %" PRIu32 "\n", tone_length, | ", wave length = %" PRIu32 "\n", tone_length, | ||||
wave_length); | wave_length); | ||||
*/ | */ | ||||
return ; | |||||
return; | |||||
} | } | ||||
if (attack_length + decay_length > (int)tone_length) { | if (attack_length + decay_length > (int)tone_length) { | ||||
fprintf (stderr, "invalid attack/decay\n"); | fprintf (stderr, "invalid attack/decay\n"); | ||||
return ; | |||||
return; | |||||
} | } | ||||
/* Build the wave table */ | /* Build the wave table */ | ||||
@@ -110,7 +109,6 @@ InternalMetro::InternalMetro(int freq, double max_amp, int dur_arg, int bpm, cha | |||||
if (jack_activate (client)) { | if (jack_activate (client)) { | ||||
fprintf(stderr, "cannot activate client"); | fprintf(stderr, "cannot activate client"); | ||||
return; | |||||
} | } | ||||
} | } | ||||
@@ -120,4 +118,6 @@ InternalMetro::~InternalMetro() | |||||
jack_port_unregister(client, input_port); | jack_port_unregister(client, input_port); | ||||
jack_port_unregister(client, output_port); | jack_port_unregister(client, output_port); | ||||
jack_client_close(client); | jack_client_close(client); | ||||
free(amp); | |||||
free(wave); | |||||
} | } |
@@ -53,6 +53,7 @@ extern "C" | |||||
int bpm; | int bpm; | ||||
jack_nframes_t tone_length, wave_length; | jack_nframes_t tone_length, wave_length; | ||||
sample_t *wave; | sample_t *wave; | ||||
double *amp; | |||||
long offset ; | long offset ; | ||||
InternalMetro(int freq, double max_amp, int dur_arg, int bpm, char* client_name); | InternalMetro(int freq, double max_amp, int dur_arg, int bpm, char* client_name); | ||||
@@ -257,7 +257,7 @@ main (int argc, char *argv[]) | |||||
if (jack_activate (client)) { | if (jack_activate (client)) { | ||||
fprintf (stderr, "cannot activate client\n"); | fprintf (stderr, "cannot activate client\n"); | ||||
return 1; | |||||
goto error; | |||||
} | } | ||||
/* install a signal handler to properly quits jack client */ | /* install a signal handler to properly quits jack client */ | ||||
@@ -282,5 +282,9 @@ main (int argc, char *argv[]) | |||||
}; | }; | ||||
jack_client_close(client); | jack_client_close(client); | ||||
error: | |||||
free(amp); | |||||
free(wave); | |||||
exit (0); | exit (0); | ||||
} | } |
@@ -881,7 +881,7 @@ extern "C" | |||||
switch (param->character) { | switch (param->character) { | ||||
case 'd': | case 'd': | ||||
device_name = strdup (param->value.str); | |||||
device_name = param->value.str; | |||||
break; | break; | ||||
case 'p': | case 'p': | ||||
cmlparams.period_size = param->value.ui; | cmlparams.period_size = param->value.ui; | ||||
@@ -2002,8 +2002,8 @@ extern "C" | |||||
switch (param->character) { | switch (param->character) { | ||||
case 'd': | case 'd': | ||||
capture_driver_uid = strdup(param->value.str); | |||||
playback_driver_uid = strdup(param->value.str); | |||||
capture_driver_uid = param->value.str; | |||||
playback_driver_uid = param->value.str; | |||||
break; | break; | ||||
case 'D': | case 'D': | ||||
@@ -2026,14 +2026,14 @@ extern "C" | |||||
case 'C': | case 'C': | ||||
capture = true; | capture = true; | ||||
if (strcmp(param->value.str, "none") != 0) { | if (strcmp(param->value.str, "none") != 0) { | ||||
capture_driver_uid = strdup(param->value.str); | |||||
capture_driver_uid = param->value.str; | |||||
} | } | ||||
break; | break; | ||||
case 'P': | case 'P': | ||||
playback = true; | playback = true; | ||||
if (strcmp(param->value.str, "none") != 0) { | if (strcmp(param->value.str, "none") != 0) { | ||||
playback_driver_uid = strdup(param->value.str); | |||||
playback_driver_uid = param->value.str; | |||||
} | } | ||||
break; | break; | ||||
@@ -985,20 +985,20 @@ EXPORT Jack::JackDriverClientInterface* driver_initialize(Jack::JackLockedEngine | |||||
case 'C': | case 'C': | ||||
capture = true; | capture = true; | ||||
if (strcmp(param->value.str, "none") != 0) { | if (strcmp(param->value.str, "none") != 0) { | ||||
capture_pcm_name = strdup(param->value.str); | |||||
capture_pcm_name = param->value.str; | |||||
} | } | ||||
break; | break; | ||||
case 'P': | case 'P': | ||||
playback = true; | playback = true; | ||||
if (strcmp(param->value.str, "none") != 0) { | if (strcmp(param->value.str, "none") != 0) { | ||||
playback_pcm_name = strdup(param->value.str); | |||||
playback_pcm_name = param->value.str; | |||||
} | } | ||||
break; | break; | ||||
case 'd': | case 'd': | ||||
playback_pcm_name = strdup (param->value.str); | |||||
capture_pcm_name = strdup (param->value.str); | |||||
playback_pcm_name = param->value.str; | |||||
capture_pcm_name = param->value.str; | |||||
break; | break; | ||||
case 'e': | case 'e': | ||||
@@ -904,20 +904,20 @@ EXPORT Jack::JackDriverClientInterface* driver_initialize(Jack::JackLockedEngine | |||||
case 'C': | case 'C': | ||||
capture = true; | capture = true; | ||||
if (strcmp(param->value.str, "none") != 0) { | if (strcmp(param->value.str, "none") != 0) { | ||||
capture_pcm_name = strdup(param->value.str); | |||||
capture_pcm_name = param->value.str; | |||||
} | } | ||||
break; | break; | ||||
case 'P': | case 'P': | ||||
playback = true; | playback = true; | ||||
if (strcmp(param->value.str, "none") != 0) { | if (strcmp(param->value.str, "none") != 0) { | ||||
playback_pcm_name = strdup(param->value.str); | |||||
playback_pcm_name = param->value.str; | |||||
} | } | ||||
break; | break; | ||||
case 'd': | case 'd': | ||||
playback_pcm_name = strdup (param->value.str); | |||||
capture_pcm_name = strdup (param->value.str); | |||||
playback_pcm_name = param->value.str; | |||||
capture_pcm_name = param->value.str; | |||||
break; | break; | ||||
case 'b': | case 'b': | ||||
@@ -60,7 +60,6 @@ ExternalMetro::ExternalMetro(int freq, double max_amp, int dur_arg, int bpm, con | |||||
{ | { | ||||
sample_t scale; | sample_t scale; | ||||
int i, attack_length, decay_length; | int i, attack_length, decay_length; | ||||
double *amp; | |||||
int attack_percent = 1, decay_percent = 10; | int attack_percent = 1, decay_percent = 10; | ||||
const char *bpm_string = "bpm"; | const char *bpm_string = "bpm"; | ||||
jack_options_t options = JackNullOption; | jack_options_t options = JackNullOption; | ||||
@@ -131,6 +130,8 @@ ExternalMetro::~ExternalMetro() | |||||
jack_port_unregister(client, input_port); | jack_port_unregister(client, input_port); | ||||
jack_port_unregister(client, output_port); | jack_port_unregister(client, output_port); | ||||
jack_client_close(client); | jack_client_close(client); | ||||
free(amp); | |||||
free(wave); | |||||
} | } | ||||
int main (int argc, char *argv[]) | int main (int argc, char *argv[]) | ||||
@@ -53,6 +53,7 @@ extern "C" | |||||
int bpm; | int bpm; | ||||
jack_nframes_t tone_length, wave_length; | jack_nframes_t tone_length, wave_length; | ||||
sample_t *wave; | sample_t *wave; | ||||
double *amp; | |||||
long offset ; | long offset ; | ||||
ExternalMetro(int freq, double max_amp, int dur_arg, int bpm, const char* client_name = "metro"); | ExternalMetro(int freq, double max_amp, int dur_arg, int bpm, const char* client_name = "metro"); | ||||
@@ -404,8 +404,8 @@ extern "C" | |||||
{ | { | ||||
case 'd': | case 'd': | ||||
capture_pcm_name = strdup(param->value.str); | |||||
playback_pcm_name = strdup(param->value.str); | |||||
capture_pcm_name = param->value.str; | |||||
playback_pcm_name = param->value.str; | |||||
break; | break; | ||||
case 'D': | case 'D': | ||||
@@ -428,14 +428,14 @@ extern "C" | |||||
case 'C': | case 'C': | ||||
capture = true; | capture = true; | ||||
if (strcmp(param->value.str, "none") != 0) { | if (strcmp(param->value.str, "none") != 0) { | ||||
capture_pcm_name = strdup(param->value.str); | |||||
capture_pcm_name = param->value.str; | |||||
} | } | ||||
break; | break; | ||||
case 'P': | case 'P': | ||||
playback = TRUE; | playback = TRUE; | ||||
if (strcmp(param->value.str, "none") != 0) { | if (strcmp(param->value.str, "none") != 0) { | ||||
playback_pcm_name = strdup(param->value.str); | |||||
playback_pcm_name = param->value.str; | |||||
} | } | ||||
break; | break; | ||||