Changeset 647
- Timestamp:
- 11/14/08 21:26:12 (2 months ago)
- Files:
-
- branches/new_fx_rack_and_sample_fun/gui/src/SampleEditor/MainSampleWaveDisplay.cpp (modified) (2 diffs)
- branches/new_fx_rack_and_sample_fun/gui/src/SampleEditor/MainSampleWaveDisplay.h (modified) (1 diff)
- branches/new_fx_rack_and_sample_fun/gui/src/SampleEditor/SampleEditor.cpp (modified) (3 diffs)
- branches/new_fx_rack_and_sample_fun/libs/hydrogen/src/IO/midi_input.cpp (modified) (3 diffs)
- branches/new_fx_rack_and_sample_fun/libs/hydrogen/src/sampler/sampler.cpp (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/new_fx_rack_and_sample_fun/gui/src/SampleEditor/MainSampleWaveDisplay.cpp
r632 r647 148 148 149 149 150 void MainSampleWaveDisplay::updateDisplay( QStringfilename )150 void MainSampleWaveDisplay::updateDisplay( const QString& filename ) 151 151 { 152 152 153 153 Sample *pNewSample = Sample::load( filename ); 154 154 155 155 if ( pNewSample ) { 156 156 … … 165 165 166 166 float *pSampleDatal = pNewSample->get_data_l(); 167 168 int nSamplePos =0; 167 float *pSampleDatar = pNewSample->get_data_r(); 168 169 unsigned nSamplePos = 0; 169 170 int nVall; 171 int nValr; 172 int newVall = 0; 173 int newValr = 0; 170 174 for ( int i = 0; i < width(); ++i ){ 171 175 for ( int j = 0; j < nScaleFactor; ++j ) { 172 176 if ( j < nSampleLenght ) { 173 int newVall = (int)( pSampleDatal[ nSamplePos ] * fGain ); 174 nVall = newVall; 177 if ( pSampleDatal[ nSamplePos ] || pSampleDatar[ nSamplePos ] ){ 178 newVall = (int)( pSampleDatal[ nSamplePos ] * fGain ); 179 newValr = (int)( pSampleDatar[ nSamplePos ] * fGain ); 180 //ERRORLOG( QString("newVall: %1").arg(pSampleDatal[ nSamplePos ]) ); 181 nVall = newVall; 182 nValr = newValr; 183 }else 184 { 185 nVall = 0; 186 nValr = 0; 187 } 175 188 } 176 189 ++nSamplePos; 177 190 } 178 191 m_pPeakDatal[ i ] = nVall; 179 }180 181 float *pSampleDatar = pNewSample->get_data_r();182 183 nSamplePos = 0;184 int nValr;185 for ( int i = 0; i < width(); ++i ){186 for ( int j = 0; j < nScaleFactor; ++j ) {187 if ( j < nSampleLenght ) {188 int newValr = (int)( pSampleDatar[ nSamplePos ] * fGain );189 nValr = newValr;190 }191 ++nSamplePos;192 }193 192 m_pPeakDatar[ i ] = nValr; 194 193 } 195 194 } 196 195 delete pNewSample; 196 pNewSample = NULL; 197 197 update(); 198 198 branches/new_fx_rack_and_sample_fun/gui/src/SampleEditor/MainSampleWaveDisplay.h
r617 r647 37 37 ~MainSampleWaveDisplay(); 38 38 39 void updateDisplay( QStringfilename );39 void updateDisplay( const QString& filename ); 40 40 void updateDisplayPointer(); 41 41 branches/new_fx_rack_and_sample_fun/gui/src/SampleEditor/SampleEditor.cpp
r640 r647 49 49 : QDialog ( pParent ) 50 50 , Object ( "SampleEditor" ) 51 , m_pSampleEditorStatus( true )51 , m_pSampleEditorStatus( false ) 52 52 , m_pSamplefromFile ( NULL ) 53 53 , m_pSelectedLayer ( nSelectedLayer ) … … 232 232 233 233 // wavedisplays 234 AudioEngine::get_instance()->get_sampler()->stop_playing_notes(); 234 235 m_divider = m_pSamplefromFile->get_n_frames() / 574.0F; 235 236 m_pMainSampleWaveDisplay = new MainSampleWaveDisplay( mainSampleview ); 236 m_pMainSampleWaveDisplay->updateDisplay( m_ pSamplefromFile->get_filename());237 m_pMainSampleWaveDisplay->updateDisplay( m_samplename ); 237 238 m_pMainSampleWaveDisplay->move( 1, 1 ); 238 239 239 240 m_pSampleAdjustView = new DetailWaveDisplay( mainSampleAdjustView ); 240 m_pSampleAdjustView->updateDisplay( m_ pSamplefromFile->get_filename());241 m_pSampleAdjustView->updateDisplay( m_samplename ); 241 242 m_pSampleAdjustView->move( 1, 1 ); 242 243 … … 643 644 void SampleEditor::on_LoopCountSpinBox_valueChanged( int ) 644 645 { 646 if ( m_pslframes > Hydrogen::get_instance()->getAudioOutput()->getSampleRate() * 60 ){ 647 AudioEngine::get_instance()->get_sampler()->stop_playing_notes(); 648 m_pMainSampleWaveDisplay->paintLocatorEvent( -1 , false); 649 m_pTimer->stop(); 650 m_pPlayButton = false; 651 } 645 652 m_repeats = LoopCountSpinBox->value() ; 646 653 m_pSampleEditorStatus = false; 647 654 setSamplelengthFrames(); 655 if ( m_pslframes > Hydrogen::get_instance()->getAudioOutput()->getSampleRate() * 60 * 30){ // >30 min 656 LoopCountSpinBox->setMaximum(LoopCountSpinBox->value() -1); 657 } 658 648 659 } 649 660 branches/new_fx_rack_and_sample_fun/libs/hydrogen/src/IO/midi_input.cpp
r642 r647 156 156 void MidiInput::handleNoteOnMessage( const MidiMessage& msg ) 157 157 { 158 INFOLOG( "handleNoteOnMessage" );158 // INFOLOG( "handleNoteOnMessage" ); 159 159 160 160 … … 195 195 if ( bPatternSelect ) { 196 196 int patternNumber = nNote - 36; 197 INFOLOG( QString( "next pattern = %1" ).arg( patternNumber ) );197 //INFOLOG( QString( "next pattern = %1" ).arg( patternNumber ) ); 198 198 199 199 pEngine->sequencer_setNextPattern( patternNumber, false, false ); … … 220 220 void MidiInput::handleNoteOffMessage( const MidiMessage& msg ) 221 221 { 222 INFOLOG( "handleNoteOffMessage" );222 // INFOLOG( "handleNoteOffMessage" ); 223 223 if ( Preferences::getInstance()->m_bMidiNoteOffIgnore ) { 224 224 return; branches/new_fx_rack_and_sample_fun/libs/hydrogen/src/sampler/sampler.cpp
r643 r647 787 787 { 788 788 std::vector<PatternList*> *pColumns = mSong->get_pattern_group_vector(); 789 Pattern *pPattern = NULL;789 // Pattern *pPattern = NULL; 790 790 int pos = pEngine->getPatternPos() +1; 791 791 for ( int i = 0; i < pos; ++i ) { … … 809 809 if ( pNote!=NULL ) { 810 810 if( !Preferences::getInstance()->__playselectedinstrument ){ 811 if ( pNote->get_instrument() == instrument 812 && pNote->get_position() == noteOnTick ) { 813 AudioEngine::get_instance()->lock("Sample::setnotelenght_event"); 814 815 if ( ticks > patternsize ) 816 ticks = patternsize - noteOnTick; 817 pNote->set_lenght( ticks ); 818 Hydrogen::get_instance()->getSong()->__is_modified = true; 819 AudioEngine::get_instance()->unlock(); // unlock the audio engine 820 } 821 }else 822 { if ( pNote->get_instrument() == pEngine->getSong()->get_instrument_list()->get( pEngine->getSelectedInstrumentNumber()) 823 && pNote->get_position() == noteOnTick ) { 824 AudioEngine::get_instance()->lock("Sample::setnotelenght_event"); 825 if ( ticks > patternsize ) 826 ticks = patternsize - noteOnTick; 827 pNote->set_lenght( ticks ); 828 Hydrogen::get_instance()->getSong()->__is_modified = true; 829 AudioEngine::get_instance()->unlock(); // unlock the audio engine 830 831 811 if ( pNote->get_instrument() == instrument 812 && pNote->get_position() == noteOnTick ) { 813 AudioEngine::get_instance()->lock("Sample::setnotelenght_event"); 814 815 if ( ticks > patternsize ) 816 ticks = patternsize - noteOnTick; 817 pNote->set_lenght( ticks ); 818 Hydrogen::get_instance()->getSong()->__is_modified = true; 819 AudioEngine::get_instance()->unlock(); // unlock the audio engine 820 } 821 }else 822 { 823 if ( pNote->get_instrument() == pEngine->getSong()->get_instrument_list()->get( pEngine->getSelectedInstrumentNumber()) 824 && pNote->get_position() == noteOnTick ) { 825 AudioEngine::get_instance()->lock("Sample::setnotelenght_event"); 826 if ( ticks > patternsize ) 827 ticks = patternsize - noteOnTick; 828 pNote->set_lenght( ticks ); 829 Hydrogen::get_instance()->getSong()->__is_modified = true; 830 AudioEngine::get_instance()->unlock(); // unlock the audio engine 832 831 } 833 832 }
