X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fsurfaces%2Fmackie%2Fpot.h;h=9511db0b71ca4edb5486dee922367de5eaa6db9d;hb=a1d2c1307782a1fe7dfae57e36ab480e9efbb189;hp=ccb6eec0f13e19269ed6be6793ec4cdcbdf7a688;hpb=1554e9ad9eed54bce0fcce444167d271d2fdf939;p=ardour.git diff --git a/libs/surfaces/mackie/pot.h b/libs/surfaces/mackie/pot.h index ccb6eec0f1..9511db0b71 100644 --- a/libs/surfaces/mackie/pot.h +++ b/libs/surfaces/mackie/pot.h @@ -1,16 +1,36 @@ +/* + Copyright (C) 2006,2007 John Anderson + Copyright (C) 2012 Paul Davis + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + #ifndef __ardour_mackie_control_protocol_pot_h__ #define __ardour_mackie_control_protocol_pot_h__ #include "controls.h" +namespace ArdourSurface { + namespace Mackie { class Pot : public Control { public: - enum base_id_t { - base_id = 0x30, - }; + static int const External; + static int const ID; enum Mode { dot = 0, @@ -20,28 +40,16 @@ public: }; Pot (int id, std::string name, Group & group) - : Control (id, name, group) - , value (0.0) - , mode (dot) - , on (true) {} + : Control (id, name, group) {} - MidiByteArray set_mode (Mode); - MidiByteArray set_value (float); - MidiByteArray set_onoff (bool); - MidiByteArray set_all (float, bool, Mode); - - MidiByteArray zero() { return set_value (0.0); } - - MidiByteArray update_message (); + MidiByteArray set (float, bool, Mode); + MidiByteArray zero() { return set (0.0, false, Pot::spread); } static Control* factory (Surface&, int id, const char*, Group&); - private: - float value; - Mode mode; - bool on; }; +} } #endif /* __ardour_mackie_control_protocol_pot_h__ */