Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • jwilkes/purr-data
  • aggraef/purr-data
  • samthursfield/purr-data
  • prakhar/purr-data
  • yadu05/purr-data
  • NegiAkash890/purr-data
  • prateekpardeshi/purr-data
  • Shruti3004/purr-data
  • hidimpu/purr-data
  • Atseosi/purr-data
  • piyushjasaiwal/purr-data
  • deveshprasad/purr-data
  • skm_7/purr-data
  • sankt/purr-data
  • ashim_tom/purr-data
  • dineshsoni02/purr-data
  • chaitanya1-coder/purr-data
  • Nitish0007/purr-data
  • nitin/purr-data
  • shuvam09/purr-data
  • gabrielabittencourt/purr-data
  • sivasai/purr-data
  • flachyjoe/purr-data
  • ishankaler/purr-data
  • prateek/purr-data
  • RukshanJS/purr-data
  • rajatshrm648/purr-data
  • Srashti/purr-data
  • Paarth/purr-data
  • AniruddhaGawali/purr-data
  • brittneyjuliet/purr-data
  • prakharagarwal1/purr-data
  • Shreyanshpaliwalcmsmn/purr-data
  • k_amrut/purr-data
  • AyushAnand/purr-data
  • Va16hav07/purr-data
36 results
Show changes
Commits on Source (4887)
Showing
with 3263 additions and 10 deletions
name: Makefile CI
on:
push:
branches: [ master, release, testing ]
tags: [ '*' ]
pull_request:
branches: [ master ]
jobs:
macos-build:
runs-on: macos-13
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
fetch-depth: 0
- name: install dependencies
run: |
brew install automake
brew install fftw
brew install fluidsynth
brew install faac
brew install jpeg
brew install speex
brew install gsl
brew install libquicktime
brew install sdl2
pip3 install markdown
- name: version
run: |
echo "version=$(git describe --tags)" >> $GITHUB_ENV
- name: make
run: |
echo version: $version
make V=0
- name: check
run: make check
- name: upload
uses: actions/upload-artifact@v3
with:
name: purr-data-${{ env.version }}-macos-x86_64
path: Purr-Data-*.dmg
retention-days: 2
ubuntu-build:
runs-on: ubuntu-latest
env:
DEBEMAIL: "Albert Graef <aggraef@gmail.com>"
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
fetch-depth: 0
- name: install dependencies
run: |
# dance around Azure connectivity issues
sudo apt-get update && sudo apt-get -o Acquire::Retries=3 install -q -y debhelper devscripts autoconf automake libtool pkg-config bison flex libgtk2.0-dev libgtk-3-dev dh-python ladspa-sdk libasound2-dev libjack-dev libbluetooth-dev libcairo2-dev libgl-dev libglew-dev libgsl-dev libmagick++-dev libavifile-0.7-dev libdc1394-dev libfftw3-dev libfluidsynth-dev libftgl-dev libgsm1-dev libjpeg-dev libmp3lame-dev libmpeg3-dev libquicktime-dev libraw1394-dev libsmpeg-dev libspeex-dev libstk-dev libtiff5-dev libv4l-dev libdv4-dev libiec61883-dev libxv-dev libxxf86vm-dev libvorbis-dev zlib1g-dev rsync libgconf2-dev libnss3-dev libxtst-dev libxss-dev
pip install markdown
- name: version
run: |
echo "version=$(git describe --tags)" >> $GITHUB_ENV
- name: make
run: |
echo version: $version
cd debuild
make debchange
make deb-us
- name: check
run: echo handled by debuild
- name: upload
uses: actions/upload-artifact@v3
with:
name: purr-data-${{ env.version }}-ubuntu-x86_64
path: debuild/purr-data*.deb
retention-days: 2
windows-build:
runs-on: windows-2022
defaults:
run:
shell: msys2 {0}
env:
CC: gcc
CXX: g++
steps:
- uses: msys2/setup-msys2@v2
- uses: actions/checkout@v3
with:
submodules: recursive
fetch-depth: 0
- name: install innosetup
run: |
wget https://jrsoftware.org/download.php/is.exe -O innosetup.exe
./innosetup.exe //SILENT //CURRENTUSER
- name: install dependencies
run: |
pacman --noconfirm --disable-download-timeout -S autoconf automake git libtool make mingw-w64-x86_64-dlfcn mingw-w64-x86_64-fftw mingw-w64-x86_64-fluidsynth mingw-w64-x86_64-SDL2 mingw-w64-x86_64-ftgl mingw-w64-x86_64-fribidi mingw-w64-x86_64-ladspa-sdk mingw-w64-x86_64-lame mingw-w64-x86_64-libsndfile mingw-w64-x86_64-libvorbis mingw-w64-x86_64-lua mingw-w64-x86_64-toolchain mingw-w64-x86_64-libjpeg-turbo mingw-w64-x86_64-speex mingw-w64-x86_64-python mingw-w64-x86_64-python-markdown rsync unzip wget
- name: version
run: |
echo "version=$(git describe --tags)" >> $GITHUB_ENV
- name: make
run: |
echo version: $version
echo UNAME: `uname -s`
make V=0
- name: check
run: make check
- name: upload
uses: actions/upload-artifact@v3
with:
name: purr-data-${{ env.version }}-mingw-x86_64
path: Purr-Data-*.exe
retention-days: 2
release:
if: startsWith(github.ref, 'refs/tags/')
runs-on: ubuntu-latest
needs: [macos-build, ubuntu-build, windows-build]
steps:
- uses: actions/download-artifact@v3
- name: ziptie
run: |
mkdir dist
for x in purr-data-*; do (cd $x && zip -r ../dist/$x.zip *); done
- name: release
uses: softprops/action-gh-release@v1
with:
prerelease: true
draft: true
files: dist/*.zip
......@@ -4,12 +4,7 @@
*diff
TAGS
autom4te.cache
Makefile
Makefile.in
GNUmakefile
GNUmakefile.in
aclocal.m4
configure
config.log
config.status
libtool
......@@ -24,11 +19,22 @@ m4/config
*.d_fat
*.d_fat_o
po/*.msg
bin
src/pd
src/pd-watchdog
src/pdreceive
src/pdsend
ASIOSDK2
pd-0.*
pd.pc
*.deps
*.d
*.d.*
*_stamp
*.a
.svn
packages/linux_make/build/
pd/src/makefile
pd/src/config.h
pd/src/s_version.h
pd/nw/nw/
l2ork_addons/cwiid/defs.mak
CVS
.DS_Store
*.dmg
.vscode/
\ No newline at end of file
# This file creates automated tests on GitLab CI for Purr Data.
# See https://docs.gitlab.com/ee/ci/yaml/README.html for details of the format.
# These are script snippets used in the jobs defined below.
.debian_image_preparation: &debian_image_preparation
- echo "" | sudo -S apt-get -qq purge -y pd-l2ork > /dev/null || echo "couldn't purge..."
- echo "" | sudo -S DEBIAN_FRONTEND=noninteractive apt-get -qq -y update > /dev/null
- echo "" | sudo -S DEBIAN_FRONTEND=noninteractive apt-get -qq -y upgrade > /dev/null
.build_all: &build_all
- echo -e "section_start:`date +%s`:build_all\r\e[0KBuilding Purr Data"
- cd l2ork_addons
- export V=0
- ./tar_em_up.sh $BUILD_TYPE_FLAG
- cd ..
- echo -e "section_end:`date +%s`:build_all\r\e[0K"
.test_linux: &test_linux
- echo -e "section_start:`date +%s`:test_linux\r\e[0KTesting Purr Data for Linux"
- echo "" | sudo -S DEBIAN_FRONTEND=noninteractive dpkg --force-all -i pd-l2ork*.deb > /dev/null
- valgrind pd-l2ork -noprefs -nogui -nrt -noaudio -send "init dollarzero \$0" scripts/regression_tests.pd
- valgrind pd-l2ork -noprefs -nostdpath -nogui -nrt -noaudio scripts/external-tests.pd
- echo -e "section_end:`date +%s`:text_linux\r\e[0K"
.test_osx: &test_osx
- echo -e "section_start:`date +%s`:test_osx\r\e[0KTesting Purr Data for Mac OSX"
- cd scripts
- ../packages/darwin_app/build/*.app/Contents/Resources/app.nw/bin/pd-l2ork -noprefs -nogui -noaudio -send "init dollarzero \$0" regression_tests.pd
- ../packages/darwin_app/build/*.app/Contents/Resources/app.nw/bin/pd-l2ork -noprefs -nostdpath -nogui -noaudio external-tests.pd
- echo -e "section_end:`date +%s`:text_osx\r\e[0K"
.test_windows: &test_windows
- echo -e "section_start:`date +%s`:test_windows\r\e[0KTesting Purr Data for Windows"
- cd scripts
- ../packages/win64_inno/build/bin/pd.com -noprefs -nogui -noaudio -send "init dollarzero \$0" regression_tests.pd
- ../packages/win64_inno/build/bin/pd.com -noprefs -nostdpath -nogui -noaudio external-tests.pd
- echo -e "section_end:`date +%s`:text_windows\r\e[0K"
debian_stretch_x86_64_deb:
tags:
- debian
- stretch
- x86_64
variables:
BUILD_TYPE_FLAG: -B
before_script:
- *debian_image_preparation
script:
- *build_all
- *test_linux
artifacts:
name: "$CI_RUNNER_DESCRIPTION"
expire_in: 1 day
paths:
- pd*.deb
ubuntu_16.04_x86_64_deb:
tags:
- ubuntu
- v16.04
- x86_64
variables:
BUILD_TYPE_FLAG: -B
before_script:
- *debian_image_preparation
script:
- *build_all
- *test_linux
artifacts:
name: "$CI_RUNNER_DESCRIPTION"
expire_in: 1 day
paths:
- pd*.deb
osx_10.11_x86_64_dmg:
tags:
- osx
- v10.11
- dmg
variables:
BUILD_TYPE_FLAG: -X
script:
- echo `pwd`
- *build_all
- *test_osx
artifacts:
name: "$CI_RUNNER_DESCRIPTION"
expire_in: 1 day
paths:
- Purr*.dmg
osx_10.8_x86_64_dmg:
tags:
- osx
- v10.8
- dmg
variables:
BUILD_TYPE_FLAG: -X
osx_version: "10.8"
script:
- echo `pwd`
- *build_all
- *test_osx
artifacts:
name: "$CI_RUNNER_DESCRIPTION"
expire_in: 1 day
paths:
- Purr*.dmg
windows_x86_64_innosetup:
tags:
- windows
- x86_64
variables:
BUILD_TYPE_FLAG: -Z
script:
- echo `pwd`
- *build_all
- *test_windows
artifacts:
name: "$CI_RUNNER_DESCRIPTION"
expire_in: 1 day
paths:
- Purr*.exe
raspbian_stretch_armv7l_deb:
tags:
- raspbian
- arm
- stretch
variables:
BUILD_TYPE_FLAG: -r
before_script:
- *debian_image_preparation
script:
- echo `pwd`
- *build_all
- *test_linux
artifacts:
name: "$CI_RUNNER_DESCRIPTION"
expire_in: 1 day
paths:
- pd*.deb
[submodule "l2ork_addons/rtcmix-in-pd"]
path = externals/rtcmix-in-pd
url = https://github.com/jwmatthys/rtcmix-in-pd.git
[submodule "l2ork_addons/cwiid"]
path = externals/disis/cwiid
url = https://github.com/pd-l2ork/cwiid
[submodule "Gem"]
path = Gem
url = https://github.com/agraef/Gem.git
[submodule "l2ork_addons/raspberry_pi/disis_gpio/wiringPi"]
path = l2ork_addons/raspberry_pi/disis_gpio/wiringPi
url = https://git.purrdata.net/jwilkes/wiringPi.git
[submodule "externals/pd-lua"]
path = externals/pd-lua
url = https://github.com/agraef/pd-lua.git
Subproject commit 0d5f10cc9166ce8971c6fde32fa0d2d47ab33fa0
This diff is collapsed.
This diff is collapsed.
# Toplevel Makefile for Purr Data. Please note that at present this is just a
# thin wrapper around l2ork_addons/tar_em_up.sh, the traditional Pd-l2ork
# build script.
# The Pd-l2ork build system is very arcane and intricate. Its main purpose is
# putting together a staging area with a complete Pd-l2ork installation and
# then building installers for the supported platforms from that, pulling
# together a bunch of separate packages, each with their own build system.
# Compiling sources is just one of the tasks that the builder does. Therefore
# you'll notice that, unlike with other less complicated source packages,
# `make` will rebuild lots of things even if you just finished another build.
# The available build targets are:
# all: produce a native installer for the host platform (equivalent to
# `tar_em_up.sh -Tk`); note that in order to force a complete rebuild (like
# what `tar_em_up.sh -T` does), you'll have to run `make clean` first
# incremental: like `all`, but does an "incremental build" (equivalent to
# `tar_em_up.sh -tk`), bypassing Gem which takes an eternity to compile; please
# check the tar_em_up.sh script for details
# light: like `incremental`, but does a light build (equivalent to
# `tar_em_up.sh -tkl`) which only includes the most essential externals;
# please check the tar_em_up.sh script for details
# checkout: convenience target to check out all submodules in preparation for
# a subsequent build (the `all`, `incremental` and `dist` targets also do this
# automatically when needed)
# clean: does something similar to what `tar_em_up.sh` does in order to start
# from a clean slate, so that a subsequent build starts from scratch again
# realclean: put the sources into pristine state again (WARNING: this will get
# rid of any uncommitted source changes, too); use this as a last resort to
# get the sources into a compilable state again after things have gone awry
# dist: create a self-contained distribution tarball of the source
# NOTES:
# The realclean and dist targets use git commands and thus only work in a
# working copy of the git repo, not in the static tarball snapshots produced
# by the dist target.
# On Linux systems running `make` will try to produce a Debian package. On
# Linux distributions like Arch which are no Debian derivatives, the Debian
# packaging tools are not available. In this case, `make` will stop right
# before creating the actual package and leave the ready-made staged
# installation tree under `packages/linux_make/build` from where it can be
# copied or packaged up in any desired way.
# The incremental and light builds assume an existing staging area
# (packages/*/build directory) which is *not* cleaned before installing. This
# makes it possible to update the existing staging area after recompiling just
# a part of the system (all but Gem in the case of "incremental", only the
# Pd core and a few essential externals in the case of "light"). Use `make
# clean` beforehand if you want to install into a clean staging area.
# When doing a `light` build, which only includes the most essential
# externals, it may be desirable to manually include additional abstractions
# and externals in the build. To these ends, after running `make light` you
# can run `make` with the `foo_abs` or `foo_ext` target, where `foo` is the
# name of the desired abstraction or external, respectively. E.g., you can run
# `make light memento_abs pdlua_ext` to get a light build with the `memento`
# abstraction and the `pdlua` external included. (This will not rebuild the
# Debian package, though, so you'll have to install manually with `make
# install` instead.) The names of the desired addons must be specified as
# given in abstractions/Makefile and externals/Makefile, respectively (look
# for targets looking like `foo_install`). Also note that even though a
# subsequent `make install` will then include your addons, they won't be
# enabled by default, so you'll have to do that manually in Purr Data's
# `Startup` dialog. Simply adding the name of the addon in the `Libraries`
# list should normally do the trick. Or you can add an option like `-lib foo`
# when running Purr Data from the command line.
.PHONY: all incremental checkout clean realclean dist
# Target platform (OSX/macOS only): On Mojave (10.14 with Xcode 10) this needs
# to be at least 10.9, which is the default now. With older Xcode versions you
# can try earlier versions (>= 10.4) if you need to compile for legacy OSX
# versions.
export macos_target = 10.9
# Installation prefix under which Pd-l2ork is installed (Linux only). If this
# isn't set, a default location will be used (usually /usr/local). NOTE: We
# *always* assume that this variable is set properly in the install targets,
# as well as the (Linux) check target (see below).
prefix = /usr
ifneq ($(prefix),)
env = inst_dir="$(prefix)"
endif
install_vars = DESTDIR=$(firstword $(wildcard $(CURDIR)/packages/*/build)) prefix=$(prefix)
# You can set the nwjsver variable to indicate the nw.js version to build
# against. This will also clear out any cached nw.js binaries beforehand.
# Note that some nw.js versions for certain platforms have to be hard-coded,
# so the nwjsver variable won't affect these, but it will still cause the
# cache to be cleared and the binaries to be downloaded. See the tar_em_up.sh
# script for details.
ifneq ($(nwjsver),)
env += nwjsver="$(nwjsver)"
endif
# You can set CFLAGS to whatever special compile options are needed. E.g., to
# build the double precision version: CFLAGS = -DPD_FLOATSIZE=64
CFLAGS =
export CFLAGS
# For the light build only, you can add externals to be included in the build.
addons =
export addons
# You can also set this variable to specify externals NOT to be built. E.g.,
# to prevent building Gem (which takes an eternity to build): blacklist = gem
blacklist =
export blacklist
all:
cd l2ork_addons && $(env) ./tar_em_up.sh -Tk
incremental:
cd l2ork_addons && $(env) ./tar_em_up.sh -tk
light:
cd l2ork_addons && $(env) ./tar_em_up.sh -tkl
# Convenience targets to build the double precision version.
# Blacklist of externals which don't work with double precision yet.
double_blacklist = autotune smlib
# These are dubious, passing float* for t_float* pointers, and so are most
# likely broken, even though they compile with double precision.
double_blacklist += cyclone lyonpotpourri
all-double:
cd l2ork_addons && $(env) CFLAGS=-DPD_FLOATSIZE=64 blacklist="$(double_blacklist)" ./tar_em_up.sh -Tk
incremental-double:
cd l2ork_addons && $(env) CFLAGS=-DPD_FLOATSIZE=64 blacklist="$(double_blacklist)" ./tar_em_up.sh -tk
light-double:
cd l2ork_addons && $(env) CFLAGS=-DPD_FLOATSIZE=64 blacklist="$(double_blacklist)" ./tar_em_up.sh -tkl
%_abs:
make -C abstractions $(@:%_abs=%) $(@:%_abs=%_install) $(install_vars)
%_ext:
make -C externals $(@:%_ext=%) $(@:%_ext=%_install) $(install_vars)
checkout:
git submodule update --init --recursive
clean:
test "$(shell uname -s)" = "Darwin" && make -C packages/darwin_app clean || true
cd pd/src && aclocal && autoconf && make clean || true
cd externals/miXed && make clean || true
cd Gem/src/ && test -f Makefile && make distclean || true
cd Gem/src/ && rm -rf ./.libs && rm -rf ./*/.libs || true
cd Gem/ && test -f Makefile && make distclean || true
cd Gem/ && rm -f gemglutwindow.pd_linux Gem.pd_linux || true
rm -rf packages/*/build/
realclean:
# This requires a working copy of the git repo.
@test -d .git || (echo "Not a git repository, bailing out." && false)
git submodule deinit --all -f
git checkout .
git clean -dffx -e pd/nw/nw/
# Check targets. These run the regression tests in scripts.
# Requires a full build.
os = $(shell uname|sed 's/^\(MINGW[0-9]*\)_NT.*/\1/')
ifeq ($(os),Linux)
# Linux (all flavors)
pdprog = packages/linux_make/build$(prefix)/bin/pd-l2ork
else ifeq ($(os),Darwin)
# Mac
pdprog = packages/darwin_app/build/*.app/Contents/Resources/app.nw/bin/pd-l2ork
else ifeq ($(os),MINGW64)
# Msys2 mingw64
pdprog = packages/win64_inno/build/bin/pd.exe
else ifeq ($(os),MINGW32)
# Msys2 mingw32
pdprog = packages/win32_inno/build/bin/pd.exe
endif
ifneq ($(pdprog),)
# This runs just a quick regression test, useful to see whether the program
# works at all.
check1:
$(pdprog) -noprefs -nogui -noaudio -send 'init dollarzero $$0' scripts/regression_tests.pd
# This runs the full test suite, including the test of the externals.
check:
$(pdprog) -noprefs -nogui -noaudio -send 'init dollarzero $$0' scripts/regression_tests.pd
$(pdprog) -noprefs -nostdpath -nogui -noaudio scripts/external-tests.pd
else
check1 check:
@echo "Target $(os) not recognized, can't run 'make $@'!"; false
endif
# Installation targets. These don't work on Mac and Windows right now, you
# should use the generated installers on these systems instead. Also,
# $(prefix) must be set. $(DESTDIR) is supported as well, so you can do staged
# installs (but then again presumably you already have a staged install
# sitting in packages/*/build, so you might as well use that instead).
# Note that these targets simply (un)install whatever is in the
# packages/*/build directory at the time they're invoked. If no build
# directory is present then nothing will happen, so you need to run `make` (or
# `make incremental`, etc.) before running these targets. Also note that some
# old cruft under build/etc (all but the bash auto-completions) isn't
# installed as it isn't needed on modern Linux systems any more.
builddir = $(firstword $(wildcard packages/*/build))
ifneq ($(builddir),)
manifest = etc/bash_completion.d/pd-l2ork $(prefix:/%=%)/include/pd-l2ork $(prefix:/%=%)/lib/pd-l2ork $(patsubst $(builddir)/%,%, $(wildcard $(builddir)/$(prefix:/%=%)/bin/*) $(shell find $(builddir)/usr/share -type f))
endif
ifneq ($(manifest),)
install:
test -z "$(DESTDIR)" || (rm -rf "$(DESTDIR)" && mkdir -p "$(DESTDIR)")
tar -c -C $(builddir) $(manifest) | tar -x -C $(DESTDIR)/
# Edit the library paths in the default user.settings file so that it matches
# our installation prefix.
test -f "$(DESTDIR)"$(prefix)/lib/pd-l2ork/default.settings && cd "$(DESTDIR)"$(prefix)/lib/pd-l2ork && sed -e "s!/usr/lib/pd-l2ork!$(prefix)/lib/pd-l2ork!g" -i default.settings || true
uninstall:
rm -rf $(addprefix $(DESTDIR)/, $(manifest))
else
install:
@echo "no build directory, run make first" && false
uninstall:
@echo "no build directory, run make first" && false
endif
# Build a self-contained distribution tarball (snapshot). This is pretty much
# the same as in debuild/Makefile and must be run in a working copy of the git
# repo.
# The Debian version gets derived from the date and serial number of the last
# commit.
debversion = $(shell grep PD_L2ORK_VERSION pd/src/m_pd.h | sed 's|^.define *PD_L2ORK_VERSION *"\(.*\)".*|\1|')+git$(shell test -d .git && git rev-list --count HEAD)+$(shell test -d .git && git rev-parse --short HEAD)
# Source tarball and folder.
debsrc = purr-data_$(debversion).orig.tar.gz
debdist = purr-data-$(debversion)
# Submodules (Gem, etc.).
submodules = $(sort $(shell test -d .git && (git config --file .gitmodules --get-regexp path | awk '{ print $$2 }')))
dist: $(debsrc)
# Determine the version number of this build. We get this from m_pd.h.
PD_L2ORK_VERSION := $(shell grep PD_L2ORK_VERSION pd/src/m_pd.h | sed 's|^.define *PD_L2ORK_VERSION *"\(.*\)".*|\1|')
# Determine the build version which needs git to be computed, so we can't do
# it in a stand-alone build from a tarball.
PD_BUILD_VERSION := $(shell test -d .git && (git log -1 --format=%cd --date=short | sed -e 's/-//g'))-rev.$(shell test -d .git && git rev-parse --short HEAD)
$(debsrc):
@test -d .git || (echo "Not a git repository, bailing out." && false)
rm -rf $(debdist)
# Make sure that the submodules are initialized.
git submodule update --init
# Grab the main source.
git archive --format=tar.gz --prefix=$(debdist)/ HEAD | tar xfz -
# Grab the submodules.
for x in $(submodules); do (cd $(debdist) && rm -rf $$x && git -C ../$$x archive --format=tar.gz --prefix=$$x/ HEAD | tar xfz -); done
# Pre-generate and put s_version.h into the tarball (see above; the build
# version is generated using git which can't be done outside the git repo).
sed 's|^\(#define PD_BUILD_VERSION "\).*"|\1$(PD_BUILD_VERSION)"|' pd/src/s_version.h.in > $(debdist)/pd/src/s_version.h
# Pre-generate the markdown and html docs so that they will be included in the
# source. This means that we don't need any special tools as a build
# dependency, which makes live a lot easier.
make -C packages/gendoc version="$(PD_L2ORK_VERSION)" build_version="$(PD_BUILD_VERSION)"
mv packages/gendoc/{ReadMe,Welcome}-*.{md,html} $(debdist)/packages/gendoc
make -C packages/gendoc clean
# Create the source tarball.
tar cfz $(debsrc) $(debdist)
rm -rf $(debdist)
This diff is collapsed.
#N canvas 498 186 612 569 10;
#X floatatom 85 92 5 -20 127 0 - - -;
#X text 86 74 data;
#X msg 92 117 0;
#X msg 120 117 127;
#X obj 85 251 time_roll;
#X floatatom 310 225 5 0 0 0 - - -;
#X msg 153 117 64;
#X text 476 452 la Kitchen;
#X text 476 469 Charles Verron;
#X text 475 436 2004_03_22;
#X text 476 452 la Kitchen;
#X text 476 469 Charles Verron;
#X text 475 436 2004_03_22;
#X text 476 452 la Kitchen;
#X text 476 469 Charles Verron;
#X text 475 436 2004_03_22;
#X floatatom 369 173 5 0 0 0 - - -;
#X text 417 171 size: n (n>=2);
#X obj 296 198 amplitude_n 2;
#X obj 296 251 time_roll;
#X obj 85 172 f;
#X text 51 32 amplitude_n return the amplitude covered by the last
n (n>1) values;
#X connect 0 0 20 0;
#X connect 2 0 20 0;
#X connect 3 0 20 0;
#X connect 6 0 20 0;
#X connect 16 0 18 1;
#X connect 18 0 5 0;
#X connect 18 0 19 0;
#X connect 20 0 4 0;
#X connect 20 0 18 0;
#N canvas 45 191 288 291 10;
#X obj 71 44 inlet;
#X obj 71 178 -;
#X obj 71 104 t f f;
#X obj 173 45 inlet;
#X obj 71 214 outlet;
#X obj 71 137 max_n \$1;
#X obj 130 137 min_n \$1;
#X connect 0 0 2 0;
#X connect 1 0 4 0;
#X connect 2 0 5 0;
#X connect 2 1 6 0;
#X connect 3 0 5 1;
#X connect 3 0 6 1;
#X connect 5 0 1 0;
#X connect 6 0 1 1;
#N canvas 252 177 643 533 10;
#X obj 18 133 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
-1 -1 10100 1;
#X obj 18 309 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
-1 -1 3800 1;
#X floatatom 53 321 5 0 0 0 - - -;
#X floatatom 89 340 5 0 0 0 - - -;
#X floatatom 89 202 5 0 0 0 - - -;
#X floatatom 65 183 5 0 0 0 - - -;
#X floatatom 124 360 5 0 0 0 - - -;
#X floatatom 160 380 5 0 0 0 - - -;
#X floatatom 136 241 5 0 0 0 - - -;
#X floatatom 112 222 5 0 0 0 - - -;
#X obj 41 154 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#N canvas 62 435 547 477 save 0;
#X obj 67 222 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
-1 -1 9005 1;
#X obj 67 35 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
-1 -1 6800 1;
#X obj 87 150 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#X msg 99 231 set \$1;
#X msg 99 253 29;
#X msg 164 271 set \$1;
#X obj 164 213 loadbang;
#X text 128 42 This is just an exemple of saving the calibration on
message box.;
#X msg 164 293 84;
#X obj 67 189 autocal 0 127 0 12;
#X text 127 75 Calibration is then saved automaticaly with the patch
;
#X connect 1 0 9 0;
#X connect 2 0 9 1;
#X connect 3 0 4 0;
#X connect 4 0 9 2;
#X connect 5 0 8 0;
#X connect 6 0 4 0;
#X connect 6 0 8 0;
#X connect 8 0 9 3;
#X connect 9 0 0 0;
#X connect 9 1 3 0;
#X connect 9 2 5 0;
#X restore 15 506 pd save calibration;
#X text 59 155 learn;
#X text 35 129 Data input;
#X text 206 317 minimum of the input;
#X text 206 338 maximum of the input;
#X text 206 360 center of the input;
#X text 43 424 calibrated output;
#X text 191 178 manual change the input minimum;
#X text 191 197 manual change the input maximum;
#X text 206 379 variation amplitude;
#X text 195 45 autocal is an abstraction dedicated to calibrated sensors
value. (auto calibration);
#X text 196 112 You can easilly save this calibration in pd patch \,
or adjust the jitter etc...;
#X text 193 79 The autocal abstraction is "listening" to input value
while "learn" is 1 \, and scale this input to the specified range.
;
#X text 190 220 manual change the input center (jitter);
#X text 191 239 manual change the input amplitude (change sensibility
of the sensors);
#X text 296 9 autocal;
#N canvas 0 0 885 432 non-linear 0;
#X obj 17 28 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
-1 -1 8200 1;
#X obj 17 204 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
-1 -1 10205 1;
#X floatatom 159 148 5 0 0 0 - - -;
#X text 196 248 float is for the rest...;
#X text 201 214 1 is for square;
#X text 194 229 -1 is for square root;
#X text 184 176 last parametter control the shape of the transfer fonction
;
#X text 200 199 O (default) is for linear;
#X obj 17 172 autocal 0 127 0 127 1;
#X connect 0 0 8 0;
#X connect 2 0 8 6;
#X connect 8 0 1 0;
#X restore 15 487 pd non-linear;
#X text 172 278 argument = output range (default = 0..1) \, input range
(default = 0 1) \, curve (default = linear);
#N canvas 0 0 525 500 clip 0;
#X obj 50 28 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
-1 -1 2000 1;
#X obj 50 207 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
-1 -1 2000 1;
#X obj 104 72 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#X msg 104 94 clip \$1;
#X text 133 72 clik output to limit value or not;
#X obj 50 175 autocal 30 80 30 80;
#X text 176 93 (default = 1);
#X connect 0 0 5 0;
#X connect 2 0 3 0;
#X connect 3 0 5 0;
#X connect 5 0 1 0;
#X restore 15 468 pd clip;
#X text 325 498 cyrille.henry@la-kitchen.fr 04_2005;
#X obj 18 277 autocal 10 80 0 127 2;
#X connect 0 0 31 0;
#X connect 4 0 31 3;
#X connect 5 0 31 2;
#X connect 8 0 31 5;
#X connect 9 0 31 4;
#X connect 10 0 31 1;
#X connect 31 0 1 0;
#X connect 31 1 2 0;
#X connect 31 2 3 0;
#X connect 31 3 6 0;
#X connect 31 4 7 0;
#N canvas 494 63 973 740 10;
#X obj 224 311 f;
#X obj 344 313 f;
#X obj 187 311 min;
#X obj 306 312 max;
#X obj 187 188 select 1;
#X obj 187 270 t f f;
#X obj 306 273 t f f;
#X obj 81 118 spigot;
#X obj 47 546 max 0;
#N canvas 218 182 467 408 range_0_1 0;
#X obj 16 45 inlet;
#X obj 76 46 inlet;
#X obj 171 43 inlet;
#X obj 16 340 outlet;
#X obj 76 163 t f b f;
#X obj 16 254 -;
#X obj 76 138 \$3;
#X obj 98 249 -;
#X obj 98 223 \$4;
#X obj 16 290 /;
#X obj 254 103 \$3;
#X obj 254 126 || \$4;
#X text 234 203 if \$0 = \$4 = 0 then \$4=127;
#X obj 224 45 r \$0-loadbang;
#X obj 254 150 sel 0;
#X obj 224 73 t b b;
#X msg 254 173 1;
#X connect 0 0 5 0;
#X connect 1 0 6 0;
#X connect 2 0 8 0;
#X connect 4 0 5 1;
#X connect 4 1 8 0;
#X connect 4 2 7 1;
#X connect 5 0 9 0;
#X connect 6 0 4 0;
#X connect 7 0 9 1;
#X connect 8 0 7 0;
#X connect 9 0 3 0;
#X connect 10 0 11 0;
#X connect 11 0 14 0;
#X connect 13 0 15 0;
#X connect 14 0 16 0;
#X connect 15 0 6 0;
#X connect 15 1 10 0;
#X connect 16 0 8 0;
#X restore 47 436 pd range_0_1;
#X obj 47 523 min 1;
#X obj 47 679 + \$1;
#X obj 167 546 \$1;
#X obj 142 546 \$2;
#X obj 142 571 -;
#X obj 142 593 sel 0;
#X obj 47 657 * 1;
#X obj 142 522 t b b;
#X obj 8 7 inlet in;
#X obj 187 34 inlet learn;
#X obj 361 34 inlet min;
#X obj 457 32 inlet max;
#X obj 567 56 inlet center;
#X obj 81 248 t f f;
#X obj 457 630 / 2;
#X obj 565 627 * -1;
#X obj 699 165 / 2;
#X obj 567 249 +;
#X obj 583 227 * -1;
#X obj 683 250 +;
#X obj 308 699 outlet min;
#X obj 373 723 outlet max;
#X obj 457 699 outlet center;
#X obj 565 699 outlet amplitude;
#X obj 669 56 inlet amplitude;
#X msg 187 244 1e+09;
#X obj 567 170 t f f;
#X obj 457 601 +;
#X obj 47 701 outlet data;
#X obj 826 65 inlet NL;
#X text 834 82 O is for linear;
#X text 793 132 float is for the rest...;
#X obj 826 188 \$5;
#X obj 565 602 -;
#X obj 457 579 t f f;
#X obj 308 524 f;
#X obj 373 521 f;
#X obj 567 134 f;
#X obj 669 81 t b f;
#X obj 457 554 f;
#X obj 457 447 t b f;
#X text 835 97 1 is for square;
#X text 828 112 -1 is for square root;
#X msg 306 247 1e-09;
#X obj 334 107 spigot 1;
#X msg 400 135 0;
#X obj 351 164 loadbang;
#X obj 142 499 r \$0-loadbang;
#X obj 840 164 r \$0-loadbang;
#X obj 47 62 t f b;
#X text 340 212 fake loadbang;
#X obj 418 167 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 334 190 s \$0-loadbang;
#X obj 8 32 route clip;
#N canvas 0 0 450 300 gate2 0;
#X obj 30 20 inlet;
#X obj 30 215 outlet;
#X obj 193 22 inlet;
#X obj 156 132 spigot;
#X obj 156 218 outlet;
#X obj 193 59 * -1;
#X obj 193 87 + 1;
#X obj 30 129 spigot 1;
#X connect 0 0 3 0;
#X connect 0 0 7 0;
#X connect 2 0 5 0;
#X connect 2 0 7 1;
#X connect 3 0 4 0;
#X connect 5 0 6 0;
#X connect 6 0 3 1;
#X connect 7 0 1 0;
#X restore 47 498 pd gate2;
#X floatatom 70 464 5 0 0 0 - - -;
#N canvas 0 0 631 664 pow 0;
#X obj 106 238 pow 1;
#X obj 62 49 inlet;
#X obj 271 44 inlet;
#X obj 106 405 outlet;
#X obj 271 193 exp;
#X msg 287 123 2;
#X obj 287 148 log;
#X obj 271 171 *;
#X obj 287 99 r \$0-loadbang;
#X obj 62 178 moses 0;
#X obj 62 283 * -1;
#X obj 62 325 pow 1;
#X obj 62 352 * -1;
#X connect 0 0 3 0;
#X connect 1 0 9 0;
#X connect 2 0 7 0;
#X connect 4 0 0 1;
#X connect 4 0 11 1;
#X connect 5 0 6 0;
#X connect 6 0 7 1;
#X connect 7 0 4 0;
#X connect 8 0 5 0;
#X connect 9 0 10 0;
#X connect 9 1 0 0;
#X connect 10 0 11 0;
#X connect 11 0 12 0;
#X connect 12 0 3 0;
#X restore 47 627 pd pow;
#X connect 0 0 2 1;
#X connect 1 0 3 1;
#X connect 2 0 0 0;
#X connect 2 0 45 0;
#X connect 3 0 1 0;
#X connect 3 0 46 0;
#X connect 4 0 53 0;
#X connect 4 0 35 0;
#X connect 5 0 2 0;
#X connect 5 1 2 1;
#X connect 6 0 3 0;
#X connect 6 1 3 1;
#X connect 7 0 23 0;
#X connect 8 0 66 0;
#X connect 9 0 64 0;
#X connect 9 0 65 0;
#X connect 10 0 8 0;
#X connect 11 0 38 0;
#X connect 12 0 14 1;
#X connect 13 0 14 0;
#X connect 14 0 15 0;
#X connect 15 1 16 1;
#X connect 16 0 11 0;
#X connect 17 0 13 0;
#X connect 17 1 12 0;
#X connect 18 0 63 0;
#X connect 19 0 7 1;
#X connect 19 0 4 0;
#X connect 20 0 45 0;
#X connect 21 0 50 0;
#X connect 22 0 47 0;
#X connect 23 0 2 0;
#X connect 23 1 3 0;
#X connect 24 0 32 0;
#X connect 25 0 33 0;
#X connect 26 0 29 1;
#X connect 26 0 28 0;
#X connect 27 0 45 0;
#X connect 28 0 27 1;
#X connect 29 0 46 0;
#X connect 34 0 48 0;
#X connect 35 0 5 0;
#X connect 36 0 27 0;
#X connect 36 1 29 0;
#X connect 37 0 24 0;
#X connect 39 0 42 0;
#X connect 42 0 66 1;
#X connect 43 0 25 0;
#X connect 44 0 37 0;
#X connect 44 1 43 0;
#X connect 45 0 30 0;
#X connect 45 0 49 0;
#X connect 45 0 9 1;
#X connect 46 0 31 0;
#X connect 46 0 43 1;
#X connect 46 0 37 1;
#X connect 46 0 9 2;
#X connect 47 0 36 0;
#X connect 48 0 47 0;
#X connect 48 1 26 0;
#X connect 49 0 44 0;
#X connect 50 0 49 0;
#X connect 50 1 46 0;
#X connect 53 0 6 0;
#X connect 54 0 55 0;
#X connect 54 0 62 0;
#X connect 55 0 54 1;
#X connect 56 0 62 0;
#X connect 57 0 17 0;
#X connect 58 0 42 0;
#X connect 59 0 7 0;
#X connect 59 0 9 0;
#X connect 59 1 54 0;
#X connect 61 0 62 0;
#X connect 63 0 64 1;
#X connect 63 1 59 0;
#X connect 64 0 10 0;
#X connect 64 1 66 0;
#X connect 66 0 16 0;
#N canvas 674 142 600 448 10;
#X floatatom 85 92 5 0 127 0 - - -;
#X text 86 74 data;
#X msg 92 117 0;
#X msg 120 117 127;
#X obj 224 205 time_roll;
#X floatatom 86 336 5 0 0 0 - - -;
#X floatatom 165 338 5 0 0 0 - - -;
#X msg 153 117 64;
#X text 480 318 la Kitchen;
#X text 480 335 Charles Verron;
#X text 479 302 2004_03_22;
#X text 480 318 la Kitchen;
#X text 480 335 Charles Verron;
#X text 479 302 2004_03_22;
#X text 480 318 la Kitchen;
#X text 480 335 Charles Verron;
#X text 479 302 2004_03_22;
#X text 51 32 catch_extremum2 return the last locals minimum and maximum
values;
#X obj 86 171 f;
#X obj 96 314 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 177 313 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 86 290 catch_extremum;
#X connect 0 0 18 0;
#X connect 2 0 18 0;
#X connect 3 0 18 0;
#X connect 7 0 18 0;
#X connect 18 0 4 0;
#X connect 18 0 21 0;
#X connect 21 0 5 0;
#X connect 21 0 19 0;
#X connect 21 1 6 0;
#X connect 21 1 20 0;
#N canvas 128 96 596 571 10;
#X obj 166 259 > 0;
#X obj 166 338 f;
#X obj 221 337 f;
#X obj 221 259 < 0;
#X obj 141 191 t f f;
#X obj 166 229 -;
#X obj 221 311 sel 0;
#X obj 166 312 sel 0;
#X obj 224 188 f;
#X obj 141 152 t f f b;
#X obj 221 285 change;
#X obj 166 285 change;
#X obj 166 373 outlet;
#X obj 221 373 outlet;
#X obj 141 112 inlet;
#X connect 0 0 11 0;
#X connect 1 0 12 0;
#X connect 2 0 13 0;
#X connect 3 0 10 0;
#X connect 4 0 5 1;
#X connect 4 1 5 0;
#X connect 5 0 0 0;
#X connect 5 0 3 0;
#X connect 6 0 2 0;
#X connect 7 0 1 0;
#X connect 8 0 1 1;
#X connect 8 0 2 1;
#X connect 9 0 4 0;
#X connect 9 1 8 1;
#X connect 9 2 8 0;
#X connect 10 0 6 0;
#X connect 11 0 7 0;
#X connect 14 0 9 0;
#N canvas 67 177 624 438 10;
#X floatatom 85 92 5 0 127 0 - - -;
#X text 86 74 data;
#X msg 92 117 0;
#X msg 120 117 127;
#X obj 224 205 time_roll;
#X floatatom 86 336 5 0 0 0 - - -;
#X floatatom 171 338 5 0 0 0 - - -;
#X msg 153 117 64;
#X text 480 318 la Kitchen;
#X text 480 335 Charles Verron;
#X text 479 302 2004_03_22;
#X text 480 318 la Kitchen;
#X text 480 335 Charles Verron;
#X text 479 302 2004_03_22;
#X text 480 318 la Kitchen;
#X text 480 335 Charles Verron;
#X text 479 302 2004_03_22;
#X obj 86 290 catch_extremum2;
#X text 51 32 catch_extremum2 return the last locals minimum and maximum
values;
#X obj 86 171 f;
#X obj 96 314 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 183 313 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X connect 0 0 19 0;
#X connect 2 0 19 0;
#X connect 3 0 19 0;
#X connect 7 0 19 0;
#X connect 17 0 5 0;
#X connect 17 0 20 0;
#X connect 17 1 6 0;
#X connect 17 1 21 0;
#X connect 19 0 4 0;
#X connect 19 0 17 0;
#N canvas 532 106 604 579 10;
#X obj 166 338 f;
#X obj 221 337 f;
#X obj 221 259 < 0;
#X obj 141 191 t f f;
#X obj 166 229 -;
#X obj 221 311 sel 0;
#X obj 166 312 sel 0;
#X obj 224 188 f;
#X obj 141 152 t f f b;
#X obj 221 285 change;
#X obj 166 285 change;
#X obj 166 373 outlet;
#X obj 221 373 outlet;
#X obj 141 112 inlet;
#X obj 166 259 >= 0;
#X connect 0 0 11 0;
#X connect 1 0 12 0;
#X connect 2 0 9 0;
#X connect 3 0 4 1;
#X connect 3 1 4 0;
#X connect 4 0 2 0;
#X connect 4 0 14 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 1;
#X connect 7 0 1 1;
#X connect 8 0 3 0;
#X connect 8 1 7 1;
#X connect 8 2 7 0;
#X connect 9 0 5 0;
#X connect 10 0 6 0;
#X connect 13 0 8 0;
#X connect 14 0 10 0;
#N canvas 462 63 487 290 10;
#X floatatom 130 138 5 0 0 0 - - -;
#X floatatom 75 190 5 0 0 0 - - -;
#X msg 75 106 0;
#X msg 106 106 1;
#X text 168 137 size: n;
#X text 54 238 see:;
#X obj 75 164 change_n 5;
#X text 76 83 input : boolean (0 or 1);
#X text 338 235 la Kitchen;
#X text 338 252 Charles Verron;
#X obj 170 238 one_n;
#X text 44 41 are the same \, else 1;
#X text 43 22 This abstraction returns 0 if the last n datas;
#X obj 101 238 zero_n;
#X text 337 220 2004_03_18;
#X connect 0 0 6 1;
#X connect 2 0 6 0;
#X connect 3 0 6 0;
#X connect 6 0 1 0;
#N canvas 158 35 284 316 10;
#X obj 66 249 outlet;
#X obj 66 191 != 1;
#X obj 101 191 != 0;
#X obj 66 221 &&;
#X obj 66 158 t a a;
#X obj 66 126 mtx_mean;
#X obj 157 43 inlet;
#X obj 66 42 inlet;
#X obj 66 70 != 0;
#X obj 66 96 last_n_matrix \$1;
#X connect 1 0 3 0;
#X connect 2 0 3 1;
#X connect 3 0 0 0;
#X connect 4 0 1 0;
#X connect 4 1 2 0;
#X connect 5 0 4 0;
#X connect 6 0 9 1;
#X connect 7 0 8 0;
#X connect 8 0 9 0;
#X connect 9 0 5 0;
#N canvas 292 114 497 331 10;
#X obj 106 89 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X floatatom 130 113 5 0 0 0 - - -;
#X floatatom 106 205 5 0 0 0 - - -;
#X obj 155 138 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 91 48 counts from 0 to n-1;
#X text 176 110 <-- n;
#X text 194 134 <-- reset counter;
#X text 293 225 la Kitchen;
#X text 293 242 Charles Verron;
#X text 292 209 2004_03_22;
#X text 293 225 la Kitchen;
#X text 293 242 Charles Verron;
#X text 292 209 2004_03_22;
#X text 293 225 la Kitchen;
#X text 293 242 Charles Verron;
#X text 292 209 2004_03_22;
#X obj 144 203 print;
#X obj 106 174 count_n 5;
#X connect 0 0 17 0;
#X connect 1 0 17 1;
#X connect 3 0 17 2;
#X connect 17 0 2 0;
#X connect 17 0 16 0;