October 30, 2005
October 03, 2005
download max patch
Download file
here you can download a build of the max/msp patch for audio distribution
October 02, 2005
audio patch
![]()
Max/MSP patch to capture and redistribute audio, triggered by timer and webcam.
this patch scans the audio signal coming from the live satellite feed:
it buffers one second and immediately outputs that:
- every few seconds it resizes the buffer to 224 ms (stuttering)
- when someone enters the installation, a webcam detects movement and this triggers via a web connection a reversing of the audio buffer, so now audio is continuously played forward and backward. (trigger is in flash patcher)
- meanwhile samples of 4 seconds each are collected in separate buffers and they are played back all together and loud on the hour, like a regular church bell
A beep indicates every 15 minutes.
The patch "timertrigger" triggers audio according to minutes and seconds.
The patch "triggers" is extra and not connected for now. It can modify the buffer sizes and playback speed continuously if connected to those objects.
September 30, 2005
Loop zap-DVD
De DVD's met geloopt zapmateriaal zijn eindelijk gereed. Tip: Koop nooit een DVD-recorder, want hoogstwaarschijnlijk spelen de opnames slechts af op de recorder itself. Of niet...
September 27, 2005
Uitleg activeren miniMac...
Open het bestand "click here" dat op het bureaublad staat.
Lees meer voor een afbeelding met visuele uitleg.
September 26, 2005
September 25, 2005
Hardware+Software schema
Zoals aangesloten op Zaterdag 24 September.
September 21, 2005
Link Liveness
http://www.digitaalplatform.be Zie hoofdstuk beeld en geluid.
Steaming Media
Ik heb van de week wat informatie uitgeprint over de steaming mogelijkheden van VLC. Deze informatie is te vinden op: www.videolan.org Je hebt daar een VLC play howto, waarin staat hoe je VLC op verschillende platforms in kunt zetten als player. Verder is er een videoLAN steaming howto te vinden. Dit is de meeste intressante Howto en gaat over steaming, muxers en codec. Het is me al gelukt om een DVD te steamen over mijn lokale netwerk maar mijn Ibook had wat schokkerige beelden. Ik vermoed dat mijn hardwareconfiguratie niet toereikend is.
September 19, 2005
Hardware+Software schemas
Hierboven staat een schema dat mijns inziens met mijn input haalbaar is.
Op de MiniMac draait MaxMSP. MaxMSP zal een mix maken van de input die verkregen wordt uit de video-kanalen mixer en een aantal USB-webcams die erop aangesloten zijn. Dit wordt fullscreen afgespeeld en via een converter op de grote TV getoond. Tevens neemt een webcam-programma om de 5 minuten een beeld dat in een archief geplaatst zal worden. Het sensor-kastje is ook op de MiniMac aangesloten en zal bepalen hoe de Mix in MaxMSP verloopt.
Op de G4 is een USB-webcam aangesloten die de bezoeker toont op de beamer. Tevens neemt een webcam-programma om de 5 minuten een beeld dat in een archief geplaatst zal worden.
Op de achtergrond draait Safari die ervoor zorgt dat de '5-minuten' beelden netjes in het archief gedupliceerd worden...
Op de G4 zit ook een 640x480 monitor.. Beamer/Monitor signaal wordt gesplitst door de 'Black Box'.
Op de Win98 PC draait een programma dat automatisch de video-input-selector aanstuurt. Ik heb vernomen dat dat via 'Telnet' gebeurt. Ik heb echter onvoldoende kennis betreffende die materie, dus daar moet iemand anders naar gaan kijken. Tevens zou op deze PC een programmatje kunnen draaien dat het een en ander met geluid doet... Of! De bewegingsdetector... Die getoond wordt op de monitor.
Op de 'USER' Win98 bak kan de bezoeker van de installatie door de cargo websites en de weblogs browsen en tevens input leveren. Op de getoonde websites wordt ook een 'stream' van de Mix getoond.. Of input van 'yet another webcam'.
De multimedia PC toont z'n beeld op de grote monitor die op de trap geplaatst is. Hierop wordt het archief (5-minuten-beelden) ontsloten en worden de IP-cams laten zien.. Als er beweging gedetecteerd wordt. (dit schijnt af en toe vast te lopen, dus daar moet ik even goed naar kijken hoe 't op te lossen)
Nog nodig: een aantal extra USB-cams? Zijn al voor 10 euro te krijgen..
Motion Detection pt.2
Beweging detecteren aan de hand van video input functioneert!

September 17, 2005
TXT via IP
Ever wanted to send text snippets from one machine to another via the Terminal?
Save this XML code to a file named pbcopy.plist in your user's Library -> LaunchAgents folder (note that you'll probably have to create the LaunchAgents folder).
Next, execute this command in Terminal (or just logout and login):
$ launchctl load ~/Library/LaunchAgents/pbcopy.plist
Now you'll be able send any text over the network right to the clipboard on this machine via nc (netcat) or bash, like this:
$ echo test | nc -w1 1.2.3.4 2224 [or]
$ echo test >/dev/tcp/1.2.3.4/2224
Note that the second example is a bash feature and may be disabled on some systems. In both examples, replace 1.2.3.4 with the IP address of the receiving Mac (the one running the XML code), and make sure your firewall allows access to port 2224.
This is very convenient, but also very insecure. However, if you add the following lines to the pbcopy.plist file, between the dict tags in the Listeners section, then it will listen on only the loopback interface:
Once that's done, you may access the service from a remote machine on 127.0.0.1:2224 if you ssh there with this option in the .ssh/config file:
RemoteForward 2224 127.0.0.1:2224
This one is a default for all my ssh connections, because very often I need to transfer a lot of text output to my local machine from many kinds of unixes. Unfortunately, Terminal's cut-n-paste can't handle this without breaking lines or truncating the text to the size of the scroll buffer.
Another trick -- if you installed SubEthaEdit and its command line tool called see (/usr/bin/see), you may put that program in the .plist (instead of /usr/bin/pbcopy), and then the editor's window will pop-up with the text content that was sent.
[robg adds: I tested this, and it worked quite well ... very well. I was able to accept text from anywhere on the net, as tested by friends in The Netherlands and Montreal. I suggest that if you implement this, you use the ssh restriction, as it does seem somewhat insecure. To remove the agent, use launchctl unload ~/Library..., then delete the file.]
IP cams
De IP cams (type DCS 900 ) zijn instabiel, na een update van de firmware naar versie 2.2.4 lijken ze beter te werken maar nog niet helemaal ok. Op een IP webcam "draaid" een klein webservertje. Via HTTP worden er plaatjes opgevraagd om de 0,5 en 1,0 sec. Wellicht dat het probleem op TCP IP niveau ligt omdat de IP cam na een tijdje niet bereikbaar meer is. We kunnen gaan proberen om via een ander protocol de plaatjes op de halen... bijv ftp, maar dan moeten we even goedd kijken welke mogelijkheden de firmware van de Dlink DCS900 hiervoor biedt.
September 16, 2005
Schema Max
Onderstaande afbeelding is een voorstelling van het object georienteerde max schema 
Motion Detection
Vraagstelling van vandaag:
Hoe detecteer ik beweging? De vraag is dus niet hoe ik de beweging kan visualiseren, maar simpelweg of er al dan niet iets veranderd in het beeld...
Hypothese:
Je hebt beeld A en beeld B. Je neemt het verschil (difference). De gemiddelde tint die daaruit komt geeft de mate aan waarin het totaalbeeld veranderd is. Toch?
September 15, 2005
Overzicht IO Device K8055
Pin asignment ten behoeve van de input
Poort GND ground, ten opzichte van deze poort wordt het IO signaal digitaal aangestuurd en verandert de positie van de electronic switch van O =uit naar I= aan
aansluitpunt 13 op de kaart -> door middel van inductie wordt deze geactiveerd (fietscomputersensor)
aansluitpunt 14 witte draad, voor sensor 1
aansluitpunt 15 witte draad, voor sensor 2
September 14, 2005
Flash 8 Professional
Is nu beschikbaar!
Zal ik gebruiken om 't beeldarchief te ontsluiten.
Download de '30 day trial'.
Switch functioneert!
Dus nu kunnen alle windhoos98 bakken ook on-line...
Checking information
na installatie
`configure' configures libusb 0.1.10a to adapt to many kinds of systems.
Usage: ./configure [OPTION]... [VAR=VALUE]...
To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE. See below for descriptions of some of the useful variables.
Defaults for the options are specified in brackets.
Configuration:
-h, --help display this help and exit
--help=short display options specific to this package
--help=recursive display the short help of all the included packages
-V, --version display version information and exit
-q, --quiet, --silent do not print `checking...' messages
--cache-file=FILE cache test results in FILE [disabled]
-C, --config-cache alias for `--cache-file=config.cache'
-n, --no-create do not create output files
--srcdir=DIR find the sources in DIR [configure dir or `..']
Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
[/usr/local]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
[PREFIX]
By default, `make install' will install all the files in
`/usr/local/bin', `/usr/local/lib' etc. You can specify
an installation prefix other than `/usr/local' using `--prefix',
for instance `--prefix=$HOME'.
For better control, use the options below.
Fine tuning of the installation directories:
--bindir=DIR user executables [EPREFIX/bin]
--sbindir=DIR system admin executables [EPREFIX/sbin]
--libexecdir=DIR program executables [EPREFIX/libexec]
--datadir=DIR read-only architecture-independent data [PREFIX/share]
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
--infodir=DIR info documentation [PREFIX/info]
--mandir=DIR man documentation [PREFIX/man]
Program names:
--program-prefix=PREFIX prepend PREFIX to installed program names
--program-suffix=SUFFIX append SUFFIX to installed program names
--program-transform-name=PROGRAM run sed PROGRAM on installed program names
System types:
--build=BUILD configure for building on BUILD [guessed]
--host=HOST cross-compile to build programs to run on HOST [BUILD]
Optional Features:
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--enable-shared[=PKGS]
build shared libraries [default=yes]
--enable-static[=PKGS]
build static libraries [default=yes]
--enable-fast-install[=PKGS]
optimize for fast installation [default=yes]
--disable-dependency-tracking speeds up one-time build
--enable-dependency-tracking do not reject slow dependency extractors
--disable-libtool-lock avoid locking (might break parallel builds)
--enable-debug=no/minimum/yes turn on debugging default=$debug_default
--disable-build-docs turn off building documentation
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--with-gnu-ld assume the C compiler uses GNU ld [default=no]
--with-pic try to use only PIC/non-PIC objects [default=use
both]
--with-tags[=TAGS]
include additional configurations [automatic]
Some influential environment variables:
CC C compiler command
CFLAGS C compiler flags
LDFLAGS linker flags, e.g. -L
nonstandard directory
CPPFLAGS C/C++ preprocessor flags, e.g. -I
headers in a nonstandard directory
CPP C preprocessor
CXX C++ compiler command
CXXFLAGS C++ compiler flags
CXXCPP C++ preprocessor
F77 Fortran 77 compiler command
FFLAGS Fortran 77 compiler flags
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
Instalment LIBUSB
Lijkt geslaagd.
Lees meer voor info...
Last login: Wed Sep 14 16:01:24 on console
Welcome to Darwin!
mac-mini-van-stefaan-decostere:~ stefaandecostere$ ls
Desktop Library Music Public
Documents Movies Pictures Sites
mac-mini-van-stefaan-decostere:~ stefaandecostere$ cd D
Desktop Documents
mac-mini-van-stefaan-decostere:~ stefaandecostere$ cd Desktop/
mac-mini-van-stefaan-decostere:~/Desktop stefaandecostere$ ls
ADC Member Site.pdf k8055-utbm-osx-kext
Java15Release1.dmg k8055-utbm-osx-kext 2
Kernel_Debug_Kit_10.4.2.dmg k8055-utbm-osx-kext.tbz
jit_cv_doc.pdf libusb-0-1.1.10a.tar
jitter151osx.dmg libusb-0.1.10a
k8055 _ osx + linux.pdf libusb-0.1.10a.tar
k8055-utbm-full xcode_tools_2.1.dmg
mac-mini-van-stefaan-decostere:~/Desktop stefaandecostere$ cd libusb-0.1.10a
mac-mini-van-stefaan-decostere:~/Desktop/libusb-0.1.10a stefaandecostere$ ls
AUTHORS apidocs install-sh
COPYING bsd.c libusb-config.in
ChangeLog compile libusb.spec
Doxyfile config.guess libusb.spec.in
INSTALL.libusb config.h.in linux.c
INSTALL.libusb.in config.sub linux.h
LICENSE configure ltmain.sh
Makefile.am configure.in missing
Makefile.in darwin.c tests
NEWS depcomp usb.c
README descriptors.c usb.h.in
README.in doc usbi.h
acinclude.m4 error.c usbpp.cpp
aclocal.m4 error.h usbpp.h
mac-mini-van-stefaan-decostere:~/Desktop/libusb-0.1.10a stefaandecostere$ ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking build system type... powerpc-apple-darwin8.2.0
checking host system type... powerpc-apple-darwin8.2.0
checking for style of include used by make... GNU
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking dependency style of gcc... gcc3
checking for a sed that does not truncate output... /usr/bin/sed
checking for egrep... grep -E
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... no
checking for /usr/bin/ld option to reload object files... -r
checking for BSD-compatible nm... /usr/bin/nm -p
checking whether ln -s works... yes
checking how to recognise dependent libraries... pass_all
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking how to run the C++ preprocessor... g++ -E
checking for g77... no
checking for f77... no
checking for xlf... no
checking for frt... no
checking for pgf77... no
checking for fort77... no
checking for fl32... no
checking for af77... no
checking for f90... no
checking for xlf90... no
checking for pgf90... no
checking for epcf90... no
checking for f95... no
checking for fort... no
checking for xlf95... no
checking for ifc... no
checking for efc... no
checking for pgf95... no
checking for lf95... no
checking for gfortran... no
checking whether we are using the GNU Fortran 77 compiler... no
checking whether accepts -g... no
checking the maximum length of command line arguments... 65536
checking command to parse /usr/bin/nm -p output from gcc object... ok
checking for objdir... .libs
checking for ar... ar
checking for ranlib... ranlib
checking for strip... strip
checking if gcc static flag works... yes
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fno-common
checking if gcc PIC flag -fno-common works... yes
checking if gcc supports -c -o file.o... yes
checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... darwin8.2.0 dyld
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
configure: creating libtool
appending configuration tag "CXX" to libtool
checking for ld used by g++... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... no
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
checking for g++ option to produce PIC... -fno-common
checking if g++ PIC flag -fno-common works... yes
checking if g++ supports -c -o file.o... yes
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... darwin8.2.0 dyld
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
appending configuration tag "F77" to libtool
checking for what USB OS support... Darwin and/or MacOS 10
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ANSI C... (cached) none needed
checking dependency style of gcc... (cached) gcc3
checking whether gcc and cc understand -c and -o together... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking for ANSI C header files... (cached) yes
checking for vprintf... yes
checking for _doprnt... no
checking for an ANSI C-conforming const... yes
checking whether byte ordering is bigendian... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking for unistd.h... (cached) yes
checking values.h usability... no
checking values.h presence... no
checking for values.h... no
checking for memmove... yes
checking if we should build the documentation... auto
checking for jade... no
checking for openjade... no
checking for Doxygen tools... checking for dot... not found
checking for doxygen... not found
configure: WARNING: Documentation build components not installed. sgml docs will not be built
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating libusb.spec
config.status: creating libusb-config
config.status: creating tests/Makefile
config.status: creating README
config.status: creating INSTALL.libusb
config.status: creating usb.h
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing default commands
mac-mini-van-stefaan-decostere:~/Desktop/libusb-0.1.10a stefaandecostere$
link
Link naar voorbeelden van Max/MSP jitter
http://www.iamas.ac.jp/~jovan02/cv/download.html
September 13, 2005
Beeldarchief wordt uitgelezen.
Om de tien minuten wordt een beeld vastgelegd. Als naam krijgen ze de datum+tijd. Met behulp van php wordt gekeken welke afbeeldingen er zijn. Flash pikt deze data op en kan er van alles mee doen.
In dit geval wordt er een reeks van willekeurige beelden samengesteld. Ze zijn nu bijna allemaal hetzelfde, maar in de toekomst zullen ze gevormd worden uit de mix die uit 'MaxMSP' ontstaat.
Link voor serial over ethernet
Bijgaande een link met info over serial over ethernet
http://www.maxim-ic.com/solutions/serial_to_ethernet/index.mvp
maandag 12 sept
Vandaag zijn we gestart met de opbouw van de ICT omgeving van het Cargo project. We hebben eerst wat computer aangesloten en daarna zijn we begonnen met het project in deelprojecten op de delen.
1. Devices (webcams, motion sensors etc)
2. Computers with services (http / streaming media / content managment )
2a. input services (IR sensor connected to USB IO card
2b. output service, flash timer clock, PM beamer
2c connection services. Hoe zijn de verschillende modules aan elkaar te koppelen?
Het hart van de aansturing vind plaats door middel van een velleman k8055 board.

probleem hierbij was hoe sluit je dit apparaat aan:
Allereerst wat technische specificaties:
Het apparaat heeft:
- 5 Digital inputs (0=ground 1=open)
- 2 analoge inputs (bijv temperatuur, gravitatie, etc ) dus linear oplopend
- 8 Digital open collector outpunt switches max 50v/100 mA
- 2 analog output (let op 0 - 5 volt output resistance 1K5) max 100 mA / 40V
algemeen
- conversion time 20 mSecond
- power via usb 70 mA
Hoe kan de velleman K8055 gekoppeld worden met computers
Oplossing 1
Er wordt een standaard DLL meegeleverd om de device in windows beschikbaar te maken. Deze dll kan benaderd worden door bijvoorbeeld C++ Visual basic en dephi. Echter wij zijn hier niet zo goed in. Wat we willen gaan bereiken is dat de input data weggeschreven wordt in een TXT bestand. Dit txt bestand kan dan via een netwerk share, of via FTP benaderd worden.
M.a.w.
oplossing 1, IO input via vellleman kaart via USB in PC met W98. Een koppelingsprogrammatje schrijven dat als output TXT bestanden maakt. Deze TXT bestanden kunnen ingelezen worden middels PHP en in een database worden dan de parameters van de verschillende "sensoren".
Oplossing 2
Via via zijn we er ook achter gekomen dat er een Duitser is die een java applicatie heeft geschreven rond de DLL (Dynamic Link Library) en middel deze java applicatie kan dan niet alleen data van de sensor ingelezen worden maar kan ook output worden gegenereerd. De java applicatie werk alleen via deze windows dll maar wanneer de data in de java "middleware" terecht komt kan deze data via het netwerk via een brouwser platformonafhankelijk benaderd worden via een brouwser interface. Dit lijkt een realistische senario.
www.wenzlaff.de/twusb.html
Een 3-de scenario zou kunnen zijn dat de UBS input device op een mac OS X platform aangesloten worden. Testen hebben uitgewezen daar de hardware van velleman door het besturingssysteem automatisch gedetecteerd wordt. Het zou dus mogelijk moeten zijn moet de velleman kaart rechtstreeks in Max in te voeren. Dat zou betekenen dat we het hart van de
September 12, 2005
20050912 locatie
Workshop under development.
Bekijk de beelden!
Cam Archive
Er wordt nu automatisch een archief aangemaakt...
Click...
php copy
De webcambeelden moeten gekopieerd worden om een 'archief' aan te leggen...
Dit moet geautomatiseerd-time-lapsed gebeuren...
$name = date("YmdHis");
$file = 'camFull.jpg';
$newfile = 'archive/cam'.$name.'.jpg';
print $name;
if (!copy($file, $newfile)) {
echo " _failed to copy $file...\n";
}
?>
September 07, 2005
php
PHP is gemakkelijk te installeren op een Mac.
entropy.ch/software/macosx/php
Waarom php op de Mac?
Door PHP local op een mac draaien belast je niet onnodig de internetverbinding en is de snelheid ook gegarandeerd.
PHP kan je bijvoorbeeld gebruiken als je met een webcam-programma automatisch beelden op de Mac opslaat... PHP zou kunnen checken welke afbeeldingen in het desbetreffende mapje staan en dat doorgeven aan Flash, die op zijn beurt de afbeeldingen in kan laden om bijvoorbeeld als sequence af te spelen.
Het webcam-programma hoeft dus geen afbeeldingen ergens op een externe server op te slaan, maar simpelweg op de eigen computer...
Flash kan de beelden gewoon local oppikken, dus geen vertraging...
September 05, 2005
Eerste entry
Okay, hier ga ik dus m'n beslommeringen op pompen :]
Eigenlijk geen beslommeringen, maar ditjes en datjes gerelateerd aan en over projecten waar ik mee bezig ben.

