*/
ALSASeqEventCntr *alsaseq_event_cntr_new(guint count, GError **error)
{
- ALSASeqEventCntr *self = g_object_new(ALSASEQ_TYPE_EVENT_CNTR, NULL);
- ALSASeqEventCntrPrivate *priv =
- alsaseq_event_cntr_get_instance_private(self);
+ ALSASeqEventCntr *self;
+ ALSASeqEventCntrPrivate *priv;
struct snd_seq_event *ev;
int i;
+ g_return_val_if_fail(error == NULL || *error == NULL, NULL);
+
+ self = g_object_new(ALSASEQ_TYPE_EVENT_CNTR, NULL);
+ priv = alsaseq_event_cntr_get_instance_private(self);
+
priv->length = sizeof(struct snd_seq_event) * count;
priv->buf = g_malloc0(priv->length);
g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self));
priv = alsaseq_event_cntr_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
*cells = 0;
total = 0;
event_iterator_init(&iter, priv->buf, priv->length, priv->allocated);
g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self));
priv = alsaseq_event_cntr_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
event_iterator_init(&iter, priv->buf, priv->length, priv->allocated);
ev = event_iterator_find(&iter, index);
g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self));
priv = alsaseq_event_cntr_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
event_iterator_init(&iter, priv->buf, priv->length, priv->allocated);
ev = event_iterator_find(&iter, index);
g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self));
priv = alsaseq_event_cntr_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
event_iterator_init(&iter, priv->buf, priv->length, priv->allocated);
ev = event_iterator_find(&iter, index);
g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self));
priv = alsaseq_event_cntr_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
event_iterator_init(&iter, priv->buf, priv->length, priv->allocated);
ev = event_iterator_find(&iter, index);
g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self));
priv = alsaseq_event_cntr_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
event_iterator_init(&iter, priv->buf, priv->length, priv->allocated);
ev = event_iterator_find(&iter, index);
g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self));
priv = alsaseq_event_cntr_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
event_iterator_init(&iter, priv->buf, priv->length, priv->allocated);
ev = event_iterator_find(&iter, index);
g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self));
priv = alsaseq_event_cntr_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
event_iterator_init(&iter, priv->buf, priv->length, priv->allocated);
ev = event_iterator_find(&iter, index);
g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self));
priv = alsaseq_event_cntr_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
event_iterator_init(&iter, priv->buf, priv->length, priv->allocated);
ev = event_iterator_find(&iter, index);
g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self));
priv = alsaseq_event_cntr_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
event_iterator_init(&iter, priv->buf, priv->length, priv->allocated);
ev = event_iterator_find(&iter, index);
g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self));
priv = alsaseq_event_cntr_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
event_iterator_init(&iter, priv->buf, priv->length, priv->allocated);
ev = event_iterator_find(&iter, index);
g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self));
priv = alsaseq_event_cntr_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
event_iterator_init(&iter, priv->buf, priv->length, priv->allocated);
ev = event_iterator_find(&iter, index);
g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self));
priv = alsaseq_event_cntr_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
event_iterator_init(&iter, priv->buf, priv->length, priv->allocated);
ev = event_iterator_find(&iter, index);
g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self));
priv = alsaseq_event_cntr_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
event_iterator_init(&iter, priv->buf, priv->length, priv->allocated);
ev = event_iterator_find(&iter, index);
g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self));
priv = alsaseq_event_cntr_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
event_iterator_init(&iter, priv->buf, priv->length, priv->allocated);
ev = event_iterator_find(&iter, index);
g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self));
priv = alsaseq_event_cntr_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
event_iterator_init(&iter, priv->buf, priv->length, priv->allocated);
ev = event_iterator_find(&iter, index);
g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self));
priv = alsaseq_event_cntr_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
event_iterator_init(&iter, priv->buf, priv->length, priv->allocated);
ev = event_iterator_find(&iter, index);
g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self));
priv = alsaseq_event_cntr_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
event_iterator_init(&iter, priv->buf, priv->length, priv->allocated);
ev = event_iterator_find(&iter, index);
g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self));
priv = alsaseq_event_cntr_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
event_iterator_init(&iter, priv->buf, priv->length, priv->allocated);
ev = event_iterator_find(&iter, index);
g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self));
priv = alsaseq_event_cntr_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
event_iterator_init(&iter, priv->buf, priv->length, priv->allocated);
ev = event_iterator_find(&iter, index);
g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self));
priv = alsaseq_event_cntr_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
event_iterator_init(&iter, priv->buf, priv->length, priv->allocated);
ev = event_iterator_find(&iter, index);
if (ev == NULL) {
g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self));
priv = alsaseq_event_cntr_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
event_iterator_init(&iter, priv->buf, priv->length, priv->allocated);
ev = event_iterator_find(&iter, index);
if (ev == NULL) {
g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self));
priv = alsaseq_event_cntr_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
event_iterator_init(&iter, priv->buf, priv->length, priv->allocated);
ev = event_iterator_find(&iter, index);
if (ev == NULL) {
g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self));
priv = alsaseq_event_cntr_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
event_iterator_init(&iter, priv->buf, priv->length, priv->allocated);
ev = event_iterator_find(&iter, index);
if (ev == NULL) {
g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self));
priv = alsaseq_event_cntr_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
event_iterator_init(&iter, priv->buf, priv->length, priv->allocated);
ev = event_iterator_find(&iter, index);
if (ev == NULL) {
g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self));
priv = alsaseq_event_cntr_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
event_iterator_init(&iter, priv->buf, priv->length, priv->allocated);
ev = event_iterator_find(&iter, index);
if (ev == NULL) {
g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self));
priv = alsaseq_event_cntr_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
event_iterator_init(&iter, priv->buf, priv->length, priv->allocated);
ev = event_iterator_find(&iter, index);
g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self));
priv = alsaseq_event_cntr_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
event_iterator_init(&iter, priv->buf, priv->length, priv->allocated);
ev = event_iterator_find(&iter, index);
g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self));
priv = alsaseq_event_cntr_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
event_iterator_init(&iter, priv->buf, priv->length, priv->allocated);
ev = event_iterator_find(&iter, index);
if (ev == NULL) {
g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self));
priv = alsaseq_event_cntr_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
event_iterator_init(&iter, priv->buf, priv->length, priv->allocated);
ev = event_iterator_find(&iter, index);
if (ev == NULL) {
g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self));
priv = alsaseq_event_cntr_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
event_iterator_init(&iter, priv->buf, priv->length, priv->allocated);
ev = event_iterator_find(&iter, index);
if (ev == NULL) {
g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self));
priv = alsaseq_event_cntr_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
event_iterator_init(&iter, priv->buf, priv->length, priv->allocated);
ev = event_iterator_find(&iter, index);
if (ev == NULL) {
g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self));
priv = alsaseq_event_cntr_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
event_iterator_init(&iter, priv->buf, priv->length, priv->allocated);
ev = event_iterator_find(&iter, index);
if (ev == NULL) {
g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self));
priv = alsaseq_event_cntr_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
event_iterator_init(&iter, priv->buf, priv->length, priv->allocated);
ev = event_iterator_find(&iter, index);
if (ev == NULL) {
g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self));
priv = alsaseq_event_cntr_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
event_iterator_init(&iter, priv->buf, priv->length, priv->allocated);
ev = event_iterator_find(&iter, index);
if (ev == NULL) {
g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self));
priv = alsaseq_event_cntr_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
event_iterator_init(&iter, priv->buf, priv->length, priv->allocated);
ev = event_iterator_find(&iter, index);
if (ev == NULL) {
g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self));
priv = alsaseq_event_cntr_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
event_iterator_init(&iter, priv->buf, priv->length, priv->allocated);
ev = event_iterator_find(&iter, index);
if (ev == NULL) {
g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self));
priv = alsaseq_event_cntr_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
event_iterator_init(&iter, priv->buf, priv->length, priv->allocated);
ev = event_iterator_find(&iter, index);
if (ev == NULL) {
g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self));
priv = alsaseq_event_cntr_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
event_iterator_init(&iter, priv->buf, priv->length, priv->allocated);
ev = event_iterator_find(&iter, index);
if (ev == NULL) {
g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self));
priv = alsaseq_event_cntr_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
event_iterator_init(&iter, priv->buf, priv->length, priv->allocated);
ev = event_iterator_find(&iter, index);
if (ev == NULL) {
g_return_if_fail(ALSASEQ_IS_USER_CLIENT(self));
priv = alsaseq_user_client_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
alsaseq_get_seq_devnode(&devnode, error);
if (*error != NULL)
return;
g_return_if_fail(ALSASEQ_IS_USER_CLIENT(self));
priv = alsaseq_user_client_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
if (priv->fd < 0) {
generate_error(error, ENXIO);
return;
g_return_if_fail(ALSASEQ_IS_CLIENT_INFO(client_info));
priv = alsaseq_user_client_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
seq_client_info_refer_private(client_info, &info);
info->client = priv->client_id;
info->type = USER_CLIENT;
g_return_if_fail(ALSASEQ_IS_CLIENT_INFO(*client_info));
priv = alsaseq_user_client_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
seq_client_info_refer_private(*client_info, &info);
info->client = priv->client_id;
if (ioctl(priv->fd, SNDRV_SEQ_IOCTL_GET_CLIENT_INFO, info) < 0)
g_return_if_fail(ALSASEQ_IS_PORT_INFO(*port_info));
priv = alsaseq_user_client_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
seq_port_info_refer_private(*port_info, &info);
info->addr.client = priv->client_id;
g_return_if_fail(ALSASEQ_IS_USER_CLIENT(self));
g_return_if_fail(ALSASEQ_IS_PORT_INFO(*port_info));
+ g_return_if_fail(error == NULL || *error == NULL);
seq_port_info_refer_private(*port_info, &info);
g_return_if_fail(ALSASEQ_IS_PORT_INFO(port_info));
priv = alsaseq_user_client_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
seq_port_info_refer_private(port_info, &info);
info->addr.client = priv->client_id;
g_return_if_fail(ALSASEQ_IS_USER_CLIENT(self));
priv = alsaseq_user_client_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
info.addr.client = priv->client_id;
info.addr.port = port_id;
if (ioctl(priv->fd, SNDRV_SEQ_IOCTL_DELETE_PORT, &info) < 0)
g_return_if_fail(ALSASEQ_IS_CLIENT_POOL(client_pool));
priv = alsaseq_user_client_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
seq_client_pool_refer_private(client_pool, &pool);
pool->client = priv->client_id;
if (ioctl(priv->fd, SNDRV_SEQ_IOCTL_SET_CLIENT_POOL, pool) < 0)
g_return_if_fail(ALSASEQ_IS_CLIENT_POOL(*client_pool));
priv = alsaseq_user_client_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
seq_client_pool_refer_private(*client_pool, &pool);
pool->client = priv->client_id;
if (ioctl(priv->fd, SNDRV_SEQ_IOCTL_GET_CLIENT_POOL, pool) < 0)
g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(ev_cntr));
priv = alsaseq_user_client_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
alsaseq_event_cntr_count_events(ev_cntr, &total);
if (count > total) {
generate_error(error, ENOBUFS);
g_return_if_fail(ALSASEQ_IS_USER_CLIENT(self));
priv = alsaseq_user_client_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
if (priv->fd < 0) {
generate_error(error, ENXIO);
return;
g_return_if_fail(ALSASEQ_IS_SUBSCRIBE_DATA(subs_data));
priv = alsaseq_user_client_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
seq_subscribe_data_refer_private(subs_data, &data);
if (establish)
g_return_if_fail(ALSASEQ_IS_QUEUE_INFO(*queue_info));
priv = alsaseq_user_client_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
seq_queue_info_refer_private(*queue_info, &info);
if (ioctl(priv->fd, SNDRV_SEQ_IOCTL_CREATE_QUEUE, info) < 0)
g_return_if_fail(ALSASEQ_IS_USER_CLIENT(self));
priv = alsaseq_user_client_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
info.queue = (int)queue_id;
info.owner = priv->client_id;
if (ioctl(priv->fd, SNDRV_SEQ_IOCTL_DELETE_QUEUE, &info) < 0)
g_return_if_fail(ALSASEQ_IS_QUEUE_INFO(queue_info));
priv = alsaseq_user_client_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
seq_queue_info_refer_private(queue_info, &info);
if (ioctl(priv->fd, SNDRV_SEQ_IOCTL_SET_QUEUE_INFO, info) < 0)
g_return_if_fail(ALSASEQ_IS_USER_CLIENT(self));
priv = alsaseq_user_client_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
data.queue = (int)queue_id;
if (ioctl(priv->fd, SNDRV_SEQ_IOCTL_GET_QUEUE_CLIENT, &data) < 0) {
generate_error(error, errno);
g_return_if_fail(ALSASEQ_IS_USER_CLIENT(self));
priv = alsaseq_user_client_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
data.queue = (int)queue_id;
data.client = priv->client_id;
data.used = use;
g_return_if_fail(ALSASEQ_IS_QUEUE_TEMPO(queue_tempo));
priv = alsaseq_user_client_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
seq_queue_tempo_refer_private(queue_tempo, &tempo);
tempo->queue = queue_id;
if (ioctl(priv->fd, SNDRV_SEQ_IOCTL_SET_QUEUE_TEMPO, tempo) < 0)
g_return_if_fail(queue_tempo != NULL);
priv = alsaseq_user_client_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
*queue_tempo = g_object_new(ALSASEQ_TYPE_QUEUE_TEMPO, NULL);
seq_queue_tempo_refer_private(*queue_tempo, &tempo);
g_return_if_fail(ALSASEQ_IS_QUEUE_TIMER(queue_timer));
priv = alsaseq_user_client_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
seq_queue_timer_refer_private(queue_timer, &timer);
switch (timer->type) {
g_return_if_fail(queue_timer != NULL);
priv = alsaseq_user_client_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
*queue_timer = g_object_new(ALSASEQ_TYPE_QUEUE_TIMER, NULL);
seq_queue_timer_refer_private(*queue_timer, &timer);
g_return_if_fail(ALSASEQ_IS_USER_CLIENT(self));
priv = alsaseq_user_client_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
if (ioctl(priv->fd, SNDRV_SEQ_IOCTL_REMOVE_EVENTS, filter) < 0) {
generate_error(error, errno);
return;