Steve's Tcl Page
Tcl/Tk is a freely available
(with source) scripting language and associated GUI toolkit
written by John Ousterhout and others which is now looked after
by a group of open source developers and is hosted on
sourceforge.net. The nice thing about Tcl/Tk is the ease with
which it can be extended with C/C++ coded procedures for specific
tasks. It also provides a very nice platform independent
solution since it runs on Windows 95/NT, Macintosh and Unix
My major involvement with Tcl/Tk is via the Emu Speech database
system which uses Tcl/Tk as a scripting language and to
provide various GUI tools for speech database creation and
manipulation. A couple of packages have been developed for that
project which are available separately:
- progman.tcl uses the dde package to
allow creation of program groups and shortcuts in the start menu
on Windows 9x/NT. A simple example of useage is shown at the end
of the file.
- stemmer.zip is a tcl package to
find word stems (eg. consoled -> console) using Porter's
algorithm. To install, unzip onto your auto_path.
- Emu-Graph is a tcl-only data
plotting package which renders graphs on a tk canvas widget. It
can be used to plot data inside web browsers using the tcl
plugin. It is rather slow for large numbers of points. You can
see a demonstration of the graph
package if you have the Tcl plugin. You
can download it here: emu-graph1.1.2.zip.
- Padgraph is another data plotting
package which is coded in C for speed. It provides a new widget,
the padgraph widget, which can render plots of 2d data very
quickly (we use it for speech data with > 50000 points per graph
and get fairly smooth scrolling on even 486 based machines).
Note: as of July '03, this is known not to build
standalone. It will eventually be made TEA compliant -- anyone
willing to lend a hand would be much appreciated. You can get a
version that will build by downloading the Emu source code. Download padgraph here:
- The pad widget underlies the padgraph widget and
provides a pixmap drawable for tk. I am releasing an updated
version of this code after a request in comp.lang.tcl for such a
widget. Future development will depend on others to make some
contribution to the design and implementation of the
widget. Download it here: pad-0.95.tar.gz.
- I'm part of a small group defining standard interfaces for
speech annotation tools. My first contribution is a display widget API and sample
implementation in tcl.
- The Useless Tcl Extension is an
attempt to put together a minimal example extension to help
people produce or port extensions to the Macintosh.
- There is an effort underway to define some tools for building
installers with tcl and tk. You can post comments at the wiki. TIP 55
describes a format for installable Tcl packages.I've put together
some code as a first stab at a Tcl extension installer which can
download and install extensions from a web based archive (like this one). Comments are