[PD-cvs] externals/io/hidio hidio.c,1.5,1.6 hidio.h,1.3,1.4
Olaf Matthes
olafmatt at users.sourceforge.net
Fri Dec 1 17:27:41 CET 2006
Update of /cvsroot/pure-data/externals/io/hidio
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9313
Modified Files:
hidio.c hidio.h
Log Message:
some more threading related changes, changed some output values from type float to int in Max version
Index: hidio.c
===================================================================
RCS file: /cvsroot/pure-data/externals/io/hidio/hidio.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** hidio.c 1 Dec 2006 16:04:37 -0000 1.5
--- hidio.c 1 Dec 2006 16:27:39 -0000 1.6
***************
*** 113,117 ****
--- 113,121 ----
{
t_atom *output_atom = (t_atom *)getbytes(sizeof(t_atom));
+ #ifdef PD
SETFLOAT(output_atom, output_value);
+ #else
+ atom_setlong(output_atom, output_value);
+ #endif
outlet_anything( x->x_status_outlet, selector, 1, output_atom);
freebytes(output_atom,sizeof(t_atom));
***************
*** 149,154 ****
--- 153,163 ----
SETSYMBOL(output_data, element[x->x_device_number][i]->type);
SETSYMBOL(output_data + 1, element[x->x_device_number][i]->name);
+ #ifdef PD
SETFLOAT(output_data + 2, element[x->x_device_number][i]->min);
SETFLOAT(output_data + 3, element[x->x_device_number][i]->max);
+ #else
+ atom_setlong(output_data + 2, element[x->x_device_number][i]->min);
+ atom_setlong(output_data + 3, element[x->x_device_number][i]->max);
+ #endif
outlet_anything(x->x_status_outlet, ps_range, 4, output_data);
}
***************
*** 365,369 ****
{
debug_print(LOG_DEBUG,"hid_%s",s->s_name);
- /* store running state to be restored after the device has been opened */
short device_number;
--- 374,377 ----
***************
*** 425,434 ****
static void hidio_info(t_hidio *x)
{
! output_open_status(x);
! output_device_number(x);
! output_device_count(x);
! output_poll_time(x);
! output_element_ranges(x);
! hidio_platform_specific_info(x);
}
--- 433,440 ----
static void hidio_info(t_hidio *x)
{
! pthread_mutex_lock(&x->x_mutex);
! x->x_requestcode = REQUEST_INFO;
! pthread_cond_signal(&x->x_requestcondition);
! pthread_mutex_unlock(&x->x_mutex);
}
***************
*** 474,477 ****
--- 480,484 ----
{
short device_number = x->x_device_number;
+ /* store running state to be restored after the device has been opened */
t_int started = x->x_started;
int err;
***************
*** 513,516 ****
--- 520,537 ----
pthread_cond_signal(&x->x_answercondition);
}
+ else if (x->x_requestcode == REQUEST_INFO)
+ {
+ pthread_mutex_unlock(&x->x_mutex);
+ output_open_status(x);
+ output_device_number(x);
+ output_device_count(x);
+ output_poll_time(x);
+ output_element_ranges(x);
+ hidio_platform_specific_info(x);
+ pthread_mutex_lock(&x->x_mutex);
+ if (x->x_requestcode == REQUEST_INFO)
+ x->x_requestcode = REQUEST_NOTHING;
+ pthread_cond_signal(&x->x_answercondition);
+ }
else if (x->x_requestcode == REQUEST_CLOSE)
{
Index: hidio.h
===================================================================
RCS file: /cvsroot/pure-data/externals/io/hidio/hidio.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** hidio.h 1 Dec 2006 16:04:37 -0000 1.3
--- hidio.h 1 Dec 2006 16:27:39 -0000 1.4
***************
*** 62,67 ****
#define REQUEST_READ 2
#define REQUEST_SEND 3
! #define REQUEST_CLOSE 4
! #define REQUEST_QUIT 5
--- 62,68 ----
#define REQUEST_READ 2
#define REQUEST_SEND 3
! #define REQUEST_INFO 4
! #define REQUEST_CLOSE 5
! #define REQUEST_QUIT 6
More information about the Pd-cvs
mailing list