toCli method

List<String> toCli()

Converts this command to a series of CLI arguments, which can be passed to a Process for execution.

Implementation

List<String> toCli() {
  List<String> commands = [];
  List<String> inputsList = [];
  if ((returnProgress) && Platform.isWindows) {
    inputsList.addAll(['-progress', '-']);
  }
  for (var input in inputs) {
    inputsList.addAll(input.args);
  }
  List<String> argsList = [];
  for (var arg in args) {
    argsList.addAll(arg.toArgs());
  }
  List<String> filtersList = [];
  if ((filterGraph != null) && (filterGraph!.chains.isNotEmpty)) {
    filtersList.addAll(['-filter_complex', filterGraph!.toCli()]);
  }
  commands.addAll(inputsList);
  commands.addAll(argsList);
  commands.addAll(filtersList);
  commands.add(outputFilepath);
  return commands;
}