[x3d-public] Super simple animations?

GPU Group gpugroup at gmail.com
Mon Aug 7 07:12:46 PDT 2023


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
>>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20230807/2992fefe/attachment-0001.html>


More information about the x3d-public mailing list