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

#include <TapTempo.h>

Inheritance diagram for lmms::TapTempo:
lmms::ToolPlugin lmms::Plugin lmms::Model lmms::JournallingObject lmms::SerializingObject

Public Member Functions

 TapTempo ()
void tap (bool play)
void sync ()
void reset ()
double bpm () const
QString nodeName () const override
void saveSettings (QDomDocument &, QDomElement &) override
void loadSettings (const QDomElement &) override
gui::PluginViewinstantiateView (QWidget *) override
 Create a view for the model.
Public Member Functions inherited from lmms::ToolPlugin
 ToolPlugin (const Descriptor *_descriptor, Model *_parent)
 ~ToolPlugin () override=default
Public Member Functions inherited from lmms::Plugin
 Plugin (const Descriptor *descriptor, Model *parent, const Descriptor::SubPluginFeatures::Key *key=nullptr)
 ~Plugin () override=default
QString displayName () const override
 Return display-name out of sub plugin or descriptor.
const PixmapLoaderlogo () const
 Return logo out of sub plugin or descriptor.
Type type () const
 Return plugin type.
const Descriptordescriptor () const
 Return plugin Descriptor.
const Descriptor::SubPluginFeatures::Keykey () const
virtual void loadFile (const QString &file)
virtual AutomatableModelchildModel (const QString &modelName)
gui::PluginViewcreateView (QWidget *parent)
 Create a view for the model.
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 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 ()

Private Types

using clock = std::chrono::steady_clock

Private Attributes

std::chrono::time_point< clockm_lastTap
std::array< std::chrono::milliseconds, MaxIntervalsm_intervals
int m_beat = 0
int m_taps = 0
double m_bpm = 0

Static Private Attributes

static constexpr auto MaxIntervals = 3

Additional Inherited Members

Public Types inherited from lmms::Plugin
enum class  Type {
  Instrument , Effect , ImportFilter , ExportFilter ,
  Tool , Library , Other , Undefined = 255
}
using DescriptorList = QList<Descriptor*>
Signals inherited from lmms::Model
void dataChanged ()
void dataUnchanged ()
void propertiesChanged ()
Static Public Member Functions inherited from lmms::ToolPlugin
static ToolPlugininstantiate (const QString &_plugin_name, Model *_parent)
Static Public Member Functions inherited from lmms::Plugin
static PlugininstantiateWithKey (const QString &pluginName, Model *parent, const Descriptor::SubPluginFeatures::Key *key, bool keyFromDnd=false)
static Plugininstantiate (const QString &pluginName, Model *parent, void *data)
Protected Member Functions inherited from lmms::Plugin
void collectErrorForUI (QString errMsg)
Protected Member Functions inherited from lmms::JournallingObject
void changeID (jo_id_t _id)

Member Typedef Documentation

◆ clock

using lmms::TapTempo::clock = std::chrono::steady_clock
private

Constructor & Destructor Documentation

◆ TapTempo()

lmms::TapTempo::TapTempo ( )

Member Function Documentation

◆ bpm()

double lmms::TapTempo::bpm ( ) const

◆ instantiateView()

gui::PluginView * lmms::TapTempo::instantiateView ( QWidget * )
inlineoverridevirtual

Create a view for the model.

Implements lmms::Plugin.

◆ loadSettings()

void lmms::TapTempo::loadSettings ( const QDomElement & )
inlineoverridevirtual

◆ nodeName()

QString lmms::TapTempo::nodeName ( void ) const
overridevirtual

◆ reset()

void lmms::TapTempo::reset ( )

◆ saveSettings()

void lmms::TapTempo::saveSettings ( QDomDocument & ,
QDomElement &  )
inlineoverridevirtual

◆ sync()

void lmms::TapTempo::sync ( )

◆ tap()

void lmms::TapTempo::tap ( bool play)

Member Data Documentation

◆ m_beat

int lmms::TapTempo::m_beat = 0
private

◆ m_bpm

double lmms::TapTempo::m_bpm = 0
private

◆ m_intervals

std::array<std::chrono::milliseconds, MaxIntervals> lmms::TapTempo::m_intervals
private

◆ m_lastTap

std::chrono::time_point<clock> lmms::TapTempo::m_lastTap
private

◆ m_taps

int lmms::TapTempo::m_taps = 0
private

◆ MaxIntervals

auto lmms::TapTempo::MaxIntervals = 3
staticconstexprprivate

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