Commits (19)
......@@ -321,7 +321,7 @@ $(SHARED_LIB): $(SHARED_SOURCE:.c=.o)
install: libdir_install
# The meta and help files are explicitly installed to make sure they are
# actually there. Those files are not optional, then need to be there.
# actually there. Those files are not optional, they need to be there.
libdir_install: $(SOURCES:.c=.$(EXTENSION)) $(SHARED_LIB) install-doc install-examples install-manual install-unittests
$(INSTALL_DIR) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)
$(INSTALL_DATA) $(LIBRARY_META) \
......
pdlua -- a Lua embedding for Pd
Copyright (C) 2007,2008,2009 Claude Heiland-Allen <claude@mathr.co.uk>
Copyright (C) 2007,2008,2009,2013 Claude Heiland-Allen <claude@mathr.co.uk>
Copyright (C) 2012 Martin Peach martin.peach@sympatico.ca
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
......@@ -16,25 +18,62 @@ along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
NOTES by aggraef: This works with all Pd flavors out there and makes Pd
external programming incredibly easy (please check the included examples).
Originally written by Claude Heiland-Allen, pdlua has gone through the hands
of many people over the years, including mrpeach, umlaeute (responsible for
the Debian package) and myself (Arch package, Lua 5.3 support). Since the
contents of the original README has become rather outdated, I've updated the
information below.
NOTES by aggraef: Since the contents of the original README has become rather
outdated, I've updated the information below.
pdlua works with all Pd flavors out there and makes Pd external programming
incredibly easy (please check the included examples and the tutorial in the
corresponding subdirectories). Originally written by Claude Heiland-Allen,
pdlua has gone through the hands of a few people over the years, including
mrpeach (maintainer since 2011), zmoelnig a.k.a. umlaeute (loader update,
Debian package), and myself (Arch package, Lua 5.3 support, tutorial). Please
also check my brief account on the history of pd-lua below.
Lua 5.3 is highly recommended with the latest version, Lua 5.4 should work as
well. Lua 5.2 probably still works, too, but this hasn't been tested
recently. Even older Lua versions are completely untested and unsupported at
this point - use at your own risk.
If you haven't used pdlua before, please make sure to check the included
tutorial first. See:
https://agraef.github.io/pd-lua/tutorial/pd-lua-intro.html
This contains a fairly gentle introduction to pdlua, walks you through the
creation of a basic example, and then goes on to cover all major features of
pdlua, including the special facilities for tables, clocks, receivers, and
live-coding, in quite some detail. This will be helpful when embarking on your
own projects, or trying to make sense of the included examples.
History and Credits:
pdlua was originally written by Claude Heiland-Allen, with contributions by
Frank Barknecht and Martin Peach, according to the original source.
Claude's repository is still online at https://code.mathr.co.uk/pdlua; please
also check Claude's website at https://mathr.co.uk/, and
https://mathr.co.uk/blog/lua.html for Lua-related content on his blog
(including pdlua's original announcement).
Martin Peach took over maintenance of pdlua in 2011, you can find that part of
the history in Pd's old svn repository at SourceForge, including IOhannes
Zmölnig's loader update for Pd 0.47. See
https://sourceforge.net/p/pure-data/svn/HEAD/tree/trunk/externals/loaders/pdlua/
Lua 5.3 is highly recommended, older versions are untested and unsupported -
use at your own risk.
The present source is a fork of umlaeute's repository at
https://anonscm.debian.org/git/pkg-multimedia/pd-lua.git, from which the
official Debian packages are built. This in turn is apparently based on the
0.7.3 version of pdlua in Pd's svn repository.
Compilation Instructions:
The source should compile out of the box on (at least) Linux, macOS and
Windows, just make sure that you have Lua and Pd installed and run `make`.
Ready-to-use binaries for the older Lua 5.2 version are available from Deken.
The latest (Lua 5.3) binaries are on https://github.com/agraef/pd-lua.
Ready-to-use binaries for the older Lua 5.1 and 5.2 versions are available
from Deken and as a Debian package, respectively. The latest (Lua 5.3)
binaries are on https://github.com/agraef/pd-lua.
If you want/need to compile from source, the following details the
requirements for the three most popular platforms.
......@@ -73,7 +112,7 @@ usual `make install` (which copies the external to its own directory named
pdlua). This should generally do something sensible on each of the supported
platforms. Note that the installation may require root privileges.
Linux: By default, installation goes into /usr/local/lib/pd-externals, which
Linux: By default, installation goes into /usr/local/lib/pd/extra, which
should be one of the directories on Pd's search path.
macOS/OS X: Installation goes into ~/Library/Pd by default. Move the pdlua
......
#N canvas 10 10 200 200 10;
#N canvas 360 159 420 300 META 0;
#N canvas 10 38 200 201 10;
#N canvas 359 186 421 302 META 0;
#X text 10 10 META this is a prototype of a libdir meta file;
#X text 10 30 NAME pdlua;
#X text 10 50 LICENSE GNU GPL;
#X text 10 70 DESCRIPTION lua loader for pd;
#X text 10 90 AUTHOR Claude Heiland-Allen \, Frank Barknecht \, Martin
Peach \, IOhannes m zmölnig \, Albert Gräf;
#X text 10 110 VERSION 0.10;
#X text 10 123 VERSION 0.10.1;
#X restore 10 20 pd META;
......@@ -1648,7 +1648,7 @@ void pdlua_setup(void)
t_pdlua_readerdata reader;
int fd;
int result;
char* pdluaver = "pdlua 0.10 (GPL) 2014-2020 Martin Peach et al., based on";
char* pdluaver = "pdlua 0.10.1 (GPL) 2014-2020 Martin Peach et al., based on";
char* luaver = "lua 0.6~svn (GPL) 2008 Claude Heiland-Allen <claude@mathr.co.uk>";
char compiled[MAXPDSTRING];
char luaversionStr[MAXPDSTRING];
......