<!--
{
  "availability" : [
    "FxPlug: 4.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "professional_video_applications",
  "identifier" : "/documentation/professional_video_applications/FxKeyframeAPI_v3",
  "metadataVersion" : "0.1.0",
  "role" : "Protocol",
  "symbol" : {
    "kind" : "Protocol",
    "modules" : [
      "Professional Video Applications"
    ],
    "preciseIdentifier" : "c:objc(pl)FxKeyframeAPI_v3"
  },
  "title" : "FxKeyframeAPI_v3"
}
-->

# FxKeyframeAPI_v3

A collection of methods for manipulating the keyframes of your FxPlug 4 plug-in.

```
protocol FxKeyframeAPI_v3
```

## Overview

These methods allow you to get keyframe information about any parameter your plug-in has. You can also set keyframes, which can be useful for creating presets and automating common uses of your plug-ins.

## Topics

### Instance Methods

[`func add(UnsafePointer<FxKeyframe>, toParameter: Int, andChannel: Int) -> (any Error)?`](/documentation/professional_video_applications/FxKeyframeAPI_v3/add(_:toParameter:andChannel:))

Adds a keyframe at the given time.

[`func channelCount(UnsafeMutablePointer<Int>, forParameter: Int) -> (any Error)?`](/documentation/professional_video_applications/FxKeyframeAPI_v3/channelCount(_:forParameter:))

Returns the number of channels in a parameter.

[`func keyframe(UnsafeMutablePointer<FxKeyframe>, atOrAfter: CMTime, fromParameter: Int, andChannel: Int) -> (any Error)?`](/documentation/professional_video_applications/FxKeyframeAPI_v3/keyframe(_:atOrAfter:fromParameter:andChannel:))

Returns the info about the nearest next keyframe.

[`func keyframe(UnsafeMutablePointer<FxKeyframe>, atOrBefore: CMTime, fromParameter: Int, andChannel: Int) -> (any Error)?`](/documentation/professional_video_applications/FxKeyframeAPI_v3/keyframe(_:atOrBefore:fromParameter:andChannel:))

Returns the info about the nearest previous keyframe.

[`func keyframe(UnsafeMutablePointer<FxKeyframe>, forParameter: Int, channel: Int, andIndex: Int) -> (any Error)?`](/documentation/professional_video_applications/FxKeyframeAPI_v3/keyframe(_:forParameter:channel:andIndex:))

Returns the keyframe info for the keyframe at a given index.

[`func keyframeCount(UnsafeMutablePointer<Int>, forParameter: Int, andChannel: Int) -> (any Error)?`](/documentation/professional_video_applications/FxKeyframeAPI_v3/keyframeCount(_:forParameter:andChannel:))

Returns the number of keyframes for a parameter’s channel.

[`func parameter(Int, channel: Int, hasKeyframe: UnsafeMutablePointer<ObjCBool>, at: CMTime) -> (any Error)?`](/documentation/professional_video_applications/FxKeyframeAPI_v3/parameter(_:channel:hasKeyframe:at:))

Tells whether there is a keyframe at a given time.

[`func removeAllKeyframes(forParameter: Int, andChannel: Int) -> (any Error)?`](/documentation/professional_video_applications/FxKeyframeAPI_v3/removeAllKeyframes(forParameter:andChannel:))

Remove all keyframes from the given parameter’s channel.

[`func removeKeyframe(at: Int, fromParameter: Int, andChannel: Int) -> (any Error)?`](/documentation/professional_video_applications/FxKeyframeAPI_v3/removeKeyframe(at:fromParameter:andChannel:))

Removes the keyframe at the given index.

[`func setKeyframeIndex(Int, with: UnsafePointer<FxKeyframe>, forParameter: Int, andChannel: Int) -> (any Error)?`](/documentation/professional_video_applications/FxKeyframeAPI_v3/setKeyframeIndex(_:with:forParameter:andChannel:))

Sets the keyframe at the given index to have the given info.

### Structure

[`struct FxKeyframe`](/documentation/professional_video_applications/FxKeyframe)

### Constants

[`typealias FxKeyframeStyle`](/documentation/professional_video_applications/FxKeyframeStyle)

Constants for specifying the type of keyframe.

[`var kFxKeyframe_V3: Int32`](/documentation/professional_video_applications/kFxKeyframe_V3)

[`var kFxKeyframe_CurrentVersion: Int32`](/documentation/professional_video_applications/kFxKeyframe_CurrentVersion)



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)