type alias refactor

This commit is contained in:
2026-03-04 16:26:17 -05:00
parent 75ac2883f7
commit fb358e3c4b
19 changed files with 614 additions and 603 deletions

View File

@@ -1,32 +1,31 @@
#pragma once
#include <stdint.h>
#include <stdbool.h>
#include "base/base_core.h"
struct MidiEngine;
struct MidiDeviceInfo {
char name[64];
int32_t id;
bool is_input;
bool active; // true when note(s) currently held
bool releasing; // true during release flash
int32_t velocity; // last note-on velocity (0-127)
int32_t note; // last MIDI note number (0-127)
S32 id;
B32 is_input;
B32 active; // true when note(s) currently held
B32 releasing; // true during release flash
S32 velocity; // last note-on velocity (0-127)
S32 note; // last MIDI note number (0-127)
};
MidiEngine *midi_create();
void midi_destroy(MidiEngine *engine);
void midi_refresh_devices(MidiEngine *engine);
int32_t midi_get_device_count(MidiEngine *engine);
MidiDeviceInfo *midi_get_device(MidiEngine *engine, int32_t index);
S32 midi_get_device_count(MidiEngine *engine);
MidiDeviceInfo *midi_get_device(MidiEngine *engine, S32 index);
void midi_open_all_inputs(MidiEngine *engine);
void midi_close_all_inputs(MidiEngine *engine);
void midi_update(MidiEngine *engine, float dt);
bool midi_is_input_active(MidiEngine *engine, int32_t device_index);
void midi_update(MidiEngine *engine, F32 dt);
B32 midi_is_input_active(MidiEngine *engine, S32 device_index);
// Per-note state: returns true if note (0-127) is currently held on any input device
bool midi_is_note_held(MidiEngine *engine, int32_t note);
B32 midi_is_note_held(MidiEngine *engine, S32 note);
// Returns the last note-on velocity (0-127) for a given note, or 0 if not held
int32_t midi_get_note_velocity(MidiEngine *engine, int32_t note);
S32 midi_get_note_velocity(MidiEngine *engine, S32 note);