Changeset 494

Show
Ignore:
Timestamp:
09/17/08 16:50:19 (5 years ago)
Author:
wolke
Message:

do some secure checks and change the preview length to sample length.

Location:
branches/audiofilebrowser
Files:
4 modified

Legend:

Unmodified
Added
Removed
  • branches/audiofilebrowser/gui/src/AudioFileBrowser/AudioFileBrowser.cpp

    r493 r494  
    6464        tree->resize( 799, 310 ); 
    6565        tree->header()->resizeSection( 0, 405 ); 
     66        tree->setAlternatingRowColors( true ); 
    6667        tree->setRootIndex( model->index( Preferences::getInstance()->__lastsampleDirectory ) ); 
    6768 
     
    157158                                qsec.sprintf( "%2.2f", sec ); 
    158159                                m_pLengthLable->setText( trUtf8( "Samplelength: " ) + qsec + trUtf8( " s" ) ); 
    159  
    160                                 //second part of check prevent left sample objects into memory 
    161                                 if (playSamplescheckBox->isChecked() && AudioEngine::get_instance()->get_sampler()->get_playing_notes_number() == 0 ){ 
    162                                         AudioEngine::get_instance()->get_sampler()->preview_sample(pNewSample); 
    163                                 }else{ 
    164                                         delete pNewSample; 
     160                                 
     161                                delete pNewSample; 
     162                                m_psamplefilename = path2; 
     163 
     164                                 
     165                                if (playSamplescheckBox->isChecked()){ 
     166                                        if ( sec <= 600.00){ 
     167                                                on_m_pPlayBtn_clicked(); 
     168                                        }else 
     169                                        { 
     170                                                QMessageBox::information ( this, "Hydrogen", trUtf8( "No clicking audio preview for samples longer than 10 minutes!" )  ); 
     171                                        } 
    165172                                } 
    166173 
     
    168175                                m_pPlayBtn->setEnabled( true ); 
    169176                                openBTN->setEnabled( true ); 
    170                                 m_psamplefilename = path2; 
     177 
    171178                        } 
    172179                 
     
    193200        Sample *pNewSample = Sample::load( m_psamplefilename ); 
    194201        if ( pNewSample ){ 
    195                 AudioEngine::get_instance()->get_sampler()->preview_sample( pNewSample ); 
    196                 } 
    197 } 
     202                int length = ( ( pNewSample->get_n_frames() / pNewSample->get_sample_rate() + 1) * 100 ); 
     203                AudioEngine::get_instance()->get_sampler()->preview_sample( pNewSample, length ); 
     204        } 
     205} 
     206 
    198207 
    199208 
  • branches/audiofilebrowser/gui/src/SoundLibrary/FileBrowser.cpp

    r127 r494  
    229229                                if (pNewSample) { 
    230230                                        updateFileInfo( fileInfo.absoluteFilePath(), pNewSample->get_sample_rate(), pNewSample->get_size() ); 
    231                                         AudioEngine::get_instance()->get_sampler()->preview_sample(pNewSample); 
     231                                        AudioEngine::get_instance()->get_sampler()->preview_sample(pNewSample, 192); 
    232232                                } 
    233233                        } 
  • branches/audiofilebrowser/libs/hydrogen/include/hydrogen/sampler/Sampler.h

    r374 r494  
    6868        } 
    6969 
    70         void preview_sample( Sample* sample ); 
     70        void preview_sample( Sample* sample, int length ); 
    7171        void preview_instrument( Instrument* instr ); 
    7272 
  • branches/audiofilebrowser/libs/hydrogen/src/sampler/sampler.cpp

    r415 r494  
    692692 
    693693/// Preview, uses only the first layer 
    694 void Sampler::preview_sample( Sample* sample ) 
     694void Sampler::preview_sample( Sample* sample, int length ) 
    695695{ 
    696696        AudioEngine::get_instance()->lock( "Sampler::previewSample" ); 
     
    700700        Sample *pOldSample = pLayer->get_sample(); 
    701701        pLayer->set_sample( sample ); 
    702         delete pOldSample; 
    703  
    704         Note *previewNote = new Note( __preview_instrument, 0, 1.0, 0.5, 0.5, MAX_NOTES, 0 ); 
     702 
     703        Note *previewNote = new Note( __preview_instrument, 0, 1.0, 0.5, 0.5, length, 0 ); 
    705704 
    706705        stop_playing_notes( __preview_instrument ); 
    707706        note_on( previewNote ); 
     707        delete pOldSample; 
    708708 
    709709        AudioEngine::get_instance()->unlock();