Graphics

 View Only
  • 1.  Xpression Script (Copying Text layer frome scene1 to scene2)

    Posted 05-28-2025 15:10

    Hello,

    I'm looking for some help with the script below :

    Dim textparent As xpTextObject
    Dim textchild As xpTextObject
    Dim parent as xpScene

    Engine.Sequencer.GetSceneByID(20, parent)

    parent.GetObjectByName("GroupName", textparent)

    self.GetObjectByName("GroupName", textchild)

    textchild.text = textparent.text

    I don't understand why this doesn't work

    Thanks for your help



    ------------------------------
    Patrick.
    ------------------------------


  • 2.  RE: Xpression Script (Copying Text layer frome scene1 to scene2)

    Posted 05-29-2025 01:25

    Hi Patrick

    The sequencer object doesn't have a GetSceneByID method, so your code will fail at that point.  If you enable debugging in the preferences advanced section, it would help as you could put this line at various points in your code to see where it gets too.

    engine.debugmessage("I'm here 1",0)

    Unfortunately your code will compile and you will get no error messages, it just doesn't work! So putting in these debug messages will help you narrow down where it is failing very quickly.

    What are you trying to achieve? Do you want to copy the text from a scene that is already online to another scene about to go online?

    Simon



    ------------------------------
    Simon Latus
    Simon Latus Media Ltd
    United Kingdom
    ------------------------------



  • 3.  RE: Xpression Script (Copying Text layer frome scene1 to scene2)

    Posted 05-30-2025 01:13

    Hello Simon,

    Thank you for your reply.

    I was actually wondering whether it's possible to copy text from a scene in the sequencer if the scene is not online. Does it need to be online?

    Patrick.



    ------------------------------
    Patrick Mirakian
    Director, Manager
    Tahiti Nui Television (TNTV)
    ------------------------------



  • 4.  RE: Xpression Script (Copying Text layer frome scene1 to scene2)

    Posted 05-30-2025 03:42

    Hi

    When you take a scene online, it actually makes a copy of the scene and updates all your published and datalinqed objects and puts that copy online.

    If you obtain the scene from the sequencer via its TakeID, whether it is online or not, then I think it might also have the datalinq data updated.

    You need to do it in 2 steps:

    First get the TakeItem object from the sequencer (GetTakeItemByID for example)

    The TakeItem object can now obtain a scene copy using GetSceneCopy.

    From there you can access the objects in the scene.  If you call scene.RefreshDatalinqsAndWait then that should ensure you have up to date copies of the data in your objects.  There is a caveat in using AndWait version of the RefreshDatalinqs about only using it in OnPreviewRender scripts.
    I haven't tested this theory!  But think this should work.

    Simon



    ------------------------------
    Simon Latus
    Simon Latus Media Ltd
    United Kingdom
    ------------------------------