From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Daniel Skinner Newsgroups: gmane.lisp.guile.user Subject: Re: Guile Hoot v0.2.0 released! Date: Mon, 11 Dec 2023 11:36:41 -0600 Message-ID: References: <87v89c4jlc.fsf@dustycloud.org> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="26735"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Christine Lemmer-Webber , Guile User To: "Thompson, David" Original-X-From: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Mon Dec 11 18:37:30 2023 Return-path: Envelope-to: guile-user@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1rCkDi-0006fg-JI for guile-user@m.gmane-mx.org; Mon, 11 Dec 2023 18:37:30 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rCkDD-00020H-6J; Mon, 11 Dec 2023 12:36:59 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rCkDB-0001xp-Al for guile-user@gnu.org; Mon, 11 Dec 2023 12:36:57 -0500 Original-Received: from mail-pj1-x102b.google.com ([2607:f8b0:4864:20::102b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rCkD9-0006AF-2W for guile-user@gnu.org; Mon, 11 Dec 2023 12:36:57 -0500 Original-Received: by mail-pj1-x102b.google.com with SMTP id 98e67ed59e1d1-28aabe4a728so419496a91.3 for ; Mon, 11 Dec 2023 09:36:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dasa-cc.20230601.gappssmtp.com; s=20230601; t=1702316213; x=1702921013; darn=gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=MhG+rf8d5/YkB1Xuh233zTiGAcvEIa5UyjDPtsVnnoQ=; b=CRVBYy/YuHnw8Itmujsx1nGSBqs1Ev2HH8LO2E2RmrTr5QwxvDE+x7v56mDdUaoJUv vIhmMD1X1MrMiHjf9h5qFWY3x5jE0pyFhkaRewJ3+mg1FSRdg4sjohPiR0Fnu3nt+BfW xwc6KQhxhgSRdL5ysyNhsJYHxRZlWi3EQEigged1voE+0keO5skzGJf3BLEJ72rJIxpD W7NORsQLIpIY7f0fTv1+kgHvAdDrKISOdH878Rzuwm5BZFAIuNZu1E407pOLnUg9xq89 QfYuKb9MqQsXD89xAn4HiF3O8ESfW5i97FwIEO2o7AcAooXq/6ifGDkRDCy5YFmkKvZO 8CNw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702316213; x=1702921013; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=MhG+rf8d5/YkB1Xuh233zTiGAcvEIa5UyjDPtsVnnoQ=; b=kWJICeh8jc5PYB5WbKXaAEI3+Y8ZRtzUKTyEkdy6kHC8mis6gqQ/owRBNZC+sz8Deo AKOQW+ZR/sec8U7LffsOPYalREDSH15dHwxt1nmZvD6BX88OnS89+jQdceh9WvqUx/Mw fQm/zulazBhMA49OjQYaa7I98SiiuDYz268/CQi/PNW5RjI2Ho43Ir4+FG8nnvGqZBGY 0p7sZVLxbeQW0r73Fk7GYpSC0uHrZLXlcI+rDc4ormuy6v1b7f9QCbWxDhg/I73km739 LAmp6EdY8zQ7BNtsBs2x2PsRDHfdCVmZu0lF9y/t/BI5z+R8nXRV9KkEO06yxDROo+7M DylA== X-Gm-Message-State: AOJu0Yw+KhTqAhWin5QKCDxwnkQhpdR4/+SccB7b9/Nry9xU6pk6CLqM qn+FW4B1YUe/eFuK7/QvG8GAmPnOHD5S2UKRMnPAUw== X-Google-Smtp-Source: AGHT+IErs9bEwFxl6Y380v3EO1YfUZiyceI27/iuDiop6+OIKWeDEBgCESqk+P1Nhg+ppGn1JVigXvZRE8TKtHQ3Obg= X-Received: by 2002:a17:90a:ac14:b0:286:6cc0:885a with SMTP id o20-20020a17090aac1400b002866cc0885amr2322327pjq.71.1702316213496; Mon, 11 Dec 2023 09:36:53 -0800 (PST) In-Reply-To: Received-SPF: pass client-ip=2607:f8b0:4864:20::102b; envelope-from=daniel@dasa.cc; helo=mail-pj1-x102b.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Original-Sender: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.lisp.guile.user:19370 Archived-At: > At some point, I will be porting Chickadee to the web using WebGL and Web Audio Also to add, you'd probably want to use AudioBuffer and not AudioWorklet for the sound which will allow everything to be in the same module as well, then you would not be seeing these complications. But I've been doing Web Audio for even less time (4ish days) so my knowledge in the area is lacking currently. On Mon, Dec 11, 2023, 9:49=E2=80=AFAM Thompson, David wrote: > Hi Daniel, > > On Mon, Dec 11, 2023 at 12:53=E2=80=AFAM Daniel Skinner = wrote: > > > > I hit a snag trying to use in an AudioWorklet so was resolving that > instead of making something more interesting. I worked it out which > required a change to the reflect.js instatiate_streaming to allow > referencing already-compiled modules keyed by given path as that's the on= ly > practical way it seems to provide to an AudioWorklet. > > > > Put here for reference (see everything prefixed realtime.*): > https://gitlab.com/daniel126/guile-hoot-ffi-demo > > > > The realtime_worklet.js has a copy of reflect.js at top that includes > the changes mentioned and also a TODO of a potential issue within same > function. > > I don't think I quite understand what's going on. Are you passing over > WebAssembly.Instance objects as the event data to the AudioWorklet? > Could you just instantiate everything in the main "thread" and pass > over ready to use instances? > > > Tested in firefox. The example uses AudioWorklet as a sink only; the ra= w > audio data is generated in the guile wasm module by writing into a consta= nt > bytevector, then in AudioWorklet that data is copied-projected-copied out= ; > maybe there's a cleaner way to do that copy out. > > > > With things spiked out now, I can maybe do something a little more > interesting when I can find the time. > > I also noticed you are doing things with WebGL. You beat me to it. ;) > > At some point, I will be porting Chickadee to the web using WebGL and > Web Audio so your exploration here will help make that happen. > > Thanks for sharing your progress! > > - Dave >