LMMS
Loading...
Searching...
No Matches
Fl_Osc_Widget.H
Go to the documentation of this file.
1/*
2 ZynAddSubFX - a software synthesizer
3
4 Fl_Osc_Widget.H - OSC Widget Superclass
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#pragma once
13#include <string>
14#include <cstring>
15#include <cassert>
16#include <cmath>
17#include "Fl_Osc_Interface.h"
18#include <FL/Fl_Group.H>
19
21{
22 public:
23 Fl_Osc_Widget(void); //Deprecated
24 Fl_Osc_Widget(Fl_Widget *self);
26 virtual ~Fl_Osc_Widget(void);
27
28 //Callback methods
29 virtual void OSC_value(float);
30 virtual void OSC_value(bool);
31 virtual void OSC_value(int);
32 virtual void OSC_value(char);
33 virtual void OSC_value(unsigned,void*);
34 virtual void OSC_value(const char *);
35
36 //labeled forwarding methods
37 virtual void OSC_value(float x, const char *);
38 virtual void OSC_value(bool x, const char *);
39 virtual void OSC_value(int x, const char *);
40 virtual void OSC_value(char x, const char *);
41 virtual void OSC_value(unsigned x, void *v, const char *);
42 virtual void OSC_value(const char *x, const char *);
43
44 //Raw messages
45 virtual void OSC_raw(const char *);
46
47 //Widget methods
48 void oscWrite(std::string path, const char *args, ...);
49 void oscWrite(std::string path);
50 void oscRegister(const char *path);
51
52 //Forces an update of parameters as they have become stale somehow
53 virtual void update(void);
54
55 //Smoothly change the base path
56 virtual void rebase(std::string new_base);
57 void oscMove(std::string new_ext);
58 //Explict version for weirdly routed controls
59 void oscMove(std::string old_loc, std::string new_loc);
60
61 //Base path
62 std::string loc;
63 //Extension
64 std::string ext;
66 protected:
67 class Fl_Osc_Pane *fetch_osc_pane(Fl_Widget *w);
68};
Definition Fl_Osc_Interface.h:56
Definition Fl_Osc_Pane.H:20
virtual void OSC_raw(const char *)
Definition Fl_Osc_Widget.cpp:56
Fl_Osc_Interface * osc
Definition Fl_Osc_Widget.H:65
std::string ext
Definition Fl_Osc_Widget.H:64
Fl_Osc_Widget(void)
Definition Fl_Osc_Widget.cpp:16
std::string loc
Definition Fl_Osc_Widget.H:62
void oscMove(std::string new_ext)
Definition Fl_Osc_Widget.cpp:122
virtual ~Fl_Osc_Widget(void)
Definition Fl_Osc_Widget.cpp:35
virtual void rebase(std::string new_base)
Definition Fl_Osc_Widget.cpp:115
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
virtual void OSC_value(float)
Definition Fl_Osc_Widget.cpp:41
virtual void update(void)
Definition Fl_Osc_Widget.cpp:97
class Fl_Osc_Pane * fetch_osc_pane(Fl_Widget *w)
Definition Fl_Osc_Widget.cpp:103
UINT_D64 w
Definition inflate.c:942
unsigned v[N_MAX]
Definition inflate.c:1584
unsigned x[BMAX+1]
Definition inflate.c:1586