home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #1 / NN_1993_1.iso / spool / comp / sys / amiga / programm / 18421 < prev    next >
Encoding:
Internet Message Format  |  1993-01-09  |  2.3 KB

  1. 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
  2. From: paulk@terapin.com (Paul Kienitz)
  3. Newsgroups: comp.sys.amiga.programmer
  4. Subject: Re: IPC and shared memory
  5. References: <1993Jan8.222418.21348@oracle.us.oracle.com>
  6. Message-ID: <paulk.35yt@terapin.com>
  7. Date: 9 Jan 93 12:00:40 PST
  8. Organization: BBS
  9. Lines: 33
  10.  
  11. > So you're partially right -- sometimes the traveller does handle
  12. > data in its own process.  Often, especially with more complex data
  13. > manipulation functions like play, filesave, etc., the method is run
  14. > in the module's process.
  15.  
  16. I have very little familiarity with all this OO stuff, but as it
  17. happens, I have this MIDI program Bars&Pipes Professional which hypes
  18. itself as Object Oriented, and I have stuff for writing tools and
  19. accessories for adding new features to the thing... and it does
  20. address a lot of the same issues and concepts.  I guess it really is
  21. rather object oriented, even though it never uses words like "class"
  22. or "method", and does everything with a simple exec-type interface.
  23.  
  24. Every time you create an instance of a tool in the Bars&Pipes
  25. pipeline, such as something to echo midi events, it creates a new
  26. copy of a tool data structure which can be found by browsing a public
  27. list, AND it may create a background task for it, but only when the
  28. task is actually needed.  Since this structure is created by a
  29. function within the tool, it can be extended to any size and the
  30. process of initializing each new instance is whatever the tool wants
  31. it to be.  Whenever you want to edit the parameters of the tool, the
  32. main program causes the tool's edit function to be called within the
  33. context of its own task.  But when it's time to process actual midi
  34. events, it calls functions within the tool in the context of the main
  35. player process.  In turn, the tool calls utility functions embedded
  36. in the main program.  In each case the tool gets a pointer to its
  37. instance of the public tool structure.  Even the internal stuff that
  38. gets done to the events, like recording and playing them, is
  39. implemented as a tool, which it calls without caring that it happens
  40. to be part of the main program.
  41.  
  42. And all with plain ordinary Amiga facilities.  Maybe that article in
  43. Byte that said the Exec is object oriented wasn't too far off.
  44.