24#ifndef RTOSC_MIDITABLE_H
25#define RTOSC_MIDITABLE_H
65 {
TinyVector next(
n+1);
for(
int i=0;
i<
n + 1; ++
i) next.
t[
i]=0;
return std::move(next);}
103 void map(
const char *addr,
bool coarse =
true);
113 void unMap(
const char *addr,
bool coarse);
115 void delMapping(
int ID,
bool coarse,
const char *addr);
133 void setBounds(
const char *str,
float low,
float high);
135 std::tuple<float,float,float,float>
getBounds(
const char *str);
137 bool has(std::string addr);
140 bool hasFine(std::string addr);
147 std::map<std::string, std::tuple<int, int, int, MidiBijection>>
inv_map;
178 for(
int i=0;
i<32; ++
i)
199 for(
int i=0;
i<32; ++
i)
268 void learn(
const char *
s);
Definition miditable.h:173
void pop(void)
Definition miditable.h:189
int vals[32]
Definition miditable.h:204
int pos_r
Definition miditable.h:205
PendingQueue()
Definition miditable.h:175
bool has(int x)
Definition miditable.h:197
void insert(int x)
Definition miditable.h:181
int pos_w
Definition miditable.h:206
int size
Definition miditable.h:207
void setBackendCb(std::function< void(const char *)> cb)
Definition midimapper.cpp:549
MidiMapperRT(void)
Definition midimapper.cpp:546
static const Ports ports
Definition miditable.h:169
void setFrontendCb(std::function< void(const char *)> cb)
Definition midimapper.cpp:550
void addWatch(void)
Definition midimapper.cpp:561
void remWatch(void)
Definition midimapper.cpp:562
std::function< void(const char *)> frontend
Definition miditable.h:219
Port bindPort(void)
Definition midimapper.cpp:597
PendingQueue pending
Definition miditable.h:215
Port removeWatchPort(void)
Definition midimapper.cpp:592
void handleCC(int ID, int val)
Definition midimapper.cpp:551
MidiMapperStorage * storage
Definition miditable.h:216
Port addWatchPort(void)
Definition midimapper.cpp:587
std::function< void(const char *)> backend
Definition miditable.h:218
unsigned watchSize
Definition miditable.h:217
Definition miditable.h:53
TinyVector(int i)
Definition miditable.h:58
T * t
Definition miditable.h:55
int n
Definition miditable.h:54
T operator[](int i) const
Definition miditable.h:60
TinyVector sized_clone(void)
Definition miditable.h:66
TinyVector(void)
Definition miditable.h:57
TinyVector one_larger(void)
Definition miditable.h:64
TinyVector insert(const T &t_)
Definition miditable.h:62
int size(void) const
Definition miditable.h:70
TinyVector clone(void)
Definition miditable.h:68
T & operator[](int i)
Definition miditable.h:59
Definition miditable.h:49
TinyVector< int > values
Definition miditable.h:79
std::function< void(int16_t, write_cb)> callback_t
Definition miditable.h:74
MidiMapperStorage * clone(void)
Definition midimapper.cpp:102
TinyVector< callback_t > callbacks
Definition miditable.h:77
std::function< void(const char *)> write_cb
Definition miditable.h:73
bool handleCC(int ID, int val, write_cb write)
Definition midimapper.cpp:50
TinyVector< std::tuple< int, bool, int > > mapping
Definition miditable.h:76
void cloneValues(const MidiMapperStorage &storage)
Definition midimapper.cpp:70
int getCoarse(std::string addr)
Definition midimapper.cpp:526
void apply_low(int v, int ID)
Definition midimapper.cpp:436
void addNewMapper(int ID, const Port &port, std::string addr)
Definition midimapper.cpp:196
std::map< std::string, std::tuple< int, int, int, MidiBijection > > inv_map
Definition miditable.h:147
bool hasFinePending(std::string addr)
Definition midimapper.cpp:518
bool has(std::string addr)
Definition midimapper.cpp:481
bool hasFine(std::string addr)
Definition midimapper.cpp:502
const Ports * base_ports
Definition miditable.h:151
MidiMappernRT(void)
Definition midimapper.cpp:129
std::function< void(const char *)> rt_cb
Definition miditable.h:149
MidiBijection getBijection(std::string s)
Definition midimapper.cpp:399
void delMapping(int ID, bool coarse, const char *addr)
Definition midimapper.cpp:344
MidiMapperStorage * storage
Definition miditable.h:150
MidiMapperStorage * generateNewBijection(const Port &port, std::string)
Definition midimapper.cpp:146
void map(const char *addr, bool coarse=true)
Definition midimapper.cpp:133
void useFreeID(int ID)
Definition midimapper.cpp:266
void snoop(const char *msg)
Definition midimapper.cpp:404
bool hasPending(std::string addr)
Definition midimapper.cpp:486
void setBounds(const char *str, float low, float high)
Definition midimapper.cpp:444
std::map< std::string, std::string > getMidiMappingStrings(void)
Definition midimapper.cpp:363
int getFine(std::string addr)
Definition midimapper.cpp:534
void replaceMapping(int, bool, const char *)
Definition midimapper.cpp:349
std::deque< std::pair< std::string, bool > > learnQueue
Definition miditable.h:148
void apply_high(int v, int ID)
Definition midimapper.cpp:435
void addFineMapper(int ID, const Port &port, std::string addr)
Definition midimapper.cpp:237
std::tuple< float, float, float, float > getBounds(const char *str)
Definition midimapper.cpp:468
void unMap(const char *addr, bool coarse)
Definition midimapper.cpp:306
std::string getMappedString(std::string addr)
Definition midimapper.cpp:380
bool hasCoarsePending(std::string addr)
Definition midimapper.cpp:510
void clear(void)
Definition midimapper.cpp:351
void apply_midi(int val, int ID)
Definition midimapper.cpp:437
bool hasCoarse(std::string addr)
Definition midimapper.cpp:494
Definition miditable.cpp:9
void process(uint8_t ch, uint8_t ctl, uint8_t val)
Definition miditable.cpp:183
short unhandled_ch
Definition miditable.h:245
void clear_entry(const char *s)
Definition miditable.cpp:170
void(* error_cb)(const char *, const char *)
Definition miditable.h:249
void addElm(uint8_t ch, uint8_t ctl, const char *path)
Definition miditable.cpp:113
class MidiTable_Impl * impl
Definition miditable.h:282
void learn(const char *s)
Definition miditable.cpp:158
static float translate(uint8_t val, const char *meta)
Definition miditable.cpp:241
void(* event_cb)(const char *)
Definition miditable.h:250
Port learnPort(void)
Definition miditable.cpp:216
bool has(uint8_t ch, uint8_t ctl) const
Definition miditable.cpp:67
short unhandled_ctl
Definition miditable.h:246
void(* modify_cb)(const char *, const char *, const char *, int, int)
Definition miditable.h:251
char * unhandled_path
Definition miditable.h:247
MidiTable(const Ports &_dispatch_root)
Definition miditable.cpp:52
~MidiTable()
Definition miditable.cpp:61
void check_learn(void)
Definition miditable.cpp:149
MidiAddr * get(uint8_t ch, uint8_t ctl)
Definition miditable.cpp:76
Port registerPort(void)
Definition miditable.cpp:232
bool mash_port(MidiAddr &e, const Port &port)
Definition miditable.cpp:92
const Ports & dispatch_root
Definition miditable.h:244
Port unlearnPort(void)
Definition miditable.cpp:224
* e
Definition inflate.c:1404
unsigned v[N_MAX]
Definition inflate.c:1584
register unsigned i
Definition inflate.c:1575
unsigned s
Definition inflate.c:1555
unsigned x[BMAX+1]
Definition inflate.c:1586
int val
Definition jpeglib.h:956
short int16_t
Definition mid.cpp:96
unsigned char uint8_t
Definition mid.cpp:98
const char * msg
Definition missing_descriptor.c:20
Definition miditable.h:223
char type
Definition miditable.h:228
uint8_t ch
Definition miditable.h:225
const char * conversion
Definition miditable.h:232
char * path
Definition miditable.h:230
uint8_t ctl
Definition miditable.h:225
Definition miditable.h:90
float max
Definition miditable.h:93
int mode
Definition miditable.h:91
int operator()(float x) const
Definition midimapper.cpp:111
float min
Definition miditable.h:92
typedef int(UZ_EXP MsgFn)()
#define void
Definition unzip.h:396