commit 452f8632eaef720e56f3333ce0fa7e8788baae46
Author: Leszek Koltunski <leszek@distoretedandroid.org>
Date:   Thu Dec 15 13:24:50 2016 +0000

    Bugfix: only add EffectListener ONCE!

diff --git a/src/main/java/org/distorted/library/EffectQueue.java b/src/main/java/org/distorted/library/EffectQueue.java
index f78e155..6a23472 100644
--- a/src/main/java/org/distorted/library/EffectQueue.java
+++ b/src/main/java/org/distorted/library/EffectQueue.java
@@ -121,18 +121,20 @@ abstract class EffectQueue
   void addListener(EffectListener el)
     {
     if( mListeners==null ) mListeners = new Vector<>(2,2);
-   
-    mListeners.add(el);
-    mNumListeners++;
+
+    if( !mListeners.contains(el) )
+      {
+      mListeners.add(el);
+      mNumListeners++;
+      }
     }
  
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
   void removeListener(EffectListener el)
     {
-    if( mNumListeners>0 )  
+    if( mListeners.remove(el) )
       {
-      mListeners.remove(el);
       mNumListeners--;
       }
     }
