From 43638ae14f3088034a951d275b1b88c84fe2c9b0 Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Sun, 4 May 2008 18:32:49 +0000 Subject: [PATCH] fixed knob-inheritance problems git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@953 0778d3d1-df1d-0410-868b-ea421aaaa00d --- ChangeLog | 11 ++++++++--- plugins/organic/organic.cpp | 39 ++++++++++++------------------------- 2 files changed, 20 insertions(+), 30 deletions(-) diff --git a/ChangeLog b/ChangeLog index 886bce264..6965c9501 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2008-05-04 Tobias Doerffel + + * plugins/organic/organic.cpp: + fixed knob-inheritance problems + 2008-05-04 Paul Giblock * plugins/kicker/kicker.cpp: @@ -18,7 +23,7 @@ * src/tracks/instrument_track.cpp: Change plugin size from 246px back to 250px -2008-05-03 Tobias Dorffel +2008-05-03 Tobias Doerffel * src/core/track.cpp: fixed move of TCO-selections @@ -51,7 +56,7 @@ * src/gui/widgets/effect_view.cpp: Make effect controls window non-resizeable and remove maximize button -2008-04-26 Tobias Dorffel +2008-04-26 Tobias Doerffel * plugins/stereo_enhancer/stereo_enhancer.cpp: * plugins/stereo_enhancer/stereo_enhancer.h: @@ -90,7 +95,7 @@ - Made bank-buttons easier to hit - Double click on fx-channel LCD in ITW to warp to the proper FX-line -2008-04-20 Tobias Dorffel +2008-04-20 Tobias Doerffel * src/gui/widgets/group_box.cpp: * plugins/sf2_player/sf2_player.cpp: diff --git a/plugins/organic/organic.cpp b/plugins/organic/organic.cpp index 3fc38c025..7234dcf59 100644 --- a/plugins/organic/organic.cpp +++ b/plugins/organic/organic.cpp @@ -363,16 +363,18 @@ pluginView * organicInstrument::instantiateView( QWidget * _parent ) -class organicKnob : public knob +template +class organicKnobTemplate : public BASE { public: - organicKnob( QWidget * _parent, const QString & _name ) : - knob( 0, _parent, _name ) + organicKnobTemplate( QWidget * _parent, const QString & _name ) : + BASE( 0, _parent, _name ), + m_midPoint( QPointF( 10.5, 10.5 ) ) { - setFixedSize( 21, 21 ); + BASE::setFixedSize( 21, 21 ); } - static const QPointF m_midPoint; + const QPointF m_midPoint; protected: virtual void paintEvent( QPaintEvent * _me ) @@ -380,7 +382,7 @@ protected: QPainter p( this ); p.setRenderHint( QPainter::Antialiasing ); - QLineF ln = calculateLine( m_midPoint, 8.7, 2 ); + QLineF ln = BASE::calculateLine( m_midPoint, 8.7, 2 ); QRadialGradient gradient(m_midPoint, 11); gradient.setColorAt(0.2, QColor( 227, 18, 240 ) ); @@ -392,25 +394,8 @@ protected: }; -const QPointF organicKnob::m_midPoint = QPointF( 10.5, 10.5 ); - - -class organicVolumeKnob : virtual private organicKnob, virtual public volumeKnob -{ -public: - organicVolumeKnob( QWidget * _parent, const QString & _name ) : - volumeKnob( 0, _parent, _name ), - organicKnob( _parent, _name ) - { - organicKnob::setFixedSize( 21, 21 ); - } - -protected: - virtual void paintEvent( QPaintEvent * _me ) - { - organicKnob::paintEvent( _me ); - } -}; +typedef organicKnobTemplate organicKnob; +typedef organicKnobTemplate organicVolumeKnob; @@ -519,8 +504,8 @@ void organicInstrumentView::modelChanged( void ) m_oscKnobs[i] = oscillatorKnobs( volKnob, oscKnob, panKnob, detuneKnob ); // Attach to models - /*m_oscKnobs[i].m_volKnob->setModel( - &oi->m_osc[i]->m_volModel ); */ + m_oscKnobs[i].m_volKnob->setModel( + &oi->m_osc[i]->m_volModel ); m_oscKnobs[i].m_oscKnob->setModel( &oi->m_osc[i]->m_oscModel ); m_oscKnobs[i].m_panKnob->setModel(