X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fmeviz%2Fencoder%2FFormatsRegistry.java;h=b106cbaee1719342053fbab6274994bc22577856;hb=304c3aace09cf8a96ec381dabc21725398e87b55;hp=ab794c3a2da6334ee6c10a5935750a6a02c87825;hpb=50cb7085d553fdd82cd06806cd27b1675299f719;p=meviz.git diff --git a/src/main/java/eu/svjatoslav/meviz/encoder/FormatsRegistry.java b/src/main/java/eu/svjatoslav/meviz/encoder/FormatsRegistry.java index ab794c3..b106cba 100755 --- a/src/main/java/eu/svjatoslav/meviz/encoder/FormatsRegistry.java +++ b/src/main/java/eu/svjatoslav/meviz/encoder/FormatsRegistry.java @@ -1,71 +1,60 @@ /* * Meviz - Various tools collection to work with multimedia. - * Copyright (C) 2012, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu - * + * Copyright (C) 2012 -- 2019, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu + * * This program is free software; you can redistribute it and/or - * modify it under the terms of version 2 of the GNU General Public License - * as published by the Free Software Foundation. - */ + * modify it under the terms of version 3 of the GNU Lesser General Public License + * or later as published by the Free Software Foundation. +*/ package eu.svjatoslav.meviz.encoder; +import eu.svjatoslav.meviz.encoder.converters.*; + import java.util.ArrayList; import java.util.List; -import eu.svjatoslav.meviz.encoder.converters.Avi2Ogv; -import eu.svjatoslav.meviz.encoder.converters.Converter; -import eu.svjatoslav.meviz.encoder.converters.Jpeg2Png; -import eu.svjatoslav.meviz.encoder.converters.Mp42Ogv; -import eu.svjatoslav.meviz.encoder.converters.Mts2Mkv; -import eu.svjatoslav.meviz.encoder.converters.Mts2Mp4; -import eu.svjatoslav.meviz.encoder.converters.Ogg2Mp3; -import eu.svjatoslav.meviz.encoder.converters.Ogg2Wav; -import eu.svjatoslav.meviz.encoder.converters.Png2Tiff; -import eu.svjatoslav.meviz.encoder.converters.Tiff2Png; -import eu.svjatoslav.meviz.encoder.converters.Wav2mp3; - public class FormatsRegistry { - public ArrayList encoders = new ArrayList(); + private final ArrayList encoders = new ArrayList<>(); public FormatsRegistry() { - // video conversion - registerEncoder(new Avi2Ogv()); - registerEncoder(new Mp42Ogv()); - registerEncoder(new Mts2Mp4()); - registerEncoder(new Mts2Mkv()); + // video conversion + registerEncoder(new Ffmpeg2theora()); + registerEncoder(new FFMpegVideo()); // image conversion - registerEncoder(new Jpeg2Png()); - registerEncoder(new Png2Tiff()); - registerEncoder(new Tiff2Png()); + registerEncoder(new Convert()); + + // image to text (OCR) + registerEncoder(new Ocr()); // audio conversion registerEncoder(new Ogg2Wav()); - registerEncoder(new Wav2mp3()); - registerEncoder(new Ogg2Mp3()); + registerEncoder(new Flac()); + registerEncoder(new FFMpegAudio()); + registerEncoder(new Midi2Wav()); } - public List getEncoders(final String sourceFormat, final String targetFormat) { + public List getEncoders(final String sourceFormat, + final String targetFormat) { final String sourceFormatLowerCase = sourceFormat.toLowerCase(); final String targetFormatLowerCase = targetFormat.toLowerCase(); - final ArrayList encoders = new ArrayList(); + final ArrayList encoders = new ArrayList<>(); - for (final Converter encoder : this.encoders) { - if (encoder.getSourceFileExtension().equals(sourceFormatLowerCase)) { - if (encoder.getTargetFileExtension().equals(targetFormatLowerCase)) { + for (final AbstractConverter encoder : this.encoders) + if (encoder.supportsSource(sourceFormatLowerCase)) + if (encoder.supportsTarget(targetFormatLowerCase)) { encoders.add(encoder); return encoders; } - } - } return encoders; } - public void registerEncoder(final Converter encoder) { + private void registerEncoder(final AbstractConverter encoder) { encoders.add(encoder); }