Formula per calcolare la somma di timecode - AppleScript

1

Dopo un'estesa ricerca su Internet non sono riuscito a trovare una formula decente per calcolare (aggiungere) i timecode, quindi sto costruendo il mio script da zero.

Finora posso ottenere un risultato abbastanza decente, tuttavia ho problemi a tenere conto delle timeline di Drop-Frame. Secondo quanto appreso, saltano dal fotogramma 29 al 02, a meno che non sia il decimo (o multiplo) minuto, nel qual caso saranno presenti i fotogrammi 00 e 01.

Qualche consiglio su come implementare questa funzione?

Anche qualsiasi miglioramento per lo script sarà benvenuto.


global tcSTART
global tcDURATION
global tcFINAL
global frameRATE

on run
    set frameRATE to "23.98" -- test frame rate
    set tcSTART to "04:03:02:01" -- test Value 1
    set tcDURATION to "01:02:03:04" -- teste Value 2

    my calcFinalTC()
    display dialog tcFINAL
end run

on calcFinalTC()
    set FF to (word 4 of tcSTART) + (word 4 of tcDURATION)
    set SS to (word 3 of tcSTART) + (word 3 of tcDURATION)
    set MM to (word 2 of tcSTART) + (word 2 of tcDURATION)
    set HH to (word 1 of tcSTART) + (word 1 of tcDURATION)
    if FF ≥ frameRATE then
        set FF to (FF - (round (frameRATE)))
        set SS to (SS + 1)
    end if
    if SS ≥ 60 then
        set SS to (SS - 60)
        set MM to (MM + 1)
    end if
    if MM ≥ 60 then
        set MM to (MM - 60)
        set HH to (HH + 1)
    end if
    if HH > 23 then
        display dialog "The timeline can't be larger than 24 hours" buttons {"OK"}
        error -128
    end if
    if the length of ((FF div 1) as string) = 1 then
        set FF to "0" & FF
    end if
    if the length of ((SS div 1) as string) = 1 then
        set SS to "0" & SS
    end if
    if the length of ((MM div 1) as string) = 1 then
        set MM to "0" & MM
    end if
    if the length of ((HH div 1) as string) = 1 then
        set HH to "0" & HH
    end if
    set tcFINAL to HH & ":" & MM & ":" & SS & ":" & FF
end calcFinalTC

    
posta Mateus Ribeiro 10.09.2018 - 01:12
fonte

0 risposte

Leggi altre domande sui tag