This program generates sound by using FM tone generator YMF825 via SPI.
fmvoice.h@0:c54d59d6fb78, 2018-01-05 (annotated)
- Committer:
- hasebems
- Date:
- Fri Jan 05 22:58:49 2018 +0000
- Revision:
- 0:c54d59d6fb78
???????????????
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
hasebems | 0:c54d59d6fb78 | 1 | #ifndef FMVOICE_H |
hasebems | 0:c54d59d6fb78 | 2 | #define FMVOICE_H |
hasebems | 0:c54d59d6fb78 | 3 | #include <stdbool.h> |
hasebems | 0:c54d59d6fb78 | 4 | |
hasebems | 0:c54d59d6fb78 | 5 | // Fmvoice Class |
hasebems | 0:c54d59d6fb78 | 6 | typedef struct _Fmvoice Fmvoice; |
hasebems | 0:c54d59d6fb78 | 7 | struct _Fmvoice { |
hasebems | 0:c54d59d6fb78 | 8 | unsigned char _vnum; |
hasebems | 0:c54d59d6fb78 | 9 | bool _keyon; |
hasebems | 0:c54d59d6fb78 | 10 | Fmvoice* _nextVc; |
hasebems | 0:c54d59d6fb78 | 11 | void* _parent; |
hasebems | 0:c54d59d6fb78 | 12 | }; |
hasebems | 0:c54d59d6fb78 | 13 | |
hasebems | 0:c54d59d6fb78 | 14 | // public |
hasebems | 0:c54d59d6fb78 | 15 | extern void Fmvoice_init( Fmvoice* _this ); |
hasebems | 0:c54d59d6fb78 | 16 | extern void Fmvoice_keyon( Fmvoice* _this, void* nt, void* pt, void* tn, unsigned char note, unsigned char vel ); |
hasebems | 0:c54d59d6fb78 | 17 | extern void Fmvoice_keyoff( Fmvoice* _this ); |
hasebems | 0:c54d59d6fb78 | 18 | extern void Fmvoice_release( Fmvoice* _this ); |
hasebems | 0:c54d59d6fb78 | 19 | extern void Fmvoice_chgVibDpt( Fmvoice* _this, unsigned char vibDpt ); |
hasebems | 0:c54d59d6fb78 | 20 | extern void Fmvoice_chgPit( Fmvoice* _this, unsigned short pb ); |
hasebems | 0:c54d59d6fb78 | 21 | extern void Fmvoice_setBasicPit( Fmvoice* _this, unsigned char note ); |
hasebems | 0:c54d59d6fb78 | 22 | |
hasebems | 0:c54d59d6fb78 | 23 | // setter |
hasebems | 0:c54d59d6fb78 | 24 | extern void Fmvoice_setVoiceNum( Fmvoice* _this, unsigned char vn ); |
hasebems | 0:c54d59d6fb78 | 25 | extern void Fmvoice_setNextVc( Fmvoice* _this, Fmvoice* vc ); |
hasebems | 0:c54d59d6fb78 | 26 | |
hasebems | 0:c54d59d6fb78 | 27 | // getter |
hasebems | 0:c54d59d6fb78 | 28 | extern unsigned char Fmvoice_vnum( Fmvoice* _this ); |
hasebems | 0:c54d59d6fb78 | 29 | extern bool Fmvoice_isKeyon( Fmvoice* _this ); |
hasebems | 0:c54d59d6fb78 | 30 | extern Fmvoice* Fmvoice_nextVc( Fmvoice* _this ); |
hasebems | 0:c54d59d6fb78 | 31 | #endif |