Mercurial > hg > svcore
comparison base/LogRange.h @ 224:8ff1ad4e7a9c
* Work on harmonising colour and scale ranges between types of layer
* Add normalize options to colour 3d plot layer
author | Chris Cannam |
---|---|
date | Thu, 01 Feb 2007 14:31:28 +0000 |
parents | |
children | 2268963dabd1 |
comparison
equal
deleted
inserted
replaced
223:bf753a9abf0c | 224:8ff1ad4e7a9c |
---|---|
1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ | |
2 | |
3 /* | |
4 Sonic Visualiser | |
5 An audio file viewer and annotation editor. | |
6 Centre for Digital Music, Queen Mary, University of London. | |
7 This file copyright 2006 Chris Cannam. | |
8 | |
9 This program is free software; you can redistribute it and/or | |
10 modify it under the terms of the GNU General Public License as | |
11 published by the Free Software Foundation; either version 2 of the | |
12 License, or (at your option) any later version. See the file | |
13 COPYING included with this distribution for more information. | |
14 */ | |
15 | |
16 #ifndef _LOG_RANGE_H_ | |
17 #define _LOG_RANGE_H_ | |
18 | |
19 class LogRange | |
20 { | |
21 public: | |
22 /** | |
23 * Map a linear range onto a logarithmic range. min and max are | |
24 * passed as the extents of the linear range and returned as the | |
25 * extents of the logarithmic range. thresh is the minimum value | |
26 * for the log range, to be used if the linear range spans zero. | |
27 */ | |
28 static void mapRange(float &min, float &max, float thresh = -10); | |
29 | |
30 /** | |
31 * Map a value onto a logarithmic range. This just means taking | |
32 * the base-10 log of the absolute value, or using the threshold | |
33 * value if the absolute value is zero. | |
34 */ | |
35 static float map(float value, float thresh = -10); | |
36 }; | |
37 | |
38 #endif |