directly handle MIDI-pitch-bend events

git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1146 0778d3d1-df1d-0410-868b-ea421aaaa00d
This commit is contained in:
Tobias Doerffel
2008-06-15 16:21:48 +00:00
parent 632f9df91c
commit ce582407f9
3 changed files with 26 additions and 2 deletions

View File

@@ -1,9 +1,18 @@
2008-06-15 Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
* src/gui/file_browser.cpp:
do not load MIDI-settings when loading preset as this might break
existing instrument tracks
* include/automatable_model.h:
* src/tracks/instrument_track.cpp:
directly handle MIDI-pitch-bend events
* include/instrument_track.h:
* src/core/note_play_handle.cpp:
* src/tracks/instrument_track.cpp:
added pitch-knob to instrument-track
- added pitch-knob to instrument-track
- fixed activity indicator
* plugins/stk/voices/flute/flute_model.cpp:
* plugins/stk/voices/flute/flute_model.h:

View File

@@ -196,6 +196,11 @@ public:
setValue( m_value + _steps * m_step );
}
inline float range( void ) const
{
return( m_range );
}
void setRange( const float _min, const float _max,
const float _step = 1 );

View File

@@ -290,9 +290,17 @@ void instrumentTrack::processInEvent( const midiEvent & _me,
}
break;
case MidiPitchBend:
if( !m_instrument->handleMidiEvent( _me, _time ) )
{
m_pitchModel.setValue( m_pitchModel.minValue() +
_me.m_data.m_param[0] *
m_pitchModel.range() / 16384 );
}
break;
case MidiControlChange:
case MidiProgramChange:
case MidiPitchBend:
m_instrument->handleMidiEvent( _me, _time );
break;
@@ -665,6 +673,7 @@ void instrumentTrack::saveTrackSpecificSettings( QDomDocument & _doc,
_this.setAttribute( "name", name() );
m_volumeModel.saveSettings( _doc, _this, "vol" );
m_panningModel.saveSettings( _doc, _this, "pan" );
m_pitchModel.saveSettings( _doc, _this, "pitch" );
m_effectChannelModel.saveSettings( _doc, _this, "fxch" );
m_baseNoteModel.saveSettings( _doc, _this, "basenote" );
@@ -709,6 +718,7 @@ void instrumentTrack::loadTrackSpecificSettings( const QDomElement & _this )
m_panningModel.loadSettings( _this, "pan" );
}
m_pitchModel.loadSettings( _this, "pitch" );
m_effectChannelModel.loadSettings( _this, "fxch" );
if( _this.hasAttribute( "baseoct" ) )