Randomise Layer Stacking Order in AE CS3

Hi,
I am working on a file with over 100 layers and wondered if anyone knew how to randomise layer stacking order?
I have seen a plugin that can do it but it costs over $100!
I cant believe that Adobe would not include this as a standard function within After Effects, seems like it would be really useful to alot of people!
Anyway, if anybody knows of either a way i can do this or a free plug in that can do this it would be much appreciated!
Thanks!
J

As Jonas mentioned, the KindaSorta script from Jeff Almasol does what you're looking for. A link to this script appears in the
"Change the stacking order for selected layers" section of After Effects CS3 Help on the Web.
In fact, many dozens of scripts from Jeff are linked to from the pages of After Effects CS3 Help on the Web.
Try this Google search:
almasol site:livedocs.adobe.com
You'll find a wealth of great material from our scripting master.

Similar Messages

  • Premiere CC 2014 - Copy/pasting effects doesn't maintain stacking order

    For as long as I can remember Premiere doesn't seem to honour/maintain the stacking order of effects when you copy them from one clip to another. This is an absolutely huge issue as most people perfect their video/audio effects on a sample clip and then copy to the others. But what is the point of that process if the copy/paste command rearranges the stack order of the effects!
    For example I generally use Dynamics, EQ and Volume effects on my audio to add some compression and level out my audio. The levels that the Dynamics is taking as 'input' is very important so EQ and Volume effects are most often stacked on after the results from the Dynamics has been spat out. Yet, when I copy/paste my perfected order and settings, Dynamics always drops to the bottom of the stack which produces a vastly different audio result.
    I then need to individually move the Dynamics effect back up the stack on every single clip that I've pasted my settings to. This is a really horrible bug/oversight. While on the topic of bugs, when you add 'Volume' effect to a custom favourites bin, it seems to not be able to be applied from here on subsequent restarts of Premiere.
    Or am I missing something in the copy/paste process regarding maintaining the effects stack???
    Lance

    Thanks Mark!
    I was selecting the individual effects from the clip within the 'Effect Controls' panel and then using the old CMD+C then CMD+V method to copy paste. This does indeed corrupt the stack order.
    Selecting 'Copy' from the right-click menu when clicking on a clip, and then subsequently using the 'Paste Attributes' option from the right-click menu when pasting on a clip/s does maintain stack order, so thank you for this information.
    I would assume that the first method would seem the intuitive option for most people, so it would be great to see the layer stack order maintained regardless of which method you use to copy/paste effects.
    Thanks again.
    Lance

  • Stacking order problem

    my home page create flash animation right side, left side postioned naviation. The file is opened in chrome submenu below the flash animation. safari is working well. how can front to my subnavigation menu.
    Any body know how ca do this please send that particular code to me. i am apply spry menu where i put changes code is given below for references
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"><!-- InstanceBegin template="/Templates/art-template2.dwt" codeOutsideHTMLIsLocked="false" -->
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <!-- InstanceBeginEditable name="doctitle" -->
    <title>::index::</title>
    <!-- InstanceEndEditable -->
    <style type="text/css">
    <!--
    body,td,th {
         font-family: Arial, Helvetica, sans-serif;
         font-size: 10px;
    #top_half {
         margin: 0;
         height: auto;
         width: 100%;
         border-bottom: 1px solid #bbb1a7;
         background-color: #222;
    body {
         margin-left: 0px;
         margin-top: 0px;
         margin-right: 0px;
         margin-bottom: 0px;
         background-image: url(BackGround_Image.png);
         background-repeat: repeat;
    .dropshadow {
    -moz-box-shadow: 3px 3px 4px #999; /* Firefox */
    -webkit-box-shadow: 3px 3px 4px #999; /* Safari/Chrome */
    box-shadow: 3px 3px 4px #999; /* Opera and other CSS3 supporting browsers */
    -ms-filter: "progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=135, Color='#999999')";/* IE 8 */
    : progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=135, Color='#999999');/* IE 5.5 - 7 */ 
    -->
    </style>
    <script src="SpryAssets/SpryMenuBar.js" type="text/javascript"></script>
    <link href="SpryAssets/SpryMenuBarVertical.css" rel="stylesheet" type="text/css" />
    <style type="text/css">
    <!--
    .style2 {
         font-size: 9px;
         color: #CCCCCC;
    .style3 {
         color: #000000
    a.pagelink:link     { color: #FFFFFF; text-decoration: none }
    a.pagelink:visited     {
         color: #FF0000;
         text-decoration: none
    a.pagelink:active     { color: #CCFFCC; text-decoration: none }
    a.pagelink:hover     {
         color: #FF0000;
         text-decoration: none
    a.pagelink2:link     { color: #FFFFFF; text-decoration: none }
    a.pagelink2:visited     {
         color: #FFFFFF;
         text-decoration: none
    a.pagelink2:active     {
         color: #FFFFFF;
         text-decoration: none
    a.pagelink2:hover     {
         color: #FF0000;
         text-decoration: none
    .style5 {color: #FFFFFF}
    .style6 {font-size: 11px}
    .style7 {
         color: #FFFFFF;
         font-size: 11px;
         font-weight: bold;
    -->
    </style>
    <!-- InstanceBeginEditable name="head" -->
    <style type="text/css">
    <!--
    .style8 {font-style: italic}
    -->
    </style>
    <!-- InstanceEndEditable -->
    </head>
    <body>
    <table width="900" border="0" align="center" cellpadding="0" cellspacing="0">
      <tr>
        <td><table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td bgcolor="#FFFFFF"><img src="down.jpg" alt="" width="900" height="10" /></td>
            </tr>
          <tr>
            <td bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
              <tr>
                <td width="2%"></td>
                <td width="35%" valign="bottom"><img src="fa-logo.jpg" width="180" height="90" /></td>
                <td width="39%">&nbsp;</td>
                <td width="24%" align="right" valign="bottom"><div align="right"><img src="pic-web/92913275.jpg" width="115" height="97" /></div></td>
              </tr>
              <tr>
                <td colspan="4"></td>
                </tr>
              </table></td>
            </tr>
          <tr>
            <td bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
              <tr>
                <td colspan="4" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0">
                  <tr bgcolor="#000000">
                    <td width="2%" height="27"><img src="pic-gallery/spacer.gif" width="20" height="20" /></td>
                    <td width="96%"><marquee scrwidth="100%" scrollamount="3" onmouseover="this.stop();" onmouseout="this.start();">
                       <span class="style7"> ARTIST LISTS: </span><span class="style6"><a href="artist-name-pic/a/arpana-kaur.html" target="_blank" class="pagelink2">ARPANA CAUR </a> <span class="style5">|</span></span> <span class="style6"><a href="artist-name-pic/b/prabha/b-prabha.html" target="_blank" class="pagelink2"> B.PRABHA </a> <span class="style5">|</span></span> <span class="style6"><a href="artist-name-pic/c/charan-sharma.html" target="_blank" class="pagelink2"> CHARAN SHARMA |</a> <a href="artist-name-pic/f/fn-souza.html" target="_blank" class="pagelink2">F.N. SOUZA</a> </a> <span class="style5">|</span></span> <span class="style6"><a href="artist-name-pic/h/m-f-hussain.html" target="_blank" class="pagelink2"> M.F.HUSSAIN | </a><a href="artist-name-pic/k/k-g-subramanyan.html" target="_blank" class="pagelink2">K.G.SUBRAMANYAN</a> </a> <span class="style5">| </span></span><span class="style6"><a href="artist-name-pic/l/laxman-aelay.html" target="_blank" class="pagelink2">LAXMAN AELAY </a> <span class="style5">| </a></span><a href="artist-name-pic/l/laxman-gound.html" class="pagelink2">LAXMA GOUD</a><a href="artist-name-pic/l/laxman-gound.html" target="_blank" class="pagelink2"> </a> <span class="style5">|</span></span> <span class="style6"><a href="artist-name-pic/p/paresh-maity/paresh-maity.html" target="_blank" class="pagelink2"> PARESH MAITY |</a> <a href="artist-name-pic/s/s-h-raza/s-h-raza.html" target="_blank" class="pagelink2">S.H. RAZA</a></a> <span class="style5">| </span></span><span class="style6"><a href="artist-name-pic/s/satish-gujral/satish-gujral.html" target="_blank" class="pagelink2">SATISH GUJRAL </a><span class="style5">| </span></span><span class="style6"><a href="artist-name-pic/s/seema-kohli/seema-kohli.html" target="_blank" class="pagelink2">SEEMA KOHLI | </a><a href="artist-name-pic/s/sheik-shahjahan/sheik-shahjahan.html" target="_blank" class="pagelink2">SHEIKH SHAHJAHAN</a> <span class="style5">| </span><a href="artist-name-pic/s/subash-awchat/subash-awchat.html" target="_blank" class="pagelink2">SUBASH AWCHAT</a> <span class="style5">| </span><a href="artist-name-pic/s/sujata-bajaj/sujata-bajaj.html" target="_blank" class="pagelink2">SUJATA BAJAJ</a>  </a> <span class="style5">| </span></span><span class="style6"><a href="artist-name-pic/s/suryaparkesh/suryaparkesh.html" target="_blank" class="pagelink2">SURYA PRAKASH  </a> <span class="style5">| </span></span><span class="style6"><a href="artist-name-pic/t/thota-vaikuntam/thota-vaikuntam.html" target="_blank" class="pagelink2">THOTA VAIKUNTAM </a></span>
                    </marquee></td>
                    <td width="2%"><img src="pic-gallery/spacer.gif" alt="" width="20" height="20" /></td>
                  </tr>
                  <tr bgcolor="#000000">
                    <td colspan="3"><img src="down.jpg" alt="" width="900" height="10" /></td>
                    </tr>
                </table></td>
                </tr>
              <tr>
                <td valign="top"><img src="pic-gallery/spacer.gif" width="151" height="5" /></td>
                <td>&nbsp;</td>
                <td valign="top">&nbsp;</td>
                <td>&nbsp;</td>
              </tr>
              <tr>
                <td width="17%" valign="top"><ul id="MenuBar1" class="MenuBarVertical">
                      <li><a href="index.html">HOME</a>                  </li>
                      <li><a href="#" class="MenuBarItemSubmenu">ABOUT US</a>
                        <ul>
                          <li><a href="introduction.html">INTRODUCTION</a></li>
                        </ul>
                        </li>
                  <li><a class="MenuBarItemSubmenu" href="#">ART FORM</a>
                      <ul>
                            <li><a href="acrylic-on-canvas-new.html">ACRYLIC ON CANVAS</a></li>
                            <li><a href="tribal-art.html">TRIBAL ART</a></li>
                            <li><a href="mixed-media.html">MIXED MEDIA</a></li>
                            <li><a href="oil-on-canvas-new2.html">OIL ON CANVAS</a></li>
                            <li><a href="water-color.html">WATER COLOR</a></li>
                            <li><a href="sculpture.html">SCULPTURE</a></li>
                            <li><a href="print.html">PRINTS</a></li>
                      </ul>
                  </li>
                  <li><a href="#" class="MenuBarItemSubmenu">ARTIST </a>
                    <ul>
                      <li><a href="artist-list-new3.html">ALPHABETICAL ORDER</a></li>
                    </ul>
                    </li>
                  <li><a href="#" class="MenuBarItemSubmenu">EVENTS</a>
                    <ul>
                      <li><a href="awakening-the-spirit.html">AWAKENING THE SPIRIT</a></li>
                      <li><a href="press-release.html">PRESS RELEASE</a></li>
                    </ul>
                    </li>
                  <li><a href="#" class="MenuBarItemSubmenu">REACH US</a>
                    <ul>
                      <li><a href="contact-us.html">CONTACT DETAILS</a></li>
                    </ul>
                    </li>
                  <li><a href="#" class="MenuBarItemSubmenu">ORDER</a>
                    <ul>
                      <li><a href="procedure-to-order.html">PROCEDURE TO ORDER</a></li>
                    </ul>
                    </li>
                </ul></td>
                <td width="1%"><img src="pic-gallery/spacer.gif" width="10" /></td>
                <td width="81%" align="right" valign="top"><!-- InstanceBeginEditable name="EditRegion3" -->
                  <table width="100%" border="0" cellspacing="0" cellpadding="0">
                    <tr><td><embed src="web-header4.swf" width="720" height="332" align="middle" class="border style8" quality="high" bgcolor="#FFFFFF"
                   name="web-header3" id="web-header" allowscriptaccess="sameDomain"
                   type="application/x-shockwave-flash"
                   pluginspage="http://www.macromedia.com/go/getflashplayer"
                   flashvars="pagename=spalding_home&amp;PageState=default"
                   swliveconnect="true"></embed></td>
                    </tr>
                  </table>
    <!-- InstanceEndEditable --></td>
                <td width="1%"><img src="pic-gallery/spacer.gif" alt="" width="10" height="1" /></td>
              </tr>
              <tr>
                <td valign="top">&nbsp;</td>
                <td>&nbsp;</td>
                <td valign="top">&nbsp;</td>
                <td>&nbsp;</td>
              </tr>
              <tr>
                <td colspan="4" valign="top"><img src="down.jpg" width="900" height="13" /></td>
                </tr>
              <tr>
                <td colspan="4" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0">
                  <tr>
                    <td width="2%"><img src="pic-gallery/spacer.gif" width="15" height="1" /></td>
                    <td width="23%"><div align="left"><a href="artist-list-new2.html"><img src="pic-gallery/artist.jpg" width="210" height="143" border="0" /></a></div></td>
                    <td width="1%"><img src="pic-gallery/spacer.gif" width="10" height="1" /></td>
                    <td width="23%"><a href="art-form.html"><img src="pic-gallery/pic-second.jpg" width="210" height="143" border="0" /></a></td>
                    <td width="1%"><img src="pic-gallery/spacer.gif" alt="" width="10" height="1" /></td>
                    <td width="23%"><a href="awakening-the-spirit.html"><img src="pic-gallery/art-events.jpg" width="210" height="143" border="0" /></a></td>
                    <td width="1%" align="center"><img src="pic-gallery/spacer.gif" alt="" width="10" height="1" /></td>
                    <td width="24%" valign="top"><div align="right"><a href="procedure-to-order.html"><img src="pic-gallery/collectors-corner.jpg" alt="" width="210" height="143" border="0" /></a></div></td>
                    <td width="2%" valign="top"><img src="pic-gallery/spacer.gif" alt="" width="15" height="1" /></td>
                  </tr>
                </table></td>
                </tr>
              <tr>
                <td colspan="4" valign="top"><img src="upward.jpg" width="900" height="13" /></td>
                </tr>
              <tr>
                <td colspan="4" valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
                  <tr>
                    <td width="2%">&nbsp;</td>
                    <td width="93%" bgcolor="#000000" class="style2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
                      <tr>
                        <td width="57%">© 2011 – Fabuleux Art Pvt. Ltd. All Rights Reserved &nbsp;&nbsp;&nbsp;&nbsp;Created by <a href="http://www.newton.co.in/" class="pagelink">Newton® Consulting India Pvt Ltd</a></td>
                        <td width="15%">&nbsp;</td>
                        <td width="28%"><div align="right"><span class="style3"><a href="enquiry.html" class="pagelink"><span class="style5">Enquiry </span></a><span class="style

    I have seen this issue. And it seems like it is more related to the buttons being placed on multiple layers rather than the buttons placed on a master page vs non-master page. I have yet to determine what causes a button to randomly ignore the stacking order of layers. But if you move all buttons to same layer, and then have all in the proper stacking order, this should maintain the same stacking order once exported to PDF. I realize that this could defeat the purpose of layer functionality, especially when working with many overlapping buttons.

  • Stacking Order of Duplicated MCs

    I have a Flash piece that duplicates a random number of
    MovieClips (using duplicateMovieClip) and randomly places them. You
    can see it here:
    http://litmusbox.com/staging2/
    Trouble is, the duplicated MCs are being placed on top of
    other artwork. The duplicates appear on top of the text on the left
    side of the page. The original MC which is being duplicated resides
    on a layer that is under this text. However, its duplicates are
    being placed on top.
    See my code attached. I'm not sure how "depth" applies here.
    From what I can tell, the only time one refers to "depth" is when
    you're duplicating a movie clip, and that movie clips that have not
    been duplicated have no way of assigning them depth. I've assigned
    the new MCs to have a depth of "itr-100". I'm assuming lower depth
    means lower stacking order. However, these duplicated MCs are
    clearly appearing on top.
    Any ideas?

    to 'contain' these clips at a particular depth - create an
    empty MC at the depth stack (on layer or with code) that you want,
    the attach all of these clips to that instance, including the
    initial block, if you wish to use duplicate. you could simply use
    attachMovie - but this will work also.
    additionally, it's not recommended to assign 'negative' depth
    values, as these are reserved for the elements within the IDE. in
    your situation if you create a 'holder' MC you can begin at 0 and
    simply increment upward. all MCs have a z-order as well as the main
    timeline.
    also, you can refer to and assign depths to and instance,
    using swapDepths(), getDepth(), or getInstanceAtDepth();

  • Stacking order vs. Layers?

    I'm coming from working with layers in Photoshop and understanding how they work in there. Illustrator also has layers, though you are able to also change the stacking order of items on a given layer  by using the object > send to back or forward.
    1. Why would you want to send items to the front or back and not just use layers?
    2. When do you want to put an item on a new layer vs. just changing its stacking order?
    Thanks.

    Stan,
    The point you are missing is a conceptual problem common among many users who have some experience with Photoshop (or other raster image program), but next to none with programs like Illustrator (drawing programs) or InDesign (page assembly programs).
    The key difference is this: Fundamentally, a Photoshop file is, ultimately, one single raster image. An Illustrator (InD, CorelDraw, FreeHand, Canvas, Flash, Firworks, etc., etc.) file is a collection of individual objects.
    In object-based programs, all the objects are located somewhere in one big Z-stacking order. Think of Layers in these kinds of programs as just one heirarchal "level" of "grouping" contiguous objects within the stack. There are several other such organizational "levels". For example:
    AnchorPoints exist in the one big Z stacking order. Sets of contiguous anchorPoints are "grouped" (connected) into paths.
    Sets of contiguous paths are sometimes "grouped" (combined) into compound paths.
    Sets of contiguous objects—including paths and/or text objects and/or raster images (each with its own color model, color depth, rotation, scale, DPI)—can be "grouped" into Groups.
    Sets of contiguous objects can be "grouped" into (reside on) Layers.
    Groups can be nested. You can have Groups inside other Groups.
    Layers can be nested. You can have SubLayers inside other Layers.
    In Illustrator and some other vector drawing programs, the Layers palette does not just list Layers. It lists every object on each Layer.
    All this organizational scheme is useful and important because of that one fundamental difference: These are object based programs. Now compare this to Photoshop. Yes, a Photoshop document can have Layers. But what is a Photoshop Layer really? It's just another raster image of the same color mode, same color depth, and same pixel count as the Layer(s) underneath or above it. The color values of corresponding pixels in any of the channels of each Layer can be mathematically combined to result in the color you see in that pixel location on your monitor and in the final result. But you don't have a stack of independent raster images. Think about it: In Photoshop, you don't have a 100 PPI CMYK image in Layer 1 while you have a 300 PPI RGB image in Layer 2.
    But in an object-based program, you can have a stack of any number of raster images, and each one can be scaled independently without loosing any of its pixels. In other words, the pixels in individual raster images on the page can be different sizes from the pixels in other raster images on the same page. Then you can throw live text objects and paths into the mix, as well.
    So more elaborate and flexible ways to organize objects is critically important in these kinds of programs. Example:
    You set up a Layer to contain the background raster images of a magazine ad. There are several images, and they are independently scaled and positioned, sometimes overlapping. They need to be sorted in Z-order within that Layer. The Layer enables that particular set of objects (raster images) to be treated as if they were one object.
    In the same ad, you set up a Layer to contain the body text.
    In the same ad, you set up a Layer to contain the photo captions.
    In the same ad, you set up a Layer to contain an elaborate vector illustration.
    Within that vector illustration are hundreds of individual objects. Those are organized into subLayers and/or Groups. But the parent Illustration Layer lets you turn off visiblilty or lock the whole Illustration.
    And so on. So there are counless reasons "why you would want to send items to front or back" or change the stacking order of objects within a specific Layer—because there are countless situations in which different organizational levels make sense in terms of working efficiency. There is no single one-size-fits-all answer to your question. But trust me, all the Z-stack organizational "levels" are important. And they are all standard fare in object-based vector illustration and page layout programs.
    JET

  • Stacking Order of pageItems in CS5

    I have not been able to get the correct stacking order of pageItems within a layer/page (in CS5). This was simple to do in CS4 as something like this (CurrentPageItem = myPage.pageItems[i];) would return pageItems in the actual stacking order in the document.
    With CS5 all textframes come together and all rectangles come together, irrespective of them stacked in any order (TextFrame, Rectangle, TextFrame,.... would come out as TextFrame, TextFrame and Rectangle). Some solutions already in the forum point to changing to older version (6.0), but I don't want to do that.
    Can there be a way to determine STACKING ORDER within the layer/page in CS5?

    Hi Rich,
    The fact is that you are right and we are—partially—wrong. More precisely, the answer is incomplete in that it does not account for another issue: PageItems is a meta-collection which, in fact, target specific sub-collections (Rectangles, Ovals, TextFrames, etc.). Browsing within a PageItems collection by indexes may lead to something very tricky when different kind of underlying objects are involved.
    Let's study the following layout:
    This is a single-page document having three simple top-level items: a Rectangle, a TextFrame, and an Oval.
    Considering the myDoc.PageItems collection, I don't know exactly how the internal indices are managed in that collection, but as it has been said a PageItem.index property returns a z-order, we can check this:
    var doc = app.activeDocument;
    var pgItems = doc.pageItems; // a PageItems collection
    alert( pgItems.everyItem().index );
    // => 0,2,1  (depending on the z-order)
    // These are indices within the spread.PageItems collection
    The resulting order, [0,2,1], indicates that:
    pgItems[0] has the z-level 0 (front),
    pgItems[1] has the z-level 2 (back)
    pgItems[2] has the z-level 1 (middle)
    From that we can infer that pgItems[0] refers to the Oval, pgItems[1] refers to the Rectangle, and pgItems[2] refers to the TextFrame.
    But, what is really misleading is the following test:
    alert([
        pgItems[0].index,
        pgItems[1].index,
        pgItems[2].index
    // => 0,0,0 !!
    As you can see, pgItems[ i ].index returns 0 (zero) for each item, whereas we just have seen that pgItems.everyItem().index returns [0,2,1]. How is it possible?
    In fact, the weird [0,0,0] result reflects indexes within the respective Rectangles, Ovals, TextFrames collections (each has a single element).
    In other words, pgItems[ i ].index is actually resolved as pgItems[ i ].getElements()[0].index. This makes it practically very difficult to keep a relevant connection between the everyItem().index Array and the actual z-order of the page items. I think this is the reason for the issue you mention.
    So, how to do? As a general rule, never rely on collection indices to identify an element. The only way to unambiguously and unvariantly refer to an object is to use the id property. If you need to deal with z-orders, backup the information in a id-to-zorder structure. Here is an approach:
    var zOrderById = {},
        itemZO = pgItems.everyItem().index,
        itemIds = pgItems.everyItem().id,
        i = pgItems.length;
    while( i-- )
        zOrderById[itemIds[i]] = itemZO[i];
    Then you can use zOrderById[ pgItems[ i ].id ] to retrieve the z-order of the i-indexed item in the pgItems collection:
    alert( zOrderById[ pgItems[0].id ] ); // => 0
    alert( zOrderById[ pgItems[1].id ] ); // => 2
    alert( zOrderById[ pgItems[2].id ] ); // => 1
    Of course, given a page item, myItem, you also can directly use: zOrderById[myItem.id].
    @+
    Marc

  • Help needed with layers stacking order

    Hi all
    I have been using Photoshop for 5 years and feel confident in its use, however, and you may think this is a little strange, I have never understood stacking order.
    I some how just fell into the habit of applyng a layer and flattening. Now i really want to get over this hurdle so that i can save important images unflattened for further re-adjustment later.
    I have browsed the web for two days and found nothing that helps me. The crux of the issue is that i get to a point where i have applied maybe three adjustment layers and then aaply say a sharpening layer only to find i cannot see its effect on the image due to its order in the stack. This is what i reall need help with.
    Can anyone point me in the right direction?
    Thanks
    Peter

    The way I deal with issues like this is by toggling the "eye-cons" in the
    layer palette to hide and show the various layers. In general, sharpening
    should be done on the uppermost layer, but this can be problematic if you
    have several layers, each with pixel data.
    One technique that might interest you would be creating a sharpening layer.
    For the simplest case, duping the original image, applying the high pass
    filter, using the same radius you would for Unsharp Mask, and set the mode
    to Overlay. I have this assigned to an action, attached to a function key.
    Set the transparency to the amount (up to 100) that you would use for that
    filter as well. If you need more sharpening, you can approximate this by
    duping the sharpening layer. Use a layer mask and/or erase the sharpening
    layer to control which areas are sharpened. Adjustment layers and other
    changes can be applied either above or below the sharpening layer.
    For more complex images, for example a group portrait with several layers
    for the different people in the image, the sharpen layer needs to be
    created by duping the entire image, flattening it, running high pass,
    dragging the resulting layer onto your original image, and setting the mode
    to Overlay.
    If you clone or otherwise change the objects in the image, the sharpen
    layer needs to be recreated.

  • Batch subfolder images to layer stacks, then to sprites.

    I have tried for nearly a week now to wrap my head around this one but I'm a just too new to java scripting to pick it up soon enough to solve my problem. I found Batch HDR creation script, which was great and close to what I'm looking for but I'm not sure how to put it all together. I'm hoping, no begging for some help.
    Ok....
    So I have animations for a game rendered into png image sequences placed into separate folders that contain customizable armor and weapons that can be added on top of the character upon the gamers selection.
    There are 130 total character animation folders and 209 separate subfolders inside the animation folders containing the custom armor and weapons following the character.
    The original idea was just to give the programer image sequences but it has changed to require sprite sheets now, and that leaves way too many manual conversions to cover in the time I'm allotted.
    I need a script that makes you browse for the top folder(the animation)one time then opens all subfolder images one folder at a time into layer stacks, then converts them to sprite sheets, saves them out as a png with transparency to a separate folder containing all created sprite sheets from the animation folder in one new folder or already created folder on the desktop.
    I mashed some well thought out(not mine) scripts together but couldn't get them to batch open subfolders and the layers to sprite would return an error because some frames are blank.
    I'm using Photoshop CS5 and Mac osx, this is my first forum post anywhere, ever, so exciting. Thanks for any advice or help.
    Dev

    // select folder, create files with the contents of one of the subfolders each as layers and save them to the folder;
    // use it at your own risk;
    #target photoshop
    // select a folder;
    var sourceFolder = Folder.selectDialog("Select folder");
    if (sourceFolder) {
    // the psd options;
    psdOpts = new PhotoshopSaveOptions();
    psdOpts.embedColorProfile = true;
    psdOpts.alphaChannels = false;
    psdOpts.layers = true;
    psdOpts.spotColors = true;
    // get the contents as one array per folder;
    var items = retrieveFiles(sourceFolder, [[]]);
    // iterate through;
    for (var m = 1; m < items.length; m++) {
              var thisArray = items[m];
              var folderName = thisArray[0].parent.name;
    // open file;
              var theImage = app.open(File(thisArray[0]));
              for (var n = 1; n < thisArray.length; n++) {
    // place rest of array;
                        var theLayer = placeScaleFile(thisArray[n], 0, 0, 100);
    // Arrange layers into a sprite sheet.   
    if (documents.length > 0)
              var cols = 5;
              docRef = activeDocument;   
              var activeLayer = docRef.activeLayer;
              numLayers = docRef.artLayers.length;
    //           layertext = "There are " + numLayers + " layers.";
              var rows = Math.ceil(numLayers/cols);
               var spriteX = docRef.width;
               var spriteY = docRef.height;
              // put things in order
              app.preferences.rulerUnits = Units.PIXELS;
              // resize the canvas
               newX = spriteX * cols;
               newY = spriteY * rows;
               docRef.resizeCanvas( newX, newY, AnchorPosition.TOPLEFT );
              // move the layers around
               var rowi = 0;
               var coli = 0;
               for (i=(numLayers - 1); i >= 0; i--)
                         docRef.artLayers[i].visible = 1;
                          var movX = spriteX*coli;
                          var movY = spriteY*rowi;
                         docRef.artLayers[i].translate(movX, movY);
                         coli++;
                         if (coli > (cols - 1))
                                   rowi++;
                                   coli = 0;
    //This is to merge the visible layers/////////
    try{
        activeDocument.mergeVisibleLayers();
        }catch(e){}
    // save the stacked file;
              theImage.saveAs(new File(sourceFolder+"/"+folderName+".psd"),psdOpts,false);
    // close;
              theImage.close(SaveOptions.DONOTSAVECHANGES);
    ////// get from subfolders //////
    function retrieveFiles (theFolder, theFiles) {
              if (!theFiles) {var theFiles = [[]]};
              var theContent = theFolder.getFiles();
              for (var n = 0; n < theContent.length; n++) {
                        var theObject = theContent[n];
                        if (theObject.constructor.name == "Folder") {
                                  theFiles.push(new Array)
                                  retrieveFiles(theObject, theFiles)
                        if (theObject.name.match(new RegExp(/\.(jpe|jpg|jpeg|gif|png|tif|tiff|bmp|psd|dng|pict|eps|raw|rw2|crw|cr2)/i)) != null) {
                                  theFiles[theFiles.length - 1].push(theObject)
              return theFiles
    ////// get psds, tifs and jpgs from files //////
    function getFiles (theFile) {
        if (theFile.name.match(/\.(eps|ai|jpg|tif|psd|pdf|)$/i)) {
            return true
    ////// place //////
    function placeScaleFile (file, xOffset, yOffset, theScale) {
    // =======================================================
    var idPlc = charIDToTypeID( "Plc " );
        var desc5 = new ActionDescriptor();
        var idnull = charIDToTypeID( "null" );
        desc5.putPath( idnull, new File( file ) );
        var idFTcs = charIDToTypeID( "FTcs" );
        var idQCSt = charIDToTypeID( "QCSt" );
        var idQcsa = charIDToTypeID( "Qcsa" );
        desc5.putEnumerated( idFTcs, idQCSt, idQcsa );
        var idOfst = charIDToTypeID( "Ofst" );
            var desc6 = new ActionDescriptor();
            var idHrzn = charIDToTypeID( "Hrzn" );
            var idPxl = charIDToTypeID( "#Pxl" );
            desc6.putUnitDouble( idHrzn, idPxl, xOffset );
            var idVrtc = charIDToTypeID( "Vrtc" );
            var idPxl = charIDToTypeID( "#Pxl" );
            desc6.putUnitDouble( idVrtc, idPxl, yOffset );
        var idOfst = charIDToTypeID( "Ofst" );
        desc5.putObject( idOfst, idOfst, desc6 );
        var idWdth = charIDToTypeID( "Wdth" );
        var idPrc = charIDToTypeID( "#Prc" );
        desc5.putUnitDouble( idWdth, idPrc, theScale );
        var idHght = charIDToTypeID( "Hght" );
        var idPrc = charIDToTypeID( "#Prc" );
        desc5.putUnitDouble( idHght, idPrc, theScale );
        var idLnkd = charIDToTypeID( "Lnkd" );
        desc5.putBoolean( idLnkd, true );
    executeAction( idPlc, desc5, DialogModes.NO );
    return app.activeDocument.activeLayer;

  • Relative Stacking order of Sub Layers and items

    I want to get the items in a layer sorted in their stacking order (including any sub-layers).
    For example:
    Layer 1
       item A
       Layer 1a
       Group B
       item C
    In the example above, I would get back an array like this:
    [item A, layer 1a, Group B, item C]
    Of course, you'd think this is a simple enough thing given that zOrderPosition is freely available:
    function getChildrenInStackingOrder(layer){
        var sublayers=layer.layers;
        var pageItems=layer.pageItems;
        var result=new Array ();
        var size=sublayers.length+pageItems.length;
        for(var i=0;i<sublayers.length;i++){
           result[sublayers[i].zOrderPosition]=sublayers[i];  <<<----------- ERROR
        for(var i=0;i<pageItems.length;i++){
           result[pageItems[i].zOrderPosition]=pageItems[i];
        return result;
    My problem is that AI CS4 throws up at the line marked above with a message "Internal Error 1200". I'm guessing that it's illegal to get the zOrderPosition of a sublayer.  Any thoughts?
    Anurag.
    PS. Do any Adobe engineers read this forum at all? Seems like there's a lot of internal documentation that could help in answering some of our questions.

    This is a BUG.  Bugs exist in any software. But when a company allows its users to waste hours and hours trying to figure out what they're doing wrong, only to find it's a bug that Adobe didn't bother to document prominently in their user guides, it borders on cruel. And it will continue to happen to others.
    Illustrator's scripting documentation clearly says that zOrderPosition is available (read-only, which is fine) for all PageItem and Layer objects. The fact that it is relative to the parent group or layer is totally OK; it's good, in fact. Or it would be, if it wasn't useless because it is broken. "Internal Error" ? ngngn..
    Some of the replies here point to possible workarounds using Document.pageItems, it's unforgiveable that such a workaround is necessary, but here is another, similar trick. It relies on an interesting (undocumented) aspect of how selections behave: If you select a bunch of objects in any order and then iterate through Document.selection, it turns out that the objects in the selection array have been sorted into proper z-order for you.
    var doc = app.activeDocument;
    var layer = doc.activeLayer; // select your parent layer before running this
    // Convert a collection to a regular JS Array, so we can use concat()
    function toArray(coll) {
        var arr = [];
        for (var i = 0; i < coll.length; ++i) {
            arr.push(coll[i]);
        return arr;
    // Get all the objects in a layer and its descendent layers
    function getAllPageItems(layer) {
         var items = toArray(layer.pageItems);
         for each (var sublayer in toArray(layer.layers)) {
              items = items.concat(getAllPageItems(sublayer));
         return items;
    var items = getAllPageItems(layer);
    // Some items here will not be in z-order.
    for each (var item in items) {
         $.writeln(item);
    $.writeln("---------------------------");
    // Select everything in the active layer:
    doc.selection = items;
    //Notice that the objects have been resorted into z-order in doc.selection:
    for each (item in doc.selection) {
         $.writeln(item);
    Of course if you want to preserve the original layers without flattening, you'll have to do some additional, ridiculous stuff. But, hope this helps someone.
    Anyone out there who looks at this and thinks "What an idiot, doesn't this guy know you can just do 'x' .." PLEASE correct me, and be as disparaging as you want. I will still thank you.

  • Layer stacking in portrait editing

    I have a brief question about a complicated issue that I am hoping someone can help me with as painlessly as possible.  If there are videos, books, tutorials or anything that addresses this matter I will be happy to purchase whatever it takes.  My issue is 99% layers.  I am a headshot photographer and have been using Photoshop for many years.  I’m therefore not a newbie to it or layers but I have some degree of difficulty with the stacking order sometimes.  I also edit for other photographers who know little or nothing about Ps and so the stacking becomes more of an issue for someone who didn’t actually edit the photo.  More to the point, I am trying to learn the best practice for ORDERING things so that it’s always possible to go back and tweak something from a lower layer.  However, my problem is that I frequently need to make a flattened layer (on Mac: shift+opt+cmd-E) and then do something FROM that point forward.  This, of course renders curves adjustments and the like useless insofar as changes you want to make later due to layers above it being baked in going forward.  I am also not entirely clear what adjustments MUST be on pixel layers and which ones can be on a blank layer.  If anyone has advice on this I would greatly appreciate it - OR - can just tell me where I might find instruction on this specific topic.  Lastly, if there is a better forum for me to post this to I will be happy to do so.
    Thanks so much for your time and consideration.

    Yes, 'stamp visible' is the same thing you called flatten layers (shift+opt+cmd+E); but it makes a new layer as opposed to just flattening what is already there.  Just semantics, we're doing the same thing.  The object is to do as much as you can non-destructively (without stamp visible), and it sounds like you're doing it when you don't have to:
    Spot Healing: You can open a new blank layer and use the stamp/clone tool, just make sure to check "sample all layers".  This way the layer only has your edits, not a complete copy of the entire image.  Makes it easier to select changes, and reduces overall size of the document.
    Frequency Separation has to have it's own layer(s).  Nothing you can do about it, which is why I do it first.  Just one note: if you are going to do FS, then you should decide whether or not you want to do spot healing before.  In most cases, at least for portraiture, you should do you spot healing in FS.  That's one of the major benefits.  If I'm just cloning out something in the background I won't necessarily do it in FS, since it's quicker outside, but any editing on the subject should be done in FS.  IMHO anyway. 
    I'm not sure how you do Dodge and Burn, there are several ways.  But you can absolutely do it non-destructively.  I'd recommend either using a 50% grey method, or just white and black in a soft light or overlay blending mode.  Either methods don't require stamp visible.
    Eye and teeth whiting also have several methods, many are non-destructive.  I usually do this in Lightroom when I convert from RAW (I believe you can also do it in the new ACR? in Photoshop).  But if you're using jpg or want to do it in Photoshop it's just as easy, and non-destructive.  Use a combination of curves and hue/saturation adjustment layers.  I prefer using curves for the lightness, as it gives me more control, but the hue/sat has a slider for lightness.  If they have yellow teeth I reduce yellow saturation as well. 
    All color and tone should be done non-destructively, through adjustment layers.
    Sharpening depends on how you do it.  Again, I do it in RAW conversion.  The only thing I do in Photoshop is either a highpass filter and/or I can do it manually within the high frequency layer in F.S.  I often prefer to do it as a separate high pass layer at the very end, because I don't like too strong of an effect and I get a better idea of how much I want at the end of the edit.
    So, to sum it up, really the only stamp visible I use is for frequency separation, and I do it at the start.

  • How do I use the z parameter instead of component's stack order for layout?

    Hi,
    In my current project I am already using the cool new 3D properties (z/rotationX/rotationY/rotationZ) of the Flex 4 SDK. It really makes fun playing
    around with them, but it is actually pretty annoying that elements that ought to be postioned on top of each other with different z-values are displayed according to their stack order (the positon with respect to to their DisplayObject-siblings). This leads to the non-realistic appearance of objects that should be positioned in the back of the scene right on top of everything else.
    The only solution for this problem is to manually set the z-order in which I want the objects to appear on the screen by using the removeChild()/addChild() methods of the parent-container. This is not only annoying but quite expensive and additionally non-dynamic.
    Is there any means to make a container use its children's position in space for layout instead of its "z-stack"? If not, I would consider this as a bug, at least when it comes to 3D placement of objects.
    Thank's for any hints and best regards,
    Manuel Fittko

    If you are running the broker as a Window's service then
    jmqsvcadmin install -jrehome (or -javahome) is the correct
    way to specify an alternate JRE. If you are running the broker
    directly on the command line then you can use -jrehome directly
    with the jmqbroker command.

  • [CS5.5] issue with stacking order on spreads when pages change

    Have recently had a situation where items on a right hand page have "disappeared" behind an item placed over the reader's spread in a layout using facing pages.
    For example,
    this spread has 3 elements: an item of type per page, both brought to front; and a green background sent to back. all fine so far.
    i have then deleted the last two pages from the file... still going great guns...
    i then delete the first two pages from the file... then the preverbial hits the fan.
    the type on page two is gone! oh no!!! the reality is that the type is now BEHIND the green background.
    I am aware that had the green background been split in two at the spine, the result would be this:
    but it's too late now.
    has anyone else experienced this phenomenon and is it safe to call this a "bug"? anyone wanting to attempt the following steps can download a PDF containing the indesign file as an attachment within the pdf from this url: http://colecandoo.files.wordpress.com/2012/06/spreadfail.pdf
    colly

    Although the green block is, for practical purposes, on both pages, to InDesign, it's really only assigned to the left page of the spread. For example, if you start with this:
    …which has a green box in the background, spanning both pages of each spread, and yellow boxes on odd pages and magenta boxes on odds…
    …and you delete page one, you get this:
    …where the yellow and magenta boxes have switched sides, but notice that the green box that had been across both pages is now only on the odd pages. That's because the green boxes were actually assigned to the even pages, which have now shifted to become the odd pages, and the box stayed with it's page.
    Now, here's what happens when you delete page 2:
    Except for page one, which hasn't moved or changed, the screen shots from removing page one and page two look the same, because I only removed one page at a time. That caused the pages to switch sides.
    Now, here's what happens when you remove pages one and two at the same time:
    This is what you are getting. As best as I can guess, the reason that the green box is above the yellow boxes is because the left page of the spread is higher in stacking order than the page on the right. My guess is that the stacking order of the objects on each page is reaffirmed when pages are deleted. And in this case, I don't think it matters whether you delete them one at a time or two. Here is a screen shot of what it looks like when I delete page one, then delete page two right afterward (actually, since page two had become page one, I had to delete page one the second time to delete the original page two, but you know what I mean):
    This screenshot looks the same as the previous, even though this one had two pages deleted one at a time, and the previous one had two pages deleted together. I can't say whether this is a bug or not, but I assume that the engineers at Adobe didn't choose this behavior on purpose. It's probably a side-effect of some other choice that probably makes perfect sense.
    I think the answer is to either  place objects that span a spread on the master, or to use layers if the master option isn't practical for the job you are doing.

  • I have CS2 and would like to do Image Stacking.    I understand CS3 allows this.  correct?     Am I wiser to purchase CS3 upgrade.  Am I going to run into issues with install?

    I have CS2 and would like to do Image Stacking.    I understand CS3 allows this.  correct?     Am I wiser to purchase CS3 upgrade.  Am I going to run into issues with install?

    Well, I refuse to sign up to pay Adobe a monthly tribute for life too, but that doesn't mean we are limited to CS3.
    I'm staying with CS6.
    Adobe still sells a perpetual-license to Photoshop CS6 without the subscription model, but it's $700 for the Standard version and a cool $1,000 for the Extended version.
    You haven't mentioned your platform, Macintosh or Windows, so make sure CS3 or any other obsolete version you buy actually runs on a modern operating system.
    Good luck.

  • Stacking order on PrEl 9 not working

    I am trying to change the stacking order on simultaneous multiple video tracks.  I have two tracks on the screen, I select one from the timeline and then right click on it in the monitor panel -- the option of Title>Arrange doesn't come up.  When I go to the options bar at the top of the page and click Title>Arrange, it will not let me select it.  In the help topics, PrEl 7 & 8 are covered with these instructions, but 9 is not.  Any ideas?  Thanks a million if you can solve this!  -JD

    As Steve points out, the "stacking order," or Arrangement is only available for elements in a Title, like Shapes, or Text.
    To change the "stacking order" of elements such as Clips, Still Images, or Titles, they can be Selected, and then dragged to higher (or lower) Video Tracks, that are empty.
    Hope that helps, and good luck,
    Hunt

  • Stacking Order of Elements

    Hey All!
    I'm enjoying our recent move to Cap. 2, lot's of great new
    features. I've run into a bit of an oddity and am planning to
    submit a bug report, but wanted to toss it out here first.
    Here is what I am doing and experiencing:
    1. Record a demonstration project.
    2. Highlight an area of the project and select Fill Outer
    Area check box.
    3. Insert a text caption, and set the text caption to be
    above the highlight in stacking order on the timeline (so the text
    caption is not grayed out by the outer fill).
    4. Set the highlight and caption to fade in only.
    5. Copy the highlight and text caption and paste them on the
    next slide (there is typing happening on both slides and I am
    highlighting the set of fields being completed).
    6. Ensure the text caption is still on top of the stacking
    order in the timline.
    7. Set the highlight and caption on slide 2 to fade out only.
    The slides are set to stream with no transitions or user
    interaction.
    When I preview or publish slide 1 works as expected -
    highlighted area with rest of background greyed out and text
    caption on top of the outer fill. When it gets to slide 2 the text
    falls behind the outer fill and is greyed out like the background.
    Workaround:
    I have found that all is good if I duplicate the text caption
    on slide 2 and delete the one I originally pasted in. It isn't a
    big pain, but it is a waste of effort after working through several
    of these.
    I'll be submitting a bug report and wanted to share the fix I
    found. Any other ideas?
    Rory

    I just realized one error in my steps above.
    In step 3 above I say to set the text caption above - I just
    realized to make what I describe happen have the text caption below
    the highlight initially. So the steps should be...
    1. Record a demonstration project.
    2. Insert a text caption.
    3. Highlight an area of the project and select Fill Outer
    Area check box. (At this point the highlight will be above the text
    caption in the timeline).
    4. Set the highlight and caption to fade in only.
    5. Copy the highlight and text caption and paste them on the
    next slide (there is typing happening on both slides and I am
    highlighting the set of fields being completed).
    6. Set the highlight and caption on slide 2 to fade out only.
    7. Realize you have the stacking order wrong and fix it on
    both slides - move the text caption above the highlight in the
    timeline in both slides.
    Preview and watch the text caption be on top on slide 1 but
    not on slide 2.
    Hope this makes sense...
    Rory

Maybe you are looking for

  • External display on late 2012 macmini does not go to sleep.

    External display on late 2012 macmini does not go to sleep, instead the content freezes. After Pram reset it does go to sleep, till it undergoes next system sleep cycle (hibernatemode 25). I need to suspend it to disk because it is an offgrid setup a

  • Functional Module for Delivery date update

    Hi all, Can anybody help me to solve my problem. My requirement is to update order delivery date for a partner. But I am not getting any FM for that and not getting the table name also where I can update delivery date value. If you have any known FM

  • I have a Windows ME program. Need help please

    I am trying to install the cd software and computer is giving me an error on the download. SP4 2000 or XP needed. Is this true? Do I need to change my system in order to use an Ipod?

  • MR21 - FI document (draw together positions with same account)

    Hi, We need to update the price of various materials through the transaction MR21. Each time you update, a MM document is generated and its associated FI document. For each material, in FI document, generates two accounting positions: one with the in

  • Error with listener in Oracle 11.2

    I start listener successfully but could not connect to instance by listener :(, I can't understand why this happen, please help, this is urgent [oracle@TEST01 admin]$ lsnrctl start TEST LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 12-APR-201