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:
Vesa
2014-11-16 15:16:40 +02:00
21 changed files with 184 additions and 133 deletions

View File

@@ -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;

View File

@@ -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;

View File

@@ -61,6 +61,11 @@ public:
{
m_state = Queued;
}
inline void done()
{
m_state = Done;
}
void process( sampleFrame* workingBuffer = NULL )
{

View File

@@ -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();
} ;