commit 4c7500b735f9b0e53cb7e58ee25b8e125a0e0847
parent 33d549538bdba7acf91c7a01626335d6d4afe727
Author: fundamental <mark.d.mccurry@gmail.com>
Date: Thu, 18 Jun 2015 10:44:21 -0400
UI: Add Numeric Input To ConfigUI
Diffstat:
4 files changed, 51 insertions(+), 2 deletions(-)
diff --git a/src/UI/CMakeLists.txt b/src/UI/CMakeLists.txt
@@ -67,6 +67,7 @@ add_library(zynaddsubfx_gui STATIC
Fl_Osc_Output.cpp
Fl_Osc_Counter.cpp
Fl_Osc_Input.cpp
+ Fl_Osc_Numeric_Input.cpp
Fl_Osc_Value.cpp
Fl_Osc_ListView.cpp
Fl_Resonance_Graph.cpp
diff --git a/src/UI/ConfigUI.fl b/src/UI/ConfigUI.fl
@@ -35,6 +35,9 @@ decl {\#include "Fl_Osc_Check.H"} {public local
decl {\#include "Fl_Osc_Input.H"} {public local
}
+decl {\#include "Fl_Osc_Numeric_Input.H"} {public local
+}
+
decl {\#include "Fl_Osc_ListView.H"} {public local
}
@@ -71,14 +74,14 @@ class ConfigUI {} {
Fl_Input samplerateinput {
xywh {115 50 60 20} type Int textfont 1
code0 {o->init("cfg.SampleRate");}
- class Fl_Osc_Input
+ class Fl_Osc_Numeric_Input
}
}
Fl_Input {} {
label {Buffer Size}
tooltip {Internal Sound Buffer Size (samples)} xywh {190 45 60 20} type Int labelsize 11 align 129 textfont 1
code0 {o->init("cfg.SoundBufferSize");}
- class Fl_Osc_Input
+ class Fl_Osc_Numeric_Input
}
Fl_Check_Button {} {
label {Swap Stereo }
diff --git a/src/UI/Fl_Osc_Numeric_Input.H b/src/UI/Fl_Osc_Numeric_Input.H
@@ -0,0 +1,17 @@
+#pragma once
+#include <FL/Fl_Input.H>
+#include "Fl_Osc_Widget.H"
+
+class Fl_Osc_Numeric_Input: public Fl_Input, public Fl_Osc_Widget
+{
+ public:
+ Fl_Osc_Numeric_Input(int X, int Y, int W, int H, const char *label = NULL);
+ virtual ~Fl_Osc_Numeric_Input(void);
+
+ //Normal Initialization
+ void init(const char *path);
+
+ virtual void OSC_value(int i) override;
+ virtual void OSC_value(float f) override;
+ virtual void OSC_raw(const char *) override {printf("Fl_Osc_Numeric_Input\n");};
+};
diff --git a/src/UI/Fl_Osc_Numeric_Input.cpp b/src/UI/Fl_Osc_Numeric_Input.cpp
@@ -0,0 +1,28 @@
+#include "Fl_Osc_Numeric_Input.H"
+
+Fl_Osc_Numeric_Input::Fl_Osc_Numeric_Input(int X, int Y, int W, int H, const char *label)
+ :Fl_Input(X,Y,W,H, label), Fl_Osc_Widget(this)
+{
+}
+
+Fl_Osc_Numeric_Input::~Fl_Osc_Numeric_Input(void)
+{}
+
+void Fl_Osc_Numeric_Input::init(const char *path)
+{
+ ext = path;
+ oscRegister(path);
+}
+
+void Fl_Osc_Numeric_Input::OSC_value(float f)
+{
+ OSC_value((int)f);
+}
+
+void Fl_Osc_Numeric_Input::OSC_value(int i)
+{
+ char buf[128];
+ snprintf(buf, 128, "%d", i);
+ value(buf);
+ printf("Osc value here\n");
+}