XJ music engine  1.9.6
In-game runtime engine for XJ music.
TemplateConfig.h
Go to the documentation of this file.
1 
2 // Copyright (c) XJ Music Inc. (https://xjmusic.com) All Rights Reserved.
3 
4 #ifndef XJMUSIC_TEMPLATE_CONFIG_H
5 #define XJMUSIC_TEMPLATE_CONFIG_H
6 
7 #include <string>
8 #include <vector>
9 
10 #include "Instrument.h"
13 
14 namespace XJ {
15 
16  class TemplateConfig : public ConfigParser {
17  public:
18  static const std::string DEFAULT;
19  static std::string formatMemeTaxonomy(MemeTaxonomy taxonomy);
20  static std::string formatInstrumentTypeList(const std::vector<Instrument::Type> &input);
21  static std::string formatInstrumentTypeList(const std::set<Instrument::Type> &input);
22  explicit TemplateConfig();
23 
24  explicit TemplateConfig(const std::string &input);
25 
26  std::vector<Instrument::Type> detailLayerOrder;
27  std::set<Instrument::Type> instrumentTypesForAudioLengthFinalization;
28  std::set<Instrument::Type> instrumentTypesForInversionSeeking;
29  std::set<std::string> eventNamesLarge;
30  std::set<std::string> eventNamesMedium;
31  std::set<std::string> eventNamesSmall;
33  std::set<std::string> deltaArcBeatLayersToPrioritize;
37  std::map<Instrument::Type, float> choiceMuteProbability;
38  std::map<Instrument::Type, float> dubMasterVolume;
39  std::map<Instrument::Type, float> intensityThreshold;
40  std::map<Instrument::Type, int> intensityLayers;
56 
61  [[nodiscard]] std::string toString() const;
62 
68  [[nodiscard]] bool instrumentTypesForInversionSeekingContains(Instrument::Type type) const;
69 
70 
77 
84 
91 
98 
104  bool operator==(const TemplateConfig & other) const;
105  };
106 
107 }// namespace XJ
108 
109 #endif//XJMUSIC_TEMPLATE_CONFIG_H
Definition: ConfigParser.h:222
Type
Definition: Instrument.h:16
Definition: MemeTaxonomy.h:112
Definition: TemplateConfig.h:16
int mixerHighpassThresholdHz
Definition: TemplateConfig.h:54
int deltaArcBeatLayersIncoming
Definition: TemplateConfig.h:50
int mainProgramLengthMaxDelta
Definition: TemplateConfig.h:52
MemeTaxonomy memeTaxonomy
Definition: TemplateConfig.h:32
std::map< Instrument::Type, float > intensityThreshold
Definition: TemplateConfig.h:39
float mixerCompressDecaySeconds
Definition: TemplateConfig.h:44
bool instrumentTypesForInversionSeekingContains(Instrument::Type type) const
Definition: TemplateConfig.cpp:317
std::string toString() const
Definition: TemplateConfig.cpp:268
float intensityAutoCrescendoMinimum
Definition: TemplateConfig.h:42
std::map< Instrument::Type, float > choiceMuteProbability
Definition: TemplateConfig.h:37
std::set< std::string > deltaArcBeatLayersToPrioritize
Definition: TemplateConfig.h:33
int deltaArcDetailLayersIncoming
Definition: TemplateConfig.h:51
float mixerNormalizationCeiling
Definition: TemplateConfig.h:49
static std::string formatInstrumentTypeList(const std::vector< Instrument::Type > &input)
Definition: TemplateConfig.cpp:213
int getIntensityLayers(Instrument::Type type)
Definition: TemplateConfig.cpp:346
std::set< std::string > eventNamesLarge
Definition: TemplateConfig.h:29
float getChoiceMuteProbability(Instrument::Type type)
Definition: TemplateConfig.cpp:322
float intensityAutoCrescendoMaximum
Definition: TemplateConfig.h:41
std::set< std::string > eventNamesMedium
Definition: TemplateConfig.h:30
static std::string formatMemeTaxonomy(MemeTaxonomy taxonomy)
Definition: TemplateConfig.cpp:187
float mixerCompressAheadSeconds
Definition: TemplateConfig.h:43
int mixerDspBufferSize
Definition: TemplateConfig.h:53
float mixerCompressRatioMax
Definition: TemplateConfig.h:45
float mixerNormalizationBoostThreshold
Definition: TemplateConfig.h:48
float getIntensityThreshold(Instrument::Type type)
Definition: TemplateConfig.cpp:338
bool stickyBunEnabled
Definition: TemplateConfig.h:36
std::map< Instrument::Type, float > dubMasterVolume
Definition: TemplateConfig.h:38
bool intensityAutoCrescendoEnabled
Definition: TemplateConfig.h:34
TemplateConfig()
Definition: TemplateConfig.cpp:99
int mixerLowpassThresholdHz
Definition: TemplateConfig.h:55
std::set< Instrument::Type > instrumentTypesForAudioLengthFinalization
Definition: TemplateConfig.h:27
std::map< Instrument::Type, int > intensityLayers
Definition: TemplateConfig.h:40
std::set< Instrument::Type > instrumentTypesForInversionSeeking
Definition: TemplateConfig.h:28
static const std::string DEFAULT
Definition: TemplateConfig.h:18
float mixerCompressToAmplitude
Definition: TemplateConfig.h:47
float getDubMasterVolume(Instrument::Type type)
Definition: TemplateConfig.cpp:330
bool deltaArcEnabled
Definition: TemplateConfig.h:35
std::vector< Instrument::Type > detailLayerOrder
Definition: TemplateConfig.h:26
bool operator==(const TemplateConfig &other) const
Definition: TemplateConfig.cpp:354
std::set< std::string > eventNamesSmall
Definition: TemplateConfig.h:31
float mixerCompressRatioMin
Definition: TemplateConfig.h:46
Definition: ActiveAudio.h:11