Subversion Repositories DIN Is Noise

Rev

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