Keyframes control with layer markers

Hello,
I have an animation of a line that has two sets of keyframes of two different properties in CS4.
Basically a line gets generated in the first phase then it gets cleared out in the second phase.
This is done using two slider controls that act on the horizontal size of two rectangles and using merge paths (using the second rectangle as a matte for the first to clear it out)
I've put two layer markers on my layer hoping to link the keyframes to each of them.
Then I have found this script on the web and I put it on the first property :
L= thisComp.layer("ShapeLayer");
n = 0;
if (L.marker.numKeys > 0){
n = L.marker.nearestKey(time).index;
if (L.marker.key(n).time > time){
n--;
}if (n == 0){
valueAtTime(0);
}else{
t = time - L.marker.key(n).time;
valueAtTime(t)
This indeed lets me move the whole animation with the layermarker (which is very good) but I can't find a way to link the second set of keyframes to do the output.
I will add a link with the project file: WeTransfer
Please help!
Thanks

First, thank you for taking the time to solve this.
I feel like a handicapped... and I am when it comes to scripting. (I'm not really a handicapped person (not that there's anything wrong with that))
It has been now over two hours of tweaking and replacing values...no go.
I can follow the logic behind the script - telling to use the index or the name of the marker instead of the nearest one but I'm a script retard.
So, like a child, I'm asking what does this do:
t = time - L.marker.key(n).time;  ?
and
should there be a dot between L.marker  and (1)  like this L.marker.(1)  ?
and there are many other questions (very stupid ones) that I will not mention here.
If you (me) don't have some basic knowledge about scripting, you (you) can give me everything word by word and I still wouldn't know how to assemble it in a script.
By now I think I've already made a fool of myself so the variable shame is not of the importance anymore.
I know...I shouldn't even be in this forum with my knowledge regarding the scripts in AE, but here I am.
I'm a motion graphic designer with over 15 years of experience with AE, and so far I've managed to elude the tricky part of learning scripting. (my bad)
If anybody has a question about motion graphics, or just graphics (ex. Oh my God, how did they do that in AfterEffects or Cinema 4D, Maya, Photoshop, Illustrator ?(or What do you think about this font, should I use it on my wedding invitation ?)) I will be glad to help!
Thank you everyone!
You are a great community!
exit.(stage(left))
P.S. (post.scriptum) I'm sorry if this turned into some kind of written stand up comedy but I didn't know how to approach this situation otherwise. I'm sorry about the retards too.(me included)

Similar Messages

  • Photoshop in the wake of Origami - Interaction design control with Layer Comps? We need this. That is all.

    It'd be nice if we had some more utility with layer comps. They're still a standard workflow for a lot of designers, QC/Origami is difficult to learn, especially for an entire team to get up to speed on. Is there a chance Adobe will ever integrate something like this (video export) of layer comp flows? Or is there something currently that I'm missing?

    If this is supposed to be a Feature Request please post over on
    Photoshop Family Customer Community
    And you may want to explain what "QC/Origami" is exactly.
    Also if this is concerns video editing/creation you may want to look into proper video editing software.

  • Can't add layer markers on the fly with Mac laptop

    I've been trying to figure this out for hours now!!! I'm on a Mac Intel Core 2 Duo laptop running 10.5.6. I'm using After Effects CS3 Professional. All I want to do is RAM preview an audio file from inside a composition, and add layer markers on the fly. Apparently this is easy with a desktop using the numeric keypad. I remapped the shorcut in the Preferences text file so that "Add Marker" is now F12 - nice and easy! (and no, it's not conflicting with the the OS Dashboard shortcut - I turned that off). In any case, I tried a number of others as well. The problem is, no matter what the shortcut, when I try adding the layer marker with the shortcut the file stops playing! So annoying! I want to add a number of layer markers timed to the beat, but as soon as I do the damned RAM preview stops! I can't mark key points in the composition!! Any help would be MUCH appreciated...
    - Bryan

    Hi there
    I hope it's ok to continue this old thread - as I'm having a very similar problem, but with a PC laptop
    I want to re-map the numeric-keypad-star key so I can hit markers on the fly while ram previewing (my laptop has no numeric keypad), but I don't know what the shortcut is called in order to be able to find it to re-map it!!  Can anyone tell me what the shortcut is called?
    Also from this thread it seems even if I do re-map it may not work - can anyone tell me whether this will be the case for a PC?  I'm using a Dell Studio 1557 Core i7 with Win7 64bit, running After Effects CS4
    All advice appreciated
    Thanks
    jON

  • EXPRESSION help,layer markers

    Hi
    I've got a comp with one camera and 100 3d layers distributed randomly in 3 space.Each layer has got a different z-Rotation value.
    The camera animates from one layer to the other via script (the script generates
    automatically layer markers and keyframes for each animation).So,there are 101 layer markers.
    Example:
    The camera moves between layer marker 2+3 from layer 2 to 3 for example.
    Layer 2 has got a z-rotation value of -14° and layer 3=>45°.
    basically,i need a camera (z orientation) expression so the camera animates
    from -14° to 45° between these two layer markers and so on.
    THX

    Yeah, what part of the equation do you not understand? The first part simply checks whether markers exist at all, then counts them down until there are none left after a given time. If you want to blend between the different values, you'd simply need to plug the marker times into the remapping. Something like this:
    markNow=marker.nearestKey(time).index;
    markNext=marker.nearestKey(time).index+1;
    timeNow=marker(markNow).time;
    timeNext=marker(markNext).time;
    rotationNow=thisLayer.transform.zRotation.valueAtTime(timeNow);
    rotationNext=thisComp.layer(index+1).transform.zRotation.valueAtTime(timeNow);
    rotationFinal=linear(time,timeNow.timeNext,rotationNow,rotationNext)
    You only need to include this in the curly braces or return n outside the function to make use of this. Haven't tested it, as I'm not in front of AE, but on an abstract level this is how it should work. Hope it helps to get yoou started.
    Mylenium

  • Layer markers to flv-cuepoints not working in ae cs6

    We are currently working on a project where we create layer markers in ae with File>  Scripts > Converted selected properties to Markers.jsx
    With the property "Position" selected of a layer in AE with motion tracking data from the underlying footage in my comp.
    Next i added the comp to the Render Queue. In the output module i choose .flv and render.
    When i import this flv in an flvPlayback component in Flash there are no cuepoints visible in the palyback properties panel or when i add an Eventlistener "CUEPOINT" to the flvPlayback. This used to work perfect in AE CS5. Is this an AE CS6 bug or am i missing somthing?

    Oh yes, I agree. Especially considering that it already has been working just fine for years...
    At least for the people who are as desperate as me I have found a tedious work-around:
    I have written an AE-script that exports all markers as a Flash cue point XML (see below, it sure is not perfect and parameters are not considered, but it works). This XML-file can be used in Media Encoder to encode the AE composition with cue points.
    Use the RichFLV App (http://richapps.de/?p=66) to change these cue points to navigation which should be of that type.
    Here is the code, you need to check in the preferences that scripts are allowed to write files:
    var comp = app.project.activeItem;
    var XMLStart = "<?xml version='1.0' encoding='UTF-8' ?><FLVCoreCuePoints>";
    var XMLEnd = "</FLVCoreCuePoints>";
    var XMLTemp = "";
    var XMLFinal = "";
    var layerCount = comp.numLayers;
    var layer = new Object;
    var layerMarkers = new Object;
    var markerCount = 0;
    var curMarkerTime = 0;
    var curMarkerName = "";
    var curMarkerType = "";
    var curMarkerXML = "";
    //Layer markers
    for(i=1; i<layerCount+1; i++) {
        layer = comp.layer(i);
        layerMarkers = layer.marker;
        markerCount = layerMarkers.numKeys;
        for(j=1; j<markerCount+1; j++) {
            curMarkerTime = layerMarkers.keyTime(j) * 1000;
            curMarkerName = layerMarkers.keyValue(j).cuePointName;
            if(layerMarkers.keyValue(j).eventCuePoint) {
                curMarkerType = "event";
            } else {
                curMarkerType = "navigation";
            curMarkerXML = "<CuePoint><Time>" + curMarkerTime + "</Time><Type>" + curMarkerType + "</Type><Name>" + curMarkerName + "</Name></CuePoint>";
            XMLTemp += curMarkerXML;
    //Comp markers
    var tempText = comp.layers.addText("");
    var tempSrc = tempText.text.sourceText;
    tempSrc.expression = "thisComp.marker.numKeys";
    markerCount = Number(tempSrc.value);
    if(markerCount > 0) {
        for (i=1; i<=markerCount; i++) {
            tempSrc.expression = "thisComp.marker.key(" + i + ").time;";
            curMarkerTime = Number(tempSrc.value) * 1000;
            tempSrc.expression = "thisComp.marker.key(" + i + ").cuePointName;";
            curMarkerName = String(tempSrc.value);
            tempSrc.expression = "thisComp.marker.key(" + i + ").eventCuePoint;";
            if(tempSrc.value == "true") {
                curMarkerType = "event";
            } else {
                curMarkerType = "navigation";
            curMarkerXML = "<CuePoint><Time>" + curMarkerTime + "</Time><Type>" + curMarkerType + "</Type><Name>" + curMarkerName + "</Name></CuePoint>";
            XMLTemp += curMarkerXML;
    tempText.remove();
    //create output string
    XMLFinal = XMLStart + XMLTemp + XMLEnd;
    //Write file
    var cueFile = File.saveDialog("Save the XML file", "XML:*.xml" );
    cueFile.open("W");
    cueFile.write(XMLFinal);
    cueFile.close();

  • Remote Control settings for Markers

    The user manual for Studio Pro 4 states that Remote Control settings for Markers will override all other settings while that part of the track or story plays.
    This however, is not the case- In my project the track & story settings for Remote Control>Menu are actually overriding marker Remote Control>Menu settings, & I really need the marker functions to take precedence over other functions.
    Any idea how I can make this happen?
    Thanks!!
    eric

    As Jake said - I am not seeing this behaviour either.
    If you clear all end jumps from chapter markers and place the markers into stories then you set the menu call for the story. This can be different to the track and depending on which you are playing the menu call for that item will take precedence.
    Of course, if you really want to make it bullet proof then you could point the menu call to a script. Assuming that no matter which story you are in, or how you got to the marker in the track, the following script will always return you to a specific button on a menu for the marker that you have just played
    mov GPRM0, SPRM7
    Jump Menuname, [GPRM0]
    SPRM7 is a system parameter that checks which marker has just played. The first line of the script loads the value of this into a memory slot called GPRM0. The second line operates a jump to your menu - I assume there is only one menu here - and using a conditional GPRM based button jump, the value of GPRM0 fills in the value of the button to go to. This saves writing out lines of code for each possible button.
    If you have lots of menus then this script can be adapted very easily to cope with that, or you can set up other scripts to identify which menu you have come from so as you know which to go back to.
    However, before any of this I would want to know why you are not getting the expected behaviour on our project - my guess is that there is going to be a menu call set into a chapter marker which is over-riding the track or story menu call. If you have end jumps on markers, or menu calls on markers, remove them.

  • Speech Analysis as layer markers - How?

    this page states:
    "If you import files with a speech metadata into After Effects, each word appears as a layer marker on layers based on these footage items."
    I have tried various methods of achieving this without any success.  Can someone please explain exactly how its done.  I have the metadata appearing in Premiere's clip metadata panel so the analysis is complete.  I can get the same result in Soundbooth, but no layer markers appear in After FX when I import the files.

    I just tried it, and it worked for me. The temporal XMP metadata stored in a movie exported from Premiere Pro was converted to layer markers in After Effects.
    You have to have the Create Layer Markers From Footage XMP Metadata preference turned on. This tutorial shows all of the steps.

  • Using iMovie to Make a DVD with Chapter Markers

    All,
    Can someone explain the shortcomings of the following workflow to create a simple DVD with chapter markers?
    1. Create each "chapter" as a separate project in FCP X.
    2. Export each project using "Export project as QuickTime movie using current settings".
    3. Import each QT movie into iMovie and place them into a single timeline in the desired order.
    4. Add chapter markers at the start of each clip.
    5. Choose Share>iDVD from within iMovie.
    6. Choose desired templates, etc. then burn the DVD.
    I have used this workflow successfully but want to make the best quality DVD possible and am concerned that I am making compromises with this method.
    Thanks for your help.
    Peter

    As long as you aren't "optimizing" the movie when importing into iMovie, I think you aren't doing anything to degrade quality prior to sharing with iDVD.
    I've read on other threads that you can add chapter markers using garage band. you might give that a try, as it would let you use just one project and would save you time if you have a lot of chapters. Export the same way from FCPX (quicktime, use current project settings) but open in Garage Band instead. Place chapter markers, then share to iDVD.
    but want to make the best quality DVD possible
    You should know weak link in your workflow regarding quality is iDVD, because you have extremely little access the settings that actually control quality. iDVD might end up creating an excellent quality DVD, but without knowledge of bitrate and whether it is VBR multipass vs CBR, you can't be sure.
    Unfortunately, there is really no low cost option I know of (other than iDVD) on the Mac for creating "the best quality DVD possible" that also gives you flexible authoring tools (e.g., templates, menus, etc).

  • FTPS settings Difference between control and control with data

    Hi guys,
    Just a very quick question please. When doing FTPS there are two options
    1) control
    2) control with data
    Can anyone explain what's the difference between the two?
    regards

    Hi,
    FTPS (FTP Using SSL/TLS) for Control Connection
    The FTP control connection is protected using TLS/SSL (Transport Layer Security/Secure Sockets Layer). File transfer is unencrypted.
    FTPS (FTP Using SSL/TLS) for Control and Data Connection
      All communication with the FTP server is encrypted and uses TLS/SSL.
    Regards,
    Raj

  • How to delete the row in table control with respect to one field in module pool programming?

    Hi,
    Can I know the way to delete the row in table control with respect to one field in module pool programming
    Regards
    Darshan MS

    HI,
    I want to delete the row after the display of table control. I have created push button as delete row. If I click on this push button, the selected row should get deleted.
    I have written this code,
    module USER_COMMAND_9000 input.
    DATA OK_CODE TYPE SY-UCOMM.
    OK_CODE = SY-UCOMM.
    CASE OK_CODE.
         WHEN 'DELETE'.
            LOOP AT lt_source INTO ls_source WHERE mark = 'X'.
                APPEND LS_SOURCE TO LT_RESTORE.
                DELETE TABLE LT_SOURCE FROM LS_SOURCE.
                SOURCE-LINES = SOURCE-LINES - 1.
            ENDLOOP.
    But I'm unable to delete the selected rows, It is getting deleted the last rows eventhough I select the other row.
    So I thought of doing with respect to the field.

  • How Do You Populate A Spark List Control With An Array?

    Hello, all,
    Sorry to come accross so frustrated, but how in the name of God do you populate a Spark list control with the data in an array?  You used to be able to do this with the mx:List control, but the guys developing Flex just had to make things more difficult than they need to be!  I am more of a code purist and prefer doing things the way they have been done for decades, but apparently nothing can ever stay simple!
    I simply want to populate a list control with an array and this shouldn't be rocket science!  I found out that I must use a "collection" element, so I decided that an arrayCollection would be best.  However, after searching Adobe's documentation about arrayCollections, I am lost in a black hole of data binding, extra lines of code just to add a new element, the need to sort it, etc...!
    Here is my code:
    var pendingArray:ArrayCollection = new ArrayCollection();
    for ( var i:int = 0 ; i < queue.length ; i++ )
         var item:UserQueueItem = queue[i] as UserQueueItem ;
         if ( item.status == UserQueueItem.STATUS_PENDING )
         pendingArray.addItem({label:item.descriptor.displayName,descriptor:item.descriptor});
    Here is the relevant MXML:
    <s:VGroup>
         <s:List id="knockingList" width="110" height="100"/>              
    </s:VGroup>
    I'm not getting any errors, but the list is not populating.
    I have seen several examples where the arrayCollection is declared and populated in MXML:
            <mx:ArrayCollection id="myAC">
                <!-- Use an fx:Array tag to associate an id with the array. -->
                <fx:Array id="myArray">
                    <fx:Object label="MI" data="Lansing"/>
                    <fx:Object label="MO" data="Jefferson City"/>
                    <fx:Object label="MA" data="Boston"/>
                    etc...
               </fx:Array>
            </mx:ArrayCollection>
    That may be fine for an example, but I think this is a rare situation.  Most of the time I would image that the arrayCollection would be created and populated on the fly in ActionScript!  How can I do this?
    Thanks in advance for any help or advice anyone can give!
    Matt

    In your post it seemed like you were trying to take care of many considerations at once: optimization, design, architecture.  I would suggest you get something up and running and then worry about everything else.
    If I use data binding, then I will probably have to declare the  arrayCollection as a global variable and then I'll have to write 100 or  so extra lines of code to addItem(), removeItem(), sort(), etc...  It  just seems like too much overhead.
    I believe you may have some misconceptions about databinding in general.  You won't have to make it a global variable and you certainly won't need an extra 100 lines of code.  If you did this forum would be a very , very quiet place.
    I don't want to use data binding because the original array is refreshed  often and there is one function called by an event that re-declares the  arrayCollection each time, populates it with the array, and then sets  it as the list's dataprovider.
    That is the beauty of the ArrayCollection, it can handle the updates to its source Array. I don't know if you need to redeclare the ArrayCollection, resetting the source to the new Array allows everyone involved to keep their references so you don't have to worry about any "spooky" stuff going on.

  • Jabber and deskphone control with video

    Hi all,
    one of our clients has IM and presence 9.1 and jabber on windows 9.1.X and is integrating with Active directory for user synchronization and authentication.
    Q.
    why when we use deskphone control with jaber users have an audio in hardware phones but video in Jabber clients not working ?
    Note that the media service interface file  is installed.
    Help needed.
    Thanks in advance.

    you might want to have a look at this post 
    https://supportforums.cisco.com/thread/2160363
    =============================
    Please remember to rate useful posts, by clicking on the stars below. 
    =============================

  • Windows Phone - Cannot bind custom user controll with listview item source property

    It is Windows Phone 8.1 (runtime)
    I have some problem of binding custom user controll with list of data. I'll make it simple as I can.
    My problem is that somehow if I use DataBind {Binding Something} inside my custom controll it will not work.
    I need to transfer binded data (string) to custom controll.
    It is strange that if I do not use DataBind, it will work normally. Eg MyCustomControllParameter = "some string" (in my example 'BindingTextValue' property)
    Does anyone Know how to bind custom user controll with inside ListView with DataTemplate.
    Assume this:
    XAML Test-Main page
    <Grid  Background="Black">        <ListView x:Name="TestList" Background="#FFEAEAEA">                    <ListView.ItemTemplate>                <DataTemplate>                    <Grid Background="#FF727272">                        <local:TextBoxS BindingTextValue="{Binding Tag, FallbackValue='aSource'}" local:TextBoxS>                    </Grid>                </DataTemplate>            </ListView.ItemTemplate>        </ListView>    </Grid>
    XAML Test-Main page c#
    public sealed partial class MainPage : Page    {        List<TTag> tags = new List<TTag>();        public MainPage()        {            this.InitializeComponent();            this.NavigationCacheMode = NavigationCacheMode.Required;        }        public class TTag        {            public string Tag { get; set; }        }        private void InitializeAppData()        {            TTag tag = new TTag() { Tag = "hello world" };            tags.Add(tag);            tags.Add(tag);            tags.Add(tag);            TestList.ItemsSource = tags;        }             protected override void OnNavigatedTo(NavigationEventArgs e)        {            InitializeAppData();        }           }
    User Control XAML:
      <UserControl    x:Class="CustomControllTest.TextBoxS"    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"    xmlns:local="using:CustomControllTest"    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"    mc:Ignorable="d"    d:DesignHeight="300"    d:DesignWidth="400">      <Grid x:Name="LayoutRoot" Background="#FF4F4F4F"   >        <RichTextBlock x:Name="MyTestBlock">        </RichTextBlock>    </Grid></UserControl>
    User Control c#
    public TextBoxS()       {            this.InitializeComponent();            LayoutRoot.DataContext = this;        }        public static readonly DependencyProperty BindingTextValueProperty = DependencyProperty.Register(                                         "BindingTextValue",                                         typeof(string),                                         typeof(TextBoxS),                                         new PropertyMetadata(default(string)));        public string BindingTextValue        {            get            {                return GetValue(BindingTextValueProperty) as string;            }            set            {                SetValue(BindingTextValueProperty, value);                //This method adds some custom logic into RichTextBlock, pointed correctly                SetupBox(value);            }        }
    Thanks for helping ;)

    If you use a built-in control rather than your custom control, does binding work? You should verify that first.
    Matt Small - Microsoft Escalation Engineer - Forum Moderator
    If my reply answers your question, please mark this post as answered.
    NOTE: If I ask for code, please provide something that I can drop directly into a project and run (including XAML), or an actual application project. I'm trying to help a lot of people, so I don't have time to figure out weird snippets with undefined
    objects and unknown namespaces.

  • WP8 Map control with custom tiles

    I'm trying to display a map control in my app targeting Windows Phone 8 but I want to use custom tiles from open street map.
    I'm using this line :
    mapControl.TileSources.Add(new TileSource("http://a.tile.openstreetmap.org/{zoomLevel}/{x}/{y}.png"));
    When I launch the app the custom tiles are properly displayed, but there's still the default map tiles underneath them.
    I tried to hide them, but I counld'nt even find where they exist in the map control and what is displaying them exactly.
    I would like to know how I can remove those default tiles when loading custom tiles.
    I tried to hide them, but I counld'nt even find where they exist in the map control and what is displaying them exactly.

    Hi MakanWG,
    You have solved your question in here:
    http://stackoverflow.com/questions/27948331/wp8-map-control-with-custom-tiles .
    Good!
    Vote if help you

  • Can I use, and how can I use voice control with my iPad 2?

    Is it possible to use the voice control with my iPad 2? If so, how can I use it? Since there is no siri for iPad yet, I'd like to use something similar to it and I've seen this built in voice control before but I was not sure if it's possible with the iPad.

    Not yet, however you can download the new google app. This offers voice seeking on the net.

Maybe you are looking for