Hello, the most important thing that has to be fixed for me actually in pd-extended is the ix extension, so let me try to add a doc file that might help for using those widgets, it's attached. I've copied and pasted the text from the psp file we can find into CVS extension/gui/ix I've forgot to tell one thing, ix extension needs tcl-tk 8.5, so it can't be into pd-extended because it uses tcl-tk 8.4, weird isn't it? Also I suggest to put the dll's of the required tk libs for the windows installation of pd-extended. any comment is appreciated.
It would be great if you got those working in Pd-extended. I think
only one or two actually needs Tcl/Tk 8.5, and it shouldn't be too
hard to figure out how to include the various tcl extensions that are
needed, I think it's just a matter of putting the files in the right
place.
If you track down all the files needed for the ix guis, I can add
them to the build system. Basically, you just need to stick the tcl
extension files into the "auto_path", AFAIK: I think that /usr/local/
lib/pd/lib would be in the auto_path since there are tcl files
already there.
.hc
On Jun 9, 2007, at 12:35 PM, patrice colet wrote:
Hello, the most important thing that has to be fixed for me
actually in pd-extended is the ix extension, so let me try to add a doc file that might help for using those widgets, it's attached. I've copied and pasted the text from the psp file we can find into
CVS extension/gui/ix I've forgot to tell one thing, ix extension needs tcl-tk 8.5, so it can't be into pd-extended because it uses tcl-tk 8.4, weird isn't it? Also I suggest to put the dll's of the required tk libs for the
windows installation of pd-extended. any comment is appreciated.<ix doc> _______________________________________________ PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/ listinfo/pd-list
Man has survived hitherto because he was too ignorant to know how to
realize his wishes. Now that he can realize them, he must either
change them, or perish. -William Carlos Williams
Hans-Christoph Steiner a écrit :
It would be great if you got those working in Pd-extended. I think only one or two actually needs Tcl/Tk 8.5, and it shouldn't be too hard to figure out how to include the various tcl extensions that are needed, I think it's just a matter of putting the files in the right place.
If you track down all the files needed for the ix guis, I can add them to the build system. Basically, you just need to stick the tcl extension files into the "auto_path", AFAIK: I think that /usr/local/lib/pd/lib would be in the auto_path since there are tcl files already there.
Under linux, I just had to install the libraries with using the installer, and under windows, I had indeed to put the libraries into lib/tk8.4 and put some lines into pkgIndex.tcl for having all required packages loaded. I've got almost all ix widgets working, only the one (mat.wid) that couldn't be loaded because the script is truncated by the tcl-tk interpreter, for reasons I don't have a clue.
Those .wid files are excellent templates for understanding different manners of using tk for building customs GUI, so indeed, it would be great if all those files would work.
best, patko
On Jun 14, 2007, at 8:41 AM, Patco wrote:
Hans-Christoph Steiner a écrit :
It would be great if you got those working in Pd-extended. I
think only one or two actually needs Tcl/Tk 8.5, and it shouldn't
be too hard to figure out how to include the various tcl
extensions that are needed, I think it's just a matter of putting
the files in the right place.If you track down all the files needed for the ix guis, I can add
them to the build system. Basically, you just need to stick the
tcl extension files into the "auto_path", AFAIK: I think that /usr/ local/lib/pd/lib would be in the auto_path since there are tcl
files already there.Under linux, I just had to install the libraries with using the
installer, and under windows, I had indeed to put the libraries
into lib/tk8.4 and put some lines into pkgIndex.tcl for having all
required packages loaded. I've got almost all ix widgets working, only the one (mat.wid) that
couldn't be loaded because the script is truncated by the tcl-tk
interpreter, for reasons I don't have a clue.Those .wid files are excellent templates for understanding
different manners of using tk for building customs GUI, so indeed,
it would be great if all those files would work.
Submit a patch to pkgIndex.tcl and the files that you need to put in
lib/tk8.4. Or maybe make a wiki page about it on puredata.org.
Putting a patch in the patch tracker is the best way to insure this
gets included.
.hc
best, patko
I spent 33 years and four months in active military service and
during that period I spent most of my time as a high class muscle man
for Big Business, for Wall Street and the bankers. - General
Smedley Butler
Hello,
Hans-Christoph Steiner a écrit :
Submit a patch to pkgIndex.tcl and the files that you need to put in lib/tk8.4. Or maybe make a wiki page about it on puredata.org.
Putting a patch in the patch tracker is the best way to insure this gets included.
I've never made a patch so it has not been easy to proceed, after some research about how to make a patch for the 'Patch tracker', I've added CVROOT to user variable environment set it to: :pserver:anonymous@pure-data.cvs.sourceforge.net:/cvsroot/pure-data and tried: ~/pd/lib/tk8.4> cvs diff -up pkgIndex.tcl > pkgindex.tcl.patch for building the patch but the file is not in cvs repository, not even the pd/lib dir is there in fact.
Adding a wiki page to puredata.info would have been another solution, but I do not have sufficient privileges to make one.
The pkgIndex.tcl is attached The win32 dll too. Patko.
proc LoadBLT { version dir } {
set prefix ""
set suffix [info sharedlibextension]
regsub {\.} $version {} version_no_dots
# Determine whether to load the full BLT library or
# the "lite" tcl-only version.
if { [info commands tk] == "tk" } {
set name ${prefix}BLT${version_no_dots}${suffix}
} else {
set name ${prefix}BLTlite${version_no_dots}${suffix}
}
global tcl_platform
set library [file join $dir $name]
load $library BLT
}
set version "2.4"
package ifneeded BLT $version [list LoadBLT $version $dir] # End of package index file
package ifneeded snack 2.2 "[list load [file join $dir libsnack.dll]];[list source [file join $dir snack.tcl]]"
package ifneeded sound 2.2 [list load [file join $dir libsound.dll]]
package ifneeded snacksphere 1.2 [list load [file join $dir libsnacksphere.dll]]
package ifneeded snackogg 1.3 [list load [file join $dir libsnackogg.dll]]
package ifneeded Tkzinc 3.3.2 [list load [file join $dir Tkzinc332.dll]] package ifneeded zincText 1.0 [list source [file join $dir zincText.tcl]] package ifneeded zincLogo 1.0 [list source [file join $dir zincLogo.tcl]] package ifneeded zincGraphics 1.0 [list source [file join $dir zincGraphics.tcl]]
if {[catch {package require Tcl 8.2}]} return package ifneeded Tktable 2.7 "package require Tk 8.2; [list load [file join $dir Tktable.dll] Tktable]"
if {[catch {package require Tcl 8.4}]} return set script "" if {![info exists ::env(TREECTRL_LIBRARY)] && [file exists [file join $dir treectrl.tcl]]} { append script "set ::treectrl_library "$dir"\n" } append tree "load "[file join $dir treectrl21.dll]" treectrl" package ifneeded treectrl 2.1 $tree
if {[catch {package require Tcl 8.4}]} return set script ""
append script "load "[file join $dir libtkdnd10.dll]" tkdnd" package ifneeded tkdnd 1.0 $script
if {[catch {package require Tcl 8.4}]} return set script ""
append script "load "[file join $dir tkpathgdi01.dll]" tkpath" package ifneeded tkpath 0.1 $script
if {![package vsatisfies [package provide Tcl] 8.4]} {return}
if {[package vsatisfies [package provide Tcl] 8.5]
|| [package vsatisfies [info patchlevel] 8.4.6]} {
package ifneeded tile 0.7.2
"namespace eval tile {variable library "$dir"};
load "[file join $dir tile072t.dll]""
}
if {[catch {package require Tcl 8.2}]} return package ifneeded Tktable 2.7 "package require Tk 8.2; [list load [file join $dir Tktable.dll] Tktable]"
if {![package vsatisfies [package provide Tcl] 8.4]} {return}
if {[package vsatisfies [package provide Tcl] 8.5]
|| [package vsatisfies [info patchlevel] 8.4.6]} {
package ifneeded tile 0.7.2
"namespace eval tile {variable library "$dir"};
load "[file join $dir tile072t.dll]""
Patco a écrit :
The pkgIndex.tcl is attached
I'm sorry, I didn't put the good pkgIndex.tcl in last mail, attached is the one I've simplified for using with tk libs for widgets that works on my win32 computer.
notice: for getting the dll, go to : http://lists.puredata.info/pipermail/pd-list/2007-06/051157.html download the "pd-packages-nt-tk8.4.rar" attachement, rename the downloaded .obj to .rar and extract it to pd/lib/tk8.4 Patko.
# this script is used for loading packages required by [widget]'s .wid files package ifneeded snack 2.2 "[list load [file join $dir libsnack.dll]];[list source [file join $dir snack.tcl]]"
if {[catch {package require Tcl 8.4}]} return set script ""
append script "load "[file join $dir libtkdnd10.dll]" tkdnd" package ifneeded tkdnd 1.0 $script
if {[catch {package require Tcl 8.4}]} return set scropt ""
append scropt "load "[file join $dir tkpathgdi01.dll]" tkpath" package ifneeded tkpath 0.1 $scropt
if {[catch {package require Tcl 8.4}]} return set scrupt ""
if {![info exists ::env(TREECTRL_LIBRARY)] && [file exists [file join $dir treectrl.tcl]]} { append scrupt "set ::treectrl_library "$dir"\n" } append scrupt "load "[file join $dir treectrl21.dll]" treectrl" package ifneeded treectrl 2.1.1 $scrupt
package ifneeded Tkzinc 3.3.2 [list load [file join $dir Tkzinc332.dll]]
On Jun 17, 2007, at 1:07 AM, Patco wrote:
Hello,
Hans-Christoph Steiner a écrit :
Submit a patch to pkgIndex.tcl and the files that you need to put
in lib/tk8.4. Or maybe make a wiki page about it on
puredata.org. Putting a patch in the patch tracker is the best
way to insure this gets included.I've never made a patch so it has not been easy to proceed, after
some research about how to make a patch for the 'Patch tracker',
I've added CVROOT to user variable environment set it to: :pserver:anonymous@pure-data.cvs.sourceforge.net:/cvsroot/pure-data and tried: ~/pd/lib/tk8.4> cvs diff -up pkgIndex.tcl > pkgindex.tcl.patch for building the patch but the file is not in cvs repository, not
even the pd/lib dir is there in fact. Adding a wiki page to puredata.info would have been another
solution, but I do not have sufficient privileges to make one.
You don't need to use cvs to make a patch. You can just use diff.
Keep an old copy of the file, then make your edits, then run this:
diff -uw tclIndex.tcl.old tclIndex.tcl > tclIndex.tcl_for_ix_guis.patch
Then just add tclIndex.tcl_for_ix_guis.patch to the patch tracker
will all relevant info, like what you've been posting on the list.
.hc
The pkgIndex.tcl is attached The win32 dll too. Patko.
proc LoadBLT { version dir } {
set prefix "" set suffix [info sharedlibextension] regsub {\.} $version {} version_no_dots # Determine whether to load the full BLT library or # the "lite" tcl-only version. if { [info commands tk] == "tk" } { set name ${prefix}BLT${version_no_dots}${suffix} } else { set name ${prefix}BLTlite${version_no_dots}${suffix} } global tcl_platform
set library [file join $dir $name] load $library BLT }
set version "2.4"
package ifneeded BLT $version [list LoadBLT $version $dir] # End of package index file
package ifneeded snack 2.2 "[list load [file join $dir
libsnack.dll]];[list source [file join $dir snack.tcl]]"package ifneeded sound 2.2 [list load [file join $dir libsound.dll]]
package ifneeded snacksphere 1.2 [list load [file join $dir
libsnacksphere.dll]]package ifneeded snackogg 1.3 [list load [file join $dir
libsnackogg.dll]]package ifneeded Tkzinc 3.3.2 [list load [file join $dir
Tkzinc332.dll]] package ifneeded zincText 1.0 [list source [file join $dir
zincText.tcl]] package ifneeded zincLogo 1.0 [list source [file join $dir
zincLogo.tcl]] package ifneeded zincGraphics 1.0 [list source [file join $dir
zincGraphics.tcl]]if {[catch {package require Tcl 8.2}]} return package ifneeded Tktable 2.7 "package require Tk 8.2; [list load
[file join $dir Tktable.dll] Tktable]"if {[catch {package require Tcl 8.4}]} return set script "" if {![info exists ::env(TREECTRL_LIBRARY)] && [file exists [file join $dir treectrl.tcl]]} { append script "set ::treectrl_library "$dir"\n" } append tree "load "[file join $dir treectrl21.dll]" treectrl" package ifneeded treectrl 2.1 $tree
if {[catch {package require Tcl 8.4}]} return set script ""
append script "load "[file join $dir libtkdnd10.dll]" tkdnd" package ifneeded tkdnd 1.0 $script
if {[catch {package require Tcl 8.4}]} return set script ""
append script "load "[file join $dir tkpathgdi01.dll]" tkpath" package ifneeded tkpath 0.1 $script
if {![package vsatisfies [package provide Tcl] 8.4]} {return} if {[package vsatisfies [package provide Tcl] 8.5] || [package vsatisfies [info patchlevel] 8.4.6]} { package ifneeded tile 0.7.2
"namespace eval tile {variable library "$dir"};
load "[file join $dir tile072t.dll]"" }if {[catch {package require Tcl 8.2}]} return package ifneeded Tktable 2.7 "package require Tk 8.2; [list load
[file join $dir Tktable.dll] Tktable]"if {![package vsatisfies [package provide Tcl] 8.4]} {return} if {[package vsatisfies [package provide Tcl] 8.5] || [package vsatisfies [info patchlevel] 8.4.6]} { package ifneeded tile 0.7.2
"namespace eval tile {variable library "$dir"};
load "[file join $dir tile072t.dll]""[The attachment pd-packages-nt-tk8.4.rar has been manually removed]
The arc of history bends towards justice. - Dr. Martin Luther
King, Jr.