aboutsummaryrefslogtreecommitdiff
path: root/pd
diff options
context:
space:
mode:
authorMiller Puckette <millerpuckette@users.sourceforge.net>2008-01-24 00:39:51 +0000
committerMiller Puckette <millerpuckette@users.sourceforge.net>2008-01-24 00:39:51 +0000
commit99a63a7a0c96b302c25079105b4ac3f77bd4b141 (patch)
tree501810cf5c1c6f1f065c3bcbc7fc22075a047994 /pd
parentcde1ee8fa147dfd15dc5c5b43093cd8c8a402b74 (diff)
release 0.41-0
svn path=/trunk/; revision=9157
Diffstat (limited to 'pd')
-rw-r--r--pd/doc/1.manual/x1.htm26
-rw-r--r--pd/doc/1.manual/x3.htm167
-rw-r--r--pd/doc/1.manual/x5.htm50
-rw-r--r--pd/portaudio/include/pa_asio.h2
-rw-r--r--pd/portaudio/include/pa_linux_alsa.h2
-rw-r--r--pd/portaudio/include/pa_win_wmme.h2
-rw-r--r--pd/portaudio/include/portaudio.h2
-rw-r--r--pd/portaudio/src/common/pa_allocation.c2
-rw-r--r--pd/portaudio/src/common/pa_allocation.h2
-rw-r--r--pd/portaudio/src/common/pa_converters.c2
-rw-r--r--pd/portaudio/src/common/pa_converters.h2
-rw-r--r--pd/portaudio/src/common/pa_cpuload.c2
-rw-r--r--pd/portaudio/src/common/pa_cpuload.h2
-rw-r--r--pd/portaudio/src/common/pa_debugprint.c2
-rw-r--r--pd/portaudio/src/common/pa_dither.c2
-rw-r--r--pd/portaudio/src/common/pa_dither.h2
-rw-r--r--pd/portaudio/src/common/pa_endianness.h2
-rw-r--r--pd/portaudio/src/common/pa_front.c2
-rw-r--r--pd/portaudio/src/common/pa_hostapi.h2
-rw-r--r--pd/portaudio/src/common/pa_process.c2
-rw-r--r--pd/portaudio/src/common/pa_process.h2
-rw-r--r--pd/portaudio/src/common/pa_ringbuffer.c2
-rw-r--r--pd/portaudio/src/common/pa_ringbuffer.h2
-rw-r--r--pd/portaudio/src/common/pa_skeleton.c2
-rw-r--r--pd/portaudio/src/common/pa_stream.c2
-rw-r--r--pd/portaudio/src/common/pa_stream.h2
-rw-r--r--pd/portaudio/src/common/pa_trace.c2
-rw-r--r--pd/portaudio/src/common/pa_trace.h2
-rw-r--r--pd/portaudio/src/common/pa_util.h2
-rw-r--r--pd/portaudio/src/hostapi/alsa/pa_linux_alsa.c2
-rw-r--r--pd/portaudio/src/hostapi/asio/pa_asio.cpp2
-rw-r--r--pd/portaudio/src/hostapi/coreaudio/pa_mac_core_old.c2
-rw-r--r--pd/portaudio/src/hostapi/jack/pa_jack.c2
-rw-r--r--pd/portaudio/src/hostapi/oss/pa_unix_oss.c2
-rw-r--r--pd/portaudio/src/hostapi/wmme/pa_win_wmme.c2
-rw-r--r--pd/portaudio/src/os/mac_osx/pa_mac_hostapis.c2
-rw-r--r--pd/portaudio/src/os/unix/pa_unix_hostapis.c2
-rw-r--r--pd/portaudio/src/os/unix/pa_unix_util.c2
-rw-r--r--pd/portaudio/src/os/unix/pa_unix_util.h2
-rw-r--r--pd/portaudio/src/os/win/pa_win_hostapis.c2
-rw-r--r--pd/portaudio/src/os/win/pa_win_util.c2
-rw-r--r--pd/src/m_pd.h2
-rw-r--r--pd/src/notes.txt9
-rw-r--r--pd/src/s_loader.c37
-rw-r--r--pd/src/s_main.c31
45 files changed, 165 insertions, 233 deletions
diff --git a/pd/doc/1.manual/x1.htm b/pd/doc/1.manual/x1.htm
index a9d8caaf..f1f884d1 100644
--- a/pd/doc/1.manual/x1.htm
+++ b/pd/doc/1.manual/x1.htm
@@ -102,21 +102,19 @@ it from: <A href="http://iem.kug.ac.at/GEM">http://iem.kug.ac.at/GEM</A> .
<P> At least three video processing packages are available for Pd. The oldest
is Framestein, by Juha Vehvilainen. This runs on Windows only: <A
href="http://framestein.org"> http://framestein.org </A>.
-
-<P> The newer <A> href="http://zwizwa.fartit.com/pd/pdp/overview.html"> PDP
-<A> library, by Tom Schouten, and its extension <A
+The newer PDP
+library, by Tom Schouten, and its extension <A
href="http://ydegoyon.free.fr/pidip.html"> PiDiP </A> by Yves Degoyon, run well
-in linux and has been ported to Windows and MacOS. Video is extremely fast in
-PDP, but is currently limited to 240x320 resolution.
-
-<P> Mathieu Bouchard has written <A href=http://artengine.ca/gridflow/>
+in linux and have been ported to Windows and MacOS.
+Mathieu Bouchard has written <A href=http://artengine.ca/gridflow/>
Gridflow </A>, which runs on linux and MacOSX. The mathematical operators are
more powerful than in PDP, and the design makes smarter use of cache behavior
in modern CPUs.
-All this and much more is described in detail at the
-<A href="http://puredata.info/community/projects/convention04/">
-first Pd Convention </A>.
+<P> the Pd extended package, maintained by Hans-Christof Steiner, can be
+downloaded from the <A href=http://sourceforge.net/projects/pure-data/> Pd's
+sourceforge site </A>. All this and much more is described in detail on <A
+href="http://puredata.info/"> http://puredata.info/</A>.
<P>
@@ -125,14 +123,8 @@ Here are some more Pd links (in the order I found them): <BR>
<a href="http://www.crca.ucsd.edu/~msp"> Miller Puckette's home page</a><br>
<a href="http://gige.epy.co.at/"> Guenter Geiger's home page</a><br>
<a href="http://www.danks.org/mark"> Mark Dank's home page</a><br>
-<a href="http://wonk.epy.co.at">Pd page on Wonk (Klaus)</a><br>
<a href="http://iem.kug.ac.at/~zmoelnig/index.html">
Johannes M Zmoelnig</a><br>
-<a href="http://iem.kug.ac.at/~math/pd/"> Norbert Math's Pd page</a> <br>
-<a href="http://iem.kug.ac.at/pdwiki/">
-Nicolas Lhommet's WikiWikiWeb page for Pd</a><br>
-<a href="http://iem.kug.ac.at/pdb/"> Norbert's searchable list of all known
-Pd objects</a><br>
<a href="http://suita.chopin.edu.pl/~czaja/miXed/externs/xeq.html">
Krzysztof Czaja's MIDI file support </a><br>
<a href="http://www.davesabine.com/media/puredata.asp?action=pddp">
@@ -142,7 +134,7 @@ new, highly detailed help windows</a><br>
Fernando Pablo Lopez's augmented Pd RPMs from Planet CCRMA</a><br>
<a href="http://suita.chopin.edu.pl/~czaja/miXed/externs/cyclone.html">
Cyclone - Krzysztof Czaja's Max compatibility library</a><br>
-On-line book project:
+On-line book:
<A HREF="http://www.crca.ucsd.edu/~msp/techniques.htm"
<I> Theory and Techniques of Electronic Music </I> <br>
diff --git a/pd/doc/1.manual/x3.htm b/pd/doc/1.manual/x3.htm
index 9bc0f537..833d6ac7 100644
--- a/pd/doc/1.manual/x3.htm
+++ b/pd/doc/1.manual/x3.htm
@@ -17,12 +17,11 @@
<BR><BR>
</P>
-<P>Pd runs under Irix, Microsoft Windows, Linux, and MacOS 10.2 (Jaguar).
-How to get Pd up and running depends on your operating system,
-but the overall strategy is the same.
-You must first get and install it, and
-then untangle whatever problems arise in handling audio and MIDI input
-and output, and finally get Pd to meet its real-time obligations reliably.
+<P>Pd runs under Microsoft Windows, Linux, and MacOS (10.2 or later). How to
+get Pd up and running depends on your operating system, but the overall strategy
+is the same. You must first get and install it, and then untangle whatever
+problems arise in handling audio and MIDI input and output, and finally get Pd
+to meet its real-time obligations reliably.
<P> Installation instructions are platform-specfic; the following four
sections
@@ -145,9 +144,8 @@ port, 17-32 the second one, and so on. The midiin, sysexin, midiout objects
give you a separate inlet to specify which of the open MIDI port numbers
you want.
-<P> System exclusive MIDI message input and output is theoretically supported
-in version 0.37 but does not work correctly on windows, even in 0.38.
-
+<P> System exclusive MIDI message input and output are theoretically supported
+but does not work uniformly across all operating systems..
<H3> <A name=s1.1> 3.2. Installing Pd in Microsoft Windows </A> </H3>
@@ -211,32 +209,17 @@ your situation. (If not, you can read the Pd mailing list archives for
recent problems; if you have found a new problem you're welcome to post it
to the list.)
-<P> If you're running RedHat or Mandrake you might want to use RPM to install
-Pd. For other linux distributions, download the "tar.gz" version and compile
-Pd.
-
-<H4> Getting Pd as an RPM </H4>
-
-<P> Download Pd, perhaps from
- <a href="http://www.crca.ucsd.edu/~msp/software.html">
- http://www.crca.ucsd.edu/~msp/software.html</A> ,
-to a file such as "pd-0.33-0.i386.rpm".
-Open a "shell" window, cd to
-the directory containing the file, and type the command,
-<PRE>
- rpm -i pd-0.33-0.i386.rpm
-</PRE>
-
-<P> (substituting the real file name.) Then you should be able to type "pd"
-to a shell and watch the Pd main window appear.
+<P> Pd is available via the package systems for some linux distributions,
+but not always in the most recent version possible. It's relatively easy to
+compile your own copy of Pd and that is the approach described here.
<H4> Getting Pd as a .tar.gz </H4>
<P> Before you start, you might want to check that you have the resources Pd
needs. The main things you need are the C compiler, X windows (including
-the X development package for Pd to link against) and TK. If you're running
-Redhat or Mandrake 7.x or up, I think these are all present by default.
-The RedHat X client developer "RPM" package is called XFree86-devel.
+the X development package for Pd to link against) and TK. It's almost
+always enough to load "tcl-devel" and "tk-devel" packages using yum or
+apt-get.
<P>
Download Pd, perhaps from
@@ -254,7 +237,6 @@ to "pd/src" and type
<P>
<BR> ./configure
-<BR> make depend
<BR> make
</P>
@@ -410,15 +392,8 @@ always compile Pd for yourself, whether to make your own improvements, or
possibly so that you can get the newest version before it shows up compiled for
Mac OS X.
-<P> To be able to compile Pd, you must have installed Tcl/Tk
-specifically in
-/Applications/Wish Shell.app
-and /Library/Frameworks/Tk.framework and /Library/Frameworks/Tcl.framework.
-
-<P> First download and install TK for OSX. I get it from:
-<A href=http://tcltkaqua.sourceforge.net/>
-http://tcltkaqua.sourceforge.net/. </A>
-
+<P> To be able to compile Pd, you must have Tcl/Tk installed in the standard
+places. I think this is true fro all reasoably recent releases of OSX.
<P> Then, just as for linux, just unload pd-whatever.tar.gz into a directory
such as ~/pd-0.36-0, cd to pd-0.36-0/src, type "./configure"
@@ -446,109 +421,6 @@ as needed.
MIDI interface installed. I've seen this done with Midisport devices and
I think you just download the OSX driver and follow directions.
-<H3> <A name=s1.4> 3.5. Installing Pd in IRIX (SGI machines) </A> </H3>
-
-<P> (NOTE: as of release 0.35 I haven't had an IRIX machine to compile
-Pd on. Soeren Bovbjerg has kindly compiled 0.35 and 0.36 for IRIX;
-you can find these at
-<A href="http://www.cvmt.dk/~sb/"> http://www.cvmt.dk/~sb/ </A>.)
-
-<P> Download Pd, which will be a "tar.Z" file. You can unpack this by
-typing "zcat [name].tar.Z | tar xf -" to a shell. This creates a directory
-named "pd".
-
-<P>
-Starting with release 0.25, Pd should come in "n32" and "o32" versions.
-"o32" is the default and will run on IRIX 5.x and up. "n32" runs faster,
-but only on 6.x and up. Also, "externs" have to be updated for n32. The
-"pd" executable (bin/pd in the distribution) is a symbolic link to either
-"pd-o32" or "pd-n32."
-
-<P> NOTE: "externs" appear to be broken in the N32 version... I'm not sure
-how long this has been true. If you want to use external objects, you have
-to use the O32 version.
-
-<P>
-If for example you put Pd in ~, the executable program
-will be ~/pd/bin/pd. The program looks at its command line to
-figure out where it is, so it's best to invoke Pd by its full pathname.
-You should always invoke Pd from a Unix shell because many important
-messages appear on the standard error.
-
-<P>
-The simplest way to invoke Pd is to
-make an alias in your ".cshrc" file (assuming you use the "c" shell) such as:
-</P>
-<PRE>
-
- alias pd ~/pd/bin/pd
-
-</PRE>
-<P>(assuming your Pd distribution landed in ~, for example).
-
-<P>
-Pd will open the "default" audio input and output devices, without regard
-for whether they are in sync or not. This will be bad if they aren't; use
-the "-noadc" or "-nodac" flag to disable either the input or output. Pd is
-supposed to handle up to 8 channels of audio in and/or out. (But at least
-one user had to recompile Pd on his Onyx to get 8 channels working.)
-
-<P>
-As to MIDI, Pd simply attempts to open all available MIDI devices for input and
-output, which is probably very bad on anything more recent than my Indy. If
-any MIDI ports fail to open either for input or output, all MIDI is disabled.
-
-<P> Pd has not been fixed to request real-time priority from Irix; it will
-compete with all other processes on your machine for CPU time.
-
-<H4> Audio and MIDI in IRIX </H4>
-
-<P>
-Pd takes command line arguments to set the number of input and output channels
-and the sample rate. These don't affect the SGI's audio settings, which you
-have to set separately using the "audio panel." Pd does detect the audio
-sample rate if you don't specify one on the command line.
-
-<P>
-On SGI machines, you have to work to get MIDI running. Before you start Pd, verify
-that least one MIDI port is configured open. Pd opens the FIRST MIDI port
-that's open. You might want to get rid of the "software" MIDI port if you're
-running 6.x. On Indys, the usual practice is to open serial port number 2
-because some systems configure port 1 as "console" by default. You can use the
-GUI if you want, or else just type
-<PRE>
-
- startmidi -d /dev/ttyd2
-
-</PRE>
-
-<P>to get port 2 speaking MIDI, and
-
-<PRE>
-
- stopmidi
-
-</PRE>
-
-<P>to stop it. You can test whether MIDI is configured by typing,
-
-<PRE>
-
- ps -dafe | grep midi
-
-</PRE>
-
-<P>and looking for "startmidi" processes.
-
-<P>
-It's a good idea to connect your serial port to your MIDI interface before
-typing the "startmidi" command, not afterward, at least in 5.x. We use the
-Opcode Studio 3 interface but in principle any Mac-compatible one should work.
-
-<P>
-The O2 apparently has RS232 ports, not RS422. I think SGI's web site says
-something about how to deal with this.
-
<H3> <A name=s4> 3.6. Preferences and startup options </A> </H3>
<P> Pd's behavior may be customized to instruct it where to find files, which
@@ -639,13 +511,12 @@ audio configuration flags:
-listdev -- list audio and MIDI devices
(linux specific audio:)
--frags &lt;n&gt; -- specify number of audio fragments (defeats audiobuf)
--fragsize &lt;n&gt; -- specify log of fragment size ('blocksize' is better...)
-oss -- use ALSA audio drivers
-alsa -- use ALSA audio drivers
-pa -- use portaudio (experimental version 19)
--alsadev &lt;n&gt; ----- obsolete: use -audiodev
--32bit ---- (probably obsolete) -- use 32 bit OSS extension
+-alsadev &lt;n&gt; -- obsolete: use -audiodev
+-32bit -- (probably obsolete) -- use 32 bit OSS extension
+-alsaadd &lt;dev&gt; -- add a device to the ALSA device list
(Windows specific audio:)
-mmio -- use MMIO drivers and API
@@ -658,6 +529,7 @@ MIDI configuration flags:
-nomidiin -- suppress MIDI input
-nomidiout -- suppress MIDI output
-nomidi -- suppress MIDI input and output
+-alsamidi -- use ALSA midi API
general flags:
-path &lt;path&gt; -- add to file search path
@@ -678,6 +550,7 @@ general flags:
-send "msg..." -- send a message at startup (after patches are loaded)
-rt or -realtime -- use real-time priority (needs root privilege)
-nrt -- don't use real-time priority
+-nosleep -- never relinquish CPU (only for multiprocessors!)
</PRE>
diff --git a/pd/doc/1.manual/x5.htm b/pd/doc/1.manual/x5.htm
index ab950b9e..70744f90 100644
--- a/pd/doc/1.manual/x5.htm
+++ b/pd/doc/1.manual/x5.htm
@@ -20,6 +20,56 @@
<H3> <A name="s2"> 5.1. release notes </A> </H3>
+<P> ------------------ 0.41 ----------------------------
+
+<P> Pd may be compiled in 64 bit address spaces; this is well tested on
+linux and at least seems to work on Microsoft and MacOS. On linux, in fact,
+if you compile Pd in a 64-bit version of the OS it's automatically in the
+64 bit address space.
+
+<P> In linux, a "-nosleep" flag causes Pd to poll instead of sleeping as it
+waits for dac and adc; this is useful on multiprocessors when you don't mind
+having Pd occupy 100% of one processor and want to get latency as low as
+possible. (If you don't use this, latency on multiprocessors - Intel Core 2 at
+least - is much worse for some reason than it is on uniprocessors.) It's
+"experimental" but I use it every day.
+
+<P> added an experimental callback scheduler. This might reduce latency in
+MacOS and/or Microsoft, although I haven't seen that actually happen yet.
+
+<P> removed limitation on huge messages from text files; this prevented long
+"data" arrays from reloading from disk correctly.
+
+<P> fixed crash bug closing patches with open GOPs.
+
+<P> changed selection strategy so that, right after duplicating a collection
+of objects, clicking tends to select an already-selected object.
+
+<P> the cursor changes slightly more apprpriately when switching between edit
+to run modes.
+
+<P> got really confused about the proper role of "declare 'path" in abstractions;
+for the moment they are ignored. I the future, it may be worthwhile to allow
+them but to have them act only locally to the abstraction; but this might mean
+a lot more computation overhead when opening files.
+
+<P> limited window sizes to that of the screen (otherwise, on Mac OS, it's
+impossible to resize them.)
+
+<P> fixed "startup" dialogs to allow unlimited "path" and "lib" entries
+
+<P> started, but didn't finish, the process of getting Pd to compile with
+t_float as 64 bits. This would slow Pd down but improve tabread4~'s accuracy.
+
+<P> made IEM Guis respect "-font" flag and friends. New startup flags:
+"-font-face" (badly named); "-font-size" sysnonym of "-font". (Large patch from
+HC).
+
+<P> String overflow protection here and there.
+
+<P> migrated to ".net" compiler ("VC 2005", a free download).
+
+
<P> ------------------ 0.40-1 --------------------------
<P> Fixed "declare" which wasn't working properly yet in 0.40-0, and
diff --git a/pd/portaudio/include/pa_asio.h b/pd/portaudio/include/pa_asio.h
index 47b69593..e6865833 100644
--- a/pd/portaudio/include/pa_asio.h
+++ b/pd/portaudio/include/pa_asio.h
@@ -1,7 +1,7 @@
#ifndef PA_ASIO_H
#define PA_ASIO_H
/*
- * $Id: pa_asio.h,v 1.4 2008-01-16 21:54:08 millerpuckette Exp $
+ * $Id: pa_asio.h,v 1.5 2008-01-24 00:39:50 millerpuckette Exp $
* PortAudio Portable Real-Time Audio Library
* ASIO specific extensions
*
diff --git a/pd/portaudio/include/pa_linux_alsa.h b/pd/portaudio/include/pa_linux_alsa.h
index 40921564..dd59fcfc 100644
--- a/pd/portaudio/include/pa_linux_alsa.h
+++ b/pd/portaudio/include/pa_linux_alsa.h
@@ -2,7 +2,7 @@
#define PA_LINUX_ALSA_H
/*
- * $Id: pa_linux_alsa.h,v 1.4 2008-01-16 21:54:08 millerpuckette Exp $
+ * $Id: pa_linux_alsa.h,v 1.5 2008-01-24 00:39:50 millerpuckette Exp $
* PortAudio Portable Real-Time Audio Library
* ALSA-specific extensions
*
diff --git a/pd/portaudio/include/pa_win_wmme.h b/pd/portaudio/include/pa_win_wmme.h
index e1c0da7a..104c427b 100644
--- a/pd/portaudio/include/pa_win_wmme.h
+++ b/pd/portaudio/include/pa_win_wmme.h
@@ -1,7 +1,7 @@
#ifndef PA_WIN_WMME_H
#define PA_WIN_WMME_H
/*
- * $Id: pa_win_wmme.h,v 1.4 2008-01-16 21:54:08 millerpuckette Exp $
+ * $Id: pa_win_wmme.h,v 1.5 2008-01-24 00:39:50 millerpuckette Exp $
* PortAudio Portable Real-Time Audio Library
* MME specific extensions
*
diff --git a/pd/portaudio/include/portaudio.h b/pd/portaudio/include/portaudio.h
index 3a2f1f6e..cda1742e 100644
--- a/pd/portaudio/include/portaudio.h
+++ b/pd/portaudio/include/portaudio.h
@@ -2,7 +2,7 @@
#ifndef PORTAUDIO_H
#define PORTAUDIO_H
/*
- * $Id: portaudio.h,v 1.4 2008-01-16 21:54:08 millerpuckette Exp $
+ * $Id: portaudio.h,v 1.5 2008-01-24 00:39:50 millerpuckette Exp $
* PortAudio Portable Real-Time Audio Library
* PortAudio API Header File
* Latest version available at: http://www.portaudio.com/
diff --git a/pd/portaudio/src/common/pa_allocation.c b/pd/portaudio/src/common/pa_allocation.c
index d5696505..d1c68a86 100644
--- a/pd/portaudio/src/common/pa_allocation.c
+++ b/pd/portaudio/src/common/pa_allocation.c
@@ -1,5 +1,5 @@
/*
- * $Id: pa_allocation.c,v 1.4 2008-01-16 21:54:09 millerpuckette Exp $
+ * $Id: pa_allocation.c,v 1.5 2008-01-24 00:39:50 millerpuckette Exp $
* Portable Audio I/O Library allocation group implementation
* memory allocation group for tracking allocation groups
*
diff --git a/pd/portaudio/src/common/pa_allocation.h b/pd/portaudio/src/common/pa_allocation.h
index 1a7586c3..d2725b2d 100644
--- a/pd/portaudio/src/common/pa_allocation.h
+++ b/pd/portaudio/src/common/pa_allocation.h
@@ -1,7 +1,7 @@
#ifndef PA_ALLOCATION_H
#define PA_ALLOCATION_H
/*
- * $Id: pa_allocation.h,v 1.4 2008-01-16 21:54:09 millerpuckette Exp $
+ * $Id: pa_allocation.h,v 1.5 2008-01-24 00:39:50 millerpuckette Exp $
* Portable Audio I/O Library allocation context header
* memory allocation context for tracking allocation groups
*
diff --git a/pd/portaudio/src/common/pa_converters.c b/pd/portaudio/src/common/pa_converters.c
index df6d4e45..6a887086 100644
--- a/pd/portaudio/src/common/pa_converters.c
+++ b/pd/portaudio/src/common/pa_converters.c
@@ -1,5 +1,5 @@
/*
- * $Id: pa_converters.c,v 1.4 2008-01-16 21:54:09 millerpuckette Exp $
+ * $Id: pa_converters.c,v 1.5 2008-01-24 00:39:50 millerpuckette Exp $
* Portable Audio I/O Library sample conversion mechanism
*
* Based on the Open Source API proposed by Ross Bencina
diff --git a/pd/portaudio/src/common/pa_converters.h b/pd/portaudio/src/common/pa_converters.h
index cde2af7d..89e1d962 100644
--- a/pd/portaudio/src/common/pa_converters.h
+++ b/pd/portaudio/src/common/pa_converters.h
@@ -1,7 +1,7 @@
#ifndef PA_CONVERTERS_H
#define PA_CONVERTERS_H
/*
- * $Id: pa_converters.h,v 1.4 2008-01-16 21:54:09 millerpuckette Exp $
+ * $Id: pa_converters.h,v 1.5 2008-01-24 00:39:50 millerpuckette Exp $
* Portable Audio I/O Library sample conversion mechanism
*
* Based on the Open Source API proposed by Ross Bencina
diff --git a/pd/portaudio/src/common/pa_cpuload.c b/pd/portaudio/src/common/pa_cpuload.c
index e07b4561..111d9df0 100644
--- a/pd/portaudio/src/common/pa_cpuload.c
+++ b/pd/portaudio/src/common/pa_cpuload.c
@@ -1,5 +1,5 @@
/*
- * $Id: pa_cpuload.c,v 1.4 2008-01-16 21:54:09 millerpuckette Exp $
+ * $Id: pa_cpuload.c,v 1.5 2008-01-24 00:39:50 millerpuckette Exp $
* Portable Audio I/O Library CPU Load measurement functions
* Portable CPU load measurement facility.
*
diff --git a/pd/portaudio/src/common/pa_cpuload.h b/pd/portaudio/src/common/pa_cpuload.h
index 66923dab..a57d64ce 100644
--- a/pd/portaudio/src/common/pa_cpuload.h
+++ b/pd/portaudio/src/common/pa_cpuload.h
@@ -1,7 +1,7 @@
#ifndef PA_CPULOAD_H
#define PA_CPULOAD_H
/*
- * $Id: pa_cpuload.h,v 1.4 2008-01-16 21:54:09 millerpuckette Exp $
+ * $Id: pa_cpuload.h,v 1.5 2008-01-24 00:39:50 millerpuckette Exp $
* Portable Audio I/O Library CPU Load measurement functions
* Portable CPU load measurement facility.
*
diff --git a/pd/portaudio/src/common/pa_debugprint.c b/pd/portaudio/src/common/pa_debugprint.c
index e85696ba..de9cc487 100644
--- a/pd/portaudio/src/common/pa_debugprint.c
+++ b/pd/portaudio/src/common/pa_debugprint.c
@@ -1,5 +1,5 @@
/*
- * $Id: pa_debugprint.c,v 1.4 2008-01-16 21:54:09 millerpuckette Exp $
+ * $Id: pa_debugprint.c,v 1.5 2008-01-24 00:39:50 millerpuckette Exp $
* Portable Audio I/O Library Multi-Host API front end
* Validate function parameters and manage multiple host APIs.
*
diff --git a/pd/portaudio/src/common/pa_dither.c b/pd/portaudio/src/common/pa_dither.c
index a09317a6..6d769ea2 100644
--- a/pd/portaudio/src/common/pa_dither.c
+++ b/pd/portaudio/src/common/pa_dither.c
@@ -1,5 +1,5 @@
/*
- * $Id: pa_dither.c,v 1.4 2008-01-16 21:54:09 millerpuckette Exp $
+ * $Id: pa_dither.c,v 1.5 2008-01-24 00:39:50 millerpuckette Exp $
* Portable Audio I/O Library triangular dither generator
*
* Based on the Open Source API proposed by Ross Bencina
diff --git a/pd/portaudio/src/common/pa_dither.h b/pd/portaudio/src/common/pa_dither.h
index e6d7fae9..aaa71554 100644
--- a/pd/portaudio/src/common/pa_dither.h
+++ b/pd/portaudio/src/common/pa_dither.h
@@ -1,7 +1,7 @@
#ifndef PA_DITHER_H
#define PA_DITHER_H
/*
- * $Id: pa_dither.h,v 1.4 2008-01-16 21:54:09 millerpuckette Exp $
+ * $Id: pa_dither.h,v 1.5 2008-01-24 00:39:50 millerpuckette Exp $
* Portable Audio I/O Library triangular dither generator
*
* Based on the Open Source API proposed by Ross Bencina
diff --git a/pd/portaudio/src/common/pa_endianness.h b/pd/portaudio/src/common/pa_endianness.h
index 6fd0e151..9b56738d 100644
--- a/pd/portaudio/src/common/pa_endianness.h
+++ b/pd/portaudio/src/common/pa_endianness.h
@@ -1,7 +1,7 @@
#ifndef PA_ENDIANNESS_H
#define PA_ENDIANNESS_H
/*
- * $Id: pa_endianness.h,v 1.4 2008-01-16 21:54:09 millerpuckette Exp $
+ * $Id: pa_endianness.h,v 1.5 2008-01-24 00:39:50 millerpuckette Exp $
* Portable Audio I/O Library current platform endianness macros
*
* Based on the Open Source API proposed by Ross Bencina
diff --git a/pd/portaudio/src/common/pa_front.c b/pd/portaudio/src/common/pa_front.c
index c6b379ec..cf6c0cdc 100644
--- a/pd/portaudio/src/common/pa_front.c
+++ b/pd/portaudio/src/common/pa_front.c
@@ -1,5 +1,5 @@
/*
- * $Id: pa_front.c,v 1.4 2008-01-16 21:54:09 millerpuckette Exp $
+ * $Id: pa_front.c,v 1.5 2008-01-24 00:39:50 millerpuckette Exp $
* Portable Audio I/O Library Multi-Host API front end
* Validate function parameters and manage multiple host APIs.
*
diff --git a/pd/portaudio/src/common/pa_hostapi.h b/pd/portaudio/src/common/pa_hostapi.h
index 09926f84..7d515c9a 100644
--- a/pd/portaudio/src/common/pa_hostapi.h
+++ b/pd/portaudio/src/common/pa_hostapi.h
@@ -1,7 +1,7 @@
#ifndef PA_HOSTAPI_H
#define PA_HOSTAPI_H
/*
- * $Id: pa_hostapi.h,v 1.4 2008-01-16 21:54:09 millerpuckette Exp $
+ * $Id: pa_hostapi.h,v 1.5 2008-01-24 00:39:50 millerpuckette Exp $
* Portable Audio I/O Library
* host api representation
*
diff --git a/pd/portaudio/src/common/pa_process.c b/pd/portaudio/src/common/pa_process.c
index befa876d..35ec46fb 100644
--- a/pd/portaudio/src/common/pa_process.c
+++ b/pd/portaudio/src/common/pa_process.c
@@ -1,5 +1,5 @@
/*
- * $Id: pa_process.c,v 1.4 2008-01-16 21:54:09 millerpuckette Exp $
+ * $Id: pa_process.c,v 1.5 2008-01-24 00:39:50 millerpuckette Exp $
* Portable Audio I/O Library
* streamCallback <-> host buffer processing adapter
*
diff --git a/pd/portaudio/src/common/pa_process.h b/pd/portaudio/src/common/pa_process.h
index 9f1206a7..dc75a5b1 100644
--- a/pd/portaudio/src/common/pa_process.h
+++ b/pd/portaudio/src/common/pa_process.h
@@ -1,7 +1,7 @@
#ifndef PA_PROCESS_H
#define PA_PROCESS_H
/*
- * $Id: pa_process.h,v 1.4 2008-01-16 21:54:09 millerpuckette Exp $
+ * $Id: pa_process.h,v 1.5 2008-01-24 00:39:50 millerpuckette Exp $
* Portable Audio I/O Library callback buffer processing adapters
*
* Based on the Open Source API proposed by Ross Bencina
diff --git a/pd/portaudio/src/common/pa_ringbuffer.c b/pd/portaudio/src/common/pa_ringbuffer.c
index 19b7fcdc..61559387 100644
--- a/pd/portaudio/src/common/pa_ringbuffer.c
+++ b/pd/portaudio/src/common/pa_ringbuffer.c
@@ -1,5 +1,5 @@
/*
- * $Id: pa_ringbuffer.c,v 1.4 2008-01-16 21:54:09 millerpuckette Exp $
+ * $Id: pa_ringbuffer.c,v 1.5 2008-01-24 00:39:50 millerpuckette Exp $
* Portable Audio I/O Library
* Ring Buffer utility.
*
diff --git a/pd/portaudio/src/common/pa_ringbuffer.h b/pd/portaudio/src/common/pa_ringbuffer.h
index 15a39b87..8cb820d6 100644
--- a/pd/portaudio/src/common/pa_ringbuffer.h
+++ b/pd/portaudio/src/common/pa_ringbuffer.h
@@ -1,7 +1,7 @@
#ifndef PA_RINGBUFFER_H
#define PA_RINGBUFFER_H
/*
- * $Id: pa_ringbuffer.h,v 1.4 2008-01-16 21:54:09 millerpuckette Exp $
+ * $Id: pa_ringbuffer.h,v 1.5 2008-01-24 00:39:50 millerpuckette Exp $
* Portable Audio I/O Library
* Ring Buffer utility.
*
diff --git a/pd/portaudio/src/common/pa_skeleton.c b/pd/portaudio/src/common/pa_skeleton.c
index 6dfcd444..7043a56f 100644
--- a/pd/portaudio/src/common/pa_skeleton.c
+++ b/pd/portaudio/src/common/pa_skeleton.c
@@ -1,5 +1,5 @@
/*
- * $Id: pa_skeleton.c,v 1.4 2008-01-16 21:54:09 millerpuckette Exp $
+ * $Id: pa_skeleton.c,v 1.5 2008-01-24 00:39:50 millerpuckette Exp $
* Portable Audio I/O Library skeleton implementation
* demonstrates how to use the common functions to implement support
* for a host API
diff --git a/pd/portaudio/src/common/pa_stream.c b/pd/portaudio/src/common/pa_stream.c
index a4d0de6e..6d6d897c 100644
--- a/pd/portaudio/src/common/pa_stream.c
+++ b/pd/portaudio/src/common/pa_stream.c
@@ -1,5 +1,5 @@
/*
- * $Id: pa_stream.c,v 1.4 2008-01-16 21:54:09 millerpuckette Exp $
+ * $Id: pa_stream.c,v 1.5 2008-01-24 00:39:50 millerpuckette Exp $
* Portable Audio I/O Library
*
*
diff --git a/pd/portaudio/src/common/pa_stream.h b/pd/portaudio/src/common/pa_stream.h
index 98dcf489..17171713 100644
--- a/pd/portaudio/src/common/pa_stream.h
+++ b/pd/portaudio/src/common/pa_stream.h
@@ -1,7 +1,7 @@
#ifndef PA_STREAM_H
#define PA_STREAM_H
/*
- * $Id: pa_stream.h,v 1.4 2008-01-16 21:54:09 millerpuckette Exp $
+ * $Id: pa_stream.h,v 1.5 2008-01-24 00:39:50 millerpuckette Exp $
* Portable Audio I/O Library
* stream interface
*
diff --git a/pd/portaudio/src/common/pa_trace.c b/pd/portaudio/src/common/pa_trace.c
index 9afe70e3..21ace1c3 100644
--- a/pd/portaudio/src/common/pa_trace.c
+++ b/pd/portaudio/src/common/pa_trace.c
@@ -1,5 +1,5 @@
/*
- * $Id: pa_trace.c,v 1.4 2008-01-16 21:54:09 millerpuckette Exp $
+ * $Id: pa_trace.c,v 1.5 2008-01-24 00:39:50 millerpuckette Exp $
* Portable Audio I/O Library Trace Facility
* Store trace information in real-time for later printing.
*
diff --git a/pd/portaudio/src/common/pa_trace.h b/pd/portaudio/src/common/pa_trace.h
index 7fb7a903..c0d97b17 100644
--- a/pd/portaudio/src/common/pa_trace.h
+++ b/pd/portaudio/src/common/pa_trace.h
@@ -1,7 +1,7 @@
#ifndef PA_TRACE_H
#define PA_TRACE_H
/*
- * $Id: pa_trace.h,v 1.4 2008-01-16 21:54:09 millerpuckette Exp $
+ * $Id: pa_trace.h,v 1.5 2008-01-24 00:39:50 millerpuckette Exp $
* Portable Audio I/O Library Trace Facility
* Store trace information in real-time for later printing.
*
diff --git a/pd/portaudio/src/common/pa_util.h b/pd/portaudio/src/common/pa_util.h
index 060394d4..fbfd3bc4 100644
--- a/pd/portaudio/src/common/pa_util.h
+++ b/pd/portaudio/src/common/pa_util.h
@@ -1,7 +1,7 @@
#ifndef PA_UTIL_H
#define PA_UTIL_H
/*
- * $Id: pa_util.h,v 1.4 2008-01-16 21:54:09 millerpuckette Exp $
+ * $Id: pa_util.h,v 1.5 2008-01-24 00:39:50 millerpuckette Exp $
* Portable Audio I/O Library implementation utilities header
* common implementation utilities and interfaces
*
diff --git a/pd/portaudio/src/hostapi/alsa/pa_linux_alsa.c b/pd/portaudio/src/hostapi/alsa/pa_linux_alsa.c
index 653eb94a..482a04fa 100644
--- a/pd/portaudio/src/hostapi/alsa/pa_linux_alsa.c
+++ b/pd/portaudio/src/hostapi/alsa/pa_linux_alsa.c
@@ -1,5 +1,5 @@
/*
- * $Id: pa_linux_alsa.c,v 1.4 2008-01-16 21:54:09 millerpuckette Exp $
+ * $Id: pa_linux_alsa.c,v 1.5 2008-01-24 00:39:50 millerpuckette Exp $
* PortAudio Portable Real-Time Audio Library
* Latest Version at: http://www.portaudio.com
* ALSA implementation by Joshua Haberman and Arve Knudsen
diff --git a/pd/portaudio/src/hostapi/asio/pa_asio.cpp b/pd/portaudio/src/hostapi/asio/pa_asio.cpp
index 262a634d..472a98f7 100644
--- a/pd/portaudio/src/hostapi/asio/pa_asio.cpp
+++ b/pd/portaudio/src/hostapi/asio/pa_asio.cpp
@@ -1,5 +1,5 @@
/*
- * $Id: pa_asio.cpp,v 1.4 2008-01-16 21:54:09 millerpuckette Exp $
+ * $Id: pa_asio.cpp,v 1.5 2008-01-24 00:39:50 millerpuckette Exp $
* Portable Audio I/O Library for ASIO Drivers
*
* Author: Stephane Letz
diff --git a/pd/portaudio/src/hostapi/coreaudio/pa_mac_core_old.c b/pd/portaudio/src/hostapi/coreaudio/pa_mac_core_old.c
index df119484..ed8cfbae 100644
--- a/pd/portaudio/src/hostapi/coreaudio/pa_mac_core_old.c
+++ b/pd/portaudio/src/hostapi/coreaudio/pa_mac_core_old.c
@@ -1,5 +1,5 @@
/*
- * $Id: pa_mac_core_old.c,v 1.4 2008-01-16 21:54:09 millerpuckette Exp $
+ * $Id: pa_mac_core_old.c,v 1.5 2008-01-24 00:39:51 millerpuckette Exp $
* pa_mac_core.c
* Implementation of PortAudio for Mac OS X CoreAudio
*
diff --git a/pd/portaudio/src/hostapi/jack/pa_jack.c b/pd/portaudio/src/hostapi/jack/pa_jack.c
index e2f43353..6bdfcfd4 100644
--- a/pd/portaudio/src/hostapi/jack/pa_jack.c
+++ b/pd/portaudio/src/hostapi/jack/pa_jack.c
@@ -1,5 +1,5 @@
/*
- * $Id: pa_jack.c,v 1.4 2008-01-16 21:54:09 millerpuckette Exp $
+ * $Id: pa_jack.c,v 1.5 2008-01-24 00:39:51 millerpuckette Exp $
* PortAudio Portable Real-Time Audio Library
* Latest Version at: http://www.portaudio.com
* JACK Implementation by Joshua Haberman
diff --git a/pd/portaudio/src/hostapi/oss/pa_unix_oss.c b/pd/portaudio/src/hostapi/oss/pa_unix_oss.c
index 34c8d220..92a2a654 100644
--- a/pd/portaudio/src/hostapi/oss/pa_unix_oss.c
+++ b/pd/portaudio/src/hostapi/oss/pa_unix_oss.c
@@ -1,5 +1,5 @@
/*
- * $Id: pa_unix_oss.c,v 1.4 2008-01-16 21:54:09 millerpuckette Exp $
+ * $Id: pa_unix_oss.c,v 1.5 2008-01-24 00:39:51 millerpuckette Exp $
* PortAudio Portable Real-Time Audio Library
* Latest Version at: http://www.portaudio.com
* OSS implementation by:
diff --git a/pd/portaudio/src/hostapi/wmme/pa_win_wmme.c b/pd/portaudio/src/hostapi/wmme/pa_win_wmme.c
index e754bb3f..efa05d76 100644
--- a/pd/portaudio/src/hostapi/wmme/pa_win_wmme.c
+++ b/pd/portaudio/src/hostapi/wmme/pa_win_wmme.c
@@ -1,5 +1,5 @@
/*
- * $Id: pa_win_wmme.c,v 1.4 2008-01-16 21:54:09 millerpuckette Exp $
+ * $Id: pa_win_wmme.c,v 1.5 2008-01-24 00:39:51 millerpuckette Exp $
* pa_win_wmme.c
* Implementation of PortAudio for Windows MultiMedia Extensions (WMME)
*
diff --git a/pd/portaudio/src/os/mac_osx/pa_mac_hostapis.c b/pd/portaudio/src/os/mac_osx/pa_mac_hostapis.c
index 5e1dfb1e..2e964a60 100644
--- a/pd/portaudio/src/os/mac_osx/pa_mac_hostapis.c
+++ b/pd/portaudio/src/os/mac_osx/pa_mac_hostapis.c
@@ -1,5 +1,5 @@
/*
- * $Id: pa_mac_hostapis.c,v 1.4 2008-01-16 21:54:09 millerpuckette Exp $
+ * $Id: pa_mac_hostapis.c,v 1.5 2008-01-24 00:39:51 millerpuckette Exp $
* Portable Audio I/O Library Macintosh initialization table
*
* Based on the Open Source API proposed by Ross Bencina
diff --git a/pd/portaudio/src/os/unix/pa_unix_hostapis.c b/pd/portaudio/src/os/unix/pa_unix_hostapis.c
index 0ec69bc3..98617b0a 100644
--- a/pd/portaudio/src/os/unix/pa_unix_hostapis.c
+++ b/pd/portaudio/src/os/unix/pa_unix_hostapis.c
@@ -1,5 +1,5 @@
/*
- * $Id: pa_unix_hostapis.c,v 1.4 2008-01-16 21:54:09 millerpuckette Exp $
+ * $Id: pa_unix_hostapis.c,v 1.5 2008-01-24 00:39:51 millerpuckette Exp $
* Portable Audio I/O Library UNIX initialization table
*
* Based on the Open Source API proposed by Ross Bencina
diff --git a/pd/portaudio/src/os/unix/pa_unix_util.c b/pd/portaudio/src/os/unix/pa_unix_util.c
index ab7aba9e..c15270cc 100644
--- a/pd/portaudio/src/os/unix/pa_unix_util.c
+++ b/pd/portaudio/src/os/unix/pa_unix_util.c
@@ -1,5 +1,5 @@
/*
- * $Id: pa_unix_util.c,v 1.4 2008-01-16 21:54:09 millerpuckette Exp $
+ * $Id: pa_unix_util.c,v 1.5 2008-01-24 00:39:51 millerpuckette Exp $
* Portable Audio I/O Library
* UNIX platform-specific support functions
*
diff --git a/pd/portaudio/src/os/unix/pa_unix_util.h b/pd/portaudio/src/os/unix/pa_unix_util.h
index cb75512e..96a628af 100644
--- a/pd/portaudio/src/os/unix/pa_unix_util.h
+++ b/pd/portaudio/src/os/unix/pa_unix_util.h
@@ -1,5 +1,5 @@
/*
- * $Id: pa_unix_util.h,v 1.4 2008-01-16 21:54:09 millerpuckette Exp $
+ * $Id: pa_unix_util.h,v 1.5 2008-01-24 00:39:51 millerpuckette Exp $
* Portable Audio I/O Library
* UNIX platform-specific support functions
*
diff --git a/pd/portaudio/src/os/win/pa_win_hostapis.c b/pd/portaudio/src/os/win/pa_win_hostapis.c
index 86761019..a33cdcba 100644
--- a/pd/portaudio/src/os/win/pa_win_hostapis.c
+++ b/pd/portaudio/src/os/win/pa_win_hostapis.c
@@ -1,5 +1,5 @@
/*
- * $Id: pa_win_hostapis.c,v 1.4 2008-01-16 21:54:09 millerpuckette Exp $
+ * $Id: pa_win_hostapis.c,v 1.5 2008-01-24 00:39:51 millerpuckette Exp $
* Portable Audio I/O Library Windows initialization table
*
* Based on the Open Source API proposed by Ross Bencina
diff --git a/pd/portaudio/src/os/win/pa_win_util.c b/pd/portaudio/src/os/win/pa_win_util.c
index 9e414c57..f304c481 100644
--- a/pd/portaudio/src/os/win/pa_win_util.c
+++ b/pd/portaudio/src/os/win/pa_win_util.c
@@ -1,5 +1,5 @@
/*
- * $Id: pa_win_util.c,v 1.4 2008-01-16 21:54:09 millerpuckette Exp $
+ * $Id: pa_win_util.c,v 1.5 2008-01-24 00:39:51 millerpuckette Exp $
* Portable Audio I/O Library
* Win32 platform-specific support functions
*
diff --git a/pd/src/m_pd.h b/pd/src/m_pd.h
index e7417da7..f494ff52 100644
--- a/pd/src/m_pd.h
+++ b/pd/src/m_pd.h
@@ -11,7 +11,7 @@ extern "C" {
#define PD_MAJOR_VERSION 0
#define PD_MINOR_VERSION 41
#define PD_BUGFIX_VERSION 0
-#define PD_TEST_VERSION "test11"
+#define PD_TEST_VERSION ""
/* old name for "MSW" flag -- we have to take it for the sake of many old
"nmakefiles" for externs, which will define NT and not MSW */
diff --git a/pd/src/notes.txt b/pd/src/notes.txt
index b00b03da..168bd184 100644
--- a/pd/src/notes.txt
+++ b/pd/src/notes.txt
@@ -1,11 +1,4 @@
---------------- dolist --------------------
-fixed crash bug closing patches with open GOPs
-fixed PC device counting problem (first device invoked by -audiodev 0)
-fixed MSTACKSIZE limitation in m_binbuf.c
-fixed so that if more than one object is selected, clicking prefers to
- "hit" a selected one (better dragging after "duplicate")
-
-
test:
compile on various versions of linux
windows:
@@ -56,6 +49,8 @@ real-time spectrum grapher
document ||, |, etc, better
features:
+change config.h to #ifdef _MSC_VER (include MSW fake) else include a real one
+stick snprintf alias in the MSW fake.
flag to prevent unlocking patches
clickless connection (hit 'c' key? see Bouchard paper)
messages to suppress menus&accelerators, and invisibilize Pd window
diff --git a/pd/src/s_loader.c b/pd/src/s_loader.c
index 4788c13c..aac50898 100644
--- a/pd/src/s_loader.c
+++ b/pd/src/s_loader.c
@@ -20,6 +20,9 @@
#include "m_pd.h"
#include "s_stuff.h"
#include <stdio.h>
+#ifdef _MSC_VER /* This is only for Microsoft's compiler, not cygwin, e.g. */
+#define snprintf sprintf_s
+#endif
typedef void (*t_xxx)(void);
@@ -238,3 +241,37 @@ int sys_load_lib(t_canvas *canvas, char *classname)
return ok;
}
+int sys_run_scheduler(const char *externalschedlibname,
+ const char *sys_extraflagsstring)
+{
+ typedef int (*t_externalschedlibmain)(const char *);
+ t_externalschedlibmain externalmainfunc;
+ char filename[MAXPDSTRING];
+ snprintf(filename, sizeof(filename), "%s.%s", externalschedlibname,
+ sys_dllextent);
+ sys_bashfilename(filename, filename);
+#ifdef MSW
+ {
+ HINSTANCE ntdll = LoadLibrary(filename);
+ if (!ntdll)
+ {
+ post("%s: couldn't load external scheduler lib ", filename);
+ return (0);
+ }
+ externalmainfunc =
+ (t_externalschedlibmain)GetProcAddress(ntdll, "main");
+ }
+#else
+ {
+ void *dlobj = dlopen(filename, RTLD_NOW | RTLD_GLOBAL);
+ if (!dlobj)
+ {
+ post("%s: %s", filename, dlerror());
+ return (0);
+ }
+ externalmainfunc = (t_externalschedlibmain)dlsym(dlobj,
+ "pd_extern_sched");
+ }
+#endif
+ return((*externalmainfunc)(sys_extraflagsstring));
+}
diff --git a/pd/src/s_main.c b/pd/src/s_main.c
index d8d8602d..877ed41f 100644
--- a/pd/src/s_main.c
+++ b/pd/src/s_main.c
@@ -77,7 +77,8 @@ int sys_externalschedlib;
char sys_externalschedlibname[MAXPDSTRING];
int sys_extraflags;
char sys_extraflagsstring[MAXPDSTRING];
-
+int sys_run_scheduler(const char *externalschedlibname,
+ const char *sys_extraflagsstring);
/* here the "-1" counts signify that the corresponding vector hasn't been
specified in command line arguments; sys_set_audio_settings will detect it
@@ -168,7 +169,11 @@ int sys_fontheight(int fontsize)
}
int sys_defaultfont;
+#ifdef MSW
+#define DEFAULTFONT 12
+#else
#define DEFAULTFONT 10
+#endif
static void openit(const char *dirname, const char *filename)
{
@@ -291,28 +296,8 @@ int sys_main(int argc, char **argv)
if (sys_startgui(sys_guidir->s_name)) /* start the gui */
return(1);
if (sys_externalschedlib)
- {
-#ifdef MSW
- typedef int (*t_externalschedlibmain)(char *);
- t_externalschedlibmain externalmainfunc;
- HINSTANCE ntdll;
- char filename[MAXPDSTRING];
-
- snprintf(filename, sizeof(filename), "%s.dll", sys_externalschedlibname);
- sys_bashfilename(filename, filename);
- ntdll = LoadLibrary(filename);
- if (!ntdll)
- {
- post("%s: couldn't load external scheduler lib ", filename);
- return (0);
- }
- externalmainfunc = (t_externalschedlibmain)GetProcAddress(ntdll,
- "main");
- return((*externalmainfunc)(sys_extraflagsstring));
-#else
- return (0);
-#endif
- }
+ return (sys_run_scheduler(sys_externalschedlibname,
+ sys_extraflagsstring));
else
{
/* open audio and MIDI */