Fix instrument view size, add new kicker artwork
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@951 0778d3d1-df1d-0410-868b-ea421aaaa00d
This commit is contained in:
13
ChangeLog
13
ChangeLog
@@ -1,3 +1,16 @@
|
||||
2008-05-04 Paul Giblock <drfaygo/at/gmail/dot/com>
|
||||
|
||||
* plugins/kicker/kicker.cpp:
|
||||
* plugins/kicker/artwork.png:
|
||||
Add new artwork
|
||||
|
||||
* include/knob.h:
|
||||
* src/gui/widgets/knob.cpp:
|
||||
Seperate some drawing functionality to simplify subclasses
|
||||
|
||||
* src/tracks/instrument_track.cpp:
|
||||
Change plugin size from 246px back to 250px
|
||||
|
||||
2008-05-03 Tobias Dorffel <tobydox/at/users/dot/sourceforge/dot/net>
|
||||
|
||||
* src/core/track.cpp:
|
||||
|
||||
@@ -106,6 +106,7 @@ protected:
|
||||
|
||||
float getValue( const QPoint & _p );
|
||||
|
||||
QLineF calculateLine( const QPointF & _mid, float _radius, float _innerRadius = 1) const;
|
||||
|
||||
private:
|
||||
inline float pageSize( void ) const
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 9.9 KiB After Width: | Height: | Size: 45 KiB |
@@ -23,8 +23,8 @@
|
||||
*/
|
||||
|
||||
|
||||
#include <QtGui/QLayout>
|
||||
#include <Qt/QtXml>
|
||||
#include <QtGui/QPainter>
|
||||
|
||||
#include "kicker.h"
|
||||
#include "engine.h"
|
||||
@@ -190,41 +190,67 @@ pluginView * kickerInstrument::instantiateView( QWidget * _parent )
|
||||
|
||||
|
||||
|
||||
class kickerKnob : public knob
|
||||
{
|
||||
public:
|
||||
kickerKnob( QWidget * _parent, const QString & _name ) :
|
||||
knob( 0, _parent, _name )
|
||||
{
|
||||
setFixedSize( 37, 47 );
|
||||
}
|
||||
|
||||
static const QPointF m_midPoint;
|
||||
|
||||
protected:
|
||||
virtual void paintEvent( QPaintEvent * _me )
|
||||
{
|
||||
QPainter p( this );
|
||||
p.setRenderHint( QPainter::Antialiasing );
|
||||
|
||||
QLineF ln = calculateLine( m_midPoint, 11.2, 4 );
|
||||
|
||||
QRadialGradient gradient(m_midPoint, 11);
|
||||
gradient.setColorAt(0.33, QColor( 240, 147, 14 ) );
|
||||
gradient.setColorAt(1, QColor( 30, 35, 37 ) );
|
||||
//gradient.setColorAt(1, QColor( 68, 77, 82 ) );
|
||||
//p.setPen( QPen( QColor( 0, 91, 120 ), 2 ) );
|
||||
//p.drawRect( QRect(QPoint(0,0), size()) );
|
||||
|
||||
//p.setPen( QPen( QColor( 146, 91, 12 ), 3 ) );
|
||||
//p.drawLine( ln );
|
||||
|
||||
p.setPen( QPen( gradient, 3 ) );
|
||||
p.drawLine( ln );
|
||||
}
|
||||
};
|
||||
|
||||
const QPointF kickerKnob::m_midPoint = QPointF( 18.5, 13.5 );
|
||||
|
||||
|
||||
|
||||
kickerInstrumentView::kickerInstrumentView( instrument * _instrument,
|
||||
QWidget * _parent ) :
|
||||
instrumentView( _instrument, _parent )
|
||||
{
|
||||
QVBoxLayout * vl = new QVBoxLayout( this );
|
||||
QHBoxLayout * hl = new QHBoxLayout;
|
||||
m_startFreqKnob = new knob( knobDark_28, this, tr( "Start frequency" ) );
|
||||
m_startFreqKnob->setLabel( tr( "START" ) );
|
||||
m_startFreqKnob = new kickerKnob( this, tr( "Start frequency" ) );
|
||||
m_startFreqKnob->setHintText( tr( "Start frequency:" ) + " ", "Hz" );
|
||||
m_startFreqKnob->move( 12, 124 );
|
||||
|
||||
m_endFreqKnob = new knob( knobDark_28, this, tr( "End frequency" ) );
|
||||
m_endFreqKnob->setLabel( tr( "END" ) );
|
||||
m_endFreqKnob = new kickerKnob( this, tr( "End frequency" ) );
|
||||
m_endFreqKnob->setHintText( tr( "End frequency:" ) + " ", "Hz" );
|
||||
m_endFreqKnob->move( 59, 124 );
|
||||
|
||||
m_decayKnob = new knob( knobDark_28, this, tr( "Decay" ) );
|
||||
m_decayKnob->setLabel( tr( "DECAY" ) );
|
||||
m_decayKnob = new kickerKnob( this, tr( "Decay" ) );
|
||||
m_decayKnob->setHintText( tr( "Decay:" ) + " ", "ms" );
|
||||
m_decayKnob->move( 107, 124 );
|
||||
|
||||
m_distKnob = new knob( knobDark_28, this, tr( "Distortion" ) );
|
||||
m_distKnob->setLabel( tr( "DIST" ) );
|
||||
m_distKnob = new kickerKnob( this, tr( "Distortion" ) );
|
||||
m_distKnob->setHintText( tr( "Distortion:" ) + " ", "" );
|
||||
m_distKnob->move( 155, 124 );
|
||||
|
||||
m_gainKnob = new knob( knobDark_28, this, tr( "Gain" ) );
|
||||
m_gainKnob->setLabel( tr( "GAIN" ) );
|
||||
m_gainKnob = new kickerKnob( this, tr( "Gain" ) );
|
||||
m_gainKnob->setHintText( tr( "Gain:" ) + " ", "" );
|
||||
|
||||
hl->addWidget( m_startFreqKnob );
|
||||
hl->addWidget( m_endFreqKnob );
|
||||
hl->addWidget( m_decayKnob );
|
||||
hl->addWidget( m_distKnob );
|
||||
hl->addWidget( m_gainKnob );
|
||||
|
||||
vl->addLayout( hl );
|
||||
m_gainKnob->move( 203, 124 );
|
||||
|
||||
setAutoFillBackground( TRUE );
|
||||
QPalette pal;
|
||||
|
||||
@@ -138,9 +138,7 @@ void knob::setTotalAngle( float _angle )
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void knob::drawKnob( QPainter * _p )
|
||||
QLineF knob::calculateLine( const QPointF & _mid, float _radius, float _innerRadius ) const
|
||||
{
|
||||
float angle = 0.0f;
|
||||
if( model()->maxValue() != model()->minValue() )
|
||||
@@ -152,16 +150,25 @@ void knob::drawKnob( QPainter * _p )
|
||||
angle = static_cast<int>( angle ) % 360;
|
||||
}
|
||||
|
||||
const float radius = m_knobPixmap->width() / 2.0f - 1;
|
||||
const float xm = m_knobPixmap->width() / 2.0f;//radius + 1;
|
||||
const float ym = m_knobPixmap->height() / 2.0f;//radius+1;
|
||||
|
||||
const float rarc = angle * M_PI / 180.0;
|
||||
const float ca = cos( rarc );
|
||||
const float sa = -sin( rarc );
|
||||
|
||||
_p->drawPixmap( static_cast<int>( xm - m_knobPixmap->width() / 2 ), 0,
|
||||
*m_knobPixmap );
|
||||
return QLineF( _mid.x() - sa*_innerRadius, _mid.y() - ca*_innerRadius,
|
||||
_mid.x() - sa*_radius, _mid.y() - ca*_radius );
|
||||
}
|
||||
|
||||
|
||||
|
||||
void knob::drawKnob( QPainter * _p )
|
||||
{
|
||||
const float radius = m_knobPixmap->width() / 2.0f - 1;
|
||||
QPoint mid = QPoint( width() / 2.0,
|
||||
m_knobPixmap->height() / 2.0f );
|
||||
|
||||
_p->drawPixmap( static_cast<int>(
|
||||
width() / 2 - m_knobPixmap->width() / 2 ), 0,
|
||||
*m_knobPixmap );
|
||||
|
||||
_p->setPen( QPen( QColor( 200, 0, 0 ), 2 ) );
|
||||
_p->setRenderHint( QPainter::Antialiasing );
|
||||
@@ -170,16 +177,12 @@ void knob::drawKnob( QPainter * _p )
|
||||
{
|
||||
case knobSmall_17:
|
||||
{
|
||||
_p->drawLine( QLineF( xm-sa, ym-ca,
|
||||
xm - sa*radius,
|
||||
ym - ca*radius ) );
|
||||
_p->drawLine( calculateLine( mid, radius ) );
|
||||
break;
|
||||
}
|
||||
case knobBright_26:
|
||||
{
|
||||
_p->drawLine( QLineF( xm-sa, ym-ca,
|
||||
xm - sa*( radius-5 ),
|
||||
ym - ca*( radius-5 ) ) );
|
||||
_p->drawLine( calculateLine( mid, radius-5 ) );
|
||||
break;
|
||||
}
|
||||
case knobDark_28:
|
||||
@@ -187,18 +190,15 @@ void knob::drawKnob( QPainter * _p )
|
||||
const float rb = tMax<float>( ( radius - 10 ) / 3.0,
|
||||
0.0 );
|
||||
const float re = tMax<float>( ( radius - 4 ), 0.0 );
|
||||
_p->drawLine( QLineF( xm-sa*rb + 1,
|
||||
ym - ca*rb + 1,
|
||||
xm - sa*re + 1,
|
||||
ym - ca*re + 1 ) );
|
||||
QLineF ln = calculateLine( mid, re, rb );
|
||||
ln.translate( 1, 1 );
|
||||
_p->drawLine( ln );
|
||||
break;
|
||||
}
|
||||
case knobGreen_17:
|
||||
{
|
||||
_p->setPen( QPen( QColor( 0, 200, 0 ), 2 ) );
|
||||
_p->drawLine( QLineF( xm-sa, ym-ca,
|
||||
xm - sa*radius,
|
||||
ym - ca*radius ) );
|
||||
_p->drawLine( calculateLine( mid, radius ) );
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -94,7 +94,7 @@ const char * surroundarea_help = QT_TRANSLATE_NOOP( "instrumentTrack",
|
||||
"feature." );
|
||||
|
||||
|
||||
const int INSTRUMENT_WIDTH = 250;
|
||||
const int INSTRUMENT_WIDTH = 254;
|
||||
const int INSTRUMENT_HEIGHT = INSTRUMENT_WIDTH;
|
||||
const int PIANO_HEIGHT = 84;
|
||||
const int INSTRUMENT_WINDOW_CACHE_SIZE = 8;
|
||||
@@ -1106,7 +1106,7 @@ instrumentTrackWindow::instrumentTrackWindow( instrumentTrackView * _itv ) :
|
||||
|
||||
|
||||
m_tabWidget = new tabWidget( "", this );
|
||||
m_tabWidget->setFixedHeight( INSTRUMENT_HEIGHT + 12 );
|
||||
m_tabWidget->setFixedHeight( INSTRUMENT_HEIGHT + 10 );
|
||||
|
||||
|
||||
// create tab-widgets
|
||||
|
||||
Reference in New Issue
Block a user