XJ music engine  1.9.6
In-game runtime engine for XJ music.
Public Member Functions | List of all members
XJ::BackgroundCraft Class Reference

#include <BackgroundCraft.h>

Inheritance diagram for XJ::BackgroundCraft:
XJ::Craft XJ::FabricationWrapper

Public Member Functions

 BackgroundCraft (Fabricator *fabricator)
 
void doWork () const
 

Additional Inherited Members

- Protected Member Functions inherited from XJ::Craft
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
 
- Protected Member Functions inherited from XJ::FabricationWrapper
 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 Protected Member Functions inherited from XJ::Craft
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)
 
- Protected Attributes inherited from XJ::Craft
std::map< std::string, int > deltaIns
 
std::map< std::string, int > deltaOuts
 
std::set< Instrument::TypefinalizeAudioLengthsForInstrumentTypes
 
ChoiceIndexProvider choiceIndexProvider = {}
 
- Protected Attributes inherited from XJ::FabricationWrapper
Fabricatorfabricator
 

Detailed Description

Background-type Instrument https://github.com/xjmusic/xjmusic/issues/256

Constructor & Destructor Documentation

◆ BackgroundCraft()

BackgroundCraft::BackgroundCraft ( Fabricator fabricator)
explicit

Member Function Documentation

◆ doWork()

void BackgroundCraft::doWork ( ) const

perform craft for the current segment


The documentation for this class was generated from the following files: