use of org.fagu.fmv.core.exec.executable.ConcatExecutable in project fmv by f-agu.
the class Append method appendAudioOrVideo.
/**
* @param sourceNum
* @param args
*/
private void appendAudioOrVideo(int sourceNum, String[] args) {
if (args.length != 3) {
getPrinter().println("usage: append <num-source> <start-time> <duration>");
return;
}
try {
Time startTime = Time.parse(args[1]);
Duration duration = Duration.parse(args[2]);
ConcatExecutable concatExecutable = getConcatExecutable();
if (concatExecutable == null) {
return;
}
CutExecutable cutExecutable = new CutExecutable(project, startTime, duration);
cutExecutable.setSource(new SourceSource(project, sourceNum));
concatExecutable.add(cutExecutable);
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
use of org.fagu.fmv.core.exec.executable.ConcatExecutable in project fmv by f-agu.
the class Console method startConsole.
/**
* @param consoleReader
* @throws IOException
*/
private void startConsole(ConsoleReader consoleReader) throws IOException {
List<Executable> executables = project.getExecutables();
if (!executables.isEmpty()) {
return;
}
consoleReader.println("Create a default structure");
GenericExecutable rootExec = new GenericExecutable(project);
FadeAudioVideoFilterExec fadeOut = new FadeAudioVideoFilterExec(project, FadeType.OUT, Time.valueOf(200), Duration.valueOf(3));
rootExec.add(fadeOut);
FadeAudioVideoFilterExec fadeIn = new FadeAudioVideoFilterExec(project, FadeType.IN, Time.valueOf(0), Duration.valueOf(2));
fadeOut.add(fadeIn);
GenericFilterExec audioMerge = new GenericFilterExec(project, "amerge");
fadeIn.add(audioMerge);
ConcatExecutable concat = new ConcatExecutable(project);
audioMerge.add(concat);
project.modified();
}
use of org.fagu.fmv.core.exec.executable.ConcatExecutable in project fmv by f-agu.
the class Append method appendImage.
/**
* @param sourceNum
* @param args
*/
private void appendImage(int sourceNum, String[] args) {
if (args.length != 3) {
getPrinter().println("usage: append <num-source> <duration>");
return;
}
Duration duration = Duration.parse(args[1]);
ConcatExecutable concatExecutable = getConcatExecutable();
if (concatExecutable == null) {
return;
}
GenericExecutable genericExecutable = new GenericExecutable(project);
genericExecutable.add(new SourceSource(project, sourceNum));
}
use of org.fagu.fmv.core.exec.executable.ConcatExecutable in project fmv by f-agu.
the class Append method getConcatExecutable.
// ********************************************
/**
* @return
*/
private ConcatExecutable getConcatExecutable() {
Executable currentExecutable = environnement.getCurrentExecutable();
if (currentExecutable != null && currentExecutable instanceof ConcatExecutable) {
return (ConcatExecutable) currentExecutable;
}
List<ConcatExecutable> execs = BaseIdentifiable.stream(project).filter(id -> id instanceof ConcatExecutable).map(id -> (ConcatExecutable) id).collect(Collectors.toList());
int size = execs.size();
if (size == 0) {
return new ConcatExecutable(project);
}
if (size == 1) {
return execs.get(0);
}
Printer printer = getPrinter();
printer.println("Too many executable.");
printer.println("List all executables: execlist");
printer.println("And select one: toexecutable <id>");
return null;
}
Aggregations