Add blend export to GuiRenderSettings
This commit is contained in:
@@ -82,10 +82,10 @@ public class RenderSettings {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean hasBitrateSetting() {
|
public boolean hasBitrateSetting() {
|
||||||
return preset.contains("%BITRATE%");
|
return preset != null && preset.contains("%BITRATE%");
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isYuv420() { return preset.contains("-pix_fmt yuv420p"); }
|
public boolean isYuv420() { return preset != null && preset.contains("-pix_fmt yuv420p"); }
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
|
|||||||
@@ -59,6 +59,14 @@ public class GuiRenderSettings extends GuiScreen implements Closeable {
|
|||||||
new GuiDropdownMenu<RenderSettings.RenderMethod>().onSelection(new Consumer<Integer>() {
|
new GuiDropdownMenu<RenderSettings.RenderMethod>().onSelection(new Consumer<Integer>() {
|
||||||
@Override
|
@Override
|
||||||
public void consume(Integer old) {
|
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();
|
updateInputs();
|
||||||
}
|
}
|
||||||
}).setMinSize(new Dimension(0, 20)).setValues(RenderSettings.RenderMethod.values());
|
}).setMinSize(new Dimension(0, 20)).setValues(RenderSettings.RenderMethod.values());
|
||||||
@@ -75,6 +83,10 @@ public class GuiRenderSettings extends GuiScreen implements Closeable {
|
|||||||
@Override
|
@Override
|
||||||
public void consume(Integer old) {
|
public void consume(Integer old) {
|
||||||
RenderSettings.EncodingPreset newPreset = encodingPresetDropdown.getSelectedValue();
|
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
|
// Update export arguments to match new Preset
|
||||||
exportArguments.setText(newPreset.getValue());
|
exportArguments.setText(newPreset.getValue());
|
||||||
// If the user hasn't changed the output file by themselves,
|
// 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)
|
injectSphericalMetadata.setDisabled().setTooltip(new GuiTooltip().setColor(Colors.RED)
|
||||||
.setI18nText("replaymod.gui.rendersettings.sphericalmetadata.error"));
|
.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() {
|
protected String updateResolution() {
|
||||||
|
|||||||
Reference in New Issue
Block a user