I just put Dan Ingall's classic paper "The Smalltalk-76 Programming System: Design and Implementation" from the Fifth Annual ACM Symposium on Principles of Programming Languages, January 1978, online at my site:
http://users.ipa.net/~dwighth/smalltalk/St76/Smalltalk76ProgrammingSystem.ht...
My thanks go to Dan and ACM for giving me their permission to publish this -- but especially to Dan since he even went to the trouble to send me scanned images of this paper to work from since I didn't have a copy of it available.
Enjoy.
-- Dwight
--============_-1271913370==_============ Content-Type: text/plain; charset="us-ascii"
Hi all
This is just a small changeset which should enable you to zoom in and out on a PianoRollScoreMorph (as well as the existing expand/compress). This gets around the problem of not being really able to see the notes if your screen is too big...
cheers,
Russell
--============_-1271913370==_============ Content-Type: text/plain; name="PianoRoll.16Oct721pm.cs" ; x-mac-type="54455854" ; x-mac-creator="522A6368" Content-Disposition: attachment; filename="PianoRoll.16Oct721pm.cs" Content-Transfer-Encoding: imap_stub
0,16,2,10286,0,
--============_-1271913370==_============ Content-Type: text/plain; charset="us-ascii"
---------------------------------------- Russell Allen
russell.allen@firebirdmedia.com
---------------------------------------- --============_-1271913370==_============--
--============_-1271216606==_============ Content-Type: text/plain; charset="us-ascii"
G'day,
This is a small update to the change set I posted last week. It should do the following to PianoRollScoreMorphs:
* make it possible to zoom in and out on the morph (in y axis) * restrict notes to their proper range when editing a score * restrict the size of the morph to the proper limits * when drawing clefs, show lines for white notes as well as black, so that when you zoom in you can still see where the notes are :)
:) Russell
--============_-1271216606==_============ Content-Type: text/plain; name="PianoRoll.26Oct1234pm.cs" ; x-mac-type="54455854" ; x-mac-creator="522A6368" Content-Disposition: attachment; filename="PianoRoll.26Oct1234pm.cs" Content-Transfer-Encoding: imap_stub
0,502,2,11522,0,
--============_-1271216606==_============ Content-Type: text/plain; charset="us-ascii"
---------------------------------------- Russell Allen
russell.allen@firebirdmedia.com
---------------------------------------- --============_-1271216606==_============--
--============_-1270694817==_============ Content-Type: text/plain; charset="us-ascii"
Hi again,
I finally noticed that the changeset I inflicted on the ether last time was seriously flawed, and am putting out a new version, which should be better.
This should do the following to PianoRollScoreMorphs:
* make it possible to zoom in and out on the morph (in y axis) * restrict notes to their proper range when editing a score * restrict the size of the morph to the proper limits * when drawing clefs, show lines for white notes as well as black, so that when you zoom in you can still see where the notes are :)
And also:
* fix an initialisation bug I forgot about last time * draw in the names of the notes where there is space (ie 'C4' etc) * improve on the positioning of the note submorphs
Still to do:
* work out how to play notes when the submorphs are not being displayed (ie fix notesInRect: timeSlice so it works properly again).
Some of the code in PianoRollScoreMorphs appears to assume that all notes which are playable have morphs which are currently viewable. Zooming in on the score breaks this assumption, and I'm slowly working out how to approach this.
:) Russell
--============_-1270694817==_============ Content-Type: text/plain; name="PianoRoll.1Nove225pm.cs" ; x-mac-type="54455854" ; x-mac-creator="522A6368" Content-Disposition: attachment; filename="PianoRoll.1Nove225pm.cs" Content-Transfer-Encoding: imap_stub
0,722,2,16176,0,
--============_-1270694817==_============ Content-Type: text/plain; charset="us-ascii"
---------------------------------------- Russell Allen
russell.allen@firebirdmedia.com
---------------------------------------- --============_-1270694817==_============--
squeak-dev@lists.squeakfoundation.org