[REBOL] Re: RFC: REBOL Home Multimedia Platform (RHMP)
From: jasonic:cunliffe:verizon at: 28-Dec-2001 22:18
Hi Robert
..yes a tantalizing and _very_ ambitious project.
Perhaps I misundertsand you, but my first reaction is that by the time you
have added all that it is barely REBOL any longer - it has tuirned in to a
hige project. What I mean is you seem to be taking on the highly complex
world of mutiple media formats. REBOL is small and sweet laregly becuase it
avoids all that. REBOL/View is small and sweet becuase it applies a few
simple graphics tricks within a tight paradigm. No big overheard, litle or
no dependency. Maximum isable effect.
A soon as you add devices, video etc, you run up against so many nasty
obstacles:
1. techno-politics
I mean things like MSDirectX vs. Quicktime vs. RealNetwords all vying for
control to be THE system player
2. versionitis
same as oabove plus incompatibilities between software, content, OS and
media libraries
3. development time, testing and distibution/installation
4. Financial Costs and technical skills needed for suchd evelopment
5. size and perfomances issues
6. licensing issues
7. upgrade and maintentance
How to support all that? It better be really good and up to date, or why
will anyone bother beyond curiosity, as programming excercise, or deepest
rebol evangelism?
There are a number of poeple who have been working hard to do integrate
media adn virtualize them. The music editing odtwaer adn plugins architecure
market shows how far we've come in just the past 5 years. Almost everthing
one has wanted/needed to do in hardware is now virtualized for audio and
video.
An very intersting toolkit which opens some of this up is Miller Puckette's
PD [Pure Data] plus GEM and other cool extensions:
http://www.crca.ucsd.edu/~msp/software.html
http://www.pure-data.org/
http://www.danks.org/mark/
Because PD comes frmo a an experimetental signal processing and live
performance heritage, it tends to be more aware of physcial and virtual i/o
needs. The paradigm is a wonderful obejct-oreientd patchbay.
KeyKit is another but strictly focused on MIDI. KeyKit is A brilliant
relationship between langauge data objects and GUI:
http://www.nosuch.com/keykit/
Both of the above are well worth playing around with becase they have some
great ideas adn effort in them already. Projects like the one you propose
for REBOL/View could surely benefit.
Perhaps a clear step then is to integrate rather thant reinvent such effort.
I believe the TAO Group's system is one such serious candidate. Have you
looked at that and way's to leverage it with REBOL?
http://tao-group.com/2/tao/index.html
As it happens, I was just today looking again at PyGame, the Python package
built on top of SDL, a cross-platform game developer's library.
http://pygame.org/
http://pygame.org/docs/index.html
http://www.libsdl.org/
<quote>
Simple DirectMedia Layer is a cross-platform multimedia library designed to
provide fast access to the graphics framebuffer and audio device. It is used
by MPEG playback software, emulators, and many popular games, including the
award winning Linux port of "Civilization: Call To Power." Simple
DirectMedia Layer supports Linux, Win32, BeOS, MacOS, Solaris, IRIX, and
FreeBSD.
SDL is written in C, but works with C++ natively, and has bindings to
several other languages, including Ada, Eiffel, ML, Perl, PHP, Python, and
Ruby.
</quote>
This includes access to CD's joysticks and various i/o. The frambuffering of
SDL may adapt well to REBOL/Views heritage also ..
I would imagine there is lots to be learned from that work alone.
Translating Python to REBOL should be prerty easy since Python is very clear
and consistent. Like Python itself, most packages and modules are free and
opensource. An easy proof of concept strategy is to use Python +REBOL.
Python runs on a very wide choice of platforms like REBOL so sintalaltion
should not be too hard. Their is a rich array of libraries, good
documentation, books, community etc. My point is that ERBOL + Python are
both great for rapid protiypinga dnfavour a very modular approach. Get the
core structreu in REBOL establasish ed usign Python conmpnents, then port
and intefgraet according to needs priorities.
Licensing and other issues of the Python sections should not distract you
from you main REBOL/View vision.
THE site for reviewing contributed modules:
http://www.vex.net/parnassus
cheers
./Jason