- Reestructuración de ficheros y directorios general
- merge v0.01 --> Añadido fileselector - Añadidas fuentes de Gem y Pure Data - pix2jpg incluído en Gem. Archivos de construcción de Gem modificados. - Añadido fichero ompiling.txt con instrucciones de compilación
This commit is contained in:
parent
c9adfd020b
commit
e85d191b46
3100 changed files with 775434 additions and 3073 deletions
111
pd-0.44-2/tcl/wheredoesthisgo.tcl
Normal file
111
pd-0.44-2/tcl/wheredoesthisgo.tcl
Normal file
|
@ -0,0 +1,111 @@
|
|||
|
||||
package provide wheredoesthisgo 0.1
|
||||
|
||||
# a place to temporarily store things until they find a home or go away
|
||||
|
||||
proc open_file {filename} {
|
||||
set directory [file normalize [file dirname $filename]]
|
||||
set basename [file tail $filename]
|
||||
if {
|
||||
[file exists $filename]
|
||||
&& [regexp -nocase -- "\.(pd|pat|mxt)$" $filename]
|
||||
} then {
|
||||
::pdtk_canvas::started_loading_file [format "%s/%s" $basename $filename]
|
||||
pdsend "pd open [enquote_path $basename] [enquote_path $directory]"
|
||||
# now this is done in pd_guiprefs
|
||||
::pd_guiprefs::update_recentfiles $filename
|
||||
} {
|
||||
::pdwindow::post [format [_ "Ignoring '%s': doesn't look like a Pd-file"] $filename]
|
||||
}
|
||||
}
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# procs for panels (openpanel, savepanel)
|
||||
|
||||
proc pdtk_openpanel {target localdir} {
|
||||
if {! [file isdirectory $localdir]} {
|
||||
if { ! [file isdirectory $::fileopendir]} {
|
||||
set ::fileopendir $::env(HOME)
|
||||
}
|
||||
set localdir $::fileopendir
|
||||
}
|
||||
set filename [tk_getOpenFile -initialdir $localdir]
|
||||
if {$filename ne ""} {
|
||||
set ::fileopendir [file dirname $filename]
|
||||
pdsend "$target callback [enquote_path $filename]"
|
||||
}
|
||||
}
|
||||
|
||||
proc pdtk_savepanel {target localdir} {
|
||||
if {! [file isdirectory $localdir]} {
|
||||
if { ! [file isdirectory $::filenewdir]} {
|
||||
set ::filenewdir $::env(HOME)
|
||||
}
|
||||
set localdir $::filenewdir
|
||||
}
|
||||
set filename [tk_getSaveFile -initialdir $localdir]
|
||||
if {$filename ne ""} {
|
||||
pdsend "$target callback [enquote_path $filename]"
|
||||
}
|
||||
}
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# window info (name, path, parents, children, etc.)
|
||||
|
||||
proc lookup_windowname {mytoplevel} {
|
||||
set window [array get ::windowname $mytoplevel]
|
||||
if { $window ne ""} {
|
||||
return [lindex $window 1]
|
||||
} else {
|
||||
return ERROR
|
||||
}
|
||||
}
|
||||
|
||||
proc tkcanvas_name {mytoplevel} {
|
||||
return "$mytoplevel.c"
|
||||
}
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# quoting functions
|
||||
|
||||
# enquote a string for find, path, and startup dialog panels, to be decoded by
|
||||
# sys_decodedialog()
|
||||
proc pdtk_encodedialog {x} {
|
||||
concat +[string map {" " "+_" "$" "+d" ";" "+s" "," "+c" "+" "++"} $x]
|
||||
}
|
||||
|
||||
# encode a list with pdtk_encodedialog
|
||||
proc pdtk_encode { listdata } {
|
||||
set outlist {}
|
||||
foreach this_path $listdata {
|
||||
if {0==[string match "" $this_path]} {
|
||||
lappend outlist [pdtk_encodedialog $this_path]
|
||||
}
|
||||
}
|
||||
return $outlist
|
||||
}
|
||||
|
||||
# TODO enquote a filename to send it to pd, " isn't handled properly tho...
|
||||
proc enquote_path {message} {
|
||||
string map {"," "\\," ";" "\\;" " " "\\ "} $message
|
||||
}
|
||||
|
||||
#enquote a string to send it to Pd. Blow off semi and comma; alias spaces
|
||||
#we also blow off "{", "}", "\" because they'll just cause bad trouble later.
|
||||
proc unspace_text {x} {
|
||||
set y [string map {" " "_" ";" "" "," "" "{" "" "}" "" "\\" ""} $x]
|
||||
if {$y eq ""} {set y "empty"}
|
||||
concat $y
|
||||
}
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# watchdog functions
|
||||
|
||||
proc pdtk_watchdog {} {
|
||||
pdsend "pd watchdog"
|
||||
after 2000 {pdtk_watchdog}
|
||||
}
|
||||
|
||||
proc pdtk_ping {} {
|
||||
pdsend "pd ping"
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue