9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: John Whitley whitley@cs.buffalo.edu
Subject: Graphics issues
Date: Mon, 13 Nov 1995 19:48:28 -0500	[thread overview]
Message-ID: <19951114004828.0KsNlNlJ2uqK7EX9H5kj-5HCGgooHI7hpcB1CLjhdk4@z> (raw)

John Carmack <9fans@cse.psu.edu> wrote:
>Events:
>
>Plan 9 should have a /dev/events device that combines the mouse,
>cons, and time devices.  There would be sizable efficiency,
>development ease, and user interface benefits from this.

Since the worm can of event handling has been opened, I'll toss a few
more ideas out.  It would be nice to have an elegant structure for
adding extension event streams.  E.g. spaceballs, touch screens, EM
field sensing devices (see CHI '95 proceedings, p. 280), and so forth.

Consider the following:

Create a special /dev/events/evstream that gives the proper event
interleaving for all event drivers in the current view of a
/dev/events directory tree.  This could include /dev/events/mouse,
/dev/events/cons, /dev/events/time, and possibly novel input event
drivers.  An application might then mask its event stream by modifying
its view of the /dev/events tree accordingly.

Assuming that the above is both feasible and sensible, it could also
provide a nice mechanism for integrating alternative event streams
into the event stream.

As opposed to the idea of using a control file for event selection, I
envision the evstream device as a sort of multiplexer that manages
streams from a set of input devices.  Event selection then gets left
to the file system layer, where evstream is only called on to manage
event streams from other drivers visible under /dev/events.  A
significant question remains: is an elegant implementation possible
that meets the reliability (no misses) and temporal ordering
constraints raised by John Carmack?

>I see this as a no-drawbacks, just-plain-right thing to do.

I have to agree with the issues that John raises.  Multimedia and
highly interactive applications are going to happen.  It is tantamount
that efficient and well-thought out support for these be integrated
into Plan 9 if it is to survive.  Wouldn't a VRML browser for Plan 9
be nice?

There are all sorts of applications that could be hindered by a lack
of proper multimedia support.

Now to turn the coin over, consider building a /dev/multimedia that
handles some of the ugly aspects of displaying synchronized video and
audio streams?  There is some question in my mind as to the format in
which to provide the raw streams to /dev/multimedia in such a manner
that it can synchronize them.  Might make a nice distributed solution,
too: audio and video streams from separate sources could arrive at a
an instance of /dev/multimedia to be synchronized and displayed at the
local machine.

-- John Whitley







             reply	other threads:[~1995-11-14  0:48 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1995-11-14  0:48 John [this message]
  -- strict thread matches above, loose matches on Subject: below --
1995-11-30 16:03 Al
1995-11-19 19:23 Andrew
1995-11-19 15:31 Dan
1995-11-17 11:05 John
1995-11-16 17:39 rob
1995-11-14 12:24 dhog
1995-11-12 12:28 John

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=19951114004828.0KsNlNlJ2uqK7EX9H5kj-5HCGgooHI7hpcB1CLjhdk4@z \
    --to=9fans@9fans.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).