Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Dec 2023 09:27:45 +0100
From:      Alexander Leidinger <Alexander@Leidinger.net>
To:        Christos Margiolis <christos@freebsd.org>
Cc:        freebsd-multimedia@freebsd.org
Subject:   Re: RFC - Work on FreeBSD's Audio Stack
Message-ID:  <7676e8efb575ee54c948ba3a1c7c364c@Leidinger.net>
In-Reply-To: <zplobfdklidj7iwmwzfyglkpc2qklhkxkuf3albz4iprndewcg@jdp4picbfzt4>
References:  <86ttomxg11.fsf@phe.ftfl.ca> <86y1dxpjzy.fsf@phe.ftfl.ca> <5240adad4ff5b341756809fe12d362c9@Leidinger.net> <zplobfdklidj7iwmwzfyglkpc2qklhkxkuf3albz4iprndewcg@jdp4picbfzt4>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)

--=_235c1670cb73639a71a1dadfe8e0b354
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset=UTF-8;
 format=flowed

Am 2023-12-15 00:34, schrieb Christos Margiolis:
> Hello Alexander,
> 
> Alexander Leidinger wrote:

>> The dsp deices are clonable due to the virtualisation and auto-mixing 
>> into
>> the hardware in the kernel. To my understanding the midi devices are 
>> not
>> clonable as there is no generic way we could mix several outputs from
>> programs into one hardware channel.
> 
> Is there any other way we can achieve the functionality mentioned in 
> the
> proposal though (i.e opening the same MIDI device from more than 1
> application at the same time)?

Theoretically I could imagine that we could map MIDI channels to FreeBSD 
MIDI devices (e.g. midi0 sees only channel X and midi1 sees only channel 
Y, so program A could react only to messages on channel X and doesn't 
see channel Y, and program B can only send to channel Y). How much of a 
MIDI engine would need to be added/changed in the FreeBSD kernel to be 
able to do that, and what the userland side of this would/should/could 
look like, I have no idea. I don't have enough knowledge about MIDI in 
this regard.

>> > Widely-used existing codebases that can benefit from oss(3) are virtual
>> > oss and Mozilla’s cubeb oss audio framework,
>> > which are also great sources of inspiration for features included in
>> > oss(3).
>> 
>> VirtualOSS is now unmaintained (the author died). Maybe we want to 
>> adopt it
>> into the base?
> 
> So, I am totally on board with this idea, in fact, taking over
> maintenance of virtual_oss and porting it to base was one of the
> project's initial goals, however I realized it might need considerable
> effort to do so, due to the fact it uses external libraries (fftw and
> libsamplerate IIRC), which, as I mentioned above, might not be the
> wisest allocation of resources in this case, considering the scope of
> the project is quite large already. My current plan is to work on the
> existing deliverables, and if time allows, look into how virtual_oss 
> can
> be ported to base.

I could imagine something extensible which provides base features in the 
base systems and plugins via ports. Keeping it entirely in ports with 
some kind of support from the base system userland utilities of this 
project may also be possible (maybe via some kind of plugin system for 
the base userland tools).

What I mention(ed) are simply ideas. I do not want to propose priorities 
or changes of the scope / deliverables.

Bye,
Alexander.

-- 
http://www.Leidinger.net Alexander@Leidinger.net: PGP 0x8F31830F9F2772BF
http://www.FreeBSD.org    netchild@FreeBSD.org  : PGP 0x8F31830F9F2772BF

--=_235c1670cb73639a71a1dadfe8e0b354
Content-Type: application/pgp-signature;
 name=signature.asc
Content-Disposition: attachment;
 filename=signature.asc;
 size=833
Content-Description: OpenPGP digital signature

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEER9UlYXp1PSd08nWXEg2wmwP42IYFAmV8DhIACgkQEg2wmwP4
2IYGhRAAh6F0HlP6nUa5wrFXIXRM7kbj8eH3Bd7YQPm6wNHYuaEb40AKbZU5/syW
qo4Ceux4EmC/9p8lPUvHB2g8FZycYkJa4AcarZPpaa86wui/S93YXNW8PjcEEQP+
xakZI4bd0U1knyF9xIBemCc+UkC42I7WLltykFzqA8i1+o0I1btdnbH8vrcjvkSC
CNPQ7fZnigeAcAw6Qf2+62USSAKuPJ2hn3F1Z28I3K0X0VqFdvyLPEbc8jnFsOMO
zM6R24Iysr6+rvIU+uW4L+JAvixhBee5C+L8jccFR7IQGyDfYSgVI8E0xY3sJhDg
xOep5oe4G81q9zddJ0cBKoMC4ve6DqUoNMKwp0U+LgnbdbCyJJ8375MSDEZfuK5D
q1plGrtjmPBqII/AfEGc5dGPOFURV0B+b04ecVbe4wShGuYHwLBYy7Na2+UQfUXn
J2R0FrMBHmV2OVrOCGnFI1Kx0EwwMF5eUxT5gFzEjRn6oDPkp72UfNnRnPvgMx1T
k02qgHicQJucE12gQQH2AJm9del3q3k3p7pbHMs+kdQOLrFZBgWA6NXMAvOwihoM
zzFBhdJlIdbGpLNmpkgBqYAmnoORoSPljL2zWubYQg4K66exGSaDaUUBSyvOAqet
FeXngDd8+iIdDvkF5o8H0GxZu74Wt96ARjNq6Gu+OGz3lwJ4sMU=
=H6rB
-----END PGP SIGNATURE-----

--=_235c1670cb73639a71a1dadfe8e0b354--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?7676e8efb575ee54c948ba3a1c7c364c>