Mailing List AE-List@media-motion.tv ? Message #51014
From: Chris Zwar <chris@chriszwar.com>
Subject: Re: [AE] Automating line breaks or batch convert to paragraphs
Date: Wed, 2 Oct 2013 07:47:10 +1000
To: After Effects Mail List <AE-List@media-motion.tv>
Thanks Phil,

That's awesome.  I ended up going through and doing them all manually, as it allowed me to tweak the line breaks to best suit each sentence.  
I had a lot of names and titles and doing it by hand made sure they read better over multiple lines than an automated version would have.

But thanks again for the code and this is one to get pasted into the workbook for next time.

Cheers!


-Chris

On 02/10/2013, at 6:54 AM, Phil Spitler <phil@bonfirelabs.com> wrote:

Ok, I modified my expression to make it only break where there are space.


txt = text.sourceText; needABreak=0; newTxt = "";split = 0;
splitVal = thisComp.layer("control").effect("Slider Control")("Slider"); 
for (i=0; i < txt.length; i++) {
newTxt = newTxt + txt[i] 
split++;
if (split == splitVal) {needABreak=1}
if (txt[i] == " " & needABreak ==1)
{
split = 0 ;
newTxt = newTxt +"\r";
}
}

newTxt



Here is a link to the revised project.



Phil







signature1 Phil Spitler  |  Creative Technologist   |  Bonfire Labs  |  t : 415.394.8200  m : 415.571.3139

Website | Facebook | LinkedIn

On Oct 1, 2013, at 1:28 PM, Phil Spitler wrote:

Ahh. Forgot about splitting words. 

Nathan's idea seems a better way to go. 

Phil

Phil Spitler  |  Creative Technologist   |  Bonfire Labs  |  t : 415.394.8200  m : 415.571.3139


On Oct 1, 2013, at 1:00 PM, Nathan Shipley <nshipley@gmail.com> wrote:

"Is there a way to batch convert point text layers to paragraph text layers and give them all the same bounding box?"

Not sure about batch converting them, but you can make a blank paragraph text layer at the size you want and pick-whip it's source to the existing layer.  Then it will create line breaks where there are spaces.  I think Phil's expression could break lines in the middle of words?

This could be tedious to set up, so you could duplicate your blank paragraph text layer and have it look at, say, the layer above it for it's source text so you wouldn't have to pick-whip it every time with an expression like this:

pullFrom = index-1;
thisComp.layer(pullFrom).text.sourceText

... where you apply that expression to the Source Text value for your blank paragraph text layer and place the paragraph layer below the existing text layer in the stack.  Then it's just a matter of duplicating that layer.

Dunno.  Maybe that helps?
 - Nathan


On Tue, Oct 1, 2013 at 12:26 PM, Phil Spitler <phil@bonfirelabs.com> wrote:
Ok, I just whipped up this expression that will do the trick.

Create a new null layer called "control" and add a slider, this will tell the text how many characters there are before it splits the line.

Apply the following expression to the source text of your text layer. You can also then copy the expression and paste it to all your text layers.



txt = text.sourceText;
newTxt = "";
split = 0;
splitVal = thisComp.layer("control").effect("Slider Control")("Slider");
for (i=0; i < txt.length; i++) {
newTxt = newTxt + txt[i] 
split++;
if (split == splitVal) {
split = 0 ;
newTxt = newTxt +"\r";
}
}

newTxt



I just tested it and it works great, my coding is not the most efficient I'm sure but it does work.

Sample project is here.



Phil





Phil Spitler  |  Creative Technologist   |  Bonfire Labs  |  t : 415.394.8200  m : 415.571.3139

Website | Facebook | LinkedIn

On Oct 1, 2013, at 12:00 PM, Louai Abu-Osba wrote:

That's a toughy. Maybe you could have a script run through each layer and add line breaks every x number of characters?


On Tue, Oct 1, 2013 at 12:54 AM, Chris Zwar <chris@chriszwar.com> wrote:
Hi,

I'm having a total brain freeze and could do with some advice.
I have several hundred text layers that are currently single lines of point text.  I need to add line breaks to each of them  so they will fit into a column, each line will probably be split over 5-6 separate lines.

So:

1) Is there a way to batch convert point text layers to paragraph text layers and give them all the same bounding box

or

2) Is there a animation preset I can use to automatically add line breaks at the nearest word after every x characters?

Cheers,


-Chris



+---End of message---+
To unsubscribe send any message to <ae-list-off@media-motion.tv>





 
Subscribe (FEED) Subscribe (DIGEST) Subscribe (INDEX) Unsubscribe Mail to ListMaster