diff options
Diffstat (limited to 'visualization/renderer/main.cpp')
-rw-r--r-- | visualization/renderer/main.cpp | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/visualization/renderer/main.cpp b/visualization/renderer/main.cpp index ec4dd1d..cca8a12 100644 --- a/visualization/renderer/main.cpp +++ b/visualization/renderer/main.cpp @@ -2,17 +2,32 @@ #include <QCommandLineParser> #include "qmpvisrendercore.hpp" +#include "qmpsettingsro.hpp" int main(int argc,char **argv) { QCoreApplication::setApplicationName("qmpvisrender"); + QCoreApplication::setApplicationVersion("0.0.0"); QCoreApplication a(argc,argv); QCommandLineParser clp; clp.setApplicationDescription("Renderer a visualization of a midi file."); clp.addHelpOption(); - clp.parse(a.arguments()); - qmpVisRenderCore core; - core.loadVisualizationLibrary(); + clp.addVersionOption(); + clp.addOption({{"f","output-file"},"File name of the output file.","filename","output.mp4"}); + clp.addOption({"ffmpeg-args","Custom output option arguments for ffmpeg.","args","-vf vflip -pix_fmt yuv420p -c:v libx264 -preset slow -crf 22"}); + clp.addOption({"ffmpeg-pre-args","Custom arguments passed to ffmpeg before input arguments.","args",""}); + clp.addOption({"ffmpeg-exec","Specify the path to the ffmpeg executable.","exec","ffmpeg"}); + clp.addOption({{"s","show-window"},"Do not hide the visualization window."}); + clp.addOption({{"c","config"},"Load options from the configuration file.","qmprc file"}); + clp.addOption({{"o","option"},"Set option for the visualization module.","key-value pair"}); + clp.addPositionalArgument("file","MIDI file to render"); + clp.process(a.arguments()); + qmpVisRenderCore core(&clp); + if(clp.positionalArguments().empty()) + clp.showHelp(1); + if(!core.loadVisualizationLibrary()) + return 1; + core.loadSettings(); if(clp.positionalArguments().size()) core.setMIDIFile(clp.positionalArguments().front().toStdString().c_str()); core.startRender(); |