public override IDisposable Set() {
var selectedFilter = AcSettingsHolder.Video.PostProcessingFilter;
if (string.IsNullOrEmpty(selectedFilter) || string.Equals(selectedFilter, @"default", StringComparison.OrdinalIgnoreCase)) {
return null;
}
var source = Path.Combine(AcRootDirectory.Instance.RequireValue, @"system", @"cfg", @"ppfilters", selectedFilter + @".ini");
if (!File.Exists(source)) return null;
try {
var backup = Backup;
if (File.Exists(backup)) {
File.Delete(backup);
}
var destination = Destination;
if (File.Exists(destination)) {
File.Move(destination, backup);
}
FileUtils.Hardlink(source, destination);
} catch (Exception e) {
Logging.Warning("Set(): " + e);
}
return this;
}