Expressions/Scripts/Presets

Moderators: Disciple, zlovatt

 
rainjam
Topic Author
Posts: 4
Joined: Fri Apr 04, 2008 4:28 am

indexOf with text

Mon May 26, 2008 1:33 pm

me again. I'm trying to use a single text layer to create subtitles. The sourceText property has this code (there's a null object called Controller with a slider to control which title shows):

a = ["Title1", "Title2", "Title3 is a bit longer\r\nso it needs to wrap around"];
n = Math.floor(thisComp.layer("Controller").effect("TextNo")("Slider"));
a[n]

I now want to change the position of the text layer based on whether the text is wrapping to two lines or not. The obvious thing seems to be to use something like

v = thisComp.layer("TitleText").text.sourceText.indexOf("\r\n");

- if v isn't -1, it's on two lines. However, this doesn't seem to work: it comes out as 1 whether the text is on two lines or not. Any ideas?

EDIT: ...sourceText.indexOf("longer") seems to work for those examples (-1 for n=0 or n=1, 16 for n=2), so it's something to do with the \r\n part. I've tried enclosing that bit in single quotes - ' - and escaping the backslashes with another backslash, but that doesn't work...

Cheers

Nick
 
Paul Tuersley
Posts: 704
Joined: Sat Jun 05, 2004 7:59 am
Location: London, UK

Re: indexOf with text

Mon May 26, 2008 3:57 pm

It works if you change "\r\n" to "\r"

Paul
 
Dan Ebberts
Posts: 318
Joined: Sat Jun 26, 2004 10:01 am
Location: Folsom, CA
Contact:

Re: indexOf with text

Mon May 26, 2008 4:19 pm

You can also do it this way:

thisComp.layer("TitleText").text.sourceText.indexOf(String.fromCharCode(13));

Dan
 
rainjam
Topic Author
Posts: 4
Joined: Fri Apr 04, 2008 4:28 am

Re: indexOf with text

Tue May 27, 2008 12:46 pm

Cheers fellas!

Who is online

Users browsing this forum: No registered users and 2 guests