OSC: Allow /bank_up to accept -1 as well as 1 so encoder can work.
This commit is contained in:
parent
01e75da96b
commit
33bfe681c9
@ -530,7 +530,7 @@ OSC::register_callbacks()
|
|||||||
REGISTER_CALLBACK (serv, "/scroll_dn_1_page", "f", scroll_dn_1_page);
|
REGISTER_CALLBACK (serv, "/scroll_dn_1_page", "f", scroll_dn_1_page);
|
||||||
REGISTER_CALLBACK (serv, "/scroll_dn_1_page", "", scroll_dn_1_page);
|
REGISTER_CALLBACK (serv, "/scroll_dn_1_page", "", scroll_dn_1_page);
|
||||||
REGISTER_CALLBACK (serv, "/bank_up", "", bank_up);
|
REGISTER_CALLBACK (serv, "/bank_up", "", bank_up);
|
||||||
REGISTER_CALLBACK (serv, "/bank_up", "f", bank_up);
|
REGISTER_CALLBACK (serv, "/bank_up", "f", bank_delta);
|
||||||
REGISTER_CALLBACK (serv, "/bank_down", "", bank_down);
|
REGISTER_CALLBACK (serv, "/bank_down", "", bank_down);
|
||||||
REGISTER_CALLBACK (serv, "/bank_down", "f", bank_down);
|
REGISTER_CALLBACK (serv, "/bank_down", "f", bank_down);
|
||||||
|
|
||||||
@ -1908,6 +1908,23 @@ OSC::bank_up (lo_message msg)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
OSC::bank_delta (float delta, lo_message msg)
|
||||||
|
{
|
||||||
|
if (!session) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
OSCSurface *s = get_surface(get_address (msg));
|
||||||
|
uint32_t new_bank = s->bank + (s->bank_size * (int) delta);
|
||||||
|
if ((int)new_bank < 1) {
|
||||||
|
new_bank = 1;
|
||||||
|
}
|
||||||
|
if (new_bank != s->bank) {
|
||||||
|
set_bank (new_bank, msg);
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
OSC::bank_down (lo_message msg)
|
OSC::bank_down (lo_message msg)
|
||||||
{
|
{
|
||||||
|
@ -419,6 +419,7 @@ class OSC : public ARDOUR::ControlProtocol, public AbstractUI<OSCUIRequest>
|
|||||||
PATH_CALLBACK1_MSG(scrub,f);
|
PATH_CALLBACK1_MSG(scrub,f);
|
||||||
PATH_CALLBACK1_MSG(jog,f);
|
PATH_CALLBACK1_MSG(jog,f);
|
||||||
PATH_CALLBACK1_MSG(jog_mode,f);
|
PATH_CALLBACK1_MSG(jog_mode,f);
|
||||||
|
PATH_CALLBACK1_MSG(bank_delta,f);
|
||||||
PATH_CALLBACK1_MSG(sel_recenable,i);
|
PATH_CALLBACK1_MSG(sel_recenable,i);
|
||||||
PATH_CALLBACK1_MSG(sel_recsafe,i);
|
PATH_CALLBACK1_MSG(sel_recsafe,i);
|
||||||
PATH_CALLBACK1_MSG(sel_mute,i);
|
PATH_CALLBACK1_MSG(sel_mute,i);
|
||||||
@ -589,6 +590,7 @@ class OSC : public ARDOUR::ControlProtocol, public AbstractUI<OSCUIRequest>
|
|||||||
int set_bank (uint32_t bank_start, lo_message msg);
|
int set_bank (uint32_t bank_start, lo_message msg);
|
||||||
int _set_bank (uint32_t bank_start, lo_address addr);
|
int _set_bank (uint32_t bank_start, lo_address addr);
|
||||||
int bank_up (lo_message msg);
|
int bank_up (lo_message msg);
|
||||||
|
int bank_delta (float delta, lo_message msg);
|
||||||
int bank_down (lo_message msg);
|
int bank_down (lo_message msg);
|
||||||
int set_surface (uint32_t b_size, uint32_t strips, uint32_t fb, uint32_t gmode, uint32_t se_size, uint32_t pi_size, lo_message msg);
|
int set_surface (uint32_t b_size, uint32_t strips, uint32_t fb, uint32_t gmode, uint32_t se_size, uint32_t pi_size, lo_message msg);
|
||||||
int set_surface_bank_size (uint32_t bs, lo_message msg);
|
int set_surface_bank_size (uint32_t bs, lo_message msg);
|
||||||
|
Loading…
Reference in New Issue
Block a user