Commit graph

80 commits

Author SHA1 Message Date
Simon Howard
647c001321 Delete alsalisp code
Install of the alsalisp binary has been disabled since 2006 (in commit
8d382ccd), and building of it was disabled by default in 2018 (in commit
32ceab21), so it is reasonable to assume that nobody is using it.

Use within the alsa-lib project is limited to an aliases file that looks
like it is intended as an example, plus some very small .alisp files
associated with the SiS SI7018 PCI sound card which has not been
manufactured in years. These too have not been installed since 2018 when
commit 32ceab21 disabled building of the alsalisp binary.

In preparing this change, I searched the Github issue tracker for
"lisp", "alisp" and "alsalisp", and found no complaints about the above
changes. I also did a Github code search for projects that might be
including the `alisp.h` header and found none. Therefore I think this
code can be safely deleted and nobody is likely to object.

Closes: https://github.com/alsa-project/alsa-lib/pull/448
Signed-off-by: Simon Howard <fraggle@soulsphere.org>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-04-07 18:36:54 +02:00
Jaroslav Kysela
ea8972c83b include: prefer alsa/asoundlib.h for apps, dependency cleanups
Fixes several issues with header files:

- prefer alsa/asoundlib.h file for the alsa-lib core functionalities
  (use #warning to inform current and future developers, do the job)
- include alsa/asoundlib.h in headers for external plugins by default
- pcm_external.h: dependencies cleanup
- as benefit, the parsers in IDEs should get all information for individial
  header files (see PR#435)

This change was mainly tergetted to fix errors caused by wrong include order
(like for endianness detection, missing typedefs etc.).

Closes: https://github.com/alsa-project/alsa-lib/issues/431
Link: https://github.com/alsa-project/alsa-lib/pull/435
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-02-02 18:56:47 +01:00
Takashi Iwai
040356ecf0 ump: Add helpers to parse / set UMP packet data
This patch defines the structs / unions that can be used for encoding
and decoding UMP packets, as well as inline helper functions.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2023-06-06 15:13:27 +02:00
Takashi Iwai
f47763d2c1 ump: Add initial support
This patch adds the initial support for UMP rawmidi access.
It's merely the wrapper for the standard rawmidi to access to the UMP
rawmidi device.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2023-06-06 15:13:27 +02:00
Jaroslav Kysela
f9bb2487ac include: try to fix the out-of-source-tree build
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2021-05-25 17:13:06 +02:00
Jaroslav Kysela
b0e99e4cfe include: fix out-of-source-tree build
Fixes:

  cd alsa-lib
  if test -r Makefile; then
    make distclean
  fi
  mkdir build
  cd build
  ../configure
  make

Note:

  The srcdir is used for the symlinks to generated include files :-(
  I've not found a better (easy) way to fix this.

Fixes: https://github.com/alsa-project/alsa-lib/issues/136
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2021-05-25 16:43:25 +02:00
Jaroslav Kysela
d18ebb79d7 include: fix SND_LIB_VER() macro
Fixes: c132509a ("include: add SND_LIB_VER() macro")
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2021-04-13 18:01:09 +02:00
Jaroslav Kysela
c132509a86 include: add SND_LIB_VER() macro
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2021-04-07 16:25:15 +02:00
Jaroslav Kysela
493a41bcad control: remap plugin - add docs
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2021-04-07 16:24:09 +02:00
Takashi Iwai
fc0e54c3cc Drop -I$includedir/alsa from alsa.pc
We used to put the additional include path $includedir/alsa in
pkgconfig just because some applications have included asoundlib.h
like
  #include <asoundlib.h>
although the canonical form should be
  #include <alsa/asoundlib.h>

However, adding this include path is significantly dangerous due to
possible conflicts of file names like version.h.  It's already the
reason to discourage people using alsa.pc for the packages.

In this patch, the additional include path from alsa.pc is dropped
finally.  At the same time, as a rescue plan for the programs
including via <asoundlib.h>, a stub header file is provided in
include/sound/asoundlib.h.  It just includes alsa/asoundlib.h with a
warning to suggest for replacing with alsa/asoundlib.h.
Actually this is the same file as we install into sys/asoundlib.h, so
the whole changes are very minimal here.

Acked-by: Jaroslav Kysela <perex@perex.cz>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2019-03-28 08:01:34 +01:00
Takashi Iwai
7a8a1d1552 pcm: Remove home brew atomic operations
We've had a few home brew atomic operations in a couple of places in
the PCM code.  This was for supporting the concurrent accesses, but in
practice, it couldn't cover the race properly by itself alone.

Since we have a wider concurrency protection via mutex now, we can get
rid of these atomic codes, which worsens the portability
significantly.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2016-07-11 15:25:30 +02:00
Thomas Klausner
e0d52fdd8a Introduce bswap.h for portable definitions of byte swap macros.
Signed-off-by: Thomas Klausner <wiz@NetBSD.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2016-03-03 16:18:10 +01:00
Thomas Klausner
25e6b5b473 Define some types if missing
Include Linux headers on Linux only.
For portability with non-Linux.

Signed-off-by: Thomas Klausner <wiz@NetBSD.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2016-03-03 10:59:52 +01:00
Liam Girdwood
fec1e8f253 topology: autotools: Add build support for topology core
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2015-07-30 17:10:14 +02:00
Matthieu Crapet
187ba1d8cd autotools: fix ucm partial build
When --disable-ucm configure option is specified,
don't install related include file.

Signed-off-by: Matthieu Crapet <Matthieu.Crapet@ingenico.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2015-01-14 16:07:55 +01:00
Patrick Welche
b669b50de2 autotools: update style
- rename configure.in to configure.ac
- replace INCLUDES with AM_CPPFLAGS
- modernize AM_INIT_AUTOMAKE invocation

Signed-off-by: Patrick Welche <prlw1@cam.ac.uk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-02-26 08:16:22 +01:00
Liam Girdwood
1c5afdb0c1 ucm: build - add build support for Use Case Manager
Add doxygen and make support for UCM.

CC: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Justin Xu <justinx@slimlogic.co.uk>
Signed-off-by: Stefan Schmidt <stefan@slimlogic.co.uk>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
2010-08-23 20:05:45 +02:00
Takashi Iwai
54a2cf5ecf Remove sequencer instrument layer
Remove obsoleted sequencer instrument layer from alsa-lib.
The old symbols are compiled in as default as dummy functions
(unless --disable-old-symbols is given to configure) so that
the old binaries can still work more or less.
2007-10-30 12:31:55 +01:00
Takashi Iwai
9bb7211f21 Fix clean-up of header files
Use DISTCLEANFILES instead of CLEANFILES for removal of dynamic
header files.
2007-07-11 16:55:54 +02:00
Takashi Iwai
582cc1f098 Create asoundlib.h dynamically according to configure options
Create asoundlib.h dynamically according to configure options.
This avoids the inclusion of unused API headers.
Also don't install unused API headers.
2007-07-10 15:58:41 +02:00
Takashi Iwai
33d69ef33b Create rate converter plugin SDK
Created a new rate converter plugin SDK.
A rate converter can be replaced as an extra plugin now.
The default rate converter is a built-in linear converter.

You can find a sample external converter in alsa-plugins package.
2006-04-06 18:37:55 +02:00
Takashi Iwai
787b0469e9 Allow separate build and source trees
From: Bernard Leak <bernard@brenda-arkle.demon.co.uk>

Allow separate build and source trees.

Modified for the latest CVS tree by tiwai.
2005-08-23 12:09:07 +00:00
Takashi Iwai
985c6f94d0 Fix compilation on a system with old alsa-lib headers
Fixed the compilation on a system with old alsa-lib headers.
A symlink alsa is created here to include all alsa-lib headers
locally even via #include <alsa/xxx.h>
2005-06-28 13:35:22 +00:00
Takashi Iwai
8a3d07022c Add external control plugin SDK
Added external control plugin SDK.
2005-06-09 17:12:08 +00:00
Jaroslav Kysela
597b4d0942 big simple mixer update
- exported all necessary functions to create a mixer module outside alsa-lib
- separated simple mixer API from the simple mixer implementation
  (using callbacks as usuall)
  - src/mixer/simple.c is the core
  - src/mixer/simple_none.c is the current (no-abstraction) implementation
    based on control names; note that this module does not depend on
    internal ALSA structures now
  - src/mixer/simple_abst.c is the ongoing abstraction which will use
    external dynamic modules; src/conf/smixer.conf will describe which
    modules will be used depending on the components from the driver
2005-06-03 13:33:04 +00:00
Takashi Iwai
bf5d2bfe47 Remove obsolete *_ordinary.h files
Remove obsolete *_ordinary.h files.
2005-05-30 16:21:25 +00:00
Takashi Iwai
91f7dd2378 Move old PCM API to pcm_old.h
Clean up -- move old 0.9.x PCM API to pcm_old.h.
2005-04-14 14:01:10 +00:00
Takashi Iwai
5eb794fe0b Add filter-type external plugin SDK
Added the SDK for filter-type PCM plugins.
Share some codes with ioplug.
2005-02-14 13:33:08 +00:00
Takashi Iwai
94c4cdcd30 Add external PCM plugin SDK (draft version)
Added the external PCM plugin SDK (draft version).
This can be used to create external PCM plugins.
Example codes are found in alsa-plugins directory.
2005-02-08 20:57:51 +00:00
Takashi Iwai
9f491f4aa6 create a symlink for inclusion of alsa/xxx.h in the alsa-lib tree itself.
the symlink is created by configure script.
2003-07-14 10:16:38 +00:00
Jaroslav Kysela
640ee8faa7 Initial code for lisp interpreter 2003-06-24 19:30:08 +00:00
Jaroslav Kysela
4771213631 Renamed simple_* to ordinary_* (name clash for simple mixer) 2003-06-22 19:02:19 +00:00
Jaroslav Kysela
7c72da4ae5 Added simple_mixer and simple_pcm subdirs with some 'empty' code 2003-06-22 18:09:03 +00:00
Jaroslav Kysela
55a8da9341 Build system updates... 2002-10-22 20:20:03 +00:00
Takashi Iwai
7b2f5fa7e1 added the alsa-kernel header files into local tree. 2002-10-09 13:44:10 +00:00
Jaroslav Kysela
7f3942d827 Reverted back the PCM API.
New snd_pcm_hw_params_* functions are available only explicitly when
ALSA_PCM_NEW_HW_PARAMS_API is defined.
Updated documentation and test code to new API.
2002-09-19 16:12:13 +00:00
Jaroslav Kysela
b9343e0834 - unified snd_pcm_hw_params_* functions
- added backward compatibility for older non-compatible functions
- added --with-compat-rc3 to configure script to build library
  backwards compatible with 0.9.0rc3
- added symbol versioning like libc.so.6
  - ALSA_0.9      - alsa base
  - ALSA_0.9.0rc4 - first set of new functions (snd_pcm_hw_params_*)
2002-09-17 12:33:05 +00:00
Jaroslav Kysela
8c1887d7af Moved some prototypes from src/pcm/pcm_plugin.h to include/pcm_plugin.h.
Merged src/pcm/atomic.h to include/iatomic.h.
Added initial description of hw and hooks plugins.
2002-01-12 10:52:42 +00:00
Takashi Iwai
734decb839 Added asoundef.h (instead of symlink).
partly modified & comments added for doxygen.
2002-01-11 11:13:20 +00:00
Takashi Iwai
12dfa4ffd8 Removed comment (the latest automake doesn't like it). 2001-12-07 14:15:38 +00:00
Jaroslav Kysela
cd8b1b3c11 Added iatomic.h 2001-12-07 14:11:58 +00:00
Jaroslav Kysela
bf52f17264 Added EXTRA_CLEAN and SND_LIB_EXTRAVER 2001-11-24 10:12:17 +00:00
Jaroslav Kysela
51934bafca Added sys.h to noinst_HEADERS 2001-09-30 17:39:22 +00:00
Jaroslav Kysela
58345ae4f4 Separated asoundlib.h to small files. 2001-09-13 11:38:32 +00:00
Takashi Iwai
a0903bae9f Fixed installation. 2001-09-12 16:18:33 +00:00
Jaroslav Kysela
6157018e8a Ok, added warning to sys/asoundlib.h with redirection to alsa/asoundlib.h. 2001-09-11 12:18:56 +00:00
Jaroslav Kysela
c8cd1c9782 Added symlink for sys/asoundlib.h to alsa/asoundlib.h 2001-09-11 11:27:52 +00:00
Jaroslav Kysela
0a8749a802 Changed location of asoundlib.h from sys dir to alsa dir.
(it means that official location is '#include <alsa/asoundlib.h>')
2001-09-11 09:34:13 +00:00
Jaroslav Kysela
daebb1d1f0 Merged hwdep_m4.h to hwdep.h 2001-07-11 15:52:07 +00:00
Jaroslav Kysela
c20c954f3d Added documentation for instrument and midi event functions.
Removed snd_enum_() macros.
Documentation changes in asoundlib.h.
2001-07-11 14:09:01 +00:00