MIDI-related structs¶
-
MAX_PORT_NAME_LEN
¶ A constant that defines a maximum port name length
-
struct
MIDI_port
¶ A structure that contains names and numbers related to a certain MIDI port in Alsa.
-
unsigned int
id
¶ MIDI port number; related to iteration in port_info function and its port_number argument
-
char
client_info_name
[128]¶ A name of ALSA’s
snd_seq_client_info_t
container. Can be redefined as char pointer later, but MIDI_port will need a destructor.
-
char
port_info_name
[128]¶ A name of ALSA’s
snd_seq_port_info_t
container. Can be redefined as char pointer later, but MIDI_port will need a destructor.
-
int
port_info_client_id
¶ A client id of ALSA’s
snd_seq_port_info_t
container
-
int
port_info_id
¶ A port id of ALSA’s
snd_seq_port_info_t
container
-
unsigned int
-
struct
RMR_Port_config
¶ A structure that initializes a port. It contains a port type, names for seq interface, queue tempo and ppq for input queues.
-
struct
MIDI_message
¶ A struct to store a single MIDI message in a form of a buffer, its length and a timestamp.
-
unsigned char *
buf
¶ Same as bytes, but just an allocated array
-
long
count
¶ Length of buf
-
double
timestamp
¶ Time in seconds elapsed since the previous message
-
unsigned char *
-
struct
Alsa_MIDI_data
¶ A structure to hold variables related to the ALSA API implementation.
-
int *
seq
¶ A pointer to Alsa MIDI sequencer handle
-
unsigned int
port_num
¶ Seems to be a MIDI port number that is only set to “-1” now.
-
int
vport
¶ A receiver or sender port number, generated by
snd_seq_create_simple_port()
-
int *
subscription
¶ A pointer to ALSA port subscription container instance
-
int *
coder
¶ A pointer to Alsa MIDI sequencer event parser
-
unsigned int
buffer_size
¶ A bufsize value for MIDI event parser (
snd_midi_event_new()
).
-
unsigned char *
buffer
¶ A MIDI message buffer.
-
pthread_t
thread
¶ An input thread instance
-
pthread_t
dummy_thread_id
¶ The ID of the calling thread generated by a
pthread_self()
function
-
int
last_time
¶ snd_seq_real_time_t
instance decoded from Alsa MIDI event, contains nanosecond and second values
-
int
queue_id
¶ An input queue is needed to get timestamped events
-
int
trigger_fds
[2]¶ File descriptors set by a pipe call in “start_input_seq” function.
-
int
port_connected
¶ Tells if a MIDI port is connected, set by
open_port()
-
int *
-
struct
MIDI_in_data
¶ A struct to be passed to a
pthread_create()
call.-
int *
midi_async_queue
¶ A GLib asynchronous que to store MIDI messages
-
int *
error_async_queue
¶ A GLib asynchronous que to store errors
-
MIDI_message
message
¶ A
MIDI_message
instance
-
unsigned char
ignore_flags
¶ ?
-
int
do_input
¶ Marks if data input thread was started
-
int
first_message
¶ ?
-
int
using_callback
¶ Marks if a callback is used; set by
set_MIDI_in_callback()
-
MIDI_callback
user_callback
¶ Current MIDI callback pointer to be called on a message
-
void *
user_data
¶ Additional data passed to a callback, seems to always be a void pointer
-
int
continue_sysex
¶ Determines if previous message should be extended or a new array should be created
-
Alsa_MIDI_data *
amidi_data
¶ Alsa_MIDI_data instance
-
int *