From nobody Sun Feb 20 15:54:17 2022 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 1192419DEA39 for ; Sun, 20 Feb 2022 15:54:29 +0000 (UTC) (envelope-from dev@submerge.ch) Received: from c3po.matrixx.ch (c3po.matrixx.ch [80.74.145.109]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4K1qkD2mf3z3lMb for ; Sun, 20 Feb 2022 15:54:28 +0000 (UTC) (envelope-from dev@submerge.ch) Received: from [145.40.196.39] (port=23776 helo=z800.localnet) by c3po.matrixx.ch with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.91) (envelope-from ) id 1nLoXR-00060Z-EF; Sun, 20 Feb 2022 16:54:18 +0100 From: Florian Walpen To: freebsd-multimedia@freebsd.org Cc: Hans Petter Selasky Subject: Re: New FreeBSD port ALSA to JACK MIDI, a2jmidid Date: Sun, 20 Feb 2022 16:54:17 +0100 Message-ID: <22854640.gYbqZ1YImA@z800> In-Reply-To: <2bd0bb3f-0cae-ad9f-138b-f0a66b883b30@selasky.org> References: <2571899.TYJnH3iKXO@z800> <2bd0bb3f-0cae-ad9f-138b-f0a66b883b30@selasky.org> 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 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-OutGoing-Spam-Status: No, score=-1.0 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - c3po.matrixx.ch X-AntiAbuse: Original Domain - freebsd.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - submerge.ch X-Get-Message-Sender-Via: c3po.matrixx.ch: authenticated_id: fw@submerge.ch X-Authenticated-Sender: c3po.matrixx.ch: fw@submerge.ch X-Source: X-Source-Args: X-Source-Dir: X-Rspamd-Queue-Id: 4K1qkD2mf3z3lMb X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of dev@submerge.ch designates 80.74.145.109 as permitted sender) smtp.mailfrom=dev@submerge.ch X-Spamd-Result: default: False [-2.12 / 15.00]; RCVD_TLS_ALL(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; ARC_NA(0.00)[]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+a]; HAS_X_SOURCE(0.00)[]; MIME_GOOD(-0.10)[text/plain]; MID_RHS_NOT_FQDN(0.50)[]; DMARC_NA(0.00)[submerge.ch]; NEURAL_HAM_LONG(-1.00)[-0.998]; TO_MATCH_ENVRCPT_SOME(0.00)[]; NEURAL_HAM_SHORT(-0.89)[-0.888]; RCPT_COUNT_TWO(0.00)[2]; HAS_X_GMSV(0.00)[fw@submerge.ch]; MLMMJ_DEST(0.00)[freebsd-multimedia]; NEURAL_HAM_MEDIUM(-0.94)[-0.939]; HAS_X_ANTIABUSE(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; CTE_CASE(0.50)[]; ASN(0.00)[asn:21069, ipnet:80.74.144.0/20, country:CH]; MIME_TRACE(0.00)[0:+]; HAS_X_AS(0.00)[fw@submerge.ch]; RCVD_COUNT_TWO(0.00)[2] X-ThisMailContainsUnwantedMimeParts: N Sorry for the delay. On Saturday, February 12, 2022 2:07:03 PM CET Hans Petter Selasky wrote: > On 2/12/22 12:52, Florian Walpen wrote: > > Does it have an impact on usability or latency (or latency correction)? > > No, jack is already slow, so no implications here. That's probably due to jack processing in cycles, but I'd have to verify. Unfortunately I can't measure MIDI latency right now, have to get some cables from the practice room next week. I suppose MIDI messages are sent out-of-band for USB devices? Thus not being subject to the OSS queuing delays? I'm not sure yet how jack and clients deal with the different latency. > My idea is to have one MIDI server (ALSA based) to allow the same MIDI > device to be shared by multiple devices. Also applications can create > virtual ports. Yeah, MIDI is a bit complicated. Too many APIs. I gave it a test run, and both bridging and device detection seem to be fine. Nice work there! One thing I noticed was that our hardware MIDI ports are detected as software ports by a2jmidid. Or at least they were bridged, even though a2jmidid excludes hardware ports by default. Intentional? This may confuse some client applications, if they rely on this distinction. On a side note, there's also an ALSA sequencer MIDI backend in jack, but it's tied to the ALSA driver and not available when choosing the OSS driver. So we can't use that instead of a2jmidid. BTW the ALSA option of our jack port is off by default. But all in all this looks like a promising approach. Regards, Florian