Ability to save mixer sends to disk with the mmp

LMMS can load projects with the old mixer and new projects with
the new mixer. By "new mixer", I simply mean not hardcoded to 64
channels.
This commit is contained in:
Andrew Kelley
2009-10-01 02:45:32 -07:00
parent dd28a654b5
commit 333df687e6
8 changed files with 152 additions and 42 deletions

View File

@@ -280,18 +280,6 @@ signals:
inline type maxValue() const \
{ \
return AutomatableModel::maxValue<type>(); \
} \
\
inline void setMinValue(type val) \
{ \
m_minValue = val; \
if( m_value < m_minValue ) m_value = m_minValue; \
} \
\
inline void setMaxValue(type val) \
{ \
m_maxValue = val; \
if( m_value > m_maxValue ) m_value = m_maxValue; \
}
// some typed AutomatableModel-definitions

View File

@@ -5,6 +5,7 @@
#include <QLabel>
#include "knob.h"
#include "lcd_spinbox.h"
#include "SendButtonIndicator.h"
class FxMixerView;
@@ -15,19 +16,21 @@ class FxLine : public QWidget
Q_OBJECT
public:
FxLine( QWidget * _parent, FxMixerView * _mv, int _channelIndex);
~FxLine();
virtual void paintEvent( QPaintEvent * );
virtual void mousePressEvent( QMouseEvent * );
virtual void mouseDoubleClickEvent( QMouseEvent * );
inline int channelIndex() { return m_channelIndex; }
inline void setChannelIndex(int index) { m_channelIndex = index; }
void setChannelIndex(int index);
knob * m_sendKnob;
SendButtonIndicator * m_sendBtn;
private:
FxMixerView * m_mv;
lcdSpinBox * m_lcd;
int m_channelIndex;

View File

@@ -73,9 +73,6 @@ public:
void prepareMasterMix();
void masterMix( sampleFrame * _buf );
void clear();
virtual void saveSettings( QDomDocument & _doc, QDomElement & _parent );
virtual void loadSettings( const QDomElement & _this );
@@ -112,6 +109,9 @@ public:
// delete a channel from the FX mixer.
void deleteChannel(int index);
// delete all the mixer channels except master and remove all effects
void clear();
// re-arrange channels
void moveChannelLeft(int index);
void moveChannelRight(int index);
@@ -128,6 +128,9 @@ private:
// the fx channels in the mixer. index 0 is always master.
QVector<FxChannel *> m_fxChannels;
void allocateChannelsTo(int num);
friend class mixerWorkerThread;
friend class FxMixerView;

View File

@@ -91,6 +91,10 @@ public:
void moveChannelLeft(int index);
void moveChannelRight(int index);
// make sure the display syncs up with the fx mixer.
// useful for loading projects
void refreshDisplay();
private slots:
void updateFaders();
void addNewChannel();