Rename dummy filter to basic filter.
[sonitus.git] / src / main / java / net / pterodactylus / sonitus / data / ControlledComponent.java
index 29c7828..d3fde8e 100644 (file)
@@ -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<Controller<?>> 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);
+
 }