* future ALSA development
@ 2003-06-22 19:10 Jaroslav Kysela
2003-06-23 11:14 ` Takashi Iwai
` (2 more replies)
0 siblings, 3 replies; 31+ messages in thread
From: Jaroslav Kysela @ 2003-06-22 19:10 UTC (permalink / raw)
To: ALSA development
Hello all,
here are my next goals for the ALSA library development (short
term). I invite all developers to comment these directions.
* create ordinary pcm & mixer interfaces
- proposed headers are in current CVS
- alsa-lib/include/pcm_ordinary.h
- alsa-lib/include/mixer_ordinary.h
- intended applications are
- simple playback & recorders
- DVD players
- VoIP (and other audio conferencing) applications
- very simple mixer applications
* investigate a lisp integration to the current configuration syntax
- we need to describe the relations between high level abstract
layer (ordinary mixer) and current universal controls (very lowlevel);
it seems that the simple configuration is not able to describe
these (in most cases) very complicated paths
- note that describing of these relations might be used also for
another mixer interfaces (simple mixer for example)
- I don't rely on lisp, but what another interpreter with function
definition has only 22kB binary (slisp-1.2 - i686)?
* initiate a development of a graphical tool which will manage
the alsa configuration files (~/.asoundrc)
- we need a rapid development tool; I slowly became a fan of python and
Qt has rich number of widgets; python + PyQt seems to me a good idea
- using python requires to write a GPLed ALSA 0.9 -> python wrapper
Jaroslav
-----
Jaroslav Kysela <perex@suse.cz>
Linux Kernel Sound Maintainer
ALSA Project, SuSE Labs
-------------------------------------------------------
This SF.Net email is sponsored by: INetU
Attention Web Developers & Consultants: Become An INetU Hosting Partner.
Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission!
INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php
^ permalink raw reply [flat|nested] 31+ messages in thread* Re: future ALSA development 2003-06-22 19:10 future ALSA development Jaroslav Kysela @ 2003-06-23 11:14 ` Takashi Iwai 2003-06-23 12:01 ` Jaroslav Kysela 2003-06-24 12:52 ` future ALSA development Giuliano Pochini 2003-07-03 14:21 ` Kai Vehmanen 2003-07-03 16:05 ` Thomas Charbonnel 2 siblings, 2 replies; 31+ messages in thread From: Takashi Iwai @ 2003-06-23 11:14 UTC (permalink / raw) To: Jaroslav Kysela; +Cc: ALSA development At Sun, 22 Jun 2003 21:10:31 +0200 (CEST), Jaroslav wrote: > > Hello all, > > here are my next goals for the ALSA library development (short > term). I invite all developers to comment these directions. > > * create ordinary pcm & mixer interfaces > - proposed headers are in current CVS > - alsa-lib/include/pcm_ordinary.h > - alsa-lib/include/mixer_ordinary.h i know the name conflictions of the word "simple" but i feel this naming not so intuitive... it's just my tastes, though. a native english person might have a better idea? > - intended applications are > - simple playback & recorders > - DVD players > - VoIP (and other audio conferencing) applications > - very simple mixer applications nice! do you think it's easy to bind to other languages, too? i've thought of C++ wrapper for the current alsa-lib, but it's way complicated because of its opaque struct style. > * investigate a lisp integration to the current configuration syntax > - we need to describe the relations between high level abstract > layer (ordinary mixer) and current universal controls (very lowlevel); > it seems that the simple configuration is not able to describe > these (in most cases) very complicated paths yep. > - note that describing of these relations might be used also for > another mixer interfaces (simple mixer for example) > - I don't rely on lisp, but what another interpreter with function > definition has only 22kB binary (slisp-1.2 - i686)? surely it's nice but i don't think it's good to introduce more complexity into the asoundrc syntax. or, if you mean an external database for describing the mixer configuration, it would be the outside of the (old) simple-mixer API, IMO. in that case, anyway, we can drop simple-mixer API and replace with the new one. the strategy used in the simple-mixer API can be integrated into the new (ordinary) mixer API. about lisp: i don't have objections. i like lisp, too :) the parser can be quite small, so if we build the parser in alsa-lib, it's a good choice. other people might propose XML. then it becomes to a question whether alsa-lib should rely on other libs... > * initiate a development of a graphical tool which will manage > the alsa configuration files (~/.asoundrc) > - we need a rapid development tool; I slowly became a fan of python and > Qt has rich number of widgets; python + PyQt seems to me a good idea > - using python requires to write a GPLed ALSA 0.9 -> python wrapper no objection at all. python is powerful enough. and once if such a tool is written in a certain language, it's easy to port to other languages, too. ciao, Takashi ------------------------------------------------------- This SF.Net email is sponsored by: INetU Attention Web Developers & Consultants: Become An INetU Hosting Partner. Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission! INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: future ALSA development 2003-06-23 11:14 ` Takashi Iwai @ 2003-06-23 12:01 ` Jaroslav Kysela 2003-06-23 13:13 ` Takashi Iwai 2003-06-23 22:22 ` Joern Nettingsmeier 2003-06-24 12:52 ` future ALSA development Giuliano Pochini 1 sibling, 2 replies; 31+ messages in thread From: Jaroslav Kysela @ 2003-06-23 12:01 UTC (permalink / raw) To: Takashi Iwai; +Cc: ALSA development On Mon, 23 Jun 2003, Takashi Iwai wrote: > At Sun, 22 Jun 2003 21:10:31 +0200 (CEST), > Jaroslav wrote: > > > > Hello all, > > > > here are my next goals for the ALSA library development (short > > term). I invite all developers to comment these directions. > > > > * create ordinary pcm & mixer interfaces > > - proposed headers are in current CVS > > - alsa-lib/include/pcm_ordinary.h > > - alsa-lib/include/mixer_ordinary.h > > i know the name conflictions of the word "simple" but i feel this > naming not so intuitive... it's just my tastes, though. > > a native english person might have a better idea? Well, I do not mind to change the base name again. It was only quick fix. > > - intended applications are > > - simple playback & recorders > > - DVD players > > - VoIP (and other audio conferencing) applications > > - very simple mixer applications > > nice! > > do you think it's easy to bind to other languages, too? > i've thought of C++ wrapper for the current alsa-lib, but it's way > complicated because of its opaque struct style. The new API is designed to keep it very simple. I think that the porting to another language will be very simple, too. > > * investigate a lisp integration to the current configuration syntax > > - we need to describe the relations between high level abstract > > layer (ordinary mixer) and current universal controls (very lowlevel); > > it seems that the simple configuration is not able to describe > > these (in most cases) very complicated paths > > yep. > > > - note that describing of these relations might be used also for > > another mixer interfaces (simple mixer for example) > > - I don't rely on lisp, but what another interpreter with function > > definition has only 22kB binary (slisp-1.2 - i686)? > > surely it's nice but i don't think it's good to introduce more > complexity into the asoundrc syntax. or, if you mean an external We need to introduce the configuration extensions. At this stage, I want to investigate, if the runtime configuration modification (runtime functions) might be converted to lisp rather than doing more or less ugly hacks in our configuration syntax parsers. > database for describing the mixer configuration, it would be the > outside of the (old) simple-mixer API, IMO. > > in that case, anyway, we can drop simple-mixer API and replace with > the new one. the strategy used in the simple-mixer API can be > integrated into the new (ordinary) mixer API. I think that the ordinary mixer API and simple mixer API does not have much common parts for complicated hardware. The ordinary mixer API is very highlevel and tied up to specified playback / capture streams, but the simple mixer API is still only a translation between universal controls and mixer applications. I think that both should be configurable, but the question is how much of these configurations can be shared. I would keep the configurations separate. > about lisp: i don't have objections. i like lisp, too :) > the parser can be quite small, so if we build the parser in alsa-lib, > it's a good choice. > > other people might propose XML. then it becomes to a question whether > alsa-lib should rely on other libs... I think that XML is too overkill for our purposes. Jaroslav ----- Jaroslav Kysela <perex@suse.cz> Linux Kernel Sound Maintainer ALSA Project, SuSE Labs ------------------------------------------------------- This SF.Net email is sponsored by: INetU Attention Web Developers & Consultants: Become An INetU Hosting Partner. Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission! INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: future ALSA development 2003-06-23 12:01 ` Jaroslav Kysela @ 2003-06-23 13:13 ` Takashi Iwai 2003-06-23 13:41 ` Paul Davis 2003-06-23 22:22 ` Joern Nettingsmeier 1 sibling, 1 reply; 31+ messages in thread From: Takashi Iwai @ 2003-06-23 13:13 UTC (permalink / raw) To: ALSA development At Mon, 23 Jun 2003 14:01:08 +0200 (CEST), Jaroslav wrote: > > > > * investigate a lisp integration to the current configuration syntax > > > - we need to describe the relations between high level abstract > > > layer (ordinary mixer) and current universal controls (very lowlevel); > > > it seems that the simple configuration is not able to describe > > > these (in most cases) very complicated paths > > > > yep. > > > > > - note that describing of these relations might be used also for > > > another mixer interfaces (simple mixer for example) > > > - I don't rely on lisp, but what another interpreter with function > > > definition has only 22kB binary (slisp-1.2 - i686)? > > > > surely it's nice but i don't think it's good to introduce more > > complexity into the asoundrc syntax. or, if you mean an external > > We need to introduce the configuration extensions. At this stage, > I want to investigate, if the runtime configuration modification (runtime > functions) might be converted to lisp rather than doing more or less ugly > hacks in our configuration syntax parsers. my afraid is that the more control flows like conditionals may lead to a difficulty for a parser utility. i.e. the parser itself would be like an interprerter. but it's true that an extesion is needed anyway... > > database for describing the mixer configuration, it would be the > > outside of the (old) simple-mixer API, IMO. > > > > in that case, anyway, we can drop simple-mixer API and replace with > > the new one. the strategy used in the simple-mixer API can be > > integrated into the new (ordinary) mixer API. > > I think that the ordinary mixer API and simple mixer API does not have > much common parts for complicated hardware. The ordinary mixer API is very > highlevel and tied up to specified playback / capture streams, but the > simple mixer API is still only a translation between universal controls > and mixer applications. I think that both should be configurable, but the > question is how much of these configurations can be shared. I would keep > the configurations separate. IMO, the current simple-mixer API is still too complicated and not a good abstraction. as you mentioned, there is a big gap between the low-level expressions (control API) and the reasonable mixer appearance. the extra information for the mixer would be needed to fill this gap, too. > > about lisp: i don't have objections. i like lisp, too :) > > the parser can be quite small, so if we build the parser in alsa-lib, > > it's a good choice. > > > > other people might propose XML. then it becomes to a question whether > > alsa-lib should rely on other libs... > > I think that XML is too overkill for our purposes. i don't think it's overkill but just a question of library dependency. and, writing a (good-readable) XML by hand is (not always but often) a hard work. so i myself don't buy this unless any other good reason appears. Takashi ------------------------------------------------------- This SF.Net email is sponsored by: INetU Attention Web Developers & Consultants: Become An INetU Hosting Partner. Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission! INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: future ALSA development 2003-06-23 13:13 ` Takashi Iwai @ 2003-06-23 13:41 ` Paul Davis 2003-06-23 13:51 ` Takashi Iwai 0 siblings, 1 reply; 31+ messages in thread From: Paul Davis @ 2003-06-23 13:41 UTC (permalink / raw) To: Takashi Iwai; +Cc: ALSA development >my afraid is that the more control flows like conditionals may lead to >a difficulty for a parser utility. i.e. the parser itself would be >like an interprerter. but it's true that an extesion is needed >anyway... with a smile, i seem to recall noting that we'd end up with lisp. quasimodo had gone through the same song and dance with a custom configuration parser only to eventually find that guile made more sense in almost every way. there is some adage about reinventing lisp that i forget. >IMO, the current simple-mixer API is still too complicated and not a >good abstraction. as you mentioned, there is a big gap between the >low-level expressions (control API) and the reasonable mixer >appearance. the extra information for the mixer would be needed to >fill this gap, too. i'd like to put in a plug for a API that includes the one basic operation that JACK cannot implement on "generic" hardware: "make the signal coming to the current capture input appear at the output". i.e. hardware monitoring. this is a really major flaw in JACK when run on all consumer audio interfaces: they are quite capable of doing analog-level h/w monitoring, but JACK can't use it. i know that the semantics need to be better defined than in my sentence above. --p ------------------------------------------------------- This SF.Net email is sponsored by: INetU Attention Web Developers & Consultants: Become An INetU Hosting Partner. Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission! INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: future ALSA development 2003-06-23 13:41 ` Paul Davis @ 2003-06-23 13:51 ` Takashi Iwai 2003-06-23 14:18 ` Paul Davis 0 siblings, 1 reply; 31+ messages in thread From: Takashi Iwai @ 2003-06-23 13:51 UTC (permalink / raw) To: Paul Davis; +Cc: ALSA development At Mon, 23 Jun 2003 09:41:32 -0400, Paul Davis wrote: > > >my afraid is that the more control flows like conditionals may lead to > >a difficulty for a parser utility. i.e. the parser itself would be > >like an interprerter. but it's true that an extesion is needed > >anyway... > > with a smile, i seem to recall noting that we'd end up with > lisp. quasimodo had gone through the same song and dance with a custom > configuration parser only to eventually find that guile made more > sense in almost every way. there is some adage about reinventing lisp > that i forget. oh yeah. btw, what was the biggest reason to change to XML in ardour? it used guile once upon a time. > >IMO, the current simple-mixer API is still too complicated and not a > >good abstraction. as you mentioned, there is a big gap between the > >low-level expressions (control API) and the reasonable mixer > >appearance. the extra information for the mixer would be needed to > >fill this gap, too. > > i'd like to put in a plug for a API that includes the one basic > operation that JACK cannot implement on "generic" hardware: > > "make the signal coming to the current capture input > appear at the output". > > i.e. hardware monitoring. this is a really major flaw in JACK when run > on all consumer audio interfaces: they are quite capable of doing > analog-level h/w monitoring, but JACK can't use it. > > i know that the semantics need to be better defined than in my > sentence above. this can be implemented better once when we have an ordinary-mixer API. the problem was that the action to do is different for each card, and it's not abstracted (nor unified) so far. the higher abstraction will absorb such a difference. Takashi ------------------------------------------------------- This SF.Net email is sponsored by: INetU Attention Web Developers & Consultants: Become An INetU Hosting Partner. Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission! INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: future ALSA development 2003-06-23 13:51 ` Takashi Iwai @ 2003-06-23 14:18 ` Paul Davis 0 siblings, 0 replies; 31+ messages in thread From: Paul Davis @ 2003-06-23 14:18 UTC (permalink / raw) To: Takashi Iwai; +Cc: ALSA development >btw, what was the biggest reason to change to XML in ardour? >it used guile once upon a time. i didn't like the fact that the entire main() call had to be encapsulated within a guile invocation (given what ardour does with memory, threads, scheduling, etc, etc). i also didn't like having to require guile be installed, and lastly, perhaps most importantly, ardour was going to use XML for data files (session state information etc) to further inter-operability, and so we decided to switch to XML throughout. >this can be implemented better once when we have an ordinary-mixer >API. the problem was that the action to do is different for each >card, and it's not abstracted (nor unified) so far. >the higher abstraction will absorb such a difference. understood. i'd just to see this as a goal of whatever changes you make. ------------------------------------------------------- This SF.Net email is sponsored by: INetU Attention Web Developers & Consultants: Become An INetU Hosting Partner. Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission! INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: future ALSA development 2003-06-23 12:01 ` Jaroslav Kysela 2003-06-23 13:13 ` Takashi Iwai @ 2003-06-23 22:22 ` Joern Nettingsmeier 2003-06-24 7:51 ` mru ` (3 more replies) 1 sibling, 4 replies; 31+ messages in thread From: Joern Nettingsmeier @ 2003-06-23 22:22 UTC (permalink / raw) To: Jaroslav Kysela; +Cc: Takashi Iwai, ALSA development Jaroslav Kysela wrote: >> >>other people might propose XML. then it becomes to a question whether >>alsa-lib should rely on other libs... > > > I think that XML is too overkill for our purposes. > > Jaroslav > true if you only consider alsa. but on most systems, libxml2 is there anyway. <underwear type="asbestos">and imvho xml is less a matter of taste than lisp.</underwear> and xml is way easier to handle in other contexts (i'm thinking of auto.configuration stuff etc.) otoh, the embedded guys will probably not like it, but then memory is becoming cheaper by the minute, and its additional size will be a moot point in the very near future. -- All Members shall refrain in their international relations from the threat or use of force against the territorial integrity or political independence of any state, or in any other manner inconsistent with the Purposes of the United Nations. -- Charter of the United Nations, Article 2.4 Jörn Nettingsmeier Kurfürstenstr 49, 45138 Essen, Germany http://spunk.dnsalias.org (my server) http://www.linuxdj.com/audio/lad/ (Linux Audio Developers) ------------------------------------------------------- This SF.Net email is sponsored by: INetU Attention Web Developers & Consultants: Become An INetU Hosting Partner. Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission! INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: future ALSA development 2003-06-23 22:22 ` Joern Nettingsmeier @ 2003-06-24 7:51 ` mru 2003-06-24 8:14 ` Jaroslav Kysela ` (2 subsequent siblings) 3 siblings, 0 replies; 31+ messages in thread From: mru @ 2003-06-24 7:51 UTC (permalink / raw) To: alsa-devel Joern Nettingsmeier <nettings@folkwang-hochschule.de> writes: > >>other people might propose XML. then it becomes to a question whether > >>alsa-lib should rely on other libs... > > > > > > I think that XML is too overkill for our purposes. > > true if you only consider alsa. but on most systems, libxml2 is there > anyway. <underwear type="asbestos">and imvho xml is less a matter of > taste than lisp.</underwear> and xml is way easier to handle in other > contexts (i'm thinking of auto.configuration stuff etc.) > otoh, the embedded guys will probably not like it, but then memory is > becoming cheaper by the minute, and its additional size will be a moot > point in the very near future. IMO, xml is a piece of bloated, error-prone hypeware. Comparing it to LISP doesn't make sense at all. LISP is a programming language, whereas XML is a markup language, albeit one that has come to be misused a great deal. -- Måns Rullgård mru@users.sf.net ------------------------------------------------------- This SF.Net email is sponsored by: INetU Attention Web Developers & Consultants: Become An INetU Hosting Partner. Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission! INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: future ALSA development 2003-06-23 22:22 ` Joern Nettingsmeier 2003-06-24 7:51 ` mru @ 2003-06-24 8:14 ` Jaroslav Kysela 2003-06-24 11:19 ` Abramo Bagnara 2003-06-24 11:43 ` Paul Davis 2003-06-24 8:28 ` iriXx 2003-07-03 13:39 ` Kai Vehmanen 3 siblings, 2 replies; 31+ messages in thread From: Jaroslav Kysela @ 2003-06-24 8:14 UTC (permalink / raw) To: Joern Nettingsmeier; +Cc: Takashi Iwai, ALSA development On Tue, 24 Jun 2003, Joern Nettingsmeier wrote: > Jaroslav Kysela wrote: > >> > >>other people might propose XML. then it becomes to a question whether > >>alsa-lib should rely on other libs... > > > > > > I think that XML is too overkill for our purposes. > > true if you only consider alsa. but on most systems, libxml2 is there > anyway. <underwear type="asbestos">and imvho xml is less a matter of > taste than lisp.</underwear> and xml is way easier to handle in other > contexts (i'm thinking of auto.configuration stuff etc.) > otoh, the embedded guys will probably not like it, but then memory is > becoming cheaper by the minute, and its additional size will be a moot > point in the very near future. Note that I do not want to squash the current configuration syntax at all. I only want to extend the parsing and runtime evaluation of given configuration, because we need to describe complex things. I really think that XML is not a good choice at the moment for this job and if we use XML, we must define some language as well. I am trying to rewrite some runtime evaluation parts of alsa.conf: Original code: # pre-load the configuration files @hooks [ { func load files [ "/etc/asound.conf" "~/.asoundrc" ] errors false } ] New code: # pre-load the configuration files @elisp " (load-conf \"/etc/asound.conf\" 0) (load-conf \"~/.asoundrc\" 0) " I think that it is much readable, is not? More complicated example (original code as first): # load card-specific configuration files (on request) cards.@hooks [ { func load files [ { @func concat strings [ { @func datadir } "/cards/aliases.conf" ] } ] } { func load_for_all_cards files [ { @func concat strings [ { @func datadir } "/cards/" { @func private_string } ".conf" ] } ] errors false } ] New code: # load card-specific configuration files (on request) cards.@elisp " (load-conf (concat (data-dir) \"/cards/aliases.conf\") 0) (defun load-conf-all (card) (when (> card -1) ((load-conf (concat (data-dir) "/cards/\" (driver card) \".conf\") 0) (setq card (next-card card))) ) ) (load_conf_all (next-card -1)) " There is much better view, what we need: 1) loops 2) conditions Also, in this way, we can define only primitives and describe the main loops in lisp which is more universal. Note: There may be a syntax error, because I am using lisp for the first time. Jaroslav ----- Jaroslav Kysela <perex@suse.cz> Linux Kernel Sound Maintainer ALSA Project, SuSE Labs ------------------------------------------------------- This SF.Net email is sponsored by: INetU Attention Web Developers & Consultants: Become An INetU Hosting Partner. Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission! INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: future ALSA development 2003-06-24 8:14 ` Jaroslav Kysela @ 2003-06-24 11:19 ` Abramo Bagnara 2003-06-24 11:43 ` Paul Davis 1 sibling, 0 replies; 31+ messages in thread From: Abramo Bagnara @ 2003-06-24 11:19 UTC (permalink / raw) To: Jaroslav Kysela; +Cc: Joern Nettingsmeier, Takashi Iwai, ALSA development Jaroslav Kysela ha scritto: > On Tue, 24 Jun 2003, Joern Nettingsmeier wrote: > > > # pre-load the configuration files > > @elisp " > (load-conf \"/etc/asound.conf\" 0) > (load-conf \"~/.asoundrc\" 0) > " I'd suggest a simpler alternative: - introduce a new type SND_CONFIG_TYPE_SEXP - change parser to parse as an s-expression what begins with '(' The thing to think about is how to decide appropriate run time of sexp. -- Abramo Bagnara mailto:abramo.bagnara@libero.it Opera Unica Phone: +39.546.656023 Via Emilia Interna, 140 48014 Castel Bolognese (RA) - Italy ------------------------------------------------------- This SF.Net email is sponsored by: INetU Attention Web Developers & Consultants: Become An INetU Hosting Partner. Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission! INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: future ALSA development 2003-06-24 8:14 ` Jaroslav Kysela 2003-06-24 11:19 ` Abramo Bagnara @ 2003-06-24 11:43 ` Paul Davis 2003-06-24 11:56 ` Jaroslav Kysela 1 sibling, 1 reply; 31+ messages in thread From: Paul Davis @ 2003-06-24 11:43 UTC (permalink / raw) To: Jaroslav Kysela; +Cc: Joern Nettingsmeier, Takashi Iwai, ALSA development >@hooks [ > { > func load > files [ > "/etc/asound.conf" > "~/.asoundrc" > ] > errors false > } >] > >New code: > ># pre-load the configuration files > >@elisp " > (load-conf \"/etc/asound.conf\" 0) > (load-conf \"~/.asoundrc\" 0) >" > >I think that it is much readable, is not? slightly. but why on earth embed LISP within the existing language? you now make users (and programmers working on alsa-lib) deal with **TWO** languages. and just look at this ugliness: >cards.@elisp " > (load-conf (concat (data-dir) \"/cards/aliases.conf\") 0) > (defun load-conf-all (card) > (when (> card -1) > ((load-conf (concat (data-dir) "/cards/\" (driver card >) \".conf\") 0) > (setq card (next-card card))) > ) > ) > (load_conf_all (next-card -1)) >" this is just another version of the kind of embedded quoting nightmare that we all face when using shell scripts. the right form is: (defun cards (load-conf (concat (data-dir) "/cards/aliases.conf") 0) (defun load-conf-all (card) (when (> card -1) ((load-conf (concat (data-dir) "/cards/" (driver card) ".conf") 0) (setq card (next-card card))) ) ) (load_conf_all (next-card -1)) ) Now *that's* elegant! LISP can do everything that the existing language can do, it can do it better, more flexibly, and more generically. I can see no justification for making them both coexist. Either do the right thing and use LISP or continue to hack the existing language "into shape". Please. --p ------------------------------------------------------- This SF.Net email is sponsored by: INetU Attention Web Developers & Consultants: Become An INetU Hosting Partner. Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission! INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: future ALSA development 2003-06-24 11:43 ` Paul Davis @ 2003-06-24 11:56 ` Jaroslav Kysela 2003-06-24 12:16 ` Paul Davis 0 siblings, 1 reply; 31+ messages in thread From: Jaroslav Kysela @ 2003-06-24 11:56 UTC (permalink / raw) To: Paul Davis; +Cc: Joern Nettingsmeier, Takashi Iwai, ALSA development On Tue, 24 Jun 2003, Paul Davis wrote: > this is just another version of the kind of embedded quoting nightmare > that we all face when using shell scripts. the right form is: > > (defun cards > (load-conf (concat (data-dir) "/cards/aliases.conf") 0) > (defun load-conf-all (card) > (when (> card -1) > ((load-conf (concat (data-dir) "/cards/" > (driver card) ".conf") 0) > (setq card (next-card card))) > ) > ) > (load_conf_all (next-card -1)) > ) > > Now *that's* elegant! > > LISP can do everything that the existing language can do, it can do it > better, more flexibly, and more generically. I can see no > justification for making them both coexist. Either do the right thing > and use LISP or continue to hack the existing language "into > shape". Please. There are two differences between lisp and alsa configuration language. Lisp is standard dynamic language but the ALSA configuration is static (if you ommit the runtime evaluation hacks added to enhance functinality). It is something similar like "HTML" and "Java script". The first one is good to describe the static part of web pages, but if you want something dynamic, you have to use another embeded language. Note that 'cards.@elisp "code"' part expands the whole cards tree to (example): cards.pcm.EMU10K1.front { EMU10K1.specific.configuration.is.here } cards.pcm.YMFPCI.rear { YMFPCI...... } Jaroslav ----- Jaroslav Kysela <perex@suse.cz> Linux Kernel Sound Maintainer ALSA Project, SuSE Labs ------------------------------------------------------- This SF.Net email is sponsored by: INetU Attention Web Developers & Consultants: Become An INetU Hosting Partner. Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission! INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: future ALSA development 2003-06-24 11:56 ` Jaroslav Kysela @ 2003-06-24 12:16 ` Paul Davis 2003-06-24 17:11 ` Takashi Iwai 0 siblings, 1 reply; 31+ messages in thread From: Paul Davis @ 2003-06-24 12:16 UTC (permalink / raw) To: Jaroslav Kysela; +Cc: Joern Nettingsmeier, Takashi Iwai, ALSA development >There are two differences between lisp and alsa configuration language. >Lisp is standard dynamic language but the ALSA configuration is static >(if you ommit the runtime evaluation hacks added to enhance functinality). but the runtime evaluation hacks are precisely what give rise to the problems. you and abramo may have conceived of it as a static language in the first place, but it clearly has, along with just about every other "small language", mutated into something else. the story of PHP is one of the more recent illustrations of this. >It is something similar like "HTML" and "Java script". The first one is >good to describe the static part of web pages, but if you want something >dynamic, you have to use another embeded language. or use a real language for the whole thing. this is not the web. there is no reason to use a few lines of static container code (e.g. HTML) to wrap a real programming language (e.g. Java). ------------------------------------------------------- This SF.Net email is sponsored by: INetU Attention Web Developers & Consultants: Become An INetU Hosting Partner. Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission! INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: future ALSA development 2003-06-24 12:16 ` Paul Davis @ 2003-06-24 17:11 ` Takashi Iwai 2003-06-24 18:28 ` Jaroslav Kysela 0 siblings, 1 reply; 31+ messages in thread From: Takashi Iwai @ 2003-06-24 17:11 UTC (permalink / raw) To: Paul Davis; +Cc: Jaroslav Kysela, Joern Nettingsmeier, ALSA development At Tue, 24 Jun 2003 08:16:18 -0400, Paul Davis wrote: > > >It is something similar like "HTML" and "Java script". The first one is > >good to describe the static part of web pages, but if you want something > >dynamic, you have to use another embeded language. > > or use a real language for the whole thing. this is not the web. there > is no reason to use a few lines of static container code (e.g. HTML) > to wrap a real programming language (e.g. Java). i agree with Paul. of course, it's a pain that all configuration syntax is changed. but for me, it looks far more consistent to describe the whole thing with the same syntax. well, you might consider the compatibility issue. yes, that's another big thing to discuss... i believe, if we change the configuration syntax, it would be better to branch the development tree (or jump the version number). the current system works well already in many fields, so it's nice to keep the stable series. Takashi ------------------------------------------------------- This SF.Net email is sponsored by: INetU Attention Web Developers & Consultants: Become An INetU Hosting Partner. Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission! INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: future ALSA development 2003-06-24 17:11 ` Takashi Iwai @ 2003-06-24 18:28 ` Jaroslav Kysela 2003-06-25 17:49 ` PCMCIA In Kernel Or In ALSA Driver? Len Moskowitz 2003-06-30 10:17 ` future ALSA development Takashi Iwai 0 siblings, 2 replies; 31+ messages in thread From: Jaroslav Kysela @ 2003-06-24 18:28 UTC (permalink / raw) To: Takashi Iwai; +Cc: Paul Davis, Joern Nettingsmeier, ALSA development On Tue, 24 Jun 2003, Takashi Iwai wrote: > At Tue, 24 Jun 2003 08:16:18 -0400, > Paul Davis wrote: > > > > >It is something similar like "HTML" and "Java script". The first one is > > >good to describe the static part of web pages, but if you want something > > >dynamic, you have to use another embeded language. > > > > or use a real language for the whole thing. this is not the web. there > > is no reason to use a few lines of static container code (e.g. HTML) > > to wrap a real programming language (e.g. Java). > > i agree with Paul. > of course, it's a pain that all configuration syntax is changed. > but for me, it looks far more consistent to describe the whole thing > with the same syntax. > > well, you might consider the compatibility issue. yes, that's another > big thing to discuss... I will try to evaluate the lisp possibilities in this area. I also think that the old and new configuration might co-exist for awhile. Especially, the new extensions (like mixer configuration) might use the new configuration syntax. > i believe, if we change the configuration syntax, it would be better > to branch the development tree (or jump the version number). > the current system works well already in many fields, so it's nice to > keep the stable series. We can do it when we need to break the compatibility behaviour. Jaroslav ----- Jaroslav Kysela <perex@suse.cz> Linux Kernel Sound Maintainer ALSA Project, SuSE Labs ------------------------------------------------------- This SF.Net email is sponsored by: INetU Attention Web Developers & Consultants: Become An INetU Hosting Partner. Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission! INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php ^ permalink raw reply [flat|nested] 31+ messages in thread
* PCMCIA In Kernel Or In ALSA Driver? 2003-06-24 18:28 ` Jaroslav Kysela @ 2003-06-25 17:49 ` Len Moskowitz 2003-06-25 18:51 ` Jaroslav Kysela 2003-06-30 10:17 ` future ALSA development Takashi Iwai 1 sibling, 1 reply; 31+ messages in thread From: Len Moskowitz @ 2003-06-25 17:49 UTC (permalink / raw) To: ALSA development; +Cc: Jaroslav Kysela Hi to all, We're setting up a PDAudio-CF card. I note that the configuration asks whether we want kernel or ALSA PCMCIA support: does it matter to the PDAudio-CF card driver? Len M. ------------------------------------------------------- This SF.Net email is sponsored by: INetU Attention Web Developers & Consultants: Become An INetU Hosting Partner. Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission! INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: PCMCIA In Kernel Or In ALSA Driver? 2003-06-25 17:49 ` PCMCIA In Kernel Or In ALSA Driver? Len Moskowitz @ 2003-06-25 18:51 ` Jaroslav Kysela 0 siblings, 0 replies; 31+ messages in thread From: Jaroslav Kysela @ 2003-06-25 18:51 UTC (permalink / raw) To: Len Moskowitz; +Cc: ALSA development On Wed, 25 Jun 2003, Len Moskowitz wrote: > Hi to all, > > We're setting up a PDAudio-CF card. > > I note that the configuration asks whether we want kernel or ALSA PCMCIA > support: does it > matter to the PDAudio-CF card driver? Yes, both should be enabled (kernel + ALSA PCMCIA support). Jaroslav ----- Jaroslav Kysela <perex@suse.cz> Linux Kernel Sound Maintainer ALSA Project, SuSE Labs ------------------------------------------------------- This SF.Net email is sponsored by: INetU Attention Web Developers & Consultants: Become An INetU Hosting Partner. Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission! INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: future ALSA development 2003-06-24 18:28 ` Jaroslav Kysela 2003-06-25 17:49 ` PCMCIA In Kernel Or In ALSA Driver? Len Moskowitz @ 2003-06-30 10:17 ` Takashi Iwai 1 sibling, 0 replies; 31+ messages in thread From: Takashi Iwai @ 2003-06-30 10:17 UTC (permalink / raw) To: Jaroslav Kysela; +Cc: Paul Davis, Joern Nettingsmeier, ALSA development At Tue, 24 Jun 2003 20:28:08 +0200 (CEST), Jaroslav wrote: > > > i believe, if we change the configuration syntax, it would be better > > to branch the development tree (or jump the version number). > > the current system works well already in many fields, so it's nice to > > keep the stable series. > > We can do it when we need to break the compatibility behaviour. hmm, i think we need now some release engineering. ALSA 0.9.x series has been released as the STABLE line, and that means that the API should be kept as much as possible. i don't think it's good to include the experimental code for a fundamental change to such a tree (even in cvs). i know it's a bit annoying to keep both different cvs branches up-to-date. but now it's the time to separate clearly what we've done and what we'll do. this will make it easy to release the newer 0.9.x tarball, too. well, if we were to use bitkeeper, it would be easier to keep the different trees in sync... :) Takashi ------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01 ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: future ALSA development 2003-06-23 22:22 ` Joern Nettingsmeier 2003-06-24 7:51 ` mru 2003-06-24 8:14 ` Jaroslav Kysela @ 2003-06-24 8:28 ` iriXx 2003-07-03 13:39 ` Kai Vehmanen 3 siblings, 0 replies; 31+ messages in thread From: iriXx @ 2003-06-24 8:28 UTC (permalink / raw) To: Joern Nettingsmeier; +Cc: ALSA development Joern Nettingsmeier wrote: > true if you only consider alsa. but on most systems, libxml2 is there > anyway. <underwear type="asbestos">and imvho xml is less a matter of > taste than lisp.</underwear> and xml is way easier to handle in other > contexts (i'm thinking of auto.configuration stuff etc.) > otoh, the embedded guys will probably not like it, but then memory is > becoming cheaper by the minute, and its additional size will be a moot > point in the very near future. > > ROFL im just reading my email over breakfast and had a splurting coffee moment wondering how many of us could see your underwear..... ;-) m~ > -- |\ _,,,---,,_ ZZZzz /,`.-'`' -. ;-;;,_ HTTP 503: Too Busy |,4- ) )-,_. ,\ ( `'-' '---''(_/--' `-'\_) fL .::. www.iriXx.org .::. www.copyleftmedia.org.uk .::. gnupg key ID: AEB7A31E ------------------------------------------------------- This SF.Net email is sponsored by: INetU Attention Web Developers & Consultants: Become An INetU Hosting Partner. Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission! INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: future ALSA development 2003-06-23 22:22 ` Joern Nettingsmeier ` (2 preceding siblings ...) 2003-06-24 8:28 ` iriXx @ 2003-07-03 13:39 ` Kai Vehmanen 2003-07-07 11:26 ` Takashi Iwai 3 siblings, 1 reply; 31+ messages in thread From: Kai Vehmanen @ 2003-07-03 13:39 UTC (permalink / raw) To: ALSA development Ok, this is a bit late, but hopefully not too late. :) On Tue, 24 Jun 2003, Joern Nettingsmeier wrote: >>> other people might propose XML. then it becomes to a question whether >> I think that XML is too overkill for our purposes. > otoh, the embedded guys will probably not like it, but then memory is > becoming cheaper by the minute, and its additional size will be a moot > point in the very near future. This is a dangerous argument. While it's that true memory and cpu power are becoming cheaper and cheaper all the time, minimizing resource usage is still as important as ever. With big volume products, small things make a big difference in the overall picture (i.e. which products survive in the market). Saving an extra 100kB can make a huge difference if it allows you to use a smaller flash chip on your device. This doesn't mean ALSA should not take advantage of any additional libraries, but these additions should not create new dependendencies to the core system. In other words you should be able to build a compact version of ALSA user-space libs and tools, and one that is cross-compiler friendly. Otherwise people will be tempted to use OSS or write their own drivers. Already alsa-lib has some features that are not so good from embedded perspective: - not a small lib; with default settings around 0.5MB; this is an extra 0.5MB compared to just using OSS where there is no lib - use of more advanced c-lib features such as dynamic loading (dlopen(), etc); these can cause problems if you try to use libasound with other c-libs than glibc ... but, but, of course libasound also provides lots of great functionality, so it's still a good alternative. And also, app developers can always manually scale down the libasound build, or even write their apps to directly communicate with ALSA's kernel interface. But if using ALSA becomes too difficult, embedded-linux community will default to OSS and/or custom solutions, which I think is a bad thing... (at least I'd like to run ALSA apps on Linux PDAs and who-knows-what other gadgets that might be released in the future). -- http://www.eca.cx Audio software for Linux! ------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01 ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: future ALSA development 2003-07-03 13:39 ` Kai Vehmanen @ 2003-07-07 11:26 ` Takashi Iwai 2003-10-01 9:37 ` ALSA in embedded use (was: Re: future ALSA development) Kai Vehmanen 0 siblings, 1 reply; 31+ messages in thread From: Takashi Iwai @ 2003-07-07 11:26 UTC (permalink / raw) To: Kai Vehmanen; +Cc: ALSA development At Thu, 3 Jul 2003 16:39:36 +0300 (EEST), Kai Vehmanen wrote: > > Ok, this is a bit late, but hopefully not too late. :) > > On Tue, 24 Jun 2003, Joern Nettingsmeier wrote: > >>> other people might propose XML. then it becomes to a question whether > >> I think that XML is too overkill for our purposes. > > otoh, the embedded guys will probably not like it, but then memory is > > becoming cheaper by the minute, and its additional size will be a moot > > point in the very near future. > > This is a dangerous argument. While it's that true memory and cpu power > are becoming cheaper and cheaper all the time, minimizing resource usage > is still as important as ever. With big volume products, small things make > a big difference in the overall picture (i.e. which products survive in > the market). Saving an extra 100kB can make a huge difference if it allows > you to use a smaller flash chip on your device. > > This doesn't mean ALSA should not take advantage of any additional > libraries, but these additions should not create new dependendencies to > the core system. In other words you should be able to build a compact > version of ALSA user-space libs and tools, and one that is cross-compiler > friendly. Otherwise people will be tempted to use OSS or write their own > drivers. > > Already alsa-lib has some features that are not so good from embedded > perspective: > > - not a small lib; with default settings around 0.5MB; this > is an extra 0.5MB compared to just using OSS where there is no lib that's true. > - use of more advanced c-lib features such as dynamic loading (dlopen(), > etc); these can cause problems if you try to use libasound with other > c-libs than glibc it's possible to create a static library which doesn't need dlopen(). but it will eventually link the whole plugin objects statically. so, maybe a compromise is to add configure options or something to choose the components (e.g. plugins) to be built in. this will reduce the size of binary, too. there are some parts which use glibc's extension (like jump to label address or function-in-function). but these can be fixed with the standard style, too. they are mostly optmizations only. > ... but, but, of course libasound also provides lots of great > functionality, so it's still a good alternative. And also, app developers > can always manually scale down the libasound build, yep > or even write their > apps to directly communicate with ALSA's kernel interface. mmm, this should be never done. one of the reason to have alsa-lib is to avoid this. Takashi ------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01 ^ permalink raw reply [flat|nested] 31+ messages in thread
* ALSA in embedded use (was: Re: future ALSA development) 2003-07-07 11:26 ` Takashi Iwai @ 2003-10-01 9:37 ` Kai Vehmanen 2003-10-01 13:13 ` Takashi Iwai 0 siblings, 1 reply; 31+ messages in thread From: Kai Vehmanen @ 2003-10-01 9:37 UTC (permalink / raw) To: Takashi Iwai; +Cc: ALSA development Hi, this reply comes a bit late, but I guess this is still very much a relevant topic. On Mon, 7 Jul 2003, Takashi Iwai wrote: >> Already alsa-lib has some features that are not so good from embedded >> perspective: >> - not a small lib; with default settings around 0.5MB; this >> is an extra 0.5MB compared to just using OSS where there is no lib > that's true. I yesterday installed ALSA 0.9.6 on a iPaq and libasound.so was 688kB when stripped (2.3MB with symbols). One thing to note is that latest Familiar distro release (0.7) from handhelds.org (the most popular distro for iPaqs and various other handhelds), now includes ALSA kernel drivers (alsa-modules package), but no userspace ALSA packages. This is a prime example what we need to avoid (ALSA used only for the OSS-emulation). Now I'm not subscribed to the familiar mailing lists, so I'm not 100% sure of the reasons why userspace was left out. Also, the unstable package tree seems to have packages for alsa-lib and alsa-utils, so situation might change. Still, my iPaq has only 16MB of space for the root system. After installing the basic GPE2 image, I only have 1.1MB left for my apps. In this situation the 688kB for alsa-lib plus some more for basic ALSA utils is a real problem. >> - use of more advanced c-lib features such as dynamic loading (dlopen(), > it's possible to create a static library which doesn't need dlopen(). > but it will eventually link the whole plugin objects statically. [...] > so, maybe a compromise is to add configure options or something to > choose the components (e.g. plugins) to be built in. this will reduce > the size of binary, too. Ok, this is good to know. Does this already work now (i.e. when dlopen() is not available)? > there are some parts which use glibc's extension (like jump to label > address or function-in-function). but these can be fixed with the > standard style, too. they are mostly optmizations only. Hmm, so I guess we'd need someone who actively uses dietlibc (or some other) with ALSA. Otherwise it will be hard to keep alsa-lib clean from glibc-isms. Any volunteers? :) >> apps to directly communicate with ALSA's kernel interface. > mmm, this should be never done. > one of the reason to have alsa-lib is to avoid this. But the risk is there, see my comments above about libasound size. -- http://www.eca.cx Audio software for Linux! ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: ALSA in embedded use (was: Re: future ALSA development) 2003-10-01 9:37 ` ALSA in embedded use (was: Re: future ALSA development) Kai Vehmanen @ 2003-10-01 13:13 ` Takashi Iwai 0 siblings, 0 replies; 31+ messages in thread From: Takashi Iwai @ 2003-10-01 13:13 UTC (permalink / raw) To: Kai Vehmanen; +Cc: ALSA development At Wed, 1 Oct 2003 12:37:48 +0300 (EEST), Kai Vehmanen wrote: > > >> - use of more advanced c-lib features such as dynamic loading (dlopen(), > > it's possible to create a static library which doesn't need dlopen(). > > but it will eventually link the whole plugin objects statically. > [...] > > so, maybe a compromise is to add configure options or something to > > choose the components (e.g. plugins) to be built in. this will reduce > > the size of binary, too. > > Ok, this is good to know. Does this already work now (i.e. when dlopen() > is not available)? no, volunteers wanted :) > > there are some parts which use glibc's extension (like jump to label > > address or function-in-function). but these can be fixed with the > > standard style, too. they are mostly optmizations only. > > Hmm, so I guess we'd need someone who actively uses dietlibc (or some > other) with ALSA. Otherwise it will be hard to keep alsa-lib > clean from glibc-isms. Any volunteers? :) ah, sorry, the above is a typo. i wanted to write "gcc". it should be independent from glibc or dietlibc. > >> apps to directly communicate with ALSA's kernel interface. > > mmm, this should be never done. > > one of the reason to have alsa-lib is to avoid this. > > But the risk is there, see my comments above about libasound size. for that, we'll need a diet alsa-lib. this wouldn't be too big, since it's just a wrapper. Takashi ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: future ALSA development 2003-06-23 11:14 ` Takashi Iwai 2003-06-23 12:01 ` Jaroslav Kysela @ 2003-06-24 12:52 ` Giuliano Pochini 2003-06-24 13:04 ` Jaroslav Kysela 1 sibling, 1 reply; 31+ messages in thread From: Giuliano Pochini @ 2003-06-24 12:52 UTC (permalink / raw) To: Takashi Iwai; +Cc: ALSA development On 23-Jun-2003 Takashi Iwai wrote: > At Sun, 22 Jun 2003 21:10:31 +0200 (CEST), > Jaroslav wrote: >> >> Hello all, >> >> here are my next goals for the ALSA library development (short >> term). I invite all developers to comment these directions. >> >> * create ordinary pcm & mixer interfaces >> - proposed headers are in current CVS >> - alsa-lib/include/pcm_ordinary.h >> - alsa-lib/include/mixer_ordinary.h > > i know the name conflictions of the word "simple" but i feel this > naming not so intuitive... it's just my tastes, though. It has to be simple from the application's point of view, but the implementation will be quite complex. Things as simple as setting the volume can be all but trivial given the complexity of the control API. >> * investigate a lisp integration to the current configuration syntax >> - we need to describe the relations between high level abstract >> layer (ordinary mixer) and current universal controls (very lowlevel); >> it seems that the simple configuration is not able to describe >> these (in most cases) very complicated paths > > yep. Lisp should be fine, although it's not very user-friendly. But what the interpreter is supposed to do ? Is it possible to create an ordinary mixer control that the hw doesn't support ? For example: a card may not have an hw master volume control, but the ordinary mixer has to provide it. Is the lisp config file generic enough to provide a function to emulate the master volume control it by changing the volume controls of all single channels ? It's not trivial at all to do such a thing with a "normal" config file, but it's possible with an interpreter. The question is: is it worth the effort ? Or is it better to force all lowlevel drivers to provide a minimal set of ordinary controls ? >> - note that describing of these relations might be used also for >> another mixer interfaces (simple mixer for example) >> - I don't rely on lisp, but what another interpreter with function >> definition has only 22kB binary (slisp-1.2 - i686)? And what about Brainfuck ? The compiler is a few hundred bytes long. Ah, no, it hasn't functions. :))))) >> * initiate a development of a graphical tool which will manage >> the alsa configuration files (~/.asoundrc) >> - we need a rapid development tool; I slowly became a fan of python and >> Qt has rich number of widgets; python + PyQt seems to me a good idea >> - using python requires to write a GPLed ALSA 0.9 -> python wrapper > > no objection at all. python is powerful enough. And an Alsa module is quite easy to write. Bye. ------------------------------------------------------- This SF.Net email is sponsored by: INetU Attention Web Developers & Consultants: Become An INetU Hosting Partner. Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission! INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: future ALSA development 2003-06-24 12:52 ` future ALSA development Giuliano Pochini @ 2003-06-24 13:04 ` Jaroslav Kysela 2003-06-24 17:12 ` Takashi Iwai 0 siblings, 1 reply; 31+ messages in thread From: Jaroslav Kysela @ 2003-06-24 13:04 UTC (permalink / raw) To: Giuliano Pochini; +Cc: Takashi Iwai, ALSA development On Tue, 24 Jun 2003, Giuliano Pochini wrote: > Lisp should be fine, although it's not very user-friendly. But what the > interpreter is supposed to do ? Is it possible to create an ordinary > mixer control that the hw doesn't support ? For example: a card may not > have an hw master volume control, but the ordinary mixer has to provide > it. Is the lisp config file generic enough to provide a function to > emulate the master volume control it by changing the volume controls > of all single channels ? It's not trivial at all to do such a thing > with a "normal" config file, but it's possible with an interpreter. The > question is: is it worth the effort ? Or is it better to force all > lowlevel drivers to provide a minimal set of ordinary controls ? I think that it's worth to let define multiple virtual mixer devices for multichannel cards (if required) and I can find more examples in this area. You cannot do that in the kernel space without adding more code and this is exactly what we do not want. Jaroslav ----- Jaroslav Kysela <perex@suse.cz> Linux Kernel Sound Maintainer ALSA Project, SuSE Labs ------------------------------------------------------- This SF.Net email is sponsored by: INetU Attention Web Developers & Consultants: Become An INetU Hosting Partner. Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission! INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: future ALSA development 2003-06-24 13:04 ` Jaroslav Kysela @ 2003-06-24 17:12 ` Takashi Iwai 0 siblings, 0 replies; 31+ messages in thread From: Takashi Iwai @ 2003-06-24 17:12 UTC (permalink / raw) To: Jaroslav Kysela; +Cc: Giuliano Pochini, ALSA development At Tue, 24 Jun 2003 15:04:22 +0200 (CEST), Jaroslav wrote: > > On Tue, 24 Jun 2003, Giuliano Pochini wrote: > > > Lisp should be fine, although it's not very user-friendly. But what the > > interpreter is supposed to do ? Is it possible to create an ordinary > > mixer control that the hw doesn't support ? For example: a card may not > > have an hw master volume control, but the ordinary mixer has to provide > > it. Is the lisp config file generic enough to provide a function to > > emulate the master volume control it by changing the volume controls > > of all single channels ? It's not trivial at all to do such a thing > > with a "normal" config file, but it's possible with an interpreter. The > > question is: is it worth the effort ? Or is it better to force all > > lowlevel drivers to provide a minimal set of ordinary controls ? > > I think that it's worth to let define multiple virtual mixer devices for > multichannel cards (if required) and I can find more examples in this > area. You cannot do that in the kernel space without adding more code and > this is exactly what we do not want. yes, this way is also helpful to solve the problem of "different speaker configurations", as posted in another thread. Takashi ------------------------------------------------------- This SF.Net email is sponsored by: INetU Attention Web Developers & Consultants: Become An INetU Hosting Partner. Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission! INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: future ALSA development 2003-06-22 19:10 future ALSA development Jaroslav Kysela 2003-06-23 11:14 ` Takashi Iwai @ 2003-07-03 14:21 ` Kai Vehmanen 2003-07-03 14:36 ` Kai Vehmanen 2003-07-03 16:05 ` Thomas Charbonnel 2 siblings, 1 reply; 31+ messages in thread From: Kai Vehmanen @ 2003-07-03 14:21 UTC (permalink / raw) To: ALSA development On Sun, 22 Jun 2003, Jaroslav Kysela wrote: > here are my next goals for the ALSA library development (short > term). I invite all developers to comment these directions. [...] > * create ordinary pcm & mixer interfaces These are very welcome additions, especially the mixer part! Although most people can easily use (for instance) alsamixer, the controls on some cards are hopelessly confusing. Having all cards publish a simple set of standard controls will significantly improve ALSA's user-friendliness. It would be good if even the high-end cards would provide a mapping to these simple controls. Ideally, a DVD player using the simple PCM and mixer interfaces would work as expected even if your card is a Hammerfall or some ice1712-based. > * investigate a lisp integration to the current configuration syntax [...] > - I don't rely on lisp, but what another interpreter with function > definition has only 22kB binary (slisp-1.2 - i686)? Hmm, it'd be great if this functionality was optional (at build time). Although I must admit 22kB is not much... > * initiate a development of a graphical tool which will manage > the alsa configuration files (~/.asoundrc) One possible addtional item (not alsa-lib specific): * making alsa-conf the primary tool for setting up ALSA user-space I'm not sure what's the status of alsa-conf is currently, but based on the mailing list activity and ALSA websites, it doesn't seem to be widely used. OTOH; the few times I've tried it, it has worked well. And what's most important, it solves two of the top-3 user problems with setting up ALSA: 1. Finding out what audio hardware you have and what is the correct ALSA module. 2. Editing modules.conf. 3. Managing to compile alsa-driver against kernel sources. ... alsa-conf solves (1) and (2), while (3) will be history once linux-2.6 is released. Hmm, editing asoundrc is also one common issue, but as asoundrc is not required to get a basic ALSA setup up, it's not in my top-3. :) -- http://www.eca.cx Audio software for Linux! ------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01 ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: future ALSA development 2003-07-03 14:21 ` Kai Vehmanen @ 2003-07-03 14:36 ` Kai Vehmanen 0 siblings, 0 replies; 31+ messages in thread From: Kai Vehmanen @ 2003-07-03 14:36 UTC (permalink / raw) To: alsa-devel On Thu, 3 Jul 2003, Kai Vehmanen wrote: > * making alsa-conf the primary tool for setting up ALSA user-space Ugh, that should "primary tool for setting up ALSA (kernel) drivers". Hmm, I guess we could have two tools, one for drivers (current alsa-conf) and one for user-space (asoundrc editor). -- http://www.eca.cx Audio software for Linux! ------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01 ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: future ALSA development 2003-06-22 19:10 future ALSA development Jaroslav Kysela 2003-06-23 11:14 ` Takashi Iwai 2003-07-03 14:21 ` Kai Vehmanen @ 2003-07-03 16:05 ` Thomas Charbonnel 2003-07-07 11:37 ` Takashi Iwai 2 siblings, 1 reply; 31+ messages in thread From: Thomas Charbonnel @ 2003-07-03 16:05 UTC (permalink / raw) To: perex; +Cc: alsa-devel > Hello all, > > here are my next goals for the ALSA library development (short > term). I invite all developers to comment these directions. > [...] > * initiate a development of a graphical tool which will manage > the alsa configuration files (~/.asoundrc) > - we need a rapid development tool; I slowly became a fan of python > and > Qt has rich number of widgets; python + PyQt seems to me a good idea > - using python requires to write a GPLed ALSA 0.9 -> python wrapper > One point I would like to bring to focus is how sound hardware state persistance is dealt with. The limits of alsactl are showing up with hardware like the hdsp, were the card might not be fully initialized (or not even present yet, e.g. cardbus) at boot time. We're more and more likely to have to deal with such external hotpluggable devices (pcmcia, firewire, usb), where full initialization can happen any time after the boot process, and we can't expect the average user to be scripting around. IMHO state restoration could be : * triggered by the driver, at the appropriate time, depending maybe on some system configuration options. * initiated by the user, through the configuration GUI. We could have a default configuration restored by the driver at initialization time, and a set of named configurations the user could save/restore/set as default using the GUI. There are probably other ways to handle this, I'm waiting for your comments. Thomas ------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01 ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: future ALSA development 2003-07-03 16:05 ` Thomas Charbonnel @ 2003-07-07 11:37 ` Takashi Iwai 0 siblings, 0 replies; 31+ messages in thread From: Takashi Iwai @ 2003-07-07 11:37 UTC (permalink / raw) To: Thomas Charbonnel; +Cc: perex, alsa-devel At Thu, 3 Jul 2003 18:05:08 +0200 (CEST), Thomas Charbonnel wrote: > > > Hello all, > > > > here are my next goals for the ALSA library development (short > > term). I invite all developers to comment these directions. > > > > [...] > > > * initiate a development of a graphical tool which will manage > > the alsa configuration files (~/.asoundrc) > > - we need a rapid development tool; I slowly became a fan of python > > and > > Qt has rich number of widgets; python + PyQt seems to me a good idea > > - using python requires to write a GPLed ALSA 0.9 -> python wrapper > > > > One point I would like to bring to focus is how sound hardware state > persistance is dealt with. The limits of alsactl are showing up with > hardware like the hdsp, were the card might not be fully initialized (or > not even present yet, e.g. cardbus) at boot time. We're more and more > likely to have to deal with such external hotpluggable devices (pcmcia, > firewire, usb), where full initialization can happen any time after the > boot process, and we can't expect the average user to be scripting around. > > IMHO state restoration could be : > * triggered by the driver, at the appropriate time, depending maybe on > some system configuration options. it would be feasible only if we have a certain daemon. otherwise, i don't think its a good style to invoke a user-space tool from the kernel driver. > * initiated by the user, through the configuration GUI. or: more clever hotplug scripts. basically, the whole initialization stuff for such dynamic devices is the job of hotplug manager. so, we can provide a proper init/delete script for each card. e.g. loading the firmware, then set up the default or restore the last status. but yes, for this way, it would be nice to have a "state", so that alsactl can know whether the data to restore matches with the current state. in this way, the unmatching data can be ignored by the first call of alsactl in the init script. Takashi ------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01 ^ permalink raw reply [flat|nested] 31+ messages in thread
end of thread, other threads:[~2003-10-01 13:13 UTC | newest] Thread overview: 31+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2003-06-22 19:10 future ALSA development Jaroslav Kysela 2003-06-23 11:14 ` Takashi Iwai 2003-06-23 12:01 ` Jaroslav Kysela 2003-06-23 13:13 ` Takashi Iwai 2003-06-23 13:41 ` Paul Davis 2003-06-23 13:51 ` Takashi Iwai 2003-06-23 14:18 ` Paul Davis 2003-06-23 22:22 ` Joern Nettingsmeier 2003-06-24 7:51 ` mru 2003-06-24 8:14 ` Jaroslav Kysela 2003-06-24 11:19 ` Abramo Bagnara 2003-06-24 11:43 ` Paul Davis 2003-06-24 11:56 ` Jaroslav Kysela 2003-06-24 12:16 ` Paul Davis 2003-06-24 17:11 ` Takashi Iwai 2003-06-24 18:28 ` Jaroslav Kysela 2003-06-25 17:49 ` PCMCIA In Kernel Or In ALSA Driver? Len Moskowitz 2003-06-25 18:51 ` Jaroslav Kysela 2003-06-30 10:17 ` future ALSA development Takashi Iwai 2003-06-24 8:28 ` iriXx 2003-07-03 13:39 ` Kai Vehmanen 2003-07-07 11:26 ` Takashi Iwai 2003-10-01 9:37 ` ALSA in embedded use (was: Re: future ALSA development) Kai Vehmanen 2003-10-01 13:13 ` Takashi Iwai 2003-06-24 12:52 ` future ALSA development Giuliano Pochini 2003-06-24 13:04 ` Jaroslav Kysela 2003-06-24 17:12 ` Takashi Iwai 2003-07-03 14:21 ` Kai Vehmanen 2003-07-03 14:36 ` Kai Vehmanen 2003-07-03 16:05 ` Thomas Charbonnel 2003-07-07 11:37 ` Takashi Iwai
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.