Merge branch 'stable-1.1'
Conflicts: include/AutomatableModel.h include/FxMixer.h src/core/FxMixer.cpp src/gui/widgets/caption_menu.cpp src/tracks/InstrumentTrack.cpp
This commit is contained in:
@@ -25,7 +25,7 @@
|
||||
#ifndef AUTOMATABLE_MODEL_H
|
||||
#define AUTOMATABLE_MODEL_H
|
||||
|
||||
#include <math.h>
|
||||
#include "lmms_math.h"
|
||||
#include <QtCore/QMutex>
|
||||
|
||||
#include "JournallingObject.h"
|
||||
@@ -72,7 +72,8 @@ public:
|
||||
enum ScaleType
|
||||
{
|
||||
Linear,
|
||||
Logarithmic
|
||||
Logarithmic,
|
||||
Decibel
|
||||
};
|
||||
|
||||
enum DataType
|
||||
@@ -249,6 +250,19 @@ public:
|
||||
return m_hasLinkedModels;
|
||||
}
|
||||
|
||||
// a way to track changed values in the model and avoid using signals/slots - useful for speed-critical code.
|
||||
// note that this method should only be called once per period since it resets the state of the variable - so if your model
|
||||
// has to be accessed by more than one object, then this function shouldn't be used.
|
||||
bool isValueChanged()
|
||||
{
|
||||
if( m_valueChanged )
|
||||
{
|
||||
m_valueChanged = false;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
float globalAutomationValueAt( const MidiTime& time );
|
||||
|
||||
bool hasStrictStepSize() const
|
||||
@@ -318,6 +332,8 @@ private:
|
||||
float m_step;
|
||||
float m_range;
|
||||
float m_centerValue;
|
||||
|
||||
bool m_valueChanged;
|
||||
|
||||
// currently unused?
|
||||
float m_oldValue;
|
||||
|
||||
@@ -59,6 +59,7 @@ class FxChannel : public ThreadableJob
|
||||
QMutex m_lock;
|
||||
int m_channelIndex; // what channel index are we
|
||||
bool m_queued; // are we queued up for rendering yet?
|
||||
bool m_muted; // are we muted? updated per period so we don't have to call m_muteModel.value() twice
|
||||
|
||||
// pointers to other channels that this one sends to
|
||||
FxRouteVector m_sends;
|
||||
@@ -69,6 +70,11 @@ class FxChannel : public ThreadableJob
|
||||
virtual bool requiresProcessing() const { return true; }
|
||||
void unmuteForSolo();
|
||||
|
||||
|
||||
QAtomicInt m_dependenciesMet;
|
||||
void incrementDeps();
|
||||
void processed();
|
||||
|
||||
private:
|
||||
virtual void doProcessing( sampleFrame * _working_buffer );
|
||||
};
|
||||
@@ -196,10 +202,13 @@ private:
|
||||
void allocateChannelsTo(int num);
|
||||
QMutex m_sendsMutex;
|
||||
|
||||
<<<<<<< HEAD
|
||||
void addChannelLeaf( FxChannel * ch, sampleFrame * buf );
|
||||
|
||||
int m_lastSoloed;
|
||||
|
||||
=======
|
||||
>>>>>>> stable-1.1
|
||||
friend class MixerWorkerThread;
|
||||
friend class FxMixerView;
|
||||
|
||||
|
||||
@@ -61,6 +61,11 @@ public:
|
||||
{
|
||||
m_state = Queued;
|
||||
}
|
||||
|
||||
inline void done()
|
||||
{
|
||||
m_state = Done;
|
||||
}
|
||||
|
||||
void process( sampleFrame* workingBuffer = NULL )
|
||||
{
|
||||
|
||||
@@ -38,6 +38,12 @@ public:
|
||||
captionMenu( const QString & _title, QWidget * _parent = 0 );
|
||||
virtual ~captionMenu();
|
||||
|
||||
///
|
||||
/// \brief Adds a "Help" action displaying the Menu's parent's WhatsThis
|
||||
/// text when selected.
|
||||
///
|
||||
void addHelpAction();
|
||||
|
||||
} ;
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user