[x3d-public] Super simple animations?

John Carlson yottzumm at gmail.com
Mon Aug 7 09:10:35 PDT 2023


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> 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> 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 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> wrote:
>>
>>>
>>>    1.  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.
>>>
>>>
>>>    1.  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> on behalf of GPU
>>> Group <gpugroup at gmail.com>
>>> *Sent:* Sunday, August 6, 2023 10:25
>>> *To:* X3D Graphics public mailing list <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> 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>
>>>> 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
>>>> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>>>>
>>> _______________________________________________
> x3d-public mailing list
> 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/b773e423/attachment.html>


More information about the x3d-public mailing list