home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!zaphod.mps.ohio-state.edu!saimiri.primate.wisc.edu!caen!sol.ctr.columbia.edu!ira.uka.de!math.fu-berlin.de!umn.edu!csus.edu!netcom.com!netcomsv!terapin!paulk
- From: paulk@terapin.com (Paul Kienitz)
- Newsgroups: comp.sys.amiga.programmer
- Subject: Re: IPC and shared memory
- References: <1993Jan8.222418.21348@oracle.us.oracle.com>
- Message-ID: <paulk.35yt@terapin.com>
- Date: 9 Jan 93 12:00:40 PST
- Organization: BBS
- Lines: 33
-
- > So you're partially right -- sometimes the traveller does handle
- > data in its own process. Often, especially with more complex data
- > manipulation functions like play, filesave, etc., the method is run
- > in the module's process.
-
- I have very little familiarity with all this OO stuff, but as it
- happens, I have this MIDI program Bars&Pipes Professional which hypes
- itself as Object Oriented, and I have stuff for writing tools and
- accessories for adding new features to the thing... and it does
- address a lot of the same issues and concepts. I guess it really is
- rather object oriented, even though it never uses words like "class"
- or "method", and does everything with a simple exec-type interface.
-
- Every time you create an instance of a tool in the Bars&Pipes
- pipeline, such as something to echo midi events, it creates a new
- copy of a tool data structure which can be found by browsing a public
- list, AND it may create a background task for it, but only when the
- task is actually needed. Since this structure is created by a
- function within the tool, it can be extended to any size and the
- process of initializing each new instance is whatever the tool wants
- it to be. Whenever you want to edit the parameters of the tool, the
- main program causes the tool's edit function to be called within the
- context of its own task. But when it's time to process actual midi
- events, it calls functions within the tool in the context of the main
- player process. In turn, the tool calls utility functions embedded
- in the main program. In each case the tool gets a pointer to its
- instance of the public tool structure. Even the internal stuff that
- gets done to the events, like recording and playing them, is
- implemented as a tool, which it calls without caring that it happens
- to be part of the main program.
-
- And all with plain ordinary Amiga facilities. Maybe that article in
- Byte that said the Exec is object oriented wasn't too far off.
-