Bugs item #3525064, was opened at 2012-05-09 03:25 Message generated for change (Tracker Item Submitted) made by nobody You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=478070&aid=3525064...
Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: pd-extended Group: v0.43 Status: Open Resolution: None Priority: 5 Private: No Submitted By: Nobody/Anonymous (nobody) Assigned to: Hans-Christoph Steiner (eighthave) Summary: win7 / x64 plugin path issue : underlying tcl bug
Initial Comment: PD 0.43.1 extended on Win7 x64.
By default, when PD starts I get the following error reported in the main window
(Tcl) UNHANDLED ERROR: couldn't read directory "C:/Users/sxa/Application Data/*-plugin": permission denied while executing "glob -directory $dir -nocomplain -types {f} -- *-plugin/*-plugin.tcl *-plugin.tcl" (procedure "load_startup_plugins" line 7) invoked from within "load_startup_plugins" (procedure "pdtk_pd_startup" line 20) invoked from within "pdtk_pd_startup 0 43 1 {extended-20120423} { {"standard (MMIO)" 3} {"ASIO (via portaudio)" 4} } {} {DejaVu Sans Mono} normal" ("uplevel" body line 53) invoked from within "uplevel #0 $cmds_from_pd"Using C:/Program Files (x86)/pd/startup as startup.
It seemed to me that PD shouldnt be looking for plugins in
C:/Users/sxa/Application Data/ it should be looking for them in C:/Users/sxa/Application Data/Pd
Because Im on Win7 C:/Users/sxa/Application Data/Pd maps to C:\Users\sean\AppData\Roaming\Pd but Ive made sure that exists, so that's not the issue.
The relevant section of code starts at line 674 of pd-gui.tcl
proc load_startup_plugins {} { foreach pathdir [concat $::sys_searchpath $::sys_staticpath] { set dir [file normalize $pathdir] if { ! [file isdirectory $dir]} {continue} foreach filename [glob -directory $dir -nocomplain -types {f} -- \ *-plugin/*-plugin.tcl *-plugin.tcl] { set ::current_plugin_loadpath [file dirname $filename] load_plugin_script $filename } } }
Adding some debug info
proc load_startup_plugins {} { foreach pathdir [concat $::sys_searchpath $::sys_staticpath] { set dir [file normalize $pathdir] if { ! [file isdirectory $dir]} {continue} foreach filename [glob -directory $dir -nocomplain -types {f} -- \ *-plugin/*-plugin.tcl *-plugin.tcl] { set ::current_plugin_loadpath [file dirname $filename] load_plugin_script $filename } } }
Printing debug information confirmed that
set dir [file normalize $pathdir]
is stripping the lowest subdirectory [PD] off the path.
This appears to be triggered by a tcl bug in normalize which occurs with paths/permissions under win x64;
http://sourceforge.net/tracker/index.php?func=detail&aid=3463315&gro...
----------------------------------------------------------------------
You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=478070&aid=3525064...