Correspondence/Flow port to Disney primitives

russell.allen at firebirdmedia.com russell.allen at firebirdmedia.com
Mon Jul 10 12:17:45 UTC 2000


Thanks to this port, and Craig's streaming sound code I have managed to
hear a streaming wave file on my PowerBook for the first time!

Thank you!

:)
Russell

John M McIntosh <johnmci at smalltalkconsulting.com> wrote:
> During June 2000 I carved off a promise to port Craig's Correspondence/Flow
> work http://netjam.org/self/projects/smalltalk/ to a 2.8 image without
> having to use his specialized primitives. This work is now done and supports
> the Disney Socket Primitives and the current 2.7 exception handlers. I've
> posted the comments from my web page for this below, I'm hesitant to post
> the entire source to the list since it comes to 250K uncompressed, so a link
> to the page and the change sets is at:
> 
> http://www.smalltalkconsulting.com/papers/tipsAndThoughts/codeFragments.html
> 
> Note having a SUNit test case or two made solving the puzzle easier, it
> actually pointed out some problems with the core code. More work is required
> to test this stuff since give 200K of code I certainly didn't try every
> case! If someone has some spare time...
> 
> Beware I've not tested on windows and Linux yet, but at this point I thought
> I'd share the fun.
> 
> -------------
> 
> This brings a marvelous streaming package to Squeak that allows you to
> create streams on Sockets, MIDI(*), and serial devices. If you don't care
> for the existing Socket support in Squeak, then check this out! Being able
> to stream over a socket is MUCH nicer!
> 
> First if you are using 2.7 you need the JMMFlowWorkbackTo27.1.cs patch. If
> you are using 2.8 or 2.9 then you do NOT need this change set. This adds
> some changes made to the system from the 2.8 patch set which we are relying
> upon.
> 
> Next you need the JMMExternalTableByIndex.1.cs patch, which adds
> functionality to a 2.8 kernel to allow you to access the externalSemaphore
> Table by number, versus value.
> 
> Next you need the JMMChgFlowPreSetup.1.cs patch. This adds enhancements to
> the existing base classes, I've broken it out from the Correspondents/Flow/
> work so you know what's happening to the rest of Squeak. {Actually streaming
> does stuff too, but I didn't break it out :-{}
> 
> Next you need the streaming1g1JMM.1.cs patch. This patch provides streaming
> over external resources, like the midi, serial ports, and of course Sockets.
> 
> Next you need a version of the Correspondents/Flow work which provides the
> actual code for the serial, midi and socket support. This rather large
> filein is at correspondents1b4JMM.1.cs.
> 
> Finally a test SUnit (JMMSUnitsForFlow.1.cs). Were would you be without one?
> Up the creek without a paddle comes to mind.
> 
> This software has been tested on a macintosh at the current 2.8 level. The
> test suite runs fine. It also has been tested on a macintosh with a 2.7
> image/VM and runs fine, excluding the UDP support and issues with attempting
> to get a TCP/IP Server model to work with the somewhat broken listen to
> logic in the Mac 2.7 VM. If you want to host a server with a macintosh 2.7
> VM/image, one word DON'T.
> 
> Things left to do...
> 
> Testing on windows and Linux.
> *MIDI isn't tested yet, need someone with actual mac+serial ports+MIDI
> device to test.
> --
> ===========================================================================
> John M. McIntosh <johnmci at smalltalkconsulting.com> 1-800-477-2659
> Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
> ===========================================================================
> Custom Macintosh programming & various Smalltalk dialects
> PGP Key: DSS/Diff/46FC3BE6
> Fingerprint=B22F 7D67 92B7 5D52 72D7  E94A EE69 2D21 46FC 3BE6
> ===========================================================================


----------------------------------------
Russell Allen

russell.allen at firebirdmedia.com

----------------------------------------





More information about the Squeak-dev mailing list