Seeds.h 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. /*\
  2. |*| Copyright 2015-2016 bill-auger <https://github.com/bill-auger/av-caster/issues>
  3. |*|
  4. |*| This file is part of the AvCaster program.
  5. |*|
  6. |*| AvCaster is free software: you can redistribute it and/or modify
  7. |*| it under the terms of the GNU General Public License version 3
  8. |*| as published by the Free Software Foundation.
  9. |*|
  10. |*| AvCaster is distributed in the hope that it will be useful,
  11. |*| but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. |*| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. |*| GNU General Public License for more details.
  14. |*|
  15. |*| You should have received a copy of the GNU General Public License
  16. |*| along with AvCaster. If not, see <http://www.gnu.org/licenses/>.
  17. \*/
  18. #ifndef _SEEDS_H_
  19. #define _SEEDS_H_
  20. #include "../Constants/Constants.h"
  21. class Seeds
  22. {
  23. public:
  24. static ValueTree DefaultStore() ;
  25. static ValueTree PresetSeeds () ;
  26. protected:
  27. Seeds() ;
  28. void createPreset() ;
  29. // node ID
  30. Identifier presetId ;
  31. // Presets params
  32. String presetName ;
  33. // ConfigOutput params
  34. int outputSinkIdx ;
  35. String outputDest ;
  36. private:
  37. void setValue(ValueTree a_node , Identifier a_key , var a_value) ;
  38. // AvCasterStore->presets child node
  39. ValueTree presetStore ;
  40. // AvCasterStore->network node
  41. ValueTree networkStore ;
  42. // Controls params
  43. bool isScreencapActive ;
  44. bool isCameraActive ;
  45. bool isTextActive ;
  46. bool isImageActive ;
  47. bool isPreviewActive ;
  48. bool isAudioActive ;
  49. // Presets params
  50. String configPane ;
  51. // ConfigScreen params
  52. int displayN ;
  53. int screenN ;
  54. int screencapW ;
  55. int screencapH ;
  56. int offsetX ;
  57. int offsetY ;
  58. // ConfigCamera params
  59. int cameraDeviceIdx ;
  60. int cameraResolutionIdx ;
  61. // ConfigAudio params
  62. int audioApiIdx ;
  63. int audioDeviceIdx ;
  64. int audioCodecIdx ;
  65. int nChannels ;
  66. int samplerate ;
  67. int audioBitrate ;
  68. // ConfigText params
  69. String motdText ;
  70. int textStyleIdx ;
  71. int textPosIdx ;
  72. // ConfigImage params
  73. String imageLocation ;
  74. // ConfigOutput params
  75. int muxerIdx ;
  76. int outputW ;
  77. int outputH ;
  78. int framerate ;
  79. int videoBitrate ;
  80. // ConfigChat params
  81. String network ;
  82. int port ;
  83. String nick ;
  84. String pass ;
  85. String channel ;
  86. bool showTimestamps ;
  87. bool showJoinParts ;
  88. String greeting ;
  89. } ;
  90. class FileSeed : private Seeds { friend class Seeds ; private: FileSeed() ; } ;
  91. class RtmpSeed : private Seeds { friend class Seeds ; private: RtmpSeed() ; } ;
  92. class LctvSeed : private Seeds { friend class Seeds ; private: LctvSeed() ; } ;
  93. #endif // _SEEDS_H_