Rev 2065 | Rev 2097 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1528 | jag | 1 | /* |
2 | * instrument.h |
||
2009 | jag | 3 | * DIN Is Noise is copyright (c) 2006-2023 Jagannathan Sampath |
1713 | jag | 4 | * DIN Is Noise is released under GNU Public License 2.0 |
1528 | jag | 5 | * For more information, please visit https://dinisnoise.org/ |
6 | */ |
||
7 | |||
8 | #ifndef __INSTRUMENT |
||
9 | #define __INSTRUMENT |
||
10 | |||
11 | #include "ui.h" |
||
12 | #include "scale_info.h" |
||
13 | #include "octave_shift_data.h" |
||
14 | |||
15 | struct instrument : ui { |
||
2067 | jag | 16 | |
1528 | jag | 17 | scale_info scaleinfo; |
18 | octave_shift_data osd; |
||
2067 | jag | 19 | |
20 | std::string fn; |
||
2064 | jag | 21 | int tuning; |
2067 | jag | 22 | |
23 | instrument (); |
||
24 | ~instrument (); |
||
25 | void load (const std::string& nf); |
||
1528 | jag | 26 | virtual void update_waveform () {} |
27 | virtual void update_attack () {} |
||
28 | virtual void update_decay () {} |
||
29 | virtual void load_scale (int dummy = 0) {} |
||
2067 | jag | 30 | |
1528 | jag | 31 | }; |
32 | #endif |
||
33 | |||
34 | |||
35 |