Transitions between two clips, as a PLAN of verbs the route catalog already names.
Two clips on different video tracks overlap in time; the UPPER one is
animated over the overlap and the audio is crossed. plan answers the
calls that do it:
{:ok {:overlap [start end) :upper id :calls [[route-id params] ...]}}
Feed each call to timeline/apply-verb (the :document transport) or to the
HTTP client: the same calls mean the same thing in both, and the result
stays editable in the .kdenlive project as ordinary keyframes and fades.
Kinds :dissolve the upper clip's opacity crosses 0..1 :slide-left :slide-right the incoming picture pushes in from a side :slide-up :slide-down
Which clip is animated follows from the tracks, never from a flag: a later track renders on top. When the INCOMING clip is on top it fades or slides in; when the OUTGOING clip is on top it fades or slides out, uncovering the incoming one under it.
Refused by name rather than approximated: the clips do not overlap, they share a track, the incoming clip does not start inside the outgoing one, either is on an audio track, or the upper clip already carries transform keyframes a transition would overwrite.
Portable: clojure.core only. No for.
Transitions between two clips, as a PLAN of verbs the route catalog already
names.
Two clips on different video tracks overlap in time; the UPPER one is
animated over the overlap and the audio is crossed. `plan` answers the
calls that do it:
{:ok {:overlap [start end) :upper id :calls [[route-id params] ...]}}
Feed each call to `timeline/apply-verb` (the :document transport) or to the
HTTP client: the same calls mean the same thing in both, and the result
stays editable in the .kdenlive project as ordinary keyframes and fades.
Kinds
:dissolve the upper clip's opacity crosses 0..1
:slide-left :slide-right the incoming picture pushes in from a side
:slide-up :slide-down
Which clip is animated follows from the tracks, never from a flag: a later
track renders on top. When the INCOMING clip is on top it fades or slides
in; when the OUTGOING clip is on top it fades or slides out, uncovering the
incoming one under it.
Refused by name rather than approximated: the clips do not overlap, they
share a track, the incoming clip does not start inside the outgoing one,
either is on an audio track, or the upper clip already carries transform
keyframes a transition would overwrite.
Portable: clojure.core only. No `for`.(apply-plan state calls ctx)STATE after every call of a plan result, through the :document transport.
=> {:ok state'} | the first {:error ...}.
STATE after every call of a `plan` result, through the :document transport.
=> {:ok state'} | the first {:error ...}.(plan state {:keys [kind from to] :or {kind :dissolve}})The verb calls that make KIND happen between timeline clips FROM (outgoing) and TO (incoming). => {:ok {...}} | {:error ...}.
The verb calls that make KIND happen between timeline clips FROM (outgoing)
and TO (incoming). => {:ok {...}} | {:error ...}.cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |