🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.mail.multi-media
Article #62

Re: A high-level language for animation & sound ??

#62
From: Fred Hansen
Date: Thu, 12 Oct 1989 11:24
63 lines
3672 bytes
Eric Ho has asked: 

>> Just wondering if anyone out there is developing a high-level
language that
>> has all the flexibility & simpilicty (& device independence) of
PostScript
>> but capable of addressing sound & animation as well ?

Other responders to this request have mentioned MIDI as a sound standard
(standard for sound ?-).  We could even consider making MIDI a data type
accessible to postScript and then do everything in PostScript.  With the
extension developed for NeWS, PostScript should be able to handle the
real time sequencing required for animations.

It seems to me, however, that we need 2 more "languages".  

The way I see it, a message is a document and contains various pieces
like rasters, spreadsheets, sounds, and animations.  One language needed
is a high level, user oriented language for expressing the behavior of
the message in response to reader actions.  The author may wish a
particular button to start a voice-gram or may want the voice to
activate in conjunction with an animation.  If we try to build special
purpose tools for users to express all possible sequencing we will
inevitably omit some useful options.  Users will be far better served if
we instead build a general-purpose language with functionality for
invoking animations, sound, and other dynamic objects.  

The other "language" needed is some data stream definition that can
amalgamate in one stream the various elements we want:  MIDI,
postscript, text, rasters, animations, spreadsheets, ... .  PostScript
could serve this purpose, but it needs to be extended with a stronger
notion of quoting embedded objects.  {There is a way to do this in
PostScript: the red PostScript book shows a way to incorporate large
rasters, but it essentially means dropping out of PostScript and reading
directly from the data stream.}

What work is going on at CMU?  We have candidates for both languages.  

The Andrew ToolKit (ATK) datastream definition provides for mixture of
text and other objects of any sort.  The run-time environment defines
protocols by which the driver for an outer object communicates with
embedded objects, including how the outer object calls upon the inner to
read its portion of the data stream.  

For user level expression of behaviors, we have implemented Ness.   This
is a fairly standard language in many respects:  variables, functions,
assignment, if-then-else, while-do.  In addition it offers a novel
algebra for dealing with string values; with this algebra substring
references can be passed as arguments to functions and returned as their
value.  This means that a parsing function not only returns the string
it matches, but also the location of that string within its underlying
base string.

Another innovation of the language is a notation that permits scripts in
the language to intercept mouse, menu, and key events intended for
objects.  In this way a mouse click on any object can be interpreted to
start an animation or initiate sound.

(A few months ago I promised to send out documentation on Ness to a few
prople.  I expect to actually do that this week.  Hang in there, folks
:-)

Fred Hansen
Technical Details
Message-ID: <sZB7Fz200VsP46GGdI@andrew.cmu.edu>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!tut.cis.ohio-state.edu!ucbvax!ANDREW.CMU.EDU!wjh+
References: <EHO.89Oct1023005@cognito.Princeton.EDU>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!tut.cis.ohio-state.edu!ucbvax!ANDREW.CMU.EDU!wjh+
From: wjh+@ANDREW.CMU.EDU (Fred Hansen)
Newsgroups: comp.mail.multi-media
Subject: Re: A high-level language for animation & sound ??
Message-ID: <sZB7Fz200VsP46GGdI@andrew.cmu.edu>
Date: 12 Oct 89 11:24:47 GMT
References: <EHO.89Oct1023005@cognito.Princeton.EDU>
Sender: daemon@ucbvax.BERKELEY.EDU
Distribution: inet
Organization: The Internet
Lines: 63