svcore  1.9
LogRange.h
Go to the documentation of this file.
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 #include <vector>
20 #include "Debug.h"
21 
22 class LogRange
23 {
24 public:
31  static void mapRange(float &min, float &max, float thresh = -10);
32 
38  static float map(float value, float thresh = -10);
39 
44  static float unmap(float value);
45 
51  static bool useLogScale(std::vector<float> values);
52 
53 };
54 
55 #endif
static void mapRange(float &min, float &max, float thresh=-10)
Map a linear range onto a logarithmic range.
Definition: LogRange.cpp:24
static bool useLogScale(std::vector< float > values)
Estimate whether a set of values would be more properly shown using a logarithmic than a linear scale...
Definition: LogRange.cpp:94
static float map(float value, float thresh=-10)
Map a value onto a logarithmic range.
Definition: LogRange.cpp:65
static float unmap(float value)
Map a value from the logarithmic range back again.
Definition: LogRange.cpp:72