Class
ALSARawmidiStreamPair
Description [src]
class ALSARawmidi.StreamPair : GObject.Object {
parent_instance: GObject
}
GObject-derived object to express a pair of Rawmidi stream.
A ALSARawmidiStreamPair is a GObject-derived object to express a pair of Rawmidi stream to which
substreams are attached. The substream is pointed by the combination of the numeric identifier
of device, subdevice, and direction. When the call of alsarawmidi_stream_pair_open() with the
combination, corresponding substreams are attached to the object. Then the object maintains file
descriptor till object destruction. The call of alsarawmidi_stream_pair_create_source() returns the
instance of GSource. Once attached to the GSource,
GMainContext / GMainLoop is available as event dispatcher. The
ALSARawmidiStreamPair::handle-messages signal is emitted in the event dispatcher to notify the
intermediate buffer of capture substream has available messages. The call of
alsarawmidi_stream_pair_read_from_substream() fills the given buffer with the available messages. The
call of alsarawmidi_stream_pair_write_to_substream() write messages in the given buffer into the
intermediate buffer of playback substream. The call of alsarawmidi_stream_pair_get_substream_status()
is available to check the space in the intermediate buffer according to direction argument.
Constructors
alsarawmidi_stream_pair_new
Allocate and return an instance of ALSARawmidiStreamPair.
Instance methods
alsarawmidi_stream_pair_create_source
Allocate GSource structure to handle events from ALSA rawmidi character device for
input substream. In each iteration of GMainContext, the read(2) system call is
executed to dispatch control event for ALSARawmidiStreamPair::handle-messages signal, according to
the result of poll(2) system call.
alsarawmidi_stream_pair_drain_substream
alsarawmidi_stream_pair_drop_substream
alsarawmidi_stream_pair_get_protocol_version
Get the version of rawmidi protocol currently used. The version is expressed as the array with three elements; major, minor, and micro version in the order. The length of major version is 16 bit, the length of minor and micro version is 8 bit each.
alsarawmidi_stream_pair_get_substream_info
Get information of substream attached to the stream pair.
alsarawmidi_stream_pair_get_substream_status
Retrieve status of substream for given direction, which is attached to the pair of streams.
alsarawmidi_stream_pair_open
Open file descriptor for a pair of streams to attach input/output substreams corresponding to the given subdevice.
alsarawmidi_stream_pair_read_from_substream
Copy data from intermediate buffer to given buffer for substream attached to the pair of
streams. In a case that the instance is opened without O_NONBLOCK flag and the intermediate
buffer has no data, call of the API is blocked till any data is available.
alsarawmidi_stream_pair_set_substream_params
Set parameters of substream for given direction, which is attached to the pair of streams.
alsarawmidi_stream_pair_write_to_substream
Copy data from given buffer to intermediate buffer for substream attached to the pair of
streams. In a case that the instance is opened without O_NONBLOCK flag and the intermediate
buffer is full, call of the API is blocked till the buffer has space for the data.
Properties
ALSARawmidi.StreamPair:devnode
The full path to special file of rawmidi character device.
Signals
ALSARawmidi.StreamPair::handle-disconnection
When the sound card is not available anymore due to unbinding driver or hot unplugging,
this signal is emit. The owner of this object should call g_object_unref() as
quickly as possible to release ALSA rawmidi character device.
ALSARawmidi.StreamPair::handle-messages
When any input message is available, this event is emit.
Signals inherited from GObject (1)
GObject.Object::notify
The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.
Class structure
struct ALSARawmidiStreamPairClass {
GObjectClass parent_class;
void (* handle_messages) (
ALSARawmidiStreamPair* self
);
void (* handle_disconnection) (
ALSARawmidiStreamPair* self
);
}
Class members
parent_class |
|
| No description available. | |
handle_messages |
|
| No description available. | |
handle_disconnection |
|
| No description available. |
Virtual methods
ALSARawmidi.StreamPairClass.handle_disconnection
Class closure for the ALSARawmidiStreamPair::handle-disconnection signal.
ALSARawmidi.StreamPairClass.handle_messages
Class closure for the ALSARawmidiStreamPair::handle-messages singal.