Commit Graph

1141 Commits

Author SHA1 Message Date
Alexandre Ratchov 4f5ac3cdb6 Merge branch 'master' into mixer 2019-07-28 11:27:10 +02:00
Alexandre Ratchov 436f0dbfff Fix builds with no DEBUG defined. 2019-07-28 11:26:51 +02:00
Alexandre Ratchov 50ccf31dd8 Crank max number of channels to 64. 2019-07-28 11:23:56 +02:00
Alexandre Ratchov 939300b1bb Merge branch 'master' into mixer 2019-07-12 08:31:01 +02:00
Alexandre Ratchov 285eafeec0 Add affinity between the program and its mixer control.
Currently, if there are two instances of the same program, sndiod will
allocate one volume control to each. If both programs disconnect and
reconnect, the information of which control is assigned to which
program is lost. This makes difficult to run two instances of a player
and crossfade between each other with a MIDI controller.

To address this, the program chooses a 32-bit "id" (for now the
process pid) and sends it to the server. The server records the id in
the client's slot structure.  When the server accepts a new
connection, it uses the id to identify the slot the client used during
the previous connection; if it was not recycled yet, it's assigned to
the program.
2019-07-12 08:31:01 +02:00
Alexandre Ratchov 93ffa39ea2 Remove few level 3 debug printfs related to slot allocation. 2019-07-11 12:55:18 +02:00
Alexandre Ratchov d2985fff2b Replace the "umap" bitmap by a simple table of slot pointers.
Makes the code simpler at virtually no cost since we need 8 entries
only. No behavior change.
2019-07-11 12:54:38 +02:00
Alexandre Ratchov e6579625a0 Swap "if" and "else" code blocks in slot_new() to improve readability.
No behavior change.
2019-07-11 12:54:26 +02:00
Alexandre Ratchov e21b26a56f Slot name can't be empty. So, no need to check if it empty. 2019-07-11 12:54:05 +02:00
Alexandre Ratchov 505722ac5d Use NULL instead of 0 where a pointer is expected. 2019-07-11 12:53:46 +02:00
Alexandre Ratchov 7e15b80ed3 Add forgottend copyright notice. 2019-07-06 00:34:06 +02:00
Alexandre Ratchov c5f6aacfcb Use 4 spaces for indentation after "if". 2019-07-05 09:37:31 +02:00
Alexandre Ratchov 98d4c00b6a Fix comments and few debug printfs in utils.c. 2019-07-02 08:09:31 +02:00
Alexandre Ratchov cbdd29c403 alsa: use (blksz - round) as start threshold.
The threshold making poll() return POLLOUT is one block (according to
alsa library sources). If a poll-based program writes blksz - 1
samples, playback never starts but poll won't return POLLOUT either.
In turn the program deadlocks. The problem could be observed in the
sio_alsa_xrun() routine.
2019-07-01 17:12:00 +02:00
Alexandre Ratchov f9c0bed6d9 Check return values of syscalls against -1 in OSS code 2019-07-01 17:10:55 +02:00
Alexandre Ratchov 9e13d35c30 Merge branch 'master' into mixer 2019-07-01 09:24:43 +02:00
Alexandre Ratchov 42a25f2ca4 Factor audio buffer allocation into a dedicated allocbuf routine. 2019-07-01 09:20:33 +02:00
Alexandre Ratchov 934e1611e8 Check return values of syscalls against -1, from deraadt@. 2019-07-01 09:20:22 +02:00
Alexandre Ratchov 74abe4dcc7 Ignore sub-frames component in MMC relocate message. 2019-06-16 15:37:15 +02:00
Alexandre Ratchov 63505015b8 Merge branch 'master' into mixer 2019-05-17 14:29:23 +02:00
Alexandre Ratchov e6587d3b97 Fix integer multiplication overflow in block size calculation. 2019-05-17 07:25:16 +02:00
Alexandre Ratchov a1774cc9e0 Revert "Use the correct length for MIDI common messages." 2019-05-10 07:00:52 +02:00
Alexandre Ratchov efc963bb57 Use the correct length for MIDI common messages. 2019-05-10 06:40:33 +02:00
Alexandre Ratchov 3886e0681d Merge branch 'master' into mixer 2019-03-28 11:18:37 +01:00
Alexandre Ratchov 6ac10f167b Wait until the server disconnects before closing the socket.
When the socket is closed, the last bytes written may be lost.
2019-03-28 08:13:59 +01:00
Alexandre Ratchov c75f08ec81 Don't send MIDI flow control messages too often. 2019-03-28 08:13:23 +01:00
Alexandre Ratchov 33d512b797 Merge branch 'master' into mixer 2019-02-22 11:11:15 +01:00
Alexandre Ratchov 2c97522b5a Sync midicat(1) manual to OpenBSD. 2019-02-21 07:44:07 +01:00
Alexandre Ratchov 00910bf6fa mio_open.3: "a" MIDI, not "an"; from jmc@ 2019-02-21 07:43:36 +01:00
Alexandre Ratchov d428027573 Tweak a space to reduce diff with OpenBSD. 2019-02-21 07:42:20 +01:00
Alexandre Ratchov 16ae676f9e Say that using sio_getcap() to negociate parameters is not recomended.
From Paul Swanson <psw at protonmail.com>, ok jmc
2019-02-21 07:39:56 +01:00
Alexandre Ratchov d9c44b2c2d Remove guards for a zero length read or write requests. From miko@. 2019-02-21 07:37:37 +01:00
Alexandre Ratchov dba52ea270 Merge branch 'mixer' of ssh://moule/~alex/git/sndio into mixer 2018-12-29 22:59:06 +01:00
Alexandre Ratchov 10777e2260 Revert "midicat: Move midi write its own routine."
This reverts commit ea55b2c67d.
2018-11-08 11:25:39 +01:00
Alexandre Ratchov 29e55c0423 Revert "midicat: Move midi write its own routine."
This reverts commit ea55b2c67d.
2018-11-08 11:25:05 +01:00
Alexandre Ratchov 1011a5ee24 Revert "midicat: Add .mid file support, using system clock."
This reverts commit 1ad4aa41fd.
2018-11-08 11:24:54 +01:00
Alexandre Ratchov b256c9880f Merge branch 'master' into mixer 2018-11-08 08:25:41 +01:00
Alexandre Ratchov 89ae9f07f9 Merge branch 'mixer' of ssh://moule/~alex/git/sndio into mixer 2018-11-07 22:24:10 +01:00
Alexandre Ratchov 2799f8975e aucat: Fix clipping during float to integer conversions.
From Jari Vetoniemi <mailroxas at gmail.com>. Thanks!
2018-11-07 22:23:18 +01:00
Alexandre Ratchov 6dbdbf8aed Remove unused includes from siomix.c. 2018-11-07 22:23:04 +01:00
Alexandre Ratchov 46a0b9b9c0 Remove unused includes from siomix.c. 2018-09-26 14:12:06 +02:00
Alexandre Ratchov f8e32277b1 Merge branch 'master' into mixer 2018-09-26 14:09:15 +02:00
Alexandre Ratchov d7a55c76ee No need to include sys/stat.h. From miko@. 2018-09-26 13:52:53 +02:00
Alexandre Ratchov dc31dcd99e Fix message to reflect "rmidi" is the expected string. From miko@. 2018-09-26 13:52:50 +02:00
Alexandre Ratchov d4048a3a19 Use _sndio_parsenum() to parse device numbers. From miko@. 2018-09-26 13:45:23 +02:00
Alexandre Ratchov 471495bd21 Clear resamp state array with memset. From miko@. 2018-09-26 13:36:42 +02:00
Alexandre Ratchov fed779e8cf Merge branch 'midicat' into mixer 2018-09-07 09:37:58 +02:00
Alexandre Ratchov 6d55c0b59f Merge branch 'master' into mixer 2018-07-27 16:30:57 +02:00
Alexandre Ratchov 6443e1dee1 sndiod: rename /tmp/aucat/aucatN -> /tmp/sndio/sockN 2018-07-27 15:42:51 +02:00
Alexandre Ratchov 8018db24a0 libsndio: move ~/.aucat_cookie to ~/.sndio/cookie 2018-07-27 15:41:04 +02:00