#pragma once // cs_midi.h — Control Surface library for pico-sdk // Extracted from tttapa/Control-Surface (GPL-3.0) // Platform #include // MIDI message types & parsers #include // MIDI address types #include #include #include #include // MIDI constants #include #include #include #include // MIDI interfaces — common #include #include // MIDI interfaces — transport-specific #ifdef CS_MIDI_BLE #include #include #endif #ifdef CS_MIDI_USB #include #endif #ifdef CS_MIDI_SERIAL #include #endif #ifdef CS_MIDI_APPLEMIDI #include #endif // Control Surface singleton #include // Banks & selectors #include #include #include #include #include #include #include #include #include // MIDI output elements #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include // MIDI input elements #include #include #include #include // Encoder #include BEGIN_CS_NAMESPACE #ifdef CS_MIDI_BLE using BluetoothMIDI_Interface = GenericBLEMIDI_Interface; #endif #if defined(CS_MIDI_HID_KEYBOARD) && defined(CS_MIDI_BLE) namespace midi_ble_btstack { void set_battery_level(uint8_t percent); } inline void setBLEBatteryLevel(uint8_t percent) { midi_ble_btstack::set_battery_level(percent); } #endif END_CS_NAMESPACE