CompsFromSpreadsheet 4
  • Do you customize scripts?  If so, what is the turn around time?
  • Hi Fidel

    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.

  • What is your email address?  I don't want the parameters on a comment board.  Or you can email me.
  • 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?

    Cheers,
    Mathias
  • Hi again,
    ok, I found the solution (the <br> tag) in your documentation.
    Thanks a lot!
    Mathias
  • 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. 
  • Hey Christopher,

    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.
  • Hi guys,

    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.

    All the best,
    Arran
  • 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:/

    Any thoughts would be helpful!!
  • There is no trick it should maintain justification (unless you have multiple justifications within the same text layer). 

    What version of After Effects are you running?  I will look into it.


  • hello,

    is it possible to have the following with this script:

    we need to put 696 videos together.

    INTRO (5sec)  /  VIDEO (all different length) / OUTRO (5sec)

    I am concerned about the different length of the output clips.
    would it be possible ?

    kind regards
    maxim
  • we need to put 696 videos together.

    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.
  • Will this script work with sequences?
    When comping I never use movie files.

    Trev
  • Hey Trev,

    yes, the script works with sequences.
  • we need to put 696 videos together.

    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?
    this could be so powerfull tool. wow.

  • 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 Trev,

    yes, the script works with sequences.

    How then do you call them in the spreadsheet?


  • 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.


  • How then do you call them in the spreadsheet?

    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.
  • Thank you for your responses.

    Yes, I figured that was the case.
    That makes for extra steps of using Immigration to import the swag loads of sequences associated with what I am doing first.
    Then transferring the names to the spread sheet.

    It really isn't any more helpful in that case that just using Immigration to just update the files from the previous version.

    Trev

  • 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.

    Thanks, Michael. I suspected as much. 
  • Hi Michael,

    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.

    Are you able to see what I am doing incorrectly?


    Thanks
    Trev


  • Hey Trev,

    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
  • Hi Michael,


    Scratch that last post.
    I have worked it out.

    There need only be the main comp with the !preComps as they already have their update requests built in.
    The penny it has dropped!

    Thanks
    Trev
  • 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.
    Any sugguestions?
    thanks
    Terri
  • Hi Terri,

    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
  • 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:

    comp("!CAR TEXT").layer("^feature2").text.sourceText

    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?
  • Joseph,

    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.
  • Hello,
    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...
  • Hello,
    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.

    Let me know if this helps or if I missed the mark
  • 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.
    Thank you!
  • Hi,

    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.  

    Thanks in advance for your help!

    Cheers,
    Anna
  • 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.
  • Michael,

    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.

    Thanks,
    Ashley
  • Hi Ashley,

    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
  • Hello Michael,
    Nice script.
    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.

    Any ideas?
  • 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?
  • Good afternoon, 
    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. 

    Thank you very much. 
  • Hey Juan,

    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.
  • Hi Michel! 
    Thank you very much! It's perfect!!! :)
  • Hi Michael,

     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.
  • Hey Juan

    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)
    screen.jpg
    1128 x 700 - 264K
This discussion has been closed.
All Discussions