OCIO and Fullscreen stubs
This commit is contained in:
@@ -49,6 +49,31 @@ std::filesystem::path WriteConfigFixture()
|
||||
<< " \"alphaRequired\": true\n"
|
||||
<< " }\n"
|
||||
<< " },\n"
|
||||
<< " \"windowOutput\": {\n"
|
||||
<< " \"fullscreen\": false,\n"
|
||||
<< " \"borderless\": true,\n"
|
||||
<< " \"display\": \"Display 2\",\n"
|
||||
<< " \"x\": 1920,\n"
|
||||
<< " \"y\": 0,\n"
|
||||
<< " \"width\": 1920,\n"
|
||||
<< " \"height\": 1080,\n"
|
||||
<< " \"vsync\": true,\n"
|
||||
<< " \"allowTearing\": false\n"
|
||||
<< " },\n"
|
||||
<< " \"colorPipeline\": {\n"
|
||||
<< " \"ocioEnabled\": true,\n"
|
||||
<< " \"ocioConfig\": \"config/ocio/studio.ocio\",\n"
|
||||
<< " \"inputColorSpace\": \"rec709\",\n"
|
||||
<< " \"workingColorSpace\": \"acescg\",\n"
|
||||
<< " \"outputColorSpace\": \"rec709_display\",\n"
|
||||
<< " \"display\": \"sRGB\",\n"
|
||||
<< " \"view\": \"Filmic\",\n"
|
||||
<< " \"look\": \"none\",\n"
|
||||
<< " \"exposure\": 0.5,\n"
|
||||
<< " \"gamma\": 1.1,\n"
|
||||
<< " \"workingFormat\": \"rgba16f\",\n"
|
||||
<< " \"linearWorkingSpace\": true\n"
|
||||
<< " },\n"
|
||||
<< " \"autoReload\": false,\n"
|
||||
<< " \"maxTemporalHistoryFrames\": 8,\n"
|
||||
<< " \"previewEnabled\": true,\n"
|
||||
@@ -92,6 +117,27 @@ void TestLoadsRuntimeHostConfig()
|
||||
Expect(config.runtimeShaderId == "solid-color", "runtime shader id loads");
|
||||
Expect(config.output.externalKeyingEnabled, "external keying loads");
|
||||
Expect(config.output.outputAlphaRequired, "output alpha requirement loads");
|
||||
Expect(!config.windowOutput.fullscreen, "window output fullscreen loads");
|
||||
Expect(config.windowOutput.borderless, "window output borderless loads");
|
||||
Expect(config.windowOutput.display == "Display 2", "window output display loads");
|
||||
Expect(config.windowOutput.x == 1920, "window output x loads");
|
||||
Expect(config.windowOutput.y == 0, "window output y loads");
|
||||
Expect(config.windowOutput.width == 1920, "window output width loads");
|
||||
Expect(config.windowOutput.height == 1080, "window output height loads");
|
||||
Expect(config.windowOutput.vsync, "window output vsync loads");
|
||||
Expect(!config.windowOutput.allowTearing, "window output tearing flag loads");
|
||||
Expect(config.colorPipeline.ocioEnabled, "OCIO enabled loads");
|
||||
Expect(config.colorPipeline.ocioConfig == "config/ocio/studio.ocio", "OCIO config path loads");
|
||||
Expect(config.colorPipeline.inputColorSpace == "rec709", "input color space loads");
|
||||
Expect(config.colorPipeline.workingColorSpace == "acescg", "working color space loads");
|
||||
Expect(config.colorPipeline.outputColorSpace == "rec709_display", "output color space loads");
|
||||
Expect(config.colorPipeline.display == "sRGB", "OCIO display loads");
|
||||
Expect(config.colorPipeline.view == "Filmic", "OCIO view loads");
|
||||
Expect(config.colorPipeline.look == "none", "OCIO look loads");
|
||||
Expect(config.colorPipeline.exposure == 0.5, "OCIO exposure loads");
|
||||
Expect(config.colorPipeline.gamma == 1.1, "OCIO gamma loads");
|
||||
Expect(config.colorPipeline.workingFormat == "rgba16f", "working format loads");
|
||||
Expect(config.colorPipeline.linearWorkingSpace, "linear working space flag loads");
|
||||
|
||||
std::filesystem::remove(path);
|
||||
}
|
||||
@@ -154,6 +200,10 @@ void TestConfigJsonRoundTrip()
|
||||
config.output.backend = "ndi";
|
||||
config.output.device = "Program";
|
||||
config.output.pixelFormat = "uyvy8";
|
||||
config.windowOutput.fullscreen = false;
|
||||
config.windowOutput.display = "Display 3";
|
||||
config.colorPipeline.ocioEnabled = true;
|
||||
config.colorPipeline.workingColorSpace = "acescg";
|
||||
config.previewEnabled = true;
|
||||
config.runtimeShaderId = "solid-color";
|
||||
|
||||
@@ -166,6 +216,10 @@ void TestConfigJsonRoundTrip()
|
||||
Expect(parsed.output.backend == "ndi", "output backend round trips");
|
||||
Expect(parsed.output.device == "Program", "output device round trips");
|
||||
Expect(parsed.output.pixelFormat == "uyvy8", "output pixel format round trips");
|
||||
Expect(!parsed.windowOutput.fullscreen, "window output fullscreen round trips");
|
||||
Expect(parsed.windowOutput.display == "Display 3", "window output display round trips");
|
||||
Expect(parsed.colorPipeline.ocioEnabled, "OCIO enabled round trips");
|
||||
Expect(parsed.colorPipeline.workingColorSpace == "acescg", "working color space round trips");
|
||||
Expect(parsed.previewEnabled, "preview enabled round trips");
|
||||
Expect(parsed.runtimeShaderId == "solid-color", "runtime shader id round trips");
|
||||
}
|
||||
|
||||
@@ -131,6 +131,9 @@ int main()
|
||||
ExpectContains(json, "\"height\":1080", "state JSON should expose output height");
|
||||
ExpectContains(json, "\"input\":{\"backend\":\"decklink\",\"device\":\"default\",\"resolution\":\"1080p\",\"frameRate\":\"59.94\"}", "state JSON should expose nested input config");
|
||||
ExpectContains(json, "\"output\":{\"backend\":\"decklink\",\"device\":\"default\",\"resolution\":\"1080p\",\"frameRate\":\"59.94\",\"pixelFormat\":\"auto\",\"systemFramePixelFormat\":\"8-bit BGRA\",\"keying\"", "state JSON should expose nested output config");
|
||||
ExpectContains(json, "\"windowOutput\":{\"fullscreen\":true,\"borderless\":true,\"display\":\"default\"", "state JSON should expose window output stub config");
|
||||
ExpectContains(json, "\"colorPipeline\":{\"ocioEnabled\":false,\"ocioConfig\":\"\",\"inputColorSpace\":\"scene_linear\"", "state JSON should expose color pipeline stub config");
|
||||
ExpectContains(json, "\"workingFormat\":\"rgba16f\",\"linearWorkingSpace\":true", "state JSON should expose linear 16-bit float pipeline intent");
|
||||
ExpectContains(json, "\"osc\":{\"configured\":true,\"listening\":false", "state JSON should expose OSC stub status");
|
||||
ExpectContains(json, "\"videoOutput\":{\"enabled\":true,\"backend\":\"decklink\"", "state JSON should expose neutral video output status");
|
||||
ExpectContains(json, "\"scheduleFailures\":2", "state JSON should expose neutral video output schedule failures");
|
||||
|
||||
Reference in New Issue
Block a user