X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsonitus%2Fdata%2FFormat.java;h=59ba9ef9d921f7c861209108fb1756dc32e9c49e;hb=3b2756c528ffa628472cf0b33a440d545607102d;hp=2188b2a4995d98692873df5c215dfc3b78bfd326;hpb=8c09fba110650c1bab4d7bb813bade45fe2b80f5;p=sonitus.git diff --git a/src/main/java/net/pterodactylus/sonitus/data/Format.java b/src/main/java/net/pterodactylus/sonitus/data/Format.java index 2188b2a..59ba9ef 100644 --- a/src/main/java/net/pterodactylus/sonitus/data/Format.java +++ b/src/main/java/net/pterodactylus/sonitus/data/Format.java @@ -91,6 +91,46 @@ public class Format { } // + // MUTATORS + // + + /** + * Returns a format with the same parameters as this format and the given + * number of channels. + * + * @param channels + * The new number of channels + * @return A new format with the given number of channels + */ + public Format channels(int channels) { + return new Format(channels, frequency, encoding); + } + + /** + * Returns a new format with the same parameters as this format and the given + * frequency. + * + * @param frequency + * The new frequency + * @return A new format with the given frequency + */ + public Format frequency(int frequency) { + return new Format(channels, frequency, encoding); + } + + /** + * Returns a new format with the same parameters as this format and the given + * encoding. + * + * @param encoding + * The new encoding + * @return A new format with the given encoding + */ + public Format encoding(String encoding) { + return new Format(channels, frequency, encoding); + } + + // // OBJECT METHODS // @@ -110,7 +150,7 @@ public class Format { @Override public String toString() { - return String.format("%d Channels, %d Hz, %s", channels, frequency, encoding); + return String.format("%d Channel%s, %d Hz, %s", channels, channels != 1 ? "s" : "", frequency, encoding); } }