Duh! I was missing the meaning of the error. It was a problem with my software, not pdp_qt
It's the usual problem with the [route routeme] object when sending it a list prefixed as [list routeme data(
It's been a while since I looked at PD, and this problem has pooped before - but simply putting a [route list] before the [route myroute] solves it.
Funny how it didn't happen before! Ah well...
...the fixed version works. Thx
Ed
Metastudio 3 for Pure Data - Free download at:
http://sharktracks.co.uk/puredata
--- On Tue, 5/1/10, Hans-Christoph Steiner <hans(a)at.or.at> wrote:
> From: Hans-Christoph Steiner <hans(a)at.or.at>
> Subject: Re: [PD] pdp_qt problems
> To: "Hans-Christoph Steiner" <hans(a)at.or.at>
> Cc: "Ed Kelly" <morph_2016(a)yahoo.co.uk>, "PD List" <pd-list(a)iem.at>
> Date: Tuesday, 5 January, 2010, 3:34
>
> Try the pdp_qt help patch. Your patch doesn't work
> for me, but the help patch does work with the video.
>
> Also, I just committed a change to pdp_qt.c to make its
> errors findable via the Find->Find last error menu.
>
> .hc
>
> On Jan 4, 2010, at 10:17 PM, Hans-Christoph Steiner wrote:
>
> >
> > Hey Ed,
> >
> > Happy New Year! Hmm, did it work before?
> Have you tried a nightly build? I'll take a
> look. pdp_qt and libquicktime are a finicky
> combo. Try pdp_yqt perhaps.
> >
> > .hc
> >
> > On Jan 4, 2010, at 8:48 PM, Ed Kelly wrote:
> >
> >> Hi all,
> >>
> >> I'm trying to get something together for the Jan 7
> deadline - and I've discovered that pdp_qt no longer loads
> my quicktime movies.
> >> All the movies are h.263 codec, quicktime files.
> >>
> >> I'm using Ubuntu 8.10, Pd-extended-0.41. I tried
> recompiling pdp from source and still no joy. But this is
> exactly the same setup as I used before, but a different
> computer! Any clues?
> >>
> >> pdp_qt: opening Shapes_51.mov
> >> pdp_qt: ERROR: not a quicktime file
> >>
> >> Enclosed - load test.pd
> >>
> >> Happy new year to all,
> >> Ed
> >> Metastudio 3 for Pure Data - Free download at:
> >> http://sharktracks.co.uk/puredata
> >>
> >>
> >>
> <pdpqt__.tar.gz>_______________________________________________
> >> Pd-list(a)iem.at
> mailing list
> >> UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
> >
> >
> >
> >
> >
> >
> ----------------------------------------------------------------------------
> >
> > 'You people have such restrictive dress for women,’
> she said, hobbling away in three inch heels and panty hose
> to finish out another pink-collar temp pool day. -
> “Hijab Scene #2", by Mohja Kahf
> >
> >
>
>
>
> ----------------------------------------------------------------------------
>
> Using ReBirth is like trying to play an 808 with a long
> stick. -David Zicarelli
>
>
>
Hi,
If I use [pix_2grey], or [pix_contrast], or any other pix_object that
process pix data, after a [pix_set] object, I would expect it to process
the pix data generated by pix_set.
For example, if I use pix_set to create a 2x2 image of all red pixels,
and then connect a [pix_grey], I would expect the image to be converted
to gray.
Shouldn't I????
However, it seems that any processing objects after a [pix_set] have no
effect - the pixels remain unchanged.
Is it a bug or is there an explanation, and in the latter case, how
should one do to process the pix created with pix_set?
Check out the attached example: on the right I use a [pix_image] to load
a 2x2 red image; pix_2grey changes it to grey.
On the left I do the same but instead of loading a 2x2 red image I
create it with [pix_set]. In this case [pix_grey] has no effect.
You can replace [pix_grey] with pix_contrast or any pix processing
object, the result will be the same.
Just confused.
Thanks
m.
--
Matteo Sisti Sette
matteosistisette(a)gmail.com
http://www.matteosistisette.com
#N canvas 422 123 958 562 12;
#X obj 238 491 gemwin;
#X msg 212 458 create \, 1;
#X msg 292 454 destroy;
#X obj 579 315 pix_texture;
#X obj 585 393 square 2;
#X obj 562 343 translateXYZ 2 0 0;
#X obj 571 147 gemhead 53;
#X msg 253 135 RGBA;
#X obj 230 316 pix_texture;
#X obj 229 176 pix_set 1 1;
#X msg 302 131 1 1 1 1;
#X msg 328 103 0 0 0 0;
#X obj 305 29 loadbang;
#X msg 387 130 \$1 \$1 \$1 1;
#X floatatom 415 75 5 0 0 0 - - -;
#X msg 323 64 1 0 0 1;
#X obj 233 366 square 2;
#X obj 213 344 translateXYZ -2 0 0;
#X obj 225 247 pix_2grey;
#X obj 541 264 pix_2grey;
#X obj 229 96 gemhead 51;
#X obj 577 204 pix_image red.jpg;
#X connect 1 0 0 0;
#X connect 2 0 0 0;
#X connect 3 0 5 0;
#X connect 5 0 4 0;
#X connect 6 0 21 0;
#X connect 7 0 9 0;
#X connect 8 0 17 0;
#X connect 9 0 18 0;
#X connect 10 0 9 1;
#X connect 11 0 9 1;
#X connect 12 0 7 0;
#X connect 12 0 15 0;
#X connect 13 0 9 1;
#X connect 14 0 13 0;
#X connect 15 0 9 1;
#X connect 17 0 16 0;
#X connect 18 0 8 0;
#X connect 19 0 3 0;
#X connect 20 0 9 0;
#X connect 21 0 19 0;
Hi all,
I'm trying to get something together for the Jan 7 deadline - and I've discovered that pdp_qt no longer loads my quicktime movies.
All the movies are h.263 codec, quicktime files.
I'm using Ubuntu 8.10, Pd-extended-0.41. I tried recompiling pdp from source and still no joy. But this is exactly the same setup as I used before, but a different computer! Any clues?
pdp_qt: opening Shapes_51.mov
pdp_qt: ERROR: not a quicktime file
Enclosed - load test.pd
Happy new year to all,
Ed
Metastudio 3 for Pure Data - Free download at:
http://sharktracks.co.uk/puredata
Hi,
The subject resembles very much that of one recent message of mine but
it is NOT the same.
I think it's better to start a new thread because the previous one was
erroneously focused on rectangle textures: I was suggested to use them
to solve a problem I mentioned, and though I do appreciate very much the
suggestion, it actually pointed me to the wrong direction.
So, I have learned that when you use an image as a texture (be it loaded
from file, generated by camera input or by a pixsnap), the texture
internally has power-of-two dimensions greater than or equal to the
actual dimensions of the image, the rest being padded with black or
something.
Then, I've seen that even if I use a shader, I usually don't have to
worry about that IF the [pix_image] (or [pix_video] or whatever) that
generates the image is in the same "line" (of left-inlet connections) as
the [pix_texture] and the [glsl_program].
That is, when in the shader I use gl_TexCoord[0].st to sample the
texture, I get the right coordinates.
So, the "01 simple texture" patch in the example folder works fine with
non-power-of-two-sized images with no need to be changed, and without
using rectangular texture mode.
However, as the attached patch shows, this is no more true if I use a
uniform variable to tell the shader to use a given texture unit N, which
correspond to some [pix_texture] object which is connected to another
separate [gemhead] and which has been sent a [texunit N( message.
So what I understand is that [pix_image] (or any object that creates a
pix and translates it into a texture) takes care of it by doing some
kind of "OpenGL magic" so that the texture coordinates being "passed" to
the shader are OK with no need to take care of that in the shader code.
The aritmetical part of this "magic" is indeed as simple as computing a
scale factor of W/Nw for width and H/Nh for height, where W and H are
width and height, and Nw and Nh are the next power of two equal to or
greater than W and H respectively.
The question is, what's the best way (if there is any) to "reproduce"
the magic that the pix objects do, in order to "pre-compute" this scale
factor and have the shader "receive" correctly 'normalized' coordinates?
I mean, I can calculate the scaling factor and pass it through a uniform
variable to the shader, and have the shader use it to rescale the
coordinates. This will work fine, but it seems (to me) that [pix_image]
and other pix objects are able to do this kind of rescaling somehow
_before_ the shader gets in action, since you don't need to change the
shader code if such an object (which is generating the image) is present
in the chain.
I hope I have explained the question clearly.
The attached patch shows the problem quite well I think. I don't attach
the images to avoid flooding mailboxes; any non-power-of-two different
sized images with those names will do; by the way I have attached them
in a recent message of mine.
Compare the behaviour to that of example 01 of the GLSL example folder:
even with a non-pot-sized image, that example works fine.
Note that no rectangular textures are involved. Rectangular textures
won't help (indeed I think it gets more complicated): I have the same
problem because I need to "tell" the shader the actual size of the
texture it has to use.
Thanks a lot in advance
m.
P.S. though I can't promise it, it's almost sure that I will post and
share the final patches, for what it's worth; but I can't do it yet.
--
Matteo Sisti Sette
matteosistisette(a)gmail.com
http://www.matteosistisette.com
uniform sampler2D curtex;
void main (void)
{
vec2 xy=gl_TexCoord[0].st;
vec4 frontcolor = texture2D(curtex, xy);
gl_FragColor = frontcolor;
}
// Cyrille Henry 2007
void main()
{
gl_TexCoord[0] = gl_MultiTexCoord0;
gl_Position = ftransform();
}
#N canvas 399 97 925 656 12;
#X obj 441 576 gemwin;
#X msg 437 515 create \, 1;
#X msg 484 547 destroy;
#X obj 58 177 glsl_vertex;
#X obj 59 313 glsl_fragment;
#X obj 143 211 change;
#X obj 160 342 change;
#X obj 155 385 t b f;
#X obj 153 418 pack 0 0;
#X obj 60 490 glsl_program;
#X msg 154 454 link \$1 \$2;
#X obj 60 567 pix_texture;
#X obj 187 69 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 69 33 gemhead 50;
#X obj 508 77 gemhead 23;
#X obj 511 259 pix_texture;
#X msg 519 221 texunit 1;
#X obj 664 260 pix_texture;
#X obj 661 78 gemhead 24;
#X floatatom 212 525 5 0 0 0 - - -;
#X obj 70 60 t a a;
#X obj 348 384 loadbang;
#X obj 762 53 loadbang;
#X obj 60 600 square 4;
#X obj 565 383 pix_image img1_.jpg;
#X obj 506 163 pix_image img2_.jpg;
#X obj 659 164 pix_image img3_.jpg;
#X msg 278 474 texunit 2;
#X msg 672 222 texunit 0;
#X floatatom 253 333 5 0 0 0 - - -;
#X msg 229 387 curtex \$1;
#X msg 136 99 open trivialshader_norec.vert;
#X msg 114 259 open trivialshader_norec.frag;
#X obj 584 313 gemhead 23;
#X obj 587 495 pix_texture;
#X msg 595 457 texunit 2;
#X obj 185 42 loadbang;
#X connect 1 0 0 0;
#X connect 2 0 0 0;
#X connect 3 0 4 0;
#X connect 3 1 5 0;
#X connect 4 0 9 0;
#X connect 4 1 6 0;
#X connect 5 0 8 0;
#X connect 6 0 7 0;
#X connect 7 0 8 0;
#X connect 7 1 8 1;
#X connect 8 0 10 0;
#X connect 9 0 11 0;
#X connect 9 1 19 0;
#X connect 10 0 9 0;
#X connect 11 0 23 0;
#X connect 12 0 31 0;
#X connect 12 0 32 0;
#X connect 13 0 20 0;
#X connect 14 0 25 0;
#X connect 16 0 15 0;
#X connect 18 0 26 0;
#X connect 20 0 3 0;
#X connect 21 0 27 0;
#X connect 22 0 28 0;
#X connect 22 0 16 0;
#X connect 22 0 35 0;
#X connect 24 0 34 0;
#X connect 25 0 15 0;
#X connect 26 0 17 0;
#X connect 27 0 11 0;
#X connect 28 0 17 0;
#X connect 29 0 30 0;
#X connect 30 0 9 0;
#X connect 31 0 3 0;
#X connect 32 0 4 0;
#X connect 33 0 24 0;
#X connect 35 0 34 0;
#X connect 36 0 12 0;
Hi all and happy new year,
I'm looking into the possibility of running a live coding festival in
Newcastle later this year. To be supported it would need to be a bit
bigger than previous events dedicated to live coding - 100+ . It
would include performances, talks and beginners workshops. So I'm
gauging interest - if you would be interested in coming to such a
thing, please add yourself on this wiki page:
http://toplap.org/index.php/Newcastle2010
You don't have to sign up to anything - just click 'edit' and add your
name to the list. You won't be committing to anything, but your
interest would be helping make it happen!
For those unfamiliar with live coding, there's a bit of info here:
http://toplap.org/uk/about/
Thanks very much,
alex
--
http://yaxu.org/