Project

General

Profile

« Previous | Next » 

Revision 34e43b0a

Added by Leszek Koltunski over 5 years ago

Progress with DistortedCube.

View differences:

src/main/java/org/distorted/library/effectqueue/EffectQueue.java
337 337
    {
338 338
    if( mMax[mIndex]>mNumEffectsToBe || !mCreated )
339 339
      {
340
      mJobs.add(new Job(ATTACH,0,false,effect));
340
      mJobs.add(new Job(ATTACH,-1,false,effect));
341
      InternalMaster.newSlave(this);
342
      mNumEffectsToBe++;
343
      return true;
344
      }
345

  
346
    return false;
347
    }
348

  
349
///////////////////////////////////////////////////////////////////////////////////////////////////
350

  
351
  public boolean add(Effect effect, int position)
352
    {
353
    if( mMax[mIndex]>mNumEffectsToBe || !mCreated )
354
      {
355
      mJobs.add(new Job(ATTACH,position,false,effect));
341 356
      InternalMaster.newSlave(this);
342 357
      mNumEffectsToBe++;
343 358
      return true;
......
373 388
                     break;
374 389
        case ATTACH: if( mMax[mIndex]>mNumEffects ) // it is possible that we have first
375 390
                       {                            // added effects and then lowered mMax
376
                       mCurrentDuration[mNumEffects] = 0;
377
                       mEffects[mNumEffects] = job.effect;
378
                       mName[mNumEffects] = job.effect.getName().ordinal();
391
                       int position = job.num;
392

  
393
                       if( position==-1 )
394
                         {
395
                         mCurrentDuration[mNumEffects] = 0;
396
                         mEffects[mNumEffects] = job.effect;
397
                         mName[mNumEffects] = job.effect.getName().ordinal();
398
                         }
399
                       else if( position>=0 && position<=mNumEffects )
400
                         {
401
                         //android.util.Log.e("queue", "adding new effect to pos "+position);
402

  
403
                         for(int j=mNumEffects; j>position; j--)
404
                           {
405
                           mCurrentDuration[j] = mCurrentDuration[j-1];
406
                           mEffects[j]         = mEffects[j-1];
407
                           mName[j]            = mName[j-1];
408
                           }
409

  
410
                         mCurrentDuration[position] = 0;
411
                         mEffects[position] = job.effect;
412
                         mName[position] = job.effect.getName().ordinal();
413
                         }
414

  
379 415
                       mNumEffects++;
380 416
                       changed = true;
381 417
                       }
src/main/java/org/distorted/library/main/DistortedEffects.java
194 194

  
195 195
///////////////////////////////////////////////////////////////////////////////////////////////////
196 196
/**
197
 * Add a new Effect to our queue.
197
 * Add a new Effect to the tail of our queue.
198 198
 *
199 199
 * @param effect The Effect to add.
200 200
 * @return <code>true</code> if operation was successful, <code>false</code> otherwise.
......
204 204
    int num = effect.getType().ordinal();
205 205
    return mQueues[num].add(effect);
206 206
    }
207

  
208
///////////////////////////////////////////////////////////////////////////////////////////////////
209
/**
210
 * Add a new Effect to our queue at a specified position.
211
 *
212
 * @param effect The Effect to add.
213
 * @param position the place in the effects queue where to add the new effect.
214
 * @return <code>true</code> if operation was successful, <code>false</code> otherwise.
215
 */
216
  public boolean apply(Effect effect, int position)
217
    {
218
    int num = effect.getType().ordinal();
219
    return mQueues[num].add(effect,position);
220
    }
207 221
  }

Also available in: Unified diff