/// <inheritdoc /> /// <summary> /// Creates a new instance of this action. /// </summary> /// <param name="codec">Codec instance.</param> public SaveToFileAction(ICodecBase codec) : base(codec) { // add substitution templates this.templates[CommonVariable.Extension] = () => codec?.FileExtension; this.templates[CommonVariable.Type] = () => codec is IStillImageCodec ? Resources.TemplateHelper_Type_Screenshot : Resources.TemplateHelper_Type_Recording; // get file path this.path = TemplateHelper.GetString( TemplateHelper.Normalize((string)Options["PathTemplate"]), this.templates); // ensure the path exists Directory.CreateDirectory( Path.GetDirectoryName(this.path) ?? throw new InvalidOperationException("Invalid path.")); // create underlying file stream this.fileStream = new FileStream(this.path, FileMode.OpenOrCreate); }
/// <inheritdoc /> /// <summary> /// Determines whether the specified input media parameters are acceptable for this action. /// </summary> /// <param name="type">Task type</param> /// <param name="codecInstance">Codec instance</param> /// <param name="codecParams">Codec parameters</param> /// <returns>A boolean value indicating whether the specified media is supported by this action.</returns> public bool GetMediaAcceptance(TaskType type, ICodecBase codecInstance, ICodecParameters codecParams) => type == TaskType.StillImage;
/// <inheritdoc /> /// <summary> /// Creates a new instance of this class. /// </summary> /// <param name="codec">Codec instance.</param> public Action(ICodecBase codec) { Codec = codec; }
/// <inheritdoc /> /// <summary> /// Creates a new instance of this action. /// </summary> /// <param name="codec">Codec instance.</param> public CopyToClipboardAction(ICodecBase codec) : base(codec) { }