LMMS
Loading...
Searching...
No Matches
Part Class Reference

#include <Part.h>

Classes

struct  PartNotes

Public Types

enum  NoteStatus { KEY_OFF , KEY_PLAYING , KEY_RELASED_AND_SUSTAINED , KEY_RELASED }

Public Member Functions

 Part (Microtonal *microtonal_, FFTwrapper *fft_, std::mutex *mutex_)
 ~Part ()
void NoteOn (unsigned char note, unsigned char velocity, int masterkeyshift)
void NoteOff (unsigned char note)
void PolyphonicAftertouch (unsigned char note, unsigned char velocity, int masterkeyshift)
void AllNotesOff ()
void SetController (unsigned int type, int par)
void RelaseSustainedKeys ()
void RelaseAllKeys ()
void ComputePartSmps ()
int saveXML (const char *filename)
int loadXMLinstrument (const char *filename)
void add2XML (XMLwrapper *xml)
void add2XMLinstrument (XMLwrapper *xml)
void defaults ()
void defaultsinstrument ()
void applyparameters (bool lockmutex=true)
void getfromXML (XMLwrapper *xml)
void getfromXMLinstrument (XMLwrapper *xml)
void cleanup (bool final=false)
void setkeylimit (unsigned char Pkeylimit)
void setkititemstatus (int kititem, int Penabled_)
void setPvolume (char Pvolume)
void setPpanning (char Ppanning)

Public Attributes

struct { 
   unsigned char   Penabled 
   unsigned char   Pmuted 
   unsigned char   Pminkey 
   unsigned char   Pmaxkey 
   unsigned char *   Pname 
   unsigned char   Padenabled 
   unsigned char   Psubenabled 
   unsigned char   Ppadenabled 
   unsigned char   Psendtoparteffect 
   ADnoteParameters *   adpars 
   SUBnoteParameters *   subpars 
   PADnoteParameters *   padpars 
kit [NUM_KIT_ITEMS]
unsigned char Pvolume
unsigned char Pkeyshift
unsigned char Prcvchn
unsigned char Ppanning
unsigned char Pvelsns
unsigned char Pveloffs
unsigned char Pnoteon
unsigned char Pkitmode
unsigned char Pdrummode
unsigned char Ppolymode
unsigned char Plegatomode
unsigned char Pkeylimit
struct { 
   unsigned char   Ptype 
   unsigned char   Pauthor [MAX_INFO_TEXT_SIZE+1] 
   unsigned char   Pcomments [MAX_INFO_TEXT_SIZE+1] 
info
float * partoutl
float * partoutr
float * partfxinputl [NUM_PART_EFX+1]
float * partfxinputr [NUM_PART_EFX+1]
float volume
float oldvolumel
float oldvolumer
float panning
Controller ctl
EffectMgrpartefx [NUM_PART_EFX]
unsigned char Pefxroute [NUM_PART_EFX]
bool Pefxbypass [NUM_PART_EFX]
std::mutex * mutex
std::mutex load_mutex
int lastnote

Private Member Functions

void RunNote (unsigned k)
void KillNotePos (int pos)
void RelaseNotePos (int pos)
void MonoMemRenote ()

Private Attributes

int killallnotes
int lastpos
int lastposb
bool lastlegatomodevalid
std::list< unsigned char > monomemnotes
struct { 
   unsigned char   velocity 
   int   mkeyshift 
monomem [256]
PartNotes partnote [POLIPHONY]
float oldfreq
Microtonalmicrotonal
FFTwrapperfft

Detailed Description

Part implementation

Member Enumeration Documentation

◆ NoteStatus

Enumerator
KEY_OFF 
KEY_PLAYING 
KEY_RELASED_AND_SUSTAINED 
KEY_RELASED 

Constructor & Destructor Documentation

◆ Part()

Part::Part ( Microtonal * microtonal_,
FFTwrapper * fft_,
std::mutex * mutex_ )

Constructor

Parameters
microtonal_Pointer to the microtonal object
fft_Pointer to the FFTwrapper
mutex_Pointer to the master std::mutex

◆ ~Part()

Part::~Part ( )

Destructor

Member Function Documentation

◆ add2XML()

void Part::add2XML ( XMLwrapper * xml)

◆ add2XMLinstrument()

void Part::add2XMLinstrument ( XMLwrapper * xml)

◆ AllNotesOff()

void Part::AllNotesOff ( )

◆ applyparameters()

void Part::applyparameters ( bool lockmutex = true)

◆ cleanup()

void Part::cleanup ( bool final = false)

◆ ComputePartSmps()

void Part::ComputePartSmps ( )

◆ defaults()

void Part::defaults ( )

◆ defaultsinstrument()

void Part::defaultsinstrument ( )

◆ getfromXML()

void Part::getfromXML ( XMLwrapper * xml)

◆ getfromXMLinstrument()

void Part::getfromXMLinstrument ( XMLwrapper * xml)

◆ KillNotePos()

void Part::KillNotePos ( int pos)
private

◆ loadXMLinstrument()

int Part::loadXMLinstrument ( const char * filename)

◆ MonoMemRenote()

void Part::MonoMemRenote ( )
private

◆ NoteOff()

void Part::NoteOff ( unsigned char note)

break;

◆ NoteOn()

void Part::NoteOn ( unsigned char note,
unsigned char velocity,
int masterkeyshift )

◆ PolyphonicAftertouch()

void Part::PolyphonicAftertouch ( unsigned char note,
unsigned char velocity,
int masterkeyshift )

◆ RelaseAllKeys()

void Part::RelaseAllKeys ( )

◆ RelaseNotePos()

void Part::RelaseNotePos ( int pos)
private

◆ RelaseSustainedKeys()

void Part::RelaseSustainedKeys ( )

◆ RunNote()

void Part::RunNote ( unsigned k)
private

◆ saveXML()

int Part::saveXML ( const char * filename)

◆ SetController()

void Part::SetController ( unsigned int type,
int par )

◆ setkeylimit()

void Part::setkeylimit ( unsigned char Pkeylimit)

◆ setkititemstatus()

void Part::setkititemstatus ( int kititem,
int Penabled_ )

◆ setPpanning()

void Part::setPpanning ( char Ppanning)

◆ setPvolume()

void Part::setPvolume ( char Pvolume)

Member Data Documentation

◆ adpars

ADnoteParameters* Part::adpars

◆ ctl

Controller Part::ctl

◆ fft

FFTwrapper* Part::fft
private

◆ [struct]

struct { ... } Part::info

◆ killallnotes

int Part::killallnotes
private

◆ [struct]

struct { ... } Part::kit[NUM_KIT_ITEMS]

◆ lastlegatomodevalid

bool Part::lastlegatomodevalid
private

◆ lastnote

int Part::lastnote

◆ lastpos

int Part::lastpos
private

◆ lastposb

int Part::lastposb
private

◆ load_mutex

std::mutex Part::load_mutex

◆ microtonal

Microtonal* Part::microtonal
private

◆ mkeyshift

int Part::mkeyshift

◆ [struct]

struct { ... } Part::monomem[256]

◆ monomemnotes

std::list<unsigned char> Part::monomemnotes
private

◆ mutex

std::mutex* Part::mutex

◆ oldfreq

float Part::oldfreq
private

◆ oldvolumel

float Part::oldvolumel

◆ oldvolumer

float Part::oldvolumer

◆ Padenabled

unsigned char Part::Padenabled

◆ padpars

PADnoteParameters* Part::padpars

◆ panning

float Part::panning

◆ partefx

EffectMgr* Part::partefx[NUM_PART_EFX]

◆ partfxinputl

float* Part::partfxinputl[NUM_PART_EFX+1]

◆ partfxinputr

float * Part::partfxinputr[NUM_PART_EFX+1]

◆ partnote

PartNotes Part::partnote[POLIPHONY]
private

◆ partoutl

float* Part::partoutl

◆ partoutr

float* Part::partoutr

◆ Pauthor

unsigned char Part::Pauthor[MAX_INFO_TEXT_SIZE+1]

◆ Pcomments

unsigned char Part::Pcomments[MAX_INFO_TEXT_SIZE+1]

◆ Pdrummode

unsigned char Part::Pdrummode

◆ Pefxbypass

bool Part::Pefxbypass[NUM_PART_EFX]

◆ Pefxroute

unsigned char Part::Pefxroute[NUM_PART_EFX]

◆ Penabled

unsigned char Part::Penabled

if the part is enabled

◆ Pkeylimit

unsigned char Part::Pkeylimit

◆ Pkeyshift

unsigned char Part::Pkeyshift

◆ Pkitmode

unsigned char Part::Pkitmode

◆ Plegatomode

unsigned char Part::Plegatomode

◆ Pmaxkey

unsigned char Part::Pmaxkey

◆ Pminkey

unsigned char Part::Pminkey

the minimum key that the part receives noteon messages

◆ Pmuted

unsigned char Part::Pmuted

◆ Pname

unsigned char * Part::Pname

◆ Pnoteon

unsigned char Part::Pnoteon

◆ Ppadenabled

unsigned char Part::Ppadenabled

◆ Ppanning

unsigned char Part::Ppanning

◆ Ppolymode

unsigned char Part::Ppolymode

◆ Prcvchn

unsigned char Part::Prcvchn

◆ Psendtoparteffect

unsigned char Part::Psendtoparteffect

◆ Psubenabled

unsigned char Part::Psubenabled

◆ Ptype

unsigned char Part::Ptype

◆ Pveloffs

unsigned char Part::Pveloffs

◆ Pvelsns

unsigned char Part::Pvelsns

◆ Pvolume

unsigned char Part::Pvolume

part volume

◆ subpars

SUBnoteParameters* Part::subpars

◆ velocity

unsigned char Part::velocity

◆ volume

float Part::volume

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