javauis/mmapi_akn/baseline/src/cmmamidiplayer.cpp
branchRCL_3
changeset 21 4376525cdefb
parent 14 04becd199f91
equal deleted inserted replaced
19:71c436fe3ce0 21:4376525cdefb
   143         ChangeState(ERealized);
   143         ChangeState(ERealized);
   144     }
   144     }
   145     DEBUG("MMA: CMMAMidiPlayer: DeallocateL -");
   145     DEBUG("MMA: CMMAMidiPlayer: DeallocateL -");
   146 }
   146 }
   147 
   147 
   148 void CMMAMIDIPlayer::StartL()
   148 void CMMAMIDIPlayer::StartL(TBool aPostEvent)
   149 {
   149 {
   150     iMediaTime = KTimeUnknown;
   150     iMediaTime = KTimeUnknown;
   151 
   151 
   152     // Player is already started if this player is constructed with
   152     // Player is already started if this player is constructed with
   153     // device://midi locator.
   153     // device://midi locator.
   156     if (!isDeviceMidi)
   156     if (!isDeviceMidi)
   157     {
   157     {
   158         iMidi->Play();
   158         iMidi->Play();
   159     }
   159     }
   160 
   160 
   161     // inform java side
   161     if (aPostEvent)
   162     PostLongEvent(CMMAPlayerEvent::EStarted, iStartedEventTime);
   162     {
       
   163         // inform java side
       
   164         PostLongEvent(CMMAPlayerEvent::EStarted, iStartedEventTime);
       
   165     }
   163     ChangeState(EStarted);
   166     ChangeState(EStarted);
   164 
   167 
   165     // To achieve similar functionality as reference implementation,
   168     // To achieve similar functionality as reference implementation,
   166     // END_OF_MEDIA must be sent right after Start on device://midi.
   169     // END_OF_MEDIA must be sent right after Start on device://midi.
   167     if (isDeviceMidi)
   170     if (isDeviceMidi)
   333     {
   336     {
   334         iRepeatCount++;
   337         iRepeatCount++;
   335 
   338 
   336         if (iRepeatForever || iRepeatCount < iRepeatNumberOfTimes)
   339         if (iRepeatForever || iRepeatCount < iRepeatNumberOfTimes)
   337         {
   340         {
   338             StartL();
   341             StartL(ETrue);
   339         }
   342         }
   340         else
   343         else
   341         {
   344         {
   342             iRepeatCount = 0;
   345             iRepeatCount = 0;
   343         }
   346         }