12-command-art

This commit is contained in:
Loic Coenen
2026-05-10 01:08:11 +00:00
parent 98c851f051
commit 900619a714
10 changed files with 134 additions and 127 deletions

View File

@@ -36,36 +36,34 @@ void midi_handle_events(void *port_buffer, jack_nframes_t nframes) {
if (ck) {
atomic_store(&control_key_active, 0);
if (note < 16) {
command_t cmd = { .type = CMD_BIND_CHANNEL, .channel = -1, .data = note };
command_t cmd = {
.type = CMD_BIND_CHANNEL, .channel = -1, .data = note};
queue_push(&cmd_queue, cmd);
} else {
switch (note) {
case 60:
{
command_t cmd = { .type = CMD_ADD_CHANNEL, .channel = -1, .data = 0 };
case 60: {
command_t cmd = {
.type = CMD_ADD_CHANNEL, .channel = -1, .data = 0};
queue_push(&cmd_queue_main_midi, cmd);
} break;
case 61:
{
command_t cmd = { .type = CMD_REMOVE_CHANNEL, .channel = -1, .data = 0 };
case 61: {
command_t cmd = {
.type = CMD_REMOVE_CHANNEL, .channel = -1, .data = 0};
queue_push(&cmd_queue_main_midi, cmd);
} break;
case 62:
{
case 62: {
int bch = atomic_load(&bind_channel);
if (bch >= 0 && bch < MAX_CHANNELS) {
command_t cmd = { .type = CMD_CYCLE, .channel = bch, .data = 0 };
command_t cmd = {.type = CMD_CYCLE, .channel = bch, .data = 0};
queue_push(&cmd_queue, cmd);
}
} break;
case 63:
{
command_t cmd = { .type = CMD_UNBIND, .channel = -1, .data = 0 };
case 63: {
command_t cmd = {.type = CMD_UNBIND, .channel = -1, .data = 0};
queue_push(&cmd_queue, cmd);
} break;
case 65:
{
command_t cmd = { .type = CMD_STOP, .channel = -1, .data = 0 };
case 65: {
command_t cmd = {.type = CMD_STOP, .channel = -1, .data = 0};
queue_push(&cmd_queue, cmd);
} break;
default:
@@ -75,19 +73,17 @@ void midi_handle_events(void *port_buffer, jack_nframes_t nframes) {
} else {
/* direct mapping */
switch (note) {
case 1:
{
command_t cmd = { .type = CMD_CYCLE, .channel = 0, .data = 0 };
queue_push(&cmd_queue, cmd);
} break;
case 60:
{
command_t cmd = { .type = CMD_ADD_CHANNEL, .channel = -1, .data = 0 };
case 1: {
command_t cmd = {.type = CMD_CYCLE, .channel = 0, .data = 0};
queue_push(&cmd_queue, cmd);
} break;
case 60: {
command_t cmd = {.type = CMD_ADD_CHANNEL, .channel = -1, .data = 0};
queue_push(&cmd_queue_main_midi, cmd);
} break;
case 61:
{
command_t cmd = { .type = CMD_REMOVE_CHANNEL, .channel = -1, .data = 0 };
case 61: {
command_t cmd = {
.type = CMD_REMOVE_CHANNEL, .channel = -1, .data = 0};
queue_push(&cmd_queue_main_midi, cmd);
} break;
default: