Commit 75b0915a authored by IOhannes m zmölnig's avatar IOhannes m zmölnig

Update upstream source from tag 'upstream/0.94'

Update to upstream version '0.94'
with Debian dir c62db8247c412576c2f243c060c08ad6277938fe
parents 1114f765 5ce24de1

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

......@@ -8,8 +8,7 @@ https://github.com/umlaeute/Gem
if you want to compile the newest (bleeding edge, and possibly unstable) source
code yourself, you can get a copy from the public git repository:
read-only access: https://git.iem.at/pd/Gem.git
read-write access: ssh://git@git.iem.at:pd/Gem.git
https://git.iem.at/pd/Gem.git
There is also a mirror on github:
https://github.com/umlaeute/Gem
......
General:
osx: carbon/QuickTime not supported anymore since 10.6
Optimization:
use a more performant float2int conversion as described in
http://www.mega-nerd.com/FPcast/
Output:
multiple output
"external" windows
alpha in gemwindow?
linux: sometimes window freezes on "destroy"; (JMZ: i experience this sometimes on improper shutdown, but after some (up to 30) seconds, the window finally gets destroyed and pd exits fine; if this is the same as the reported bug, than it is rather an inconvenience than a real bug; does this also happens with Output/ objects or only with the old code?)
linux: resizing the window yields weird results
osx: [gemcocoawindow] compatible with [gemmacwindow]?
Controls:
selectables
Geos:
vertex stuff
Manips:
Nongeos:
add other light-types
check for the maximum number of lights during runtime
Pixes:
windows movie loader (have a look at guliverkli?; use gmerlin?)
upsidedown: pix_rectangle does not respect the upside-down flag and thus sometimes the rectangle appears in the upper-left corner and sometimes in the lower-left corner
generally all images on all platforms should have the same (upsidedown!) orientation
see http://stackoverflow.com/questions/443086/opengl-topdown-bottomup-textures
pix_rtx: flickering on OSX/ppc in mode#0;
how to prevent execessive memory usage?
pix_threshold: intial arguments
pix_crop: arguments/inlets differ!
pix_freeframe not supported on x86_64 architectures (newer versions of FF support x86_64; check whether this is compatible)
videopipes:
W32:AVIsynth/frameserver (http://www.debugmode.com/frameserver/)
W32:VirtualCamera
OSX:Syphon (http://syphon.v002.info/)
osx: pix_movie flickers (check whether this is still true)
w32: [pix_share_*] does not exist since the shared-memory concept has not made it to redmond yet
w32: crashes when texturing movies (related to GLEW?)
dreaming:
Pd-callbacks:
remove the entire callback-stuff for Pd-messages from the obj_realSetup()
instead this should be handled centrally in CPPExtern
- each member function called <name>Mess() provides a method for "<name>"
- dispatching can be done by Pd or Gem (the latter being easier)
info/ideas
- http://www.codeproject.com/KB/winsdk/callback_adapter.aspx
- Qt slot concept (http://sigslot.sourceforge.net/)
- reflection/inspection
- function-name demangling: http://publib.boulder.ibm.com/infocenter/comphelp/v8v101/index.jsp?topic=/com.ibm.xlcpp8a.doc/proguide/ref/rkcxxflt.htm
wrap the entire Pd thing into C++:
GemOutlet()->send(int val);
BUGS:
look into flext conflict (i guess it's related to "new/delete")
single-object externals will run the setup-function twice; this gives nasty warnings in Pd-0.42
AUTOMAKE_OPTIONS = foreign
SUFFIXES = .pd
.SUFFIXES = .pd
gemabsdir=$(pkglibdir)
......
This diff is collapsed.
## include this at the beginning of your travis-scripts
## with something like
## test -r ${0%/*}/common.source && . ${0%/*}/common.source
## helper functions
error() {
echo "$@" 1>&2
}
debug() {
error "$@"
$@
}
getbin() {
for i in $@
do
if which "${i}" >/dev/null 2>&1
then
echo "${i}"
return
fi
done
}
READLINK=$(getbin greadlink readlink)
if [ "x$(${READLINK} -f . 2>/dev/null)" = "x" ]; then
READLINK=""
fi
SCRIPTDIR=${0%/*}
if [ "x${READLINK}" != "x" ]; then
SCRIPTDIR=$(${READLINK} -f "${SCRIPTDIR}")
GEMDIR=$(${READLINK} -f "${SCRIPTDIR}/../..")
else
## try to get full path of SCRIPTDIR
# if SCRIPTDIR starts with a slash, it's an absolute path (leave it as it is)
# else we append it to the current working directory
if [ "x${SCRIPTDIR#/}" = "x${SCRIPTDIR}" ]; then
SCRIPTDIR=$(pwd)/${SCRIPTDIR}
fi
GEMDIR=${SCRIPTDIR}/../..
fi
PDDIR=/usr/include/pd
BUILDDIR=${GEMDIR}
ENVFILE=${SCRIPTDIR}/gem.env
if [ -e "${ENVFILE}" ]; then
. "${ENVFILE}"
else
error "couldn't read env-file ${ENVFILE}, continuing anyhow"
fi
error "SCRIPTDIR: ${SCRIPTDIR}"
error "GEMDIR: ${GEMDIR}"
error "ARCH: ${ARCH}"
#!/bin/sh
# this script is intended to be run by Travis
# see https://travis-ci.org/umlaeute/Gem
## it's based on avilleret's work:
# see https://travis-ci.org/avilleret/Gem
test -r ${0%/*}/common.source && . ${0%/*}/common.source
cd "${SCRIPTDIR}"
error "configuring Gem for $TRAVIS_OS_NAME"
debug ${GEMDIR}/autogen.sh || exit 1
mkdir -p "${BUILDDIR}"
cd "${BUILDDIR}"
case "$TRAVIS_OS_NAME" in
linux)
if [ "x${ARCH}" != "x" -a "x${ARCH}" != "x$(uname -m)" ]; then
error "unable to cross-compile for architecture ${ARCH}"
exit 1
fi
CONFIGUREFLAGS=""
#CONFIGUREFLAGS="--without-ftgl"
;;
osx)
CONFIGUREFLAGS="--without-ftgl \
--without-QuickTime-framework \
--without-Carbon-framework"
if [ "x${ARCH}" != "x" ]; then
CONFIGUREFLAGS+=" --enable-fat-binary=${ARCH}"
fi
;;
esac
debug "${GEMDIR}/configure" --with-pd="${PDDIR}" ${CONFIGUREFLAGS}
#!/bin/sh
PUSH=
if [ "x$1" = "x-n" ]; then
PUSH=no
fi
if [ "x$1" = "x-y" ]; then
PUSH=yes
fi
if git push . master:coverity_scan
then
if [ "x${PUSH}" = "x" ]; then
echo -n "Shall I push 'coverity_scan' to remote [Y/n]? " 1>&2
read PUSH
if [ "x${PUSH}" = "x" ]; then
PUSH=yes
fi
case "${PUSH}" in
yes|YES|y|Y)
PUSH=yes
;;
no|NO|n|N)
PUSH=no
;;
*)
echo "Invalid value '${PUSH}' - assuming 'no'" 1>&2
PUSH=no
;;
esac
fi
if [ "x${PUSH}" = "xyes" ]; then
git push origin coverity_scan:coverity_scan
fi
fi
#!/bin/sh
test -r ${0%/*}/common.source && . ${0%/*}/common.source
DEPDIR=${SCRIPTDIR}/deps
mkdir -p "${DEPDIR}"
cd "${DEPDIR}"
doinstall() {
sudo ../depinstall-linux.sudo.sh
#wget http://msp.ucsd.edu/Software/pd-0.46-2.src.tar.gz
#tar -xvf pd-0.46-2.src.tar.gz
#PDDIR=$(pwd)/pd-0.46-2/src
}
doinstall 1>&2
ENVFILE=$(mktemp /tmp/gemenv.XXXXXX)
cat > ${ENVFILE} << EOF
PDDIR=${PDDIR}
EOF
echo "${ENVFILE}"
#!/bin/sh
apt-get update -qq
apt-get build-dep gem -qq
apt-get install libglfw-dev libglfw3-dev libsdl2-dev -qq
apt-get install libvncserver-dev -qq
#!/bin/sh
test -r ${0%/*}/common.source && . ${0%/*}/common.source
DEPDIR=${SCRIPTDIR}/deps
mkdir -p "${DEPDIR}"
cd "${DEPDIR}"
## LATER: fetch the lastest GemDependencies package via
github_list_releaseartifacts() {
# call as: github_list_releaseartifacts umlaeute/Gem-dependencies
curl -s https://api.github.com/repos/$1/releases/latest \
| jq -r ".assets[] | select(.name | test(\"${spruce_type}\")) | .browser_download_url"
}
brewinstall() {
brew install "$@" || (brew upgrade "$@" && brew cleanup "$@")
}
doinstall() {
brew update
brewinstall pkg-config gettext