Add blend export to GuiRenderSettings

This commit is contained in:
Jonas Herzig
2019-03-14 18:14:47 +01:00
parent 7cc62b13c1
commit 1e1104f4d3
3 changed files with 26 additions and 3 deletions

View File

@@ -59,6 +59,14 @@ public class GuiRenderSettings extends GuiScreen implements Closeable {
new GuiDropdownMenu<RenderSettings.RenderMethod>().onSelection(new Consumer<Integer>() {
@Override
public void consume(Integer old) {
if (renderMethodDropdown.getSelectedValue() == RenderSettings.RenderMethod.BLEND
^ encodingPresetDropdown.getSelectedValue() == RenderSettings.EncodingPreset.BLEND) {
if (renderMethodDropdown.getSelectedValue() == RenderSettings.RenderMethod.BLEND) {
encodingPresetDropdown.setSelected(RenderSettings.EncodingPreset.BLEND);
} else {
encodingPresetDropdown.setSelected(RenderSettings.EncodingPreset.MP4_DEFAULT);
}
}
updateInputs();
}
}).setMinSize(new Dimension(0, 20)).setValues(RenderSettings.RenderMethod.values());
@@ -75,6 +83,10 @@ public class GuiRenderSettings extends GuiScreen implements Closeable {
@Override
public void consume(Integer old) {
RenderSettings.EncodingPreset newPreset = encodingPresetDropdown.getSelectedValue();
if (newPreset == RenderSettings.EncodingPreset.BLEND
&& encodingPresetDropdown.getSelectedValue() == RenderSettings.EncodingPreset.BLEND) {
renderMethodDropdown.setSelected(RenderSettings.RenderMethod.BLEND);
}
// Update export arguments to match new Preset
exportArguments.setText(newPreset.getValue());
// If the user hasn't changed the output file by themselves,
@@ -361,6 +373,17 @@ public class GuiRenderSettings extends GuiScreen implements Closeable {
injectSphericalMetadata.setDisabled().setTooltip(new GuiTooltip().setColor(Colors.RED)
.setI18nText("replaymod.gui.rendersettings.sphericalmetadata.error"));
}
// Enable/Disable various options for blend export
boolean isBlend = renderMethod == RenderSettings.RenderMethod.BLEND;
if (isBlend) {
videoWidth.setDisabled();
videoHeight.setDisabled();
}
encodingPresetDropdown.setEnabled(!isBlend);
exportCommand.setEnabled(!isBlend);
exportArguments.setEnabled(!isBlend);
antiAliasingDropdown.setEnabled(!isBlend);
}
protected String updateResolution() {