after compiling your external (with tk2c.bash copied in /usr/bin beforehand)
you don't have to, I guess. tk2c it's just a script for embedding tk into C source files.
/usr/local/lib/pd/extra/tracker.pd_linux: /usr/local/lib/pd/extra/tracker.pd_linux: undefined symbol: binbuf_read_via_canvas
it seems to require at least pd-0.40-3
also: people getting 'invalid command name "pdtk_tracker_dialog"' error, probably have trouble running that script. please try running manually:
./tk2c.bash < tracker.tk > tracker.tk2c
hope this helps
-- Federico Ferri
Hello federico,
After playing with your nice tracker external, I've been exposed to bug with [get $1 $2( message. In the attached file I'm trying to control a gem/curve3d object with using [tracker] like a visual matrix. Also I think more things should be implemented in this way, like some separators, to output also numbers from different successive columns, that's what I've been trying to do with the 'get' message...
thanks. fixed in CVS. I'll post soon a 0.2.3 release to http://www.puredata.org/Members/federico/externals
ciao
On 9/23/07, Patrice Colet pat@mamalala.org wrote:
Patrice Colet a écrit :
Hello federico,
After playing with your nice tracker external, I've been exposed to bug with [get $1 $2( message.
I've attached a patch where the error is easier to track, I've used the dll compiled by tof
federico a écrit :
thanks. fixed in CVS. I'll post soon a 0.2.3 release to http://www.puredata.org/Members/federico/externals
It works correctly, I even have the properties window, attached is the dll and the tof makefile, thanks to both of you!
current: echo make pd_linux, pd_win
# ----------------------- WINDOWS ----------------------- pd_win: tracker.dll tracker.dll: tracker.c tracker.h tracker.tk2c
WINPDPATH = /home/pat/pd
.SUFFIXES: .dll
WINCFLAGS = -Wall -W -Wshadow -Wstrict-prototypes -DPD -DNT -W3 -WX -Werror -Wno-unused -mms-bitfields -Wno-parentheses -Wno-switch -O6 -funroll-loops -fomit-frame-pointer
WININCLUDE = -I.. -I../include -I$(WINPDPATH)/src
LDFLAGS = -shared
.c.dll: gcc -mms-bitfields $(WINCFLAGS) $(WININCLUDE) -o $*.o -c $*.c gcc $(LDFLAGS) -o $*.dll $*.o $(WINPDPATH)/bin/pd.dll strip --strip-unneeded $*.dll rm -f $*.o
# ----------------------- LINUX i386 -----------------------
pd_linux: tracker.pd_linux tracker.pd_linux: tracker.c tracker.h tracker.tk2c
CFLAGS = -DPD -DUNIX -O2 -funroll-loops -fomit-frame-pointer
-Wall -W -Wno-shadow -Wstrict-prototypes
-Wno-unused -Wno-parentheses -Wno-switch
-I/usr/include -I/home/tom/pd/cvs/pd/src
.SUFFIXES: .pd_linux .tk .tk2c
.tk.tk2c: sh tk2c.bash < $*.tk > $*.tk2c .c.pd_linux: $(CC) $(CFLAGS) -o $*.o -c $*.c $(LD) -export_dynamic -shared -o $*.pd_linux $*.o -lc -lm strip --strip-unneeded $*.pd_linux clean: rm -f *.o *.pd_* so_locations *.tk2c
using [tracker] like a visual matrix.
heh, it *is* a visual matrix ;)
Also I think more things should be implemented in this way, like some separators, to output also numbers from different successive columns
I don't think I understand you here... what are separators?
perhaps you could do something like:
|get 0 1, get 0 2, get 0 3( | [tracker]
or, better:
|1, 2, 3( | |get 0 $1( | [tracker]
federico a écrit :
using [tracker] like a visual matrix.
heh, it *is* a visual matrix ;)
Also I think more things should be implemented in this way, like some separators, to output also numbers from different successive columns
I don't think I understand you here... what are separators?
perhaps you could do something like:
|get 0 1, get 0 2, get 0 3( | [tracker]
or, better:
|1, 2, 3( | |get 0 $1( | [tracker]
That is indeed what I've done in the first patch I've attached.
[25( | [until] | [counter 0 25] | [get 0 $1(
something like this but with another counter for the rows...
I mean by separators, a settable line between rows or columns for helping the visual matrix user to get faster to the right number setting. eg: in my patch that intend to handle curve3d object I'd be glad if I could put a line every three columns for separating each point.
Patrice Colet a écrit :
federico a écrit :
I don't think I understand you here... what are separators?
I mean by separators, a settable line between rows or columns for helping the visual matrix user to get faster to the right number setting. eg: in my patch that intend to handle curve3d object I'd be glad if I could put a line every three columns for separating each point.
ooops,
eg: in my patch that intend to handle curve3d object I'd be glad if I could put a line every three columns for separating each point's 3D coordinates.
Patrice Colet a écrit :
federico a écrit :
using [tracker] like a visual matrix.
heh, it *is* a visual matrix ;)
|get 0 1, get 0 2, get 0 3( | [tracker]
Hello it's me again, I hope I'm not bothering too much with suggestions, I've attached an example where we can see tracker in action for making life easier with gem objects that require an huge amount of input values like curve3d. It would be so nice to have a bang at a second outlet each time a value is modified by the mouse, then it would be possible to automatically update the shape and makes life even more easy with those gem objects. Thanks.
cool patch! yes, I was thinking to that feature (really I have a TON of features to put in, if only I would have time)
but my idea is to make everything came out of the same outlet. you have to route the various status messages yourself, and also route the data you request
also note that in the last release I added send/receive configurable in properties, so you don't have to attach [s]/[r] objects anymore
ciao
On 9/23/07, Patrice Colet pat@mamalala.org wrote:
Hello it's me again, I hope I'm not bothering too much with suggestions, I've attached an example where we can see tracker in action for making life easier with gem objects that require an huge amount of input values like curve3d. It would be so nice to have a bang at a second outlet each time a value is modified by the mouse, then it would be possible to automatically update the shape and makes life even more easy with those gem objects. Thanks.
federico a écrit :
cool patch!
Thanks!
yes, I was thinking to that feature (really I have a TON of features to put in, if only I would have time)
then let me suggest one thing if you have time, :D, I'm actually trying to had interpolations between values, it might be actually made with some list magicks... But it's actually very difficult for me to find a solution for list interpolation, Frank? My suggestion is about having the possibility of interpolating each values when a change has been done with [setrow( [set( the mouse, and file loading, I guess that won't be easy ;)
but my idea is to make everything came out of the same outlet. you have to route the various status messages yourself, and also route the data you request
Okay, no problemo.
also note that in the last release I added send/receive configurable in properties, so you don't have to attach [s]/[r] objects anymore
very good! I was expecting to have this in creation arguments, like [tracker 10 10 $0-trk] but it's not implemented apparently, even worse, if I put [tracker $0-trk] itracker is simply not created, if I put [tracker 10 10] it crashes pd!
ciao
On 9/23/07, Patrice Colet pat@mamalala.org wrote:
Hello it's me again, I hope I'm not bothering too much with suggestions, I've attached an example where we can see tracker in action for making life easier with gem objects that require an huge amount of input values like curve3d. It would be so nice to have a bang at a second outlet each time a value is modified by the mouse, then it would be possible to automatically update the shape and makes life even more easy with those gem objects. Thanks.
On 9/23/07, Patrice Colet pat@mamalala.org wrote:
I was expecting to have this in creation arguments, like [tracker 10 10 $0-trk] but it's not implemented apparently, even worse, if I put [tracker $0-trk] itracker is simply not created, if I put [tracker 10 10] it crashes pd!
you should have a look at one pd file that you saved with a [tracker] in it. anyway those option are (obviously) available.
you can instantiate tracker as follows:
[tracker -send sendsymbol -recv recvsymbol -rows 16 -cols 7]
or
[tracker -data 2 3 1 2 3 4 5 6]
options are Tk like, so they are backward/forward compatible and don't rely on order :)
Federico Ferri
hi federico
nice looking tracker (nice because it looks so plain). there are two issues, i found yet:
the change is bound to the movement of the mouse, regardless, how fast you drag. in your tracker, when changing a certain value, the changing gets slower the faster you drag the mouse, which is a bit odd. it seems like only mouse movements of +/-1 px from last screen tick to the actual tick are taken into account. faster movements are just ignored.
right-aligne them, since they are numnbers.
On Sun, 2007-09-23 at 18:03 +0200, federico wrote:
cool patch! yes, I was thinking to that feature (really I have a TON of features to put in, if only I would have time)
but my idea is to make everything came out of the same outlet. you have to route the various status messages yourself, and also route the data you request
i think, this is the most flexible way to do it. also it makes possible to decide, whether update data should be taken into account or not.
roman
Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de
On Sun, 23 Sep 2007, federico wrote:
perhaps you could do something like:
|get 0 1, get 0 2, get 0 3( | [tracker]
With GridFlow's [#store], you would read values like this:
|0 1, 0 2, 0 3( | [#store]
And if you want to combine all three outputs in one, you can do:
|3 2 # 0 1 0 2 0 3( | [#store]
which reads as "3 lists of 2 numbers, which are: 0 1 0 2 0 3"
If a "single output" is already a list of N numbers, three outputs in one will be a list of 3 lists of N numbers each, i.e. a "3 N # ..."
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801, Montréal QC Canada