document some of the structures

This commit is contained in:
tildearrow 2022-03-15 22:05:55 -05:00
parent 7aca15b071
commit f4c26dbea7
6 changed files with 114 additions and 0 deletions

View file

@ -22,7 +22,19 @@
struct DivPattern {
String name;
short data[256][32];
/**
* copy this pattern to another.
* @param dest the destination pattern.
*/
void copyOn(DivPattern* dest);
/**
* don't use yet!
* @param len the pattern length
* @param fxRows number of effect ...columns
* @return a SafeReader.
*/
SafeReader* compile(int len=256, int fxRows=1);
DivPattern();
};
@ -36,8 +48,20 @@ struct DivChannelData {
// 2: instrument
// 3: volume
// 4-5+: effect/effect value
// do NOT access directly unless you know what you're doing!
DivPattern* data[128];
/**
* get a pattern from this channel, or the empty pattern if not initialized.
* @param index the pattern ID.
* @param create whether to initialize a new pattern if not init'ed. always use true if you're going to modify it!
* @return a DivPattern.
*/
DivPattern* getPattern(int index, bool create);
/**
* destroy all patterns on this DivChannelData.
*/
void wipePatterns();
DivChannelData();
};