hi 

i am still trying to find a way to overcome the
'agc-setting-is-reset-each-time-cam-is-accessed' problem. a friend of
mine tried to help by writing a pd-object, that does send the 'restore'
command to the driver, so that i can at least set the gain manually,
when working with pd, just by restoring the nvram of the cam. 

however, it doesn't work yet. i am not a c coder myself and thus have no
idea to fix it.

i get the error:

IDIOCPWCRUSER: Bad file descriptor

this is the code of pd-object:

########################################################################
#include <errno.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/ioctl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#define _LINUX_TIME_H 1 /* to get things compile on kernel 2.6.x */
#include <linux/videodev.h>


#include "m_pd.h"
#include "pwc-ioctl.h"

char *device = "/dev/video1";

static t_class *setpwc_class;

typedef struct _setpwc {
  t_object  x_obj;
} t_setpwc;

void check_device(int *fd)
{
        if (*fd == -1)
        {
                /* open device */
                *fd = open(device, O_RDWR);
                if (*fd == -1)
                {
                        post("Error while accessing device");
//                      exit(1);
                }
        }
}

void restore_settings(int fd)
{
        if (ioctl(fd, VIDIOCPWCRUSER) == -1)
                perror("VIDIOCPWCRUSER");
}

void setpwc_bang(t_setpwc *x)
{
        int fd = -1;
        check_device(&fd);
        restore_settings(fd);
}

void *setpwc_new(void)
{
  t_setpwc *x = (t_setpwc *)pd_new(setpwc_class);

  return (void *)x;
}

void setpwc_setup(void) {
  setpwc_class = class_new(gensym("setpwc"),
        (t_newmethod)setpwc_new,
        0, sizeof(t_setpwc),
        CLASS_DEFAULT, 0);
  class_addbang(setpwc_class, setpwc_bang);






                
___________________________________________________________ 
Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de
_______________________________________________
pwc mailing list
[email protected]
http://lists.saillard.org/mailman/listinfo/pwc

Reply via email to