mirror of
https://github.com/n00mkrad/flowframes.git
synced 2025-12-16 16:37:48 +01:00
57 lines
1.5 KiB
C#
57 lines
1.5 KiB
C#
|
|
using System;
|
|||
|
|
using System.Collections.Generic;
|
|||
|
|
using System.Linq;
|
|||
|
|
using System.Text;
|
|||
|
|
using System.Threading.Tasks;
|
|||
|
|
|
|||
|
|
namespace Flowframes.Data
|
|||
|
|
{
|
|||
|
|
public struct ResumeState
|
|||
|
|
{
|
|||
|
|
public bool autoEncode;
|
|||
|
|
public int interpolatedInputFrames;
|
|||
|
|
|
|||
|
|
public ResumeState (bool autoEncArg, int lastInterpInFrameArg)
|
|||
|
|
{
|
|||
|
|
autoEncode = autoEncArg;
|
|||
|
|
interpolatedInputFrames = lastInterpInFrameArg;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public ResumeState(string serializedData)
|
|||
|
|
{
|
|||
|
|
autoEncode = false;
|
|||
|
|
interpolatedInputFrames = 0;
|
|||
|
|
|
|||
|
|
Dictionary<string, string> entries = new Dictionary<string, string>();
|
|||
|
|
|
|||
|
|
foreach (string line in serializedData.SplitIntoLines())
|
|||
|
|
{
|
|||
|
|
if (line.Length < 3) continue;
|
|||
|
|
string[] keyValuePair = line.Split('|');
|
|||
|
|
entries.Add(keyValuePair[0], keyValuePair[1]);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
foreach (KeyValuePair<string, string> entry in entries)
|
|||
|
|
{
|
|||
|
|
switch (entry.Key)
|
|||
|
|
{
|
|||
|
|
case "AUTOENC": autoEncode = bool.Parse(entry.Value); break;
|
|||
|
|
case "INTERPOLATEDINPUTFRAMES": interpolatedInputFrames = entry.Value.GetInt(); break;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public override string ToString ()
|
|||
|
|
{
|
|||
|
|
string s = $"AUTOENC|{autoEncode}\n";
|
|||
|
|
|
|||
|
|
if (!autoEncode)
|
|||
|
|
{
|
|||
|
|
s += $"INTERPOLATEDINPUTFRAMES|{interpolatedInputFrames}";
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return s;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|