|
|
|
@@ -115,6 +115,16 @@ int get_sample_size (int bitdepth) |
|
|
|
return sizeof (int32_t); |
|
|
|
} |
|
|
|
|
|
|
|
int jack_port_is_audio(const char *porttype) |
|
|
|
{ |
|
|
|
return (strncmp (porttype, JACK_DEFAULT_AUDIO_TYPE, jack_port_type_size()) == 0); |
|
|
|
} |
|
|
|
|
|
|
|
int jack_port_is_midi(const char *porttype) |
|
|
|
{ |
|
|
|
return (strncmp (porttype, JACK_DEFAULT_MIDI_TYPE, jack_port_type_size()) == 0); |
|
|
|
} |
|
|
|
|
|
|
|
// fragment management functions. |
|
|
|
|
|
|
|
packet_cache |
|
|
|
@@ -884,7 +894,7 @@ render_payload_to_jack_ports_float ( void *packet_payload, jack_nframes_t net_pe |
|
|
|
|
|
|
|
const char *porttype = jack_port_type (port); |
|
|
|
|
|
|
|
if (strncmp (porttype, JACK_DEFAULT_AUDIO_TYPE, jack_port_type_size()) == 0) |
|
|
|
if (jack_port_is_audio (porttype)) |
|
|
|
{ |
|
|
|
#if HAVE_SAMPLERATE |
|
|
|
// audio port, resample if necessary |
|
|
|
@@ -927,7 +937,7 @@ render_payload_to_jack_ports_float ( void *packet_payload, jack_nframes_t net_pe |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
else if (strncmp (porttype, JACK_DEFAULT_MIDI_TYPE, jack_port_type_size()) == 0) |
|
|
|
else if (jack_port_is_midi (porttype)) |
|
|
|
{ |
|
|
|
// midi port, decode midi events |
|
|
|
// convert the data buffer to a standard format (uint32_t based) |
|
|
|
@@ -964,7 +974,7 @@ render_jack_ports_to_payload_float (JSList *playback_ports, JSList *playback_src |
|
|
|
|
|
|
|
const char *porttype = jack_port_type (port); |
|
|
|
|
|
|
|
if (strncmp (porttype, JACK_DEFAULT_AUDIO_TYPE, jack_port_type_size()) == 0) |
|
|
|
if (jack_port_is_audio (porttype)) |
|
|
|
{ |
|
|
|
// audio port, resample if necessary |
|
|
|
|
|
|
|
@@ -1007,7 +1017,7 @@ render_jack_ports_to_payload_float (JSList *playback_ports, JSList *playback_src |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
else if (strncmp(porttype, JACK_DEFAULT_MIDI_TYPE, jack_port_type_size()) == 0) |
|
|
|
else if (jack_port_is_midi (porttype)) |
|
|
|
{ |
|
|
|
// encode midi events from port to packet |
|
|
|
// convert the data buffer to a standard format (uint32_t based) |
|
|
|
@@ -1050,9 +1060,9 @@ render_payload_to_jack_ports_16bit (void *packet_payload, jack_nframes_t net_per |
|
|
|
#if HAVE_SAMPLERATE |
|
|
|
float *floatbuf = alloca (sizeof(float) * net_period_down); |
|
|
|
#endif |
|
|
|
const char *portname = jack_port_type (port); |
|
|
|
const char *porttype = jack_port_type (port); |
|
|
|
|
|
|
|
if (strncmp(portname, JACK_DEFAULT_AUDIO_TYPE, jack_port_type_size()) == 0) |
|
|
|
if (jack_port_is_audio (porttype)) |
|
|
|
{ |
|
|
|
// audio port, resample if necessary |
|
|
|
|
|
|
|
@@ -1083,7 +1093,7 @@ render_payload_to_jack_ports_16bit (void *packet_payload, jack_nframes_t net_per |
|
|
|
for (i = 0; i < net_period_down; i++) |
|
|
|
buf[i] = ((float) ntohs (packet_bufX[i])) / 32768.0 - 1.0; |
|
|
|
} |
|
|
|
else if (strncmp(portname, JACK_DEFAULT_MIDI_TYPE, jack_port_type_size()) == 0) |
|
|
|
else if (jack_port_is_midi (porttype)) |
|
|
|
{ |
|
|
|
// midi port, decode midi events |
|
|
|
// convert the data buffer to a standard format (uint32_t based) |
|
|
|
@@ -1116,9 +1126,9 @@ render_jack_ports_to_payload_16bit (JSList *playback_ports, JSList *playback_src |
|
|
|
int i; |
|
|
|
jack_port_t *port = (jack_port_t *) node->data; |
|
|
|
jack_default_audio_sample_t* buf = jack_port_get_buffer (port, nframes); |
|
|
|
const char *portname = jack_port_type (port); |
|
|
|
const char *porttype = jack_port_type (port); |
|
|
|
|
|
|
|
if (strncmp (portname, JACK_DEFAULT_AUDIO_TYPE, jack_port_type_size()) == 0) |
|
|
|
if (jack_port_is_audio (porttype)) |
|
|
|
{ |
|
|
|
// audio port, resample if necessary |
|
|
|
|
|
|
|
@@ -1152,7 +1162,7 @@ render_jack_ports_to_payload_16bit (JSList *playback_ports, JSList *playback_src |
|
|
|
for (i = 0; i < net_period_up; i++) |
|
|
|
packet_bufX[i] = htons(((uint16_t)((buf[i] + 1.0) * 32767.0))); |
|
|
|
} |
|
|
|
else if (strncmp(portname, JACK_DEFAULT_MIDI_TYPE, jack_port_type_size()) == 0) |
|
|
|
else if (jack_port_is_midi (porttype)) |
|
|
|
{ |
|
|
|
// encode midi events from port to packet |
|
|
|
// convert the data buffer to a standard format (uint32_t based) |
|
|
|
@@ -1196,9 +1206,9 @@ render_payload_to_jack_ports_8bit (void *packet_payload, jack_nframes_t net_peri |
|
|
|
#if HAVE_SAMPLERATE |
|
|
|
float *floatbuf = alloca (sizeof (float) * net_period_down); |
|
|
|
#endif |
|
|
|
const char *portname = jack_port_type (port); |
|
|
|
const char *porttype = jack_port_type (port); |
|
|
|
|
|
|
|
if (strncmp (portname, JACK_DEFAULT_AUDIO_TYPE, jack_port_type_size()) == 0) |
|
|
|
if (jack_port_is_audio (porttype)) |
|
|
|
{ |
|
|
|
#if HAVE_SAMPLERATE |
|
|
|
// audio port, resample if necessary |
|
|
|
@@ -1226,7 +1236,7 @@ render_payload_to_jack_ports_8bit (void *packet_payload, jack_nframes_t net_peri |
|
|
|
for (i = 0; i < net_period_down; i++) |
|
|
|
buf[i] = ((float) packet_bufX[i]) / 127.0; |
|
|
|
} |
|
|
|
else if (strncmp(portname, JACK_DEFAULT_MIDI_TYPE, jack_port_type_size()) == 0) |
|
|
|
else if (jack_port_is_midi (porttype)) |
|
|
|
{ |
|
|
|
// midi port, decode midi events |
|
|
|
// convert the data buffer to a standard format (uint32_t based) |
|
|
|
@@ -1260,9 +1270,9 @@ render_jack_ports_to_payload_8bit (JSList *playback_ports, JSList *playback_srcs |
|
|
|
jack_port_t *port = (jack_port_t *) node->data; |
|
|
|
|
|
|
|
jack_default_audio_sample_t* buf = jack_port_get_buffer (port, nframes); |
|
|
|
const char *portname = jack_port_type (port); |
|
|
|
const char *porttype = jack_port_type (port); |
|
|
|
|
|
|
|
if (strncmp (portname, JACK_DEFAULT_AUDIO_TYPE, jack_port_type_size()) == 0) |
|
|
|
if (jack_port_is_audio (porttype)) |
|
|
|
{ |
|
|
|
#if HAVE_SAMPLERATE |
|
|
|
// audio port, resample if necessary |
|
|
|
@@ -1294,7 +1304,7 @@ render_jack_ports_to_payload_8bit (JSList *playback_ports, JSList *playback_srcs |
|
|
|
for (i = 0; i < net_period_up; i++) |
|
|
|
packet_bufX[i] = buf[i] * 127.0; |
|
|
|
} |
|
|
|
else if (strncmp(portname, JACK_DEFAULT_MIDI_TYPE, jack_port_type_size()) == 0) |
|
|
|
else if (jack_port_is_midi (porttype)) |
|
|
|
{ |
|
|
|
// encode midi events from port to packet |
|
|
|
// convert the data buffer to a standard format (uint32_t based) |
|
|
|
@@ -1324,9 +1334,9 @@ render_payload_to_jack_ports_celt (void *packet_payload, jack_nframes_t net_peri |
|
|
|
jack_port_t *port = (jack_port_t *) node->data; |
|
|
|
jack_default_audio_sample_t* buf = jack_port_get_buffer (port, nframes); |
|
|
|
|
|
|
|
const char *portname = jack_port_type (port); |
|
|
|
const char *porttype = jack_port_type (port); |
|
|
|
|
|
|
|
if (strncmp(portname, JACK_DEFAULT_AUDIO_TYPE, jack_port_type_size()) == 0) |
|
|
|
if (jack_port_is_audio (porttype)) |
|
|
|
{ |
|
|
|
// audio port, decode celt data. |
|
|
|
|
|
|
|
@@ -1338,7 +1348,7 @@ render_payload_to_jack_ports_celt (void *packet_payload, jack_nframes_t net_peri |
|
|
|
|
|
|
|
src_node = jack_slist_next (src_node); |
|
|
|
} |
|
|
|
else if (strncmp(portname, JACK_DEFAULT_MIDI_TYPE, jack_port_type_size()) == 0) |
|
|
|
else if (jack_port_is_midi (porttype)) |
|
|
|
{ |
|
|
|
// midi port, decode midi events |
|
|
|
// convert the data buffer to a standard format (uint32_t based) |
|
|
|
@@ -1366,9 +1376,9 @@ render_jack_ports_to_payload_celt (JSList *playback_ports, JSList *playback_srcs |
|
|
|
{ |
|
|
|
jack_port_t *port = (jack_port_t *) node->data; |
|
|
|
jack_default_audio_sample_t* buf = jack_port_get_buffer (port, nframes); |
|
|
|
const char *portname = jack_port_type (port); |
|
|
|
const char *porttype = jack_port_type (port); |
|
|
|
|
|
|
|
if (strncmp (portname, JACK_DEFAULT_AUDIO_TYPE, jack_port_type_size()) == 0) |
|
|
|
if (jack_port_is_audio (porttype)) |
|
|
|
{ |
|
|
|
// audio port, encode celt data. |
|
|
|
|
|
|
|
@@ -1381,7 +1391,7 @@ render_jack_ports_to_payload_celt (JSList *playback_ports, JSList *playback_srcs |
|
|
|
printf( "something in celt changed. netjack needs to be changed to handle this.\n" ); |
|
|
|
src_node = jack_slist_next( src_node ); |
|
|
|
} |
|
|
|
else if (strncmp(portname, JACK_DEFAULT_MIDI_TYPE, jack_port_type_size()) == 0) |
|
|
|
else if (jack_port_is_midi (porttype)) |
|
|
|
{ |
|
|
|
// encode midi events from port to packet |
|
|
|
// convert the data buffer to a standard format (uint32_t based) |
|
|
|
|