fixed outstanding issues with LED-checkbox and its model

git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms-mv@643 0778d3d1-df1d-0410-868b-ea421aaaa00d
This commit is contained in:
Tobias Doerffel
2008-01-04 23:11:12 +00:00
parent 6d25a97b9e
commit eccc259bf2
3 changed files with 35 additions and 35 deletions

View File

@@ -1,3 +1,9 @@
2008-01-04 Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
* plugins/stk/mallets/mallets.h:
* plugins/stk/mallets/mallets.cpp:
fixed outstanding issues with LED-checkbox and its model
2008-01-04 Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
* include/group_box.h:

View File

@@ -1,7 +1,7 @@
/*
* mallets.cpp - tuned instruments that one would bang upon
*
* Copyright (c) 2006-2007 Danny McRae <khjklujn/at/users.sourceforge.net>
* Copyright (c) 2006-2008 Danny McRae <khjklujn/at/users.sourceforge.net>
*
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
*
@@ -73,7 +73,7 @@ malletsInstrument::malletsInstrument( instrumentTrack * _channel_track ):
m_pressureModel(64.0f, 0.0f, 128.0f, 0.1f, this),
m_motionModel(64.0f, 0.0f, 128.0f, 0.1f, this),
m_velocityModel(64.0f, 0.0f, 128.0f, 0.1f, this),
m_strike(NULL),
m_strikeModel( FALSE, FALSE, TRUE, boolModel::defaultRelStep(), this ),
m_presetsModel(this),
m_spreadModel(0, 0, 255, 1, this)
{
@@ -90,6 +90,7 @@ malletsInstrument::malletsInstrument( instrumentTrack * _channel_track ):
m_pressureModel.setTrack( _channel_track );
m_motionModel.setTrack( _channel_track );
m_velocityModel.setTrack( _channel_track );
m_strikeModel.setTrack( _channel_track );
m_spreadModel.setTrack( _channel_track );
// ModalBar
@@ -161,11 +162,8 @@ void malletsInstrument::saveSettings( QDomDocument & _doc, QDomElement & _this )
m_motionModel.saveSettings( _doc, _this, "motion" );
m_vibratoModel.saveSettings( _doc, _this, "vibrato" );
m_velocityModel.saveSettings( _doc, _this, "velocity" );
if( m_strike != NULL )
{
m_strike->model()->saveSettings( _doc, _this, "strike" );
}
m_strikeModel.saveSettings( _doc, _this, "strike" );
m_presetsModel.saveSettings( _doc, _this, "preset" );
m_spreadModel.saveSettings( _doc, _this, "spread" );
}
@@ -194,11 +192,8 @@ void malletsInstrument::loadSettings( const QDomElement & _this )
m_motionModel.loadSettings( _this, "motion" );
m_vibratoModel.loadSettings( _this, "vibrato" );
m_velocityModel.loadSettings( _this, "velocity" );
if( m_strike != NULL )
{
m_strike->model()->loadSettings( _this, "strike" );
}
m_strikeModel.loadSettings( _this, "strike" );
m_presetsModel.loadSettings( _this, "preset" );
m_spreadModel.loadSettings( _this, "spread" );
}
@@ -262,7 +257,7 @@ void malletsInstrument::playNote( notePlayHandle * _n, bool )
m_motionModel.value(),
m_vibratoModel.value(),
p - 10,
m_strike->value() * 128.0,
m_strikeModel.value() * 128.0,
m_velocityModel.value(),
(Uint8) m_spreadModel.value(),
engine::getMixer()->sampleRate() );
@@ -275,7 +270,7 @@ void malletsInstrument::playNote( notePlayHandle * _n, bool )
sample_t add_scale = 0.0f;
if( p == 10 )
{
add_scale = static_cast<sample_t>( m_strike->value() ) * freq * 2.5f;
add_scale = static_cast<sample_t>( m_strikeModel.value() ) * freq * 2.5f;
}
for( fpp_t frame = 0; frame < frames; ++frame )
{
@@ -455,9 +450,7 @@ QWidget * malletsInstrumentView::setupBandedWGControls( QWidget * _parent )
m_strikeLED = new ledCheckBox( tr( "Bowed" ), widget, tr( "Bowed" ) );
m_strikeLED->move( 165, 30 );
m_strikeLED->model()->setTrack( castModel<malletsInstrument>()->getInstrumentTrack() );
castModel<malletsInstrument>()->m_strike = m_strikeLED;
m_pressureKnob = new knob( knobBright_26, widget, tr( "Pressure" ) );
m_pressureKnob->setLabel( tr( "Pressure" ) );
m_pressureKnob->move( 56, 86 );
@@ -501,7 +494,7 @@ void malletsInstrumentView::modelChanged( void )
m_motionKnob->setModel( &inst->m_motionModel );
m_vibratoKnob->setModel( &inst->m_vibratoModel );
m_velocityKnob->setModel( &inst->m_velocityModel );
//m_strikeLED->setModel( &inst->m_strikeModel );
m_strikeLED->setModel( &inst->m_strikeModel );
m_presetsCombo->setModel( &inst->m_presetsModel );
m_spreadKnob->setModel( &inst->m_spreadModel );
}

View File

@@ -1,7 +1,7 @@
/*
* mallets.h - tuned instruments that one would bang upon
*
* Copyright (c) 2006-2007 Danny McRae <khjklujn/at/users.sourceforge.net>
* Copyright (c) 2006-2008 Danny McRae <khjklujn/at/users.sourceforge.net>
*
*
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
@@ -107,7 +107,7 @@ public:
protected:
Instrmnt * m_voice;
StkFloat * m_delay;
Uint8 m_delayRead;
Uint8 m_delayWrite;
@@ -141,30 +141,31 @@ private:
knobModel m_vibratoGainModel;
knobModel m_vibratoFreqModel;
knobModel m_stickModel;
knobModel m_modulatorModel;
knobModel m_crossfadeModel;
knobModel m_lfoSpeedModel;
knobModel m_lfoDepthModel;
knobModel m_adsrModel;
knobModel m_pressureModel;
knobModel m_motionModel;
knobModel m_vibratoModel;
knobModel m_velocityModel;
// FIXME: Can't change the model of a ledCheckBox.
ledCheckBox * m_strike;
boolModel m_strikeModel;
comboBoxModel m_presetsModel;
knobModel m_spreadModel;
QVector<sample_t> m_scalers;
sampleFrame * m_buffer;
bool m_filesMissing;
friend class malletsInstrumentView;
} ;
@@ -175,39 +176,39 @@ public:
malletsInstrumentView( malletsInstrument * _instrument,
QWidget * _parent );
virtual ~malletsInstrumentView( void );
public slots:
void changePreset( void );
private:
virtual void modelChanged( void );
void setWidgetBackground( QWidget * _widget, const QString & _pic );
QWidget * setupModalBarControls( QWidget * _parent );
QWidget * setupTubeBellControls( QWidget * _parent );
QWidget * setupBandedWGControls( QWidget * _parent );
QWidget * m_modalBarWidget;
knob * m_hardnessKnob;
knob * m_positionKnob;
knob * m_vibratoGainKnob;
knob * m_vibratoFreqKnob;
knob * m_stickKnob;
QWidget * m_tubeBellWidget;
knob * m_modulatorKnob;
knob * m_crossfadeKnob;
knob * m_lfoSpeedKnob;
knob * m_lfoDepthKnob;
knob * m_adsrKnob;
QWidget * m_bandedWGWidget;
knob * m_pressureKnob;
knob * m_motionKnob;
knob * m_vibratoKnob;
knob * m_velocityKnob;
ledCheckBox * m_strikeLED;
comboBox * m_presetsCombo;
knob * m_spreadKnob;
};