This adds a LICENSE file that describes which licenses this project is
licensed under. This is very important, as the project is licensed under
three licenses.
Also added are copyright notices to the wscript files. I added myself as
copyright holder to them, but there are other people who have
contributed to these files which should have their name in the copyright
header. Clearly stating the license of the wscript files should have
been done long ago.
Adjusts the permissions of posix semaphores when promiscuous mode is enabled.
Note that changing permissions of semaphores is only supported on linux by
using the /dev/shm filesystem. As of now, linux does not use posix semaphores
anymore so this code is currently unsed.
The jack_group2gid() function does a thread-safe lookup of a unix gid from a
unix group name.
The jack_promiscuous_perms() function adjusts the permissions of a shared
resource (socket, semaphore, shm segment, ...) referenced by a fd and/or a
path so it can be used by any member of the provided unix group.
By using those functions it will be possible to enable a secure promiscuous
mode. 'Secure' meaning here that one is not forced to launch every clients
with a (way) too permissive 0000 umask.
alsa_in/out: Convert between sample rates when necessary
alsa_in and alsa_out set the playback latency of their ports to the target delay. The problem is the target delay is in terms of the ALSA sample rate, so it should be converted to JACK's sample rate.
Example: Imagine JACK is running at 48 kHz, and alsa_out is invoked like:
alsa_out -r 96000 -t 512
Currently, alsa_out will report 512 frames of playback latency. After the fix, it converts to 48kHz and correctly reports 256.
Also converts the result of jack_frames_since_cycle_start to ALSA sample rate.