mirror of
https://github.com/game-stop/veejay.git
synced 2026-01-06 15:05:28 +01:00
patch veejay to work with pd
This commit is contained in:
@@ -2,7 +2,7 @@ all: pd_linux
|
||||
|
||||
include Makefile.defs
|
||||
|
||||
VERSION = 0.1.4
|
||||
VERSION = 0.1.5
|
||||
|
||||
|
||||
.SUFFIXES: .pd_linux
|
||||
@@ -17,7 +17,7 @@ PD_CFLAGS = -DPD
|
||||
|
||||
.c.pd_linux:
|
||||
$(CC) $(PD_CFLAGS) $(OPTI_CFLAGS) $(DEBUG_CFLAGS) -DVERSION=\"$(VERSION)\" -o $*.o -c $*.c
|
||||
$(CC) -export_dynamic -shared -o $*.pd_linux $*.o -lm
|
||||
$(CC) -rdynamic -shared -o $*.pd_linux $*.o -lm
|
||||
strip --strip-unneeded $*.pd_linux
|
||||
rm $*.o
|
||||
|
||||
|
||||
@@ -154,28 +154,35 @@ void setup_selectors(void){
|
||||
pd_msg_t *pd_msg_new(char *msg){
|
||||
int i, parsed, size = -1;
|
||||
char *body = msg + 5;
|
||||
pd_msg_t *m = 0;
|
||||
int s[24];
|
||||
pd_msg_t *m = NULL;
|
||||
int s[27];
|
||||
int n = 0;
|
||||
|
||||
/* get 26 ints */
|
||||
n = sscanf(body, "%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d",
|
||||
s+0, s+1, s+2, s+3,
|
||||
s+4, s+5, s+6, s+7,
|
||||
s+8, s+9, s+10, s+11,
|
||||
s+12,s+13,s+14, s+15,
|
||||
s+16,s+17,s+18, s+19,
|
||||
s+20,s+21,s+22, s+23,
|
||||
s+24,s+25);
|
||||
|
||||
/* get 24 ints */
|
||||
n = sscanf(body, "%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d",
|
||||
s+0, s+1, s+2, s+3,
|
||||
s+4, s+5, s+6, s+7,
|
||||
s+8, s+9, s+10, s+11,
|
||||
s+12, s + 13, s + 14, s + 15, s + 16, s + 17, s + 18, s + 19, s + 20, s + 21, s + 22, s + 23, s + 24, s + 25, s + 26);
|
||||
if (n != 27) goto error;
|
||||
if( n != 26 )
|
||||
goto error;
|
||||
|
||||
/* create msg */
|
||||
m = malloc(sizeof(*m));
|
||||
size_t est = n * sizeof(float) + sizeof(pd_msg_t); //@ malloc(sizeof(*m)) not ok
|
||||
m = malloc(est);
|
||||
m->selector = s_veejay; // not used
|
||||
m->argc = n;
|
||||
for(i=0; i<n; i++) SETFLOAT(m->argv + i, (float)s[i]);
|
||||
return m;
|
||||
|
||||
error:
|
||||
msg_free(m);
|
||||
post("Parsed only %d out of %d status outlets", n,20 );
|
||||
if( m )
|
||||
msg_free(m);
|
||||
post("Parsed only %d out of %d status outlets", n,26 );
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user