diff options
author | mescalinum <mescalinum@users.sourceforge.net> | 2009-09-03 11:13:34 +0000 |
---|---|---|
committer | mescalinum <mescalinum@users.sourceforge.net> | 2009-09-03 11:13:34 +0000 |
commit | b384a01e30dcaab713dd7d93bd3789890b3ba73a (patch) | |
tree | 1db1070d1a0f11a0a9ad5ec27cc9f57c61a91f88 | |
parent | ccb9fc109b9e2218b0f69c23661dcd7ce4ead235 (diff) |
removing README as is outdated
svn path=/trunk/externals/tclpd/; revision=12207
-rw-r--r-- | README | 93 |
1 files changed, 0 insertions, 93 deletions
@@ -1,93 +0,0 @@ - - Tcl for Pd - ========== - -this library allows you to to write externals for Pd using the -Tcl language. -The API is the standard pd C API, so if you wrote an external in C in -the past, you know where to start. -(Otherwise you can read the Pd-External-HOWTO) - - - The client/server thing - ======================= - -Pd is split into two processes: the gui, and the core. -A pd external with no gui generally just runs in the core. -A pd gui external is split in two pieces: the gui and the non-gui part. -The non-gui part actually makes audio/file IO, while the gui part is -just a frontend to the non-gui one, displaying its state, and allowing -the user to interact with it. - -Tclpd runs the Tcl code in the core process. - -You might have been familiar with tot/toxy/widget externals. -Such externals run in the gui process (client). That was fine for writing -gui only external, but, for instance, you cannot do a metronome or -anything which is timing accurate, or heavy IO, as that is not the -purpose of the gui process. - -Theoretically, Tclpd could also do gui stuff. Communication to the gui -is done with the sys_vgui proc (communication in the opposite directions -is done via pd message and receivers). -Just I didn't design a framework for doing this, so it's up to you. - - - Data conversion between Tcl <=> Pd - ================================== - -In pd exists 'atoms'. An atom is a float, a symbol, a list item, -and such. -Tcl does not have data types. In Tcl everything is a string, -also numbers and lists. Just when something needs to be read as -number, then evaluation comes in. -This leads to loss of information about atom types. Imagine a -symbol '456' comes into tclpd, you won't know anymore if "456" -is a symbol or a float. - -Here a little convention comes in action: in tclpd an atom gets -converted to a two-item list, where first item is atom type, -and second item is its value. - -Some examples of conversion: - - Pd: 456 - Tcl: {float 456} - - Pd: symbol foo - Tcl: {symbol foo} - - Pd: list cat dog 123 456 weee - Tcl: {{symbol cat} {symbol dog} {float 123} {float 456} {symbol wee}} - - - Examples - ======== - -I provided small examples. -after loading pd with option '-lib tcl', just type the filename -(minus the .tcl extension) to load the Tcl externals examples. - -actually there is one simple example: list_change (behaves like -[change] object, but work with lists only) - -examples make use of pdlib.tcl, a little API I wrote to make -things more cute. -you are free to not use it (just look in pdlib.tcl to know what -happens for real) or better: YOU ARE ENCOURAGED to write an OOP -system for writing externals with tclpd. - - - Authors - ======= - - * Federico Ferri <mescalinum@gmail.com> - * Mathieu Bouchard <matju@artengine.ca> - - - License - ======= - -See COPYING file provided with the package. - - |