From 8e4cc7c19066c82a091dc66bd8ce79bce16e830d Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 14 Aug 2008 17:41:19 +0000 Subject: merged in changes from the v0-40 pd-extended release branch svn path=/trunk/; revision=10244 --- doc/tutorials/visual/17.tracking.pd | 39 +++---- packages/Makefile | 70 +++++++++---- packages/darwin_app/DS_Store | Bin 12292 -> 12292 bytes packages/darwin_app/Makefile | 12 ++- packages/darwin_app/VolumeIcon.icns | Bin 47903 -> 47204 bytes packages/darwin_app/org.puredata.pd.default.plist | 23 ++--- packages/linux_make/Makefile | 5 +- packages/linux_make/debian/control | 4 +- packages/linux_make/default.pdsettings | 24 ++--- packages/win32_inno/pd-inno.iss.in | 28 ++--- packages/win32_inno/pd-settings.reg | 26 ++--- .../tcltk_core-8-4-branch_auto-builder.sh | 4 +- scripts/generate-pd-settings-files.sh | 115 ++++++++++++++------- scripts/insert_declare.py | 31 ++++++ scripts/update-developer-layout.sh | 2 +- 15 files changed, 248 insertions(+), 135 deletions(-) create mode 100755 scripts/insert_declare.py diff --git a/doc/tutorials/visual/17.tracking.pd b/doc/tutorials/visual/17.tracking.pd index c78e0bac..8fe413fe 100644 --- a/doc/tutorials/visual/17.tracking.pd +++ b/doc/tutorials/visual/17.tracking.pd @@ -1,4 +1,4 @@ -#N canvas 10 40 620 460 10; +#N canvas 65 37 620 460 10; #X declare -lib Gem; #X obj 8 10 cnv 15 400 40 empty empty tracking 20 12 0 24 -228992 -66577 0; @@ -8,7 +8,6 @@ #X msg 184 221 reset; #X obj 159 250 pix_background; #X msg 252 229 \$1 \$1 \$1; -#X floatatom 252 213 5 0 0 0 - - -; #X obj 103 316 pix_blob; #N canvas 10 40 620 460 cursor 0; #X obj 17 14 inlet; @@ -118,24 +117,28 @@ #X obj 227 89 pix_video; #X text 276 309 Show pix_background output; #X text 116 369 Show centroid/size; -#X text 294 210 Set noise threshold; +#X text 348 227 Set noise threshold; #X text 291 115 Render source video; +#X obj 255 207 hsl 128 15 0 1 0 1 empty empty empty -2 -8 0 10 -262144 +-1 -1 0 1; +#X floatatom 311 229 5 0 0 0 - - -; #X connect 3 0 5 0; #X connect 4 0 5 0; -#X connect 5 0 8 0; -#X connect 5 0 16 0; +#X connect 5 0 7 0; +#X connect 5 0 15 0; #X connect 6 0 5 1; -#X connect 7 0 6 0; -#X connect 8 1 9 0; -#X connect 8 2 9 1; -#X connect 8 3 9 2; +#X connect 7 1 8 0; +#X connect 7 2 8 1; +#X connect 7 3 8 2; +#X connect 9 0 10 0; #X connect 10 0 11 0; -#X connect 11 0 12 0; -#X connect 13 0 17 0; -#X connect 14 0 3 0; -#X connect 15 0 13 0; -#X connect 16 0 15 0; -#X connect 17 0 18 0; -#X connect 19 0 20 0; -#X connect 20 0 10 0; -#X connect 20 0 14 0; +#X connect 12 0 16 0; +#X connect 13 0 3 0; +#X connect 14 0 12 0; +#X connect 15 0 14 0; +#X connect 16 0 17 0; +#X connect 18 0 19 0; +#X connect 19 0 9 0; +#X connect 19 0 13 0; +#X connect 24 0 25 0; +#X connect 24 0 6 0; diff --git a/packages/Makefile b/packages/Makefile index e97b6cdd..ecc7c17f 100644 --- a/packages/Makefile +++ b/packages/Makefile @@ -479,15 +479,16 @@ $(gem_src)/src/Gem.pd_linux: $(gem_src)/src/configure # always run aclocal/autoconf until "configure" is deleted from CVS cd $(gem_src)/src && aclocal cd $(gem_src)/src && autoconf - cd $(gem_src)/src && ./configure --without-ffmpeg --with-pd=$(pd_src) \ - --disable-NV + cd $(gem_src)/src && ./configure \ + --without-ffmpeg --with-pd=$(pd_src) --disable-NV $(MAKE) -C $(gem_src)/src $(gem_src)/src/Gem.pd_darwin: # always run aclocal/autoconf until "configure" is deleted from CVS cd $(gem_src)/src && aclocal cd $(gem_src)/src && autoconf - cd $(gem_src)/src && ./configure --without-x --without-ImageMagick \ + cd $(gem_src)/src && ./configure \ + --without-x --without-ImageMagick \ --without-tiff --without-jpeg --without-mpeg --without-mpeg3 \ --without-ieee1394 --without-aviplay --without-avifile --without-ffmpeg \ --with-ftgl-includes=/sw/include --with-ftgl-libs=/sw/lib \ @@ -502,8 +503,10 @@ gem_install: gem $(helpdir) install -p $(gem_src)/abstractions/*-help.pd $(helpdir)/$(GEM_NAME) install -d $(objectsdir)/$(GEM_NAME) ifneq ($(OS_NAME),windows) - install -p $(gem_src)/src/Gem.$(EXTENSION) $(objectsdir) + install -p $(gem_src)/src/Gem.$(EXTENSION) $(objectsdir)/$(GEM_NAME)/ endif +# kludge to get helpfiles working since the HELPSYMBOL stuff changed + install -p $(gem_src)/help/*.* $(objectsdir)/$(GEM_NAME)/ install -p $(shell ls -1 $(gem_src)/abstractions/*.* | \ grep -v '\-help.pd') $(objectsdir)/$(GEM_NAME) install -d $(manualsdir)/$(GEM_NAME) @@ -609,14 +612,55 @@ ifeq ($(OS_NAME),linux) echo "

" >> $(README_FILE) endif ifeq ($(OS_NAME),darwin) - echo "

To install Pd, drag the $(PACKAGE_NAME).app into your /Applications folder or to the shortcut in the disk image. (You might need to put the old one in the trash before copying this one to /Applications)

" >> $(README_FILE) - echo "

By default, most of the included libraries are loaded at startup. To change this, set your own preferences in the Startup... Preferences pane usings the Save all settings button. If you want to start with a blank set of preferences, run this command in the Terminal.app:

touch ~/Library/Preferences/org.puredata.pd.plist (~ means your home folder)

The Preferences panels in Pd are currently buggy, so you might have better luck with the Apple utility, Property List Editor, which is freely available as part of XCode or the Server Tools.

" >> $(README_FILE) + echo "

To install Pd, drag the $(PD_APP_NAME).app into your /Applications folder or to the shortcut in the disk image. (You might need to put the old one in the trash before copying this one to /Applications)

" >> $(README_FILE) + echo "

By default, most of the included libraries are loaded at startup. To change this, set your own preferences in the Startup... Preferences pane usings the Save all settings button. If you want to start with a blank set of preferences, run this command in the Terminal.app:

touch ~/Library/Preferences/org.puredata.pd.plist (~ means your home folder)

The Preferences panels in Pd are currently buggy, so you might have better luck with the Apple utilities: defaults read org.puredata.pd, or, Property List Editor, which is freely available as part of XCode or the Server Tools.

" >> $(README_FILE) + echo "If you want to use PDP on Mac OS X 10.4/Tiger or 10.3/Panther, you will need to install X11 (X11 comes installed with 10.5/Leopard). It comes on the install CD/DVD that your computer came with. For more detail, see How to install X11 in OS X or How do I install Pd on MacOS X?." >> $(README_FILE) endif ifeq ($(OS_NAME),windows) echo "

To install, run the installer.

" >> $(README_FILE) echo "

To make sure that all of the included libraries are loaded when Pd runs, " >> $(README_FILE) echo "double-click C:\Program Files\pd\pd-settings.reg to import the settings to the registry. WARNING: this will overwrite any existing Pd preferences!

" >> $(README_FILE) endif + echo "

License

" >> $(README_FILE) + echo "

" >> $(README_FILE) + echo 'This package is released under the GNU GPL. The Pd core and some other included code is originally available with a BSD license from the Pd CVS on SourceForge.' >> $(README_FILE) + echo "

" >> $(README_FILE) + echo "

Installing Externals, Objects, and Help files

" >> $(README_FILE) + echo "

" >> $(README_FILE) + echo "If you would like to install other externals, objects, help files, etc. there are special folders that Pd-extended uses." >> $(README_FILE) + echo "

" >> $(README_FILE) + echo "
User-specific
" >> $(README_FILE) +ifeq ($(OS_NAME),darwin) + echo "
~/Library/Pd
" >> $(README_FILE) +endif +ifeq ($(OS_NAME),linux) + echo "
~/pd/
" >> $(README_FILE) +endif +ifeq ($(OS_NAME),windows) + echo "
%UserProfile%\Application Data\Pd
" >> $(README_FILE) +endif + echo "
Global
" >> $(README_FILE) +ifeq ($(OS_NAME),darwin) + echo "
/Library/Pd
" >> $(README_FILE) +endif +ifeq ($(OS_NAME),linux) + echo "
/usr/share/pd
" >> $(README_FILE) +endif +ifeq ($(OS_NAME),windows) + echo "
%ProgramFiles%\Common Files\Pd
" >> $(README_FILE) +endif + echo "
" >> $(README_FILE) + echo "

" >> $(README_FILE) + echo "

Patented Algorithms

" >> $(README_FILE) + echo "

" >> $(README_FILE) + echo "This package may contain software that is covered by patents in certain countries, like the U.S. and Germany. In order to use this software you must have the proper license. Below is a list of the known software packages that are covered by patents in some countries:" >> $(README_FILE) + echo "

" >> $(README_FILE) + echo "" >> $(README_FILE) + echo '

Please consider trying to get rid of software patents in your country: http://www.nosoftwarepatents.com

' >> $(README_FILE) echo "

Pure Data CVS Developers

" >> $(README_FILE) # this may seem whack, but it generates the list of developers from the SourceForge site: curl 'http://sourceforge.net/project/memberlist.php?group_id=55736' | grep -A2 -e '' | sed 's|\(href="\)|target="w" \1http://sourceforge.net|' >> $(README_FILE) @@ -624,10 +668,6 @@ endif echo "

" >> $(README_FILE) echo "Many others not listed have contributed their time and effort, this is just a list of the current developers in the SourceForge project. But really, every Pd user is a developer and is encouraged to contribute to the CVS repository." >> $(README_FILE) echo "

" >> $(README_FILE) - echo "

License

" >> $(README_FILE) - echo "

" >> $(README_FILE) - echo 'This package is released under the GNU GPL. The Pd core and some other included code is originally available with a BSD license from the Pd CVS on SourceForge.' >> $(README_FILE) - echo "

" >> $(README_FILE) echo "

Included Versions

" >> $(README_FILE) echo "

These externals are all included from the Pd CVS repository:

" >> $(README_FILE) echo "" >> $(README_FILE) - echo "

Patented Algorithms

" >> $(README_FILE) - echo "

" >> $(README_FILE) - echo "This package may contain software that is covered by patents in certain countries, like the U.S. and Germany. In order to use this software you must have the proper license. Below is a list of the known software packages that are covered by patents in some countries:" >> $(README_FILE) - echo "

" >> $(README_FILE) - echo "" >> $(README_FILE) - echo '

Please consider trying to get rid of software patents in your country: http://www.nosoftwarepatents.com

' >> $(README_FILE) echo "(this package was built on `date`)
" >> $(README_FILE) echo "" >> $(README_FILE) diff --git a/packages/darwin_app/DS_Store b/packages/darwin_app/DS_Store index 120ca65c..4b3f378c 100644 Binary files a/packages/darwin_app/DS_Store and b/packages/darwin_app/DS_Store differ diff --git a/packages/darwin_app/Makefile b/packages/darwin_app/Makefile index 161d5ef0..568e7422 100644 --- a/packages/darwin_app/Makefile +++ b/packages/darwin_app/Makefile @@ -163,7 +163,7 @@ Info.plist: Info.plist.in sed 's/CFBUNDLESHORTVERSIONSTRING/$(PD_MAJOR_VERSION).$(PD_MINOR_VERSION).$(PD_BUGFIX_VERSION)/' | \ sed 's/CFBUNDLEVERSION/$(CFBUNDLEVERSION_DATE)/' > \ Info.plist - + spotlight_importer_install: cd spotlight_importer && xcodebuild install -d -m0755 "$(PD_APP_CONTENTS)/Library/Spotlight" @@ -175,14 +175,20 @@ rez_install: cd $(bindir) && /Developer/Tools/Rez -t APPL mac.r -o pd -# switch Linux-only pdp_v4l to Mac pdp_ieee1394 +# switch Linux-only pdp_v4l to Mac-only pdp_ieee1394 pdp_help_hack: sed -i.bak 's|pdp_v4l|pdp_ieee1394|' $(helpdir)/pdp*-help.pd rm -f -- $(helpdir)/pdp*-help.pd.bak + sed -i.bak 's|pdp_v4l|pdp_ieee1394|' $(helpdir)/pdp/*.pd + rm -f -- $(helpdir)/pdp/*.pd + sed -i.bak 's|pdp_v4l|pdp_ieee1394|' $(helpdir)/pidip/*.pd + rm -f -- $(helpdir)/pidip/*.pd sed -i.bak 's|pdp_v4l|pdp_ieee1394|' $(examplesdir)/pdp/*.pd rm -f -- $(examplesdir)/pdp/*.pd.bak sed -i.bak 's|pdp_v4l|pdp_ieee1394|' $(examplesdir)/pidip/*.pd rm -f -- $(examplesdir)/pidip/*.pd.bak + sed -i.bak 's|pdp_v4l|pdp_ieee1394|' $(examplesdir)/3dp/*.pd + rm -f -- $(examplesdir)/3dp/*.pd.bak darwin_app_embed_libs: # embed libquicktime plugins @@ -206,7 +212,7 @@ darwin_app_core: darwin_app_wrapper cd "$(PD_APP_CONTENTS)" && ln -s Resources/extra Plugins install -p -m0644 org.puredata.pd.default.plist "$(PD_APP_CONTENTS)/" # create directory to put Spotlight Importers into - + #------------------------------------------------------------------------------# diff --git a/packages/darwin_app/VolumeIcon.icns b/packages/darwin_app/VolumeIcon.icns index 82a295ec..4d094c0c 100644 Binary files a/packages/darwin_app/VolumeIcon.icns and b/packages/darwin_app/VolumeIcon.icns differ diff --git a/packages/darwin_app/org.puredata.pd.default.plist b/packages/darwin_app/org.puredata.pd.default.plist index b2f081e8..834dc095 100644 --- a/packages/darwin_app/org.puredata.pd.default.plist +++ b/packages/darwin_app/org.puredata.pd.default.plist @@ -5,7 +5,7 @@ defeatrt 0 flags - -helppath /Library/Pd + -helppath ~/Library/Pd -helppath /Library/Pd loadlib1 libdir loadlib2 @@ -67,25 +67,21 @@ loadlib30 ext13 loadlib31 - hardware - loadlib32 ggee - loadlib33 + loadlib32 iem_anything - loadlib34 + loadlib33 flib - loadlib35 + loadlib34 ekext - loadlib36 + loadlib35 flatspace - loadlib37 - deprecated - loadlib38 + loadlib36 pdp - loadlib39 + loadlib37 pidip nloadlib - 39 + 37 path1 ~/Library/Pd path2 @@ -109,5 +105,6 @@ npath 10 - + + diff --git a/packages/linux_make/Makefile b/packages/linux_make/Makefile index 6b4a2c51..a170f2d3 100755 --- a/packages/linux_make/Makefile +++ b/packages/linux_make/Makefile @@ -4,7 +4,8 @@ CWD := $(shell pwd) -DESTDIR = $(CWD)/build +# DESTDIR needs the trailing slash +DESTDIR = $(CWD)/build/ cvs_root_dir := $(shell cd $(CWD)/../.. && pwd) BUILDLAYOUT_DIR = $(cvs_root_dir)/packages @@ -23,7 +24,7 @@ endif TARGET_PLATFORM := $(shell uname -m) ifeq ($(TARGET_PLATFORM),i686) # Generic x86 (tune for Pentium III, since that's more common these days) -OPT_CFLAGS += -mcpu=i686 -march=i386 +OPT_CFLAGS += -mtune=i686 -march=i386 #OPT_CFLAGS += -march=pentium3 -msse -mfpmath=sse #OPT_CFLAGS += -march=pentium4 -msse -msse2 -mfpmath=sse endif diff --git a/packages/linux_make/debian/control b/packages/linux_make/debian/control index 6dc81594..d02855ca 100644 --- a/packages/linux_make/debian/control +++ b/packages/linux_make/debian/control @@ -1,5 +1,5 @@ Source: pd-extended -Version: 0.40.3cvs20080505-1 +Version: 0.40.3extended-1 Section: sound Priority: optional Maintainer: Hans-Christoph Steiner @@ -9,7 +9,7 @@ Depends: xterm | x-terminal-emulator, ttf-bitstream-vera, x-ttcidfont-conf, tcll Replaces: puredata, pd-externals, gem, pd-pdp, pd-zexy Conflicts: pd, pd-externals, gem, pd-pdp, pd-zexy Provides: pd -Recommends: liblame0, qjackctl, xdg-utils +Recommends: qjackctl, xdg-utils Suggests: xmms Description: Pure Data with patches and a large collection of externals Pd (aka Pure Data) is a real-time graphical programming environment for diff --git a/packages/linux_make/default.pdsettings b/packages/linux_make/default.pdsettings index 568e4619..5424e233 100644 --- a/packages/linux_make/default.pdsettings +++ b/packages/linux_make/default.pdsettings @@ -1,7 +1,7 @@ standardpath: 1 verbose: 0 defeatrt: 0 -flags: -helppath /usr/share/pd +flags: -helppath ~/pd -helppath /usr/share/pd loadlib1: libdir loadlib2: Gem loadlib3: cyclone @@ -32,17 +32,15 @@ loadlib27: freeverb loadlib28: hcs loadlib29: jmmmp loadlib30: ext13 -loadlib31: hardware -loadlib32: ggee -loadlib33: iem_anything -loadlib34: flib -loadlib35: ekext -loadlib36: flatspace -loadlib37: deprecated -loadlib38: pdp -loadlib39: pidip -nloadlib: 39 -path1: ~/pd -path2: /usr/share/pd +loadlib31: ggee +loadlib32: iem_anything +loadlib33: flib +loadlib34: ekext +loadlib35: flatspace +loadlib36: pdp +loadlib37: pidip +nloadlib: 37 +path1: ~/pd-externals +path2: /usr/local/lib/pd-externals path3: /var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType npath: 3 diff --git a/packages/win32_inno/pd-inno.iss.in b/packages/win32_inno/pd-inno.iss.in index 6fbc7fd4..4a41e4f0 100755 --- a/packages/win32_inno/pd-inno.iss.in +++ b/packages/win32_inno/pd-inno.iss.in @@ -65,7 +65,9 @@ Root: HKCR; SubKey: Pure.Data\shell\open\command; ValueType: string; ValueData: Root: HKCR; SubKey: .pd; ValueType: string; ValueData: Pure.Data; Flags: noerror uninsdeletekey; Tasks: fileassociations Root: HKCR; SubKey: .pd; ValueType: string; ValueName: Content Type; ValueData: text/plain; Flags: noerror uninsdeletekey; Tasks: fileassociations ; -; add pd-inno_registry after this comment: +; STARTHERE: add pd-inno_registry after this comment: + +Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: string; ValueName: flags; ValueData: -helppath %UserProfile%/applic~1/Pd -helppath %ProgramFiles%/common~1/pd; Tasks: libs; Flags: uninsdeletekey Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: string; ValueName: loadlib1; ValueData: libdir; Tasks: libs Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: string; ValueName: loadlib2; ValueData: Gem; Tasks: libs Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: string; ValueName: loadlib3; ValueData: cyclone; Tasks: libs @@ -96,14 +98,14 @@ Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: string; ValueName: loadlib27; ValueD Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: string; ValueName: loadlib28; ValueData: hcs; Tasks: libs Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: string; ValueName: loadlib29; ValueData: jmmmp; Tasks: libs Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: string; ValueName: loadlib30; ValueData: ext13; Tasks: libs -Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: string; ValueName: loadlib31; ValueData: hardware; Tasks: libs -Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: string; ValueName: loadlib32; ValueData: ggee; Tasks: libs -Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: string; ValueName: loadlib33; ValueData: iem_anything; Tasks: libs -Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: string; ValueName: loadlib34; ValueData: flib; Tasks: libs -Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: string; ValueName: loadlib35; ValueData: ekext; Tasks: libs -Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: string; ValueName: loadlib36; ValueData: flatspace; Tasks: libs -Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: string; ValueName: loadlib37; ValueData: deprecated; Tasks: libs -Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: string; ValueName: nloadlib; ValueData: 37; Tasks: libs; Flags: uninsdeletekey +Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: string; ValueName: loadlib31; ValueData: ggee; Tasks: libs +Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: string; ValueName: loadlib32; ValueData: iem_anything; Tasks: libs +Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: string; ValueName: loadlib33; ValueData: flib; Tasks: libs +Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: string; ValueName: loadlib34; ValueData: ekext; Tasks: libs +Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: string; ValueName: loadlib35; ValueData: flatspace; Tasks: libs +Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: string; ValueName: nloadlib; ValueData: 35; Tasks: libs; Flags: uninsdeletekey +Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: none; ValueName: loadlib36; Flags: deletevalue; Tasks: libs +Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: none; ValueName: loadlib37; Flags: deletevalue; Tasks: libs Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: none; ValueName: loadlib38; Flags: deletevalue; Tasks: libs Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: none; ValueName: loadlib39; Flags: deletevalue; Tasks: libs Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: none; ValueName: loadlib40; Flags: deletevalue; Tasks: libs @@ -167,10 +169,10 @@ Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: none; ValueName: loadlib97; Flags: d Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: none; ValueName: loadlib98; Flags: deletevalue; Tasks: libs Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: none; ValueName: loadlib99; Flags: deletevalue; Tasks: libs Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: none; ValueName: loadlib100; Flags: deletevalue; Tasks: libs -Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: string; ValueName: path1; ValueData: hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,00,2f,00,46,00,6f,00,6e,00,74,00,73,00,00,00; Tasks: libs; Flags: uninsdeletekey -Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: string; ValueName: npath; ValueData: 1; Tasks: libs; Flags: uninsdeletekey -Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: none; ValueName: path2; Flags: deletevalue; Tasks: libs -Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: none; ValueName: path3; Flags: deletevalue; Tasks: libs +Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: expandsz; ValueName: path1; ValueData: %USERPROFILE%/Application Data/Pd; Tasks: libs; Flags: uninsdeletekey +Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: expandsz; ValueName: path2; ValueData: %ProgramFiles%/Common Files/Pd; Tasks: libs; Flags: uninsdeletekey +Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: expandsz; ValueName: path3; ValueData: %SystemRoot%/Fonts; Tasks: libs; Flags: uninsdeletekey +Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: string; ValueName: npath; ValueData: 3; Tasks: libs; Flags: uninsdeletekey Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: none; ValueName: path4; Flags: deletevalue; Tasks: libs Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: none; ValueName: path5; Flags: deletevalue; Tasks: libs Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: none; ValueName: path6; Flags: deletevalue; Tasks: libs diff --git a/packages/win32_inno/pd-settings.reg b/packages/win32_inno/pd-settings.reg index ed72e272..bedb8540 100755 --- a/packages/win32_inno/pd-settings.reg +++ b/packages/win32_inno/pd-settings.reg @@ -1,6 +1,7 @@ Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Pd] +"flags"="-helppath %UserProfile%/applic~1/Pd -helppath %ProgramFiles%/common~1/pd" "loadlib1"="libdir" "loadlib2"="Gem" "loadlib3"="cyclone" @@ -31,15 +32,15 @@ Windows Registry Editor Version 5.00 "loadlib28"="hcs" "loadlib29"="jmmmp" "loadlib30"="ext13" -"loadlib31"="hardware" -"loadlib32"="ggee" -"loadlib33"="iem_anything" -"loadlib34"="flib" -"loadlib35"="ekext" -"loadlib36"="flatspace" -"loadlib37"="deprecated" -"nloadlib"=37 +"loadlib31"="ggee" +"loadlib32"="iem_anything" +"loadlib33"="flib" +"loadlib34"="ekext" +"loadlib35"="flatspace" +"nloadlib"=35 ; delete any previous loadlib flags +"loadlib36"=- +"loadlib37"=- "loadlib38"=- "loadlib39"=- "loadlib40"=- @@ -103,11 +104,11 @@ Windows Registry Editor Version 5.00 "loadlib98"=- "loadlib99"=- "loadlib100"=- -"path1"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,00,2f,00,46,00,6f,00,6e,00,74,00,73,00,00,00 -"npath"=1 +"path1"=hex(2):25,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,46,00,69,00,6c,00,65,00,73,00,25,00,2f,00,43,00,6f,00,6d,00,6d,00,6f,00,6e,00,20,00,46,00,69,00,6c,00,65,00,73,00,2f,00,50,00,64,00,00,00 +"path2"=hex(2):25,00,55,00,53,00,45,00,52,00,50,00,52,00,4f,00,46,00,49,00,4c,00,45,00,25,00,2f,00,41,00,70,00,70,00,6c,00,69,00,63,00,61,00,74,00,69,00,6f,00,6e,00,20,00,44,00,61,00,74,00,61,00,2f,00,50,00,64,00,00,00 +"path3"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,00,2f,00,46,00,6f,00,6e,00,74,00,73,00,00,00 +"npath"=3 ; delete all existing path flags -"path2"=- -"path3"=- "path4"=- "path5"=- "path6"=- @@ -205,3 +206,4 @@ Windows Registry Editor Version 5.00 "path98"=- "path99"=- "path100"=- +; delete all existing path flags diff --git a/scripts/auto-build/tcltk_core-8-4-branch_auto-builder.sh b/scripts/auto-build/tcltk_core-8-4-branch_auto-builder.sh index c0f0d572..64b3c158 100755 --- a/scripts/auto-build/tcltk_core-8-4-branch_auto-builder.sh +++ b/scripts/auto-build/tcltk_core-8-4-branch_auto-builder.sh @@ -28,8 +28,8 @@ case $SYSTEM in BUILD_DIR=macosx echo "Configuring to use $BUILD_DIR on Darwin/Mac OS X" export PATH=/bin:/sbin:/usr/bin:/usr/sbin - export CFLAGS="-arch ppc -arch ppc64 -arch i386 -arch x86_64 \ - -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4" +# export CFLAGS="-arch ppc -arch ppc64 -arch i386 -arch x86_64 \ +# -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4" make -C tcl/${BUILD_DIR} deploy make -C tk/${BUILD_DIR} deploy ;; diff --git a/scripts/generate-pd-settings-files.sh b/scripts/generate-pd-settings-files.sh index 6078716e..e7a744ca 100755 --- a/scripts/generate-pd-settings-files.sh +++ b/scripts/generate-pd-settings-files.sh @@ -1,11 +1,18 @@ #!/bin/sh -LIBS="libdir Gem cyclone zexy creb cxc iemlib list-abs mapping markex maxlib memento mjlib motex oscx pddp pdogg pixeltango pmpd rradical sigpack smlib toxy unauthorized vbap pan freeverb hcs jmmmp ext13 hardware ggee iem_anything flib ekext flatspace deprecated pdp pidip" +LIBS="libdir Gem cyclone zexy creb cxc iemlib list-abs mapping markex maxlib memento mjlib motex oscx pddp pdogg pixeltango pmpd rradical sigpack smlib toxy unauthorized vbap pan freeverb hcs jmmmp ext13 ggee iem_anything flib ekext flatspace pdp pidip" -GNULINUX_FONTPATH="~/pd /usr/share/pd /var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType" +GNULINUX_FONTPATH="~/pd-externals /usr/local/lib/pd-externals /var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType" MACOSX_FONTPATH="~/Library/Pd /Library/Pd /System/Library/Fonts /Library/Fonts ~/Library/Fonts /usr/X11R6/lib/X11/fonts/TTF /System/Library/Frameworks/JavaVM.framework/Versions/1.3.1/Home/lib/fonts /sw/lib/X11/fonts/msttf /sw/lib/X11/fonts/intl/TrueType /sw/lib/X11/fonts/applettf" -# TODO this needs to be changed to add to a user dir like %USERPROFILE% (like /Library/Pd) -WINDOWS_FONTPATH="hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,00,2f,00,46,00,6f,00,6e,00,74,00,73,00,00,00" +# these are set as hex(2) since the .reg format doesn't support REG_EXPAND_SZ. +# Inno Setup doesn't convert REG_SZ hex values to REG_EXPAND_SZ, so Pd can't +# read the values then. Therefore there is a separate set for InnoSetup to +# use to create REG_EXPAND_SZ VALUES +# path1 = %USERPROFILE%/Application Data/Pd +# path2 = %ProgramFiles%/Common Files/Pd +# path3 = %SystemRoot%/Fonts +WINDOWS_INNO_PATH="%USERPROFILE%/Application Data/Pd;%ProgramFiles%/Common Files/Pd;%SystemRoot%/Fonts" +WINDOWS_REG_PATH="hex(2):25,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,46,00,69,00,6c,00,65,00,73,00,25,00,2f,00,43,00,6f,00,6d,00,6d,00,6f,00,6e,00,20,00,46,00,69,00,6c,00,65,00,73,00,2f,00,50,00,64,00,00,00 hex(2):25,00,55,00,53,00,45,00,52,00,50,00,52,00,4f,00,46,00,49,00,4c,00,45,00,25,00,2f,00,41,00,70,00,70,00,6c,00,69,00,63,00,61,00,74,00,69,00,6f,00,6e,00,20,00,44,00,61,00,74,00,61,00,2f,00,50,00,64,00,00,00 hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,00,2f,00,46,00,6f,00,6e,00,74,00,73,00,00,00" SCRIPT_DIR=`echo $0 | sed 's|\(.*\)/.*$|\1|'` ROOT_DIR=${SCRIPT_DIR}/../packages @@ -13,12 +20,13 @@ ROOT_DIR=${SCRIPT_DIR}/../packages GNULINUX_FILE=${ROOT_DIR}/linux_make/default.pdsettings MACOSX_FILE=${ROOT_DIR}/darwin_app/org.puredata.pd.default.plist WINDOWS_FILE=${ROOT_DIR}/win32_inno/pd-settings.reg -WINDOWS_INNO_FILE=${ROOT_DIR}/win32_inno/pd-inno.registry.reg +WINDOWS_INNO_FILE=${ROOT_DIR}/win32_inno/pd-inno.iss.in +WINDOWS_INNO_REG_FILE=${ROOT_DIR}/win32_inno/pd-inno.registry.reg -GNULINUX_HEADER='standardpath: 1\nverbose: 0\ndefeatrt: 0\nflags: -helppath /usr/share/pd' +GNULINUX_HEADER='standardpath: 1\nverbose: 0\ndefeatrt: 0\nflags: -helppath ~/pd -helppath /usr/share/pd' -MACOSX_HEADER='\n\n\n\n\tdefeatrt\n\t0\n\tflags\n\t-helppath /Library/Pd' +MACOSX_HEADER='\n\n\n\n\tdefeatrt\n\t0\n\tflags\n\t-helppath ~/Library/Pd -helppath /Library/Pd' MACOSX_FOOTER='\n \n' @@ -30,12 +38,6 @@ WINDOWS_HEADER='Windows Registry Editor Version 5.00\n\n[HKEY_LOCAL_MACHINE\SOFT WINDOWS_INNO_HEADER='' -echo -e $GNULINUX_HEADER > $GNULINUX_FILE -echo -e $MACOSX_HEADER > $MACOSX_FILE -echo -e $WINDOWS_HEADER > $WINDOWS_FILE -echo -e $WINDOWS_INNO_HEADER > $WINDOWS_INNO_FILE - - # GNU/Linux -------------------------------------------------------------------# print_gnulinux () { @@ -45,6 +47,7 @@ print_gnulinux () print_gnulinux_fontpath () { i=0 + IFS=' ' for fontpath in $GNULINUX_FONTPATH; do ((++i)) echo "path${i}: ${fontpath}" >> $GNULINUX_FILE @@ -67,6 +70,7 @@ print_macosx () print_macosx_fontpath () { i=0 + IFS=' ' for fontpath in $MACOSX_FONTPATH; do ((++i)) echo -e "\tpath${i}" >> $MACOSX_FILE @@ -86,36 +90,67 @@ print_macosx_nloadlib () print_windows () { echo "\"loadlib$1\"=\"$2\"" >> $WINDOWS_FILE - echo "Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: string; ValueName: loadlib$1; ValueData: $2; Tasks: libs" >> $WINDOWS_INNO_FILE + echo "Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: string; ValueName: loadlib$1; ValueData: $2; Tasks: libs" >> $WINDOWS_INNO_REG_FILE } -print_windows_fontpath () +print_windows_delete () { - j=0 - for fontpath in $WINDOWS_FONTPATH; do - ((++j)) - echo "\"path${j}\"=${fontpath}" >> $WINDOWS_FILE - echo "Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: string; ValueName: path${j}; ValueData: ${fontpath}; Tasks: libs; Flags: uninsdeletekey" >> $WINDOWS_INNO_FILE - done - echo "\"npath\"=${j}" >> $WINDOWS_FILE - echo "Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: string; ValueName: npath; ValueData: ${j}; Tasks: libs; Flags: uninsdeletekey" >> $WINDOWS_INNO_FILE + echo "\"${1}${2}\"=-" >> $WINDOWS_FILE + echo "Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: none; ValueName: ${1}${2}; Flags: deletevalue; Tasks: libs" >> $WINDOWS_INNO_REG_FILE } -print_windows_delete () +print_windows_helppath () { - echo "\"${1}${2}\"=-" >> $WINDOWS_FILE - echo "Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: none; ValueName: ${1}${2}; Flags: deletevalue; Tasks: libs" >> $WINDOWS_INNO_FILE + echo "\"flags\"=\"-helppath %UserProfile%/applic~1/Pd -helppath %ProgramFiles%/common~1/pd\"" >> $WINDOWS_FILE + echo "Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: string; ValueName: flags; ValueData: -helppath %UserProfile%/applic~1/Pd -helppath %ProgramFiles%/common~1/pd; Tasks: libs; Flags: uninsdeletekey" >> $WINDOWS_INNO_REG_FILE +} + +print_windows_inno_path () +{ + j=0 + IFS=';' + for fontpath in $WINDOWS_INNO_PATH; do + ((++j)) + echo "Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: expandsz; ValueName: path${j}; ValueData: ${fontpath}; Tasks: libs; Flags: uninsdeletekey" >> $WINDOWS_INNO_REG_FILE + done + echo "Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: string; ValueName: npath; ValueData: ${j}; Tasks: libs; Flags: uninsdeletekey" >> $WINDOWS_INNO_REG_FILE +# print lines to delete existing path flags + echo "; delete all existing path flags" >> $WINDOWS_FILE + while [ $j -lt 100 ]; do + ((++j)) + echo "Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: none; ValueName: path${j}; Flags: deletevalue; Tasks: libs" >> $WINDOWS_INNO_REG_FILE + done +} + +print_windows_reg_path () +{ + j=0 + IFS=' ' + for fontpath in $WINDOWS_REG_PATH; do + ((++j)) + echo "\"path${j}\"=${fontpath}" >> $WINDOWS_FILE + done + echo "\"npath\"=${j}" >> $WINDOWS_FILE +# print lines to delete existing path flags + echo "; delete all existing path flags" >> $WINDOWS_FILE + while [ $j -lt 100 ]; do + ((++j)) + echo "\"path${j}\"=-" >> $WINDOWS_FILE + done } print_windows_nloadlib () { echo "\"nloadlib\"=${1}" >> $WINDOWS_FILE - echo "Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: string; ValueName: nloadlib; ValueData: ${1}; Tasks: libs; Flags: uninsdeletekey" >> $WINDOWS_INNO_FILE + echo "Root: HKLM; SubKey: SOFTWARE\Pd; ValueType: string; ValueName: nloadlib; ValueData: ${1}; Tasks: libs; Flags: uninsdeletekey" >> $WINDOWS_INNO_REG_FILE } #==============================================================================# echo "Running for GNU/Linux and Darwin:" +echo -e $GNULINUX_HEADER > $GNULINUX_FILE +echo -e $MACOSX_HEADER > $MACOSX_FILE i=0 +IFS=' ' for lib in $LIBS; do ((++i)) echo -n "$lib " @@ -129,7 +164,14 @@ print_macosx_nloadlib $i # run separately so some libs can be excluded on Windows echo "Running for Windows:" + +echo -e $WINDOWS_HEADER > $WINDOWS_FILE +echo -e $WINDOWS_INNO_HEADER > $WINDOWS_INNO_REG_FILE + +print_windows_helppath + i=0 +IFS=' ' for lib in $LIBS; do case "$lib" in pdp) echo -n "(ignoring $lib on Windows) " ;; @@ -151,15 +193,16 @@ while [ $i -lt 100 ]; do print_windows_delete loadlib $i done -print_windows_fontpath - -# print lines to delete existing path flags -i=1 -echo "; delete all existing path flags" >> $WINDOWS_FILE -while [ $i -lt 100 ]; do - ((++i)) - print_windows_delete path $i -done +print_windows_reg_path +print_windows_inno_path +# +TMPFILE=$WINDOWS_INNO_FILE.`date +%s` +head -`grep -n "STARTHERE" $WINDOWS_INNO_FILE | cut -d ':' -f 1` $WINDOWS_INNO_FILE > $TMPFILE +cat $WINDOWS_INNO_REG_FILE >> $TMPFILE +FILE_LENGTH=`wc -l $WINDOWS_INNO_FILE | cut -d ' ' -f 1` +END_LENGTH=`grep -n "ENDHERE" $WINDOWS_INNO_FILE | cut -d ':' -f 1` +tail -`expr $FILE_LENGTH - $END_LENGTH` $WINDOWS_INNO_FILE >> $TMPFILE +mv -f -- $TMPFILE $WINDOWS_INNO_FILE # the .pd-settings file needs an end tag for the path statements print_gnulinux_fontpath diff --git a/scripts/insert_declare.py b/scripts/insert_declare.py new file mode 100755 index 00000000..025d0a23 --- /dev/null +++ b/scripts/insert_declare.py @@ -0,0 +1,31 @@ +#!/usr/bin/python + +import string +import os,sys +import re +import StringIO + +library = os.getcwd().split('/')[-1] + +print "current library: " + library + "\n" + +for root, dirs, files in os.walk('.'): + dirs.remove('.svn') +# print "root: " + root + for name in files: + m = re.search(".*-help\.pd$", name) + if m: + helppatch = os.path.join(root, m.string) + fd = open(helppatch, 'r') + contents = fd.readlines() + fd.close() + firstline = contents[0] + contents.remove(firstline) +# fd = open(helppatch + ".new", 'w') + print helppatch + fd = open(helppatch, 'w') + fd.write(firstline) + fd.write("#X declare -lib " + library.lower() + ";\n") + fd.writelines(contents) + fd.close() + diff --git a/scripts/update-developer-layout.sh b/scripts/update-developer-layout.sh index 6364ad10..e9e3d7e5 100755 --- a/scripts/update-developer-layout.sh +++ b/scripts/update-developer-layout.sh @@ -16,7 +16,7 @@ cd $cvs_root_dir echo "Running svn update:" svn update echo "Running cvs update:" -for section in Gem GemLibs; do +for section in Gem; do echo "$section" cd $section cvs up -Pd -- cgit v1.2.1