/*
* 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.AbstractConverter;
-import eu.svjatoslav.meviz.encoder.converters.AvconvAudio;
-import eu.svjatoslav.meviz.encoder.converters.AvconvVideo;
-import eu.svjatoslav.meviz.encoder.converters.Convert;
-import eu.svjatoslav.meviz.encoder.converters.Ffmpeg2theora;
-import eu.svjatoslav.meviz.encoder.converters.Flac;
-import eu.svjatoslav.meviz.encoder.converters.Midi2Wav;
-import eu.svjatoslav.meviz.encoder.converters.Ogg2Wav;
-
public class FormatsRegistry {
- public ArrayList<AbstractConverter> encoders = new ArrayList<AbstractConverter>();
+ private final ArrayList<AbstractConverter> encoders = new ArrayList<>();
+
+ public FormatsRegistry() {
+ // video conversion
+ registerEncoder(new Ffmpeg2theora());
+ registerEncoder(new FFMpegVideo());
- public FormatsRegistry() {
- // video conversion
- registerEncoder(new Ffmpeg2theora());
- registerEncoder(new AvconvVideo());
+ // image conversion
+ registerEncoder(new Convert());
- // image conversion
- registerEncoder(new Convert());
+ // image to text (OCR)
+ registerEncoder(new Ocr());
- // audio conversion
- registerEncoder(new Ogg2Wav());
- registerEncoder(new Flac());
- registerEncoder(new AvconvAudio());
- registerEncoder(new Midi2Wav());
- }
+ // audio conversion
+ registerEncoder(new Ogg2Wav());
+ registerEncoder(new Flac());
+ registerEncoder(new FFMpegAudio());
+ registerEncoder(new Midi2Wav());
+ }
- public List<AbstractConverter> getEncoders(final String sourceFormat,
- final String targetFormat) {
+ public List<AbstractConverter> getEncoders(final String sourceFormat,
+ final String targetFormat) {
- final String sourceFormatLowerCase = sourceFormat.toLowerCase();
- final String targetFormatLowerCase = targetFormat.toLowerCase();
+ final String sourceFormatLowerCase = sourceFormat.toLowerCase();
+ final String targetFormatLowerCase = targetFormat.toLowerCase();
- final ArrayList<AbstractConverter> encoders = new ArrayList<AbstractConverter>();
+ final ArrayList<AbstractConverter> encoders = new ArrayList<>();
- for (final AbstractConverter encoder : this.encoders)
- if (encoder.supportsSource(sourceFormatLowerCase))
- if (encoder.supportsTarget(targetFormatLowerCase)) {
- encoders.add(encoder);
- return encoders;
- }
+ for (final AbstractConverter encoder : this.encoders)
+ if (encoder.supportsSource(sourceFormatLowerCase))
+ if (encoder.supportsTarget(targetFormatLowerCase)) {
+ encoders.add(encoder);
+ return encoders;
+ }
- return encoders;
- }
+ return encoders;
+ }
- public void registerEncoder(final AbstractConverter encoder) {
- encoders.add(encoder);
- }
+ private void registerEncoder(final AbstractConverter encoder) {
+ encoders.add(encoder);
+ }
}