[alsa-devel] Restart alsa-gi project as alsa-gobject project
Takashi Sakamoto
o-takashi at sakamocchi.jp
Wed Dec 4 14:34:54 CET 2019
Hi Jaroslav,
On Wed, Dec 04, 2019 at 10:10:49AM +0100, Jaroslav Kysela wrote:
> Dne 04. 12. 19 v 1:33 Takashi Sakamoto napsal(a):
> > Would I expect your arrangement for this project, or should I continue
> > to develop it apart from alsa-project?
>
> You're the only developer for this thus I'll shift the repos in the ALSA
> project on github. You should also write to README that this project is not
> using alsa-lib, thus the extra abstraction interfaces from alsa-lib cannot
> be used. Or do you plan to build gobjects on top of alsa-lib, too?
Mmm. I guess that there's miscommunication about the design of alsa-gi
project at first place. I remember you were not at the same room in the
audio mini conf.
The original alsa-gi is independent of alsa-lib[1]. This has been
immutable since I mentioned about the project in the audio miniconf[2],
thus alsa-gobject is just on <sound/asound.h> and <sound/asequencer.h> as
well. The project is thin layer between produced API and character devices
for applications to execute I/O as easy as possible. This point is
important to write tests and to implement some ctl/sequencer drivers in
userland.
For the design, at present, I have no plan to be on alsa-lib. Especially,
the combination of configuration space and domain specific language is
not surely supported. The below features of alsa-lib are not supported
by alsa-gobject:
* text files for configuration space
* parser of domain specific language
* plug-in mechanism for all interfaces
* hctrl interface
* mixer interface and sctl plug-in mechanism
* plug-in SDK for pcm/ctl interfaces
I think it possible to implement the equivalents by high-level
programming languages as well as the below features:
* Parser/builder for Type-Length-Value array for ctl interface
* Converter between MIDI messages and ALSA sequencer events
* topology interface
* ucm interface
But at present my concern is I/O between user/kernel space, thus I have
no plan to work for the above items now, except for TLV parser/builder.
[1] You can find no strings for 'alsa-lib' in meson.build.
https://github.com/takaswie/alsa-gi/blob/master/src/meson.build
[2] https://github.com/takaswie/presentations/blob/master/20181021/contents.md#mockup-alsa-gi
Regards
Takashi Sakamoto
More information about the Alsa-devel
mailing list