[UPDATES] Back on track

Dan Ingalls Dan.Ingalls at disney.com
Sun Jan 2 04:39:46 UTC 2000


Folks -

Herewith some twenty-odd updates as my first attempt to dig out from under the holidays and get back on track toward 2.7.  A number of these have been circulated already on the list.

The most notable exception is Luciano Notarfrancesco's Text-To-Speech system complete with animated cartoon faces.  I had really hoped to get this out before the holidays.  Luciano worked hard to make it possible but, by the time he was done, technology had failed me at two levels, and I simply could not run it through the update process.  To play with his code, you will need a Klatt plug-in.  I am attaching a Mac version that I have tested, and one for the PC that should work (after unzip, it should be named Klatt.so, I believe).  Try out the examples as suggested in Luciano's preamble below.  There is some static in the Silent Night duets which I think is due to over-drive because the voices aren't scaled back before mixing.  Still, you've gotta love DECTalkReader silentNightDuetExample4

Enjoy
	- Dan
--------------------
1727sketchThumbnail-sw -- Scott Wallace -- 20 December 1999
Removes long-standing special-case code in ThumbnailMorph.drawOn: (which is of unknown provenance and which seemed to do more harm than good) so that thumbnails of SketchMorphs now are better-behaved."

1728StreamFixes-ar -- Andreas Raab -- 23 December 1999
This change set unifies several stream methods by definining #nextInto: #nextInto:startingAt: #next:into: #next:into:startingAt: in class PositionableStream. It also cleans up the use of #nextInto: for word sized objects by introducing #nextWordsInto:." 

1729InflatePlugin -- Andreas Raab -- 23 December 1999
Adds a tiny little plugin (four methods) for decompressing. Also enhances InflateStream to deal with source streams so that one doesn't have to read the entire source into memory at once. See FileList>>saveGZipContents for an example of use."

1730FasterChgsSets-ar -- Andreas Raab -- 23 December 1999
When having many change sets (e.g., >= 1000) gathering change sets takes a very long time. This change speeds gathering up by a factor of 25."

1731DigitalSignatures-jm -- John Maloney -- 24 December 1999
This is an implementation of the U.S. Government Digital Signature Standard.
To use it, you will need a set of primitives currently packaged as DSAPrims;
as usual, just put this file in the directory that holds the Squeak executable.
Note that this includes some primitives for fast multiplication and division.
Please see the class comments for further info."

1732MiscChanges-ar -- Andreas Raab -- 27 December 1999
A set of (partly unrelated) changes throughout the system. Mainly compression related but also some minor fixes."

1733SysCatFileOut-ar -- Andreas Raab -- 22 December 1999
When filing out entire system categories #initialize methods should be sent after all classes are filed out. This change set fixes the problem."

1734CompressionPostFix-ar -- Andreas Raab -- 27 December 1999
A fix for a compression fix in the last change set, e.g., a post-fix ;-)" 

1735fatBitsUpdate-ba -- Bob Arning -- 28 December 1999
Some extensions to make FatBitsPaint more useful.  For more info, evaluate the following line:
StringHolder new textContents: FatBitsPaint comment; openLabel: 'about FatBitsPaint extensions'

1736mvcDebugButtons-sbw -- Stephan B. Wessels -- 28 December 1999
Adds buttons to the mvc pre-debug notifier and debugger, and makes annotation panes available in the mvc debugger.
(mildly tweaked by Scott Wallace)"

1737redundantThumbnail-sw -- Scott Wallace -- 28 December 1999
No longer show the redundant thumbnail inside a flap-based Viewer (a thumbnail is presented in the flap tab, after all) -- instead just use a Menu icon.

1738autoViewing-sw -- Scott Wallace -- 28 December 1999
When a playfield is set up for automatic viewing, that viewing now will take place whenever an object within it is 'touched' -- thus, the viewer comes up even after a click on a text object, on an object scripted to handle mouse actions, on a joystick, etc  Formerly, this only worked if you 'picked up' an object and then dropped it back into the playfield, making every situation where a simple click on an object did not serve to 'pick it up' problematical."

1739miscDecFixes-sw -- Scott Wallace -- 28 December 1999
(1)  Honor the stickiness property in system windows (there were two cases that had slipped through the cracks)
(2)  Fix two cases where #shrinkToFit rather than #shrinkWrap was issued.
(3)  Add an item to the morphic window menu to let the user mark a window as undraggable.
(4)  Includes Stefan Matthias Aust's enhancement that offers #center as an an alternative 'edge' in the adhere to edge... dialog.
(5)  The 'diff' button in the various morphic tools is now more satisfyingly positioned.

1740FisheyeMorph2 -- Yoshiki Oshima -- 17 December 1999
FishEyeMorph is a subclass of MagnifierMorph that displays a distorted view with greater magnification at the center, and lesser magnification at the edges.
Includes a minor positioning tweak to MagnifierMorph by DI.

1741NewFreeCellfixes -- Torge Husfeldt -- 16 December 1999
Fixes three more bugs in FreeCell.
1) Picking a new game didn't update the statistics.
2) Picking a new game disabled resuming elapsed Time.
3) Quitting the game didn't count the game as lost.
Removes code duplication (the cause for above bugs 1&2)
in the three methods (and their counterparts for the board)
for beginning new games.
Cosmetical change: prevents overflow of elapsed
Time by initially adding a digit.
Note: Pausing of elapsed time still doesn't work for FreeCell morphs
without owning SystemWindow (don't know how to accomplish this).
Torge"

1742Encoder-encodeVarFix -- Stefan Matthias Aust -- 22 December 1999

1743RecentSlangChanges -- Andrew C. Greenberg -- 26 December 1999
This change file synthesizes a number recent changes made to the Slang code generators.  This gathers together the results of changesets previously posted on Squeak-L: 	
	TestInterpreterPlugin3.1.cs
	TestInterpreterPlugin4.1.cs
	TestInterpreterPlugin5.1.cs
	CCodeGenerator.1.cs
	CCodeGenerator2.4.cs
	TestCodeGenerator.1.cs
Summary of Changes to CCodeGenerator:
*	improves CCodeGenerator error handling when generator is unable to open output code file
Improves compilation of #whileTrue, #whileFalse, #whileTrue: and #whileFalse: builtins.  *	CCodeGenerator (and hence, the named primitive compilers) now correctly generate loops of the following forms, as appropriate:
	SMALLTALK	EXEMPLAR				GENERATED CODE
	[cond] whileTrue: [stmtList].			while(cond) do {stmtList}
	[cond] whileFalse: [stmtList].			while(!!(cond)) do {stmtList}
	[stmtList. cond] whileTrue.			do {stmtList} while(cond)
	[stmtList. cond] whileTrue: []
	[stmtList. cond] whileFalse.			do {stmtList} while(!!(cond))
	[stmtList. cond] whileFalse: []
	[stmtListA. cond]					while(1) {stmtListA; if(!!(cond)) break; stmtListB}
		 whileTrue: [stmtListB]
	[stmtListA. cond]					while(1) {stmtListA; if(cond) break; stmtListB}
		 whileFalse: [stmtListB]
Summary of Changes to the Specification Slang Compiler (TestCCodeGenerator and TestInterpreterPlugin)
*	implemented a new feature: 
	foo: a and: b with: c
		self	primitive: #foo
			parameters: #(Array Oop SmallInteger)
			receiver: #Oop.
		self suppressFailureGuards: true.
		. . .
used as a pragma for specification primitives now suppresses automatic generation of checks for and returns on primitive failure that will otherwise be generated automatically: (i) after the specification prolog and (ii) before return postlogs.  This is not to be used lightly, since misuse can lead to crashing code on primitive failure.
*	Fixes a bug where primitives without specifications ended with an uncompilable 'return self'
*	reorganizes, recomments and refactors TestCodeGenerator and TestInterpreterPlugin somewhat to improve clarity, reusability and performance.
*	started building testbed for named specifications with type coercion specifications
*	fixed crashing bugs executing code generated by tranlation of '^ expr' when expr failed
*	eliminated some spurious Transcript messages during code generation
*	changed demonstration code to reflect current specification API, and fixed crashing bug in one example.
*	Corrects a bug where the code generator generated uncompilable characters and incorrect code for the expression
	'value asOop: Boolean'

1744ReorgB3D -- Dan Ingalls -- 23 December 1999
Move the B3DPlugin classes to Balloon3D category where they can share their pool in the same environment.

1745SqEnvtFixes2 -- Dan Ingalls -- 16 December 1999
Removes the need for backdoor access to environments via doesNotUnderstand:, and removes that mechanism as well.
Extends the compatibility hack presently supporting Legacy code of the form
	Smalltalk at: aSymbol
to support Legacy code of the form
	Smalltalk at: aSymbol ifAbsent: aBlock
	(Thanks to Andrew Greenberg).
Removes dashes from intra-package category names in packageBrowser.
Environments now know their own name.
ReorganizeEverything now moves existing pools into sub-environements if appropriate.
	It now begins with a saveAs to avoid interference with normal work.
	It also records all edits in a separate change set, and makes a new one at the end.
SharedPool names are printed properly if pool is in a sub-environment.
Superclass name in class def is printed with proper scoping.
Can now add and remove classes in subEnvironments.
	Requires a prefix to the superclass if it is not a Kernel class but this will soon be fixed.

1746SqueakSpeaks -- Luciano Notarfrancesco -- 22 December 1999
This Change Set includes a simple Text-To-Speech system for english with animated 2D faces.
The speech synthesis part of the system consists of a Klatt synthesizer and a basic segmental synthesizer. For examples on the TTS browse the 'examples' and 'examples-others' method categories in the Speaker class. For singing voices, see the 'examples' method category in the DECTalkReader class. For more information on the current Klatt synthesizer, see the class comment in the KlattSynthesizer class.
You will need the Klatt plugin in order to use this system; to translate the plugin to C do:
	KlattSynthesizerPlugin translateDoInlining: true

1747SilentNight -- Luciano Notarfrancesco -- 24 December 1999
New Silent Night examples. See the 'examples' method category in DECTalkReader class."

1748SystemOrgTweaks -- Dan Ingalls -- 1 January 2000
See the postscript for changes to SystemOrganization.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: SpeechPlugin.zip
Type: application/zip
Size: 24424 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20000101/b3b631f0/SpeechPlugin.zip
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Klatt.sea
Type: application/mac-binhex40
Size: 140298 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20000101/b3b631f0/Klatt.hqx


More information about the Squeak-dev mailing list