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

#include <Mixer.h>

Inheritance diagram for lmms::Mixer:
lmms::Model lmms::JournallingObject lmms::SerializingObject

Public Member Functions

 Mixer ()
 ~Mixer () override
void mixToChannel (const AudioBuffer &buffer, mix_ch_t dest)
void prepareMasterMix ()
void masterMix (SampleFrame *_buf)
void saveSettings (QDomDocument &_doc, QDomElement &_parent) override
void loadSettings (const QDomElement &_this) override
QString nodeName () const override
MixerChannelmixerChannel (int _ch)
MixerRoutecreateChannelSend (mix_ch_t fromChannel, mix_ch_t toChannel, float amount=1.0f)
MixerRoutecreateRoute (MixerChannel *from, MixerChannel *to, float amount)
void deleteChannelSend (mix_ch_t fromChannel, mix_ch_t toChannel)
void deleteChannelSend (MixerRoute *route)
bool isInfiniteLoop (mix_ch_t fromChannel, mix_ch_t toChannel)
bool checkInfiniteLoop (MixerChannel *from, MixerChannel *to)
FloatModelchannelSendModel (mix_ch_t fromChannel, mix_ch_t toChannel)
int createChannel ()
void deleteChannel (int index)
void clear ()
void moveChannelLeft (int index)
void moveChannelRight (int index)
void clearChannel (mix_ch_t channelIndex)
void validateChannelName (int index, int oldIndex)
bool isChannelInUse (int index)
void toggledSolo ()
void activateSolo ()
void deactivateSolo ()
mix_ch_t numChannels () const
Public Member Functions inherited from lmms::Model
 Model (Model *parent, QString displayName=QString(), bool defaultConstructed=false)
 ~Model () override=default
bool isDefaultConstructed () const
ModelparentModel () const
virtual QString displayName () const
virtual void setDisplayName (const QString &displayName)
virtual QString fullDisplayName () const
Public Member Functions inherited from lmms::JournallingObject
 JournallingObject ()
 ~JournallingObject () override
jo_id_t id () const
void saveJournallingState (const bool newState)
void restoreJournallingState ()
void addJournalCheckPoint ()
QDomElement saveState (QDomDocument &_doc, QDomElement &_parent) override
void restoreState (const QDomElement &_this) override
bool isJournalling () const
void setJournalling (const bool _sr)
bool testAndSetJournalling (const bool newState)
bool isJournallingStateStackEmpty () const
Public Member Functions inherited from lmms::SerializingObject
 SerializingObject ()
virtual ~SerializingObject ()
void setHook (SerializingObjectHook *_hook)
SerializingObjectHookhook ()

Public Attributes

MixerRouteVector m_mixerRoutes

Private Member Functions

void allocateChannelsTo (int num)

Private Attributes

std::vector< MixerChannel * > m_mixerChannels
int m_lastSoloed

Additional Inherited Members

Signals inherited from lmms::Model
void dataChanged ()
void dataUnchanged ()
void propertiesChanged ()
Protected Member Functions inherited from lmms::JournallingObject
void changeID (jo_id_t _id)

Constructor & Destructor Documentation

◆ Mixer()

lmms::Mixer::Mixer ( )

◆ ~Mixer()

lmms::Mixer::~Mixer ( )
override

Member Function Documentation

◆ activateSolo()

void lmms::Mixer::activateSolo ( )

◆ allocateChannelsTo()

void lmms::Mixer::allocateChannelsTo ( int num)
private

◆ channelSendModel()

FloatModel * lmms::Mixer::channelSendModel ( mix_ch_t fromChannel,
mix_ch_t toChannel )

◆ checkInfiniteLoop()

bool lmms::Mixer::checkInfiniteLoop ( MixerChannel * from,
MixerChannel * to )

◆ clear()

void lmms::Mixer::clear ( )

◆ clearChannel()

void lmms::Mixer::clearChannel ( mix_ch_t channelIndex)

◆ createChannel()

int lmms::Mixer::createChannel ( )

◆ createChannelSend()

MixerRoute * lmms::Mixer::createChannelSend ( mix_ch_t fromChannel,
mix_ch_t toChannel,
float amount = 1.0f )

◆ createRoute()

MixerRoute * lmms::Mixer::createRoute ( MixerChannel * from,
MixerChannel * to,
float amount )

◆ deactivateSolo()

void lmms::Mixer::deactivateSolo ( )

◆ deleteChannel()

void lmms::Mixer::deleteChannel ( int index)

◆ deleteChannelSend() [1/2]

void lmms::Mixer::deleteChannelSend ( mix_ch_t fromChannel,
mix_ch_t toChannel )

◆ deleteChannelSend() [2/2]

void lmms::Mixer::deleteChannelSend ( MixerRoute * route)

◆ isChannelInUse()

bool lmms::Mixer::isChannelInUse ( int index)

◆ isInfiniteLoop()

bool lmms::Mixer::isInfiniteLoop ( mix_ch_t fromChannel,
mix_ch_t toChannel )

◆ loadSettings()

void lmms::Mixer::loadSettings ( const QDomElement & _this)
overridevirtual

◆ masterMix()

void lmms::Mixer::masterMix ( SampleFrame * _buf)

◆ mixerChannel()

MixerChannel * lmms::Mixer::mixerChannel ( int _ch)
inline

◆ mixToChannel()

void lmms::Mixer::mixToChannel ( const AudioBuffer & buffer,
mix_ch_t dest )

◆ moveChannelLeft()

void lmms::Mixer::moveChannelLeft ( int index)

◆ moveChannelRight()

void lmms::Mixer::moveChannelRight ( int index)

◆ nodeName()

QString lmms::Mixer::nodeName ( void ) const
inlineoverridevirtual

◆ numChannels()

mix_ch_t lmms::Mixer::numChannels ( ) const
inline

◆ prepareMasterMix()

void lmms::Mixer::prepareMasterMix ( )

◆ saveSettings()

void lmms::Mixer::saveSettings ( QDomDocument & _doc,
QDomElement & _parent )
overridevirtual

◆ toggledSolo()

void lmms::Mixer::toggledSolo ( )

◆ validateChannelName()

void lmms::Mixer::validateChannelName ( int index,
int oldIndex )

Member Data Documentation

◆ m_lastSoloed

int lmms::Mixer::m_lastSoloed
private

◆ m_mixerChannels

std::vector<MixerChannel*> lmms::Mixer::m_mixerChannels
private

◆ m_mixerRoutes

MixerRouteVector lmms::Mixer::m_mixerRoutes

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