1
0
mirror of https://github.com/aNNiMON/ffmpegbot synced 2024-09-19 22:54:20 +03:00

Add ID constant for all parameters

This commit is contained in:
aNNiMON 2024-07-02 19:45:12 +03:00
parent 1ba8208b7a
commit 72a623ef7e
16 changed files with 51 additions and 21 deletions

View File

@ -5,13 +5,14 @@ import com.annimon.ffmpegbot.commands.ffmpeg.Visitor;
import java.util.List; import java.util.List;
public class AudioBitrate extends StringParameter { public class AudioBitrate extends StringParameter {
public static final String ID = "abitrate";
private static final List<String> VALUES = List.of( private static final List<String> VALUES = List.of(
"4k", "16k", "32k", "", "64k", "128k", "4k", "16k", "32k", "", "64k", "128k",
"256k", "320k", "512k" "256k", "320k", "512k"
); );
public AudioBitrate() { public AudioBitrate() {
super("abitrate", "\uD83D\uDD08 Bitrate", VALUES, ""); super(ID, "\uD83D\uDD08 Bitrate", VALUES, "");
} }
@Override @Override

View File

@ -4,12 +4,13 @@ import com.annimon.ffmpegbot.commands.ffmpeg.Visitor;
import java.util.List; import java.util.List;
public class AudioCrystalizer extends StringParameter { public class AudioCrystalizer extends StringParameter {
public static final String ID = "crystalizer";
private static final List<String> VALUES = List.of( private static final List<String> VALUES = List.of(
"-8", "-4", "-2", "0", "2", "4", "8" "-8", "-4", "-2", "0", "2", "4", "8"
); );
public AudioCrystalizer() { public AudioCrystalizer() {
super("crystalizer", "\uD83D\uDD08 Crystalizer", VALUES, "0"); super(ID, "\uD83D\uDD08 Crystalizer", VALUES, "0");
} }
@Override @Override

View File

@ -5,6 +5,8 @@ import com.annimon.ffmpegbot.commands.ffmpeg.Visitor;
import java.util.List; import java.util.List;
public class AudioEffect extends StringParameter { public class AudioEffect extends StringParameter {
public static final String ID = "aeffect";
public static final String ROBOT = "Robot"; public static final String ROBOT = "Robot";
public static final String ECHO = "Echo"; public static final String ECHO = "Echo";
public static final String ECHO_2 = "Echo 2"; public static final String ECHO_2 = "Echo 2";
@ -18,7 +20,7 @@ public class AudioEffect extends StringParameter {
); );
public AudioEffect() { public AudioEffect() {
super("aeffect", "\uD83D\uDD08 Effect", VALUES, ""); super(ID, "\uD83D\uDD08 Effect", VALUES, "");
} }
@Override @Override

View File

@ -5,6 +5,7 @@ import com.annimon.ffmpegbot.commands.ffmpeg.Visitor;
import java.util.List; import java.util.List;
public class AudioPitch extends StringParameter { public class AudioPitch extends StringParameter {
public static final String ID = "apitch";
private static final List<String> VALUES = List.of( private static final List<String> VALUES = List.of(
"0.6", "0.8", "0.9", "0.6", "0.8", "0.9",
"1", "1",
@ -12,7 +13,7 @@ public class AudioPitch extends StringParameter {
); );
public AudioPitch() { public AudioPitch() {
super("apitch", "\uD83D\uDD08 Pitch", VALUES, "1"); super(ID, "\uD83D\uDD08 Pitch", VALUES, "1");
} }
@Override @Override

View File

@ -5,12 +5,13 @@ import com.annimon.ffmpegbot.commands.ffmpeg.Visitor;
import java.util.List; import java.util.List;
public class AudioStreamByLanguage extends StringParameter { public class AudioStreamByLanguage extends StringParameter {
public static final String ID = "asellang";
private static final List<String> VALUES = List.of( private static final List<String> VALUES = List.of(
"", "eng", "fra", "ita", "ukr", "spa" "", "eng", "fra", "ita", "ukr", "spa"
); );
public AudioStreamByLanguage() { public AudioStreamByLanguage() {
super("asellang", "Audio Track", VALUES, ""); super(ID, "Audio Track", VALUES, "");
} }
@Override @Override

View File

@ -5,6 +5,7 @@ import com.annimon.ffmpegbot.commands.ffmpeg.Visitor;
import java.util.List; import java.util.List;
public class AudioVolume extends StringParameter { public class AudioVolume extends StringParameter {
public static final String ID = "volume";
private static final List<String> VALUES = List.of( private static final List<String> VALUES = List.of(
"-15dB", "-10dB", "-5dB", "-2dB", "-15dB", "-10dB", "-5dB", "-2dB",
"", "2dB", "5dB", "10dB", "", "2dB", "5dB", "10dB",
@ -12,7 +13,7 @@ public class AudioVolume extends StringParameter {
); );
public AudioVolume() { public AudioVolume() {
super("volume", "\uD83D\uDD08 Volume", VALUES, ""); super(ID, "\uD83D\uDD08 Volume", VALUES, "");
} }
@Override @Override

View File

@ -4,6 +4,7 @@ import com.annimon.ffmpegbot.commands.ffmpeg.Visitor;
import java.util.List; import java.util.List;
public class Contrast extends StringParameter { public class Contrast extends StringParameter {
public static final String ID = "contrast";
private static final List<String> VALUES = List.of( private static final List<String> VALUES = List.of(
"0.4", "0.6", "0.8", "0.4", "0.6", "0.8",
"1", "1.2", "1.4", "1.6", "1", "1.2", "1.4", "1.6",
@ -11,7 +12,7 @@ public class Contrast extends StringParameter {
); );
public Contrast() { public Contrast() {
super("contrast", "Contrast", VALUES, "1"); super(ID, "Contrast", VALUES, "1");
} }
@Override @Override

View File

@ -3,8 +3,10 @@ package com.annimon.ffmpegbot.parameters;
import com.annimon.ffmpegbot.commands.ffmpeg.Visitor; import com.annimon.ffmpegbot.commands.ffmpeg.Visitor;
public class DisableAudio extends BooleanParameter { public class DisableAudio extends BooleanParameter {
public static final String ID = "noaud";
public DisableAudio() { public DisableAudio() {
super("noaud", "Disable audio", false); super(ID, "Disable audio", false);
} }
@Override @Override

View File

@ -4,6 +4,7 @@ import com.annimon.ffmpegbot.commands.ffmpeg.Visitor;
import java.util.List; import java.util.List;
public class Gamma extends StringParameter { public class Gamma extends StringParameter {
public static final String ID = "gamma";
private static final List<String> VALUES = List.of( private static final List<String> VALUES = List.of(
"0.2", "0.4", "0.6", "0.8", "0.2", "0.4", "0.6", "0.8",
"1", "1.2", "1.4", "1.6", "1", "1.2", "1.4", "1.6",
@ -11,7 +12,7 @@ public class Gamma extends StringParameter {
); );
public Gamma() { public Gamma() {
super("gamma", "Gamma", VALUES, "1"); super(ID, "Gamma", VALUES, "1");
} }
@Override @Override

View File

@ -5,12 +5,14 @@ import com.annimon.ffmpegbot.commands.ffmpeg.Visitor;
import java.util.List; import java.util.List;
public class OutputFormat extends StringParameter { public class OutputFormat extends StringParameter {
public static final String ID = "output";
public static final String VIDEO = "VIDEO"; public static final String VIDEO = "VIDEO";
public static final String AUDIO = "AUDIO"; public static final String AUDIO = "AUDIO";
public static final String VIDEO_NOTE = "VIDEO NOTE"; public static final String VIDEO_NOTE = "VIDEO NOTE";
public OutputFormat(List<String> values, String initialValue) { public OutputFormat(List<String> values, String initialValue) {
super("output", "\uFE0F Output", values, initialValue); super(ID, "\uFE0F Output", values, initialValue);
} }
@Override @Override

View File

@ -5,29 +5,41 @@ import java.util.*;
public class Parameters extends AbstractCollection<Parameter<?>> { public class Parameters extends AbstractCollection<Parameter<?>> {
private final Map<String, Parameter<?>> parameters; private final Map<String, Parameter<?>> enabledParameters;
private final Map<String, Parameter<?>> disabledParameters;
public Parameters() { public Parameters() {
parameters = new LinkedHashMap<>(); enabledParameters = new LinkedHashMap<>();
disabledParameters = new LinkedHashMap<>();
} }
@Override @Override
public boolean add(Parameter<?> parameter) { public boolean add(Parameter<?> parameter) {
return !Objects.equals(parameter, parameters.put(parameter.id, parameter)); return !Objects.equals(parameter, enabledParameters.put(parameter.id, parameter));
} }
public Parameter<?> findById(String id) { public Parameter<?> findById(String id) {
return parameters.get(id); return enabledParameters.get(id);
}
public void disable(String id) {
Optional.ofNullable(findById(id))
.ifPresent(p -> disabledParameters.put(p.id, p));
}
public void enable(String id) {
Optional.ofNullable(disabledParameters.get(id))
.ifPresent(this::add);
} }
@NotNull @NotNull
@Override @Override
public Iterator<Parameter<?>> iterator() { public Iterator<Parameter<?>> iterator() {
return parameters.values().iterator(); return enabledParameters.values().iterator();
} }
@Override @Override
public int size() { public int size() {
return parameters.size(); return enabledParameters.size();
} }
} }

View File

@ -4,6 +4,7 @@ import com.annimon.ffmpegbot.commands.ffmpeg.Visitor;
import java.util.List; import java.util.List;
public class Saturation extends StringParameter { public class Saturation extends StringParameter {
public static final String ID = "saturation";
private static final List<String> VALUES = List.of( private static final List<String> VALUES = List.of(
"0", "0.25", "0.5", "0.75", "0", "0.25", "0.5", "0.75",
"1", "1.25", "1.5", "1.75", "1", "1.25", "1.5", "1.75",
@ -11,7 +12,7 @@ public class Saturation extends StringParameter {
); );
public Saturation() { public Saturation() {
super("saturation", "Saturation", VALUES, "1"); super(ID, "Saturation", VALUES, "1");
} }
@Override @Override

View File

@ -5,6 +5,7 @@ import com.annimon.ffmpegbot.commands.ffmpeg.Visitor;
import java.util.List; import java.util.List;
public class SpeedFactor extends StringParameter { public class SpeedFactor extends StringParameter {
public static final String ID = "speed";
private static final List<String> VALUES = List.of( private static final List<String> VALUES = List.of(
"0.5", "0.75", "0.8", "0.9", "0.5", "0.75", "0.8", "0.9",
"1", "1.25", "1.4", "1.5", "1", "1.25", "1.4", "1.5",
@ -12,7 +13,7 @@ public class SpeedFactor extends StringParameter {
); );
public SpeedFactor() { public SpeedFactor() {
super("speed", "Speed", VALUES, "1"); super(ID, "Speed", VALUES, "1");
} }
@Override @Override

View File

@ -5,13 +5,14 @@ import com.annimon.ffmpegbot.commands.ffmpeg.Visitor;
import java.util.List; import java.util.List;
public class VideoBitrate extends StringParameter { public class VideoBitrate extends StringParameter {
public static final String ID = "vbitrate";
private static final List<String> VALUES = List.of( private static final List<String> VALUES = List.of(
"16k", "32k", "", "64k", "128k", "256k", "16k", "32k", "", "64k", "128k", "256k",
"512k", "1M", "2M", "4M", "8M", "16M" "512k", "1M", "2M", "4M", "8M", "16M"
); );
public VideoBitrate() { public VideoBitrate() {
super("vbitrate", "Video bitrate", VALUES, ""); super(ID, "Video bitrate", VALUES, "");
} }
@Override @Override

View File

@ -5,12 +5,13 @@ import com.annimon.ffmpegbot.commands.ffmpeg.Visitor;
import java.util.List; import java.util.List;
public class VideoFrameRate extends StringParameter { public class VideoFrameRate extends StringParameter {
public static final String ID = "vfr";
private static final List<String> VALUES = List.of( private static final List<String> VALUES = List.of(
"5", "10", "15", "20", "25", "", "30", "45", "60" "5", "10", "15", "20", "25", "", "30", "45", "60"
); );
public VideoFrameRate() { public VideoFrameRate() {
super("vfr", "Frame rate", VALUES, ""); super(ID, "Frame rate", VALUES, "");
} }
@Override @Override

View File

@ -5,12 +5,13 @@ import com.annimon.ffmpegbot.commands.ffmpeg.Visitor;
import java.util.List; import java.util.List;
public class VideoScale extends StringParameter { public class VideoScale extends StringParameter {
public static final String ID = "scale";
private static final List<String> VALUES = List.of( private static final List<String> VALUES = List.of(
"144", "240", "360", "", "480", "720", "1080" "144", "240", "360", "", "480", "720", "1080"
); );
public VideoScale() { public VideoScale() {
super("scale", "Scale", VALUES, ""); super(ID, "Scale", VALUES, "");
} }
@Override @Override