Alexandre Ratchov
74ae9cda72
Make the control group a simple string.
...
To handle nested devices, just prefix the group with the "dev."
prefix. To avoid namespace conflicts, put program controls in a
new "app" group.
The "master.level" control is renamed to "output.level" to match the
hardware name. This way snd/0 and rsnd/0 end-up with the same control
name.
2020-01-13 09:27:06 +01:00
Alexandre Ratchov
9edbee2bc1
sioctl_sun: Rename spkr->output, mic->input.
2020-01-13 07:19:55 +01:00
Alexandre Ratchov
c64f25a5f8
Remove group for hardware controls.
2020-01-13 07:15:36 +01:00
Alexandre Ratchov
166293b14a
Require channel to be between square brackets.
2020-01-11 16:07:16 +01:00
Alexandre Ratchov
db6ff820c6
Merge branch 'mixer' of ssh://moule/~alex/git/sndio into mixer
2020-01-11 13:00:18 +01:00
Alexandre Ratchov
5a0fc8feb7
Move hw control in "inputs" and "outputs" groups
2020-01-11 11:01:56 +01:00
Alexandre Ratchov
8653038e1d
Merge branch 'master' into mixer
2020-01-10 21:12:12 +01:00
Alexandre Ratchov
6d02c2e7a2
Unbreak channel duplication (aka -j option).
...
Fix from Peter Piwowarski <peterjpiwowarski at gmail.com> with few
tweaks from me. Thanks.
2020-01-10 20:04:26 +01:00
Alexandre Ratchov
ddf18ab3e1
Allow "snd/default" style syntax
2020-01-03 15:41:30 +01:00
Alexandre Ratchov
d2057194b1
Rename _setctl -> _setval and _onctl -> _onval
2020-01-03 15:30:06 +01:00
Alexandre Ratchov
6e83bb6a4f
Rename siomix -> sioctl, stop using "mixer" word.
2020-01-03 15:19:25 +01:00
Alexandre Ratchov
7afde07efd
Merge branch 'master' into mixer
2019-11-27 14:49:01 +01:00
Alexandre Ratchov
c38dfbf530
Initialize nfds fields of new file structures.
...
Fixes possible crash when a new file structure is added in
the time-out processing code-path.
2019-11-27 09:04:04 +01:00
Alexandre Ratchov
fb8bf93f11
Tolerate clients keeping state across sysex message
2019-10-21 00:40:00 +02:00
Alexandre Ratchov
415d31ae42
Merge branch 'mixer' of ssh://moule/~alex/git/sndio into mixer
2019-09-21 12:14:06 +02:00
Alexandre Ratchov
07c9068ff9
Merge branch 'master' into mixer
2019-09-21 09:17:06 +02:00
Alexandre Ratchov
4fad29ecb6
Man-page tweaks from jmc@
2019-09-21 09:15:49 +02:00
Alexandre Ratchov
5536f474fe
Merge branch 'master' into mixer
2019-09-21 08:31:44 +02:00
Alexandre Ratchov
a9ee8951fd
Fix missing word in -F and -Q descriptions.
2019-09-21 07:04:01 +02:00
Alexandre Ratchov
9ba816d28e
Lower the default audio block size from 20ms to 10ms.
...
The new default block size is supported by virtually all devices
which allows switching between devices without further configuration.
The buffer size remains the same, so this change won't affect audio
stability.
ok mpi@
2019-09-21 06:54:59 +02:00
Alexandre Ratchov
441100e812
Allow switching between devices without disconnecting clients, again.
...
The new -F option allows alternate device to be specified. If the
device is disconnected, the one given with the last -f or -F options
will be used instead.
ok mpi@
2019-09-21 06:53:34 +02:00
Alexandre Ratchov
3935da37f6
Setup channel join/expand after channle mapping conversions.
...
The channel mapping conversion calculate the number of channels
actually present on the hardware. This allows to join/expand the right
number of channels.
2019-09-19 09:08:29 +02:00
Alexandre Ratchov
e922c66fc0
Don't set to NULL conversion buffers when initializing the slot.
...
Bug introduced when conversions setup moved to its own routine.
2019-09-18 15:56:08 +02:00
Alexandre Ratchov
7cd9c4b0a9
Don't attempt to join/expand nonexistent channels.
...
If the (hardware) device has fewer channels than the exposed
sub-device and -jon is used, then mix the samples only to channels
that exist on the device.
2019-09-18 09:36:33 +02:00
Alexandre Ratchov
5e033425c0
Move slot convertions setup in its own routine.
2019-09-18 09:34:59 +02:00
Alexandre Ratchov
cf94ce9ae8
Move device buffer allocation to its own routines.
...
This makes the code more readable as device and slot buffer allocation
routines are similar. No behavior change.
2019-09-18 09:30:00 +02:00
Alexandre Ratchov
0310ad45e9
Revert "Allow switching between devices without disconnecting clients."
...
This change was not right: First, upon SIGHUP, next device should be
opened before the old one is closed. Second the migration code doesn't
reinitialize the conversion layer which breaks audio when switching
between devices with different channel counts.
This reverts commit 5bc17e6cea
.
2019-09-18 09:16:58 +02:00
Alexandre Ratchov
fd85070098
Merge branch 'master' into mixer
2019-09-05 21:31:35 +02:00
Alexandre Ratchov
e453b782d1
Merge branch 'master' of ssh://moule/~alex/git/sndio
2019-09-05 09:05:37 +02:00
Alexandre Ratchov
6918eaa94e
Remove unused #include <sys/signal>
2019-09-05 09:05:33 +02:00
Alexandre Ratchov
df7fa2512c
Revert "siomix_sun: poll the mixer fd to detect when device is gone."
...
This reverts commit aceffe4729
.
2019-08-31 10:18:49 +02:00
Alexandre Ratchov
aceffe4729
siomix_sun: poll the mixer fd to detect when device is gone.
...
This doesn't work yet, as the audio(4) driver doesn't properly
wakeup processes waiting in the poll syscall, see audio_detach()
2019-08-30 17:02:54 +02:00
Alexandre Ratchov
aefc78f715
sndiod: properly transmit deleted controls.
2019-08-30 16:53:41 +02:00
Alexandre Ratchov
efeed79b56
Don't try to add deleted controls (aka SIOMIX_NONE).
2019-08-30 16:45:19 +02:00
Alexandre Ratchov
f92eed1da9
Add SIOMIX_NONE control, to represent deleted controls.
2019-08-30 16:43:35 +02:00
Alexandre Ratchov
a4ac7781fd
Add audio controls in dev_open(), not dev_open_do()
2019-08-30 15:35:29 +02:00
Alexandre Ratchov
e15f9cc366
Kick ctl clients when device is closed
2019-08-30 15:06:38 +02:00
Alexandre Ratchov
f73fd84ddf
Add struct ctlops, and use it instead of the "inuse" flag.
2019-08-30 15:00:43 +02:00
Alexandre Ratchov
ac4e742089
Don't call dev_siomix_close() twice.
2019-08-30 10:12:55 +02:00
Alexandre Ratchov
e2e5298b26
Call dev_siomix_{open,close} from dev_sio_{open,close}
2019-08-30 10:01:29 +02:00
Alexandre Ratchov
4453acee80
Merge branch 'master' into mixer
2019-08-30 08:47:09 +02:00
Alexandre Ratchov
5bc17e6cea
Allow switching between devices without disconnecting clients.
...
The new -F option allows alternate device to be specified. If the
device is disconnected, the one given with the last -f or -F options
will be used.
2019-08-29 14:24:05 +02:00
Alexandre Ratchov
58f116481d
Split dev_close() routine in two parts.
...
The first part disconnects clients, the other closes the device
and frees audio buffers. No behavior change.
2019-08-29 09:36:57 +02:00
Alexandre Ratchov
803cf23380
Split dev_open() in two parts.
...
The first part resets audio parameters to the prefered ones, the
second part opens the device and allocates the audio buffers. No
behavior change.
2019-08-29 09:25:59 +02:00
Alexandre Ratchov
6a68d29389
Add missing prototypes.
2019-08-29 09:18:24 +02:00
Alexandre Ratchov
eee6a97114
Tweak debug printf in port_open()
2019-08-29 09:14:27 +02:00
Alexandre Ratchov
6ee8e730f4
Move code to disconnect all MIDI clients to its own routine.
2019-08-27 15:06:18 +02:00
Alexandre Ratchov
db1e20ae8f
Fix comment about midi port hold flag.
2019-08-27 14:10:28 +02:00
Alexandre Ratchov
7933511f57
Move code to disconnect all clients to its own routine.
2019-08-27 10:21:12 +02:00
Alexandre Ratchov
9f85e83893
Uniformize device-specific debug printfs.
2019-08-27 10:19:23 +02:00