
françois leroy
Enthusiast
françois leroy
Enthusiast
Activity
Jan 14, 2019
03:11 PM
The Reset workspace command for After Effects is: app.executeCommand(3566);
... View more
Jun 21, 2014
08:18 AM
Hi everyone, I've got an effect plugin using a layer parameter. I was running the code under this condition "if (ID > 0)" Every thing worked fine, until someone sent me a project where the layer parameter isn't working properly. I get the ID value via GetNewStreamValue, and I get negative ID value!! (-1755867957 to be precise) And it does the same if I import this project into another one... I changed my condition to "if (ID != 0)", and it works fine (for the moment...). But I'm still wondering how can an ID be negative! Did someone ever encounter this behaviour? For information, the project was made on AE CC, on a japanese language version... Cheers, François
... View more
Jul 06, 2014
06:55 AM
Hi Christian! It does work like a charm. Here's the code, for the record: PF_FloatMatrix my_matrices[2]; my_matrices[0] = beforeMat; my_matrices[1] = currentMat; and inside transform_world(): my_matrices, // not &my_matrices 2L, // number of matrices Cheers, François
... View more
Apr 16, 2014
06:35 AM
Hi! Thanx for reporting, I had a similar issue, and I was digging in the wrong direction... Now it's solved! Cheers, François
... View more
Mar 27, 2014
12:18 AM
I already added the "if (x >= 0 && x < inputP->width && y >= 0 && y < inputP->height)" condition 🙂 For the subpixelSampling function, it does interpolate, but I think I need to write my own interpolation, as I need to find values for missing data (pixels are spread out by forward mapping, unlike reverse mapping). That's also why I need to store data. I think I wasn't really clear on this point in my first post... Thanx again for this really complete answer! Cheers, François
... View more
Mar 06, 2014
09:25 AM
Thanks again
... View more
Mar 01, 2014
08:06 AM
guys, thx for reply to all , try to do something with your advice...
... View more
Mar 28, 2014
04:36 AM
thx guys all your solutions works perfectly fine! this was really helpfull!
... View more
Feb 20, 2014
02:58 AM
Hi! I'm not sure the loop is correct. When you change your solid's parentFolder, you also change its index value... the value of X could be a "fake positive" (I don't get why, though...) You could try storing your solids in an array instead of moving them. Then you can loop into the array and move them... This way you're sure you don't mess with indices. var i = 1; var mySolids = new Array(); var solidos = app.project.items.addFolder("Solids"); while (i <= app.project.numItems) { if(app.project.item(i).mainSource instanceof SolidSource){ mySolids.push(app.project.item(i)); } ++i; } for (s = 0; s < mySolids.length; s++) { mySolids .parentFolder = solidos; } Cheers, François
... View more
Feb 15, 2014
01:58 AM
Hi again, I forgot one line, code should be: var compDuration = myComp.duration; myComp.duration = compDuration * 2; //this is where you double the existing length myAdjustmentLayer = myComp.layers.addSolid([1,1,1],"myName", myComp.width, myComp.height, myComp.pixelAspect, compDuration); //create a layer myAdjustmentLayer.adjustmentLayer = true; //set the adjustment layer's flag myFX = myAdjustmentLayer.Effects.addProperty("ADBE Timewarp"); //apply timewarp Cheers, François
... View more
Jan 29, 2014
12:59 AM
NICE!!!! love that solution!!!
... View more
Jan 19, 2014
01:13 AM
Great! Thanx for the explanation! Seems like everything is solved quickly! Weird... 😉 Cheers, François
... View more
Dec 18, 2013
01:24 PM
openFrameworks isn't the right framework as it does more than image rendering and it's designed to create apps. I would recommend using something just for drawing, like Quartz on the Mac, GDI on Windows or Cairo for both Mac/Win, athough I don't have much experience using these libraries.
... View more
Nov 18, 2013
03:55 AM
oh well, we live to fight another day.
... View more
Nov 16, 2013
09:14 AM
Hi! Here is an expression applied to an effect's 2D point parameter applied on a 3D layer: fromCompToSurface(toComp([value[0],value[1], -Z])) I'd like to modify it so that it works when my layer is rasterized. It almost works with: toComp(fromWorld([value[0],value[1], -Z])) but there's a difference when Z becomes big. And the difference is huge when I rotate my Layer... Any idea? Thanx, François
... View more
Nov 16, 2013
09:40 AM
sometimes i'm the bearer of bad news...
... View more
Nov 15, 2013
01:32 AM
"how about getting data from crop option in render queue ?" Good idea, but I'm not sure you can access the data... If you can do it, please share 🙂 Cheers, François
... View more
Oct 26, 2013
05:49 AM
Hi! I have an issue with PersistentDataSuite in AE CC. I try to turn the JavaScript Debugger off, with no success. here's my code: version1: AEGP_PersistentBlobH blobH = NULL; A_char bufferAC[AEGP_MAX_ABOUT_STRING_SIZE] = {'\0'}; ERR(suites.PersistentDataSuite4()->AEGP_GetApplicationBlob( AEGP_PersistentType_MACHINE_INDEPENDENT, &blobH)); ERR(suites.PersistentDataSuite4()->AEGP_SetData( blobH, "Main Pref Section", "Pref_JAVASCRIPT_DEBUGGER", sizeof(A_char), FALSE)); version2: AEGP_PersistentBlobH blobH = NULL; A_char bufferAC[AEGP_MAX_ABOUT_STRING_SIZE] = {'\0'}; ERR(suites.PersistentDataSuite4()->AEGP_GetApplicationBlob( AEGP_PersistentType_MACHINE_INDEPENDENT, &blobH)); ERR(suites.PersistentDataSuite4()->AEGP_SetLong( blobH, "Main Pref Section", "Pref_JAVASCRIPT_DEBUGGER", 0L)); scripting version: app.preferences.savePrefAsBool("Main Pref Section", "Pref_JAVASCRIPT_DEBUGGER", false); app.preferences.saveToDisk(); I also tried with PersistentDataSuite3() in case there's a bug in PersistentDataSuite4, but no success... Is it a bug in CC or is it me? And does anyone have infos about the different PersistentTypes (new in CC) ? Cheers, François
... View more
Oct 11, 2013
10:04 AM
as long as you got it solved, it's all good. at least now we know that difference in AE's behaviour between debug and release.
... View more
Sep 12, 2013
08:22 AM
well, it was fun while it lasted... i'll try to think of another hack.
... View more
Aug 16, 2013
02:38 AM
It's a native plugin, made in C++, which is much more powerfull than scripting, but also a lot more work (and troubles) ! The SDK forum is for native plugins developpement, there is also a Scripting forum where you can find usefull and probably more accurate information. C++ plugins can use scripting too (mine do), via "ExecuteScript" command, so you can find posts where scripting is dicussed also. But if you have scripting questions, I'll be glad to answer (if I can) in this forum ! Cheers, François
... View more
Aug 12, 2013
01:13 AM
Bad news is still better than no news... at least I now know where (not) to go! I think I'll try to go the scripting way first, then see what happens... Thanx, François
... View more
Jul 31, 2013
01:11 AM
1 Upvote
Hi! Actually, you don't need to catch the close event. When After Effects closes, it checks this folder: Adobe After Effects (your version)/Support Files/Scripts/Shutdown and runs the scripts present in this folder. So if you paste your script in the Shutdown folder, it'll be launched on close event. If you want to launch scripts on Startup, you'll find a Startup folder as well... Cheers, François
... View more
Jul 12, 2013
07:54 AM
Then see you next month! PS: thanx
... View more
Feb 07, 2015
09:03 AM
Hi! old post, but I'm re-reading all the openGL realated posts trying to make a plugin work properly... About your questions, no real answer, but here are some clues: 1_in my tests, the image isn't flipped. I think you should check the openGL side of your plugin. In Glator, there are two textures, and one of them is flipped. May be you based your code on the "reflection" texture instead of the main texture. 2_I didn't find any direct way to read pixels correctly. But if you use glReadPixels() with GL_ABGR_EXT instead of GL_RGBA, only colors will be swapped, and alpha operations (blending and so on...) will be OK. If you swap the BLUE/RED colors before rendering, it should work without losing speed. I have questions for you too, cos' I have hard times with the openGL side: _how did you deal with openGL, did you create your own context? If yes, how? Cheers, François
... View more
Apr 25, 2013
02:48 AM
horray! now you can go out and play.
... View more
Jul 29, 2014
06:48 PM
Hi François, Thanks for your reply! And sorry for not explaining you what exactly I wanted to try. My friend gave me a script "toComp([0,0,])" then worked out well. I really appreciate your help! Cheers, Kenji
... View more
Feb 14, 2013
05:47 AM
1 Upvote
Hi! One solution would be to get the xyz value of pointTopLeft, pointTopRight, pointBottomRight via expression : TL = toWorld([0,0,0]); TR = toWorld([width,0,0]); BR = toWorld([0,height,0]); and then use the "AVLayer calculateTransformFromPoints()" method (see aftereffects_scripting_guide for details). Hope it helps! François
... View more
- « Previous
- Next »