XJ music engine
1.9.6
In-game runtime engine for XJ music.
|
#include <MacroMainCraft.h>
Public Member Functions | |
MacroMainCraft (Fabricator *fabricator, const std::optional< const Program * > &overrideMacroProgram, const std::set< std::string > &overrideMemes) | |
void | doWork () const |
const Program * | chooseMacroProgram () const |
Additional Inherited Members | |
![]() | |
std::set< const Program * > | programsDirectlyBound (const std::set< const Program * > &programs) const |
std::set< const Instrument * > | instrumentsDirectlyBound (const std::set< const Instrument * > &instruments) const |
std::set< const InstrumentAudio * > | audiosDirectlyBound (const std::set< const InstrumentAudio * > &instrumentAudios) const |
std::set< const InstrumentAudio * > | audiosPublished (const std::set< const InstrumentAudio * > &instrumentAudios) const |
bool | computeMute (Instrument::Type instrumentType) const |
void | pickInstrumentAudio (const SegmentChoiceArrangement *arrangement, const InstrumentAudio *audio, long startAtSegmentMicros, long lengthMicros, const std::string &event) const |
std::set< const InstrumentAudio * > | selectAudioIntensityLayers (std::set< const InstrumentAudio * > audios, const int layers) const |
void | craftNoteEvents (float tempo, const ProgramSequence *sequence, const std::set< const ProgramVoice * > &voices, LambdaInstrumentProvider instrumentProvider) |
void | craftChordParts (float tempo, const Instrument *instrument) |
void | craftChordParts (float tempo, const Instrument *instrument, const SegmentChoice *choice) |
void | craftEventParts (float tempo, const Instrument *instrument, const Program *program) |
int | computeDeltaIn (const SegmentChoice *choice) |
int | computeDeltaOut (const SegmentChoice *choice) |
Craft (Fabricator *fabricator) | |
bool | isIntroSegment (const SegmentChoice *choice) const |
bool | isOutroSegment (const SegmentChoice *choice) const |
bool | isSilentEntireSegment (const SegmentChoice *choice) const |
bool | isActiveEntireSegment (const SegmentChoice *choice) const |
void | craftNoteEventArrangements (float tempo, const SegmentChoice *choice, bool defaultAtonal) |
void | precomputeDeltas (const std::function< bool(const SegmentChoice *)> &choiceFilter, const ChoiceIndexProvider &setChoiceIndexProvider, const std::vector< std::string > &layersInCraftOrder, const std::set< std::string > &layerPrioritizationSearches, const int numLayersIncoming) |
std::optional< const Program * > | chooseFreshProgram (Program::Type programType, std::optional< Instrument::Type > voicingType) const |
std::optional< const Instrument * > | chooseFreshInstrument (Instrument::Type type, const std::set< std::string > &requireEventNames) const |
std::optional< const InstrumentAudio * > | chooseFreshInstrumentAudio (const std::set< Instrument::Type > &types, const std::set< Instrument::Mode > &modes, const std::set< UUID > &avoidIds, const std::set< std::string > &preferredEvents) const |
std::optional< const InstrumentAudio * > | selectNewChordPartInstrumentAudio (const Instrument *instrument, const Chord &chord) const |
std::set< const InstrumentAudio * > | selectGeneralAudioIntensityLayers (const Instrument *instrument) const |
![]() | |
FabricationWrapper (Fabricator *fabricator) | |
FabricationException | exception (const std::string &message) const |
std::string | formatLog (const std::string &message) const |
void | reportMissing (const std::map< std::string, std::string > &traces) const |
![]() | |
static std::set< const Program * > | programsPublished (const std::set< const Program * > &programs) |
static std::set< const Instrument * > | instrumentsPublished (const std::set< const Instrument * > &instruments) |
static bool | inBounds (int floor, int ceiling, float value) |
static bool | isUnlimitedIn (const SegmentChoice &choice) |
static bool | isUnlimitedOut (const SegmentChoice &choice) |
![]() | |
std::map< std::string, int > | deltaIns |
std::map< std::string, int > | deltaOuts |
std::set< Instrument::Type > | finalizeAudioLengthsForInstrumentTypes |
ChoiceIndexProvider | choiceIndexProvider = {} |
![]() | |
Fabricator * | fabricator |
[#138] Foundation craft for Initial Segment of a Chain [#214] If a Chain has Sequences associated with it directly, prefer those choices to any in the Library
MacroMainCraft::MacroMainCraft | ( | Fabricator * | fabricator, |
const std::optional< const Program * > & | overrideMacroProgram, | ||
const std::set< std::string > & | overrideMemes | ||
) |
const Program * MacroMainCraft::chooseMacroProgram | ( | ) | const |
will rank all possibilities, and choose the next macro program
void MacroMainCraft::doWork | ( | ) | const |
perform macro craft for the current segment