Welcome Dialog

Welcome to the Community!

We have a brand new look! Take a tour with us and explore the latest updates on Adobe Support Community.


AE Rendering in AME - text defined from CSV file reverts to 'null'

New Here ,
Apr 09, 2019 Apr 09, 2019

Copy link to clipboard

Copied

So I've got a very simple AE project with a few text layers. The source text of these text layers uses expressions to grab names from a CSV file & I've set up a slider control on a null object to flick between which name is selected.

This all renders fine in the AE Renderer, but as soon as I try to export via AME, all of the names revert to 'null'. What might I need to change to get this to work?

(Bonus question... I need to eventually have AE / AME cycle through the various names in the CSV and spit out a video for each of them, is there a script/plugin to achieve this?)

Views

723

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Adobe Community Professional , Apr 09, 2019 Apr 09, 2019
That's unfortunately a bug/ limitation in this whole thing. You have to render from AE directly or the exprtessions don't evaluate correctly. That also takes care of your other question - any such stuff like creating separate render comps would have to be done in AE, anyway.Mylenium

Likes

Translate

Translate
Adobe Community Professional ,
Apr 09, 2019 Apr 09, 2019

Copy link to clipboard

Copied

That's unfortunately a bug/ limitation in this whole thing. You have to render from AE directly or the exprtessions don't evaluate correctly. That also takes care of your other question - any such stuff like creating separate render comps would have to be done in AE, anyway.

Mylenium

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Apr 09, 2019 Apr 09, 2019

Copy link to clipboard

Copied

Thanks for the help!

Frustrating, but at least I guess it's not an error on my part. Hopefully they work out that limitation at one point.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Jun 10, 2019 Jun 10, 2019

Copy link to clipboard

Copied

Rufous​ Do you mind sharing your expression for this - specifically how you drive a Column/Row selection offset via the slider? I'm having trouble figuring that out that exact maneuver!

I'm prepping for a conference with over 150 individuals that need ID animations, and was wondering about having CSV drive all that text.

However with out having AME involved, that might be a deal breaker...

Best,
David

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Jun 10, 2019 Jun 10, 2019

Copy link to clipboard

Copied

Never mind- I got it:

I setup a Null with 2 slider controls on it, one for Row, one for Column, and called it MASTER SELECTOR

For the First TEXT Layer (correlates to first line of text in ID video)

ROW_OFFSET=thisComp.layer("MASTER SELECTOR").effect("ROW#")("Slider");

COLUMN_OFFSET=thisComp.layer("MASTER SELECTOR").effect("COLUMN#")("Slider");

footage("TXT2SPREADSHEET TEST 1.csv").dataValue([0+ROW_OFFSET,0+COLUMN_OFFSET])

For the next TEXT Layer (correlates to next line)

ROW_OFFSET=thisComp.layer("MASTER SELECTOR").effect("ROW#")("Slider");

COLUMN_OFFSET=thisComp.layer("MASTER SELECTOR").effect("COLUMN#")("Slider");

footage("TXT2SPREADSHEET TEST 1.csv").dataValue([0+ROW_OFFSET,0+COLUMN_OFFSET+1])

Continue with this for however many text layers remain, incrementing the column by +1 as above.

Now this is some super sloppy expression writing.  Mylenium​, this approach would likely bog down the system I'm guessing?

I'm sorry to impose, but do you have a suggestion that would be more efficient, while providing the same result?

Here is a snipit of the CSV I'm using:

  

SECTION INFOTEXT
D1,00 "Hello World 0"
D1,00 NAME
D1,00 Title Line 1
D1,00 Title Line 2
D1,00 na
D1,00 na
D1,00 na
D1,00 na
D1,00 na
D1,00 na
D1,001 Opening remarks "Excel is now driving the bus"
D1,001 Opening remarks NAME
D1,001 Opening remarks Title Line 1
D1,001 Opening remarks Title Line 2
D1,001 Opening remarks na
D1,001 Opening remarks na
D1,001 Opening remarks na
D1,001 Opening remarks na
D1,001 Opening remarks na


And how that displays on screen (please ignore rough layout!):

EXCEL Text_V2 (0;00;00;00).png

You can duplicate this comp, and then only have to make one column adjustment in the master selector to have all fields filled in accordingly.

If you don't need to have the flexibility to build your own layouts, you could probably just use this fellows AE script:

New Tool for Modular Lower Third Kits - YouTube

I hope this is helpful to someone out there

David

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Sep 13, 2021 Sep 13, 2021

Copy link to clipboard

Copied

LATEST

I made my csv text easier by using this expression in source text.

 

txtInd = thisLayer.index-1;  // column in csv
presNum = thisComp.name; //
row in csv
footage("lista-csv.csv").dataValue([txtInd,presNum ]); 

 

I call my comps 0, 1, 2, 3, 4 etc (they point to a csv row). The only thing i need to do is duplicate my comp - and the row number will update (presNum). 

My data has 3 to 6 inputs (columns) in each row, I don't want to control that manually so each time i duplicate my text, my argument (txtInd) gets a number+1.

 

in order to hide layers with null values I use this expression on opacity. 

if (text.sourceText == "x") 0
else 100;

My csv has "x" in empty columns. 

this (opacity expression) also controls other animated layers so if there is no data, the animations do not show. 

 

best

 

 

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines