ev->data.result = *(struct snd_seq_result *)data;
}
+
+void seq_event_cntr_set_buf(ALSASeqEventCntr *self, guint8 *buf,
+ gsize length)
+{
+ ALSASeqEventCntrPrivate *priv =
+ alsaseq_event_cntr_get_instance_private(self);
+ priv->buf = buf;
+ priv->length = length;
+}
void seq_queue_timer_refer_private(ALSASeqQueueTimer *self,
struct snd_seq_queue_timer **timer);
+void seq_event_cntr_set_buf(ALSASeqEventCntr *self, guint8 *buf,
+ gsize length);
+
G_END_DECLS
#endif
size_t buf_len;
ALSASeqEventFixed *ev_fixed;
ALSASeqEventVariable *ev_var;
+ ALSASeqEventCntr *ev_cntr;
} UserClientSource;
enum seq_user_client_prop_type {
return G_SOURCE_REMOVE;
}
+ seq_event_cntr_set_buf(src->ev_cntr, src->buf, len);
+
buf = src->buf;
while (len >= sizeof(*event)) {
struct snd_seq_event *data_ptr;
g_object_unref(src->ev_fixed);
g_object_unref(src->ev_var);
+ g_object_unref(src->ev_cntr);
g_free(src->buf);
g_object_unref(src->self);
src->ev_fixed = g_object_new(ALSASEQ_TYPE_EVENT_FIXED, NULL);
src->ev_var = g_object_new(ALSASEQ_TYPE_EVENT_VARIABLE, NULL);
+ src->ev_cntr = g_object_new(ALSASEQ_TYPE_EVENT_CNTR, NULL);
g_source_set_name(*gsrc, "ALSASeqUserClient");
g_source_set_priority(*gsrc, G_PRIORITY_HIGH_IDLE);
#include <seq/queue-timer.h>
#include <seq/queue-timer-alsa.h>
#include <seq/remove-filter.h>
+#include <seq/event-cntr.h>
G_BEGIN_DECLS