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

Change buttons column count based on parameter preferences

This commit is contained in:
aNNiMON 2023-10-20 15:21:16 +03:00
parent dec332cab5
commit 8ce2530443
11 changed files with 55 additions and 3 deletions

View File

@ -49,9 +49,10 @@ public class MediaProcessingKeyboard {
final String paramId = param.getId(); final String paramId = param.getId();
final int maxSize = param.getPossibleValuesSize(); final int maxSize = param.getPossibleValuesSize();
int index = 0; int index = 0;
final int columnsCount = param.defaultColumnsCount();
while (index < maxSize) { while (index < maxSize) {
final var row = new ArrayList<InlineKeyboardButton>(); final var row = new ArrayList<InlineKeyboardButton>();
for (int i = 0; i < BUTTON_COLUMNS; i++) { for (int i = 0; i < columnsCount; i++) {
if (index < maxSize) { if (index < maxSize) {
String value = param.describeValueByIndex(index); String value = param.describeValueByIndex(index);
row.add(inlineKeyboardButton(value, callbackData(PARAMETER, callbackParams(paramId, index)))); row.add(inlineKeyboardButton(value, callbackData(PARAMETER, callbackParams(paramId, index))));

View File

@ -23,6 +23,11 @@ public class AudioBitrate extends StringParameter {
} }
} }
@Override
public int defaultColumnsCount() {
return 3;
}
@Override @Override
public <I> void accept(Visitor<I> visitor, I input) { public <I> void accept(Visitor<I> visitor, I input) {
visitor.visit(this, input); visitor.visit(this, input);

View File

@ -28,6 +28,11 @@ public class AudioEffect extends StringParameter {
} }
} }
@Override
public int defaultColumnsCount() {
return 3;
}
@Override @Override
public <I> void accept(Visitor<I> visitor, I input) { public <I> void accept(Visitor<I> visitor, I input) {
visitor.visit(this, input); visitor.visit(this, input);

View File

@ -8,13 +8,18 @@ public class AudioPitch extends StringParameter {
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",
"1.15", "1.25", "1.5" "1.15", "1.25", "1.5", "2"
); );
public AudioPitch() { public AudioPitch() {
super("apitch", "Audio pitch", VALUES, "1"); super("apitch", "Audio pitch", VALUES, "1");
} }
@Override
public int defaultColumnsCount() {
return 4;
}
@Override @Override
public <I> void accept(Visitor<I> visitor, I input) { public <I> void accept(Visitor<I> visitor, I input) {
visitor.visit(this, input); visitor.visit(this, input);

View File

@ -22,6 +22,11 @@ public class AudioStreamByLanguage extends StringParameter {
} }
} }
@Override
public int defaultColumnsCount() {
return 3;
}
@Override @Override
public <I> void accept(Visitor<I> visitor, I input) { public <I> void accept(Visitor<I> visitor, I input) {
visitor.visit(this, input); visitor.visit(this, input);

View File

@ -6,7 +6,9 @@ import java.util.List;
public class AudioVolume extends StringParameter { public class AudioVolume extends StringParameter {
private static final List<String> VALUES = List.of( private static final List<String> VALUES = List.of(
"-15dB", "-10dB", "-5dB", "-2dB", "", "2dB", "5dB", "10dB", "15dB" "-15dB", "-10dB", "-5dB", "-2dB",
"", "2dB", "5dB", "10dB",
"15dB", "30dB", "50dB"
); );
public AudioVolume() { public AudioVolume() {
@ -22,6 +24,11 @@ public class AudioVolume extends StringParameter {
} }
} }
@Override
public int defaultColumnsCount() {
return 4;
}
@Override @Override
public <I> void accept(Visitor<I> visitor, I input) { public <I> void accept(Visitor<I> visitor, I input) {
visitor.visit(this, input); visitor.visit(this, input);

View File

@ -53,6 +53,10 @@ public abstract class Parameter<T> {
value = safeGet(index); value = safeGet(index);
} }
public int defaultColumnsCount() {
return 2;
}
@Override @Override
public String toString() { public String toString() {
return "[" + id + "] " + displayName + ": " + value; return "[" + id + "] " + displayName + ": " + value;

View File

@ -15,6 +15,11 @@ public class SpeedFactor extends StringParameter {
super("speed", "Speed", VALUES, "1"); super("speed", "Speed", VALUES, "1");
} }
@Override
public int defaultColumnsCount() {
return 4;
}
@Override @Override
public <I> void accept(Visitor<I> visitor, I input) { public <I> void accept(Visitor<I> visitor, I input) {
visitor.visit(this, input); visitor.visit(this, input);

View File

@ -23,6 +23,11 @@ public class VideoBitrate extends StringParameter {
} }
} }
@Override
public int defaultColumnsCount() {
return 4;
}
@Override @Override
public <I> void accept(Visitor<I> visitor, I input) { public <I> void accept(Visitor<I> visitor, I input) {
visitor.visit(this, input); visitor.visit(this, input);

View File

@ -22,6 +22,11 @@ public class VideoFrameRate extends StringParameter {
} }
} }
@Override
public int defaultColumnsCount() {
return 3;
}
@Override @Override
public <I> void accept(Visitor<I> visitor, I input) { public <I> void accept(Visitor<I> visitor, I input) {
visitor.visit(this, input); visitor.visit(this, input);

View File

@ -22,6 +22,11 @@ public class VideoScale extends StringParameter {
} }
} }
@Override
public int defaultColumnsCount() {
return 3;
}
@Override @Override
public <I> void accept(Visitor<I> visitor, I input) { public <I> void accept(Visitor<I> visitor, I input) {
visitor.visit(this, input); visitor.visit(this, input);