luxlabs header browser preview


@class AVMutableVideoComposition, AVPlayerItem, AVMutableComposition, AVMutableAudioMix, JFXCompositionTrackGroup, NSMutableArray, NSMutableDictionary, PVColorSpace, NSMapTable;
@protocol JFXCompositionPlayableElementsDataSource, JFXPlayableElement;

@interface JFXComposition : NSObject

@property (retain, nonatomic) NSMapTable *clipCustomRendererMap;
@property (retain, nonatomic) NSMapTable *clipFaceTrackingPlaybackDelegates;
@property (retain, nonatomic) AVPlayerItem *playerItem;
@property (retain, nonatomic) AVMutableComposition *avComposition;
@property (retain, nonatomic) AVMutableVideoComposition *videoComposition;
@property (retain, nonatomic) AVMutableAudioMix *audioMix;
@property (nonatomic) struct { long long value; int timescale; unsigned int flags; long long epoch; } duration;
@property (retain, nonatomic) AVPlayerItem *avPlayerItem;
@property (retain, nonatomic) JFXCompositionTrackGroup *trackGroupA;
@property (retain, nonatomic) JFXCompositionTrackGroup *trackGroupB;
@property (retain, nonatomic) NSMutableArray *audioMixParameters;
@property (retain, nonatomic) id<JFXCompositionPlayableElementsDataSource> clipsDataSource;
@property (retain, nonatomic) NSMutableArray *videoCompositionInstructions;
@property (nonatomic) struct CGSize { double width; double height; } previousRenderSize;
@property (nonatomic) long long backgroundAudioTrackCount;
@property (nonatomic) long long foregroundAudioTrackCount;
@property (nonatomic) BOOL needsUpdate;
@property (retain, nonatomic) id<JFXPlayableElement> liveTransformClip;
@property (nonatomic) struct PVTransformAnimationInfo { struct { long long value; int timescale; unsigned int flags; long long epoch; } time; struct CGPoint { double x; double y; } translation; double scale; double rotation; } liveCompositionTransform;
@property (retain, nonatomic) NSMutableDictionary *assetsUsed;
@property (nonatomic) float globalAudioVolume;
@property (nonatomic) struct CGSize { double width; double height; } viewSize;
@property (readonly, nonatomic) PVColorSpace *compositionOutputColorSpace;
@property (nonatomic) unsigned int parentCode;

+ (Class)instructionBuilderClass;

- (BOOL)validate;
- (void)dealloc;
- (void)update;
- (void).cxx_destruct;
- (void)markDirty;
- (void)playerItemDidReachEnd:(id)a0;
- (BOOL)CARenderingRequiredForClip:(id)a0;
- (void)CFX_updateFaceTrackingPlaybackDelegateForClip:(id)a0 sharedMediaDataReaderManager:(id)a1;
- (BOOL)JFX_hasEffectThatRequiresCustomRendering;
- (BOOL)JFX_isContigousSplitClip:(id)a0 nextClip:(id)a1;
- (float)JFX_preferredRenderScale;
- (int)outputFrameRate;
- (id)AVComposition;
- (void)JFX_applyPropertiesForCustomVideoCompositor:(id)a0;
- (void)JFX_finalizeVideoComposition;
- (void)JFX_setScrubbingModeForPlaybackDelegates:(BOOL)a0;
- (void)JFX_updateFaceTrackPropertiesForEffectsAtTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a0;
- (void)JFX_updatePlaybackDelegatesForClip:(id)a0;
- (void)addBackTracksIfRemoved;
- (id)animojiCustomRendererPropsForClip:(id)a0 currentCustomProperties:(id)a1 sharedMediaDataReaderManager:(id)a2;
- (void)applyExportProperties;
- (void)applyPlayerItemProperties;
- (void)applyPropertiesForCustomVideoCompositor:(id)a0;
- (void)assetUsed:(id)a0;
- (id)buildClipList;
- (void)burnInPlaybackSettings:(id)a0;
- (void)clearPlayerItemProperties;
- (struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; })clipTransform:(id)a0;
- (struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })compositionItemsForState:(id)a0 compositionItem:(id *)a1 backfillCompositionItem:(id *)a2;
- (id)dissolveGraphNode:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a0 from:(id)a1 to:(id)a2;
- (BOOL)emptySegments:(id)a0;
- (id)initWithClipsDataSource:(id)a0;
- (id)instructionToHideTrackID:(int)a0 whileHidingTrackID:(int)a1 timeRange:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a2 requiresCARendering:(BOOL)a3;
- (id)instructionToShowClip:(id)a0 withTrackID:(int)a1 withTransform:(struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; })a2 timeRange:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a3 requiresCARendering:(BOOL)a4;
- (id)instructionToShowImageWithClip:(id)a0 withTransform:(struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; })a1 timeRange:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a2 requiresCARendering:(BOOL)a3;
- (void)logAddedTrack:(id)a0 trackID:(int)a1;
- (void)logRemovedTrack:(id)a0 trackID:(int)a1;
- (id)newInstructionGraphNodeForClip:(id)a0 clipTransform:(struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; })a1 compositionTrackID:(int)a2 requiresTweening:(BOOL *)a3 isContainedClip:(BOOL)a4;
- (void)noteEffectChangeForClip:(id)a0;
- (void)notifyNeedsEffectPropertiesUpdatedForPlaybackTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a0;
- (void)notifyPlaybackDidStopAtTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a0;
- (void)notifyPlaybackWillBegin;
- (void)rebuildCompositionInstructionsForVideoStillTitleCard:(id)a0;
- (void)refreshAVComposition;
- (void)removeEmptyTracks;
- (void)removeTrackFromAudioMix:(int)a0;
- (BOOL)removeTrackIfEmpty:(id)a0;
- (void)setRenderScale;
- (struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })timeRangeForClip:(id)a0;
- (void)updateRenderSizeIfNeeded;
- (id)updateVideoAndAudioInstructionForState:(id)a0 previousInstructions:(id)a1 waitingForResource:(BOOL)a2;
- (float)volumeForClip:(id)a0;

@end