From nobody Fri Dec 15 08:27:45 2023 X-Original-To: freebsd-multimedia@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ss2S141GGz54TFk for ; Fri, 15 Dec 2023 08:28:49 +0000 (UTC) (envelope-from Alexander@Leidinger.net) Received: from mailgate.Leidinger.net (bastille.leidinger.net [89.238.82.207]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature ECDSA (P-256) client-digest SHA256) (Client CN "mailgate.leidinger.net", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ss2S06sSJz3FjY; Fri, 15 Dec 2023 08:28:48 +0000 (UTC) (envelope-from Alexander@Leidinger.net) Authentication-Results: mx1.freebsd.org; none List-Id: Multimedia discussions List-Archive: https://lists.freebsd.org/archives/freebsd-multimedia List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-multimedia@freebsd.org MIME-Version: 1.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=leidinger.net; s=outgoing-alex; t=1702628916; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=klS2+SCrep7OjLOg7KkPkwUQiiw+5jffnsnYTFz3qrA=; b=WAQWoX6ihbi5sDi4x0CK+1n55jzMzgfFAxtIWU5y+GKwbfuINcrR67LUjTso7TOknCMLao YRDw0gXDOlCWM5tqnO1lSu9skwc3xomDuSxDW4cbmgKegwRgmGNnLxYPL2jIEiTxBqRjqT rMRYQAJtxakaTSm7j95kiwQH+jacDEZUnp9kuqOiIHrSadsICTBZfDCfWICjoO+fBisllM 6kKxg0chq4/yQZ/IOSf7rxyGvoUTfbBVzo5xz6NehRERYhmZZOZCpMSgrSg1YolRig7jOP JCmQGOMUFMDnTv/7Y7q+rt/bj3zYgYUn02f+DgTGy3+dKhGi6UgR0inxpontwg== Date: Fri, 15 Dec 2023 09:27:45 +0100 From: Alexander Leidinger To: Christos Margiolis Cc: freebsd-multimedia@freebsd.org Subject: Re: RFC - Work on FreeBSD's Audio Stack In-Reply-To: References: <86ttomxg11.fsf@phe.ftfl.ca> <86y1dxpjzy.fsf@phe.ftfl.ca> <5240adad4ff5b341756809fe12d362c9@Leidinger.net> Message-ID: <7676e8efb575ee54c948ba3a1c7c364c@Leidinger.net> Organization: No organization, this is a private message. Content-Type: multipart/signed; protocol="application/pgp-signature"; boundary="=_235c1670cb73639a71a1dadfe8e0b354"; micalg=pgp-sha256 X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:34240, ipnet:89.238.64.0/18, country:DE] X-Spamd-Bar: ---- X-Rspamd-Queue-Id: 4Ss2S06sSJz3FjY 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--