1
1

settings.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #pragma once
  2. //========================================================================================================================
  3. //========================================================================================================================
  4. // Settings
  5. //========================================================================================================================
  6. //========================================================================================================================
  7. enum Type {
  8. TypeDisabled,
  9. TypePiezo,
  10. };
  11. enum Curve {
  12. Normal,
  13. Exp,
  14. Log,
  15. Sigma,
  16. Flat,
  17. eXTRA,
  18. };
  19. struct CurveSettings {
  20. Curve type;
  21. uint8_t value;
  22. int8_t offset;
  23. uint8_t factor;
  24. CurveSettings()
  25. : type(Normal)
  26. , value(127)
  27. , offset(0)
  28. , factor(127)
  29. {}
  30. };
  31. struct ChannelSettings {
  32. QChar name[1024];
  33. Type type;
  34. uint8_t note;
  35. uint8_t threshold;
  36. qint64 scanTime;
  37. qint64 maskTime;
  38. CurveSettings curve;
  39. ChannelSettings()
  40. : type(TypeDisabled)
  41. , note(35)
  42. , threshold(25)
  43. , scanTime(4)
  44. , maskTime(10)
  45. {
  46. memset(name, 0, sizeof(name));
  47. }
  48. };
  49. struct Settings {
  50. uint8_t version;
  51. uint8_t midiChannel;
  52. ChannelSettings channelSettings[PORT_CNT* CHAN_CNT];
  53. Settings()
  54. : version(1)
  55. , midiChannel(1)
  56. {
  57. }
  58. };