javauis/mmapi_qt/baseline/src/cmmamiditempocontrol.cpp
changeset 26 dc7c549001d5
parent 23 98ccebc37403
equal deleted inserted replaced
23:98ccebc37403 26:dc7c549001d5
    41 CMMAMIDITempoControl::CMMAMIDITempoControl(CMMAMIDIPlayer* aPlayer)
    41 CMMAMIDITempoControl::CMMAMIDITempoControl(CMMAMIDIPlayer* aPlayer)
    42 {
    42 {
    43     iPlayer = aPlayer;
    43     iPlayer = aPlayer;
    44     iTempo = KMMAMIDIDefaultTempoInMicroBeats;
    44     iTempo = KMMAMIDIDefaultTempoInMicroBeats;
    45 
    45 
    46     LOG( EJavaMMAPI, EInfo, "MMA:CMMAMIDITempoControl::CMMAMIDITempoControl");
    46     LOG(EJavaMMAPI, EInfo, "MMA:CMMAMIDITempoControl::CMMAMIDITempoControl");
    47 }
    47 }
    48 
    48 
    49 CMMAMIDITempoControl::~CMMAMIDITempoControl()
    49 CMMAMIDITempoControl::~CMMAMIDITempoControl()
    50 {
    50 {
    51     LOG( EJavaMMAPI, EInfo, "MMA:CMMAMIDITempoControl::~CMMAMIDITempoControl");
    51     LOG(EJavaMMAPI, EInfo, "MMA:CMMAMIDITempoControl::~CMMAMIDITempoControl");
    52 }
    52 }
    53 
    53 
    54 inline void CMMAMIDITempoControl::ConstructL()
    54 inline void CMMAMIDITempoControl::ConstructL()
    55 {
    55 {
    56     LOG( EJavaMMAPI, EInfo, "MMA:CMMAMIDITempoControl::ConstructL");
    56     LOG(EJavaMMAPI, EInfo, "MMA:CMMAMIDITempoControl::ConstructL");
    57 
    57 
    58     iPlayer->addObserverL(this);
    58     iPlayer->addObserverL(this);
    59     iPlayer->AddStateListenerL(this);
    59     iPlayer->AddStateListenerL(this);
    60 }
    60 }
    61 
    61 
    62 const TDesC& CMMAMIDITempoControl::ClassName() const
    62 const TDesC& CMMAMIDITempoControl::ClassName() const
    63 {
    63 {
    64     LOG( EJavaMMAPI, EInfo, "MMA:CMMAMIDITempoControl::ClassName");
    64     LOG(EJavaMMAPI, EInfo, "MMA:CMMAMIDITempoControl::ClassName");
    65     return KMIDITempoControlName;
    65     return KMIDITempoControlName;
    66 }
    66 }
    67 
    67 
    68 
    68 
    69 TInt CMMAMIDITempoControl::TempoL()
    69 TInt CMMAMIDITempoControl::TempoL()
    70 {
    70 {
    71     LOG( EJavaMMAPI, EInfo, "MMA: CMMAMIDITempoControl: TempoL");
    71     LOG(EJavaMMAPI, EInfo, "MMA: CMMAMIDITempoControl: TempoL");
    72 
    72 
    73     return iTempo / KMicroBeatsInMiliBeat;
    73     return iTempo / KMicroBeatsInMiliBeat;
    74 }
    74 }
    75 
    75 
    76 TInt CMMAMIDITempoControl::SetTempoL(TInt aTempo)
    76 TInt CMMAMIDITempoControl::SetTempoL(TInt aTempo)
    77 {
    77 {
    78     LOG( EJavaMMAPI, EInfo, "MMA: CMMAMIDITempoControl: SetTempoL");
    78     LOG(EJavaMMAPI, EInfo, "MMA: CMMAMIDITempoControl: SetTempoL");
    79     TInt tempo = aTempo;
    79     TInt tempo = aTempo;
    80     if (tempo < KMMAMIDIMinimumTempo)
    80     if (tempo < KMMAMIDIMinimumTempo)
    81     {
    81     {
    82         tempo = KMMAMIDIMinimumTempo;
    82         tempo = KMMAMIDIMinimumTempo;
    83     }
    83     }
    84     if (tempo > KMMAMIDIMaximumTempo)
    84     if (tempo > KMMAMIDIMaximumTempo)
    85     {
    85     {
    86         tempo = KMMAMIDIMaximumTempo;
    86         tempo = KMMAMIDIMaximumTempo;
    87     }
    87     }
    88 
    88 
    89     LOG1( EJavaMMAPI, EInfo, "MMA: CMMAMIDITempoControl: SetTempoL: setting tempo %d",
    89     LOG1(EJavaMMAPI, EInfo, "MMA: CMMAMIDITempoControl: SetTempoL: setting tempo %d",
    90               tempo);
    90          tempo);
    91 
    91 
    92     // Convert tempo to micro-beats.
    92     // Convert tempo to micro-beats.
    93     tempo *= KMicroBeatsInMiliBeat;
    93     tempo *= KMicroBeatsInMiliBeat;
    94 
    94 
    95     // Set the tempo to the midi client if the player state is not REALIZED.
    95     // Set the tempo to the midi client if the player state is not REALIZED.
   102         tempo = iPlayer->MidiClient()->TempoMicroBeatsPerMinuteL();
   102         tempo = iPlayer->MidiClient()->TempoMicroBeatsPerMinuteL();
   103     }
   103     }
   104 
   104 
   105     iTempo = tempo;
   105     iTempo = tempo;
   106 
   106 
   107     LOG1( EJavaMMAPI, EInfo, "MMA: CMMAMIDITempoControl: SetTempoL: Tempo set: %d",
   107     LOG1(EJavaMMAPI, EInfo, "MMA: CMMAMIDITempoControl: SetTempoL: Tempo set: %d",
   108               tempo / KMicroBeatsInMiliBeat);
   108          tempo / KMicroBeatsInMiliBeat);
   109 
   109 
   110     return tempo / KMicroBeatsInMiliBeat;
   110     return tempo / KMicroBeatsInMiliBeat;
   111 }
   111 }
   112 
   112 
   113 TInt CMMAMIDITempoControl::SetRateL(TInt aRate)
   113 TInt CMMAMIDITempoControl::SetRateL(TInt aRate)
   143     return iPlayer->MidiClient()->MinPlaybackRateL();
   143     return iPlayer->MidiClient()->MinPlaybackRateL();
   144 }
   144 }
   145 
   145 
   146 void CMMAMIDITempoControl::StateChanged(TInt aState)
   146 void CMMAMIDITempoControl::StateChanged(TInt aState)
   147 {
   147 {
   148     LOG1( EJavaMMAPI, EInfo, "CMMAMIDITempoControl:: StateChanged, state = %d", aState);
   148     LOG1(EJavaMMAPI, EInfo, "CMMAMIDITempoControl:: StateChanged, state = %d", aState);
   149 
   149 
   150     // If tempo was set when the player was in REALIZED state, set the tempo
   150     // If tempo was set when the player was in REALIZED state, set the tempo
   151     // now when the player has been prefetched.
   151     // now when the player has been prefetched.
   152     if ((aState == CMMAPlayer::EPrefetched) &&
   152     if ((aState == CMMAPlayer::EPrefetched) &&
   153             (iTempo != KMMAMIDIDefaultTempoInMicroBeats))
   153             (iTempo != KMMAMIDIDefaultTempoInMicroBeats))
   154     {
   154     {
   155         CMidiClientUtility* midi = iPlayer->MidiClient();
   155         CMidiClientUtility* midi = iPlayer->MidiClient();
   156         TRAPD(err, midi->SetTempoL(iTempo));
   156         TRAPD(err, midi->SetTempoL(iTempo));
   157 
   157 
   158         ELOG1( EJavaMMAPI, "CMMAMIDITempoControl:: StateChanged, err = %d", err);
   158         ELOG1(EJavaMMAPI, "CMMAMIDITempoControl:: StateChanged, err = %d", err);
   159 
   159 
   160         if (err != KErrNone)
   160         if (err != KErrNone)
   161         {
   161         {
   162             iPlayer->PostStringEvent(CMMAPlayerEvent::EError,
   162             iPlayer->PostStringEvent(CMMAPlayerEvent::EError,
   163                                      KMMAMidiTempoStateChangedError);
   163                                      KMMAMidiTempoStateChangedError);
   176 {
   176 {
   177 }
   177 }
   178 
   178 
   179 void CMMAMIDITempoControl::MmcuoTempoChanged(TInt aMicroBeatsPerMinute)
   179 void CMMAMIDITempoControl::MmcuoTempoChanged(TInt aMicroBeatsPerMinute)
   180 {
   180 {
   181     LOG( EJavaMMAPI, EInfo, "CMMAMIDITempoControl:: MmcuoTempoChanged");
   181     LOG(EJavaMMAPI, EInfo, "CMMAMIDITempoControl:: MmcuoTempoChanged");
   182 
   182 
   183     iTempo = aMicroBeatsPerMinute;
   183     iTempo = aMicroBeatsPerMinute;
   184 }
   184 }
   185 
   185 
   186 void CMMAMIDITempoControl::MmcuoVolumeChanged(TInt /*aChannel*/,TReal32 /*aVolumeInDecibels*/)
   186 void CMMAMIDITempoControl::MmcuoVolumeChanged(TInt /*aChannel*/,TReal32 /*aVolumeInDecibels*/)