Hi Michael, I just played with the trial and I don't manage to make it work with a spreadsheet where an individual cell includes line breaks. Is there any way to process multi-line texts with this script?
Hi, I have been using this script since version. 4.0 for some odd reason I recently upgraded to 4.1 and the last time I used the script it worked great. This time when I load it, half of the parameters are gone. For instance I can't set naming convention any longer, there is no area to chose how AE should handle the names at all?! I tried to revert back to the older script but it's the same thing. It seems almost as if 4.1 is using remnants of 4.02 (which I didn't think is possible) because the interface looks like the old one. SO weird. I recently updated to the latest AE CC. Any help would be greatly appreciated. This script saves me DAYS of work. Hope we can get it working again.
I'm using this to mass translate about 20 videos into over 20 different languages. It's absolutely awesome - Great job Michael!
Came across a number of issues when importing Chinese, Czech etc due to the different characters - using a tab-delimited text file caused a lot of the unicode characters to be replaced with question marks - thankfully I found a work around - Save your excel spreadsheet in Unicode text format and it retains these special characters.
Michael, it may be worth adding this to your description as anyone doing multiple languages will encounter this problem.
New Version 4.5 Released. The new project segment feature allows you to break your results into smaller projects. If you are doing a large run, the system can get bogged down. Now you can have the script split the run up among multiple projects to conserve resources.
Such a helpful script, Michael! We will be creating a large number of small videos in the next six months as part of the "Million Skills Project," (see MillionSkills.net) and your script will save us tons of time.
Just a note in case other folks experience similar problems: Last night i locked an import layer (e.g., ">myFileName") in a previously-importing-successfully project. As a result, running your script created the first set of comps perfectly, but would stop there without throwing an error.
I finally looked at the composition flowchart of the successfully-generated comp, and noticed that the name of the import layer was still ">myFileName" which suggested there was a problem. Unlocking that layer solved the problem.
Despite the loss of a few hours, though, your script is going to help immensely, so thanks for your work!
Is there a trick to keeping text justifications from getting changed after running the script? I have one text layer set for Left Justifcation, one for Right. Both get set to Left after running the script. Sort of defeats the purpose of automating text updates:/
INTRO (5sec) / VIDEO (all different length) / OUTRO (5sec)
I am concerned about the different length of the output clips.
would it be possible ?
It would require you to make a comp that had expressions to make it automatically adjust to the different lenghts. CFS would then pre-populate that dynamic comp with all the assets.
INTRO (5sec) / VIDEO (all different length) / OUTRO (5sec)
I am concerned about the different length of the output clips.
would it be possible ?
It would require you to make a comp that had expressions to make it automatically adjust to the different lenghts. CFS would then pre-populate that dynamic comp with all the assets.
I thought so. but I cludnt find a Expression that will shorten my subcomps or comps. any ideay How ? and ho I integrate the expression to the CFS excellist?
I am working on a project to create 300+ movies. CompsFromSpreadsheet is helping immensely for generating the new comps, but i have been unable to find a solution similar to what @Maxim Matthew is looking for (i.e., INTRO (5sec) / VIDEO (all different length) / OUTRO (5sec))
@Michael Cardeiro, are you aware of any solutions to this problem? If not, it might be a nice additional product or service to offer.
I am working on a project to create 300+ movies. CompsFromSpreadsheet is helping immensely for generating the new comps, but i have been unable to find a solution similar to what @Maxim Matthew is looking for (i.e., INTRO (5sec) / VIDEO (all different length) / OUTRO (5sec))
@Michael Cardeiro, are you aware of any solutions to this problem? If not, it might be a nice additional product or service to offer.
Hey Christian,
Currently there is no way to do this. It has been a request for a while, The problem is there are so many variation as to how a user might want to alter the comp length. You want an intro, variable lenght comp, outro...somebody else might want 2 variable comps, followed by another fixed comp followed by another variable lengthened layer.
I have been working on ideas but have not come up with a solution I am happy with.
if you have a sequence in your project named comp1 that you want to add to your comp, you would have a layer in your comp named #replace (the name isnt relevent, the # is) now in your spreadsheet, you would have a column named replace, and if you put the first value of the replace column to be comp1, the script will replace the layer #replace with the comp1 sequence.
Currently there is no way to do this. It has been a request for a while, The problem is there are so many variation as to how a user might want to alter the comp length. You want an intro, variable lenght comp, outro...somebody else might want 2 variable comps, followed by another fixed comp followed by another variable lengthened layer.
I have been working on ideas but have not come up with a solution I am happy with.
I am having trouble replacing comp layers using !compLayerName.
They are being completely ignored so I must be missing something.
The comps that are supposed to replace their namesakes in the master comp have their individual layer replaced with the correct content.
As happens the are pre-loaded sequences via Immigration.
Can you please explain what the steps are?
There four comps:
base, colour, shadow – these comps have a number of sequences that update correctly
main – has three layers called !shadow, !base, !colour
According to my understanding of the manual I only need to mark the main comp layers with the ! symbol.
I quote the manual:
"If you have a precomp layer in your comp that begins with !, any layer in the precomp setup for compsFromSpreadsheet will be updated from the spreadsheet."
When I run CompsFromSpreadsheet the layer names with the ! don't turn up in the Field Init pop-up menus with the other listed layer types being all #s.
Nor after passing ok'ing the Field Init dialogue the compsFromSpreadsheet folder contains updated base, colour and shadow comps correctly but no Main Comp with updated base, colour, shadow preComps within.
You wont see the ! layers in the field init box because you cant replace the precomp with something from the spreadsheet. When you put a ! in front of a precomp, you are telling compsFromSpreadsheet to look inside that precomp for any layer with a >, # or ! to process accordingly. When the script actually processes the ! layer, it makes a dupe of the comp before processing, and replaces the original precomp with the dupe before replacing any layers within.
Hope this clears it up for you.If not, private message me and attach the project (no assets, just the ae file and your spreadsheet).
my company just upgraded to version 4 of comps for spreadsheets. We have been using version 3 for a long time with much success. Have 2 problems - (1) when sending text from spreadsheets, international characters (ex: accents marks) do not display properly. This did not work in version 3 either. Any workaround for this?
(2) the main reason we upgraded is I read it recognizes precomps. I did not realize that it will not update precomps from info on the spreadsheet. I have 8 precomps and wanted it to populate the comp with the precomp named on the spreadsheet.
The problem you are experiencing with international characters is from the conversion from your spreadsheet program to tab delimited text file...if you open up the tab delimited text file you should see that the international characters are not there (if they are let me know).
The workardound (on Excel) is, instead of doing save as -> tab delimited text do save as -> unicode text (it might be utf 8 in older versions)
this will save a tab delimited text file with your encodings preserved.
The precomps work in this way, any precomp you have in a comp that is labeled with a ! will have any target layers in that precomp replaced with appropriate data from the spreadsheet. It will not let you replace a layer with a precomp and then process it... you can either have a layer as a replace layer (which can be replaced with a precomp but layers inside it wont be processed) or a precomp to be processed, but the precomp already needs to be in the main comp. This sounds like a good feature to be added, but unfortunately it currently does not work this way
Love the product! about to purchase just has one weird request, we have a lot of client content (avi's/jpg's/wav's) on servers available through a URL, but not locally (well, not without having more steps). When i try to call on the url location CompsFromSpreadsheet cannot find the file. Is there anyway to allow CompsFromSpreadsheet to have this ability?
Love the product! about to purchase just has one weird request, we have a lot of client content (avi's/jpg's/wav's) on servers available through a URL, but not locally (well, not without having more steps). When i try to call on the url location CompsFromSpreadsheet cannot find the file. Is there anyway to allow CompsFromSpreadsheet to have this ability?
CFS uses AE to access the files so anything AE can see CFS will be able to see.
Is there anyway to resize the text based on a limitation of the box size? For example, if we have someones name that is quite long and we want to put this on a slate, can we make the font smaller instead of it running off of the screen?
shows exactly what we are wanting to achieve. I would have thought that this would have been built into CompsFromSpreadsheet. If it isnt how would we go about voting for it or creating a custom script to allow for it to work for us like this?
I worked with Eric on his expression problem and came up with a solution that keeps the expressions working after the script runs.
He had a comp "!CAR TEXT" that had a bunch of text layers updated from the spreadsheet. Then, in various precomps he would reference these layers in expressions like this:
the problem is both items being referenced in the expression would have their names changed when the script is run. To solve this, any comp that had an expression would have a copy of "!CAR TEXT" as layer 1 in the comp. The expression then needs to be changed to reference the comp by layer id instead of name so the above expression would be changed to:
var c = comp(thisComp.layer(1).source.name) c.layer(9).text.sourceText
now everything is hard coded to layer index so when the script changes the name of the text layer and comp referenced, the expression still works.
Trying to do about the same thing but getting an error using your example, and please forgive me as I'm not as advanced as needed to edit the expression for my needs. I have three layers in the same comp that need to reference the source text of layer 1 of that comp.
I'm creating some sudo layer styles by using the duplicated layer sources with trackmats etc...
Expression that I had in place on the lower layers is
thisComp.layer("^1VALUE").text.sourceText
I get the following error in AfterEffects CC
Error at line 1 in property 'Source Text' of layer 3('Value')in comp '!WinnerKPIBugText-E02'.
this layer has no source.
Any direction that you can give to help would be awesome!
I'm noticing that when I run Comps from Spreadsheets on a spreadsheet with entries containing quotation marks, that an extra set of quotation marks will be added after the data is imported. So, if the data is: Test Data "123" for Comps, after import, it will read as: "Test Data "123" for Comps"
Is there a way to prevent this extra set of quotation marks from being added upon import?
Are you saying your tab delimeted text file has Test Data "123" for Comps as the data and when you run compsFromSpreadsheet it fills in the text field as "Test Data "123" for Comps" or are you saying you have a field in a spreadsheet Test Data "123" for Comps the spreadsheet program changes it to "Test Data "123" for Comps" when you convert it to a tab delimeted file?
If its the former, send me your text file and I'll see whats going on; if its the latter than it is an issue with the spreadsheet program.
I'm testing your product at the moment and working through different scenarios. For SEO purposes, I need to append a different word for each new composition name so that it shows up in the file name. What is the best way way to do this? Shall I create a hidden text layer updated with text from the spreadsheet and use this in the new composition name? Or is there an easier way to do it?
I'm testing your product at the moment and working through different scenarios. For SEO purposes, I need to append a different word for each new composition name so that it shows up in the file name. What is the best way way to do this? Shall I create a hidden text layer updated with text from the spreadsheet and use this in the new composition name? Or is there an easier way to do it?
Many thanks...
Hey Vanina,
This can be done easily using a column from your spreadsheet. Make a column in your spreadsheet named "comp name" (you can name it anything you like) to hold the names of each composition.
Then when you get to the field init window theres a section labeled "new composition name". If you click on the dropdown you will see at the bottom of the dropdown "FROM SPREADSHEET | comp name" ( or whatever you named the column to hold comp names). Choose this and it will name the comps based on the entry in this column.
Perfect! I got a bit confused about whether I had to specify in the spreadsheet which comp to use to get the text. Now I understand that using the ! sign will get updated. It's great that it only needs this sign to update the text as I have quite a few comps with different effects.
I have just tested your product, and I really like it. It will make my work flow much easier. I just have one question. Is it possible to make this script work without making new comps each time I run it? I need the data (image and text) to be updated in the template comp itself.
Hi Anna, It will always make a copy of the comp. To make things neater, you could run the script, when finished select the new comp, and choose File->dependencies->reduce project, which will delete everything unused in the selected comp (which would include your original and any precomps that were modified). Not the best workaround but you would end up with essentially your original comp updated.
First up my apologies if this has been covered but i'm having troubles wrapping my head around the ! function/purpose.
I would like to set it up where I have my movie and all my adjustable layers in one composition and then have a main composition where I combine that with the slates. (Ex: the layers "^phone" and ">audio" would be inside comp "movie" and then in the comp "Main" I would have ">slates" and "!movie". <-- don't know if that's right but how i've been doing the naming.)
The way I have been running it is in the Excel sheet setup I just have been putting in the composition name: "Main" as I was figuring the ! function would point it to the correct paths for phone and what not since I have used the ! function (hoping to signify that there is stuff to point to inside the nested comp) but this is not what is happening. At this point I feel like i'm just going around in circles trying to understand how to make this work (whether i'm not using it correctly in my AE setup or am missing something in my Excel comp).
Since I have yet to successfully figure this out I have just been pulling layers out into the main comp. It would be nice to find a solution as I have had a few for complex comps come my way where it would have been great to keep the layers being adjusted inside their original pre-comps.
would you mind opening a support ticket and uploading your ae file and spreadsheet...no need to upload any assets, just the ae file and your spreadsheet, I'll take a look and see what your trying to do and if I can help.
I had one quick question which appears to have been answered in some fashion but I wanted to clarify if I may.
I have a spreadsheet with 20 rows and around 20 columns of varying data.
I want to in AE have that data update my existing comps where each comp is a row and so I have 20 comps.
I'm seeing this script work but it's not actually updating my existing comps. It does create new comps but the only way I've been able to use this is to replace my existing comps with the new ones as the positioning is crucial.
Hey Rick Unfortunately, that is the way the script works. Every row of your spreadsheet will create a new comp duplicated from the comp named in the comp column for that row. Just curious, what do you mean when you say positioning is crucial, do you mean the position of the comp in the project file?
We are going to purchase your script. We’ve tried it and it is great, but we have a doubt that we hope is easy to solve. Our video in After is made up of several compositions, one of them contains the texts. We do all the steps in the composition where the texts can be customized, but when we attempt to render the video and trigger the order of the main composition, the text doesn’t personalize. Is it possible that the script isn’t working in those cases? I mean when there is an initial composition and several secondary ones.
We usually use Mac to create the videos, but this time we have to use PC. The problem is when it's time to select the output mode, it doesn't recognized mov and as default selects AVI. How can we solve this? The PC has QuickTime installed.
The default output module is set by the application. If you go to Edit->Templates->Output Module...
then change the Movie Default dropdown to quicktime (if a quicktime template is not in the dropdown you need to create one in the bottom portion of that window)
Yes I do customize scripts (just did one last week for somebody)
Depending on the complexity, I can turn araound pretty quickly. Let mw know what you're thinking.
I just played with the trial and I don't manage to make it work with a spreadsheet where an individual cell includes line breaks.
Is there any way to process multi-line texts with this script?
Cheers,
Mathias
ok, I found the solution (the <br> tag) in your documentation.
Thanks a lot!
Mathias
Try deleting compsFromSpreadsheet from the script UI folder of your after effects cc. download compsFromSpreadsheet from aeScripts and reinstall.
When you run it, take screen grabs of what is going on to help me better figure out whats happenning.
Just a note in case other folks experience similar problems: Last night i locked an import layer (e.g., ">myFileName") in a previously-importing-successfully project. As a result, running your script created the first set of comps perfectly, but would stop there without throwing an error.
I finally looked at the composition flowchart of the successfully-generated comp, and noticed that the name of the import layer was still ">myFileName" which suggested there was a problem. Unlocking that layer solved the problem.
Despite the loss of a few hours, though, your script is going to help immensely, so thanks for your work!
What version of After Effects are you running? I will look into it.
yes, the script works with sequences.
I am working on a project to create 300+ movies. CompsFromSpreadsheet is helping immensely for generating the new comps, but i have been unable to find a solution similar to what @Maxim Matthew is looking for (i.e., INTRO (5sec) / VIDEO (all different length) / OUTRO (5sec))
@Michael Cardeiro, are you aware of any solutions to this problem? If not, it might be a nice additional product or service to offer.
Hey Christian,
Currently there is no way to do this. It has been a request for a while, The problem is there are so many variation as to how a user might want to alter the comp length. You want an intro, variable lenght comp, outro...somebody else might want 2 variable comps, followed by another fixed comp followed by another variable lengthened layer.
I have been working on ideas but have not come up with a solution I am happy with.
You wont see the ! layers in the field init box because you cant replace the precomp with something from the spreadsheet. When you put a ! in front of a precomp, you are telling compsFromSpreadsheet to look inside that precomp for any layer with a >, # or ! to process accordingly. When the script actually processes the ! layer, it makes a dupe of the comp before processing, and replaces the original precomp with the dupe before replacing any layers within.
Hope this clears it up for you.If not, private message me and attach the project (no assets, just the ae file and your spreadsheet).
Mike
The problem you are experiencing with international characters is from the conversion from your spreadsheet program to tab delimited text file...if you open up the tab delimited text file you should see that the international characters are not there (if they are let me know).
The workardound (on Excel) is, instead of doing save as -> tab delimited text do save as -> unicode text (it might be utf 8 in older versions)
this will save a tab delimited text file with your encodings preserved.
The precomps work in this way, any precomp you have in a comp that is labeled with a ! will have any target layers in that precomp replaced with appropriate data from the spreadsheet. It will not let you replace a layer with a precomp and then process it... you can either have a layer as a replace layer (which can be replaced with a precomp but layers inside it wont be processed) or a precomp to be processed, but the precomp already needs to be in the main comp. This sounds like a good feature to be added, but unfortunately it currently does not work this way
Mike
Are you saying your tab delimeted text file has Test Data "123" for Comps as the data and when you run
compsFromSpreadsheet it fills in the text field as "Test Data "123" for Comps" or are you saying you have a field in a spreadsheet Test Data "123" for Comps the spreadsheet program changes it to "Test Data "123" for Comps" when you convert it to a tab delimeted file?
If its the former, send me your text file and I'll see whats going on; if its the latter than it is an issue with the spreadsheet program.
This can be done easily using a column from your spreadsheet. Make a column in your spreadsheet named "comp name" (you can name it anything you like) to hold the names of each composition.
Then when you get to the field init window theres a section labeled "new composition name". If you click on the dropdown you will see at the bottom of the dropdown "FROM SPREADSHEET | comp name" ( or whatever you named the column to hold comp names). Choose this and it will name the comps based on the entry in this column.
Let me know if this helps or if I missed the mark
Cheers,
Anna
It will always make a copy of the comp. To make things neater, you could run the script, when finished select the new comp, and choose File->dependencies->reduce project, which will delete everything unused in the selected comp (which would include your original and any precomps that were modified). Not the best workaround but you would end up with essentially your original comp updated.
would you mind opening a support ticket and uploading your ae file and spreadsheet...no need to upload any assets, just the ae file and your spreadsheet, I'll take a look and see what your trying to do and if I can help.
Thank You,
Mike
Unfortunately, that is the way the script works. Every row of your spreadsheet will create a new comp duplicated from the comp named in the comp column for that row. Just curious, what do you mean when you say positioning is crucial, do you mean the position of the comp in the project file?
In the main composition, you just need to change the layer name of any comps you want updated to begin with a !
so if you have a comp with a precomp named "subcomp" just change the layer name to !subcomp and it will be processed.
The default output module is set by the application. If you go to Edit->Templates->Output Module...
then change the Movie Default dropdown to quicktime (if a quicktime template is not in the dropdown you need to create one in the bottom portion of that window)