commit 06dbccad073abfc680ac02af3b1567e9b57b65cf
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Wed Mar 20 16:10:51 2019 +0000

    Before we start rendering, effects can always be added.

diff --git a/src/main/java/org/distorted/library/main/EffectQueue.java b/src/main/java/org/distorted/library/main/EffectQueue.java
index 1057259..ee65ec0 100644
--- a/src/main/java/org/distorted/library/main/EffectQueue.java
+++ b/src/main/java/org/distorted/library/main/EffectQueue.java
@@ -56,6 +56,7 @@ abstract class EffectQueue implements DistortedMaster.Slave
   private ArrayList<DistortedNode> mNodes = null;
   private long mID;
   private int mIndex;
+  private boolean mCreated;
 
   private class Job
     {
@@ -84,6 +85,7 @@ abstract class EffectQueue implements DistortedMaster.Slave
    
   EffectQueue(long id, int numUniforms, int index)
     {
+    mCreated            = false;
     mID                 = 0;
     mNumEffects         = 0;
     mNumEffectsToBe     = 0;
@@ -311,7 +313,7 @@ abstract class EffectQueue implements DistortedMaster.Slave
   
   boolean add(Effect effect)
     {
-    if( mMax[mIndex]>mNumEffectsToBe )
+    if( mMax[mIndex]>mNumEffectsToBe || !mCreated )
       {
       //android.util.Log.e("queue", "scheduling future add of "+effect.getName().name()+" to "+mNumEffectsToBe+" id="+effect.getID());
       //android.util.Log.e("queue", "queue id="+mDistortedEffectsID);
@@ -353,6 +355,8 @@ abstract class EffectQueue implements DistortedMaster.Slave
                        mEffects         = new Effect[max];
                        mName            = new int[max];
                        }
+                     mCreated = true;
+
                      break;
         case ATTACH: if( mMax[mIndex]>mNumEffects ) // it is possible that we have first
                        {                            // added effects and then lowered mMax
