-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathFlashStepMemory.h
33 lines (29 loc) · 1.47 KB
/
FlashStepMemory.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#ifndef FLASHSTEPMEMORY_H
#define FLASHSTEPMEMORY_H
#include "IHWLayer.h"
#include "IStepMemory.h"
#include "DrumStep.h"
/*
* -----------------------------------------------------------------------
* | PATTERN | ... |
* -----------------------------------------------------------------------
* | INSTRUMENT1 | INSTRUMENT 2 | ... | ... |
* -----------------------------------------------------------------------
* | ACTIVES | MUTES | SUBSTEPS | ACTIVES | MUTES | SUBSTEPS | ... | ... |
* -----------------------------------------------------------------------
*
*/
class FlashStepMemory : public IStepMemory
{
public:
FlashStepMemory(IHWLayer * hwLayer);
virtual DrumStep getDrumStep( unsigned char instrumentID, unsigned char pattern, unsigned char step);
virtual bool getNextActiveDrumStep( unsigned char instrumentID, unsigned char pattern, unsigned char & step, DrumStep & drumStep);
virtual bool setDrumStep(unsigned char instrumentID, unsigned char pattern, unsigned char step, DrumStep stepData);
virtual void getActivesAndMutesForNote(unsigned char instrumentID, unsigned char pattern, unsigned char windowIndex, unsigned char * data);
virtual void getPatternSettings(unsigned char patternIndex, unsigned char * settings);
virtual void setPatternSettings(unsigned char patternIndex, unsigned char * settings);
private:
IHWLayer * hwLayer_;
};
#endif // FLASHSTEPMEMORY_H