alsa-gi.git
7 weeks agoupdate README master
Takashi Sakamoto [Sat, 20 Oct 2018 03:04:32 +0000 (12:04 +0900)]
update README

8 weeks agosamples: make them work well
Takashi Sakamoto [Fri, 19 Oct 2018 11:57:03 +0000 (20:57 +0900)]
samples: make them work well

8 weeks agotests: add a test for client instance of ALSATimer
Takashi Sakamoto [Fri, 19 Oct 2018 07:52:13 +0000 (16:52 +0900)]
tests: add a test for client instance of ALSATimer

8 weeks agotests: add a test for port instance of ALSASeq
Takashi Sakamoto [Fri, 19 Oct 2018 07:47:31 +0000 (16:47 +0900)]
tests: add a test for port instance of ALSASeq

I note that an error occurs due to technical reason.

** (process:1248): CRITICAL **: 16:46:04.379: alsaseq_client_close_port: assertion 'ALSASEQ_IS_CLIENT(self)' failed

8 weeks agotests: add a test for client instance of ALSASeq
Takashi Sakamoto [Fri, 19 Oct 2018 07:42:19 +0000 (16:42 +0900)]
tests: add a test for client instance of ALSASeq

8 weeks agotests: add test for public API of client class of ALSACtl
Takashi Sakamoto [Fri, 19 Oct 2018 07:09:41 +0000 (16:09 +0900)]
tests: add test for public API of client class of ALSACtl

8 weeks agorawmidi; add GObject enumerator for information flags
Takashi Sakamoto [Fri, 19 Oct 2018 05:30:36 +0000 (14:30 +0900)]
rawmidi; add GObject enumerator for information flags

8 weeks agorawmidi: add GObject enums for stream direction
Takashi Sakamoto [Fri, 19 Oct 2018 05:29:00 +0000 (14:29 +0900)]
rawmidi: add GObject enums for stream direction

8 weeks agorawmidi: add support for GObject enumerations
Takashi Sakamoto [Mon, 1 Oct 2018 03:16:15 +0000 (12:16 +0900)]
rawmidi: add support for GObject enumerations

8 weeks agotimer: add GObject enums for event type of timer instance
Takashi Sakamoto [Thu, 27 Sep 2018 07:32:12 +0000 (16:32 +0900)]
timer: add GObject enums for event type of timer instance

8 weeks agotimer: add GObject flags for paramter flags of timer instance
Takashi Sakamoto [Thu, 27 Sep 2018 07:24:04 +0000 (16:24 +0900)]
timer: add GObject flags for paramter flags of timer instance

8 weeks agotimer: add GObject flags for flag of global timer instance
Takashi Sakamoto [Thu, 27 Sep 2018 07:15:50 +0000 (16:15 +0900)]
timer: add GObject flags for flag of global timer instance

8 weeks agotimer: add GObject enums for type of global timer instance
Takashi Sakamoto [Thu, 27 Sep 2018 06:58:45 +0000 (15:58 +0900)]
timer: add GObject enums for type of global timer instance

8 weeks agotimer: add GObject enums for slave class of timer instance
Takashi Sakamoto [Thu, 27 Sep 2018 06:51:30 +0000 (15:51 +0900)]
timer: add GObject enums for slave class of timer instance

8 weeks agotimer: add GObject enums for device class of timer instance
Takashi Sakamoto [Thu, 27 Sep 2018 06:48:34 +0000 (15:48 +0900)]
timer: add GObject enums for device class of timer instance

8 weeks agotimer: add support for GObject enumerations
Takashi Sakamoto [Thu, 27 Sep 2018 06:23:38 +0000 (15:23 +0900)]
timer: add support for GObject enumerations

8 weeks agoseq: add GObject enums for type of sequencer event
Takashi Sakamoto [Wed, 26 Sep 2018 11:55:10 +0000 (20:55 +0900)]
seq: add GObject enums for type of sequencer event

8 weeks agoseq: add GObject flags for conditional flags of sequencer port
Takashi Sakamoto [Wed, 26 Sep 2018 12:44:29 +0000 (21:44 +0900)]
seq: add GObject flags for conditional flags of sequencer port

8 weeks agoseq: add GOjbect flags for capability of sequencer port
Takashi Sakamoto [Wed, 26 Sep 2018 12:28:20 +0000 (21:28 +0900)]
seq: add GOjbect flags for capability of sequencer port

8 weeks agoseq: add GObject flags for type of sequencer port
Takashi Sakamoto [Wed, 26 Sep 2018 12:22:06 +0000 (21:22 +0900)]
seq: add GObject flags for type of sequencer port

8 weeks agoseq: add GObject enums for identical number of sequencer port
Takashi Sakamoto [Thu, 27 Sep 2018 05:10:28 +0000 (14:10 +0900)]
seq: add GObject enums for identical number of sequencer port

8 weeks agoseq: add GObject flags for event-filter enumeration of sequencer client
Takashi Sakamoto [Thu, 27 Sep 2018 04:42:22 +0000 (13:42 +0900)]
seq: add GObject flags for event-filter enumeration of sequencer client

8 weeks agoseq: add GObject enums for type of sequencer client
Takashi Sakamoto [Wed, 26 Sep 2018 12:55:05 +0000 (21:55 +0900)]
seq: add GObject enums for type of sequencer client

8 weeks agoseq: add GObject enums for identical number of sequencer client
Takashi Sakamoto [Thu, 27 Sep 2018 04:34:28 +0000 (13:34 +0900)]
seq: add GObject enums for identical number of sequencer client

8 weeks agoseq: add support for GOject enumerations
Takashi Sakamoto [Wed, 26 Sep 2018 11:40:49 +0000 (20:40 +0900)]
seq: add support for GOject enumerations

8 weeks agoseq: fix to assign correct property
Takashi Sakamoto [Fri, 19 Oct 2018 12:48:06 +0000 (21:48 +0900)]
seq: fix to assign correct property

8 weeks agoctl: add GObject flags for event masks of control device
Takashi Sakamoto [Mon, 24 Sep 2018 14:14:07 +0000 (23:14 +0900)]
ctl: add GObject flags for event masks of control device

8 weeks agoctl: add GObject flags for access flags of control element
Takashi Sakamoto [Mon, 24 Sep 2018 14:09:21 +0000 (23:09 +0900)]
ctl: add GObject flags for access flags of control element

8 weeks agoctl: add GObject enums for interface enumeration of control element
Takashi Sakamoto [Mon, 24 Sep 2018 12:55:18 +0000 (21:55 +0900)]
ctl: add GObject enums for interface enumeration of control element

8 weeks agoctl: add GObject enums for type enumeration of control element
Takashi Sakamoto [Sun, 23 Sep 2018 14:56:51 +0000 (23:56 +0900)]
ctl: add GObject enums for type enumeration of control element

8 weeks agoctl: add support for GObject enumerations
Takashi Sakamoto [Wed, 26 Sep 2018 11:44:31 +0000 (20:44 +0900)]
ctl: add support for GObject enumerations

8 weeks agoctl: remove unused event in client
Takashi Sakamoto [Fri, 19 Oct 2018 07:58:32 +0000 (16:58 +0900)]
ctl: remove unused event in client

8 weeks agoctl: add missing public symbols
Takashi Sakamoto [Fri, 19 Oct 2018 07:34:34 +0000 (16:34 +0900)]
ctl: add missing public symbols

8 weeks agotests: add test framework
Takashi Sakamoto [Fri, 19 Oct 2018 03:49:10 +0000 (12:49 +0900)]
tests: add test framework

8 weeks agomeson: unify common declarations to one file
Takashi Sakamoto [Fri, 19 Oct 2018 00:27:52 +0000 (09:27 +0900)]
meson: unify common declarations to one file

2 months agomeson: use join_path() instead of str.format()
Takashi Sakamoto [Thu, 27 Sep 2018 08:17:10 +0000 (17:17 +0900)]
meson: use join_path() instead of str.format()

2 months agouse logical NOT operator instead of comparison to NULL
Takashi Sakamoto [Wed, 26 Sep 2018 02:17:08 +0000 (11:17 +0900)]
use logical NOT operator instead of comparison to NULL

2 months agouse 4 spaces for indentation
Takashi Sakamoto [Wed, 26 Sep 2018 02:07:50 +0000 (11:07 +0900)]
use 4 spaces for indentation

2 months agoupdate README
Takashi Sakamoto [Sun, 23 Sep 2018 14:42:48 +0000 (23:42 +0900)]
update README

2 months agoobsolete GNU Autotools
Takashi Sakamoto [Sun, 23 Sep 2018 14:27:15 +0000 (23:27 +0900)]
obsolete GNU Autotools

2 months agodoc: build with meson (intermediate)
Takashi Sakamoto [Sun, 23 Sep 2018 14:21:09 +0000 (23:21 +0900)]
doc: build with meson (intermediate)

2 months agocard: build with meson
Takashi Sakamoto [Sun, 23 Sep 2018 13:49:37 +0000 (22:49 +0900)]
card: build with meson

2 months agotimer: build with meson
Takashi Sakamoto [Sun, 23 Sep 2018 13:40:34 +0000 (22:40 +0900)]
timer: build with meson

2 months agoseq: build with meson
Takashi Sakamoto [Thu, 12 Jul 2018 09:42:02 +0000 (18:42 +0900)]
seq: build with meson

2 months agoctl: build with meson
Takashi Sakamoto [Sat, 30 Jun 2018 00:40:45 +0000 (09:40 +0900)]
ctl: build with meson

2 years agoctl: remove needless reference to client structure
Takashi Sakamoto [Fri, 5 Aug 2016 11:43:42 +0000 (20:43 +0900)]
ctl: remove needless reference to client structure

This is useless for element structure at all.

2 years agoctl: remove needless member from element private structure
Takashi Sakamoto [Tue, 2 Aug 2016 23:54:09 +0000 (08:54 +0900)]
ctl: remove needless member from element private structure

2 years agoctl: apply simple logic to detect event
Takashi Sakamoto [Sun, 10 Jul 2016 07:53:25 +0000 (16:53 +0900)]
ctl: apply simple logic to detect event

Currently, ALSA middleware support a type of event.

2 years agoctl: add ioctl(2) wrapper for client
Takashi Sakamoto [Sun, 10 Jul 2016 06:44:59 +0000 (15:44 +0900)]
ctl: add ioctl(2) wrapper for client

To save amount of the codes.

2 years agoctl: Use client instance to execute ioctl(2) instead of fd
Takashi Sakamoto [Sun, 10 Jul 2016 05:40:49 +0000 (14:40 +0900)]
ctl: Use client instance to execute ioctl(2) instead of fd

No need to add 'fd' member to base element class or '_client' member
to public element class anymore.

2 years agoctl: remove needless member from public ALSACtlClient structure
Takashi Sakamoto [Sun, 10 Jul 2016 06:17:12 +0000 (15:17 +0900)]
ctl: remove needless member from public ALSACtlClient structure

It's my mistake.

2 years agoctl: merge code file for client and element
Takashi Sakamoto [Sun, 10 Jul 2016 05:21:18 +0000 (14:21 +0900)]
ctl: merge code file for client and element

They have a tight relationship in a point of ioctl(2).

2 years agoctl: integrate caching process
Takashi Sakamoto [Sat, 9 Jul 2016 08:20:10 +0000 (17:20 +0900)]
ctl: integrate caching process

No need to write two 'g_object_new' to keep an instance of each element
class.

2 years agoctl: rename function automatic variable to be appropriate
Takashi Sakamoto [Sat, 9 Jul 2016 14:22:53 +0000 (23:22 +0900)]
ctl: rename function automatic variable to be appropriate

It's my mistake.

2 years agoctl: fix wrong free(3) at error path
Takashi Sakamoto [Sat, 9 Jul 2016 05:17:24 +0000 (14:17 +0900)]
ctl: fix wrong free(3) at error path

It's my mistake.

2 years agoctl: be sure to unsubscribe events at unlistening
Takashi Sakamoto [Sat, 9 Jul 2016 03:53:27 +0000 (12:53 +0900)]
ctl: be sure to unsubscribe events at unlistening

2 years agoctl: integrate add operation
Takashi Sakamoto [Thu, 23 Jun 2016 13:34:21 +0000 (22:34 +0900)]
ctl: integrate add operation

2 years agoctl: fix a bug to be a lack of element information
Takashi Sakamoto [Thu, 23 Jun 2016 13:31:14 +0000 (22:31 +0900)]
ctl: fix a bug to be a lack of element information

2 years agoctl: init_info
Takashi Sakamoto [Thu, 23 Jun 2016 13:26:56 +0000 (22:26 +0900)]
ctl: init_info

2 years agoctl/timer/seq: improve autotools stuffs
Takashi Sakamoto [Tue, 12 Apr 2016 07:01:09 +0000 (16:01 +0900)]
ctl/timer/seq: improve autotools stuffs

Remove needless CFLAGS and add LT versioning.

2 years agoctl: fix missing return statement in error path
Takashi Sakamoto [Tue, 12 Apr 2016 07:00:10 +0000 (16:00 +0900)]
ctl: fix missing return statement in error path

2 years agodrop mention about alsa-lib from README
Takashi Sakamoto [Thu, 25 Feb 2016 02:15:44 +0000 (11:15 +0900)]
drop mention about alsa-lib from README

2 years agoctl/seq: fix build warning about non-return warning
Takashi Sakamoto [Tue, 23 Feb 2016 09:29:11 +0000 (18:29 +0900)]
ctl/seq: fix build warning about non-return warning

2 years agoLicensed under LGPLv2.
Takashi Sakamoto [Fri, 19 Feb 2016 05:47:43 +0000 (14:47 +0900)]
Licensed under LGPLv2.

2 years agoautotools: generate required files for autoreconf automatically
Takashi Sakamoto [Fri, 19 Feb 2016 05:44:20 +0000 (14:44 +0900)]
autotools: generate required files for autoreconf automatically

2 years agoconfigure: simplify and improve configure.ac
Takashi Sakamoto [Fri, 19 Feb 2016 03:56:12 +0000 (12:56 +0900)]
configure: simplify and improve configure.ac

3 years agoctl/seq: fix my misunderstanding about dispose and finalize
Takashi Sakamoto [Mon, 9 Nov 2015 05:02:11 +0000 (14:02 +0900)]
ctl/seq: fix my misunderstanding about dispose and finalize

According to GObject reference, dispose callback is used to unrefer of the
other object, while finalize is used to release self object. Current
implementation is against this principle.

This commit fixes the misunderstanding.

3 years agopurge alsa-lib dependency from configure.ac
Takashi Sakamoto [Tue, 30 Jun 2015 07:10:03 +0000 (16:10 +0900)]
purge alsa-lib dependency from configure.ac

I forgot it.

3 years agoALSA: ctl: make elem as an abstraction class
Takashi Sakamoto [Fri, 12 Jun 2015 07:34:33 +0000 (16:34 +0900)]
ALSA: ctl: make elem as an abstraction class

It has no need to be instantiated.

3 years agoctl: add support for dimension
Takashi Sakamoto [Mon, 1 Jun 2015 09:09:38 +0000 (18:09 +0900)]
ctl: add support for dimension

ALSA control element information can include dimension information
to expect applications to handle whole channels as multi dimensional
matrix.

3 years agoctl: remove wrong annotations
Takashi Sakamoto [Mon, 1 Jun 2015 09:07:27 +0000 (18:07 +0900)]
ctl: remove wrong annotations

3 years agoctl/seq/timer: obsolete GET_PRIVATE macro with pre-defined macro
Takashi Sakamoto [Mon, 27 Apr 2015 06:23:37 +0000 (15:23 +0900)]
ctl/seq/timer: obsolete GET_PRIVATE macro with pre-defined macro

xxx_get_instance_private() macro is available for this purpose.

3 years agoseq: handle maximum 10 events at one read operation
Takashi Sakamoto [Fri, 17 Apr 2015 11:23:09 +0000 (20:23 +0900)]
seq: handle maximum 10 events at one read operation

For efficiency.

3 years agoseq: improve Makefile for better output to generate marshal
Takashi Sakamoto [Fri, 17 Apr 2015 10:14:06 +0000 (19:14 +0900)]
seq: improve Makefile for better output to generate marshal

3 years agoseq: give event name to gobject signal instead of numerical event type
Takashi Sakamoto [Fri, 17 Apr 2015 09:51:22 +0000 (18:51 +0900)]
seq: give event name to gobject signal instead of numerical event type

3 years agoseq: remove temporary file at clean target of make
Takashi Sakamoto [Fri, 17 Apr 2015 09:50:56 +0000 (18:50 +0900)]
seq: remove temporary file at clean target of make

3 years agoctl: rename items to labels
Takashi Sakamoto [Fri, 10 Apr 2015 06:32:31 +0000 (15:32 +0900)]
ctl: rename items to labels

3 years agoctl: rename to 'channels' for the number of values in an element
Takashi Sakamoto [Fri, 10 Apr 2015 06:26:41 +0000 (15:26 +0900)]
ctl: rename to 'channels' for the number of values in an element

3 years agoctl/seq/timer: use blocking poll(2) to save CPU usage
Takashi Sakamoto [Mon, 6 Apr 2015 02:51:01 +0000 (11:51 +0900)]
ctl/seq/timer: use blocking poll(2) to save CPU usage

3 years agocard/seq: purge alsa-lib dependency
Takashi Sakamoto [Sun, 5 Apr 2015 02:10:24 +0000 (11:10 +0900)]
card/seq: purge alsa-lib dependency

3 years agosample: fix a path for special device of ALSA sequencer
Takashi Sakamoto [Sun, 5 Apr 2015 02:09:51 +0000 (11:09 +0900)]
sample: fix a path for special device of ALSA sequencer

My mistake...

3 years agoctl: avoid ALSA limitation for list operation
Takashi Sakamoto [Sun, 5 Apr 2015 01:36:54 +0000 (10:36 +0900)]
ctl: avoid ALSA limitation for list operation

This patch apply less value than the limitation.

3 years agoctl: fix allocator/deallocator of element list
Takashi Sakamoto [Sat, 4 Apr 2015 23:41:50 +0000 (08:41 +0900)]
ctl: fix allocator/deallocator of element list

3 years agosample: fix typo
Takashi Sakamoto [Sat, 4 Apr 2015 23:41:28 +0000 (08:41 +0900)]
sample: fix typo

3 years agoctl: handle maximum 10 events at one time
Takashi Sakamoto [Sat, 4 Apr 2015 22:53:33 +0000 (07:53 +0900)]
ctl: handle maximum 10 events at one time

For efficiency.

3 years agoctl: use /dev/snd/controlC0 instead of /dev/snd/controlC1
Takashi Sakamoto [Sat, 4 Apr 2015 13:14:10 +0000 (22:14 +0900)]
ctl: use /dev/snd/controlC0 instead of /dev/snd/controlC1

3 years agocard: arrange code just for simplification
Takashi Sakamoto [Fri, 3 Apr 2015 06:27:29 +0000 (15:27 +0900)]
card: arrange code just for simplification

3 years agoctl/seq/timer: use G_DEFINE_QUARK macro to define error domain
Takashi Sakamoto [Fri, 3 Apr 2015 04:22:30 +0000 (13:22 +0900)]
ctl/seq/timer: use G_DEFINE_QUARK macro to define error domain

This brings a dependency of glib-2.0 2.34 or later.

3 years agocard/ctl/seq: rename gobject variable to obj
Takashi Sakamoto [Thu, 2 Apr 2015 07:26:42 +0000 (16:26 +0900)]
card/ctl/seq: rename gobject variable to obj

3 years agoseq: add ALSASeqClient::get_ports()
Takashi Sakamoto [Wed, 1 Apr 2015 14:57:19 +0000 (23:57 +0900)]
seq: add ALSASeqClient::get_ports()

3 years agosample: remove needless try/catch statements
Takashi Sakamoto [Wed, 1 Apr 2015 12:36:33 +0000 (21:36 +0900)]
sample: remove needless try/catch statements

3 years agoseq: purge dependency to alsa-lib
Takashi Sakamoto [Tue, 31 Mar 2015 14:00:35 +0000 (23:00 +0900)]
seq: purge dependency to alsa-lib

3 years agoctl: improve reference counting for elements
Takashi Sakamoto [Tue, 31 Mar 2015 13:59:56 +0000 (22:59 +0900)]
ctl: improve reference counting for elements

3 years agoctl: support read/write operations fully and improve update operation
Takashi Sakamoto [Sun, 29 Mar 2015 01:06:45 +0000 (10:06 +0900)]
ctl: support read/write operations fully and improve update operation

3 years agoctl: rename 'label' to 'items' in enumerated type element
Takashi Sakamoto [Sat, 28 Mar 2015 22:50:41 +0000 (07:50 +0900)]
ctl: rename 'label' to 'items' in enumerated type element

3 years agoctl: make some properties as protected
Takashi Sakamoto [Sat, 28 Mar 2015 22:46:38 +0000 (07:46 +0900)]
ctl: make some properties as protected

Inherited classes from elem class need to run ioctl(2),
thus file descriptors required.

3 years agoctl: add some options for integer elements
Takashi Sakamoto [Sat, 28 Mar 2015 13:54:38 +0000 (22:54 +0900)]
ctl: add some options for integer elements

3 years agoctl: support read/write operation partially
Takashi Sakamoto [Sat, 28 Mar 2015 13:33:00 +0000 (22:33 +0900)]
ctl: support read/write operation partially

Currently actual ioctl(2) is not executed.

3 years agoall: add -Wall option for C compiler
Takashi Sakamoto [Sat, 28 Mar 2015 13:38:50 +0000 (22:38 +0900)]
all: add -Wall option for C compiler

3 years agoctl: enable to add multiple controle elements by an operation
Takashi Sakamoto [Wed, 25 Mar 2015 06:27:31 +0000 (15:27 +0900)]
ctl: enable to add multiple controle elements by an operation

The ALSA userspace control API includes some bad behaviours when
adding several elements in one operation. This operation generates
a group of elements with the same feature. But:
 * These elements refer to the same memory object.
 * .info() operations always set numerical ID as the first element.

This commit also adds some workarounds against this ugly design.