//
//  NvTimelineData.h
//  SDKDemo
//
//  说明：这是一个单例类，里面记录了用户编辑过程中用到信息：片段、主题、字幕、贴纸、转场、粒子、滤镜、配音、音乐。
//  供NvTimelineUtil类的函数在重建时间线的时候使用。
//
//  Created by shizhouhu on 2018/6/26.
 //
//

#import <Foundation/Foundation.h>
#import "NvTimelineDataModel.h"

@interface NvTimelineData : NSObject

+(NvTimelineData *) sharedInstance;

/**
 * 编辑片段信息
 */
@property(strong, nonatomic) NSMutableArray<NvEditDataModel *> *editDataArray;

/**
 * 已添加主题信息
 */
@property(strong, nonatomic) NvThemeInfoModel *themeInfo;

/**
 * 已添加字幕信息
 */
@property(strong, nonatomic) NSMutableArray<NvCaptionInfoModel *> *captionDataArray;

/**
 * 已添加贴纸信息
 */
@property(strong, nonatomic) NSMutableArray<NvStickerInfoModel *> *stickerDataArray;

/**
 * 已添加水印信息
 */
@property(strong, nonatomic) NvWatermarkInfoModel *watermarkInfo;

/**
 * 已添加转场信息
 */
@property(strong, nonatomic) NSMutableArray<NvTransitionInfoModel *> *transitionDataArray;

/**
 * 已添加粒子信息
 */
@property(strong, nonatomic) NSMutableArray<NvParticleInfoModel *> *particleDataArray;

/**
 * 已添加视频特效信息
 */
@property(strong, nonatomic) NSMutableArray<NvTimeFilterInfoModel *> *videoFxDataArray;

/**
 * 配音对象
 */
@property(strong, nonatomic) NvDubbingModel *dubbingModel;

/**
 * 已添加音乐信息
 */
@property(strong, nonatomic) NSMutableArray<NvMusicInfoModel *> *musicDataArray;

/**
 * 素材添加顺序
 */
@property(strong, nonatomic) NSMutableArray<NSString *> *dataOrder;

/**
 * 清空数据
 */
- (void)clear;

@end
