XJ music engine  1.9.6
In-game runtime engine for XJ music.
ChainUtils.h
Go to the documentation of this file.
1 // Copyright (c) XJ Music Inc. (https://xjmusic.com) All Rights Reserved.
2 
3 #ifndef XJMUSIC_FABRICATOR_CHAIN_UTILS_H
4 #define XJMUSIC_FABRICATOR_CHAIN_UTILS_H
5 
6 #include <string>
7 #include <set>
8 #include <vector>
9 #include <optional>
10 #include "xjmusic/segment/Chain.h"
15 
16 namespace XJ {
17 
18  class ChainUtils {
19  public:
20  static std::string getFullKey(const std::string &key);
21 
22  static std::string getIdentifier(const std::optional<Chain *> &chain);
23 
24  static std::set<UUID> targetIdsOfType(const std::set<const TemplateBinding *> &chainBindings, TemplateBinding::Type type);
25 
26  static std::string getShipKey(const std::string &chainKey, const std::string &extension);
27 
28  static long computeFabricatedToChainMicros(const std::vector<const Segment *> &segments);
29 
30  static Chain fromTemplate(const Template *tmpl);
31 
32  static std::string computeBaseKey(const Chain &chain);
33 
34  };
35 
36 } // namespace XJ
37 
38 #endif //XJMUSIC_FABRICATOR_CHAIN_UTILS_H
Definition: ChainUtils.h:18
static long computeFabricatedToChainMicros(const std::vector< const Segment * > &segments)
Definition: ChainUtils.cpp:37
static std::string computeBaseKey(const Chain &chain)
Definition: ChainUtils.cpp:59
static std::string getFullKey(const std::string &key)
Definition: ChainUtils.cpp:9
static std::string getShipKey(const std::string &chainKey, const std::string &extension)
Definition: ChainUtils.cpp:32
static std::set< UUID > targetIdsOfType(const std::set< const TemplateBinding * > &chainBindings, TemplateBinding::Type type)
Definition: ChainUtils.cpp:21
static Chain fromTemplate(const Template *tmpl)
Definition: ChainUtils.cpp:48
static std::string getIdentifier(const std::optional< Chain * > &chain)
Definition: ChainUtils.cpp:14
Definition: Chain.h:14
Type
Definition: TemplateBinding.h:16
Definition: Template.h:14
Definition: ActiveAudio.h:11