FORUMS: list search recent posts

Extendscript: info on Connect slider control to parameter??

COW Forums : Adobe After Effects Expressions

<< PREVIOUS   •   FAQ   •   VIEW ALL   •   PRINT   •   NEXT >>
Hamid Rohi-Bilverdy
Extendscript: info on Connect slider control to parameter??
on Jun 16, 2015 at 11:17:27 pm

Hi

I have searched through the scripting PDF, and i just can seem to find anything on how to connect a slider control to a parameter.

For instance I have created my main GUI, it contains a button, static text and a slider control.

Now I want this slider control to react to a layers paramter,say a opacity.

So when i slide the control on the GUI, then the opacity on the selected layer should correspond.

Can someone guide me towards a tutorial or similar so I have something to work on, I really dont know where to start.

I have created the slider button/control into my GUI, I can make buttons react with the "onClick" function, but how do I get the slider to react??

/HRB


Return to posts index

Dan Ebberts
Re: Extendscript: info on Connect slider control to parameter??
on Jun 16, 2015 at 11:28:33 pm

You need to set up onChange and/or onChanging functions to handle the changing slider values and attach them to the slider controls. I assume you've looked in the JavaScript Tools Guide--it's described in there.

Dan



Return to posts index

Hamid Rohi-Bilverdy
Re: Extendscript: info on Connect slider control to parameter??
on Jun 17, 2015 at 9:37:11 am

Thank you Dan. I did actually not see this document.
Wow, that is a long PDF.

I will try to mangle through the jungle and see what I can come up with.

Thanks again.

/HRB


Return to posts index


Hamid Rohi-Bilverdy
Re: Extendscript: info on Connect slider control to parameter??
on Jun 17, 2015 at 10:10:18 am

So far I only see infomation about the onChange on page 147, there are no exsamples or guide on how to use that word in a code...


Return to posts index

Dan Ebberts
Re: Extendscript: info on Connect slider control to parameter??
on Jun 17, 2015 at 4:17:46 pm

It's pretty straightforward:

function dragSlider(){
// do stuff
}


myPal.myGrp.mySlider.onChanging = dragSlider;



Dan



Return to posts index

Hamid Rohi-Bilverdy
Re: Extendscript: info on Connect slider control to parameter??
on Jun 17, 2015 at 4:54:26 pm

Hi Dan

Thank you for taking your time to answer.

Yes, as you see in my script of my panel(Thanks to David Torno)

Here i have my slider button.


res = "group{orientation: 'row', alignment:['fill','fill'], alignChildren:['fill','fill'],\
groupOne: Group{orientation:'column' , alignment:['fill','fill'], alignChildren:['fill','fill'],\
myButton: Button {text: 'My Button'},\
myStaticTxt: StaticText {text: 'HAMID'},\
myCheck: Checkbox{text: 'CheckBox'},\
mySlider: Slider{text: 'Slider', value:30},\
myClose: Button {text: 'Close'},\



Here you see i have assigned the group to myPanel and aslo my variable declaration of my button to the slider


//Assigning a group to myPanel add a res to it
myPanel.grp = myPanel.add(res);


//How buttons are assigned to function
var mySliderBTN = myPanel.grp.groupOne.mySlider;
var pushBTN = myPanel.grp.groupOne.myButton;


And here is what i have managed so far for actual pressing the button.

//THIS IS THE FUNCTION FOR THE SLIDER CONTROL
mySliderBTN.onChange = function() {

alert("Slide me");


}



So I guess this output exactly the same as the short little function you described.

But my initial thougts was how do i actually link a parameter to the click of the button.

I want the slider to work as slider control for a selected layers opacity, going from 0 to 100.

The basics i know is to set the parameter for the opacity on a layer i could write:

var curItem = app.project.activeItem;
var selectedLayer = curItem.selectedLayers;
var curLayer = curItem.selectedLayers[0];

var opaCity = curLayer.property("Transform").property("Opacity").setValue(50);


But to actualy have the slider button dynamicly from 0 to 100, here I am a bit lost...

/HRB


Return to posts index



Dan Ebberts
Re: Extendscript: info on Connect slider control to parameter??
on Jun 17, 2015 at 5:02:58 pm

I haven't tested this, but I assume it would look like this:


mySliderBTN.onChange = function() {
var curItem = app.project.activeItem;
var selectedLayer = curItem.selectedLayers;
var curLayer = curItem.selectedLayers[0];
curLayer.property("Transform").property("Opacity").setValue(this.value);
}


With onChange, it's probably not going to update the opacity until you let go of the slider. You might have better luck with onChanging, but I'm not sure.

Dan



Return to posts index

Hamid Rohi-Bilverdy
Re: Extendscript: info on Connect slider control to parameter??
on Jun 17, 2015 at 5:48:56 pm

Wow.... It did the trick, thank you very much.

If you would be so kind to explain to me, some curious questions which rised


1:
Can I use same technique for buttons such as progressbar, scroller?

2:
What is the relationship between the button and this line "(this.value);"?

3:
I am very happy with the result, so this question is more, is it possible.
I noticed, when sliding the controller, the comp window with the layer will reflect my button value AFTER i release the slider button. Is there a way to make it adaptiable, so the opacity value updates real time as i slide the button?

Thank you very much for all your work for this community and also thanks for having a resourcefull site for beginners like me who have been magically chanted into this world of after effect scripting.

/Hamid

P.S All my post on the COW forum regarding extendscript, I have been posting in the after effect expression forum, is there another forum dedicated only for extendscript??


Return to posts index

Dan Ebberts
Re: Extendscript: info on Connect slider control to parameter??
on Jun 17, 2015 at 6:12:14 pm

1. I'm not sure what you mean, but any event callback function (onClick, onChange, etc.) should be able to update your comp in a similar way.

2. Inside the event callback function, "this" refers to the control that initiate the callback.

3. As I mentioned, you might try onChanging instead of onChange, but I don't know if that will do it.

PS. The Cow doesn't have an AE scripting forum. The Adobe user forums have one.

Dan



Return to posts index


Hamid Rohi-Bilverdy
Re: Extendscript: info on Connect slider control to parameter??
on Jun 17, 2015 at 8:55:22 pm

Thanks Dan.


Return to posts index

<< PREVIOUS   •   VIEW ALL   •   PRINT   •   NEXT >>
© 2018 CreativeCOW.net All Rights Reserved
[TOP]