mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-05 13:30:02 -05:00
module-jack: add midi support.
Move streams in separate struct, refactor and reuse some code. Add midi ports and convert to/from pw and jack midi.
This commit is contained in:
parent
318d82e14f
commit
67df9d2251
2 changed files with 398 additions and 378 deletions
File diff suppressed because it is too large
Load diff
|
|
@ -15,6 +15,7 @@ extern "C" {
|
|||
|
||||
#include <jack/jack.h>
|
||||
#include <jack/transport.h>
|
||||
#include <jack/midiport.h>
|
||||
|
||||
struct weakjack {
|
||||
jack_nframes_t (*cycle_wait) (jack_client_t* client);
|
||||
|
|
@ -80,6 +81,16 @@ struct weakjack {
|
|||
JackInfoShutdownCallback shutdown_callback, void *arg);
|
||||
int (*set_latency_callback) (jack_client_t *client,
|
||||
JackLatencyCallback latency_callback, void *arg);
|
||||
|
||||
void (*midi_clear_buffer) (void *port_buffer);
|
||||
int (*midi_event_write) (void *port_buffer,
|
||||
jack_nframes_t time,
|
||||
const jack_midi_data_t *data,
|
||||
size_t data_size);
|
||||
uint32_t (*midi_get_event_count) (void* port_buffer);
|
||||
int (*midi_event_get) (jack_midi_event_t *event, void *port_buffer,
|
||||
uint32_t event_index);
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -132,6 +143,11 @@ static inline int weakjack_load_by_path(struct weakjack *jack, const char *path)
|
|||
LOAD_SYM(set_xrun_callback);
|
||||
LOAD_SYM(on_info_shutdown);
|
||||
LOAD_SYM(set_latency_callback);
|
||||
|
||||
LOAD_SYM(midi_clear_buffer);
|
||||
LOAD_SYM(midi_event_write);
|
||||
LOAD_SYM(midi_get_event_count);
|
||||
LOAD_SYM(midi_event_get);
|
||||
#undef LOAD_SYM
|
||||
|
||||
return 0;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue