Lines Matching refs:effp
34 static int create(sox_effect_t * effp, int argc, char * * argv) in create() argument
36 priv_t * p = (priv_t *)effp->priv; in create()
48 default: lsx_fail("invalid option `-%c'", *q); return lsx_usage(effp); in create()
64 return argc? lsx_usage(effp) : SOX_SUCCESS; in create()
67 static int start(sox_effect_t * effp) in start() argument
69 priv_t * p = (priv_t *)effp->priv; in start()
71 if (effp->flow == 0) { in start()
73 if (!effp->in_signal.mult || *effp->in_signal.mult >= 1) { in start()
77 p->reclaim = 1 / *effp->in_signal.mult; in start()
79 effp->out_signal.mult = p->make_headroom? &p->fixed_gain : NULL; in start()
81 effp->flows = 1; /* essentially a conditional SOX_EFF_MCHAN */ in start()
96 effp->out_signal.precision = effp->in_signal.precision; in start()
100 static int flow(sox_effect_t * effp, const sox_sample_t * ibuf, in flow() argument
103 priv_t * p = (priv_t *)effp->priv; in flow()
113 double d = SOX_SAMPLE_TO_FLOAT_64BIT(*ibuf, effp->clips); in flow()
119 double d = SOX_SAMPLE_TO_FLOAT_64BIT(*ibuf, effp->clips); in flow()
132 double mult = ((priv_t *)(effp - effp->flow)->priv)->fixed_gain; in flow()
135 *obuf++ = SOX_ROUND_CLIP_COUNT(*ibuf * mult, effp->clips); in flow()
145 static void start_drain(sox_effect_t * effp) in start_drain() argument
147 priv_t * p = (priv_t *)effp->priv; in start_drain()
152 for (i = 0; i < effp->flows; ++i) { in start_drain()
153 priv_t * q = (priv_t *)(effp - effp->flow + i)->priv; in start_drain()
157 for (i = 0; i < effp->flows; ++i) { in start_drain()
158 priv_t * q = (priv_t *)(effp - effp->flow + i)->priv; in start_drain()
166 for (i = 0; i < effp->flows; ++i) { in start_drain()
167 priv_t * q = (priv_t *)(effp - effp->flow + i)->priv; in start_drain()
171 for (i = 0; i < effp->flows; ++i) { in start_drain()
172 priv_t * q = (priv_t *)(effp - effp->flow + i)->priv; in start_drain()
178 for (i = 0; i < effp->flows; ++i) { in start_drain()
179 priv_t * q = (priv_t *)(effp - effp->flow + i)->priv; in start_drain()
194 static int drain(sox_effect_t * effp, sox_sample_t * obuf, size_t * osamp) in drain() argument
196 priv_t * p = (priv_t *)effp->priv; in drain()
200 *osamp -= *osamp % effp->in_signal.channels; in drain()
204 start_drain(effp); in drain()
211 *obuf = SOX_ROUND_CLIP_COUNT(*obuf * p->mult, effp->clips); in drain()
222 static int stop(sox_effect_t * effp) in stop() argument
224 priv_t * p = (priv_t *)effp->priv; in stop()
255 static int norm_getopts(sox_effect_t * effp, int argc, char * * argv) in norm_getopts() argument
264 return argc? lsx_usage(effp) : in norm_getopts()
265 lsx_gain_effect_fn()->getopts(effp, argc2, argv2); in norm_getopts()