LMMS
Loading...
Searching...
No Matches
lmms::RemotePlugin Class Reference

#include <RemotePlugin.h>

Inheritance diagram for lmms::RemotePlugin:
lmms::RemotePluginBase lmms::VstPlugin lmms::ZynAddSubFxRemotePlugin lmms::VstInstrumentPlugin

Public Slots

virtual void showUI ()
virtual void hideUI ()

Public Member Functions

 RemotePlugin ()
 ~RemotePlugin () override
bool isRunning ()
bool init (const QString &pluginExecutable, bool waitForInitDoneMsg, QStringList extraArgs={})
void waitForHostInfoGotten ()
void waitForInitDone (bool _busyWaiting=true)
bool processMessage (const message &_m) override
bool process (const SampleFrame *_in_buf, SampleFrame *_out_buf)
void processMidiEvent (const MidiEvent &, const f_cnt_t _offset)
void updateSampleRate (sample_rate_t _sr)
virtual void toggleUI ()
int isUIVisible ()
bool failed () const
void lock ()
void unlock ()
Public Member Functions inherited from lmms::RemotePluginBase
 RemotePluginBase ()
virtual ~RemotePluginBase ()
int sendMessage (const message &_m)
message receiveMessage ()
bool isInvalid () const
message waitForMessage (const message &_m, bool _busy_waiting=false)
message fetchAndProcessNextMessage ()
int32_t readInt ()
void writeInt (const int32_t &_i)
std::string readString ()
void writeString (const std::string &_s)
bool messagesLeft ()
void fetchAndProcessAllMessages ()

Protected Member Functions

void setSplittedChannels (bool _on)
Protected Member Functions inherited from lmms::RemotePluginBase
void invalidate ()

Protected Attributes

bool m_failed
Protected Attributes inherited from lmms::RemotePluginBase
int m_socket

Private Slots

void processFinished (int exitCode, QProcess::ExitStatus exitStatus)
void processErrored (QProcess::ProcessError err)

Private Member Functions

void resizeSharedProcessingMemory ()

Private Attributes

QProcess m_process
ProcessWatcher m_watcher
QString m_exec
QStringList m_args
QRecursiveMutex m_commMutex
bool m_splitChannels
SharedMemory< float[]> m_audioBuffer
std::size_t m_audioBufferSize
int m_inputCount
int m_outputCount
int m_server
QString m_socketFile

Friends

class ProcessWatcher

Additional Inherited Members

Static Public Member Functions inherited from lmms::RemotePluginBase
static bool isMainThreadWaiting ()

Constructor & Destructor Documentation

◆ RemotePlugin()

lmms::RemotePlugin::RemotePlugin ( )

◆ ~RemotePlugin()

lmms::RemotePlugin::~RemotePlugin ( )
override

Member Function Documentation

◆ failed()

bool lmms::RemotePlugin::failed ( ) const
inline

◆ hideUI

void lmms::RemotePlugin::hideUI ( )
virtualslot

◆ init()

bool lmms::RemotePlugin::init ( const QString & pluginExecutable,
bool waitForInitDoneMsg,
QStringList extraArgs = {} )

◆ isRunning()

bool lmms::RemotePlugin::isRunning ( )
inline

◆ isUIVisible()

int lmms::RemotePlugin::isUIVisible ( )
inline

◆ lock()

void lmms::RemotePlugin::lock ( )
inline

◆ process()

bool lmms::RemotePlugin::process ( const SampleFrame * _in_buf,
SampleFrame * _out_buf )

◆ processErrored

void lmms::RemotePlugin::processErrored ( QProcess::ProcessError err)
privateslot

◆ processFinished

void lmms::RemotePlugin::processFinished ( int exitCode,
QProcess::ExitStatus exitStatus )
privateslot

◆ processMessage()

bool lmms::RemotePlugin::processMessage ( const message & _m)
overridevirtual

◆ processMidiEvent()

void lmms::RemotePlugin::processMidiEvent ( const MidiEvent & _e,
const f_cnt_t _offset )

◆ resizeSharedProcessingMemory()

void lmms::RemotePlugin::resizeSharedProcessingMemory ( )
private

◆ setSplittedChannels()

void lmms::RemotePlugin::setSplittedChannels ( bool _on)
inlineprotected

◆ showUI

void lmms::RemotePlugin::showUI ( )
virtualslot

◆ toggleUI()

virtual void lmms::RemotePlugin::toggleUI ( )
inlinevirtual

◆ unlock()

void lmms::RemotePlugin::unlock ( )
inline

◆ updateSampleRate()

void lmms::RemotePlugin::updateSampleRate ( sample_rate_t _sr)
inline

◆ waitForHostInfoGotten()

void lmms::RemotePlugin::waitForHostInfoGotten ( )
inline

◆ waitForInitDone()

void lmms::RemotePlugin::waitForInitDone ( bool _busyWaiting = true)
inline

◆ ProcessWatcher

friend class ProcessWatcher
friend

Member Data Documentation

◆ m_args

QStringList lmms::RemotePlugin::m_args
private

◆ m_audioBuffer

SharedMemory<float[]> lmms::RemotePlugin::m_audioBuffer
private

◆ m_audioBufferSize

std::size_t lmms::RemotePlugin::m_audioBufferSize
private

◆ m_commMutex

QRecursiveMutex lmms::RemotePlugin::m_commMutex
private

◆ m_exec

QString lmms::RemotePlugin::m_exec
private

◆ m_failed

bool lmms::RemotePlugin::m_failed
protected

◆ m_inputCount

int lmms::RemotePlugin::m_inputCount
private

◆ m_outputCount

int lmms::RemotePlugin::m_outputCount
private

◆ m_process

QProcess lmms::RemotePlugin::m_process
private

◆ m_server

int lmms::RemotePlugin::m_server
private

◆ m_socketFile

QString lmms::RemotePlugin::m_socketFile
private

◆ m_splitChannels

bool lmms::RemotePlugin::m_splitChannels
private

◆ m_watcher

ProcessWatcher lmms::RemotePlugin::m_watcher
private

The documentation for this class was generated from the following files: