Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
ble_midi.hpp File Reference
#include <pulp/midi/device.hpp>
#include <chrono>
#include <cstdint>
#include <functional>
#include <memory>
#include <string>
#include <vector>

Go to the source code of this file.

Classes

struct  pulp::midi::BleMidiPeripheral
 One BLE peripheral that advertises the BLE-MIDI service. More...
class  pulp::midi::BleMidiCentral
 Cross-platform BLE MIDI central. More...
struct  pulp::midi::BleMidiUuids
 The well-known service / characteristic UUIDs (16-byte big-endian). More...
class  pulp::midi::BleMidiPacketDecoder
 Stateful decoder. More...

Namespaces

namespace  pulp
namespace  pulp::midi

Typedefs

using pulp::midi::BleMidiScanCallback = std::function<void(const BleMidiPeripheral&)>
 Callback fired each time the scanner observes a peripheral that advertises the BLE-MIDI service UUID.
using pulp::midi::BleMidiStateCallback
 Callback for connection-state changes against a specific peripheral id.

Enumerations

enum class  pulp::midi::BleMidiConnectionState {
  pulp::midi::Idle , pulp::midi::Scanning , pulp::midi::Connecting , pulp::midi::Connected ,
  pulp::midi::Disconnected , pulp::midi::Failed
}
 Connection state for an attempted BLE pairing. More...
enum class  pulp::midi::BleMidiError {
  pulp::midi::None , pulp::midi::PermissionDenied , pulp::midi::BluetoothOff , pulp::midi::Unsupported ,
  pulp::midi::PeripheralNotFound , pulp::midi::ConnectFailed , pulp::midi::ServiceNotFound , pulp::midi::Timeout
}
 Backend-reported error code. More...

Functions

std::unique_ptr< BleMidiCentral > pulp::midi::create_ble_midi_central ()
 Create the BLE MIDI central for the current platform.
std::vector< uint8_t > pulp::midi::encode_ble_midi_packet (const uint8_t *msg, std::size_t size, uint32_t timestamp_ms)
 Encode a single MIDI message into a BLE-MIDI packet using timestamp timestamp_ms (truncated to 13 bits per the spec).