LMMS
Loading...
Searching...
No Matches
lmms::Piano Class Referencefinal

#include <Piano.h>

Inheritance diagram for lmms::Piano:
lmms::Model

Public Types

enum class  KeyType { White , Black }

Public Member Functions

 Piano (InstrumentTrack *track)
 Create a new keyboard display.
void setKeyState (int key, bool state)
 Turn a key on or off.
bool isKeyPressed (int key) const
void handleKeyPress (int key, int midiVelocity=-1)
 Handle a note being pressed on our keyboard display.
void handleKeyRelease (int key)
 Handle a note being released on our keyboard display.
InstrumentTrackinstrumentTrack () const
MidiEventProcessormidiEventProcessor () 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

Static Public Member Functions

static bool isWhiteKey (int key)
static bool isBlackKey (int key)

Static Public Attributes

static const unsigned int WhiteKeysPerOctave = 7
static const unsigned int BlackKeysPerOctave = 5
static const unsigned int NumWhiteKeys = 75
static const unsigned int NumBlackKeys = 53

Static Private Member Functions

static bool isValidKey (int key)

Private Attributes

InstrumentTrackm_instrumentTrack
MidiEventProcessorm_midiEvProc
std::array< bool, NumKeysm_pressedKeys = {}

Additional Inherited Members

Signals inherited from lmms::Model
void dataChanged ()
void dataUnchanged ()
void propertiesChanged ()

Member Enumeration Documentation

◆ KeyType

enum class lmms::Piano::KeyType
strong
Enumerator
White 
Black 

Constructor & Destructor Documentation

◆ Piano()

lmms::Piano::Piano ( InstrumentTrack * track)

Create a new keyboard display.

Parameters
_itthe InstrumentTrack window to attach to

< base class ctor

< the InstrumentTrack Model

Member Function Documentation

◆ handleKeyPress()

void lmms::Piano::handleKeyPress ( int key,
int midiVelocity = -1 )

Handle a note being pressed on our keyboard display.

Parameters
keythe key being pressed

◆ handleKeyRelease()

void lmms::Piano::handleKeyRelease ( int key)

Handle a note being released on our keyboard display.

Parameters
keythe key being releassed

◆ instrumentTrack()

InstrumentTrack * lmms::Piano::instrumentTrack ( ) const
inline

◆ isBlackKey()

bool lmms::Piano::isBlackKey ( int key)
static

◆ isKeyPressed()

bool lmms::Piano::isKeyPressed ( int key) const
inline

◆ isValidKey()

bool lmms::Piano::isValidKey ( int key)
inlinestaticprivate

◆ isWhiteKey()

bool lmms::Piano::isWhiteKey ( int key)
static

◆ midiEventProcessor()

MidiEventProcessor * lmms::Piano::midiEventProcessor ( ) const
inline

◆ setKeyState()

void lmms::Piano::setKeyState ( int key,
bool state )

Turn a key on or off.

Parameters
keythe key number to change
Statethe state to set the key to

Member Data Documentation

◆ BlackKeysPerOctave

const unsigned int lmms::Piano::BlackKeysPerOctave = 5
static

◆ m_instrumentTrack

InstrumentTrack* lmms::Piano::m_instrumentTrack
private

◆ m_midiEvProc

MidiEventProcessor* lmms::Piano::m_midiEvProc
private

◆ m_pressedKeys

std::array<bool, NumKeys> lmms::Piano::m_pressedKeys = {}
private

◆ NumBlackKeys

const unsigned int lmms::Piano::NumBlackKeys = 53
static

◆ NumWhiteKeys

const unsigned int lmms::Piano::NumWhiteKeys = 75
static

◆ WhiteKeysPerOctave

const unsigned int lmms::Piano::WhiteKeysPerOctave = 7
static

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