Show
Ignore:
Timestamp:
02/26/10 21:54:51 (3 years ago)
Author:
wolke
Message:

fix the export audio file length bug

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • branches/0.9.4/libs/hydrogen/src/hydrogen.cpp

    r1284 r1569  
    21192119 
    21202120/// Export a song to a wav file, returns the elapsed time in mSec 
    2121 void Hydrogen::startExportSong( const QString& filename ) 
     2121void Hydrogen::startExportSong( const QString& filename, int rate, int depth ) 
    21222122{ 
    21232123        if ( getState() == STATE_PLAYING ) { 
    21242124                sequencer_stop(); 
    21252125        } 
     2126        AudioEngine::get_instance()->get_sampler()->stop_playing_notes(); 
    21262127        Preferences *pPref = Preferences::get_instance(); 
    21272128 
     
    21302131 
    21312132        m_pSong->set_mode( Song::SONG_MODE ); 
    2132         m_pSong->set_loop_enabled( false ); 
    2133         unsigned nSamplerate = m_pAudioDriver->getSampleRate(); 
    2134  
     2133        m_pSong->set_loop_enabled( true ); 
     2134//      unsigned nSamplerate = m_pAudioDriver->getSampleRate(); 
     2135        unsigned nSamplerate = (unsigned)rate; 
    21352136        // stop all audio drivers 
    21362137        audioEngine_stopAudioDrivers(); 
     
    21412142 
    21422143 
    2143         m_pAudioDriver = new DiskWriterDriver( audioEngine_process, nSamplerate, filename ); 
    2144  
    2145         AudioEngine::get_instance()->get_sampler()->stop_playing_notes(); 
    2146  
     2144        m_pAudioDriver = new DiskWriterDriver( audioEngine_process, nSamplerate, filename, depth); 
     2145 
     2146         
    21472147        // reset 
    21482148        m_pAudioDriver->m_transport.m_nFrames = 0;      // reset total frames 
     
    22042204        } 
    22052205} 
    2206  
    22072206 
    22082207