[PD-cvs] SF.net SVN: pure-data: [9996] branches/pd-extended/v0-40/externals/pidip

eighthave at users.sourceforge.net eighthave at users.sourceforge.net
Fri Jun 13 16:06:36 CEST 2008


Revision: 9996
          http://pure-data.svn.sourceforge.net/pure-data/?rev=9996&view=rev
Author:   eighthave
Date:     2008-06-13 07:06:35 -0700 (Fri, 13 Jun 2008)

Log Message:
-----------
reverted check-in of PiDiP 0.12.23 since it is barely tested and we are at Release Candidate stage, plus it broke the Mac OS X builds

Modified Paths:
--------------
    branches/pd-extended/v0-40/externals/pidip/CHANGES.LOG
    branches/pd-extended/v0-40/externals/pidip/configure.ac
    branches/pd-extended/v0-40/externals/pidip/include/pidip_config.h.in
    branches/pd-extended/v0-40/externals/pidip/modules/Makefile.in
    branches/pd-extended/v0-40/externals/pidip/system/pidip.c

Removed Paths:
-------------
    branches/pd-extended/v0-40/externals/pidip/doc/pdp_ieee1394l-help.pd
    branches/pd-extended/v0-40/externals/pidip/doc/pdp_v4l2-help.pd
    branches/pd-extended/v0-40/externals/pidip/include/dv1394.h
    branches/pd-extended/v0-40/externals/pidip/modules/pdp_ieee1394l.c
    branches/pd-extended/v0-40/externals/pidip/modules/pdp_v4l2.c
    branches/pd-extended/v0-40/externals/pidip/patches/giss-audio-mp3.pd
    branches/pd-extended/v0-40/externals/pidip/patches/giss-audio-ogg.pd
    branches/pd-extended/v0-40/externals/pidip/patches/giss-dv-linux.pd
    branches/pd-extended/v0-40/externals/pidip/patches/giss.pd

Modified: branches/pd-extended/v0-40/externals/pidip/CHANGES.LOG
===================================================================
--- branches/pd-extended/v0-40/externals/pidip/CHANGES.LOG	2008-06-13 14:06:14 UTC (rev 9995)
+++ branches/pd-extended/v0-40/externals/pidip/CHANGES.LOG	2008-06-13 14:06:35 UTC (rev 9996)
@@ -1,10 +1,3 @@
-0.12.23 ( codename My Mum's Cam )
-  added pdp_v4l2 : video 4 linux 2 object
-    code template from pdp_v4l and xawtv ( v4l2 driver ),
-    thanks to Tom Schouten & Gerd Knorr <kraxel at bytesex.org>
-  added pdp_ieee1394 : finally, the firewire camera object for linux 
-    written by Lluis Gomez i Bigorda ( <lluisgomez at hangar.org> )
-
 0.12.22 ( codename Visual Junk )
   added pdp_dot : matrix printer effect
 

Modified: branches/pd-extended/v0-40/externals/pidip/configure.ac
===================================================================
--- branches/pd-extended/v0-40/externals/pidip/configure.ac	2008-06-13 14:06:14 UTC (rev 9995)
+++ branches/pd-extended/v0-40/externals/pidip/configure.ac	2008-06-13 14:06:35 UTC (rev 9996)
@@ -4,7 +4,7 @@
 AC_CANONICAL_HOST
 AC_CONFIG_HEADER(include/pidip_config.h)
 
-PDP_PIDIP_VERSION="0.12.23"
+PDP_PIDIP_VERSION="0.12.22"
 PD_DIR=/usr/local/pd
 PDP_DIR=/usr/local/pd/pdp
 FFMPEG_SOURCE_DIR=/SOURCES/ffmpeg
@@ -20,11 +20,10 @@
 enable_mpeg4ip=no
 enable_lcapture=no
 
-echo $host
 # Check for DarwinPorts and/or Fink on Mac OS X/Darwin
 case "$host" in
   *-darwin* | *-macos10*)
-     PDP_CAPTURE_OBJECT="pdp_ieee1394.o"
+	  PDP_CAPTURE_OBJECT="$PDP_CAPTURE_OBJECT pdp_ieee1394.o"
      if test -d /sw ; then
        # Fink
        PATH="/sw/bin:/sw/sbin:$PATH"
@@ -224,25 +223,13 @@
 
 if test $enable_lcapture == yes;
 then
-    PDP_CAPTURE_OBJECT="$PDP_CAPTURE_OBJECT pdp_capture.o"
+    PDP_CAPTURE_OBJECT="pdp_capture.o"
     AC_DEFINE(HAVE_IMAGE_MAGICK, 1, image magick capture capability)
     PDP_PIDIP_LIBS="$MAGICK_LIBS $PDP_PIDIP_LIBS"
     PDP_PIDIP_INCLUDES="$MAGICK_CFLAGS $PDP_PIDIP_INCLUDES"
     echo "building pdp_capture."
 fi
 
-AC_CHECK_HEADER(linux/videodev2.h,
-                PDP_CAPTURE_OBJECT="$PDP_CAPTURE_OBJECT pdp_v4l2.o"
-                AC_DEFINE(HAVE_V4L2, 1, build pdp_v4l2),
-                echo "   linux/videodev2.h not found: not building pdp_v4l2")
-
-AC_CHECK_HEADER(libdv/dv.h,
-                PDP_CAPTURE_OBJECT="$PDP_CAPTURE_OBJECT pdp_ieee1394l.o"
-                PDP_PIDIP_LIBS="-ldv $PDP_PIDIP_LIBS"
-                AC_DEFINE(HAVE_LIBDV, 1, build pdp_ieee1394 for linux),
-                echo "   libdv/dv.h not found: not building pdp_ieee1394")
-
-
 if test $enable_ffmpeg == yes;
 then
   echo -n "looking for ffmpeg sources (required) ... "

Deleted: branches/pd-extended/v0-40/externals/pidip/doc/pdp_ieee1394l-help.pd
===================================================================
--- branches/pd-extended/v0-40/externals/pidip/doc/pdp_ieee1394l-help.pd	2008-06-13 14:06:14 UTC (rev 9995)
+++ branches/pd-extended/v0-40/externals/pidip/doc/pdp_ieee1394l-help.pd	2008-06-13 14:06:35 UTC (rev 9996)
@@ -1,24 +0,0 @@
-#N canvas 173 49 765 399 10;
-#X msg 151 -366 open /dev/dv1394/0;
-#X obj 92 -148 pdp_xv;
-#X obj 42 -369 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 42 -342 metro 40;
-#X msg 194 -300 norm PAL;
-#X msg 164 -337 close;
-#X obj 91 -229 pdp_ieee1394;
-#X text 185 -134 written by Lluis Gomez i Bigorda ( lluisgomez at hangar.org
-);
-#X text 186 -158 pdp_ieee1394 ( source pdp_ieee1394l.c ) : fire wire
-capture object for linux;
-#X text 264 -300 setting video standard;
-#X msg 194 -277 norm SECAM;
-#X msg 195 -253 norm NTSC;
-#X connect 0 0 6 0;
-#X connect 2 0 3 0;
-#X connect 3 0 6 0;
-#X connect 4 0 6 0;
-#X connect 5 0 6 0;
-#X connect 6 0 1 0;
-#X connect 10 0 6 0;
-#X connect 11 0 6 0;

Deleted: branches/pd-extended/v0-40/externals/pidip/doc/pdp_v4l2-help.pd
===================================================================
--- branches/pd-extended/v0-40/externals/pidip/doc/pdp_v4l2-help.pd	2008-06-13 14:06:14 UTC (rev 9995)
+++ branches/pd-extended/v0-40/externals/pidip/doc/pdp_v4l2-help.pd	2008-06-13 14:06:35 UTC (rev 9996)
@@ -1,65 +0,0 @@
-#N canvas 508 213 927 686 10;
-#X obj 35 20 metro 40;
-#X msg 87 -19 stop;
-#X msg 35 -19 bang;
-#X msg 207 -159 open /dev/video0;
-#X msg 207 -135 open /dev/video1;
-#X text 339 -162 you can choose the input device using the 'open' message.
-the default is /dev/video0;
-#X msg 207 -110 close;
-#X text 347 -110 closes the video port;
-#X msg 208 -84 dim 320 240;
-#X msg 208 -61 dim 640 480;
-#X floatatom 209 -28 5 0 0 0 - - -;
-#X floatatom 212 137 5 0 0 0 - - -;
-#X msg 212 161 freq \$1;
-#X floatatom 273 137 5 0 0 0 - - -;
-#X msg 273 161 freqMHz \$1;
-#X text 317 135 sets the v4l tuner frequency (in v4l units and MHz)
-;
-#X text 325 253 pdp_v4l2 is an interface for video 4 linux 2 devices
-;
-#X text 324 268 it's very similar to pdp_v4l but should support more
-recent cameras \, if it doesn't with yours report bugs to ydegoyon at free.fr
-;
-#X obj 96 247 pdp_v4l2;
-#X text 321 202 creation arguments: <input device>;
-#X floatatom 210 20 5 0 0 0 - - -;
-#X msg 210 40 format \$1;
-#X text 294 18 sets the pixel format (like YUYV \, RGB32 \, ...);
-#X msg 209 -8 input \$1;
-#X text 293 -30 sets the v4l input (like camera \, tuner \, svideo
-\, ...);
-#X text 292 -19 see initialization phase for valid inputs;
-#X text 297 69 sets the video standard ( for tuner cards );
-#X text 294 29 see initialization phase for valid formats;
-#X text 297 81 see initialization phase for valid standards;
-#X floatatom 213 71 5 0 0 0 - - -;
-#X msg 213 91 standard \$1;
-#X obj 96 300 pdp_xv;
-#X msg 179 299 cursor 1;
-#X msg 167 271 posdim 0 0 1440 800;
-#X text 324 303 authors : Yves Degoyon and Lluis Gomez i Bigorda;
-#X text 325 317 code was inspired by pdp_v4l by Tom Schouten and xawtv
-by Gerd Knorr;
-#X connect 0 0 18 0;
-#X connect 1 0 0 0;
-#X connect 2 0 0 0;
-#X connect 3 0 18 0;
-#X connect 4 0 18 0;
-#X connect 6 0 18 0;
-#X connect 8 0 18 0;
-#X connect 9 0 18 0;
-#X connect 10 0 23 0;
-#X connect 11 0 12 0;
-#X connect 12 0 18 0;
-#X connect 13 0 14 0;
-#X connect 14 0 18 0;
-#X connect 18 0 31 0;
-#X connect 20 0 21 0;
-#X connect 21 0 18 0;
-#X connect 23 0 18 0;
-#X connect 29 0 30 0;
-#X connect 30 0 18 0;
-#X connect 32 0 31 0;
-#X connect 33 0 31 0;

Deleted: branches/pd-extended/v0-40/externals/pidip/include/dv1394.h
===================================================================
--- branches/pd-extended/v0-40/externals/pidip/include/dv1394.h	2008-06-13 14:06:14 UTC (rev 9995)
+++ branches/pd-extended/v0-40/externals/pidip/include/dv1394.h	2008-06-13 14:06:35 UTC (rev 9996)
@@ -1,258 +0,0 @@
-/*
- * dv1394.h - DV input/output over IEEE 1394 on OHCI chips
- *   Copyright (C)2001 Daniel Maas <dmaas at dcine.com>
- *     receive, proc_fs by Dan Dennedy <dan at dennedy.org>
- *
- * based on:
- *   video1394.h - driver for OHCI 1394 boards
- *   Copyright (C)1999,2000 Sebastien Rougeaux <sebastien.rougeaux at anu.edu.au>
- *                          Peter Schlaile <udbz at rz.uni-karlsruhe.de>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser Public License for more details.
- *
- * You should have received a copy of the GNU Lesser Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifndef _DV_1394_H
-#define _DV_1394_H
-
-#include <sys/types.h>
-#include <sys/ioctl.h>
-
-/* This is the public user-space interface. Try not to break it. */
-
-#define DV1394_API_VERSION 0x20011127
-
-/* ********************
-   **                **
-   **   DV1394 API   **
-   **                **
-   ********************
-
-   There are two methods of operating the DV1394 DV output device.
-
-   1)
-
-   The simplest is an interface based on write(): simply write
-   full DV frames of data to the device, and they will be transmitted
-   as quickly as possible. The FD may be set for non-blocking I/O,
-   in which case you can use select() or poll() to wait for output
-   buffer space.
-
-   To set the DV output parameters (e.g. whether you want NTSC or PAL
-   video), use the DV1394_INIT ioctl, passing in the parameters you
-   want in a struct dv1394_init.
- 
-   Example 1:
-         To play a raw .DV file:   cat foo.DV > /dev/dv1394
-	 (cat will use write() internally)
-
-   Example 2:
-           static struct dv1394_init init = {
-	      0x63,        (broadcast channel)
-              4,           (four-frame ringbuffer)
-	      DV1394_NTSC, (send NTSC video)
-	      0, 0         (default empty packet rate)
-           }
-
-	   ioctl(fd, DV1394_INIT, &init);
-
-	   while(1) {
-	          read( <a raw DV file>, buf, DV1394_NTSC_FRAME_SIZE );
-		  write( <the dv1394 FD>, buf, DV1394_NTSC_FRAME_SIZE );
-           }
-
-   2)
-
-   For more control over buffering, and to avoid unnecessary copies
-   of the DV data, you can use the more sophisticated the mmap() interface. 
-   First, call the DV1394_INIT ioctl to specify your parameters, 
-   including the number of frames in the ringbuffer. Then, calling mmap() 
-   on the dv1394 device will give you direct access to the ringbuffer
-   from which the DV card reads your frame data.
-
-   The ringbuffer is simply one large, contiguous region of memory
-   containing two or more frames of packed DV data. Each frame of DV data
-   is 120000 bytes (NTSC) or 144000 bytes (PAL).
-
-   Fill one or more frames in the ringbuffer, then use the DV1394_SUBMIT_FRAMES
-   ioctl to begin I/O. You can use either the DV1394_WAIT_FRAMES ioctl
-   or select()/poll() to wait until the frames are transmitted. Next, you'll
-   need to call the DV1394_GET_STATUS ioctl to determine which ringbuffer
-   frames are clear (ready to be filled with new DV data). Finally, use
-   DV1394_SUBMIT_FRAMES again to send the new data to the DV output.
-
-
-   Example: here is what a four-frame ringbuffer might look like
-            during DV transmission:
-
-
-         frame 0   frame 1   frame 2   frame 3
-
-        *--------------------------------------*
-        | CLEAR   | DV data | DV data | CLEAR  |
-        *--------------------------------------*
-                   <ACTIVE> 
-
-	transmission goes in this direction --->>>
-
-
-   The DV hardware is currently transmitting the data in frame 1.
-   Once frame 1 is finished, it will automatically transmit frame 2.
-   (if frame 2 finishes before frame 3 is submitted, the device
-   will continue to transmit frame 2, and will increase the dropped_frames
-   counter each time it repeats the transmission).
-
- 
-   If you called DV1394_GET_STATUS at this instant, you would
-   receive the following values:
-   
-          n_frames          = 4
-          active_frame      = 1
-          first_clear_frame = 3
-          n_clear_frames    = 2
-
-   At this point, you should write new DV data into frame 3 and optionally
-   frame 0. Then call DV1394_SUBMIT_FRAMES to inform the device that
-   it may transmit the new frames.
-
-*/
-
-
-/* maximum number of frames in the ringbuffer */
-#define DV1394_MAX_FRAMES 32
-
-/* number of *full* isochronous packets per DV frame */
-#define DV1394_NTSC_PACKETS_PER_FRAME 250
-#define DV1394_PAL_PACKETS_PER_FRAME  300
-
-/* size of one frame's worth of DV data, in bytes */
-#define DV1394_NTSC_FRAME_SIZE (480 * DV1394_NTSC_PACKETS_PER_FRAME)
-#define DV1394_PAL_FRAME_SIZE  (480 * DV1394_PAL_PACKETS_PER_FRAME)
-
-
-enum pal_or_ntsc {
-	DV1394_NTSC = 0,
-	DV1394_PAL
-};
-
-
-/* this is the argument to DV1394_INIT */
-struct dv1394_init {
-	/* DV1394_API_VERSION */
-	unsigned int api_version;
-	
-	/* isochronous transmission channel to use */
-	unsigned int channel;
-
-	/* number of frames in the ringbuffer. Must be at least 2
-	   and at most DV1394_MAX_FRAMES. */
-	unsigned int n_frames;
-
-	/* send/receive PAL or NTSC video format */
-	enum pal_or_ntsc format;
-
-	/* the following are used only for transmission */
- 
-	/* set these to zero unless you want a
-	   non-default empty packet rate (see below) */
-	unsigned long cip_n;
-	unsigned long cip_d;
-
-	/* set this to zero unless you want a
-	   non-default SYT cycle offset (default = 3 cycles) */
-	unsigned int syt_offset;
-};
-
-/* Q: What are cip_n and cip_d? */
-
-/*
-  A: DV video streams do not utilize 100% of the potential bandwidth offered
-  by IEEE 1394 (FireWire). To achieve the correct rate of data transmission,
-  DV devices must periodically insert empty packets into the 1394 data stream.
-  Typically there is one empty packet per 14-16 data-carrying packets.
-
-  Some DV devices will accept a wide range of empty packet rates, while others
-  require a precise rate. If the dv1394 driver produces empty packets at
-  a rate that your device does not accept, you may see ugly patterns on the
-  DV output, or even no output at all.
-
-  The default empty packet insertion rate seems to work for many people; if
-  your DV output is stable, you can simply ignore this discussion. However,
-  we have exposed the empty packet rate as a parameter to support devices that
-  do not work with the default rate. 
-
-  The decision to insert an empty packet is made with a numerator/denominator
-  algorithm. Empty packets are produced at an average rate of CIP_N / CIP_D.
-  You can alter the empty packet rate by passing non-zero values for cip_n
-  and cip_d to the INIT ioctl.
-  
- */
-
-struct dv1394_status {
-	/* this embedded init struct returns the current dv1394
-	   parameters in use */
-	struct dv1394_init init;
-
-	/* the ringbuffer frame that is currently being
-	   displayed. (-1 if the device is not transmitting anything) */
-	int active_frame;
-
-	/* index of the first buffer (ahead of active_frame) that
-	   is ready to be filled with data */
-	unsigned int first_clear_frame;
-
-	/* how many buffers, including first_clear_buffer, are
-	   ready to be filled with data */
-	unsigned int n_clear_frames;
-
-	/* how many times the DV output has underflowed
-	   since the last call to DV1394_GET_STATUS */
-	unsigned int dropped_frames;
-
-	/* N.B. The dropped_frames counter is only a lower bound on the actual
-	   number of dropped frames, with the special case that if dropped_frames
-	   is zero, then it is guaranteed that NO frames have been dropped
-	   since the last call to DV1394_GET_STATUS.
-	*/
-};
-
-/* Get the driver ready to transmit video.  pass a struct dv1394_init* as
- * the parameter (see below), or NULL to get default parameters */
-#define DV1394_INIT			_IOW('#', 0x06, struct dv1394_init)
-
-/* Stop transmitting video and free the ringbuffer */
-#define DV1394_SHUTDOWN		_IO ('#', 0x07)
-
-/* Submit N new frames to be transmitted, where the index of the first new
- * frame is first_clear_buffer, and the index of the last new frame is
- * (first_clear_buffer + N) % n_frames */
-#define DV1394_SUBMIT_FRAMES	_IO ('#', 0x08)
-
-/* Block until N buffers are clear (pass N as the parameter) Because we
- * re-transmit the last frame on underrun, there will at most be n_frames
- * - 1 clear frames at any time */
-#define DV1394_WAIT_FRAMES		_IO ('#', 0x09)
-
-/* Capture new frames that have been received, where the index of the
- * first new frame is first_clear_buffer, and the index of the last new
- * frame is (first_clear_buffer + N) % n_frames */
-#define DV1394_RECEIVE_FRAMES	_IO ('#', 0x0a)
-
-/* Tell card to start receiving DMA */
-#define DV1394_START_RECEIVE	_IO ('#', 0x0b)
-
-/* Pass a struct dv1394_status* as the parameter */
-#define DV1394_GET_STATUS		_IOR('#', 0x0c, struct dv1394_status)
-
-#endif /* _DV_1394_H */

Modified: branches/pd-extended/v0-40/externals/pidip/include/pidip_config.h.in
===================================================================
--- branches/pd-extended/v0-40/externals/pidip/include/pidip_config.h.in	2008-06-13 14:06:14 UTC (rev 9995)
+++ branches/pd-extended/v0-40/externals/pidip/include/pidip_config.h.in	2008-06-13 14:06:35 UTC (rev 9996)
@@ -9,9 +9,3 @@
 
 /* Define to 1 if you have mpeg4ip source tree */
 #undef HAVE_PIDIP_MPEG4IP
-
-/* Define to 1 if you have video 4 linux 2 */
-#undef HAVE_V4L2
-
-/* Define to 1 if you have libdv for firewire camera */
-#undef HAVE_LIBDV

Modified: branches/pd-extended/v0-40/externals/pidip/modules/Makefile.in
===================================================================
--- branches/pd-extended/v0-40/externals/pidip/modules/Makefile.in	2008-06-13 14:06:14 UTC (rev 9995)
+++ branches/pd-extended/v0-40/externals/pidip/modules/Makefile.in	2008-06-13 14:06:35 UTC (rev 9996)
@@ -20,7 +20,7 @@
           pdp_disintegration.o pdp_distance.o pdp_theorin~.o \
           pdp_theorout~.o pdp_cropper.o pdp_background.o \
           pdp_mapper.o pdp_theonice~.o pdp_icedthe~.o\
-          pdp_fdiff.o pdp_hue.o pdp_dot.o pdp_qtext.o\
-         @PDP_CAPTURE_OBJECT@ @PDP_STREAMING_OBJECTS@ # pdp_xcanvas.o pdp_aa.o
+          pdp_fdiff.o pdp_hue.o pdp_dot.o pdp_qtext.o \
+	  @PDP_CAPTURE_OBJECT@ @PDP_STREAMING_OBJECTS@ # pdp_xcanvas.o pdp_aa.o
 
 all_modules: $(OBJECTS) 

Deleted: branches/pd-extended/v0-40/externals/pidip/modules/pdp_ieee1394l.c
===================================================================
--- branches/pd-extended/v0-40/externals/pidip/modules/pdp_ieee1394l.c	2008-06-13 14:06:14 UTC (rev 9995)
+++ branches/pd-extended/v0-40/externals/pidip/modules/pdp_ieee1394l.c	2008-06-13 14:06:35 UTC (rev 9996)
@@ -1,546 +0,0 @@
-/*
- *   Pure Data Packet module.
- *   Copyright (c) by Lluis Gomez i Bigorda <lluisgomez at hangar.org>
- *
- *   This program is free software; you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License as published by
- *   the Free Software Foundation; either version 2 of the License, or
- *   (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-
-#include "pdp_config.h"
-#include "pdp.h"
-#include "pdp_llconv.h"
-#include "pdp_imageproc.h"
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdarg.h>
-#include <unistd.h>
-#include <string.h>
-#include <assert.h>
-#include <getopt.h>             /* getopt_long() */
-#include <ctype.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <malloc.h>
-#include <sys/stat.h>
-#include <sys/ioctl.h>
-#include <sys/types.h>
-#include <sys/time.h>
-#include <sys/mman.h>
-#include <linux/types.h>
-#include <sched.h>
-#include <pthread.h>
-
-#include "dv1394.h"
-#include <libdv/dv.h>
-
-#define N_BUF 2 /*DV1394_MAX_FRAMES/4*/
-#define PAL 0
-#define NTSC 1
-
-
-typedef struct pdp_ieee1394_struct
-{
-  t_object x_obj;
-  
-  t_outlet *x_outlet0;
-
-  int x_width;
-  int x_height;
-
-  int dvfd;
-  unsigned char *videobuf;
-  unsigned char *decodedbuf;
-  bool x_frame_ready;
-  int  x_frame, x_lastframe;
-  bool x_continue_thread;
-  pthread_t x_thread_id;
-
-  int x_framesize;
-  unsigned char *x_mmapbuf;
-
-  dv_decoder_t *x_decoder;
-
-  bool x_haveVideo;
-  bool x_capturing;
-  bool x_norm;
-  char* x_devicename;
-  int x_devicenum;
-
-} t_pdp_ieee1394;
-
-
-
-static void
-process_image                   (t_pdp_ieee1394 *x)
-{
-	
-    unsigned int w,h;
-    int object,length,pos,i,encoding;
-    t_pdp* header;
-    t_image* image;
-    short int * data;
-	
-    //fputc ('.', stdout);
-    //fflush (stdout);
-	
-	
-	
-    /* create new packet */
-    w = x->x_width;
-    h = x->x_height;
-
-
-    object = pdp_packet_new_image(PDP_IMAGE_YV12, w, h);
-    header = pdp_packet_header(object);
-    image = pdp_packet_image_info(object);
-
-    if (!header){
-	post("pdp_v4l: ERROR: can't allocate packet");
-	return;
-    }
-
-    data = (short int *) pdp_packet_data(object);
-	
-    /* convert data to pdp packet */
-    //pdp_llconv(x->decodedbuf, RIF_YVYU_P____U8, data, RIF_YVU__P411_S16, w, h); 
-    pdp_llconv(x->decodedbuf, RIF_RGB__P____U8, data, RIF_YVU__P411_S16, w, h); //
-
-
-    pdp_packet_pass_if_valid(x->x_outlet0, &object);
-}
-
-static int pdp_ieee1394_read_frame(t_pdp_ieee1394 *x)
-{
-
-  if (!x->x_decoder)return 0;
-  if (!x->x_frame_ready) {
-	//x->x_image.newimage = 0;
-  }
-  else {
-    dv_parse_header(x->x_decoder, x->videobuf);
-    dv_parse_packs (x->x_decoder, x->videobuf);
-    if(dv_frame_changed(x->x_decoder)) {
-      int pitches[3] = {0,0,0};
-      //      pitches[0]=x_decoder->width*3; // rgb
-      //      pitches[0]=x_decoder->width*((x_reqFormat==GL_RGBA)?3:2);
-      pitches[0]=x->x_decoder->width*3;
-      x->x_height=x->x_decoder->height;
-      x->x_width=x->x_decoder->width;
-      
-      /* decode the DV-data to something we can handle and that is similar to the wanted format */
-      //      dv_report_video_error(x_decoder, videobuf);  // do we need this ?
-      // gosh, this(e_dv_color_rgb) is expansive:: the decoding is done in software only...
-      //      dv_decode_full_frame(x_decoder, videobuf, ((x_reqFormat==GL_RGBA)?e_dv_color_rgb:e_dv_color_yuv), &decodedbuf, pitches);
-      dv_decode_full_frame(x->x_decoder, x->videobuf, e_dv_color_rgb, &x->decodedbuf, pitches);
-
-      //     post("sampling %d", x_decoder->sampling);
-
-      /* convert the colour-space to the one we want */
-      /*
-       * btw. shouldn't this be done in [pix_video] rather than here ?
-       * no because [pix_video] knows nothing about the possible colourspaces in here
-       */
-
-      // letting the library do the conversion to RGB and then doing the conversion to RGBA
-      // is really stupid.
-      // let's do it all ourselfes:
-      //      if (x_reqFormat==GL_RGBA)x_image.image.fromRGB(decodedbuf); else
-      //x_image.image.fromYVYU(decodedbuf);
-    	process_image (x);
-	
-    }
-
-    x->x_frame_ready = false;
-  }
-	
-  return 1;
-}
-
-
-static void *pdp_ieee1394_thread(void *voidx)
-{
-    t_pdp_ieee1394 *x = ((t_pdp_ieee1394 *)voidx);
-
-  int fd=x->dvfd;
-  int framesize = x->x_framesize;
-  struct dv1394_status dvst;
-  int n_frames = N_BUF;
-  unsigned char* mmapbuf = x->x_mmapbuf;
-
-  /* this will hang if no ieee1394-device is present, what to do about it ??? */
-  x->x_haveVideo=false;
-  if(ioctl(fd, DV1394_WAIT_FRAMES, 1)) {
-    perror("error: ioctl WAIT_FRAMES");
-    x->x_capturing=false; return NULL;
-  }
-  if (ioctl(fd, DV1394_GET_STATUS, &dvst))   {
-    perror("ioctl GET_STATUS");
-    x->x_capturing=false; return NULL;
-  }
-  x->x_haveVideo=true;
-  x->x_capturing=true;
-
-  //fprintf(stderr,"aqui1");
-  while(x->x_continue_thread){
-  //fprintf(stderr,"aqui2");
-    if(ioctl(fd, DV1394_WAIT_FRAMES, n_frames - 1)) {
-      perror("error: ioctl WAIT_FRAMES");
-      x->x_capturing=false; return NULL;
-    }
-    if (ioctl(fd, DV1394_GET_STATUS, &dvst))   {
-      perror("ioctl GET_STATUS");
-      x->x_capturing=false; return NULL;
-    }
-  //fprintf(stderr,"aqui3");
-    /*
-      dvst.init
-      dvst.active_frame
-      dvst.first_clear_frame
-      dvst.n_clear_frames
-      dvst.dropped_frames
-    */	
-    if (dvst.dropped_frames > 0) {
-      verbose(1,"dv1394: dropped at least %d frames", dvst.dropped_frames);
-    }
-    /*
-      memcpy( g_current_frame->data, 
-      (g_dv1394_map + (dvst.first_clear_frame * DV1394_PAL_FRAME_SIZE)),
-      DV1394_PAL_FRAME_SIZE );
-    */
-    x->videobuf = mmapbuf + (dvst.first_clear_frame * framesize);
-
-    //post("thread %d\t%x %x", me->frame, me->tvfd, me->vmmap);
-    if (ioctl(fd, DV1394_RECEIVE_FRAMES, 1) < 0)    {
-      perror("receiving...");
-    }
-    x->x_lastframe=x->x_frame;
-    x->x_frame++;
-    x->x_frame%=N_BUF;
-    x->x_frame_ready = true;
-  }
-  x->x_capturing=false;
-
-  //process_image  (x, x->videobuf);
-
-    return 0;
-}
-
-static void
-close_device                    (t_pdp_ieee1394 *x)
-{
-  if(x->x_mmapbuf!=NULL)munmap(x->x_mmapbuf, N_BUF*x->x_framesize);
-  if(x->dvfd>=0)close(x->dvfd);
-  x->x_haveVideo=false;
-
-}
-
-
-static int
-startTransfer (t_pdp_ieee1394 *x)
-{
-  //if ((x->dvfd=openDevice(format))<0){
-  //  verbose(1, "DV4L: closed");
-  //  return(0);
-  //}
-  //x->x_image.newimage=0;
-  //x->x_image.image.data=0;
-  //x->x_image.image.xsize=720;
-  //x->x_image.image.ysize=576;
-  //x->x_image.image.setCsizeByFormat(x->x_reqFormat);
-  //x->x_image.image.reallocate();
-  x->videobuf=NULL;
-
-  x->x_frame_ready = false; 
-
-  if(x->x_decoder!=NULL)dv_decoder_free(x->x_decoder);
-  if (!(x->x_decoder=dv_decoder_new(1, 1, 1))){
-    //error("DV4L: unable to create DV-decoder...closing");
-    close_device(x);
-    return(0);
-  }
-  //x->x_decoder->quality=x->x_quality;
-  x->x_decoder->quality = DV_QUALITY_BEST;
-  verbose(1, "DV4L: DV decoding quality %d ", x->x_decoder->quality);
-  //fprintf(stderr,"before");
-  x->x_continue_thread = true;
-  pthread_create(&x->x_thread_id, 0, pdp_ieee1394_thread, x);
-  return 1;
-}
-
-static int
-stopTransfer                   (t_pdp_ieee1394 *x)
-{
-  /* close the dv4l device and dealloc buffer */
-  /* terminate thread if there is one */
-  x->x_continue_thread=false;
-  int i=0;
-  if(x->x_haveVideo){
-    while(x->x_capturing){
-      struct timeval sleep;
-      sleep.tv_sec=0;  sleep.tv_usec=10; /* 10us */
-      select(0,0,0,0,&sleep);
-      i++;
-    }
-    verbose(1, "DV4L: shutting down dv1394 after %d usec", i*10);
-    ioctl(x->dvfd, DV1394_SHUTDOWN);
-  }
-  close_device(x);
-  return(1);
-}
-
-
-static void pdp_ieee1394_close(t_pdp_ieee1394 *x)
-{
-  /* close the v4l device and dealloc buffer */
-
-    void *dummy;
-    //x->x_initialized = false;
-    /* terminate thread if there is one */
-    if(x->x_continue_thread){
-	x->x_continue_thread = 0;
-	pthread_join (x->x_thread_id, &dummy);
-    }
-
-
-        //stop_capturing (x);
-
-        //uninit_device (x);
-
-        close_device (x);
-	
-	if (-1 == close (x->dvfd))
-	        post ("close");
-
-        x->dvfd = -1;
-}
-
-
-static int pdp_ieee1394_open(t_pdp_ieee1394 *x, t_symbol *name)
-{
-  x->x_devicename = name->s_name;
-
-  if(x->x_haveVideo){
-    verbose(1, "Stream already going on. Doing some clean-up...");
-    stopTransfer(x);
-  }
-
-  /*
-  All of the errors in this method return -1 anyhow, so fd should be 0 to allow
-  successful open if everything goes ok.
-
-  Ico Bukvic ico at vt.edu 2-18-07
-  */
-  int fd = 0; 
-  struct dv1394_init init = {
-    DV1394_API_VERSION, // api version 
-    0x63,              // isochronous transmission channel
-    N_BUF,             // number of frames in ringbuffer
-    (x->x_norm==NTSC)?DV1394_NTSC:DV1394_PAL,         // PAL or NTSC
-    //DV1394_PAL,         // PAL or NTSC
-    0, 0 , 0                // default packet rate
-  };
-
-  x->x_framesize=(x->x_norm==NTSC)?DV1394_NTSC_FRAME_SIZE:DV1394_PAL_FRAME_SIZE;
-  //x->x_framesize=DV1394_PAL_FRAME_SIZE;
-
-  if(x->x_devicename){
-    if ((fd = open(x->x_devicename, O_RDWR)) < 0) {
-        perror(x->x_devicename);
-        return -1;
-    }
-  } else {
-    signed char devnum=(x->x_devicenum<0)?0:(signed char)x->x_devicenum;
-    char buf[256];
-    buf[255]=0;buf[32]=0;buf[33]=0;
-    if (devnum<0)devnum=0;
-    snprintf(buf, 32, "/dev/ieee1394/dv/host%d/%s/in", devnum, (x->x_norm==NTSC)?"NTSC":"PAL");
-    //snprintf(buf, 32, "/dev/ieee1394/dv/host%d/%s/in", devnum, "PAL");
-    if ((fd = open(buf, O_RDWR)) < 0)    {
-      snprintf(buf, 32, "/dev/dv1394/%d", devnum);
-      if ((fd = open(buf, O_RDWR)) < 0) {
-	if ((fd=open("/dev/dv1394", O_RDWR)) < 0)    {
-	  perror(buf);
-	  return -1;
-	}
-      }
-    }
-  }
-  if (ioctl(fd, DV1394_INIT, &init) < 0)    {
-    perror("initializing");
-    close(fd);
-    return -1;
-  }
-  
-  x->x_mmapbuf = (unsigned char *) mmap( NULL, N_BUF*x->x_framesize,
-				       PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
-  if(x->x_mmapbuf == MAP_FAILED) {
-    perror("mmap frame buffers");
-    close(fd);
-    return -1;
-  }
-  
-  if(ioctl(fd, DV1394_START_RECEIVE, NULL)) {
-    perror("dv1394 START_RECEIVE ioctl");
-    close(fd);
-    return -1;
-  }
-  /*Extra verbosity never hurt anyone...
-
-  Ico Bukvic ico at vt.edu 2-18-07
-  */
-  post("DV4L: Successfully opened...");
-  startTransfer(x);
-  x->dvfd=fd;
-
-  return 1;
-	
-}
-
-
-static int pdp_ieee1394_norm(t_pdp_ieee1394 *x, t_symbol *s)
-{
-  int inorm = x->x_norm;
-  char* norm=s->s_name;
-  switch(norm[0]){
-  case 'N': case 'n':
-    inorm=NTSC;
-    break;
-  case 'P': case 'p':
-    inorm=PAL;
-    break;
-  }
-  if (inorm==x->x_norm)return 0;
-  x->x_norm=inorm;
-  return 0;
-}
-
-
-static void pdp_ieee1394_bang(t_pdp_ieee1394 *x)
-{
-   
-  /* if initialized, grab a frame and output it */
-
-
-
-    /* convert data to pdp packet */
-/*
-    switch(x->x_v4l_palette){
-    case  VIDEO_PALETTE_YUV420P:
-	pdp_llconv(newimage, RIF_YUV__P411_U8, data, RIF_YVU__P411_S16, w, h); 
-	break;*/
-	
-	/* long live standards. v4l's rgb is in fact ogl's bgr */
-/*    case  VIDEO_PALETTE_RGB24:
-	pdp_llconv(newimage, RIF_BGR__P____U8, data, RIF_YVU__P411_S16, w, h); 
-	break;
-
-    case  VIDEO_PALETTE_RGB32:
-	pdp_llconv(newimage, RIF_BGRA_P____U8, data, RIF_YVU__P411_S16, w, h); 
-	break;
-
-    case  VIDEO_PALETTE_YUV422:
-	pdp_llconv(newimage, RIF_YUYV_P____U8, data, RIF_YVU__P411_S16, w, h); 
-	break;*/
-
-
-    /*default:
-	post("pdp_ieee1394: unsupported palette");
-	break;
-    }*/
-
-/*
-    if (PDP_IMAGE_YV12 == x->x_pdp_image_type){
-	pixel_unpack_u8s16_y(&newimage[0], data, nbpixels>>3, x->x_state_data->gain);
-	pixel_unpack_u8s16_uv(&newimage[plane1], &data[plane2], nbpixels>>5, x->x_state_data->gain);
-	pixel_unpack_u8s16_uv(&newimage[plane2], &data[plane1], nbpixels>>5, x->x_state_data->gain);
-    }
-*/
-    //x->x_v4l_palette = VIDEO_PALETTE_YUV420P;
-    //x->x_v4l_palette = VIDEO_PALETTE_RGB24;
-
-/*
-
-    else if(PDP_IMAGE_GREY == x->x_pdp_image_type){
-	pixel_unpack_u8s16_y(&newimage[0], data, nbpixels>>3, x->x_state_data->gain);
-    }
-*/
-    //post("pdp_ieee1394: mark unused %d", object);
-
-    /*pdp_packet_pass_if_valid(x->x_outlet0, &object);*/
-
-}
-
-
-
-static void pdp_ieee1394_free(t_pdp_ieee1394 *x)
-{
-  //pdp_ieee1394_close(x);
-  if(x->x_haveVideo)stopTransfer(x);
-  //if(x->decodedbuf)delete[]decodedbuf;
-  if(x->x_decoder!=NULL)dv_decoder_free(x->x_decoder);
-}
-
-t_class *pdp_ieee1394_class;
-
-
-
-void *pdp_ieee1394_new(t_symbol *vdef, t_symbol *format)
-{
-    t_pdp_ieee1394 *x = (t_pdp_ieee1394 *)pd_new(pdp_ieee1394_class);
-
-    x->x_outlet0 = outlet_new(&x->x_obj, &s_anything);
-
-    //x->x_channel = 0;//0x63;
-    x->x_devicenum  = 0;
-    x->x_norm = PAL;
-    x->x_decoder=NULL;
-    x->x_frame_ready=false;
-    x->x_width=720;
-    x->x_height=576;
-    x->x_framesize=DV1394_PAL_FRAME_SIZE;
-    //x->x_quality = DV_QUALITY_BEST;
-    //x->decodedbuf = new unsigned char[720*576*3];
-    x->decodedbuf = malloc (720*576*3*sizeof(unsigned char));
-    x->x_haveVideo=false;
-
-    return (void *)x;
-}
-
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-
-
-void pdp_ieee1394_setup(void)
-{
-    post( " pdp_ieee1394 : linux dv interface by Lluis Gomez i Bigorda (lluisgomez at hangar.org)" );
-
-    pdp_ieee1394_class = class_new(gensym("pdp_ieee1394"), (t_newmethod)pdp_ieee1394_new,
-    	(t_method)pdp_ieee1394_free, sizeof(t_pdp_ieee1394), 0, A_DEFSYMBOL, A_DEFSYMBOL, A_NULL);
-
-
-    class_addmethod(pdp_ieee1394_class, (t_method)pdp_ieee1394_read_frame, gensym("bang"), A_NULL);
-    class_addmethod(pdp_ieee1394_class, (t_method)pdp_ieee1394_close, gensym("close"), A_NULL);
-    class_addmethod(pdp_ieee1394_class, (t_method)pdp_ieee1394_open, gensym("open"), A_SYMBOL, A_NULL);
-    class_addmethod(pdp_ieee1394_class, (t_method)pdp_ieee1394_norm, gensym("norm"), A_SYMBOL, A_NULL);
-
-}
-
-#ifdef __cplusplus
-}
-#endif

Deleted: branches/pd-extended/v0-40/externals/pidip/modules/pdp_v4l2.c
===================================================================
--- branches/pd-extended/v0-40/externals/pidip/modules/pdp_v4l2.c	2008-06-13 14:06:14 UTC (rev 9995)
+++ branches/pd-extended/v0-40/externals/pidip/modules/pdp_v4l2.c	2008-06-13 14:06:35 UTC (rev 9996)
@@ -1,852 +0,0 @@
-/*
- *   PiDiP module
- *   Authors : Yves Degoyon ( ydegoyon at free.fr ) and Lluis Gomez i Bigorda
- *
- *   This program is free software; you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License as published by
- *   the Free Software Foundation; either version 2 of the License, or
- *   (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/*  This object is a video 4 linux 2 driver wrapper,
- *  inspired by pdp_v4l by Tom Schouten
- *  and some driver code from xawtv ( thanks to Gerd Knorr <kraxel at bytesex.org> )
- */
-
-
-#include "pdp_config.h"
-#include "pdp.h"
-#include "pdp_llconv.h"
-#include "pdp_imageproc.h"
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdarg.h>
-#include <unistd.h>
-#include <string.h>
-#include <ctype.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <sys/ioctl.h>
-#include <sys/types.h>
-#include <sys/time.h>
-#include <linux/types.h>
-#include <linux/videodev.h>
-#include <linux/videodev2.h>
-#include <sys/mman.h>
-#include <sched.h>
-#include <pthread.h>
-
-// dont open any more after a set number 
-// of failed attempts
-// this is to prevent locks on auto-open
-// is reset when manually opened or closed
-#define PDP_XV_RETRIES 10
-
-
-#define DEVICENO 0
-#define NBUF 2
-#define COMPOSITEIN 1
-#define WANTED_BUFFERS 2
-#define MAX_INPUT   16
-#define MAX_NORM    16
-#define MAX_FORMAT  32
-#define MAX_CTRL    32
-
-
-typedef struct pdp_v4l2_struct
-{
-  t_object x_obj;
-  t_float x_f;
-  
-  t_outlet *x_outlet0;
-
-  bool x_initialized;
-  bool x_auto_open;
-
-  unsigned int x_width;
-  unsigned int x_height;
-
-  int x_curinput;
-  int x_curstandard;
-  int x_curformat;
-  int x_freq;
-
-  // video 4 linux 2 structures
-  int x_ninputs;
-  int x_nstandards;
-  int x_nformats;
-  struct v4l2_capability x_vcap;
-  struct v4l2_input x_inputs[MAX_INPUT];
-  struct v4l2_standard x_standards[MAX_NORM];
-  struct v4l2_fmtdesc x_formats[MAX_FORMAT];
-  struct v4l2_streamparm x_streamparam;
-  struct v4l2_queryctrl x_controls[MAX_CTRL*2];
-  struct v4l2_buffer x_v4l2_buf[WANTED_BUFFERS];
-  struct v4l2_format x_v4l2_format;
-  struct v4l2_requestbuffers x_reqbufs;
-
-  unsigned char *x_pdp_buf[WANTED_BUFFERS];
- 
-  int x_tvfd;
-  int x_frame;
-  int x_skipnext;
-  int x_mytopmargin, x_mybottommargin;
-  int x_myleftmargin, x_myrightmargin;
-
-  t_symbol *x_device;
-
-  pthread_t x_thread_id;
-  int x_continue_thread;
-  int x_frame_ready;
-  int x_only_new_frames;
-  int x_last_frame;
-
-  int x_open_retry;
-
-  u32 x_minwidth;
-  u32 x_maxwidth;
-  u32 x_minheight;
-  u32 x_maxheight;
-
-  int x_debug;
-} t_pdp_v4l2;
-
-static void pdp_v4l2_close(t_pdp_v4l2 *x)
-{
-  /* close the v4l device and dealloc buffer */
-
-  void *dummy;
-  int i;
-
-    /* terminate thread if there is one */
-    if(x->x_continue_thread){
-	x->x_continue_thread = 0;
-	pthread_join (x->x_thread_id, &dummy);
-    }
-
-    if (x->x_tvfd >= 0)
-    {
-        close(x->x_tvfd);
-        x->x_tvfd = -1;
-    }
-
-    if (x->x_initialized){
-        for( i=0; i<WANTED_BUFFERS; i++ )
-        {
-           munmap(x->x_pdp_buf[i], x->x_v4l2_buf[i].length);
-        }
-	x->x_initialized = false;
-    }
-
-}
-
-static void pdp_v4l2_close_manual(t_pdp_v4l2 *x)
-{
-    x->x_open_retry = PDP_XV_RETRIES;
-    pdp_v4l2_close(x);
-}
-
-static void pdp_v4l2_close_error(t_pdp_v4l2 *x)
-{
-    pdp_v4l2_close(x);
-    if(x->x_open_retry) x->x_open_retry--;
-}
-
-static int pdp_v4l2_capture_frame(t_pdp_v4l2* x)
-{
-    x->x_v4l2_buf[x->x_frame].index  = x->x_frame;
-    x->x_v4l2_buf[x->x_frame].type   = V4L2_BUF_TYPE_VIDEO_CAPTURE;
-    x->x_v4l2_buf[x->x_frame].memory = V4L2_MEMORY_MMAP;
- 
-    if (-1 == ioctl (x->x_tvfd, VIDIOC_DQBUF, &x->x_v4l2_buf[x->x_frame])) 
-    {
-       switch (errno) 
-       {
-          case EAGAIN:
-            return 0;
-
-          case EIO:
-           // could ignore EIO, see spec
-
-          default:
-            post( "pdp_v4l2 : error reading buffer : thread exiting");
-            exit(-1);
-       }
-    }
-
-    // reenqueing buffer
-    if (-1 == ioctl (x->x_tvfd, VIDIOC_QBUF, &x->x_v4l2_buf[x->x_frame]))
-    {
-       perror("pdp_v4l2 : error queing buffers : thread exiting");
-       exit(-1);
-    }
-
-    return 0;
-} 
-
-static void pdp_v4l2_wait_frame(t_pdp_v4l2* x)
-{
-    // wait an event on file descriptor
-    fd_set fds;
-    struct timeval tv;
-    int ret;
-
-    FD_ZERO (&fds);
-    FD_SET (x->x_tvfd, &fds);
-
-    // Timeout. 
-    tv.tv_sec = 2;
-    tv.tv_usec = 0;
-
-    ret = select (x->x_tvfd + 1, &fds, NULL, NULL, &tv);
-
-    if (-1 == ret) {
-       if (EINTR == errno) return;
-       post ( "pdp_v4l2 : select timeout : thread exiting");
-       exit (-1);
-    }
-    if (0 == ret) 
-    {
-       post ( "pdp_v4l2 : select timeout : thread exiting");
-       exit (-1);
-    }
-}
-
-static int pdp_v4l2_start_capturing(t_pdp_v4l2 *x)
-{
-  enum v4l2_buf_type type;
-
-    type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
-    if (-1 == ioctl (x->x_tvfd, VIDIOC_STREAMON, &type))
-    {
-       perror("pdp_v4l2 : error starting streaming");
-       return -1;
-    }
-    post("pdp_v4l2 : capture started");
-    return 0;
-}
-
-static int pdp_v4l2_stop_capturing(t_pdp_v4l2 *x)
-{
-  enum v4l2_buf_type type;
-
-    type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
-    if (-1 == ioctl (x->x_tvfd, VIDIOC_STREAMOFF, &type))
-    {
-       perror("pdp_v4l2 : error stopping streaming");
-       return -1;
-    }
-    return 0;
-}
-
-static void *pdp_v4l2_thread(void *voidx)
-{
-    t_pdp_v4l2 *x = ((t_pdp_v4l2 *)voidx);
-
-    x->x_frame ^= 0x1;
-    if ( -1 == pdp_v4l2_start_capturing( x ) )
-    {
-       post( "pdp_v4l2 : problem starting capture.. exiting " );
-       exit( -1 );
-    }
-
-    /* capture with a double buffering scheme */
-    while (x->x_continue_thread)
-    {
-        /* schedule capture command for next frame */
-        pdp_v4l2_wait_frame(x);
-
-        /* wait until previous capture is ready */
-        x->x_frame ^= 0x1;
-        pdp_v4l2_capture_frame(x);
-
-        /* setup pointers for main thread */
-        x->x_frame_ready = 1;
-        x->x_last_frame = x->x_frame;
-    }
-
-    if ( -1 == pdp_v4l2_stop_capturing( x ) )
-    {
-       post( "pdp_v4l2 : problem stopping capture.. " );
-    }
-
-    post( "pdp_v4l2 : capture thread quitting" );
-    return 0;
-}
-
-static void pdp_v4l2_setlegaldim(t_pdp_v4l2 *x, int xx, int yy);
-
-static int pdp_v4l2_set_format(t_pdp_v4l2 *x, t_int index)
-{
-    x->x_v4l2_format.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
-    x->x_v4l2_format.fmt.pix.pixelformat = x->x_formats[index].pixelformat;
-    x->x_v4l2_format.fmt.pix.width = x->x_width;
-    x->x_v4l2_format.fmt.pix.height = x->x_height;
-    x->x_v4l2_format.fmt.pix.field = V4L2_FIELD_ANY;
-    x->x_v4l2_format.fmt.pix.bytesperline = 0;
-
-    post( "pdp_v4l2 : setting format : pixel format : %c%c%c%c", 
-            x->x_v4l2_format.fmt.pix.pixelformat & 0xff,
-            (x->x_v4l2_format.fmt.pix.pixelformat >>  8) & 0xff,
-            (x->x_v4l2_format.fmt.pix.pixelformat >> 16) & 0xff,
-            (x->x_v4l2_format.fmt.pix.pixelformat >> 24) & 0xff );
-
-    if (-1 == ioctl(x->x_tvfd, VIDIOC_S_FMT, &x->x_v4l2_format, EINVAL))
-    { 
-       perror( "pdp_v4l2 : setting format" );
-       return -1;
-    }
-
-    if ( x->x_v4l2_format.fmt.pix.pixelformat != x->x_formats[index].pixelformat )
-    {
-       post( "pdp_v4l2 : couldn't set format : wrong pixel format " );
-       return -1;
-    }
-    post( "pdp_v4l2 : capture format : width : %d : height :%d : bytesperline : %d : image size : %d",
-          x->x_v4l2_format.fmt.pix.width , x->x_v4l2_format.fmt.pix.height,
-          x->x_v4l2_format.fmt.pix.bytesperline, x->x_v4l2_format.fmt.pix.sizeimage );
-    return 0;
-}
-
-static int pdp_v4l2_init_mmap(t_pdp_v4l2 *x)
-{
-  unsigned int i;
-
-    // get mmap numbers 
-    x->x_reqbufs.count  = WANTED_BUFFERS;
-    x->x_reqbufs.type   = V4L2_BUF_TYPE_VIDEO_CAPTURE;
-    x->x_reqbufs.memory = V4L2_MEMORY_MMAP;
-    if (-1 == ioctl(x->x_tvfd, VIDIOC_REQBUFS, &x->x_reqbufs, 0))
-    {
-        post( "pdp_v4l2 : error : couldn't init driver buffers" ); 
-        return -1;
-    }
-    post("pdp_v4l2: got %d buffers type %d memory %d", 
-        x->x_reqbufs.count, x->x_reqbufs.type, x->x_reqbufs.memory );
-
-    for (i = 0; i < x->x_reqbufs.count; i++) 
-    {
-        x->x_v4l2_buf[i].index  = i;
-        x->x_v4l2_buf[i].type   = V4L2_BUF_TYPE_VIDEO_CAPTURE;
-        x->x_v4l2_buf[i].memory = V4L2_MEMORY_MMAP;
-        if (-1 == ioctl(x->x_tvfd, VIDIOC_QUERYBUF, &x->x_v4l2_buf[i], 0))
-        {
-            post( "pdp_v4l2 : error : couldn't query buffer %d", i ); 
-            return -1;
-        }
-        x->x_pdp_buf[i] = (unsigned char *) mmap(NULL, x->x_v4l2_buf[i].length,
-                          PROT_READ | PROT_WRITE, MAP_SHARED,
-                          x->x_tvfd, x->x_v4l2_buf[i].m.offset);
-        if (MAP_FAILED == x->x_pdp_buf[i]) 
-        {
-            perror("pdp_v4l2 : mmap");
-            return -1;
-        }
-    }
-    post( "pdp_v4l2 : mapped %d buffers", x->x_reqbufs.count ); 
-
-    for (i = 0; i < WANTED_BUFFERS; i++) 
-    {
-        x->x_v4l2_buf[i].type        = V4L2_BUF_TYPE_VIDEO_CAPTURE;
-        x->x_v4l2_buf[i].memory      = V4L2_MEMORY_MMAP;
-        x->x_v4l2_buf[i].index       = i;
-
-        if (-1 == ioctl (x->x_tvfd, VIDIOC_QBUF, &x->x_v4l2_buf[i]))
-        {
-            perror("pdp_v4l2 : error queing buffers");
-            return -1;
-        }
-    }
-    post( "pdp_v4l2 : queued %d buffers", x->x_reqbufs.count ); 
-
-    return 0;
-}
-
-static void pdp_v4l2_open(t_pdp_v4l2 *x, t_symbol *name)
-{
-    // open a v4l device and allocate a buffer
-
-    unsigned int size;
-    int i;
-
-    unsigned int width, height;
-
-    /* if already opened -> close */
-    if (x->x_initialized) pdp_v4l2_close(x);
-
-    /* exit if retried too much */
-    if (!x->x_open_retry){
-	post("pdp_v4l2: retry count reached zero for %s", name->s_name);
-	post("pdp_v4l2: try to open manually");
-	return;
-    }
-
-    post("pdp_v4l2: opening %s", name->s_name);
-
-    x->x_device = name;
-
-    if ((x->x_tvfd = open(name->s_name, O_RDWR)) < 0)
-    {
-        post("pdp_v4l2: error: open %s: %s",name->s_name,strerror(errno));
-        perror(name->s_name);
-        pdp_v4l2_close_error(x);
-        x->x_initialized = false;
-        return;
-    }
-
-    if (ioctl(x->x_tvfd, VIDIOC_QUERYCAP, &x->x_vcap) < 0)
-    {
-        perror("get capabilities");
-        return;
-    }
-
-    post("pdp_v4l2: driver info: %s %d.%d.%d / %s @ %s",
-          x->x_vcap.driver, (x->x_vcap.version >> 16) & 0xff, (x->x_vcap.version >>  8) & 0xff, x->x_vcap.version & 0xff, x->x_vcap.card, x->x_vcap.bus_info);
-
-    for (x->x_ninputs = 0; x->x_ninputs < MAX_INPUT; x->x_ninputs++) {
-        x->x_inputs[x->x_ninputs].index = x->x_ninputs;
-        if (-1 == ioctl(x->x_tvfd, VIDIOC_ENUMINPUT, &x->x_inputs[x->x_ninputs], EINVAL))
-        {
-            // perror("get inputs");
-            break;
-        }
-        else
-        {
-            post ("pdp_v4l2 : input %d : %s",  x->x_ninputs, x->x_inputs[x->x_ninputs].name );
-        }
-    }
-    if (x->x_debug) post("pdp_v4l2: device has %d inputs", x->x_ninputs );
-
-    if ( x->x_ninputs > 0 )
-    {
-      if (x->x_curinput < 0) x->x_curinput = 0;
-      if (x->x_curinput >= x->x_ninputs) x->x_curinput = x->x_ninputs-1;
-
-      if (ioctl(x->x_tvfd, VIDIOC_S_INPUT, &x->x_curinput) < 0)
-      {
-          perror("pdp_v4l2: error: VIDIOC_S_INPUT");
-          post("pdp_v4l2: cant switch to input %d",x->x_curinput);
-      }
-      else
-      {
-         post("pdp_v4l2: switched to input %d", x->x_curinput);
-      }
-
-      if (ioctl(x->x_tvfd, VIDIOC_G_INPUT, &x->x_curinput) < 0)
-      {
-          post("pdp_v4l2: cant get current input %d",x->x_curinput);
-      }
-      else
-      {
-          post("pdp_v4l2: current input is %d",x->x_curinput);
-      }
-    }
-
-    for (x->x_nstandards = 0; x->x_nstandards < MAX_NORM; x->x_nstandards++) {
-        x->x_standards[x->x_nstandards].index = x->x_nstandards;
-        if (-1 == ioctl(x->x_tvfd, VIDIOC_ENUMSTD, &x->x_standards[x->x_nstandards], EINVAL))
-        {
-            // perror("get standards");
-            break;
-        }
-        else
-        {
-            post ("pdp_v4l2 : standard %d : %s",  x->x_nstandards, x->x_standards[x->x_nstandards].name );
-        }
-    }
-    if (x->x_debug) post("pdp_v4l2: device supports %d standards", x->x_nstandards );
-
-    // switch to desired norm ( if available )
-    if ( x->x_nstandards > 0 )
-    {
-      if (x->x_curstandard < 0) x->x_curstandard = 0;
-      if (x->x_curstandard >= x->x_nstandards) x->x_curstandard = x->x_nstandards-1;
-
-      if (ioctl(x->x_tvfd, VIDIOC_S_STD, &x->x_curstandard) < 0)
-      {
-          perror("pdp_v4l2: error: VIDIOC_S_STD");
-          post("pdp_v4l2: cant switch to standard %d",x->x_curstandard);
-      }
-      else
-      {
-         post("pdp_v4l2: switched to standard %d", x->x_curstandard);
-      }
-
-      if (ioctl(x->x_tvfd, VIDIOC_G_STD, &x->x_curstandard) < 0)
-      {
-          post("pdp_v4l2: cant get current standard %d",x->x_curstandard);
-      }
-      else
-      {
-          post("pdp_v4l2: current standard is %d",x->x_curstandard);
-      }
-    }
-
-    if (x->x_freq > 0){
-        if (ioctl(x->x_tvfd, VIDIOC_S_FREQUENCY, &x->x_freq) < 0)
-            perror ("couldn't set frequency :");
-    }
-
-    for (x->x_nformats = 0; x->x_nformats < MAX_FORMAT; x->x_nformats++) {
-        x->x_formats[x->x_nformats].index = x->x_nformats;
-        x->x_formats[x->x_nformats].type  = V4L2_BUF_TYPE_VIDEO_CAPTURE;
-        if (-1 == ioctl(x->x_tvfd, VIDIOC_ENUM_FMT, &x->x_formats[x->x_nformats], EINVAL))
-        {
-            // perror("get formats");
-            break;
-        }
-        else
-        {
-            post ("pdp_v4l2 : format %d : %s",  x->x_nformats, x->x_formats[x->x_nformats].description );
-        }
-    }
-    if (x->x_debug) post("pdp_v4l2: device supports %d formats", x->x_nformats );
-
-    x->x_streamparam.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
-    ioctl(x->x_tvfd,VIDIOC_G_PARM,&x->x_streamparam);
-
-        /* controls */
-    for (i = 0; i < MAX_CTRL; i++) {
-        x->x_controls[i].id = V4L2_CID_BASE+i;
-        if (-1 == ioctl(x->x_tvfd, VIDIOC_QUERYCTRL, &x->x_controls[i], EINVAL) ||
-            (x->x_controls[i].flags & V4L2_CTRL_FLAG_DISABLED))
-            x->x_controls[i].id = -1;
-        else if (x->x_debug) post( "control %d active (i:%d)", x->x_controls[i].id, i );
-    }
-    for (i = 0; i < MAX_CTRL; i++) {
-        x->x_controls[i+MAX_CTRL].id = V4L2_CID_PRIVATE_BASE+i;
-        if (-1 == ioctl(x->x_tvfd, VIDIOC_QUERYCTRL, &x->x_controls[i+MAX_CTRL], EINVAL) ||
-            (x->x_controls[i+MAX_CTRL].flags & V4L2_CTRL_FLAG_DISABLED))
-            x->x_controls[i+MAX_CTRL].id = -1;
-        else if (x->x_debug) post( "control %d active (i:%d)", x->x_controls[i+MAX_CTRL].id, i );
-    }
-
-    if ( x->x_nformats > 0 )
-    {
-      if (x->x_curformat < 0) x->x_curformat = 0;
-      if (x->x_curformat >= x->x_nformats) x->x_curformat = x->x_nformats-1;
-
-      // set the first available format
-      if ( pdp_v4l2_set_format(x, x->x_curformat) < 0 )
-      {
-         post( "pdp_v4l2 : couldn't set format : closing..." );
-         pdp_v4l2_close_error(x);
-         x->x_initialized = false;
-         return;
-      }
-    }
-    else
-    {
-      post( "pdp_v4l2 : error : no available formats : closing..." );
-      pdp_v4l2_close_error(x);
-      x->x_initialized = false;
-      return;
-    }
-
-    if ( pdp_v4l2_init_mmap(x) < 0 )
-    {
-      post( "pdp_v4l2 : error : couldn't initialize memory mapping : closing..." );
-      pdp_v4l2_close_error(x);
-      x->x_initialized = false;
-      return;
-    }
-
-    x->x_initialized=true;
-    post( "pdp_v4l2 : device initialized" );
-
-    // create thread 
-    x->x_continue_thread = 1;
-    x->x_frame_ready = 0;
-    pthread_create(&x->x_thread_id, 0, pdp_v4l2_thread, x);
-    post( "pdp_v4l2 : created thread : %u", x->x_thread_id );
-
-}
-
-static void pdp_v4l2_open_manual(t_pdp_v4l2 *x, t_symbol *name)
-{
-    x->x_open_retry = PDP_XV_RETRIES;
-    pdp_v4l2_open(x, name);
-}
-
-
-static void pdp_v4l2_input(t_pdp_v4l2 *x, t_float f)
-{
-    if (!x->x_initialized){
-       post( "pdp_v4l2 : cannot set input : no device opened ");
-       return;
-    }
-    if ( ( (int)f < 0 ) || ( (int)f >= x->x_ninputs ) )
-    {
-       post( "pdp_v4l2 : input number %d out of range", (int)f );
-       return;
-    }
-    if (x->x_initialized){
-        pdp_v4l2_close(x);
-        x->x_curinput = (int)f;
-        pdp_v4l2_open(x, x->x_device);
-    }
-}
-
-static void pdp_v4l2_standard(t_pdp_v4l2 *x, t_float f)
-{
-    if (!x->x_initialized){
-       post( "pdp_v4l2 : cannot set standard : no device opened ");
-       return;
-    }
-    if ( ( (int)f < 0 ) || ( (int)f >= x->x_nstandards ) )
-    {
-       post( "pdp_v4l2 : standard number %d out of range", (int)f );
-       return;
-    }
-    if (x->x_initialized){
-        pdp_v4l2_close(x);
-        x->x_curstandard = (int)f;
-        pdp_v4l2_open(x, x->x_device);
-    }
-}
-
-static void pdp_v4l2_format(t_pdp_v4l2 *x, t_float f)
-{
-    if (!x->x_initialized){
-       post( "pdp_v4l2 : cannot set format : no device opened ");
-       return;
-    }
-    if ( ( (int)f < 0 ) || ( (int)f >= x->x_nformats ) )
-    {
-       post( "pdp_v4l2 : format number %d out of range", (int)f );
-       return;
-    }
-    if (x->x_initialized){
-        pdp_v4l2_close(x);
-        x->x_curformat = (int)f;
-        pdp_v4l2_open(x, x->x_device);
-    }
-}
-
-static void pdp_v4l2_freq(t_pdp_v4l2 *x, t_float f)
-{
-    if (!x->x_initialized){
-       post( "pdp_v4l2 : cannot set format : no device opened ");
-       return;
-    }
-    x->x_freq = (int)f;
-    if (x->x_freq > 0)
-    {
-       if (ioctl(x->x_tvfd, VIDIOC_S_FREQUENCY, &x->x_freq) < 0)
-       {
-         perror ("couldn't set frequency :");
-       }
-       else 
-       {
-         post("pdp_v4l2: tuner frequency set to : %f MHz", f / 16.0f);
-       }
-    }
-}
-
-static void pdp_v4l2_freqMHz(t_pdp_v4l2 *x, t_float f)
-{
-   pdp_v4l2_freq(x, f*16.0f); 
-}
-
-
-static void pdp_v4l2_bang(t_pdp_v4l2 *x)
-{
-   
-  /* if initialized, grab a frame and output it */
-
-  unsigned int w,h,nbpixels,packet_size,plane1,plane2;
-  unsigned char *newimage=NULL;
-  int pdp_packt,length,pos,i,encoding;
-  t_pdp* header;
-  t_image* image;
-  short int * data;
-
-  static short int gain[4] = {0x7fff, 0x7fff, 0x7fff, 0x7fff};
-
-  if (!(x->x_initialized)){
-	post("pdp_v4l2: no device opened");
-
-	if (x->x_auto_open){
-	  post("pdp_v4l2: attempting auto open");
-	  pdp_v4l2_open(x, x->x_device);
-	  if (!(x->x_initialized)){
-	    post("pdp_v4l2: auto open failed");
-	    return;
-	  }
-	}
-	else return;
-    }
-
-    /* do nothing if there is no frame ready */
-    if((!x->x_frame_ready) && (x->x_only_new_frames)) return;
-    x->x_frame_ready = 0;
-
-    newimage = x->x_pdp_buf[x->x_last_frame];
-
-    /* create new packet */
-
-    pdp_packt = pdp_packet_new_image(PDP_IMAGE_YV12, x->x_width, x->x_height);
-    header = pdp_packet_header(pdp_packt);
-    image = pdp_packet_image_info(pdp_packt);
-
-    if (!header){
-	post("pdp_v4l2: ERROR: can't allocate packet");
-	return;
-    }
-
-    data = (short int *) pdp_packet_data(pdp_packt);
-
-    /* convert data to pdp packet */
-
-    switch(x->x_v4l2_format.fmt.pix.pixelformat){
-    case  V4L2_PIX_FMT_YUV420:
-	pdp_llconv(newimage, RIF_YUV__P411_U8, data, RIF_YVU__P411_S16, x->x_width, x->x_height); 
-	break;
-	
-	/* long live standards. v4l's rgb is in fact ogl's bgr */
-    case  V4L2_PIX_FMT_RGB24:
-	pdp_llconv(newimage, RIF_BGR__P____U8, data, RIF_YVU__P411_S16, x->x_width, x->x_height); 
-	break;
-
-    case  V4L2_PIX_FMT_RGB32:
-	pdp_llconv(newimage, RIF_BGRA_P____U8, data, RIF_YVU__P411_S16, x->x_width, x->x_height); 
-	break;
-
-    case  V4L2_PIX_FMT_YUYV:
-	pdp_llconv(newimage, RIF_YUYV_P____U8, data, RIF_YVU__P411_S16, x->x_width, x->x_height); 
-	break;
-
-    case  V4L2_PIX_FMT_UYVY: 
-        pdp_llconv(newimage, RIF_UYVY_P____U8, data, RIF_YVU__P411_S16, x->x_width, x->x_height);
-        break;
-
-    default:
-	post("pdp_v4l2: unsupported color model");
-	break;
-    }
-
-    pdp_packet_pass_if_valid(x->x_outlet0, &pdp_packt);
-
-}
-
-
-static void pdp_v4l2_setlegaldim(t_pdp_v4l2 *x, int xx, int yy)
-{
-
-    unsigned int w,h;
-
-    w  = pdp_imageproc_legalwidth((int)xx);
-    h  = pdp_imageproc_legalheight((int)yy);
-    
-    w = (w < x->x_maxwidth) ? w : x->x_maxwidth;
-    w = (w > x->x_minwidth) ? w : x->x_minwidth;
-
-    h = (h < x->x_maxheight) ? h : x->x_maxheight;
-    h = (h > x->x_minheight) ? h : x->x_minheight;
-
-    x->x_width = w;
-    x->x_height = h;
-}
-
-static void pdp_v4l2_dim(t_pdp_v4l2 *x, t_floatarg xx, t_floatarg yy)
-{
-    if (!x->x_initialized){
-       post( "pdp_v4l2 : cannot set dim : no device opened ");
-       return;
-    }
-    if (x->x_initialized){
-        pdp_v4l2_close(x);
-        pdp_v4l2_setlegaldim(x, (int)xx, (int)yy);
-        pdp_v4l2_open(x, x->x_device);
-    }
-}
-
-static void pdp_v4l2_free(t_pdp_v4l2 *x)
-{
-    pdp_v4l2_close(x);
-}
-
-t_class *pdp_v4l2_class;
-
-void *pdp_v4l2_new(t_symbol *vdef)
-{
-    t_pdp_v4l2 *x = (t_pdp_v4l2 *)pd_new(pdp_v4l2_class);
-
-    x->x_outlet0 = outlet_new(&x->x_obj, &s_anything);
-
-    x->x_initialized = false;
-
-    x->x_tvfd = -1;
-    x->x_ninputs = 0;
-    x->x_curinput = -1;
-    x->x_curstandard = -1;
-    x->x_curformat = -1;
-    x->x_freq = -1;
-    x->x_nstandards = 0;
-    x->x_nformats = 0;
-    x->x_frame = 0;
-    x->x_last_frame = 0;
-
-    x->x_auto_open = true;
-    if (vdef != gensym("")){
-	x->x_device = vdef;
-    }
-    else{
-	x->x_device = gensym("/dev/video0");
-    }
-
-    x->x_continue_thread = 0;
-    x->x_only_new_frames = 1;
-
-    x->x_width = 320;
-    x->x_height = 240;
-
-    x->x_open_retry = PDP_XV_RETRIES;
-
-    x->x_minwidth = pdp_imageproc_legalwidth(0);
-    x->x_maxwidth = pdp_imageproc_legalwidth_round_down(0x7fffffff);
-    x->x_minheight = pdp_imageproc_legalheight(0);
-    x->x_maxheight = pdp_imageproc_legalheight_round_down(0x7fffffff);
-
-    x->x_debug = 1;
-
-    return (void *)x;
-}
-
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-
-
-void pdp_v4l2_setup(void)
-{
-    pdp_v4l2_class = class_new(gensym("pdp_v4l2"), (t_newmethod)pdp_v4l2_new,
-    	(t_method)pdp_v4l2_free, sizeof(t_pdp_v4l2), 0, A_DEFSYMBOL, A_DEFSYMBOL, A_NULL);
-
-    class_addmethod(pdp_v4l2_class, (t_method)pdp_v4l2_close_manual, gensym("close"), A_NULL);
-    class_addmethod(pdp_v4l2_class, (t_method)pdp_v4l2_open_manual, gensym("open"), A_SYMBOL, A_NULL);
-    class_addmethod(pdp_v4l2_class, (t_method)pdp_v4l2_input, gensym("input"), A_FLOAT, A_NULL);
-    class_addmethod(pdp_v4l2_class, (t_method)pdp_v4l2_format, gensym("format"), A_FLOAT, A_NULL);
-    class_addmethod(pdp_v4l2_class, (t_method)pdp_v4l2_standard, gensym("standard"), A_FLOAT, A_NULL);
-    class_addmethod(pdp_v4l2_class, (t_method)pdp_v4l2_dim, gensym("dim"), A_FLOAT, A_FLOAT, A_NULL);
-    class_addmethod(pdp_v4l2_class, (t_method)pdp_v4l2_freq, gensym("freq"), A_FLOAT, A_NULL);
-    class_addmethod(pdp_v4l2_class, (t_method)pdp_v4l2_freqMHz, gensym("freqMHz"), A_FLOAT, A_NULL);
-    class_addmethod(pdp_v4l2_class, (t_method)pdp_v4l2_bang, gensym("bang"), A_NULL);
-
-}
-
-#ifdef __cplusplus
-}
-#endif

Deleted: branches/pd-extended/v0-40/externals/pidip/patches/giss-audio-mp3.pd
===================================================================
--- branches/pd-extended/v0-40/externals/pidip/patches/giss-audio-mp3.pd	2008-06-13 14:06:14 UTC (rev 9995)
+++ branches/pd-extended/v0-40/externals/pidip/patches/giss-audio-mp3.pd	2008-06-13 14:06:35 UTC (rev 9996)
@@ -1,531 +0,0 @@
-#N canvas 0 0 996 665 10;
-#N canvas 0 0 999 654 streaming 0;
-#X msg 277 386 disconnect;
-#X floatatom 701 564 5 0 0 0 - - -;
-#X text 714 584 Streaming status;
-#X floatatom 216 532 13 0 0 0 - - -;
-#X obj 142 366 inlet~;
-#X obj 216 366 inlet~;
-#X obj 786 373 loadbang;
-#X msg 41 371 \; pd dsp 1;
-#X obj 700 654 select 1;
-#X obj 714 788 f;
-#X msg 688 759 bang;
-#X floatatom 745 732 3 0 29 0 - - -;
-#X msg 731 691 13;
-#X msg 698 691 16;
-#X obj 288 8 r connect;
-#X obj 277 365 r disconnect;
-#X obj 265 463 s audio;
-#X obj 347 63 r server-name;
-#X obj 318 89 symbol;
-#X symbolatom 318 112 30 0 0 0 - - -;
-#X obj 318 65 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X symbolatom 468 87 30 0 0 0 - - -;
-#X obj 468 40 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 497 38 r mount-point;
-#X obj 601 16 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 630 14 r port-number;
-#X obj 318 30 t b b b;
-#X obj 289 29 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X msg 322 166 connect \$1 \$2 \$3;
-#X msg 168 165 passwd \$1;
-#X obj 168 141 symbol;
-#X symbolatom 219 144 10 0 0 0 - - -;
-#X obj 167 109 r password;
-#X obj 320 140 pack s s f;
-#X msg 711 843 \; bstatus color \$1 \$2 \$3;
-#X msg 659 719 \; bstatus 1;
-#X msg 744 775 \; bstatus 0;
-#X obj 714 816 pack 0 0 0;
-#X obj 264 415 env~;
-#X obj 265 441 - 80;
-#X obj 63 343 loadbang;
-#X obj 46 16 loadbang;
-#X obj 47 67 s iserver-name;
-#X obj 47 92 s server-name;
-#X obj 42 132 loadbang;
-#X obj 43 183 s iport-number;
-#X obj 43 208 s port-number;
-#X msg 45 40 symbol stream.giss.tv;
-#X msg 41 156 8000;
-#X obj 468 64 symbol;
-#X obj 601 40 float;
-#X floatatom 602 62 5 0 0 0 - - -;
-#X msg 817 458 2;
-#N canvas 135 92 534 518 metadata 0;
-#X obj 66 445 outlet;
-#X obj 292 375 r stream-genre;
-#X obj 347 45 loadbang;
-#X obj 366 422 s istream-genre;
-#X msg 256 306 symbol giss stream;
-#X obj 257 328 s istream-description;
-#X obj 201 284 r stream-description;
-#X msg 239 213 symbol http://giss.tv;
-#X msg 195 120 symbol various;
-#X obj 196 142 s istream-artist;
-#X obj 140 98 r stream-artist;
-#X obj 142 46 s istream-title;
-#X msg 142 24 symbol pd stream;
-#X obj 87 3 r stream-title;
-#X obj 31 140 print title;
-#X obj 184 191 r stream-location;
-#X obj 240 235 s istream-location;
-#X msg 174 256 LOCATION \$1;
-#X msg 110 167 ARTIST \$1;
-#X msg 49 75 TITLE \$1;
-#X msg 183 349 DESCRIPTION \$1;
-#X msg 288 417 GENRE \$1;
-#X msg 202 490 COPYRIGHT \$1;
-#X obj 206 448 r stream-copyright;
-#X msg 326 467 symbol none;
-#X obj 332 494 s istream-copyright;
-#X msg 361 396 symbol free media;
-#X connect 1 0 21 0;
-#X connect 2 0 26 0;
-#X connect 2 0 4 0;
-#X connect 2 0 7 0;
-#X connect 2 0 8 0;
-#X connect 2 0 12 0;
-#X connect 2 0 24 0;
-#X connect 4 0 5 0;
-#X connect 6 0 20 0;
-#X connect 7 0 16 0;
-#X connect 8 0 9 0;
-#X connect 10 0 18 0;
-#X connect 12 0 11 0;
-#X connect 13 0 19 0;
-#X connect 15 0 17 0;
-#X connect 17 0 0 0;
-#X connect 18 0 0 0;
-#X connect 19 0 0 0;
-#X connect 19 0 14 0;
-#X connect 20 0 0 0;
-#X connect 21 0 0 0;
-#X connect 22 0 0 0;
-#X connect 23 0 22 0;
-#X connect 24 0 25 0;
-#X connect 26 0 3 0;
-#X restore 312 269 pd metadata;
-#X obj 669 626 print status;
-#X text 261 549 Number of ogg pages emitted;
-#X obj 217 569 s pages;
-#X msg 399 481 server \$1;
-#X obj 481 481 r server-type;
-#X msg 836 404 1;
-#X obj 836 430 s iserver-type;
-#X text 376 365 vorbis <samplerate> <channels> <max.br> <nom.br> <min.br>
-;
-#X obj 718 514 s istream-srate;
-#X msg 722 490 44100;
-#X obj 814 486 s istream-channels;
-#X obj 540 212 f;
-#X obj 654 211 r stream-srate;
-#X obj 541 258 f;
-#X obj 652 234 r stream-channels;
-#X obj 540 235 f;
-#X msg 376 382 vorbis \$1 \$2 \$3 \$4 \$5;
-#X obj 376 408 print vorbis;
-#X obj 401 290 pack f f f f f;
-#X obj 543 280 f;
-#X obj 544 301 f;
-#X obj 653 258 r stream-maxbitrate;
-#X obj 653 280 r stream-bitrate;
-#X obj 656 301 r stream-minbitrate;
-#X obj 572 301 t b b b b f;
-#X obj 572 280 t b b b b f;
-#X obj 570 258 t b b b b f;
-#X obj 570 234 t b b b b f;
-#X obj 570 211 t f b b b b;
-#X obj 844 543 s istream-maxbitrate;
-#X obj 845 591 s istream-minbitrate;
-#X obj 844 639 s istream-bitrate;
-#X obj 159 490 oggcast~ 1 2 512;
-#X msg 843 518 128;
-#X msg 844 565 64;
-#X msg 843 613 96;
-#X connect 0 0 86 0;
-#X connect 1 0 8 0;
-#X connect 1 0 54 0;
-#X connect 3 0 56 0;
-#X connect 4 0 38 0;
-#X connect 4 0 86 0;
-#X connect 6 0 59 0;
-#X connect 6 0 63 0;
-#X connect 6 0 52 0;
-#X connect 6 0 87 0;
-#X connect 6 0 88 0;
-#X connect 6 0 89 0;
-#X connect 8 0 13 0;
-#X connect 8 1 12 0;
-#X connect 8 1 36 0;
-#X connect 9 0 37 0;
-#X connect 10 0 9 0;
-#X connect 11 0 9 1;
-#X connect 11 0 10 0;
-#X connect 12 0 11 0;
-#X connect 13 0 11 0;
-#X connect 13 0 35 0;
-#X connect 14 0 27 0;
-#X connect 15 0 0 0;
-#X connect 17 0 18 1;
-#X connect 18 0 19 0;
-#X connect 19 0 33 0;
-#X connect 20 0 18 0;
-#X connect 21 0 33 1;
-#X connect 22 0 49 0;
-#X connect 23 0 49 1;
-#X connect 24 0 50 0;
-#X connect 25 0 50 1;
-#X connect 26 0 20 0;
-#X connect 26 1 22 0;
-#X connect 26 2 24 0;
-#X connect 27 0 26 0;
-#X connect 28 0 86 0;
-#X connect 29 0 86 0;
-#X connect 30 0 29 0;
-#X connect 32 0 30 0;
-#X connect 32 0 31 0;
-#X connect 33 0 28 0;
-#X connect 37 0 34 0;
-#X connect 38 0 39 0;
-#X connect 39 0 16 0;
-#X connect 40 0 7 0;
-#X connect 41 0 47 0;
-#X connect 44 0 48 0;
-#X connect 47 0 42 0;
-#X connect 47 0 43 0;
-#X connect 48 0 45 0;
-#X connect 48 0 46 0;
-#X connect 49 0 21 0;
-#X connect 50 0 51 0;
-#X connect 51 0 33 2;
-#X connect 52 0 64 0;
-#X connect 53 0 86 0;
-#X connect 57 0 86 0;
-#X connect 58 0 57 0;
-#X connect 59 0 60 0;
-#X connect 63 0 62 0;
-#X connect 65 0 72 0;
-#X connect 66 0 82 0;
-#X connect 67 0 72 2;
-#X connect 68 0 81 0;
-#X connect 69 0 72 1;
-#X connect 70 0 71 0;
-#X connect 70 0 86 0;
-#X connect 72 0 70 0;
-#X connect 73 0 72 3;
-#X connect 74 0 72 4;
-#X connect 75 0 80 0;
-#X connect 76 0 79 0;
-#X connect 77 0 78 0;
-#X connect 78 0 65 0;
-#X connect 78 1 69 0;
-#X connect 78 2 67 0;
-#X connect 78 3 73 0;
-#X connect 78 4 74 0;
-#X connect 79 0 65 0;
-#X connect 79 1 69 0;
-#X connect 79 2 67 0;
-#X connect 79 3 74 0;
-#X connect 79 4 73 0;
-#X connect 80 0 65 0;
-#X connect 80 1 69 0;
-#X connect 80 2 73 0;
-#X connect 80 3 74 0;
-#X connect 80 4 67 0;
-#X connect 81 0 65 0;
-#X connect 81 1 67 0;
-#X connect 81 2 73 0;
-#X connect 81 3 74 0;
-#X connect 81 4 69 0;
-#X connect 82 0 65 0;
-#X connect 82 1 69 0;
-#X connect 82 2 67 0;
-#X connect 82 3 73 0;
-#X connect 82 4 74 0;
-#X connect 86 0 1 0;
-#X connect 86 1 3 0;
-#X connect 87 0 83 0;
-#X connect 88 0 84 0;
-#X connect 89 0 85 0;
-#X restore 346 277 pd streaming;
-#X obj 158 560 cnv 15 250 75 empty empty empty 10 5 1 10 -128992 -66577
-0;
-#X floatatom 175 583 8 0 0 0 - pages -;
-#X obj 470 510 cnv 15 200 120 empty empty empty 20 12 0 14 -62784 -66577
-0;
-#X text 535 545 start;
-#X text 544 584 stop;
-#X obj 596 540 bng 25 250 50 0 connect empty empty 0 -6 0 8 -24198
--1 -1;
-#X obj 598 580 bng 25 250 50 0 disconnect empty empty 0 -6 0 8 -258699
--1 -1;
-#X obj 417 513 vu 15 120 audio empty -1 -8 0 8 -66577 -1 1 0;
-#X obj 240 274 dac~;
-#X obj 47 306 cnv 15 300 160 empty empty empty 20 12 0 14 -236851 -66577
-0;
-#X text 50 307 Server configuration;
-#X symbolatom 130 336 30 0 0 0 server: iserver-name server-name;
-#X symbolatom 130 378 30 0 0 0 mountpoint: - mount-point;
-#X symbolatom 129 398 30 0 0 0 password: - password;
-#X obj 362 570 tgl 40 0 empty bstatus empty 0 -6 0 8 -24198 -262144
--262144 0 1;
-#X obj 52 559 cnv 15 100 75 empty empty empty 20 12 0 14 -99865 -66577
-0;
-#X text 74 562 G.I.S.S.;
-#X text 70 579 streaming;
-#X text 82 598 patch;
-#X obj 670 32 cnv 15 300 120 empty empty empty 20 12 0 14 -236851 -66577
-0;
-#X obj 750 131 tgl 15 0 mic-mute empty mute: -65 8 0 12 -24198 -1 -1
-0 1;
-#X floatatom 129 356 5 0 0 0 port: iport-number port-number;
-#X text 344 473 <<<<<<<<<<<<<< Emission >>>>>>>>>>>>>>>>>;
-#X obj 364 304 cnv 15 300 160 empty empty empty 20 12 0 14 -236851
--66577 0;
-#X symbolatom 450 323 30 0 0 0 title: istream-title stream-title;
-#X symbolatom 451 378 30 0 0 0 description: istream-description stream-description
-;
-#X symbolatom 451 398 30 0 0 0 genre: istream-genre stream-genre;
-#X symbolatom 450 340 30 0 0 0 artist: istream-artist stream-artist
-;
-#X symbolatom 450 359 30 0 0 0 location: istream-location stream-location
-;
-#X obj 674 305 cnv 15 300 160 empty empty empty 20 12 0 14 -236851
--66577 0;
-#X floatatom 831 346 5 0 0 0 channels_(1..2): istream-channels stream-channels
-;
-#X floatatom 834 364 5 0 0 0 Samplerate: istream-srate stream-srate
-;
-#X floatatom 833 381 5 0 0 0 Bitrate: istream-bitrate stream-bitrate
-;
-#X floatatom 832 398 5 0 0 0 Max_bitrate: istream-maxbitrate stream-maxbitrate
-;
-#X text 678 307 Stream quality :;
-#X text 535 518 EMISSION;
-#X text 416 494 level;
-#X text 686 643 support : ydegoyon at free.fr;
-#X text 300 8 <<<<<<<<<<<<<< Input files and microphone >>>>>>>>>>>>>>>>>
-;
-#X text 673 33 Microphone;
-#X obj 807 43 vsl 15 80 0 3 0 0 mic-level imic-level empty 0 -8 0 8
--44926 -1 -1 2633 1;
-#X text 794 131 level;
-#X obj 854 44 vu 15 80 mic-db empty -1 -8 0 8 -66577 -1 1 0;
-#X text 685 630 Authors : autoperro;
-#N canvas 251 329 450 300 mic 0;
-#X obj 218 91 adc~;
-#X obj 216 144 *~ 1;
-#X obj 272 144 *~ 1;
-#X obj 278 108 hsl 128 15 0 3 0 0 empty mic-level empty -2 -6 0 8 -260818
--1 -1 4233 1;
-#X obj 328 192 env~;
-#X obj 332 221 - 88;
-#X obj 340 256 s mic-db;
-#X obj 297 20 r mic-mute;
-#X obj 385 83 f;
-#X obj 392 56 r mic-level;
-#X msg 276 79 float 0;
-#X msg 341 79 bang;
-#X obj 84 66 loadbang;
-#X msg 85 96 float 1;
-#X obj 84 123 s imic-level;
-#X obj 296 49 route 1;
-#X obj 186 209 outlet~;
-#X obj 257 208 outlet~;
-#X connect 0 0 1 0;
-#X connect 0 1 2 0;
-#X connect 1 0 16 0;
-#X connect 1 0 4 0;
-#X connect 2 0 17 0;
-#X connect 2 0 4 0;
-#X connect 3 0 2 1;
-#X connect 3 0 1 1;
-#X connect 4 0 5 0;
-#X connect 5 0 6 0;
-#X connect 7 0 15 0;
-#X connect 8 0 3 0;
-#X connect 9 0 8 1;
-#X connect 10 0 3 0;
-#X connect 11 0 8 0;
-#X connect 12 0 13 0;
-#X connect 13 0 14 0;
-#X connect 15 0 10 0;
-#X connect 15 1 11 0;
-#X restore 283 258 pd mic;
-#X text 239 584 Ogg pages emitted;
-#X text 66 612 ( audio );
-#X obj 149 422 vradio 15 1 0 2 server-type iserver-type empty 0 -6
-0 8 -262144 -1 -1 1;
-#X text 49 420 server type :;
-#X text 172 421 JRoar or old icecast;
-#X text 172 436 icecast 2;
-#X symbolatom 451 417 30 0 0 0 copyright: istream-copyright stream-copyright
-;
-#X text 369 305 Meta data ( _ will be replaced by spaces );
-#X floatatom 833 417 5 0 0 0 Min_bitrate: istream-minbitrate stream-minbitrate
-;
-#X obj 699 509 cnv 15 200 120 empty empty empty 20 12 0 14 -261689
--66577 0;
-#X text 734 535 G.I.S.S.;
-#X text 824 556 is not;
-#X text 790 586 T. V.;
-#N canvas 0 0 996 665 mp3 0;
-#X obj 111 134 playlist mp3 250 100 {Helvetica 10 bold} #457782 yellow
-black red;
-#X msg 168 417 open \$1;
-#X obj 94 448 loadbang;
-#X msg 129 414 1;
-#X obj 176 244 hsl 160 15 0 2000 0 0 empty empty seek: -45 6 0 12 -262144
--1 -1 556 1;
-#X obj 174 293 tgl 15 0 empty empty loop: -40 6 0 12 -260818 -1 -1
-1 1;
-#X obj 175 318 tgl 15 0 empty empty start!: -50 6 0 12 -24198 -1 -1
-0 1;
-#X msg 251 388 70;
-#X obj 336 494 spigot;
-#X obj 323 388 route 1;
-#X msg 322 417 start;
-#X msg 372 416 stop;
-#X msg 45 418 seek \$1;
-#X obj 373 138 vsl 15 128 0 5 0 0 empty empty empty 0 -8 0 8 -262144
--1 -1 2540 1;
-#X text 358 275 level;
-#X obj 271 593 *~ 1;
-#X obj 207 592 *~ 1;
-#X obj 447 270 loadbang;
-#X msg 446 301 1;
-#X floatatom 173 267 5 0 0 0 position: - -;
-#X obj 192 548 mp3streamin~ \$0 1;
-#X obj 197 497 mp3fileout~;
-#X obj 445 464 f \$0;
-#X floatatom 468 493 5 0 0 0 - - -;
-#X obj 448 440 loadbang;
-#X msg 396 530 connect localhost \$1;
-#X msg 414 416 disconnect;
-#X obj 265 630 outlet~;
-#X obj 196 630 outlet~;
-#X msg 525 441 bang;
-#X obj 462 581 block~ 512;
-#X connect 0 0 1 0;
-#X connect 1 0 21 0;
-#X connect 2 0 3 0;
-#X connect 2 0 7 0;
-#X connect 3 0 5 0;
-#X connect 4 0 12 0;
-#X connect 5 0 8 1;
-#X connect 6 0 9 0;
-#X connect 7 0 4 0;
-#X connect 8 0 10 0;
-#X connect 9 0 10 0;
-#X connect 9 1 11 0;
-#X connect 10 0 21 0;
-#X connect 11 0 21 0;
-#X connect 12 0 21 0;
-#X connect 13 0 15 1;
-#X connect 13 0 16 1;
-#X connect 15 0 27 0;
-#X connect 16 0 28 0;
-#X connect 17 0 18 0;
-#X connect 18 0 13 0;
-#X connect 20 0 16 0;
-#X connect 20 1 15 0;
-#X connect 21 1 19 0;
-#X connect 21 2 8 0;
-#X connect 22 0 23 0;
-#X connect 22 0 25 0;
-#X connect 24 0 22 0;
-#X connect 25 0 21 0;
-#X connect 26 0 21 0;
-#X connect 29 0 22 0;
-#X coords 0 -1 1 1 300 240 1 100 100;
-#X restore 334 34 pd mp3 files;
-#N canvas 0 0 996 665 ogg/vorbis 1;
-#X obj 111 134 playlist ogg 250 100 {Helvetica 10 bold} #457782 yellow
-black red;
-#X msg 168 417 open \$1;
-#X obj 106 480 loadbang;
-#X msg 121 437 1;
-#X obj 169 247 hsl 160 15 0 2000 0 0 empty empty seek: -45 6 0 12 -262144
--1 -1 556 1;
-#X obj 166 291 tgl 15 0 empty empty loop: -40 6 0 12 -260818 -1 -1
-1 1;
-#X obj 166 315 tgl 15 0 empty empty start!: -50 6 0 12 -24198 -1 -1
-1 1;
-#X msg 251 388 70;
-#X obj 197 497 oggread~;
-#X obj 336 494 spigot;
-#X obj 323 388 route 1;
-#X msg 322 417 start;
-#X msg 372 416 stop;
-#X msg 318 357 seek \$1;
-#X obj 373 138 vsl 15 128 0 5 0 0 empty empty empty 0 -8 0 8 -262144
--1 -1 2540 1;
-#X text 358 275 level;
-#X obj 271 593 *~ 1;
-#X obj 207 592 *~ 1;
-#X obj 447 270 loadbang;
-#X msg 446 301 1;
-#X floatatom 166 270 5 0 0 0 position: - -;
-#X obj 265 630 outlet~;
-#X obj 196 630 outlet~;
-#X obj 298 288 cnv 15 100 50 empty empty empty 20 12 0 14 -262144 -66577
-0;
-#X msg 290 314 1;
-#X msg 387 446 0;
-#X obj 143 383 t b s;
-#X connect 0 0 26 0;
-#X connect 1 0 8 0;
-#X connect 2 0 3 0;
-#X connect 2 0 7 0;
-#X connect 3 0 5 0;
-#X connect 4 0 13 0;
-#X connect 5 0 9 1;
-#X connect 6 0 10 0;
-#X connect 7 0 4 0;
-#X connect 8 0 17 0;
-#X connect 8 1 16 0;
-#X connect 8 2 20 0;
-#X connect 8 3 9 0;
-#X connect 9 0 11 0;
-#X connect 10 0 11 0;
-#X connect 10 1 12 0;
-#X connect 11 0 8 0;
-#X connect 11 0 24 0;
-#X connect 12 0 8 0;
-#X connect 12 0 25 0;
-#X connect 13 0 8 0;
-#X connect 14 0 16 1;
-#X connect 14 0 17 1;
-#X connect 16 0 21 0;
-#X connect 17 0 22 0;
-#X connect 18 0 19 0;
-#X connect 19 0 14 0;
-#X connect 24 0 6 0;
-#X connect 25 0 6 0;
-#X connect 26 0 11 0;
-#X connect 26 1 1 0;
-#X coords 0 -1 1 1 300 240 1 100 100;
-#X restore 29 33 pd ogg/vorbis files;
-#X obj 16 271 cnv 15 800 30 empty empty empty 20 12 0 14 -262144 -66577
-0;
-#X text 320 282 <<<<<<<<<<<<<< Stream configuration >>>>>>>>>>>>>>>>>
-;
-#X connect 45 0 0 0;
-#X connect 45 0 9 0;
-#X connect 45 1 0 1;
-#X connect 45 1 9 1;
-#X connect 59 0 0 0;
-#X connect 59 0 9 0;
-#X connect 59 1 0 1;
-#X connect 59 1 9 1;
-#X connect 60 0 0 0;
-#X connect 60 0 9 0;
-#X connect 60 1 9 1;
-#X connect 60 1 0 1;
-#X coords 0 0 1 1 85 60 0;

Deleted: branches/pd-extended/v0-40/externals/pidip/patches/giss-audio-ogg.pd
===================================================================
--- branches/pd-extended/v0-40/externals/pidip/patches/giss-audio-ogg.pd	2008-06-13 14:06:14 UTC (rev 9995)
+++ branches/pd-extended/v0-40/externals/pidip/patches/giss-audio-ogg.pd	2008-06-13 14:06:35 UTC (rev 9996)
@@ -1,523 +0,0 @@
-#N canvas 0 0 996 665 10;
-#N canvas 0 0 999 654 streaming 0;
-#X msg 277 386 disconnect;
-#X floatatom 701 564 5 0 0 0 - - -;
-#X text 714 584 Streaming status;
-#X floatatom 216 532 13 0 0 0 - - -;
-#X obj 142 366 inlet~;
-#X obj 216 366 inlet~;
-#X obj 786 373 loadbang;
-#X msg 41 371 \; pd dsp 1;
-#X obj 700 654 select 1;
-#X obj 714 788 f;
-#X msg 688 759 bang;
-#X floatatom 745 732 3 0 29 0 - - -;
-#X msg 731 691 13;
-#X msg 698 691 16;
-#X obj 288 8 r connect;
-#X obj 277 365 r disconnect;
-#X obj 265 463 s audio;
-#X obj 347 63 r server-name;
-#X obj 318 89 symbol;
-#X symbolatom 318 112 30 0 0 0 - - -;
-#X obj 318 65 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X symbolatom 468 87 30 0 0 0 - - -;
-#X obj 468 40 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 497 38 r mount-point;
-#X obj 601 16 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 630 14 r port-number;
-#X obj 318 30 t b b b;
-#X obj 289 29 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X msg 322 166 connect \$1 \$2 \$3;
-#X msg 168 165 passwd \$1;
-#X obj 168 141 symbol;
-#X symbolatom 219 144 10 0 0 0 - - -;
-#X obj 167 109 r password;
-#X obj 320 140 pack s s f;
-#X msg 711 843 \; bstatus color \$1 \$2 \$3;
-#X msg 659 719 \; bstatus 1;
-#X msg 744 775 \; bstatus 0;
-#X obj 714 816 pack 0 0 0;
-#X obj 264 415 env~;
-#X obj 265 441 - 80;
-#X obj 63 343 loadbang;
-#X obj 46 16 loadbang;
-#X obj 47 67 s iserver-name;
-#X obj 47 92 s server-name;
-#X obj 42 132 loadbang;
-#X obj 43 183 s iport-number;
-#X obj 43 208 s port-number;
-#X msg 45 40 symbol stream.giss.tv;
-#X msg 41 156 8000;
-#X obj 468 64 symbol;
-#X obj 601 40 float;
-#X floatatom 602 62 5 0 0 0 - - -;
-#X msg 817 458 2;
-#N canvas 135 92 534 518 metadata 0;
-#X obj 66 445 outlet;
-#X obj 292 375 r stream-genre;
-#X obj 347 45 loadbang;
-#X obj 366 422 s istream-genre;
-#X msg 256 306 symbol giss stream;
-#X obj 257 328 s istream-description;
-#X obj 201 284 r stream-description;
-#X msg 239 213 symbol http://giss.tv;
-#X msg 195 120 symbol various;
-#X obj 196 142 s istream-artist;
-#X obj 140 98 r stream-artist;
-#X obj 142 46 s istream-title;
-#X msg 142 24 symbol pd stream;
-#X obj 87 3 r stream-title;
-#X obj 31 140 print title;
-#X obj 184 191 r stream-location;
-#X obj 240 235 s istream-location;
-#X msg 174 256 LOCATION \$1;
-#X msg 110 167 ARTIST \$1;
-#X msg 49 75 TITLE \$1;
-#X msg 183 349 DESCRIPTION \$1;
-#X msg 288 417 GENRE \$1;
-#X msg 202 490 COPYRIGHT \$1;
-#X obj 206 448 r stream-copyright;
-#X msg 326 467 symbol none;
-#X obj 332 494 s istream-copyright;
-#X msg 361 396 symbol free media;
-#X connect 1 0 21 0;
-#X connect 2 0 26 0;
-#X connect 2 0 4 0;
-#X connect 2 0 7 0;
-#X connect 2 0 8 0;
-#X connect 2 0 12 0;
-#X connect 2 0 24 0;
-#X connect 4 0 5 0;
-#X connect 6 0 20 0;
-#X connect 7 0 16 0;
-#X connect 8 0 9 0;
-#X connect 10 0 18 0;
-#X connect 12 0 11 0;
-#X connect 13 0 19 0;
-#X connect 15 0 17 0;
-#X connect 17 0 0 0;
-#X connect 18 0 0 0;
-#X connect 19 0 0 0;
-#X connect 19 0 14 0;
-#X connect 20 0 0 0;
-#X connect 21 0 0 0;
-#X connect 22 0 0 0;
-#X connect 23 0 22 0;
-#X connect 24 0 25 0;
-#X connect 26 0 3 0;
-#X restore 312 269 pd metadata;
-#X obj 669 626 print status;
-#X text 261 549 Number of ogg pages emitted;
-#X obj 217 569 s pages;
-#X msg 399 481 server \$1;
-#X obj 481 481 r server-type;
-#X msg 836 404 1;
-#X obj 836 430 s iserver-type;
-#X text 376 365 vorbis <samplerate> <channels> <max.br> <nom.br> <min.br>
-;
-#X obj 718 514 s istream-srate;
-#X msg 722 490 44100;
-#X obj 814 486 s istream-channels;
-#X obj 540 212 f;
-#X obj 654 211 r stream-srate;
-#X obj 541 258 f;
-#X obj 652 234 r stream-channels;
-#X obj 540 235 f;
-#X msg 376 382 vorbis \$1 \$2 \$3 \$4 \$5;
-#X obj 376 408 print vorbis;
-#X obj 401 290 pack f f f f f;
-#X obj 543 280 f;
-#X obj 544 301 f;
-#X obj 653 258 r stream-maxbitrate;
-#X obj 653 280 r stream-bitrate;
-#X obj 656 301 r stream-minbitrate;
-#X obj 572 301 t b b b b f;
-#X obj 572 280 t b b b b f;
-#X obj 570 258 t b b b b f;
-#X obj 570 234 t b b b b f;
-#X obj 570 211 t f b b b b;
-#X obj 844 543 s istream-maxbitrate;
-#X obj 845 591 s istream-minbitrate;
-#X obj 844 639 s istream-bitrate;
-#X obj 159 490 oggcast~ 1 2 512;
-#X msg 843 518 96;
-#X msg 844 565 32;
-#X msg 843 613 64;
-#X connect 0 0 86 0;
-#X connect 1 0 8 0;
-#X connect 1 0 54 0;
-#X connect 3 0 56 0;
-#X connect 4 0 86 0;
-#X connect 4 0 38 0;
-#X connect 5 0 38 0;
-#X connect 6 0 59 0;
-#X connect 6 0 63 0;
-#X connect 6 0 52 0;
-#X connect 6 0 87 0;
-#X connect 6 0 88 0;
-#X connect 6 0 89 0;
-#X connect 8 0 13 0;
-#X connect 8 1 12 0;
-#X connect 8 1 36 0;
-#X connect 9 0 37 0;
-#X connect 10 0 9 0;
-#X connect 11 0 9 1;
-#X connect 11 0 10 0;
-#X connect 12 0 11 0;
-#X connect 13 0 11 0;
-#X connect 13 0 35 0;
-#X connect 14 0 27 0;
-#X connect 15 0 0 0;
-#X connect 17 0 18 1;
-#X connect 18 0 19 0;
-#X connect 19 0 33 0;
-#X connect 20 0 18 0;
-#X connect 21 0 33 1;
-#X connect 22 0 49 0;
-#X connect 23 0 49 1;
-#X connect 24 0 50 0;
-#X connect 25 0 50 1;
-#X connect 26 0 20 0;
-#X connect 26 1 22 0;
-#X connect 26 2 24 0;
-#X connect 27 0 26 0;
-#X connect 28 0 86 0;
-#X connect 29 0 86 0;
-#X connect 30 0 29 0;
-#X connect 32 0 30 0;
-#X connect 32 0 31 0;
-#X connect 33 0 28 0;
-#X connect 37 0 34 0;
-#X connect 38 0 39 0;
-#X connect 39 0 16 0;
-#X connect 40 0 7 0;
-#X connect 41 0 47 0;
-#X connect 44 0 48 0;
-#X connect 47 0 42 0;
-#X connect 47 0 43 0;
-#X connect 48 0 45 0;
-#X connect 48 0 46 0;
-#X connect 49 0 21 0;
-#X connect 50 0 51 0;
-#X connect 51 0 33 2;
-#X connect 52 0 64 0;
-#X connect 53 0 86 0;
-#X connect 57 0 86 0;
-#X connect 58 0 57 0;
-#X connect 59 0 60 0;
-#X connect 63 0 62 0;
-#X connect 65 0 72 0;
-#X connect 66 0 82 0;
-#X connect 67 0 72 2;
-#X connect 68 0 81 0;
-#X connect 69 0 72 1;
-#X connect 70 0 71 0;
-#X connect 70 0 86 0;
-#X connect 72 0 70 0;
-#X connect 73 0 72 3;
-#X connect 74 0 72 4;
-#X connect 75 0 80 0;
-#X connect 76 0 79 0;
-#X connect 77 0 78 0;
-#X connect 78 0 65 0;
-#X connect 78 1 69 0;
-#X connect 78 2 67 0;
-#X connect 78 3 73 0;
-#X connect 78 4 74 0;
-#X connect 79 0 65 0;
-#X connect 79 1 69 0;
-#X connect 79 2 67 0;
-#X connect 79 3 74 0;
-#X connect 79 4 73 0;
-#X connect 80 0 65 0;
-#X connect 80 1 69 0;
-#X connect 80 2 73 0;
-#X connect 80 3 74 0;
-#X connect 80 4 67 0;
-#X connect 81 0 65 0;
-#X connect 81 1 67 0;
-#X connect 81 2 73 0;
-#X connect 81 3 74 0;
-#X connect 81 4 69 0;
-#X connect 82 0 65 0;
-#X connect 82 1 69 0;
-#X connect 82 2 67 0;
-#X connect 82 3 73 0;
-#X connect 82 4 74 0;
-#X connect 86 0 1 0;
-#X connect 86 1 3 0;
-#X connect 87 0 83 0;
-#X connect 88 0 84 0;
-#X connect 89 0 85 0;
-#X restore 296 274 pd streaming;
-#X obj 158 560 cnv 15 250 75 empty empty empty 10 5 1 10 -128992 -66577
-0;
-#X floatatom 175 583 8 0 0 0 - pages -;
-#X obj 470 510 cnv 15 200 120 empty empty empty 20 12 0 14 -62784 -66577
-0;
-#X text 535 545 start;
-#X text 544 584 stop;
-#X obj 596 540 bng 25 250 50 0 connect empty empty 0 -6 0 8 -24198
--1 -1;
-#X obj 598 580 bng 25 250 50 0 disconnect empty empty 0 -6 0 8 -258699
--1 -1;
-#X obj 417 513 vu 15 120 audio empty -1 -8 0 8 -66577 -1 1 0;
-#X obj 240 274 dac~;
-#X obj 47 306 cnv 15 300 160 empty empty empty 20 12 0 14 -236851 -66577
-0;
-#X text 50 307 Server configuration;
-#X symbolatom 130 336 30 0 0 0 server: iserver-name server-name;
-#X symbolatom 130 378 30 0 0 0 mountpoint: - mount-point;
-#X symbolatom 129 398 30 0 0 0 password: - password;
-#X obj 362 570 tgl 40 0 empty bstatus empty 0 -6 0 8 -258699 -262144
--262144 0 1;
-#X obj 52 559 cnv 15 100 75 empty empty empty 20 12 0 14 -99865 -66577
-0;
-#X text 74 562 G.I.S.S.;
-#X text 70 579 streaming;
-#X text 82 598 patch;
-#X obj 670 32 cnv 15 300 120 empty empty empty 20 12 0 14 -236851 -66577
-0;
-#X obj 750 131 tgl 15 0 mic-mute empty mute: -65 8 0 12 -24198 -1 -1
-0 1;
-#X floatatom 129 356 5 0 0 0 port: iport-number port-number;
-#X text 344 473 <<<<<<<<<<<<<< Emission >>>>>>>>>>>>>>>>>;
-#X obj 364 304 cnv 15 300 160 empty empty empty 20 12 0 14 -236851
--66577 0;
-#X symbolatom 450 323 30 0 0 0 title: istream-title stream-title;
-#X symbolatom 451 378 30 0 0 0 description: istream-description stream-description
-;
-#X symbolatom 451 398 30 0 0 0 genre: istream-genre stream-genre;
-#X symbolatom 450 340 30 0 0 0 artist: istream-artist stream-artist
-;
-#X symbolatom 450 359 30 0 0 0 location: istream-location stream-location
-;
-#X obj 674 305 cnv 15 300 160 empty empty empty 20 12 0 14 -236851
--66577 0;
-#X floatatom 831 346 5 0 0 0 channels_(1..2): istream-channels stream-channels
-;
-#X floatatom 834 364 5 0 0 0 Samplerate: istream-srate stream-srate
-;
-#X floatatom 833 381 5 0 0 0 Bitrate: istream-bitrate stream-bitrate
-;
-#X floatatom 832 398 5 0 0 0 Max_bitrate: istream-maxbitrate stream-maxbitrate
-;
-#X text 678 307 Stream quality :;
-#X text 535 518 EMISSION;
-#X text 416 494 level;
-#X text 686 643 support : ydegoyon at free.fr;
-#X text 300 8 <<<<<<<<<<<<<< Input files and microphone >>>>>>>>>>>>>>>>>
-;
-#X text 673 33 Microphone;
-#X obj 807 43 vsl 15 80 0 3 0 0 mic-level imic-level empty 0 -8 0 8
--44926 -1 -1 2633 1;
-#X text 794 131 level;
-#X obj 854 44 vu 15 80 mic-db empty -1 -8 0 8 -66577 -1 1 0;
-#X text 685 630 Authors : autoperro;
-#N canvas 251 329 450 300 mic 0;
-#X obj 218 91 adc~;
-#X obj 216 144 *~ 1;
-#X obj 272 144 *~ 1;
-#X obj 278 108 hsl 128 15 0 3 0 0 empty mic-level empty -2 -6 0 8 -260818
--1 -1 4233 1;
-#X obj 328 192 env~;
-#X obj 332 221 - 88;
-#X obj 340 256 s mic-db;
-#X obj 297 20 r mic-mute;
-#X obj 385 83 f;
-#X obj 392 56 r mic-level;
-#X msg 276 79 float 0;
-#X msg 341 79 bang;
-#X obj 84 66 loadbang;
-#X msg 85 96 float 1;
-#X obj 84 123 s imic-level;
-#X obj 296 49 route 1;
-#X obj 186 209 outlet~;
-#X obj 257 208 outlet~;
-#X connect 0 0 1 0;
-#X connect 0 1 2 0;
-#X connect 1 0 16 0;
-#X connect 1 0 4 0;
-#X connect 2 0 17 0;
-#X connect 2 0 4 0;
-#X connect 3 0 2 1;
-#X connect 3 0 1 1;
-#X connect 4 0 5 0;
-#X connect 5 0 6 0;
-#X connect 7 0 15 0;
-#X connect 8 0 3 0;
-#X connect 9 0 8 1;
-#X connect 10 0 3 0;
-#X connect 11 0 8 0;
-#X connect 12 0 13 0;
-#X connect 13 0 14 0;
-#X connect 15 0 10 0;
-#X connect 15 1 11 0;
-#X restore 283 258 pd mic;
-#X text 239 584 Ogg pages emitted;
-#X text 66 612 ( audio );
-#X obj 149 422 vradio 15 1 0 2 server-type iserver-type empty 0 -6
-0 8 -262144 -1 -1 1;
-#X text 49 420 server type :;
-#X text 172 421 JRoar or old icecast;
-#X text 172 436 icecast 2;
-#X symbolatom 451 417 30 0 0 0 copyright: istream-copyright stream-copyright
-;
-#X text 369 305 Meta data ( _ will be replaced by spaces );
-#X floatatom 833 417 5 0 0 0 Min_bitrate: istream-minbitrate stream-minbitrate
-;
-#X obj 699 509 cnv 15 200 120 empty empty empty 20 12 0 14 -261689
--66577 0;
-#X text 734 535 G.I.S.S.;
-#X text 824 556 is not;
-#N canvas 0 0 996 665 ogg/vorbis 0;
-#X obj 111 134 playlist ogg 250 100 {Helvetica 10 bold} #457782 yellow
-black red;
-#X msg 177 453 open \$1;
-#X obj 106 480 loadbang;
-#X msg 121 437 1;
-#X obj 169 247 hsl 160 15 0 2000 0 0 empty empty seek: -45 6 0 12 -262144
--1 -1 556 1;
-#X obj 166 291 tgl 15 0 empty empty loop: -40 6 0 12 -260818 -1 -1
-1 1;
-#X obj 166 315 tgl 15 0 empty pl1start start!: -50 6 0 12 -24198 -1
--1 0 1;
-#X msg 251 388 70;
-#X obj 197 497 oggread~;
-#X obj 265 498 spigot;
-#X obj 323 388 route 1;
-#X msg 322 417 start;
-#X msg 372 416 stop;
-#X msg 55 418 seek \$1;
-#X obj 373 138 vsl 15 128 0 5 0 0 empty empty empty 0 -8 0 8 -262144
--1 -1 2540 1;
-#X text 358 275 level;
-#X obj 271 593 *~ 1;
-#X obj 207 592 *~ 1;
-#X obj 447 270 loadbang;
-#X msg 446 301 1;
-#X floatatom 166 270 5 0 0 0 position: - -;
-#X obj 265 630 outlet~;
-#X obj 196 630 outlet~;
-#X obj 299 288 cnv 15 100 50 empty empty empty 20 12 0 14 -262144 -66577
-0;
-#X obj 143 383 t b s;
-#X msg 99 384 1;
-#X obj 15 384 s pl1start;
-#X connect 0 0 24 0;
-#X connect 1 0 8 0;
-#X connect 2 0 3 0;
-#X connect 2 0 7 0;
-#X connect 3 0 5 0;
-#X connect 4 0 13 0;
-#X connect 5 0 9 1;
-#X connect 6 0 10 0;
-#X connect 7 0 4 0;
-#X connect 8 0 17 0;
-#X connect 8 1 16 0;
-#X connect 8 2 20 0;
-#X connect 8 3 9 0;
-#X connect 9 0 11 0;
-#X connect 10 0 11 0;
-#X connect 10 1 12 0;
-#X connect 11 0 8 0;
-#X connect 12 0 8 0;
-#X connect 13 0 8 0;
-#X connect 14 0 16 1;
-#X connect 14 0 17 1;
-#X connect 16 0 21 0;
-#X connect 17 0 22 0;
-#X connect 18 0 19 0;
-#X connect 19 0 14 0;
-#X connect 24 0 25 0;
-#X connect 24 1 1 0;
-#X connect 25 0 26 0;
-#X coords 0 -1 1 1 300 240 1 100 100;
-#X restore 43 35 pd ogg/vorbis files;
-#X obj 28 274 cnv 15 800 30 empty empty empty 20 12 0 14 -262144 -66577
-0;
-#X text 319 280 <<<<<<<<<<<<<< Stream configuration >>>>>>>>>>>>>>>>>
-;
-#N canvas 0 0 996 665 ogg/vorbis 0;
-#X obj 111 134 playlist ogg 250 100 {Helvetica 10 bold} #457782 yellow
-black red;
-#X msg 177 453 open \$1;
-#X obj 106 480 loadbang;
-#X msg 121 437 1;
-#X obj 169 247 hsl 160 15 0 2000 0 0 empty empty seek: -45 6 0 12 -262144
--1 -1 556 1;
-#X obj 166 291 tgl 15 0 empty empty loop: -40 6 0 12 -260818 -1 -1
-1 1;
-#X obj 166 315 tgl 15 0 empty pl2start start!: -50 6 0 12 -24198 -1
--1 0 1;
-#X msg 251 388 70;
-#X obj 197 497 oggread~;
-#X obj 265 498 spigot;
-#X obj 323 388 route 1;
-#X msg 322 417 start;
-#X msg 372 416 stop;
-#X msg 55 418 seek \$1;
-#X obj 373 138 vsl 15 128 0 5 0 0 empty empty empty 0 -8 0 8 -262144
--1 -1 2540 1;
-#X text 358 275 level;
-#X obj 271 593 *~ 1;
-#X obj 207 592 *~ 1;
-#X obj 447 270 loadbang;
-#X msg 446 301 1;
-#X floatatom 166 270 5 0 0 0 position: - -;
-#X obj 265 630 outlet~;
-#X obj 196 630 outlet~;
-#X obj 299 288 cnv 15 100 50 empty empty empty 20 12 0 14 -262144 -66577
-0;
-#X obj 143 383 t b s;
-#X msg 99 384 1;
-#X obj 15 384 s pl2start;
-#X connect 0 0 24 0;
-#X connect 1 0 8 0;
-#X connect 2 0 3 0;
-#X connect 2 0 7 0;
-#X connect 3 0 5 0;
-#X connect 4 0 13 0;
-#X connect 5 0 9 1;
-#X connect 6 0 10 0;
-#X connect 7 0 4 0;
-#X connect 8 0 17 0;
-#X connect 8 1 16 0;
-#X connect 8 2 20 0;
-#X connect 8 3 9 0;
-#X connect 9 0 11 0;
-#X connect 10 0 11 0;
-#X connect 10 1 12 0;
-#X connect 11 0 8 0;
-#X connect 12 0 8 0;
-#X connect 13 0 8 0;
-#X connect 14 0 16 1;
-#X connect 14 0 17 1;
-#X connect 16 0 21 0;
-#X connect 17 0 22 0;
-#X connect 18 0 19 0;
-#X connect 19 0 14 0;
-#X connect 24 0 25 0;
-#X connect 24 1 1 0;
-#X connect 25 0 26 0;
-#X coords 0 -1 1 1 300 240 1 100 100;
-#X restore 359 35 pd ogg/vorbis files;
-#X text 790 586 radiomercial;
-#X connect 45 0 0 0;
-#X connect 45 0 9 0;
-#X connect 45 1 0 1;
-#X connect 45 1 9 1;
-#X connect 58 0 0 0;
-#X connect 58 0 9 0;
-#X connect 58 1 9 1;
-#X connect 58 1 0 1;
-#X connect 61 0 0 0;
-#X connect 61 0 9 0;
-#X connect 61 1 0 1;
-#X connect 61 1 9 1;
-#X coords 0 0 1 1 85 60 0;

Deleted: branches/pd-extended/v0-40/externals/pidip/patches/giss-dv-linux.pd
===================================================================
--- branches/pd-extended/v0-40/externals/pidip/patches/giss-dv-linux.pd	2008-06-13 14:06:14 UTC (rev 9995)
+++ branches/pd-extended/v0-40/externals/pidip/patches/giss-dv-linux.pd	2008-06-13 14:06:35 UTC (rev 9996)
@@ -1,624 +0,0 @@
-#N canvas 1 1 996 688 10;
-#N canvas 0 0 999 654 streaming 0;
-#X text 737 451 ==== VIDEOS SETTINGS ========;
-#X text 736 552 ==== AUDIO SETTINGS ========;
-#X msg 738 500 videoquality \$1;
-#X msg 740 524 videobitrate \$1;
-#X msg 738 573 audioquality \$1;
-#X msg 739 601 audiobitrate \$1;
-#X msg 277 386 disconnect;
-#X floatatom 41 530 5 0 0 0 - - -;
-#X text 83 531 Streaming status;
-#X floatatom 68 551 13 0 0 0 - - -;
-#X text 177 551 Number of video frames emitted;
-#X floatatom 96 571 7 0 0 0 - - -;
-#X text 147 571 Number of video frames dropped;
-#X floatatom 124 594 5 0 0 0 - - -;
-#X text 168 593 Emission framerate;
-#X msg 738 474 framerate \$1;
-#X floatatom 145 617 7 0 0 0 - - -;
-#X text 201 618 Audio stream time;
-#X floatatom 165 639 7 0 0 0 - - -;
-#X text 220 639 Video stream time;
-#X obj 518 622 block~ 512;
-#X obj 142 366 inlet~;
-#X obj 216 366 inlet~;
-#X obj 159 490 pdp_theonice~;
-#X obj 686 321 / 10;
-#X obj 767 265 loadbang;
-#X floatatom 691 216 5 0 0 0 - - -;
-#X msg 693 260 200;
-#X msg 41 371 \; pd dsp 1;
-#X obj 40 620 select 1;
-#X obj 54 754 f;
-#X msg 28 725 bang;
-#X floatatom 85 698 3 0 29 0 - - -;
-#X msg 71 657 13;
-#X msg 38 657 16;
-#X obj 126 688 s frames;
-#X obj 145 714 s audiotime;
-#X obj 166 738 s videotime;
-#X obj 288 8 r connect;
-#X obj 277 365 r disconnect;
-#X obj 272 672 -;
-#X obj 273 697 abs;
-#X floatatom 275 720 5 0 0 0 - - -;
-#X obj 275 743 moses 30;
-#X floatatom 328 769 5 0 0 0 - - -;
-#X floatatom 275 769 5 0 0 0 - - -;
-#X obj 388 800 t b;
-#X obj 420 800 s disconnect;
-#X obj 477 822 s connect;
-#X obj 70 443 pdp_affine;
-#X floatatom 120 417 5 0 0 0 - stream-lum -;
-#X floatatom 165 418 5 0 0 0 - - -;
-#X msg 124 394 1;
-#X obj 265 463 s audio;
-#X obj 421 821 del 500;
-#X obj 164 234 pdp_scale 160 128;
-#X obj 347 63 r server-name;
-#X obj 318 89 symbol;
-#X symbolatom 318 112 30 0 0 0 - - -;
-#X obj 318 65 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X symbolatom 468 87 30 0 0 0 - - -;
-#X obj 468 40 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 497 38 r mount-point;
-#X obj 601 16 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 630 14 r port-number;
-#X obj 318 30 t b b b;
-#X obj 289 29 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X msg 322 166 connect \$1 \$2 \$3;
-#X msg 45 80 passwd \$1;
-#X obj 45 56 symbol;
-#X symbolatom 96 59 10 0 0 0 - - -;
-#X obj 44 24 r password;
-#X obj 320 140 pack s s f;
-#X msg 51 809 \; bstatus color \$1 \$2 \$3;
-#X msg -1 685 \; bstatus 1;
-#X msg 84 741 \; bstatus 0;
-#X obj 54 782 pack 0 0 0;
-#X obj 264 415 env~;
-#X obj 265 441 - 80;
-#X obj 63 343 loadbang;
-#X obj 736 120 loadbang;
-#X obj 737 171 s iserver-name;
-#X obj 737 196 s server-name;
-#X obj 895 119 loadbang;
-#X obj 896 170 s iport-number;
-#X obj 896 195 s port-number;
-#X msg 735 144 symbol stream.giss.tv;
-#X msg 894 143 8000;
-#X obj 468 64 symbol;
-#X obj 601 40 float;
-#X floatatom 602 62 5 0 0 0 - - -;
-#X obj 164 194 r pdp_pckt;
-#X obj 347 439 pdp_spigot;
-#X obj 346 463 pdp_glx;
-#X obj 425 422 tgl 15 0 empty stream-preview empty 0 -6 0 8 -262144
--1 -1 0 1;
-#X msg 798 350 2;
-#N canvas 135 92 534 518 metadata 0;
-#X obj 66 445 outlet;
-#X obj 292 375 r stream-genre;
-#X msg 288 417 genre \$1;
-#X obj 347 45 loadbang;
-#X msg 360 395 symbol free_media;
-#X obj 366 422 s istream-genre;
-#X msg 256 306 symbol giss_stream;
-#X obj 257 328 s istream-description;
-#X obj 201 284 r stream-description;
-#X msg 183 349 description \$1;
-#X obj 184 191 r stream-url;
-#X msg 239 213 symbol http://giss.tv;
-#X obj 240 235 s istream-url;
-#X msg 174 256 url \$1;
-#X msg 195 120 symbol various;
-#X msg 110 167 artist \$1;
-#X obj 196 142 s istream-artist;
-#X obj 140 98 r stream-artist;
-#X obj 142 46 s istream-title;
-#X msg 142 24 symbol pd_stream;
-#X obj 87 3 r stream-title;
-#X msg 49 75 title \$1;
-#X obj 31 140 print title;
-#X connect 1 0 2 0;
-#X connect 2 0 0 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 0 11 0;
-#X connect 3 0 14 0;
-#X connect 3 0 19 0;
-#X connect 4 0 5 0;
-#X connect 6 0 7 0;
-#X connect 8 0 9 0;
-#X connect 9 0 0 0;
-#X connect 10 0 13 0;
-#X connect 11 0 12 0;
-#X connect 13 0 0 0;
-#X connect 14 0 16 0;
-#X connect 15 0 0 0;
-#X connect 17 0 15 0;
-#X connect 19 0 18 0;
-#X connect 20 0 21 0;
-#X connect 21 0 0 0;
-#X connect 21 0 22 0;
-#X restore 764 625 pd metadata;
-#X obj 388 268 f;
-#X obj 391 210 r stream-width;
-#X msg 619 147 320;
-#X obj 619 170 s istream-width;
-#X obj 619 122 loadbang;
-#X obj 392 238 t b b f;
-#X obj 450 268 f;
-#X obj 414 300 pack f f;
-#X msg 415 324 dim \$1 \$2;
-#X obj 502 239 t b b f;
-#X obj 501 212 r stream-height;
-#X obj 495 122 loadbang;
-#X msg 495 147 240;
-#X obj 495 170 s istream-height;
-#X obj 422 352 print;
-#X msg 817 296 7;
-#X msg 845 408 64;
-#X msg 685 298 5;
-#X msg 703 382 32;
-#X obj 835 474 r stream-framerate;
-#X obj 817 322 s istream-framerate;
-#X obj 854 499 r stream-vqual;
-#X obj 795 378 s istream-vqual;
-#X obj 843 434 s istream-vbitrate;
-#X obj 859 523 r stream-vbitrate;
-#X obj 857 576 r stream-aqual;
-#X obj 677 349 s istream-aqual;
-#X obj 699 406 s istream-abitrate;
-#X obj 859 600 r stream-abitrate;
-#X obj 433 454 route 0;
-#X msg 416 484 close;
-#X obj 472 754 + 1;
-#X obj 484 776 s reconnects;
-#X obj 443 753 f 1;
-#X obj 9 592 print status;
-#X connect 2 0 23 0;
-#X connect 3 0 23 0;
-#X connect 4 0 23 0;
-#X connect 5 0 23 0;
-#X connect 6 0 23 0;
-#X connect 7 0 29 0;
-#X connect 7 0 131 0;
-#X connect 9 0 35 0;
-#X connect 15 0 23 0;
-#X connect 16 0 36 0;
-#X connect 16 0 40 1;
-#X connect 18 0 37 0;
-#X connect 18 0 40 0;
-#X connect 21 0 23 0;
-#X connect 21 0 77 0;
-#X connect 22 0 23 1;
-#X connect 23 0 7 0;
-#X connect 23 1 9 0;
-#X connect 23 2 11 0;
-#X connect 23 3 13 0;
-#X connect 23 4 16 0;
-#X connect 23 5 18 0;
-#X connect 24 0 123 0;
-#X connect 25 0 112 0;
-#X connect 25 0 114 0;
-#X connect 25 0 115 0;
-#X connect 25 0 95 0;
-#X connect 25 0 27 0;
-#X connect 25 0 113 0;
-#X connect 27 0 26 0;
-#X connect 29 0 34 0;
-#X connect 29 1 33 0;
-#X connect 29 1 75 0;
-#X connect 30 0 76 0;
-#X connect 31 0 30 0;
-#X connect 32 0 30 1;
-#X connect 32 0 31 0;
-#X connect 33 0 32 0;
-#X connect 34 0 32 0;
-#X connect 34 0 74 0;
-#X connect 38 0 66 0;
-#X connect 39 0 6 0;
-#X connect 40 0 41 0;
-#X connect 41 0 42 0;
-#X connect 42 0 43 0;
-#X connect 43 0 45 0;
-#X connect 43 1 44 0;
-#X connect 44 0 46 0;
-#X connect 46 0 47 0;
-#X connect 46 0 54 0;
-#X connect 46 0 130 0;
-#X connect 49 0 23 0;
-#X connect 49 0 92 0;
-#X connect 50 0 49 1;
-#X connect 51 0 49 2;
-#X connect 52 0 49 1;
-#X connect 54 0 48 0;
-#X connect 55 0 49 0;
-#X connect 56 0 57 1;
-#X connect 57 0 58 0;
-#X connect 58 0 72 0;
-#X connect 59 0 57 0;
-#X connect 60 0 72 1;
-#X connect 61 0 88 0;
-#X connect 62 0 88 1;
-#X connect 63 0 89 0;
-#X connect 64 0 89 1;
-#X connect 65 0 59 0;
-#X connect 65 1 61 0;
-#X connect 65 2 63 0;
-#X connect 66 0 65 0;
-#X connect 67 0 23 0;
-#X connect 68 0 23 0;
-#X connect 69 0 68 0;
-#X connect 71 0 69 0;
-#X connect 71 0 70 0;
-#X connect 72 0 67 0;
-#X connect 76 0 73 0;
-#X connect 77 0 78 0;
-#X connect 78 0 53 0;
-#X connect 79 0 28 0;
-#X connect 79 0 52 0;
-#X connect 80 0 86 0;
-#X connect 83 0 87 0;
-#X connect 86 0 81 0;
-#X connect 86 0 82 0;
-#X connect 87 0 84 0;
-#X connect 87 0 85 0;
-#X connect 88 0 60 0;
-#X connect 89 0 90 0;
-#X connect 90 0 72 2;
-#X connect 91 0 55 0;
-#X connect 92 1 93 0;
-#X connect 94 0 92 1;
-#X connect 94 0 126 0;
-#X connect 95 0 119 0;
-#X connect 96 0 23 0;
-#X connect 97 0 104 0;
-#X connect 98 0 102 0;
-#X connect 99 0 100 0;
-#X connect 101 0 99 0;
-#X connect 102 0 97 0;
-#X connect 102 1 103 0;
-#X connect 102 2 97 1;
-#X connect 103 0 104 1;
-#X connect 104 0 105 0;
-#X connect 105 0 55 0;
-#X connect 105 0 111 0;
-#X connect 106 0 97 0;
-#X connect 106 1 103 0;
-#X connect 106 2 103 1;
-#X connect 107 0 106 0;
-#X connect 108 0 109 0;
-#X connect 109 0 110 0;
-#X connect 112 0 117 0;
-#X connect 113 0 120 0;
-#X connect 114 0 24 0;
-#X connect 115 0 124 0;
-#X connect 116 0 15 0;
-#X connect 118 0 2 0;
-#X connect 121 0 3 0;
-#X connect 122 0 4 0;
-#X connect 125 0 5 0;
-#X connect 126 0 127 0;
-#X connect 127 0 93 0;
-#X connect 128 0 130 1;
-#X connect 130 0 128 0;
-#X connect 130 0 129 0;
-#X restore 788 570 pd streaming;
-#X obj 838 513 adc~;
-#X obj 156 497 cnv 15 250 75 empty empty empty 10 5 1 10 -128992 -66577
-0;
-#X floatatom 166 501 8 0 0 0 - frames -;
-#X floatatom 166 531 8 0 0 0 - videotime -;
-#X floatatom 166 516 8 0 0 0 - audiotime -;
-#X text 223 502 Frames emitted;
-#X text 224 517 Audio stream time;
-#X text 227 532 Video stream time;
-#X obj 504 495 cnv 15 200 120 empty empty empty 20 12 0 14 -62784 -66577
-0;
-#X text 569 530 start;
-#X text 578 569 stop;
-#X obj 630 525 bng 25 250 50 0 connect empty empty 0 -6 0 8 -24198
--1 -1;
-#X obj 632 565 bng 25 250 50 0 disconnect empty empty 0 -6 0 8 -258699
--1 -1;
-#X obj 417 513 vu 15 120 audio empty -1 -8 0 8 -66577 -1 1 0;
-#X obj 825 592 dac~;
-#X obj 47 306 cnv 15 300 120 empty empty empty 20 12 0 14 -236851 -66577
-0;
-#X text 50 307 Server configuration;
-#X symbolatom 130 336 30 0 0 0 server: iserver-name server-name;
-#X symbolatom 130 378 30 0 0 0 mountpoint: - mount-point;
-#X symbolatom 129 398 30 0 0 0 password: - password;
-#X obj 360 508 tgl 40 0 empty bstatus empty 0 -6 0 8 -24198 -262144
--262144 0 1;
-#X obj 50 497 cnv 15 100 75 empty empty empty 20 12 0 14 -99865 -66577
-0;
-#X text 72 500 G.I.S.S.;
-#X text 68 517 streaming;
-#X text 80 536 patch;
-#X floatatom 129 356 5 0 0 0 port: iport-number port-number;
-#N canvas 0 0 996 665 quicktime 0;
-#X obj 111 134 playlist mov 250 100 {Helvetica 10 bold} #457782 yellow
-black red;
-#X obj 197 497 pdp_yqt;
-#X msg 189 462 open \$1;
-#X msg 107 478 loop \$1;
-#X obj 167 240 tgl 15 0 empty empty loop: -35 8 0 12 -262144 -1 -1
-1 1;
-#X obj 194 530 s pdp_pckt;
-#X obj 286 564 s~ lchan;
-#X obj 320 532 s~ rchan;
-#X obj 87 564 loadbang;
-#X msg 67 499 1;
-#X floatatom 309 332 5 0 0 0 - - -;
-#X obj 171 260 hsl 160 15 20 300 0 0 empty empty speed: -45 6 0 12
--262144 -1 -1 2839 1;
-#X obj 269 457 metro 70;
-#X obj 169 281 tgl 15 0 empty empty preview: -60 6 0 12 -260818 -1
--1 1 1;
-#X obj 449 292 pdp_spigot;
-#X obj 449 323 pdp_glx;
-#X obj 169 303 tgl 15 0 empty empty start!: -50 6 0 12 -24198 -1 -1
-0 1;
-#X msg 251 388 70;
-#X obj 453 262 route 0;
-#X msg 521 269 close;
-#X connect 0 0 2 0;
-#X connect 1 0 5 0;
-#X connect 1 0 14 0;
-#X connect 1 4 6 0;
-#X connect 1 5 7 0;
-#X connect 2 0 1 0;
-#X connect 3 0 1 0;
-#X connect 4 0 3 0;
-#X connect 8 0 9 0;
-#X connect 8 0 17 0;
-#X connect 9 0 4 0;
-#X connect 9 0 13 0;
-#X connect 10 0 12 1;
-#X connect 11 0 10 0;
-#X connect 12 0 1 0;
-#X connect 13 0 14 1;
-#X connect 13 0 18 0;
-#X connect 14 1 15 0;
-#X connect 16 0 12 0;
-#X connect 17 0 11 0;
-#X connect 18 0 19 0;
-#X connect 19 0 15 0;
-#X coords 0 -1 1 1 300 240 1 100 100;
-#X restore 37 32 pd quicktime files;
-#X obj 784 537 r~ lchan;
-#X obj 851 537 r~ rchan;
-#X obj 767 513 r~ llchan;
-#X obj 876 512 r~ rrchan;
-#N canvas 0 0 996 665 theora 0;
-#X obj 111 134 playlist ogg 250 100 {Helvetica 10 bold} #457782 yellow
-black red;
-#X msg 189 462 open \$1;
-#X obj 194 530 s pdp_pckt;
-#X obj 87 564 loadbang;
-#X msg 67 499 1;
-#X floatatom 309 332 5 0 0 0 - - -;
-#X obj 173 244 hsl 160 15 20 300 0 0 empty empty speed: -45 6 0 12
--262144 -1 -1 1136 1;
-#X obj 171 265 tgl 15 0 empty empty preview: -60 6 0 12 -260818 -1
--1 1 1;
-#X obj 345 413 pdp_spigot;
-#X obj 345 444 pdp_glx;
-#X obj 171 287 tgl 15 0 empty empty start!: -50 6 0 12 -24198 -1 -1
-0 1;
-#X obj 197 497 pdp_theorin~;
-#X obj 269 457 metro 40;
-#X msg 251 388 40;
-#X msg 183 576 autoplay 0;
-#X obj 319 532 s~ rrchan;
-#X obj 286 564 s~ llchan;
-#X obj 428 394 route 0;
-#X msg 434 421 close;
-#X connect 0 0 1 0;
-#X connect 1 0 11 0;
-#X connect 3 0 4 0;
-#X connect 3 0 13 0;
-#X connect 3 0 14 0;
-#X connect 4 0 7 0;
-#X connect 5 0 12 1;
-#X connect 6 0 5 0;
-#X connect 7 0 8 1;
-#X connect 7 0 17 0;
-#X connect 8 1 9 0;
-#X connect 10 0 12 0;
-#X connect 11 0 2 0;
-#X connect 11 0 8 0;
-#X connect 11 1 16 0;
-#X connect 11 2 15 0;
-#X connect 12 0 11 0;
-#X connect 13 0 6 0;
-#X connect 14 0 11 0;
-#X connect 17 0 18 0;
-#X connect 18 0 9 0;
-#X coords 0 -1 1 1 300 240 1 100 100;
-#X restore 352 32 pd theora files ( good machine );
-#X text 300 8 <<<<<<<<<<<<<< Input files or cameras >>>>>>>>>>>>>>>>>
-;
-#X text 318 281 <<<<<<<<<<<<<< Stream configuration >>>>>>>>>>>>>>>>>
-;
-#X text 344 473 <<<<<<<<<<<<<< Emission >>>>>>>>>>>>>>>>>;
-#X obj 364 304 cnv 15 300 120 empty empty empty 20 12 0 14 -236851
--66577 0;
-#X symbolatom 450 323 30 0 0 0 title: istream-title stream-title;
-#X symbolatom 451 378 30 0 0 0 description: istream-description stream-description
-;
-#X symbolatom 451 398 30 0 0 0 genre: istream-genre stream-genre;
-#X text 367 305 Meta data ( without spaces );
-#X symbolatom 450 340 30 0 0 0 artist: istream-artist stream-artist
-;
-#X symbolatom 450 359 30 0 0 0 url: istream-url stream-url;
-#X obj 674 305 cnv 15 300 120 empty empty empty 20 12 0 14 -236851
--66577 0;
-#X floatatom 867 305 5 0 0 0 width: istream-width stream-width;
-#X floatatom 868 323 5 0 0 0 height: istream-height stream-height;
-#X floatatom 871 341 5 0 0 0 Framerate_(1..100): istream-framerate
-stream-framerate;
-#X floatatom 868 358 5 0 0 0 Video_quality_(0..63): istream-vqual stream-vqual
-;
-#X floatatom 869 375 5 0 0 0 Video_bitrate_(45..2000): istream-vbitrate
-stream-vbitrate;
-#X floatatom 870 392 5 0 0 0 Audio_quality_(-0.1..1.0): istream-aqual
-stream-aqual;
-#X floatatom 871 410 5 0 0 0 Audio_bitrate_(8..2000): istream-abitrate
-stream-abitrate;
-#X text 677 306 Stream quality :;
-#X text 569 503 EMISSION;
-#X obj 745 494 cnv 15 200 120 empty empty empty 20 12 0 14 -261689
--66577 0;
-#X text 773 514 G.I.S.S.;
-#X obj 50 579 cnv 15 360 60 empty empty empty 20 12 0 14 -236851 -66577
-0;
-#X obj 248 580 tgl 15 0 stream-preview empty preview: -65 8 0 12 -250685
--1 -1 0 1;
-#X text 60 581 Live controls ::;
-#X obj 142 603 hsl 128 15 0 5 0 0 stream-lum empty Luminosity -80 6
-0 12 -44926 -1 -1 0 1;
-#X text 885 530 is not;
-#X text 888 568 T. V.;
-#X text 416 494 level;
-#X floatatom 166 547 8 0 0 0 - reconnects -;
-#X text 227 546 Reconnections;
-#X text 686 643 support : ydegoyon at free.fr;
-#X text 685 630 Authors : autoperro \, autogato y Husk;
-#N canvas -260 64 1249 851 camera 0;
-#X obj 441 117 loadbang;
-#X obj 686 555 pdp_spigot;
-#X obj 744 509 r cam-preview;
-#X obj 442 162 s icam-preview;
-#X obj 745 532 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
-1;
-#X msg 441 139 float 1;
-#X obj 672 4 r cam-start;
-#X obj 672 28 route 1;
-#X obj 715 334 s pdp_pckt;
-#X obj 790 566 route 0;
-#X msg 792 597 close;
-#X obj 649 293 gem2pdp;
-#X msg 647 65 stop;
-#X obj 637 108 metro 70;
-#X obj 705 63 bng 15 250 50 0 empty empty empty 0 -6 0 10 -262144 -1
--1;
-#X obj 686 582 pdp_xv;
-#X obj 760 66 bng 15 250 50 0 empty empty empty 0 -6 0 10 -262144 -1
--1;
-#X obj 590 77 bng 15 250 50 0 empty empty empty 0 -6 0 10 -262144 -1
--1;
-#N canvas -178 106 1030 640 dv 0;
-#X obj 262 63 gemhead;

@@ Diff output truncated at 100000 characters. @@

This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Pd-cvs mailing list