LMMS
Loading...
Searching...
No Matches
Fl_Osc_Roller.cpp
Go to the documentation of this file.
1/*
2 ZynAddSubFX - a software synthesizer
3
4 Fl_Osc_Roller.cpp - OSC Powered Roller
5 Copyright (C) 2016 Mark McCurry
6
7 This program is free software; you can redistribute it and/or
8 modify it under the terms of the GNU General Public License
9 as published by the Free Software Foundation; either version 2
10 of the License, or (at your option) any later version.
11*/
12#include "Fl_Osc_Roller.H"
13#include <cstdlib>
14#include <cstring>
15#include <cmath>
16#include <cassert>
17#include <sstream>
18
19static void callback_fn_roller(Fl_Widget *w, void *)
20{
21 ((Fl_Osc_Roller*)w)->cb();
22}
23
24Fl_Osc_Roller::Fl_Osc_Roller(int X, int Y, int W, int H, const char *label)
25 :Fl_Roller(X,Y,W,H, label), Fl_Osc_Widget(this)
26{
27 Fl_Roller::callback(callback_fn_roller);
28 bounds(0.0, 127.0f);
29}
30
31
32void Fl_Osc_Roller::init(const char *path)
33{
34 name = path;
35 oscRegister(path);
36};
37
40
41void Fl_Osc_Roller::callback(Fl_Callback *cb, void *p)
42{
43 cb_data.first = cb;
44 cb_data.second = p;
45}
46
48{
49 value(v);
50}
51
53{
55}
56
58{
59 oscWrite(name, "i", (int)value());
60
61 if(cb_data.first)
62 cb_data.first(this, cb_data.second);
63}
static void callback_fn_roller(Fl_Widget *w, void *)
Definition Fl_Osc_Roller.cpp:19
Definition Fl_Osc_Roller.H:17
void cb(void)
Definition Fl_Osc_Roller.cpp:57
std::pair< Fl_Callback *, void * > cb_data
Definition Fl_Osc_Roller.H:34
std::string name
Definition Fl_Osc_Roller.H:33
void update(void)
Definition Fl_Osc_Roller.cpp:52
void callback(Fl_Callback *cb, void *p=NULL)
Definition Fl_Osc_Roller.cpp:41
Fl_Osc_Roller(int X, int Y, int W, int H, const char *label=NULL)
Definition Fl_Osc_Roller.cpp:24
void OSC_value(char) override
Definition Fl_Osc_Roller.cpp:47
virtual ~Fl_Osc_Roller(void)
Definition Fl_Osc_Roller.cpp:38
void init(const char *path)
Definition Fl_Osc_Roller.cpp:32
Fl_Osc_Widget(void)
Definition Fl_Osc_Widget.cpp:16
void oscRegister(const char *path)
Definition Fl_Osc_Widget.cpp:91
void oscWrite(std::string path, const char *args,...)
Definition Fl_Osc_Widget.cpp:60
UINT_D64 w
Definition inflate.c:942
unsigned v[N_MAX]
Definition inflate.c:1584
static PuglViewHint int value
Definition pugl.h:1708
#define X(str)
Definition juce_LV2Common.h:197
uch * p
Definition crypt.c:594