2 * Meviz - Various tools collection to work with multimedia.
3 * Copyright (C) 2012, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of version 2 of the GNU General Public License
7 * as published by the Free Software Foundation.
10 package eu.svjatoslav.meviz.encoder;
12 import java.util.ArrayList;
13 import java.util.List;
15 import eu.svjatoslav.meviz.encoder.converters.Avi2Ogv;
16 import eu.svjatoslav.meviz.encoder.converters.Converter;
17 import eu.svjatoslav.meviz.encoder.converters.Jpeg2Png;
18 import eu.svjatoslav.meviz.encoder.converters.Mkv2Mp4;
19 import eu.svjatoslav.meviz.encoder.converters.Mp42Ogv;
20 import eu.svjatoslav.meviz.encoder.converters.Mts2Mkv;
21 import eu.svjatoslav.meviz.encoder.converters.Mts2Mp4;
22 import eu.svjatoslav.meviz.encoder.converters.Ogg2Mp3;
23 import eu.svjatoslav.meviz.encoder.converters.Ogg2Wav;
24 import eu.svjatoslav.meviz.encoder.converters.Png2Tiff;
25 import eu.svjatoslav.meviz.encoder.converters.Tif2Png;
26 import eu.svjatoslav.meviz.encoder.converters.Tiff2Png;
27 import eu.svjatoslav.meviz.encoder.converters.Wav2flac;
28 import eu.svjatoslav.meviz.encoder.converters.Wav2mp3;
30 public class FormatsRegistry {
32 public ArrayList<Converter> encoders = new ArrayList<Converter>();
34 public FormatsRegistry() {
36 registerEncoder(new Avi2Ogv());
37 registerEncoder(new Mp42Ogv());
38 registerEncoder(new Mts2Mp4());
39 registerEncoder(new Mts2Mkv());
40 registerEncoder(new Mkv2Mp4());
43 registerEncoder(new Jpeg2Png());
44 registerEncoder(new Png2Tiff());
45 registerEncoder(new Tiff2Png());
46 registerEncoder(new Tif2Png());
49 registerEncoder(new Ogg2Wav());
50 registerEncoder(new Wav2mp3());
51 registerEncoder(new Wav2flac());
52 registerEncoder(new Ogg2Mp3());
55 public List<Converter> getEncoders(final String sourceFormat,
56 final String targetFormat) {
58 final String sourceFormatLowerCase = sourceFormat.toLowerCase();
59 final String targetFormatLowerCase = targetFormat.toLowerCase();
61 final ArrayList<Converter> encoders = new ArrayList<Converter>();
63 for (final Converter encoder : this.encoders)
64 if (encoder.getSourceFileExtension().equals(sourceFormatLowerCase))
65 if (encoder.getTargetFileExtension().equals(
66 targetFormatLowerCase)) {
67 encoders.add(encoder);
74 public void registerEncoder(final Converter encoder) {
75 encoders.add(encoder);