diff --git a/alsa_driver.c b/alsa_driver.c index 22ffc14..cfbd783 100644 --- a/alsa_driver.c +++ b/alsa_driver.c @@ -839,7 +839,7 @@ alsa_driver_wait (alsa_driver_t *driver) continue; } - alsa_driver_write_to_channel (driver, 1, jack_port_get_buffer (port, contiguous), contiguous, 1.0); + alsa_driver_write_to_channel (driver, 1, jack_port_get_buffer (port, contiguous), contiguous); } engine->process_unlock (engine); diff --git a/configure.in b/configure.in index 6c57d4f..ac7ce56 100644 --- a/configure.in +++ b/configure.in @@ -5,7 +5,7 @@ AC_CONFIG_AUX_DIR(.) JACK_MAJOR_VERSION=0 JACK_MINOR_VERSION=11 -JACK_MICRO_VERSION=1 +JACK_MICRO_VERSION=2 BETA= diff --git a/jack/alsa_driver.h b/jack/alsa_driver.h index 4a699e1..c5fddcc 100644 --- a/jack/alsa_driver.h +++ b/jack/alsa_driver.h @@ -34,8 +34,7 @@ typedef void (*ReadCopyFunction) (sample_t *dst, char *src, unsigned long src_skip_bytes); typedef void (*WriteCopyFunction) (char *dst, sample_t *src, unsigned long src_bytes, - unsigned long dst_skip_bytes, - gain_t gain); + unsigned long dst_skip_bytes); typedef void (*CopyCopyFunction) (char *dst, char *src, unsigned long src_bytes, unsigned long dst_skip_bytes, @@ -155,14 +154,12 @@ static __inline__ void alsa_driver_read_from_channel (alsa_driver_t *driver, static __inline__ void alsa_driver_write_to_channel (alsa_driver_t *driver, channel_t channel, sample_t *buf, - nframes_t nsamples, - gain_t gain) + nframes_t nsamples) { driver->write_via_copy (driver->playback_addr[channel], buf, nsamples, - driver->playback_interleave_skip, - gain); + driver->playback_interleave_skip); alsa_driver_mark_channel_done (driver, channel); } diff --git a/jack/memops.h b/jack/memops.h index 9951eb8..c388f50 100644 --- a/jack/memops.h +++ b/jack/memops.h @@ -23,47 +23,31 @@ #include -void sample_move_d32u24_sS (char *dst, sample_t *src, unsigned long nsamples, unsigned long dst_skip, gain_t); -void sample_move_d16_sS (char *dst, sample_t *src, unsigned long nsamples, unsigned long dst_skip, gain_t); +void sample_move_d32u24_sS (char *dst, sample_t *src, unsigned long nsamples, unsigned long dst_skip); +void sample_move_d16_sS (char *dst, sample_t *src, unsigned long nsamples, unsigned long dst_skip); void sample_move_dS_s32u24 (sample_t *dst, char *src, unsigned long nsamples, unsigned long src_skip); void sample_move_dS_s16 (sample_t *dst, char *src, unsigned long nsamples, unsigned long src_skip); -void sample_merge_d16_sS (char *dst, sample_t *src, unsigned long nsamples, unsigned long dst_skip, gain_t); -void sample_merge_d32u24_sS (char *dst, sample_t *src, unsigned long nsamples, unsigned long dst_skip, gain_t); +void sample_merge_d16_sS (char *dst, sample_t *src, unsigned long nsamples, unsigned long dst_skip); +void sample_merge_d32u24_sS (char *dst, sample_t *src, unsigned long nsamples, unsigned long dst_skip); static __inline__ void -sample_merge (sample_t *dst, sample_t *src, unsigned long cnt, gain_t gain) +sample_merge (sample_t *dst, sample_t *src, unsigned long cnt) { - if (gain == 1.0) { - while (cnt--) { - *dst += *src; - dst++; - src++; - } - } else { - while (cnt--) { - *dst += (*src * gain); - dst++; - src++; - } + while (cnt--) { + *dst += *src; + dst++; + src++; } } static __inline__ void -sample_memcpy (sample_t *dst, sample_t *src, unsigned long cnt, gain_t gain) +sample_memcpy (sample_t *dst, sample_t *src, unsigned long cnt) { - if (gain == 1.0) { - memcpy (dst, src, cnt * sizeof (sample_t)); - } else { - while (cnt--) { - *dst = (*src * gain); - dst++; - src++; - } - } + memcpy (dst, src, cnt * sizeof (sample_t)); } void memset_interleave (char *dst, char val, unsigned long bytes, unsigned long unit_bytes, unsigned long skip_bytes); diff --git a/memops.c b/memops.c index f61f7fd..e221533 100644 --- a/memops.c +++ b/memops.c @@ -34,23 +34,15 @@ floating-point => int conversion the compiler provides. */ -void sample_move_d32u24_sS (char *dst, sample_t *src, unsigned long nsamples, unsigned long dst_skip, gain_t gain) +void sample_move_d32u24_sS (char *dst, sample_t *src, unsigned long nsamples, unsigned long dst_skip) { /* ALERT: signed sign-extension portability !!! */ - if (gain == 1.0) { - while (nsamples--) { - *((int *) dst) = ((int) (*src * SAMPLE_MAX_24BIT)) << 8; - dst += dst_skip; - src++; - } - } else { - while (nsamples--) { - *((int *) dst) = ((int) ((*src * gain) * SAMPLE_MAX_24BIT)) << 8; - dst += dst_skip; - src++; - } + while (nsamples--) { + *((int *) dst) = ((int) (*src * SAMPLE_MAX_24BIT)) << 8; + dst += dst_skip; + src++; } } @@ -65,7 +57,7 @@ void sample_move_dS_s32u24 (sample_t *dst, char *src, unsigned long nsamples, un } } -void sample_move_d16_sS (char *dst, sample_t *src, unsigned long nsamples, unsigned long dst_skip, gain_t gain) +void sample_move_d16_sS (char *dst, sample_t *src, unsigned long nsamples, unsigned long dst_skip) { sample_t val; @@ -76,33 +68,17 @@ void sample_move_d16_sS (char *dst, sample_t *src, unsigned long nsamples, unsi sucks that h/w. */ - - if (gain == 1.0) { - while (nsamples--) { - val = *src; - if (val > 1.0f) { - *((short *)dst) = SHRT_MAX; - } else if (val < -1.0f) { - *((short *)dst) = SHRT_MIN; - } else { - *((short *) dst) = (short) (val * SAMPLE_MAX_16BIT); - } - dst += dst_skip; - src++; - } - } else { - while (nsamples--) { - val = *src * gain; - if (val > 1.0f) { - *((short *)dst) = SHRT_MAX; - } else if (val < -1.0f) { - *((short *)dst) = SHRT_MIN; - } else { - *((short *) dst) = (short) (val * SAMPLE_MAX_16BIT); - } - dst += dst_skip; - src++; + while (nsamples--) { + val = *src; + if (val > 1.0f) { + *((short *)dst) = SHRT_MAX; + } else if (val < -1.0f) { + *((short *)dst) = SHRT_MIN; + } else { + *((short *) dst) = (short) (val * SAMPLE_MAX_16BIT); } + dst += dst_skip; + src++; } } @@ -117,60 +93,36 @@ void sample_move_dS_s16 (sample_t *dst, char *src, unsigned long nsamples, unsig } } -void sample_merge_d16_sS (char *dst, sample_t *src, unsigned long nsamples, unsigned long dst_skip, gain_t gain) +void sample_merge_d16_sS (char *dst, sample_t *src, unsigned long nsamples, unsigned long dst_skip) { short val; /* ALERT: signed sign-extension portability !!! */ - if (gain == 1.0) { - while (nsamples--) { - val = (short) (*src * SAMPLE_MAX_16BIT); - - if (val > SHRT_MAX - *((short *) dst)) { - *((short *)dst) = SHRT_MAX; - } else if (val < SHRT_MIN - *((short *) dst)) { - *((short *)dst) = SHRT_MIN; - } else { - *((short *) dst) += val; - } - dst += dst_skip; - src++; - } - } else { - while (nsamples--) { - val = (short) (*src * gain * SAMPLE_MAX_16BIT); - - if (val > SHRT_MAX - *((short *) dst)) { - *((short *)dst) = SHRT_MAX; - } else if (val < SHRT_MIN - *((short *) dst)) { - *((short *)dst) = SHRT_MIN; - } else { - *((short *) dst) += val; - } - dst += dst_skip; - src++; + while (nsamples--) { + val = (short) (*src * SAMPLE_MAX_16BIT); + + if (val > SHRT_MAX - *((short *) dst)) { + *((short *)dst) = SHRT_MAX; + } else if (val < SHRT_MIN - *((short *) dst)) { + *((short *)dst) = SHRT_MIN; + } else { + *((short *) dst) += val; } + dst += dst_skip; + src++; } } -void sample_merge_d32u24_sS (char *dst, sample_t *src, unsigned long nsamples, unsigned long dst_skip, gain_t gain) +void sample_merge_d32u24_sS (char *dst, sample_t *src, unsigned long nsamples, unsigned long dst_skip) { /* ALERT: signed sign-extension portability !!! */ - if (gain == 1.0) { - while (nsamples--) { - *((int *) dst) += (((int) (*src * SAMPLE_MAX_24BIT)) << 8); - dst += dst_skip; - src++; - } - } else { - while (nsamples--) { - *((int *) dst) += (((int) ((*src * gain) * SAMPLE_MAX_24BIT)) << 8); - dst += dst_skip; - src++; - } + while (nsamples--) { + *((int *) dst) += (((int) (*src * SAMPLE_MAX_24BIT)) << 8); + dst += dst_skip; + src++; } }