<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<div dir="ltr">
<div style=""></div>
<div style="">
<div dir="ltr">
<ol>
<li> John, i know of no event animation chain for X3D that cannot be expressed using X3D4 ROUTE connections using interpolators, sequencers, and event utility nodes. Chasers, dampers, and Script node provides further capabilities for variation. X3D4 architecture
 appears to have full expressive power for animation.</li></ol>
<div dir="ltr">If you want to adapt things in a different way, repeatably, then great - please write a prototype. The X in X3D is Extensible. <span></span></div>
<div dir="ltr"><br>
</div>
<div dir="ltr">Of course Script nodes, and programming libraries like X3DJSONLD, X3DJSAIL, x3d.py and others, are both declarative and imperative simultaneously when manipulating the scene graph. <span></span></div>
<div dir="ltr"><br>
</div>
<ol start="2">
<li dir="ltr"> Doug, we have had great success mapping Web Audio API to X3D4.  I think we have a similar path forward to X3D4.1 for MIDI.
<span></span><span></span></li></ol>
<div dir="ltr">
<ul>
<li>W3C Web MIDI API, draft</li><li><a rel="noreferrer noopener" href="https://webaudio.github.io/web-midi-api/" style="">https://webaudio.github.io/web-midi-api/</a><br>
</li></ul>
</div>
</div>
<div id="ms-outlook-mobile-signature">
<div>Once again, X3D prototypes and Script node can provide a useful path forward for design, implementation, and evaluation of new nodes.  <span style="text-align: left; background-color: rgb(255, 255, 255); text-decoration: none; display: inline !important;">Usage
 of stable prototypes can encourage significant usage and deployment.<span></span></span></div>
<div dir="ltr"><br>
</div>
<div dir="ltr">Given that Web3D Consortium has a formal liaison partnership with W3C, designated Web3D members can further participate in Audio Working Group to share design considerations and suggest refinements in the draft W3C MIDI API. Membership has value!<span></span></div>
<div dir="ltr"><br>
</div>
<div>v/r Don</div>
</div>
<div id="mail-editor-reference-message-container" class="ms-outlook-mobile-reference-message">
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif"><b>From:</b> x3d-public <x3d-public-bounces@web3d.org> on behalf of GPU Group <gpugroup@gmail.com><br>
<b>Sent:</b> Sunday, August 6, 2023 10:25<br>
<b>To:</b> X3D Graphics public mailing list <x3d-public@web3d.org><br>
<b>Subject:</b> Re: [x3d-public] Super simple animations?
<div> </div>
</font></div>
<div dir="ltr">MIDI nodes are a bit like that - you can design the event sequence / timing in a MIDI authoring tool, then play the .mid file and route from ToneSplitter. I'm thinking about a fireworks scene combining particle physics and midi event sequencing.
 Perhaps we need something more general, as a utility node set.
<div>-Doug</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Sun, Aug 6, 2023 at 11:14 AM John Carlson <<a href="mailto:yottzumm@gmail.com" style="">yottzumm@gmail.com</a>> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left:1px solid rgb(204,204,204); padding-left:1ex">
<div dir="auto">Conceptually one could do this with a switch, but i don’t know about events from the switch to enable the child TimeSensor or the startTime.</div>
<div dir="auto"><br>
</div>
<div dir="auto">If you tell me to do use a Script, why not put imperative code in an encoding instead?</div>
<div dir="auto"><br>
</div>
<div dir="auto">John </div>
<div><br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Sun, Aug 6, 2023 at 11:17 AM John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank" style="">yottzumm@gmail.com</a>> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left:1px solid rgb(204,204,204); padding-left:1ex">
I would like something like a TimeSensorSequencerGroup that enables and disables children TimeSensors in order of appearance in the code, if such a thing exists.  No need to fiddle with TimeSensor fields, the SequencerGroup does it for you.
<div dir="auto"><br>
</div>
<div dir="auto">I know this is imperative programming, and not declarative, but sometimes, you’ve got to bite the bullet of simplicity.</div>
<div dir="auto"><br>
</div>
<div dir="auto">Thanks!</div>
<div dir="auto"><br>
</div>
<div dir="auto">John</div>
</blockquote>
</div>
</div>
_______________________________________________<br>
x3d-public mailing list<br>
<a href="mailto:x3d-public@web3d.org" target="_blank" style="">x3d-public@web3d.org</a><br>
<a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer" target="_blank" style="">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
</blockquote>
</div>
</div>
</div>
</div>
</body>
</html>