Opacity fade in

I started today with CCG, and finde it really interseting.
While playing arround, i wondered how i can create a “opacity fade in”:

Currently when layer 10 is playing, and i start the group 20, the video opacity of layer 20 is set to 50% and after 1000ms, its full visible, without opacity.

I wanted that the video starts 0, and fades then within 1000ms to 100.
How can i do that?

I maybe misunderstand the “rundown” at the moment a litle bit.
But if im not wrong, it would go from top to bottom.

So for example:

[OPACITY] -> Fades from 0 to 100
[VIDEO] plays in loop, when "stopped" next:
[OPACITY] -> Fades from 100 to 0

Hope its clear/understandable what i want.
Thanks in advnace :slight_smile:

Hmm, i think thats not possible and i need to create a animation on my own?
With the current setup, i just need “to move the fader”/send the right command to the server

Is there a build in scripting tool?
I though about creating two functions, which i then call some how call
fade() & fadeout() for increasing/decrasing the opacity.

Seems like i got what i was looking for.
With a short node.js script, i can fade the overlay in/out, hide&show:

const {createConnection} = require("net");
const {setTimeout} = require("timers");


function delay(time){
    return new Promise((resolve) => {
        setTimeout(resolve, time);
    });
}


const TWEEN = "Linear";
//const TWEEN = "EaseInQuad";
const DELAY = 3;
const STEPS =  0.015;

const socket = createConnection(5250, "127.0.0.1", async () => {

    console.log("Connect to Server");

    function write(value){
        return new Promise((resolve, reject) => {
            socket.write(`MIXER 1-20 OPACITY ${value} 0 ${TWEEN}\r\n`, (err) => {
                if(err){
                    reject(err);
                }else{
                    resolve();
                }
            });
        });
    }

    async function fadeIn(){
        for(let i = 0;  1 >= i; i += STEPS ){
            await write(i);
            await delay(DELAY);
        }
    }

    async function fadeOut(){
        for(let i = 1;  i >= 0; i -= STEPS ){
            await write(i);
            await delay(DELAY);
        }        
    }

    async function show(){
        await write(1)
    }

    async function hide(){
        await write(0);
    }
    
    await show();
    await delay(5000);

    await fadeOut();
    await delay(5000);
    await fadeIn();

    await delay(5000);
    await hide();

});

This is definitely achievable in the client.

I’m not sure what that duration field you have used does for opacity, but there is one further down while will be the duration of the fade.
you will also need to do a similar process of when you change opacity relative to the clips to set the opacity to 0 at the start