Added a way to customize the main Command | https://trello.com/c/PAFUGf6x/

This commit is contained in:
CrushedPixel
2015-07-03 00:08:19 +02:00
parent 071a44e526
commit ff9e341c9a
2 changed files with 23 additions and 8 deletions

View File

@@ -33,7 +33,7 @@ public class GuiRenderSettings extends GuiScreen {
private GuiVideoFramerateSlider framerateSlider;
private GuiNumberInput bitrateInput;
private GuiColorPicker colorPicker;
private GuiAdvancedTextField ffmpegArguments;
private GuiAdvancedTextField commandInput, ffmpegArguments;
private List<GuiButton> permanentButtons = new ArrayList<GuiButton>();
private List<GuiButton> defaultButtons = new ArrayList<GuiButton>();
@@ -144,6 +144,10 @@ public class GuiRenderSettings extends GuiScreen {
colorPicker = new GuiColorPicker(GuiConstants.RENDER_SETTINGS_COLOR_PICKER, 0, 0, I18n.format("replaymod.gui.rendersettings.skycolor")+": ", 0, 0);
colorPicker.enabled = enableGreenscreen.isChecked();
commandInput = new GuiAdvancedTextField(fontRendererObj, 0, 0, 50, 20);
commandInput.hint = I18n.format("replaymod.gui.rendersettings.command");
commandInput.setMaxStringLength(3200);
ffmpegArguments = new GuiAdvancedTextField(fontRendererObj, 0, 0, 50, 20);
ffmpegArguments.hint = I18n.format("replaymod.gui.rendersettings.ffmpeghint");
ffmpegArguments.setMaxStringLength(3200);
@@ -229,10 +233,12 @@ public class GuiRenderSettings extends GuiScreen {
i++;
}
ffmpegArguments.width = 305;
ffmpegArguments.xPosition = (this.width-ffmpegArguments.width)/2;
ffmpegArguments.yPosition = this.virtualY + 20 + ((i/2)*25);
commandInput.width = 55;
commandInput.xPosition = (this.width-305)/2;
commandInput.yPosition = ffmpegArguments.yPosition = this.virtualY + 20 + ((i/2)*25);
ffmpegArguments.width = 245;
ffmpegArguments.xPosition = commandInput.xPosition+commandInput.width+5;
initialized = true;
}
@@ -269,12 +275,13 @@ public class GuiRenderSettings extends GuiScreen {
rendererDropdown.drawTextBox();
} else {
commandInput.drawTextBox();
ffmpegArguments.drawTextBox();
String[] rows = StringUtils.splitStringInMultipleRows(I18n.format("replaymod.gui.rendersettings.ffmpeg.description"), 305);
int i = 0;
for(String row : rows) {
drawString(fontRendererObj, row, ffmpegArguments.xPosition, ffmpegArguments.yPosition + 30 + (15 * i), Color.WHITE.getRGB());
drawString(fontRendererObj, row, commandInput.xPosition, commandInput.yPosition + 30 + (15 * i), Color.WHITE.getRGB());
i++;
}
}
@@ -288,6 +295,7 @@ public class GuiRenderSettings extends GuiScreen {
yRes.mouseClicked(mouseX, mouseY, mouseButton);
bitrateInput.mouseClicked(mouseX, mouseY, mouseButton);
} else {
commandInput.mouseClicked(mouseX, mouseY, mouseButton);
ffmpegArguments.mouseClicked(mouseX, mouseY, mouseButton);
}
@@ -335,6 +343,7 @@ public class GuiRenderSettings extends GuiScreen {
yRes.textboxKeyTyped(typedChar, keyCode);
bitrateInput.textboxKeyTyped(typedChar, keyCode);
} else {
commandInput.textboxKeyTyped(typedChar, keyCode);
ffmpegArguments.textboxKeyTyped(typedChar, keyCode);
}
super.keyTyped(typedChar, keyCode);
@@ -345,6 +354,7 @@ public class GuiRenderSettings extends GuiScreen {
xRes.updateCursorCounter();
yRes.updateCursorCounter();
bitrateInput.updateCursorCounter();
commandInput.updateCursorCounter();
ffmpegArguments.updateCursorCounter();
super.updateScreen();
}
@@ -450,8 +460,12 @@ public class GuiRenderSettings extends GuiScreen {
}
options.setRenderer(renderer);
if(commandInput.getText().trim().length() > 0) {
options.setExportCommand(commandInput.getText().trim());
}
if(ffmpegArguments.getText().trim().length() > 0) {
options.setExportCommandArgs(ffmpegArguments.getText());
options.setExportCommandArgs(ffmpegArguments.getText().trim());
}
ReplayHandler.startPath(options);

View File

@@ -295,8 +295,9 @@ replaymod.gui.rendersettings.quality=Video Quality
replaymod.gui.rendersettings.chromakey=Chroma Keying
replaymod.gui.rendersettings.skycolor=Sky Color
replaymod.gui.rendersettings.ffmpeghint=ffmpeg Command Line Arguments
replaymod.gui.rendersettings.ffmpeg.description=If you define custom Command Line Arguments for ffmpeg, they will replace the Replay Mod's Render Settings (File Destination, Codec, Bitrate, Framerate etc.)
replaymod.gui.rendersettings.command=Command
replaymod.gui.rendersettings.arguments=Command Line Arguments
replaymod.gui.rendersettings.ffmpeg.description=By default, the Replay Mod will render videos as .webm files. If you are an advanced user, you can customize the command line parameters used to export the video. For more information, check http://replaymod.com/docs
replaymod.gui.rendersettings.stablecamera=Ignore Camera Rotation
replaymod.gui.rendersettings.exportyoutube=Export for YouTube