aboutsummaryrefslogtreecommitdiffstats
path: root/src/common/dtmf.h
blob: a0120dbdca39482a52a6f5bd3ad8937b4c926232 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
typedef struct dtmf {
	int	samplerate;		/* samplerate */
	char	tone;			/* current tone to be played */
	int	pos;			/* sample counter for tone */
	int	max;			/* max number of samples for tone duration */
	double	phaseshift256[2];	/* how much the phase of sine wave changes per sample */
	double	phase256[2];		/* current phase */
} dtmf_t;

void dtmf_init(dtmf_t *dtmf, int samplerate);
void dtmf_set_tone(dtmf_t *dtmf, char tone);
void dtmf_tone(dtmf_t *dtmf, int16_t *samples, int length);