lots of changes

- moved alsa guide to own subfolder
- changed header links to be global
- changed footer to give credit for gruvbox
Alessandro Mauri 4 years ago
parent 656c4b0afe
commit f8cfa1fbcd
  1. 4
  2. 4
  3. 26
  4. 20

@ -7,3 +7,7 @@
<a href="https://creativecommons.org/publicdomain/zero/1.0/">
Creative Commons CC0 Public Domain Dedication</a>
Special thanks to <a href="https://github.com/morhetz">Pavel Pertsev</a>
for creating <a href="https://github.com/morhetz/gruvbox">Gruvbox</a>

@ -1,8 +1,8 @@
<link rel="stylesheet" href="styles.css">
<link rel="stylesheet" href="//alemauri.eu/styles.css">
<div class="header">
<div id="thumb-container">
<img src="img/me.jpg" alt="me" id="thumb">
<img src="//alemauri.eu/img/me.jpg" alt="me" id="thumb">
<div id="links">
<a href="./">Home</a>

@ -1,4 +1,4 @@
Title: Unofficial ALSA API documentation
Title: Unofficial ALSA API documentation part 1
Author: Alessandro Mauri
# Unofficial ALSA API documentation
@ -11,11 +11,18 @@ Official links:
* ALSA documentation [main page](https://www.alsa-project.org/alsa-doc/alsa-lib/index.html)
- The [PCM interface](https://www.alsa-project.org/alsa-doc/alsa-lib/pcm.html)
- [PCM plugins](https://www.alsa-project.org/alsa-doc/alsa-lib/pcm_plugins.html)
* [PCM external plugins SDK](https://www.alsa-project.org/alsa-doc/alsa-lib/pcm_external_plugins.html)
- [Device names](https://alsa-project.org/wiki/DeviceNames)
- [Resampler](https://alsa-project.org/wiki/ALSAresampler)
- [Frames periods](https://alsa-project.org/wiki/FramesPeriods)
- [Topology](https://alsa-project.org/wiki/ALSA_topology)
Unofficial links:
* [Userspace documentaion](https://alsa.opensrc.org/)
* [A close look at ALSA](https://www.volkerschatz.com/noise/alsa.html)
* ST's (the microchip company) [general look at ALSA](https://wiki.st.com/stm32mpu/wiki/ALSA_overview)
## Functions
All the functions I encountered and some documentation / explanation
@ -273,3 +280,18 @@ ARGS:
RESULT: RETURN: `(int)` 0 on success or negative code on error
#### `snd_pcm_nonblock`
Change the nonblocking mode on opened PCMs
int snd_pcm_nonblock (snd_pcm_t *pcm, int nonblock);
* `(snd_pcm_t *)pcm`: the PCM handle to modify
* `(int)nonblock`: nonblock mode
- 0: block
- 1: nonblock
- 2: abort
RESULT: RETURN: `(int)` 0 on success or negative code on error

@ -0,0 +1,20 @@
Title: Unofficial ALSA API documentation part 2
Author: Alessandro Mauri
# Examples, examples, examples
If there's one thing I love is examples, they are often minimal and not very
explicative, moreover multiple examples on the same subject are never the same.
That said, if you need to reverse-engineer something examples are (most of the
times)your only resource.
Here's some categorized examples about ALSA:
## The PCM interface
* some [dwm bar](https://github.com/kamiyaa/dwmstatus/tree/master/src) that
has some good simple code
## Configuration files
* [volh](https://gist.github.com/volh/4587051): play through internal and
external sound cards, whatever that means