[x3d-public] Super simple animations?
Joe D Williams
joedwil at earthlink.net
Mon Aug 7 14:17:35 PDT 2023
Does the latest FreeWRL 6 work in windows 10?
Joe
-----Original Message-----
From: John Carlson <yottzumm at gmail.com>
Sent: Aug 7, 2023 9:11 AM
To: GPU Group <gpugroup at gmail.com>
Cc: X3D Graphics public mailing list <x3d-public at web3d.org>
Subject: Re: [x3d-public] Super simple animations?
I'm going to try FreeWRL 6.1 since you've updated. FreeWRL 4.0 still is good for many tasks, even OpenGL
John
On Mon, Aug 7, 2023 at 9:13 AM GPU Group <gpugroup at gmail.com (mailto:gpugroup at gmail.com)> wrote:
You are welcome to make some prototype nodes.https://freewrl.sourceforge.io/tests/43_MIDI/
test_js_make_parse_UMPdouble.x3d
- some example code for making and parsing a MIDI 2 UMP packet or MIDI 1 message from a Script node
On Mon, Aug 7, 2023 at 7:58 AM GPU Group <gpugroup at gmail.com (mailto:gpugroup at gmail.com)> wrote:
* W3C Web MIDI API, draft
* https://webaudio.github.io/web-midi-api/
PS this spec is MIDI 1 protocol -- messages - a stream of bytes with a count/length.. MIDI 2 uses fixed size packets called UMP universal midi packet, and for long messages sends continuation packets.
Freewrl version 6.1 windows version has an option on the launcher panel for MIDI transport, 1 or 2. If 1 it uses MIDI1 messages, if 2 it uses MIDI2 packets.
midi.org (http://midi.org) has released their midi 2 specs in July
https://www.midi.org/specifications
and you can create a free log in account, and download the midi 1 and 2 specs. For MIDI 2 message to packet conversion, I downloaded the "Universal MIDI Packet (UMP) Format and MIDI 2.0 Protocol" pdf, and Appendix D shows how to convert MIDI 1 messages to/from UMP.
https://freewrl.sourceforge.io/tests/43_MIDI/
NOTES_midi.txt
- shows my current 'exploratory proof of concept' node designs.
- comments welcome
-Doug
On Sun, Aug 6, 2023 at 5:26 PM Brutzman, Donald (Don) (CIV) <brutzman at nps.edu (mailto:brutzman at nps.edu)> wrote:
* 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.
If you want to adapt things in a different way, repeatably, then great - please write a prototype. The X in X3D is Extensible.
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.
* 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.
* W3C Web MIDI API, draft
* https://webaudio.github.io/web-midi-api/
Once again, X3D prototypes and Script node can provide a useful path forward for design, implementation, and evaluation of new nodes. Usage of stable prototypes can encourage significant usage and deployment.
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!
v/r Don
From: x3d-public <x3d-public-bounces at web3d.org (mailto:x3d-public-bounces at web3d.org)> on behalf of GPU Group <gpugroup at gmail.com (mailto:gpugroup at gmail.com)>
Sent: Sunday, August 6, 2023 10:25
To: X3D Graphics public mailing list <x3d-public at web3d.org (mailto:x3d-public at web3d.org)>
Subject: Re: [x3d-public] Super simple animations?
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.-Doug
On Sun, Aug 6, 2023 at 11:14 AM John Carlson <yottzumm at gmail.com (mailto:yottzumm at gmail.com)> wrote:
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.
If you tell me to do use a Script, why not put imperative code in an encoding instead?
John
On Sun, Aug 6, 2023 at 11:17 AM John Carlson <yottzumm at gmail.com (mailto:yottzumm at gmail.com)> wrote:
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.
I know this is imperative programming, and not declarative, but sometimes, you’ve got to bite the bullet of simplicity.
Thanks!
John
_______________________________________________
x3d-public mailing list
x3d-public at web3d.org (mailto:x3d-public at web3d.org)
http://web3d.org/mailman/listinfo/x3d-public_web3d.org
_______________________________________________
x3d-public mailing list
x3d-public at web3d.org (mailto:x3d-public at web3d.org)
http://web3d.org/mailman/listinfo/x3d-public_web3d.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20230807/2cb2b598/attachment-0001.html>
More information about the x3d-public
mailing list