Copy link to clipboard
I've never had this happen before and don't know how to fix it. I had my layers all neatly organized in folders. Been working on this project for a couple of weeks with no issues. Suddenly tonight, it took OUT my folders and instead, added a new layer at the top called __layerObjectOrdering - that has a script in the first frame.
Additionally, most of the layers I had were duplicated - one called "name_prop_ " followed by its mate, "name_obj_"
I get compile errors now and although it DOES still play, there are a few errors here and there that weren't there before. Inconsistent stuff. Here's a screenshot of what my layers panel looks like now (top) - the bottom screenshot is the beginning of the script that's been placed in the first frame of the program-generated __layerObjectOrdering layer:
Here's a list of the compile errors I'm getting:
Symbol 'shine', Layer '___layerObjectsOrdering___', Frame 1, Line 6, Column 7 1151: A conflict exists with definition CAMERA in namespace internal.
Symbol 'shine', Layer '___layerObjectsOrdering___', Frame 1, Line 7, Column 7 1151: A conflict exists with definition LAYER_PROPERTIES in namespace internal.
Symbol 'shine', Layer '___layerObjectsOrdering___', Frame 1, Line 8, Column 7 1151: A conflict exists with definition LAYER_OBJECT in namespace internal.
Symbol 'shine', Layer '___layerObjectsOrdering___', Frame 1, Line 11, Column 10 1021: Duplicate function definition.
Symbol 'shine', Layer '___layerObjectsOrdering___', Frame 1, Line 20, Column 10 1021: Duplicate function definition.
C:\Program Files\Adobe\Adobe Animate 2021\Common\Configuration\Camera\Flash\privatePkg\___LayerProp___.as, Line 1, Column 1 5000: The class 'privatePkg.___LayerProp___' must subclass 'flash.display.MovieClip' since it is linked to a library symbol of that type.
Would appreciate any help. I thought maybe it was just a "you need to reboot me" thing. But I tried that, and unfortunately, the file opened up exactly this same way.
Copy link to clipboard
if you didn't lose anything, just delete the extranseous stuff.
and learn to save your fla with increasing version number appended so you can avoid this and even worse problems.
I'm not sure I would know what to delete. That top layer for sure. But then, with the exception of the layers that had either actions or audio on them, everything else has been duplicated. I don't know whether I should delete the "_prop_" layers or the "_obj_" ones. Also, all now have a keyframe in frame 1, despite the fact that many don't start until much farther in the program. Do I delete all of those frame1 keyframes that were added? The ones that weren't there before?
Is there a setting to automatically save version numbers? I definitely wish I had done that.
I was hoping maybe this was a button I accidently pushed that I could easily "unpush" or something. Sounds like this is a bug?
Copy link to clipboard
I believe this to be a crack in the shell and a little peek into the so called "Advanced Layers" internals - the unfortunate implementation which has made Animate slow, unreliable and very unpleasant to use.
The tearing of the hidden wrapping exposes the doubling of everything and should explain the awful performance issues, plaguing the program since v.18-19.
To avoid this from happening again, my suggestion is to always turn Advanced Layers OFF and use SMR instead of Layer Parenting or any of the other new features.
How do I turn Advanced Layers off? And the versioning thing on?
I don't really know what you mean by the new features. Animate is just one of many programs I use and I can go months between projects so although I can usually get it to do what I want it to do, it's not really ingrained. I'm a little lost.
Most importantly, though, how do I know how to fix this? What to delete and what to keep? It's a pretty involved project - hundreds of hours have gone into it so far.
Advanced layers are turned OFF via the Modify > Document... menu.
You can make this default.
By turning them off, you will lose Layer Parenting, Camera and filters for Graphic Symbols - all new features relying on this double wrapping.
Incremental saves are done by using File > Save As... a few times a day and adding a suffix to your file name, such as _01, _02 and so on.
You also must maintain at least two external backup copies of all your work to prevent data loss (nightly backups).
One of these must be on a device that is not connected to anything apart from during data transfer (air gap).
How to rescue your current FLA in the absence of a backup?
Save a copy of this file under a new name.
Slowly investigate the content of duplicated layers, layer by layer, symbol by symbol, and remove half of them. Rename the rest.
Save frequently as you go and test.
It will be a process of examination and elimination until you manage to recover everything that is salvageable.
Learn from the awful experience.
I'm sure you have heard people talk about backups countless numbers of times.
Actually, I have a published book - on telehealth for mental health professionals, not graphic design or animation - but in it, I talk about the importance of backups and said pretty much what you did above. So yeah. I know and understand the issues. But doing them - not so much. I have one copy on my harddrive and one in Dropbox. But I had only saved one previous version and that was too far back to be much help at all.
I did turn off the Advanced Layers (from a renamed file). That changed my compile errors and it PLAYS ok. I just tried exporting it and the biggest issue I saw was that a couple of the bitmaps weren't crisp. That's probably just a separate issue about not knowing the best way to optimize bitmaps for export. So it's all there - but I can't scrub the timeline - can't click "play" and have it play the timeline. I'm not sure how I can finish it without having access to those abilities.
I'm considering trying to work with it as is if I could figure out a way to scrub or play it. Because just thinking about it logically, I NEED both each object and its properties. It's just that before, information on both of those things were stored internally in the program - and now it looks like they've been split out into two layers - presumably with each holding part of the information. I'm even thinking maybe I need to keep that top layer of script. I'll play with it tomorrow - the trial and error thing. Any ideas about how I might be able to get it to play the timeline?
Maybe I could also copy it layer at a time to a new file - and not use folders. But I've got to figure out what will copy and what won't first.
Thanks for your help. It's a mess - but it does help some to KNOW it's a bug and not just something I was doing wrong.
Not playing while you scrub could be an indicator that the instances on the timeline were converted to Movie Clips and not Graphic Symbols.
Click on some of the keyframes and check the instance type in Properties. It should say Graphic.
If not, change it to Graphic.
You need to do this for every keyframe. You can do it using Edit Multiple Frames. (I'd do it layer by layer, locking and hiding everything else and checking and saving after each pass).
I really wish you to be able to salvage your work and not waste too much time while doing it.
It would take some time to research what automated solutions are available, and it takes some time to organise your folders and set things up the way you want them, but after that it becomes very easy and only a matter of habit to do the incremental saves, and manually connect and run the air gapped backups.
(On top of two nightly backups - one automatic and one air gapped, I also run a weekly backup on a separate air gapped device + occasional full copy of everything on another one. All in all I try to always have 5 copies of everything and have not lost work since 1996.)
You can attach a simple rule to an existing habit:
Never go to bed without brushing your teeth > Never brush your teeth without running the backup first 🙂
Well heck, you're RIGHT! Remember how I said that it had added a keyframe to frame 1 of EACH layer, despite the fact that very few layers were supposed to have any content at all in layer 1? Each one of those added keyframes is a $^#*^@!^^ movie clip! I haven't had time to research it further - I've been tied up this morning. But I'm eager to dig into this and see if I can unravel the mess and come up with a fix.
What's protocol here - if I have other questions as I try to untangle, should I post them here or start a new thread? Seems like it all needs to be in one place but I'm not sure that's possible once I select a correct answer?
If those Movie Clips contain your stuff inside with your structure intact, you may be able to remove the wrapper by using Break Apart Symbol to Layers.
1. Lock and hide everything except that one layer - Alt-click on the padlock and eye icons in timeline
2. Select the symbol on frame 1 and right-click on it. From the context menu choose:
If it works, do this layer by layer.
Just save copies of the file as you experiment and keep them until all is fixed.
From what I've seen here, the threads don't get locked once a 'correct' answer is selected.
It will be up to you to decide whether the future questions belong logically to the same thread or not.
Awesome! I'll try that! I've been going non-stop today. Am in a Zoom meeting now waiting for the other person to show up, which is the only reason I have time to post. But I'm actually DYING to get into this. It's a challenge! Disappointed that I'm not going to launch this when I had hoped but will probably learn a lot more about Animate by going through this process. Wouldn't want to wish it on anyone, though. YES to backups and versioning!
Good luck, mate!
If you get stuck, post here again or PM me.
At this stage it seems that the chances of recovering your work are quite high.
Soooooo . . . here's what I've discovered so far:
One of the things this bug seems to have done is to convert pretty much everything to movie clips. Things I had set as blank keyframes now have movie clips in them; things that were bitmaps or graphic symbols are now movie clips. Makes no difference whether the original item had any animation applied to it or not - it's now a movie clip. I did these steps:
1. Converted all of the frame1 movie clips to graphic symbols
2. The original had an introduction on the bottom handful of layers - say 10 - that extended until frame 266. None of the layers above layer 10 had anything until frame 266. So I moved the frame1 mcs from all layers above 10 to frame 266. My goal was to see if I could just get the intro to play/scrub (since there was now nothing above it.)
Results weren't ideal. I can see SOME stuff now when I scrub the introduction but it doesn't sync with the timeline. For example, I'll see keyframes in my timeline where a certain object is supposed to go across the stage but nothing happens. Then - a bunch of frame later, that object will finally go speeding across the stage.
Also, the swf is no longer publishing accurately.
I haven't tried the Break Apart Symbols to Layers yet because I was afraid I'd get overwhelmed with all of those layers. This piece had around 100 layers to begin with - and the bug doubled that amount. But I'm holding the Break Apart Symbols to Layers in my back pocket as something else to try.
As I tinker with it, I find more and more and MORE movie clips. They're embedded in places I would never have thought I needed to drill down into. Each time I find one and covert it to a graphic symbol, I see a teeny bit of improvement. Is there a way to find ALL movie clips in a piece and change them? Even if I have to change them one by one, if I just knew I had FOUND all of them, that would help.
I'm also wondering if there's a way to copy elements from one fla file to another. In other words, maybe I can/should start from scratch and build this again. I'm not even sure how to conceptualize how to do that. For sure, I'd need to be able to have access to the same library. I've tried Googling that and it seems confusing. What I'd like to do is just create a brand new project with this same library. If there is, maybe I can use the original to show me which keyframe everything is supposed to be on and just begin again?
However, I think I'd need to clean it up first. My library now has several pages that look like this - a whole bunch of components - none of which I created - they're all products of the bug:
Or . . . other ideas?
What are "components" anyway? Aren't those like buttons and things we used to attach script to in Flash? I have NONE of those. This was to be an mp4. When I try to view the components in the Library, there's nothing to see so I'm guessing it's like when Animate creates tweens for you? Maybe when it turned everything into movie clips, graphic symbols that DID have animation got turned into blank components?
To start this reply I will quote my first message, which says it all, but somehow seems to have been lost:
"I believe this to be a crack in the shell and a little peek into the so called "Advanced Layers" internals - the unfortunate implementation which has made Animate slow, unreliable and very unpleasant to use.
The tearing of the hidden wrapping exposes the doubling of everything and should explain the awful performance issues, plaguing the program since v.18-19."
The key here is Advanced Layers which was bragged about as a revolutionary development in AA 2018-2019 and converts layers to Movie Clips internally.
The idea and the implementation are awful and have crippled Animate for years, leading to loss of performance and stability, but also to the development of an unreliable new feature set, which will plague the program forever, because of compatibility issues created by these implementations.
(IMO with this the devs shot themselves in the foot, destroyed Flash and created a never ending source of problems, bugs and complications.)
For the sake of clarity of terminology I'd call what you have experienced a glitch, rather than a bug. The distinction being that it seems to be very rare and difficult to reproduce; while exposing the clumsy hidden file structure of an "Advanced" Layers FLA file.
You should be able to copy from one document and paste into another whole layers, a block of frames or symbols.
Transfer of assets has always been a feature of Flash.
It seems to me that you are on the right path.
If you can convert your animation to video and use this video as underlay, you may be able to recreate the timing accurately.
Or you may be able to track all movie clips and switch them to graphics.
I had never heard of Advanced Layers and didn't realize I was using them. The thing that bothers me MOST about all of this is that I have no clue what I did that caused this to happen. It was fine and then it wasn't. I've been reading a bit about what Advanced Layers are/were supposed to do and the only thing I saw that I might have been doing was that I was using frame properties and object properties indiscrimantly. I didn't know the difference between the two so if I needed to change the alpha, sometimes I'd put it on the object, sometimes the frame.
There was ONE time - maybe within about half an hour of when it crashed - that I saw something about a "camera." I had no idea what that was or how I had triggered it. I found a way to turn it off and did. But aside from those two things, I'm not aware I was using any of the new tools.
I'm leaning toward just starting fresh - with the Advanced Layers turned off. Your idea of using the video as an underlay is an excellent idea.
The thing that feels hardest to me is that I'm going to have to do a lot of research to figure out how to do all of this. Even though, conceptually, I get how much help it could be to have the video underlay, I have no idea how to do it, so that will take me a bit to figure out. And also, I've never tried to transfer Flash assets before. I'm relieved to know that that's POSSIBLE . . . but so much work ahead to just learn all of this.
Anyway - whether we call it a bug or a glitch, I sure wish Adobe would fix it. I don't care how rare it is - the end result is pretty catastrophic. Although maybe that's overstated. It DID preserve most everything - hopefully when I transfer it it won't be bringing the problems along with it. However, I'm thinking it sort of will. Like - for example - WITHIN each of my graphic symbols, everything has also been changed to movie clips. It's all got to be changed.
I'm very sorry that you have to go through all of this.
If you like, ZIP the original corrupt FLA, upload it to google drive and send me a link in a PM to have a look at it.
There is no guarantee that I will be able to help, but I might be able to figure out something.
I would LOVE that! Thanks! I'll go do it now. The introduction (first 266 frames, presumably) was done by a previous developer. There's some funky stuff in there but it works. I did the rest. Probably some funky stuff in there, too, actually, but maybe not AS funky. 🙂
Thanks to Nick, I'm back in business! I'm going to post additional questions here since some of them are probably going to be related to the original issue. For example, when I first started working on the file Nick helped me with, the Output window would open telling me things related to the bug/glitch. I knew I could ignore them but it was annoying. I found a way to suppress the messages, but it still switches over to a blank Output window whenever I do much of anything - which means it's STILL annoying. Any ideas on how to stop the Output window from opening?
Second issue - I doubt this has anything to do with the bug/glitch - just something I need help with: some of the bitmaps (pngs) I've imported look fine when I export it to an mp4. But others are horribly pixilated. I can't tell that it has anything to do with the original image. I tend to use large, high-quality vector images as much as I can. Some things are screenshots. Ironically, SOME of those look fine, others get pixilated. I haven't figured out the difference. What's the best way to prevent the pixelation on export. It all looks fine in the swf - even at full screen.
Thanks so much for the help. This forum rocks. 🙂
If you're on Windows, just use Swivel for the MP4 conversion and all PNGs should be fine 🙂
I have never HEARD of Swivel! Had no idea there was any way outside of Animate to get an MP4 out of a swf! I'll check it out, thanks! I still have a ways to go with the animation, but I'm getting there!