Copy link to clipboard
Copied
First, i'm not posting this in any bug area because I can't find it. What the hell adobe? But if someone actually wants to fix their software, they'll look into it.
How to mess things up:
Create a layer with an expression tied to a layer, lets name the layer "Blue 42"
In my case, the expression was this:
thisComp.layer("Blue 42").content("Rectangle 1").content("Rectangle Path 1").size
Create a few other layers, just in case that makes a difference.
Now copy all of the layers.
Paste them into another composition.
Your layer blue 42 is now blue 43? But the expression stays attached to blue 42.
So this is double wrong, in my opinion. If there is no blue42 in the new composition, the number shouldn't increase. Also, if a name is associated with an expression, in the past the expression has updated.
To avoid this problem, remove the numbers. It only increments if you have a number at the end. But it breaks your expression, and it also didn't give me an error, which I thought was odd. I no longer have the layer it's pointing to. Shouldn't it throw an error at me?
Bug reporting is right here: Feature Request/Bug Report Form - adobe.com. Any internet search should find it.
If you copy multiple layers and you paste them in a new comp the layer names will not change. If you copy a layer that has not been renamed so the Source Name and the Layer Name are the same, you can paste it as many times as you like and a number will not be added.
There are three options for copying expressions. Copy with Relative Property Links, Copy with Property Links and Copy e
...Copy link to clipboard
Copied
I'm not sure how you tried to find the feedback site, but a quick Google search of "adobe after effects report bug" will show a form at the top for you to choose any Adobe app to file a bug or feature on. An even faster way is directly from within After Effects.
Help > Provide Feedback takes you right to the UserVoice site for After Effects: https://adobe-video.uservoice.com/forums/911311-after-effects
As for your actual issue I tried the same thing and didn't see Blue 42 increment.
The layer names were retained and the expression worked as expected.
Can you post a screen recording showing the issue? Also, which version (exact version, please, not just the year) of AE are you using?
Copy link to clipboard
Copied
Perhaps that's why it isn't obvious. There's nowhere there that is obvious for Reporting a Bug. That's where I went. And google brought me to the same location.
You first have to give a title, then search, providing it doesn't exist, give it as an "idea?"
One of the ideas there is actually, to give a proper bug reporting tool. lol
The useability here is terrible. Adobe should be better at that.
I'll have to tweak some things to provide a screen recording, but may not get to it till tomorrow.
Copy link to clipboard
Copied
The project is finished, so finally had a chance to open up the old project to replicate it on video.
AE version 17.0.1 (build 52)
I was going back and forth trying different combinations of numbers and no numbers. One time, I think after hitting undo but then renaming the layer, I broke the link between the expression and the layer it points to. But then I hit undo, changed it again, and it was fine. And of Course I can't repeat that. I've tried every combination I could think of.
One odd thing about this file though, the original started a couple years back on whatever version of AE that was. And they've changed the expression system. So this may just be a fairly isolated issue.
Copy link to clipboard
Copied
It's hard to tell from the screen recording no key presses were recorded, but it looks like you copied the two layers, then pasted them above 'mattress Outline', right? If so, then nothing in that screen recording seems odd to me. Just because you select two layers with one referencing the other and duplicate them doesn't mean that the expression should update. That could wreak havoc in a project. You want the original link maintained.
If you rename "mattress Blue 43" (layer index 32) then the expression in "mattress Outline 2" (layer index 29) should update.
Is this not what's happening?
Also, you can go into your comp settings and switch back to the Legacy ExtendScript enginge, but that shouldn't change anything, and the JavaScript one is more modern and faster.
Copy link to clipboard
Copied
fair enough, not a bug then. And it makes sense that if you copy something with an expression you may not want the expression to change. But I can't think of a reason you would be copying/duplicating a layer with an expression And the layer(s) it references without wanting those updated. In Excel (yes, I know, terrible reference but it applies), if you copy a cel that references another, then paste it. That cell will reference the original cell. But if you copy Both cells, and paste them, it now updates the reference to include the pasted cell. As far as user experiences go, that is likely more obvious to the majority of users. Why would you be including the original reference otherwise? The same would go for duplicating. In my opinion, if you select a layer that references another and duplicate it, no change should happen. But if you select Both layers, the expression should update with the newly duplicated layer name, created a new reference. So not a bug, sure, but I think they made the wrong choice.
Is there a way I could be writing an expression like that in a way that it Would update? If I keep the layers together I could use layer index to handle it, but I don't like doing that because it is very easy to accidentally break. And I often have to share files with others I work with, or open up the same file 2 years later and make an update (that's what happened here).
Copy link to clipboard
Copied
I'd argue that this isn't a wrong choice, it's just a specific use case you want that isn't happening. The relationship between the two layers is defined by a single line of code, and I don't want After Effects making a decision for me without me being aware of it. In Excel there are many more things going on under the hood with regard to cells' relationships with each other, but I do get your point. The question for software developers is always "what does the user expect to happen, what will happen, and how do we account for all the different use cases the user isn't expecting. If the default behavior worked the way you're suggesting, then how do I make it not work that way? Do you get a popup dialog asking every time if you want to change the relationship? That would be annoying to accept or dismiss every time you duplicate some layers.
So to that end, yes, there is a way to write the expression to do what you want and make that relationship relative, rather than hard coded. As you mentioned, `index` is one of them, but I'm also not a big fan of using `index` for things like this because of the fragile relationship, but what about parenting?
If you parent one layer to the other will it break some animation? If not, then you can parent the mattress outline to the mattress and replace the hard coded layer reference with 'parent.content("Rectangle 1").content("Rectangle Path").size`
Another option, which gets more complicated, is to change your naming conventions and have your expression parse the layer name and search for a commong string, set that as a variable, then plug that variable into your expression. I.e. give them both the same number at the end, have the expression check for a layer named "mattress blue [same number that outline layer has]", but even that would require renaming the layers. It's really a matter of what you're trying to accomplish (project-wise, not just the fact that you want to duplicate some layers) and figuring out which makes the most sense, and what level of effort a task like this requrires.
Copy link to clipboard
Copied
I understand the ideas behind making sure your user experience matches the user's expectations and having to make sure to also allow for exceptions. And no, no one will want a popup every time. I was just stating that I couldn't think of a reason you would select a layer And the layer it is referencing for duplicating, and Not keep the reference intact.
Also the parent option is good. I hadn't thought of that, becuase I've never seen it before. And no, there's no reason they can't be parented. In fact, it Might be parented already. I had to have two layers for that, one for a rectangle fill and one for a rectangle outline. I needed to change the color of the mattress with a fill Effect, so they had to be two objects. So the expression is just parenting the one value really. That was faster and easier than doing expressions on each fill. And it's easier to update on all 12 versions of the animation. Just change the effect. But changing the expression IN the shape is a bit more time consuming.
Copy link to clipboard
Copied
Gotcha. One other option you have, which may or may not work for what you're doing, is to merge the mattress and outline into a single shape layer. This would allow you to then reference the shape group more directly and duplicate the one layer as many times as you want.
Referencing shape groups in expressions is more complicated than referening other layers, but once you figure out which group you want there should be a pretty solid relationship, as long as you don't add or remove groups from within the layer. This Creative COW thread has a bit of an explanation: https://forums.creativecow.net/docs/forums/post.php?forumid=227&postid=25458&univpostid=25458&pview=...
Copy link to clipboard
Copied
AE has always behaved in a similar way and auto-incremented the numbers when a new source item is created. Nothing wrong here. That's why I always considered it bad practice (or downright stupid, if you will, no offense) to not explicitly rename layers when dealing with expressions. The only thing that's really conspicuous is that indded it should throw a warning right as the expression breaks, but these days with AE's botched caching and über-convoluted ways of dealing with item relationships by ways of hacky functions, master properties and plugged on changes to ther render pipeline anything is possible. it seems more than obvious that it may not be able to detect state changes reliably, given what a mess it is...
Mylenium
Copy link to clipboard
Copied
That's not true. AE did not previously incremented numbers that don't exist in your composition. It only did that if you duplicated or pasted a layer in a composition that already had that number.
If you cut a layer that is numbered, and paste it just to reorganize, it doesn't rename the layer. I just tried it on a layer named "48 3" and sure enough it's still pasted as 48 3. And pasting a layer with a number into a new composition usually doesn't cause it to be renamed. Something is amuck.
Also, saying no offense when calling someone stupid shows a lack of social intelligence. Maybe just leave those types of comments unwritten in the future, as they don't add to the value.
Copy link to clipboard
Copied
Bug reporting is right here: Feature Request/Bug Report Form - adobe.com. Any internet search should find it.
If you copy multiple layers and you paste them in a new comp the layer names will not change. If you copy a layer that has not been renamed so the Source Name and the Layer Name are the same, you can paste it as many times as you like and a number will not be added.
There are three options for copying expressions. Copy with Relative Property Links, Copy with Property Links and Copy expression only. They have 3 different behaviors.
I cannot replicate your problem in any way. Copying and pasting layers and/or expressions work exactly as expected. If you rename a layer the expression is also edited at the same time so renaming layers will not break expressions. You can also use a number instead of the layer name to point the expression to layer 5 no matter what that layer name is. You can also use index - 1 or index + 1 to point to the layer above or below instead of the layer name.
Copy link to clipboard
Copied
Thanks Rick. Although, funny thing is that's Not the first internet result, And it's a different option than the "adobe community professional" mentioned. It Is nice to be able to flag something as a bug instead of just submitting it to them through there because they Rarely respond in any way. I've used that one in the past. I think there used to be a link to it in the help menu.
Anyway, I'll have to go back to my previous version and do a video screengrab to show the issue. Unfortunately it's the worst kind of bug...the kind that only happens Sometimes under unknown circumstances.
Yes, this is Usually the behavior. But it's not what was happening. It could be because this file originated a year ago, so was either 2018 or 2019 AE. It probably has something to do with how AE holds on to autoincremented numbers. I think I had used an autoincremented number and it Happened to be the correct name, so I must not have changed it explicitly. I'm moving to changing names to not end in numbers just to avoid any mistakes in the future. But there's no reason to know that until you've experienced an error, or you're taught about it.
I AM a little confused at your first statement about copying a layer as many times as you want without numbers being added. I'm trying to replicate what I thought you meant, but I don't think I'm understanding. Duplicating or copying a layer that I've named always adds a number unless I'm copying in a new place where the name doesn't already exist.
If I create a solid named black, and rename it "test" then copy that. Now in a new cop and create a null, name it test. Now paste and your solid should be named "test 2"
The issue I was having was that even though the layer didn't exist, it was still being renamed. Not only that, but the expression attached to it was not updated. I'll have to screen record that. But that will have to wait until the project is complete.
Copy link to clipboard
Copied
When I Google "adobe after effects report bug" the link Rick posted is, in fact, the first one that comes up. And no, it's not the same one I posted because that is the old wish form that (as you said) used to be linked to from inside After Effects. If you choose "After Effects" from the dropdown on that page it takes to to the new UserVoice page which is what I posted in my inital reply, I was saving you a step.
The old bug reporter gave no impression that anyone from Adobe heard us, but the new UserVoice site, while not the best feedback site I've ever used, does allow you to see other requests, as well as get feedback from the After Effects team. It would be better if there were a clear separatation of feature requests and bugs, but this is what we have.
Copy link to clipboard
Copied
I agree with you there, and your last sentence is why I left and tried to find where you are supposed to submit a bug.
On UserVoice you put a title, then pick from a few options, which are:
Animation
Compositing & effects
General
Performance
Stability
User experience/interface
Workfow & interoperability.
Well which of those would be flagged as a bug? It's not that I didn't google it. The first thing I Did was go to that site, but then though....."no, this can't be where you would submit a bug. That would be a terrible user experience." But alas, this is Adobe we're talking about, who can't even decide on how to scale things consistently through their different software. I guess they opted for the bad experience, again.
I've used that site a few times before, and I've found the community to be much more responsive here. I posted about a dual graphics card bug there, and the response I got was, "Don't use more than one graphics card." No joke. Rather than saying, "yes, this seems to be a bug. Until it's fixed here's how you disable your graphics cards prior to starting AE or Premiere" they just told me not to use more than one graphics card. They ended up just quietly fixed the bug.
Copy link to clipboard
Copied
Yeah, I hear you. This is an annoying issue of using another service provider to manage things for you. Heck, when these new forums launched a few months ago that was a pretty messy affair. They're certainly better now, but while the old forums were really not that great, there are still some things they did better. I added my vote to the request to split the UserVoice site into sections, or at least have some easier way of defining what a bug is.
As for the graphics card issue, don't forget that this is a user-to-user community, so while Adobe support does occasionally chime in here, the best users can offer is a workaround so you can hopefully keep working on your projects. And if it was an Adobe employee that gave the response then quite frankly that's what the answer was. Bugs are a fact of software development, especially in programs of this scale and age. While some pieces of software (Cinema 4D comes to mind immediately) have reputations for rock solid architecture, I know the Premiere and After Effects teams have doubled down their focus on quality over the last year. Premiere has never been more stable for me than the 2020 version, and I no longer thing "ok, how much time can I work for before it crashes." There's plenty of room for performance improvements on both fronts, but juggling all the competing priorities is no easy task.
Find more inspiration, events, and resources on the new Adobe Community
Explore Now