~mixxxcontributors/mixxx/rmx2

« back to all changes in this revision

Viewing changes to mixxx/src/engine/enginebuffer.cpp

  • Committer: Daniel Schürmann
  • Date: 2013-02-03 20:47:34 UTC
  • mfrom: (3283.1.427 1.11)
  • Revision ID: daschuer@gmx.de-20130203204734-jer3hlejf292q1qi
merge from lp:mixxx/1.11

Show diffs side-by-side

added added

removed removed

Lines of Context:
79
79
    m_bScalerChanged(false),
80
80
    m_bLastBufferPaused(true),
81
81
    m_iTrackLoading(0),
 
82
    m_bPlayAfterLoading(false),
82
83
    m_fRampValue(0.0),
83
84
    m_iRampState(ENGINE_RAMP_NONE),
84
85
    m_pDitherBuffer(new CSAMPLE[MAX_BUFFER_LEN]),
382
383
    m_pause.unlock();
383
384
 
384
385
    m_playButton->set(0.0); //Stop playback
385
 
    m_pTrackSamples->set(0); // stop renderer
 
386
    m_pTrackSamples->set(0); // Stop renderer
386
387
}
387
388
 
388
389
// WARNING: Always called from the EngineWorker thread pool
403
404
    // Start buffer processing after all EngineContols are up to date
404
405
    // with the current track e.g track is seeked to Cue
405
406
    m_iTrackLoading = 0;
 
407
    if (m_bPlayAfterLoading) {
 
408
        m_bPlayAfterLoading = false;
 
409
        m_playButton->set(1);
 
410
    }
406
411
}
407
412
 
408
413
// WARNING: Always called from the EngineWorker thread pool
409
414
void EngineBuffer::slotTrackLoadFailed(TrackPointer pTrack,
410
415
                                       QString reason) {
 
416
    m_bPlayAfterLoading = false;
411
417
    m_playButton->set(0.0f);
412
418
    ejectTrack();
413
419
    emit(trackLoadFailed(pTrack, reason));
563
569
        float sr = m_pSampleRate->get();
564
570
 
565
571
        double baserate = 0.0f;
566
 
        if (sr > 0)
 
572
        if (sr > 0) {
567
573
            baserate = ((double)m_file_srate_old / sr);
 
574
        }
568
575
 
569
576
        bool paused = m_playButton->get() != 0.0f ? false : true;
570
577
 
905
912
}
906
913
 
907
914
// WARNING: This method runs in the GUI thread
908
 
void EngineBuffer::slotLoadTrack(TrackPointer pTrack) {
 
915
void EngineBuffer::slotLoadTrack(TrackPointer pTrack, bool play) {
909
916
    // Signal to the reader to load the track. The reader will respond with
910
917
    // trackLoading and then either with trackLoaded or trackLoadFailed signals.
 
918
    m_bPlayAfterLoading = play;
911
919
    m_pReader->newTrack(pTrack);
912
920
    m_pReader->wake();
913
921
}