Lines Matching defs:psf

296 psf_calc_signal_max (SF_PRIVATE *psf, int normalize)
303 if (! psf->sf.seekable)
304 { psf->error = SFE_NOT_SEEKABLE ;
308 if (! psf->read_double)
309 { psf->error = SFE_UNIMPLEMENTED ;
313 save_state = sf_command ((SNDFILE*) psf, SFC_GET_NORM_DOUBLE, NULL, 0) ;
314 sf_command ((SNDFILE*) psf, SFC_SET_NORM_DOUBLE, NULL, normalize) ;
318 position = sf_seek ((SNDFILE*) psf, 0, SEEK_CUR) ;
320 sf_seek ((SNDFILE*) psf, 0, SEEK_SET) ;
324 len = ARRAY_LEN (ubuf.dbuf) - (ARRAY_LEN (ubuf.dbuf) % psf->sf.channels) ;
327 { readcount = (int) sf_read_double ((SNDFILE*) psf, data, len) ;
335 sf_seek ((SNDFILE*) psf, position, SEEK_SET) ;
336 sf_command ((SNDFILE*) psf, SFC_SET_NORM_DOUBLE, NULL, save_state) ;
342 psf_calc_max_all_channels (SF_PRIVATE *psf, double *peaks, int normalize)
350 if (! psf->sf.seekable)
351 return (psf->error = SFE_NOT_SEEKABLE) ;
353 if (! psf->read_double)
354 return (psf->error = SFE_UNIMPLEMENTED) ;
356 save_state = sf_command ((SNDFILE*) psf, SFC_GET_NORM_DOUBLE, NULL, 0) ;
357 sf_command ((SNDFILE*) psf, SFC_SET_NORM_DOUBLE, NULL, normalize) ;
359 memset (peaks, 0, sizeof (double) * psf->sf.channels) ;
362 position = sf_seek ((SNDFILE*) psf, 0, SEEK_CUR) ; /* Get current position in file */
363 sf_seek ((SNDFILE*) psf, 0, SEEK_SET) ; /* Go to start of file. */
365 len = ARRAY_LEN (ubuf.dbuf) - (ARRAY_LEN (ubuf.dbuf) % psf->sf.channels) ;
372 { readcount = (int) sf_read_double ((SNDFILE*) psf, data, len) ;
376 chan = (chan + 1) % psf->sf.channels ;
380 sf_seek ((SNDFILE*) psf, position, SEEK_SET) ; /* Return to original position. */
382 sf_command ((SNDFILE*) psf, SFC_SET_NORM_DOUBLE, NULL, save_state) ;
388 psf_get_signal_max (SF_PRIVATE *psf, double *peak)
391 if (psf->peak_info == NULL)
394 peak [0] = psf->peak_info->peaks [0].value ;
396 for (k = 1 ; k < psf->sf.channels ; k++)
397 peak [0] = SF_MAX (peak [0], psf->peak_info->peaks [k].value) ;
403 psf_get_max_all_channels (SF_PRIVATE *psf, double *peaks)
406 if (psf->peak_info == NULL)
409 for (k = 0 ; k < psf->sf.channels ; k++)
410 peaks [k] = psf->peak_info->peaks [k].value ;