Merge pull request #2822 from jasp00/rm-track

Fix removal of track when notes are playing
This commit is contained in:
Javier Serrano Polo
2016-06-17 20:14:24 +00:00
committed by GitHub
67 changed files with 152 additions and 25 deletions

View File

@@ -28,12 +28,14 @@
#include <QtCore/QPair>
#include <QtCore/QMutex>
#include <QtCore/QThread>
#include <samplerate.h>
#include "Mixer.h"
#include "lmms_basics.h"
#include "TabWidget.h"
class AudioPort;
class Mixer;
class AudioDevice

View File

@@ -28,6 +28,7 @@
#include "AudioDevice.h"
#include "AudioDeviceSetupWidget.h"
#include "MicroTimer.h"
#include "Mixer.h"
class AudioDummy : public AudioDevice, public QThread

View File

@@ -29,7 +29,6 @@
#include <QtCore/QMutex>
#include <QtCore/QMutexLocker>
#include "Mixer.h"
#include "MemoryManager.h"
#include "PlayHandle.h"

View File

@@ -51,6 +51,8 @@ public:
#include <portaudio.h>
#endif
#include <QtCore/QSemaphore>
#include "AudioDevice.h"
#include "AudioDeviceSetupWidget.h"

View File

@@ -39,7 +39,6 @@
#include <math.h>
#include "lmms_basics.h"
#include "Mixer.h"
#include "templates.h"
#include "lmms_constants.h"
#include "interpolation.h"

View File

@@ -28,9 +28,9 @@
#define CONTROLLER_H
#include "Engine.h"
#include "Mixer.h"
#include "Model.h"
#include "JournallingObject.h"
#include "templates.h"
#include "ValueBuffer.h"
class ControllerDialog;

View File

@@ -32,6 +32,8 @@
#include <string.h>
#include "Mixer.h"
class DummyInstrument : public Instrument
{

View File

@@ -28,7 +28,6 @@
#include "Model.h"
#include "SerializingObject.h"
#include "Mixer.h"
#include "AutomatableModel.h"
class Effect;

View File

@@ -26,7 +26,6 @@
#define FX_MIXER_H
#include "Model.h"
#include "Mixer.h"
#include "EffectChain.h"
#include "JournallingObject.h"
#include "ThreadableJob.h"

View File

@@ -25,7 +25,6 @@
#ifndef INSTRUMENT_SOUND_SHAPING_H
#define INSTRUMENT_SOUND_SHAPING_H
#include "Mixer.h"
#include "ComboBoxModel.h"

View File

@@ -29,21 +29,11 @@
#include "lmmsconfig.h"
#ifndef LMMS_USE_3RDPARTY_LIBSRC
#include <samplerate.h>
#else
#ifndef OUT_OF_TREE_BUILD
#include "src/3rdparty/samplerate/samplerate.h"
#else
#include <samplerate.h>
#endif
#endif
#include <QtCore/QMutex>
#include <QtCore/QThread>
#include <QtCore/QVector>
#include <QtCore/QWaitCondition>
#include <samplerate.h>
#include "lmms_basics.h"
@@ -346,6 +336,9 @@ public:
inline bool isMetronomeActive() const { return m_metronomeActive; }
inline void setMetronomeActive(bool value = true) { m_metronomeActive = value; }
void requestChangeInModel();
void doneChangeInModel();
signals:
void qualitySettingsChanged();
@@ -388,6 +381,9 @@ private:
const surroundSampleFrame * renderNextBuffer();
void runChangesInModel();
QVector<AudioPort *> m_audioPorts;
@@ -420,6 +416,8 @@ private:
struct qualitySettings m_qualitySettings;
float m_masterGain;
bool m_isProcessing;
// audio device stuff
AudioDevice * m_audioDev;
AudioDevice * m_oldAudioDev;
@@ -444,6 +442,15 @@ private:
bool m_metronomeActive;
bool m_changesSignal;
bool m_waitForMixer;
unsigned int m_changes;
QMutex m_changesMutex;
QMutex m_doChangesMutex;
QMutex m_waitChangesMutex;
QWaitCondition m_changesMixerCondition;
QWaitCondition m_changesRequestCondition;
friend class LmmsCore;
friend class MixerWorkerThread;

View File

@@ -27,6 +27,7 @@
#include "AudioFileDevice.h"
#include "lmmsconfig.h"
#include "Mixer.h"
class ProjectRenderer : public QThread

View File

@@ -38,7 +38,6 @@
#include "lmms_basics.h"
#include "lmms_math.h"
#include "shared_object.h"
#include "Mixer.h"
#include "MemoryManager.h"

View File

@@ -25,9 +25,9 @@
#ifndef SAMPLE_PLAY_HANDLE_H
#define SAMPLE_PLAY_HANDLE_H
#include "Mixer.h"
#include "SampleBuffer.h"
#include "AutomatableModel.h"
#include "PlayHandle.h"
class BBTrack;
class SampleTCO;

View File

@@ -29,7 +29,8 @@
#include <QtCore/QList>
#include <QtCore/QPair>
#include "Mixer.h"
#include "MidiTime.h"
#include "PlayHandle.h"
#include "SampleBuffer.h"
class BBTrack;

View File

@@ -29,7 +29,7 @@
#include <QWidget>
#include <QPixmap>
#include "Mixer.h"
#include "lmms_basics.h"
class VisualizationWidget : public QWidget