25#ifndef LMMS_REMOTE_PLUGIN_H
26#define LMMS_REMOTE_PLUGIN_H
30#include <QRecursiveMutex>
79#ifdef DEBUG_REMOTE_PLUGIN
82 return m_process.state() != QProcess::NotRunning;
86 bool init(
const QString &pluginExecutable,
bool waitForInitDoneMsg, QStringList extraArgs = {} );
99 bool processMessage(
const message & _m )
override;
146 virtual void showUI();
147 virtual void hideUI();
176#ifndef SYNC_WITH_SHM_FIFO
191 return qstr.toStdString();
static void message(int level, const char *fmt,...)
Definition adplugdb.cpp:120
void process(Alg_seq_ptr seq, bool tempo_flag, double tempo, bool flatten_flag)
Definition allegroconvert.cpp:42
Definition MidiEvent.h:37
ProcessWatcher(RemotePlugin *)
Definition RemotePlugin.cpp:80
RemotePlugin * m_plugin
Definition RemotePlugin.h:64
void run() override
Definition RemotePlugin.cpp:88
volatile bool m_quit
Definition RemotePlugin.h:65
~ProcessWatcher() override=default
void reset()
Definition RemotePlugin.h:56
void stop()
Definition RemotePlugin.h:50
int sendMessage(const message &_m)
message waitForMessage(const message &_m, bool _busy_waiting=false)
Definition RemotePlugin.h:71
bool isRunning()
Definition RemotePlugin.h:77
void waitForHostInfoGotten()
Definition RemotePlugin.h:88
QStringList m_args
Definition RemotePlugin.h:165
virtual void toggleUI()
Definition RemotePlugin.h:114
QString m_socketFile
Definition RemotePlugin.h:178
void lock()
Definition RemotePlugin.h:135
void waitForInitDone(bool _busyWaiting=true)
Definition RemotePlugin.h:94
void processFinished(int exitCode, QProcess::ExitStatus exitStatus)
Definition RemotePlugin.cpp:500
void unlock()
Definition RemotePlugin.h:140
QProcess m_process
Definition RemotePlugin.h:161
int m_inputCount
Definition RemotePlugin.h:173
SharedMemory< float[]> m_audioBuffer
Definition RemotePlugin.h:170
int m_server
Definition RemotePlugin.h:177
bool failed() const
Definition RemotePlugin.h:130
void processErrored(QProcess::ProcessError err)
Definition RemotePlugin.cpp:516
friend class ProcessWatcher
Definition RemotePlugin.h:181
ProcessWatcher m_watcher
Definition RemotePlugin.h:162
std::size_t m_audioBufferSize
Definition RemotePlugin.h:171
QRecursiveMutex m_commMutex
Definition RemotePlugin.h:167
bool m_failed
Definition RemotePlugin.h:156
bool m_splitChannels
Definition RemotePlugin.h:168
void resizeSharedProcessingMemory()
Definition RemotePlugin.cpp:480
void setSplittedChannels(bool _on)
Definition RemotePlugin.h:150
void updateSampleRate(sample_rate_t _sr)
Definition RemotePlugin.h:105
RemotePlugin()
Definition RemotePlugin.cpp:133
int isUIVisible()
Definition RemotePlugin.h:121
int m_outputCount
Definition RemotePlugin.h:174
QString m_exec
Definition RemotePlugin.h:164
Definition SampleFrame.h:41
Definition SharedMemory.h:147
unsigned * m
Definition inflate.c:1559
Definition AudioAlsa.cpp:35
std::uint32_t sample_rate_t
Definition LmmsTypes.h:42
std::uint64_t f_cnt_t
Definition LmmsTypes.h:43
std::string QSTR_TO_STDSTR(QString const &qstr)
Definition RemotePlugin.h:189
@ IdInitDone
Definition RemotePluginBase.h:324
@ IdToggleUI
Definition RemotePluginBase.h:339
@ IdHostInfoGotten
Definition RemotePluginBase.h:323
@ IdIsUIVisible
Definition RemotePluginBase.h:340
@ IdInformationUpdated
Definition RemotePluginBase.h:329
@ IdSampleRateInformation
Definition RemotePluginBase.h:327
Definition RemotePluginBase.h:358