summaryrefslogtreecommitdiff
path: root/libs/surfaces/faderport8/fp8_button.h
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-04-20 16:06:47 +0200
committerRobin Gareus <robin@gareus.org>2017-04-20 16:06:47 +0200
commit8add4eefad58458acb7212b3cdba2807f593cfc8 (patch)
tree42a9ee669b8bf564c20180c6e84d40765b7de2b2 /libs/surfaces/faderport8/fp8_button.h
parent24699d3be41b6527479419006fca1c2b3b424028 (diff)
FP8: some code comments and cleanup
Diffstat (limited to 'libs/surfaces/faderport8/fp8_button.h')
-rw-r--r--libs/surfaces/faderport8/fp8_button.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/libs/surfaces/faderport8/fp8_button.h b/libs/surfaces/faderport8/fp8_button.h
index a817dd8e79..cddf7f471f 100644
--- a/libs/surfaces/faderport8/fp8_button.h
+++ b/libs/surfaces/faderport8/fp8_button.h
@@ -1,4 +1,5 @@
-/*
+/* FaderPort8 Button Interface
+ *
* Copyright (C) 2017 Robin Gareus <robin@gareus.org>
*
* This program is free software; you can redistribute it and/or
@@ -28,6 +29,7 @@
namespace ArdourSurface {
+/* virtual base-class and interface */
class FP8ButtonInterface
{
public:
@@ -58,6 +60,10 @@ public:
static bool force_change; // used during init
};
+/* ****************************************************************************
+ * Implementations
+ */
+
class FP8DummyButton : public FP8ButtonInterface
{
public:
@@ -66,6 +72,7 @@ public:
};
+/* common implementation */
class FP8ButtonBase : public FP8ButtonInterface
{
public:
@@ -129,6 +136,7 @@ private:
bool _blinking;
};
+/* A basic LED or RGB button, not shift sensitive */
class FP8Button : public FP8ButtonBase
{
public:
@@ -169,6 +177,7 @@ protected:
bool _has_color;
};
+/* footswitch and encoder-press buttons */
class FP8ReadOnlyButton : public FP8Button
{
public:
@@ -430,6 +439,9 @@ private:
sigc::connection _hold_connection;
};
+/* an auto-repeat button.
+ * press + hold emits continuous "press" events.
+ */
class FP8RepeatButton : public FP8Button
{
public:
@@ -485,6 +497,5 @@ private:
sigc::connection _press_timeout_connection;
};
-
} /* namespace */
#endif /* _ardour_surfaces_fp8button_h_ */