Howdy all,
One important point for 0.49 would be to finish off the cross platform font support started in 0.48. The last bit involves loading the included font on Windows and I wrote a tiny Tcl C extension for this which does not require any external extensions. We simply need to integrate it into the Windows package and load it before loading the fonts. The easiest solution is to add a pre-built pdfontloader to the msw/pdprototype.tgz bin directory. Also, the notes in font/README.tcl could be updated to match.
The code and info on how to make it work are all here: https://github.com/pure-data/pdfontloader https://github.com/pure-data/pdfontloader
I don't currently have a Windows install, so maybe Christof can help with this? *hint hint*
We could integrate this small codebase into the msw directory and include it in the build process as well, but that could also be left for later.
-------- Dan Wilcox @danomatika http://twitter.com/danomatika danomatika.com http://danomatika.com/ robotcowboy.com http://robotcowboy.com/
Hi Dan, I'll have a look right now.
can you do me favour in turn and try the sound on OSX? Alex reported getting those error messages: https://github.com/pure-data/pure-data/issues/443
actually, you should only get these if the audio device is unresponsive for about more than 1 second. Pd will automatically try to reconnect it and if it fails, close it gracefully. (I made this fix to prevent Pd from going into an infinite loop). this works fine on Windows but maybe there's a problem on OSX... Christof
Gesendet: Dienstag, 11. September 2018 um 11:29 Uhr Von: "Dan Wilcox" danomatika@gmail.com An: "Miller Puckette" msp@ucsd.edu, "Christof Ressi" christof.ressi@gmx.at Cc: pd-dev pd-dev@lists.iem.at Betreff: pdfontloader for 0.49
Howdy all, One important point for 0.49 would be to finish off the cross platform font support started in 0.48. The last bit involves loading the included font on Windows and I wrote a tiny Tcl C extension for this which does not require any external extensions. We simply need to integrate it into the Windows package and load it before loading the fonts. The easiest solution is to add a pre-built pdfontloader to the msw/pdprototype.tgz bin directory. Also, the notes in font/README.tcl could be updated to match. The code and info on how to make it work are all here: https://github.com/pure-data/pdfontloader I don't currently have a Windows install, so maybe Christof can help with this? *hint hint* We could integrate this small codebase into the msw directory and include it in the build process as well, but that could also be left for later.
-------- Dan Wilcox @danomatika[http://twitter.com/danomatika] danomatika.com[http://danomatika.com] robotcowboy.com[http://robotcowboy.com]
Hi Dan, attached you find pdfontloader.dll, built against the libs in msw/. I put it inside msw/0.48.1/pd/bin together with a modified test.tcl pointing to the DejaVu font and successfully did "./wish85.exe test.tcl".
notes: building without PDDIR (tcl 8.6) was straightforward (but of course it's not compatible with tcl 8.5 in /msw). when building with PDDIR=.../msw/0.48.1/pd I got linker errors until I moved the msvcrt.dlls to somewhere else (because of conflicts with the mingw crts). so maybe it's a good idea to use the pre-built pdfontloader.
Christof
Gesendet: Dienstag, 11. September 2018 um 11:29 Uhr Von: "Dan Wilcox" danomatika@gmail.com An: "Miller Puckette" msp@ucsd.edu, "Christof Ressi" christof.ressi@gmx.at Cc: pd-dev pd-dev@lists.iem.at Betreff: pdfontloader for 0.49
Howdy all, One important point for 0.49 would be to finish off the cross platform font support started in 0.48. The last bit involves loading the included font on Windows and I wrote a tiny Tcl C extension for this which does not require any external extensions. We simply need to integrate it into the Windows package and load it before loading the fonts. The easiest solution is to add a pre-built pdfontloader to the msw/pdprototype.tgz bin directory. Also, the notes in font/README.tcl could be updated to match. The code and info on how to make it work are all here: https://github.com/pure-data/pdfontloader I don't currently have a Windows install, so maybe Christof can help with this? *hint hint* We could integrate this small codebase into the msw directory and include it in the build process as well, but that could also be left for later.
-------- Dan Wilcox @danomatika[http://twitter.com/danomatika] danomatika.com[http://danomatika.com] robotcowboy.com[http://robotcowboy.com]
as a follow up: since Pd is now compiled with MinGW on Windows, is there any reason for still shipping msvcr90.dll, msvcrt.dll and pthreadVC.dll? Pd runs just fine without them (tried on both developer and non-developer machines). IMO externals should manage their own dependencies. the only library I've encountered personally which depends on MSVC c runtimes (and MSVC pthreads) is Gem *). after all, MSVC has so many c runtime versions and I don't see why Pd should ship exactly those two if Pd itself doesn't depend on them. just something to think about.
Christof
*) Gem actually depends on msvcr71.dll which is not included in pdprototype.tgz and so it won't load without grabbing a copy from the Windows systems folder (apparently Gem doesn't look there for some reason...). Windows applications depending on msvcr*.dll are required to ship/install their own copy. https://en.wikipedia.org/wiki/Microsoft_Windows_library_files#Runtime_librar...
I don't know the answer to this - I always live in fear that some extern somewhere (which might have been compiled with a Microsoft compiler) is using them. Also, I internally compile Pd both with MinGW and with Microsoft, as a way of protecting myself from unconciously using non-standard "extensions" of either one or the other. I don't think anything Microsoft-compiled is actually shipping anymore, but I honestly haven't taken the time to check into it.
cheers Miller
On Wed, Sep 12, 2018 at 02:21:42PM +0200, Christof Ressi wrote: