zynaddsubfx

ZynAddSubFX open source synthesizer
Log | Files | Refs | Submodules | LICENSE

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:
Msrc/UI/CMakeLists.txt | 1+
Msrc/UI/ConfigUI.fl | 7+++++--
Asrc/UI/Fl_Osc_Numeric_Input.H | 17+++++++++++++++++
Asrc/UI/Fl_Osc_Numeric_Input.cpp | 28++++++++++++++++++++++++++++
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"); +}