spandsp: tone_generate.h Source File

spandsp 0.0.6

private/tone_generate.h
1/*
2 * SpanDSP - a series of DSP components for telephony
3 *
4 * private/tone_generate.h - General telephony tone generation.
5 *
6 * Written by Steve Underwood <steveu@coppice.org>
7 *
8 * Copyright (C) 2001 Steve Underwood
9 *
10 * All rights reserved.
11 *
12 * This program is free software; you can redistribute it and/or modify
13 * it under the terms of the GNU Lesser General Public License version 2.1,
14 * as published by the Free Software Foundation.
15 *
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU Lesser General Public License for more details.
20 *
21 * You should have received a copy of the GNU Lesser General Public
22 * License along with this program; if not, write to the Free Software
23 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
24 */
25
26#if !defined(_SPANDSP_PRIVATE_TONE_GENERATE_H_)
27#define _SPANDSP_PRIVATE_TONE_GENERATE_H_
28
29 struct tone_gen_tone_descriptor_s
30{
31 int32_t phase_rate;
32#if defined(SPANDSP_USE_FIXED_POINT)
33 int16_t gain;
34#else
35 float gain;
36#endif
37};
38
39/*!
40 Cadenced multi-tone generator descriptor.
41*/
42 struct tone_gen_descriptor_s
43{
44 tone_gen_tone_descriptor_t tone[4];
45 int duration[4];
46 int repeat;
47};
48
49/*!
50 Cadenced multi-tone generator state descriptor. This defines the state of
51 a single working instance of a generator.
52*/
53 struct tone_gen_state_s
54{
55 tone_gen_tone_descriptor_t tone[4];
56
57 uint32_t phase[4];
58 int duration[4];
59 int repeat;
60
61 int current_section;
62 int current_position;
63};
64
65#endif
66/*- End of file ------------------------------------------------------------*/
tone_gen_descriptor_s
Definition private/tone_generate.h:43
tone_gen_state_s
Definition private/tone_generate.h:54
tone_gen_tone_descriptor_s
Definition private/tone_generate.h:30