settings.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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. bool sum;
  40. ChannelSettings()
  41. : type(TypeDisabled)
  42. , note(35)
  43. , threshold(25)
  44. , scanTime(25)
  45. , maskTime(35)
  46. , sum(false)
  47. {
  48. memset(name, 0, sizeof(name));
  49. }
  50. };
  51. struct Settings {
  52. uint8_t version;
  53. uint8_t midiChannel;
  54. ChannelSettings channelSettings[PORT_CNT* CHAN_CNT];
  55. Settings()
  56. : version(1)
  57. , midiChannel(1)
  58. {
  59. }
  60. };