ardour
parameter_descriptor.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2014 Paul Davis
3  Author: David Robillard
4 
5  This program is free software; you can redistribute it and/or modify it
6  under the terms of the GNU General Public License as published by the Free
7  Software Foundation; either version 2 of the License, or (at your option)
8  any later version.
9 
10  This program is distributed in the hope that it will be useful, but WITHOUT
11  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13  for more details.
14 
15  You should have received a copy of the GNU General Public License along
16  with this program; if not, write to the Free Software Foundation, Inc.,
17  675 Mass Ave, Cambridge, MA 02139, USA.
18 */
19 
20 #ifndef __ardour_parameter_descriptor_h__
21 #define __ardour_parameter_descriptor_h__
22 
23 #include "ardour/variant.h"
24 
25 #include "evoral/Parameter.hpp"
27 
28 namespace ARDOUR {
29 
30 typedef std::map<const std::string, const float> ScalePoints;
31 
37 {
38  enum Unit {
39  NONE,
40  DB,
42  HZ,
43  };
44 
45  ParameterDescriptor(const Evoral::Parameter& parameter);
46 
48 
50  void update_steps();
51 
52  std::string label;
53  std::string print_fmt;
55  uint32_t key;
59  float step;
60  float smallstep;
61  float largestep;
68 };
69 
70 } // namespace ARDOUR
71 
72 #endif // __ardour_parameter_descriptor_h__
std::map< const std::string, const float > ScalePoints
uint32_t key
for properties
Definition: amp.h:29
std::string print_fmt
format string for pretty printing
AutomationType
Definition: types.h:121
#define LIBARDOUR_API
boost::shared_ptr< ScalePoints > scale_points
Variant::Type datatype
for properties