Merge pull request #1491 from curlymorphic/i929n2

Proposed fix for 929 AFP wave display
This commit is contained in:
Tres Finocchiaro
2014-12-24 08:59:27 -05:00
2 changed files with 25 additions and 8 deletions

View File

@@ -575,13 +575,8 @@ AudioFileProcessorView::AudioFileProcessorView( Instrument * _instrument,
m_interpBox->setFont( pointSize<8>( m_interpBox->font() ) );
// wavegraph
m_waveView = new AudioFileProcessorWaveView( this, 245, 75, castModel<audioFileProcessor>()->m_sampleBuffer );
m_waveView->move( 2, 172 );
m_waveView->setKnobs(
dynamic_cast<AudioFileProcessorWaveView::knob *>( m_startKnob ),
dynamic_cast<AudioFileProcessorWaveView::knob *>( m_endKnob ),
dynamic_cast<AudioFileProcessorWaveView::knob *>( m_loopKnob )
);
m_waveView = 0;
newWaveView();
connect( castModel<audioFileProcessor>(), SIGNAL( isPlaying( f_cnt_t ) ),
m_waveView, SLOT( isPlaying( f_cnt_t ) ) );
@@ -630,6 +625,25 @@ void AudioFileProcessorView::dragEnterEvent( QDragEnterEvent * _dee )
void AudioFileProcessorView::newWaveView()
{
if ( m_waveView )
{
delete m_waveView;
m_waveView = 0;
}
m_waveView = new AudioFileProcessorWaveView( this, 245, 75, castModel<audioFileProcessor>()->m_sampleBuffer );
m_waveView->move( 2, 172 );
m_waveView->setKnobs(
dynamic_cast<AudioFileProcessorWaveView::knob *>( m_startKnob ),
dynamic_cast<AudioFileProcessorWaveView::knob *>( m_endKnob ),
dynamic_cast<AudioFileProcessorWaveView::knob *>( m_loopKnob ) );
m_waveView->show();
}
void AudioFileProcessorView::dropEvent( QDropEvent * _de )
{
QString type = stringPairDrag::decodeKey( _de );
@@ -638,6 +652,7 @@ void AudioFileProcessorView::dropEvent( QDropEvent * _de )
{
castModel<audioFileProcessor>()->setAudioFile( value );
_de->accept();
newWaveView();
return;
}
else if( type == QString( "tco_%1" ).arg( track::SampleTrack ) )
@@ -691,6 +706,7 @@ void AudioFileProcessorView::paintEvent( QPaintEvent * )
void AudioFileProcessorView::sampleUpdated( void )
{
newWaveView();
m_waveView->update();
update();
}
@@ -707,6 +723,7 @@ void AudioFileProcessorView::openAudioFile( void )
{
castModel<audioFileProcessor>()->setAudioFile( af );
engine::getSong()->setModified();
newWaveView();
}
}

View File

@@ -118,7 +118,7 @@ public:
AudioFileProcessorView( Instrument * _instrument, QWidget * _parent );
virtual ~AudioFileProcessorView();
void newWaveView();
protected slots:
void sampleUpdated();
void openAudioFile();