X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsonitus%2Fdata%2FControlledComponent.java;h=d3fde8e8aad270f1c845d6b940eda0e9e0fd6f9b;hb=70ea21939e6071954eeb05f2a42e7a92a02013f2;hp=29c78287f5fc2982345c1312bcab3129fe0b369d;hpb=fa5196e029c48636f0c318311244395cfae49953;p=sonitus.git diff --git a/src/main/java/net/pterodactylus/sonitus/data/ControlledComponent.java b/src/main/java/net/pterodactylus/sonitus/data/ControlledComponent.java index 29c7828..d3fde8e 100644 --- a/src/main/java/net/pterodactylus/sonitus/data/ControlledComponent.java +++ b/src/main/java/net/pterodactylus/sonitus/data/ControlledComponent.java @@ -27,6 +27,22 @@ import java.util.List; public interface ControlledComponent { /** + * Adds the given listener to the list of registered listeners. + * + * @param metadataListener + * The metadata listener to add + */ + void addMetadataListener(MetadataListener metadataListener); + + /** + * Removes the given listener from the list of registered listeners. + * + * @param metadataListener + * The metadata listener to remove + */ + void removeMetadataListener(MetadataListener metadataListener); + + /** * Returns the name of this controlled component. * * @return The name of this controlled component @@ -47,4 +63,14 @@ public interface ControlledComponent { */ public List> controllers(); + /** + * Notifies the sink that the metadata of the audio stream has changed. This + * method should return as fast as possible, i.e. every heavy lifting should be + * done from another thread. + * + * @param metadata + * The new metadata + */ + void metadataUpdated(Metadata metadata); + }