On Jan 27, 2004, at 5:15, Chris Madak wrote:
I'm interested in how you were able to compile pd to support jack under os x, as i'd already attempted it myself to no avail, though i can't claim to know more than the slightest amount about such things.
still, any explanation you can give me would be useful, as i'd ideally like to be able to compile future test releases for jack support on my own.
It's pretty simple..
I've modified the makefile (removing librt and a repetition of
s_jack_audio.c) ,If not will give some errors, and I've modified the
s_jack_audio.c file removing these commented lines:
static int
process (jack_nframes_t nframes, void *arg)
{
int j;
float *out;
float *in;
/*if (nframes > JACK_OUT_MAX)*/ jack_out_max = nframes;
//else jack_out_max = JACK_OUT_MAX;
if (jack_filled >= nframes) {
if (jack_filled != nframes) fprintf(stderr,"Partial read");
for (j = 0; j < sys_outchannels; j++) {
out = jack_port_get_buffer (output_port[j], nframes);
memcpy(out, jack_outbuf + (j * BUF_JACK), sizeof (float) * nframes);
}
for (j = 0; j < sys_inchannels; j++) {
in = jack_port_get_buffer( input_port[j], nframes);
memcpy(jack_inbuf + (j * BUF_JACK), in, sizeof (float) * nframes);
}
jack_filled -= nframes;
} else {
if (jack_started) sys_log_error(ERR_RESYNC);
for (j = 0; j < sys_outchannels; j++) {
out = jack_port_get_buffer (output_port[j], nframes);
memset(out, 0, sizeof (float) * nframes);
}
memset(jack_outbuf,0,sizeof(jack_outbuf));
jack_filled = 0;
}
pthread_cond_broadcast(&jack_sem);
return 0;
}
Johnny Petrantoni, musician, software developer.
jackosx (JackPilot,JACK-insert,JAS): http://www.jackosx.com http://jackosx.sf.net --- Panda (a modular programming language): http://xpanda.sf.net
thanks,
chris madak