release: 13
[jack_mixer.git] / scale.h
blob4beaa74afa86cf3d4059641e6029e741f633ade9
1 /* -*- Mode: C ; c-basic-offset: 2 -*- */
2 /*****************************************************************************
4 * This file is part of jack_mixer
6 * Copyright (C) 2006 Nedko Arnaudov <nedko@arnaudov.name>
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; version 2 of the License
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
21 *****************************************************************************/
23 #ifndef JACK_SCALE_H__DAEB51D8_5861_40F2_92E4_24CA495A384D__INCLUDED
24 #define JACK_SCALE_H__DAEB51D8_5861_40F2_92E4_24CA495A384D__INCLUDED
26 typedef void * jack_mixer_scale_t;
28 jack_mixer_scale_t
29 scale_create();
31 bool
32 scale_add_threshold(
33 jack_mixer_scale_t scale,
34 float db,
35 float scale_value);
37 void
38 scale_remove_thresholds(
39 jack_mixer_scale_t scale);
41 void
42 scale_calculate_coefficients(
43 jack_mixer_scale_t scale);
45 double
46 scale_db_to_scale(
47 jack_mixer_scale_t scale,
48 double db);
50 double
51 scale_scale_to_db(
52 jack_mixer_scale_t scale,
53 double scale_value);
55 void
56 scale_destroy(
57 jack_mixer_scale_t scale);
59 #endif /* #ifndef JACK_SCALE_H__DAEB51D8_5861_40F2_92E4_24CA495A384D__INCLUDED */