tracktion-engine 3.0-10-g034fdde4aa5
Tracktion Engine — High level data model for audio applications

« « « Anklang Documentation
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
tracktion::engine::PatternGenerator Class Reference
Inheritance diagram for tracktion::engine::PatternGenerator:
tracktion::engine::ValueTreeAllEventListener

Classes

struct  AutoUpdateManager
 
struct  ProgressionItem
 
struct  ProgressionList
 

Public Types

enum class  Mode {
  off , arpeggio , chords , bass ,
  melody
}
 
enum  NoteType { ChordInKeyNote , ChordNotInKeyNote , InKeyNote , NotInKeyNote }
 

Public Member Functions

 PatternGenerator (Clip &, juce::ValueTree)
 
BeatDuration getMinimumChordLength () const
 
BeatDuration getMaximumChordLength () const
 
void validateChordLengths ()
 
juce::StringArray getPossibleTriadNames () const
 
juce::StringArray getPossibleSeventhNames () const
 
int getChordProgressionLength () const
 
const juce::Array< ProgressionItem * > & getChordProgression () const noexcept
 
void setChordProgression (juce::ValueTree v)
 
juce::StringArray getChordProgressionChordNames (bool simplified) const
 
void setChordProgressionFromChordNames (juce::StringArray progression)
 Sets a chord progression using chord roman numerals.
 
void removeIndexFromProgression (int idx)
 
void removeRangeFromProgression (int start, int end)
 
void clearProgression ()
 
void insertChordIntoProgression (int idx, juce::String chordName)
 
void insertChordIntoProgression (int idx, juce::String chordName, juce::String pitches)
 
void moveChordInProgression (int srcIdx, int dstIdx)
 
void duplicateChordInProgression (int idx)
 
void playGuideChord (int idx) const
 
NoteType getTypeForNote (const MidiClip &, const MidiNote &)
 
juce::String formatChordName (juce::String simplifiedChordName) const
 
juce::StringArray getArpStyles ()
 
juce::ValueTree getChordPattern ()
 
juce::ValueTree getBassPattern ()
 
void setChordPattern (juce::ValueTree pattern)
 
void setBassPattern (juce::ValueTree pattern)
 
void generatePattern ()
 
Scale getScaleAtBeat (BeatPosition) const
 
int getNoteAtBeat (BeatPosition) const
 
bool getAutoUpdate ()
 
void setAutoUpdate (bool on)
 
void refreshPatternIfNeeded ()
 
void editFinishedLoading ()
 
BeatDuration getFlattenedChordProgression (juce::OwnedArray< ProgressionItem > &progression, bool globalTime=false)
 

Public Attributes

Clipclip
 
juce::ValueTree state
 
juce::CachedValue< Mode > mode
 
juce::CachedValue< Scale::ScaleType > scaleType
 
juce::CachedValue< bool > autoUpdate
 
juce::CachedValue< bool > arpUpDown
 
juce::CachedValue< bool > arpPlayRoot
 
juce::CachedValue< bool > allNotes
 
juce::CachedValue< bool > octaveUp
 
juce::CachedValue< bool > octaveDown
 
juce::CachedValue< bool > spread
 
juce::CachedValue< floatarpPatternLength
 
juce::CachedValue< floatvelocity
 
juce::CachedValue< floatgate
 
juce::CachedValue< BeatDurationmelodyNoteLength
 
juce::CachedValue< juce::StringarpStyle
 
juce::CachedValue< intscaleRoot
 
juce::CachedValue< intarpSteps
 
juce::CachedValue< intoctave
 
juce::CachedValue< juce::int64patternHash
 

Static Public Attributes

static const int scaleRootGlobalTrack
 
static const int scaleRootChordTrack
 

Detailed Description

Definition at line 146 of file tracktion_Musicality.h.

Member Enumeration Documentation

◆ Mode

enum class tracktion::engine::PatternGenerator::Mode
strong

Definition at line 149 of file tracktion_Musicality.h.

◆ NoteType

enum tracktion::engine::PatternGenerator::NoteType

Definition at line 233 of file tracktion_Musicality.h.

Constructor & Destructor Documentation

◆ PatternGenerator()

tracktion::engine::PatternGenerator::PatternGenerator ( Clip c,
juce::ValueTree  v 
)

Definition at line 787 of file tracktion_Musicality.cpp.

◆ ~PatternGenerator()

tracktion::engine::PatternGenerator::~PatternGenerator ( )
override

Definition at line 817 of file tracktion_Musicality.cpp.

Member Function Documentation

◆ clearProgression()

void tracktion::engine::PatternGenerator::clearProgression ( )

Definition at line 1390 of file tracktion_Musicality.cpp.

◆ duplicateChordInProgression()

void tracktion::engine::PatternGenerator::duplicateChordInProgression ( int  idx)

Definition at line 1116 of file tracktion_Musicality.cpp.

◆ editFinishedLoading()

void tracktion::engine::PatternGenerator::editFinishedLoading ( )

Definition at line 827 of file tracktion_Musicality.cpp.

◆ formatChordName()

juce::String tracktion::engine::PatternGenerator::formatChordName ( juce::String  simplifiedChordName) const

Definition at line 1055 of file tracktion_Musicality.cpp.

◆ generatePattern()

void tracktion::engine::PatternGenerator::generatePattern ( )

Definition at line 1488 of file tracktion_Musicality.cpp.

◆ getArpStyles()

juce::StringArray tracktion::engine::PatternGenerator::getArpStyles ( )

Definition at line 1449 of file tracktion_Musicality.cpp.

◆ getAutoUpdate()

bool tracktion::engine::PatternGenerator::getAutoUpdate ( )

Definition at line 2148 of file tracktion_Musicality.cpp.

◆ getBassPattern()

juce::ValueTree tracktion::engine::PatternGenerator::getBassPattern ( )

Definition at line 905 of file tracktion_Musicality.cpp.

◆ getChordPattern()

juce::ValueTree tracktion::engine::PatternGenerator::getChordPattern ( )

Definition at line 900 of file tracktion_Musicality.cpp.

◆ getChordProgression()

const juce::Array< PatternGenerator::ProgressionItem * > & tracktion::engine::PatternGenerator::getChordProgression ( ) const
noexcept

Definition at line 881 of file tracktion_Musicality.cpp.

◆ getChordProgressionChordNames()

juce::StringArray tracktion::engine::PatternGenerator::getChordProgressionChordNames ( bool  simplified) const

Definition at line 1072 of file tracktion_Musicality.cpp.

◆ getChordProgressionLength()

int tracktion::engine::PatternGenerator::getChordProgressionLength ( ) const

Definition at line 876 of file tracktion_Musicality.cpp.

◆ getFlattenedChordProgression()

BeatDuration tracktion::engine::PatternGenerator::getFlattenedChordProgression ( juce::OwnedArray< ProgressionItem > &  progression,
bool  globalTime = false 
)

Definition at line 1241 of file tracktion_Musicality.cpp.

◆ getMaximumChordLength()

BeatDuration tracktion::engine::PatternGenerator::getMaximumChordLength ( ) const

Definition at line 843 of file tracktion_Musicality.cpp.

◆ getMinimumChordLength()

BeatDuration tracktion::engine::PatternGenerator::getMinimumChordLength ( ) const

Definition at line 838 of file tracktion_Musicality.cpp.

◆ getNoteAtBeat()

int tracktion::engine::PatternGenerator::getNoteAtBeat ( BeatPosition  beat) const

Definition at line 1003 of file tracktion_Musicality.cpp.

◆ getPossibleSeventhNames()

juce::StringArray tracktion::engine::PatternGenerator::getPossibleSeventhNames ( ) const

Definition at line 1044 of file tracktion_Musicality.cpp.

◆ getPossibleTriadNames()

juce::StringArray tracktion::engine::PatternGenerator::getPossibleTriadNames ( ) const

Definition at line 1032 of file tracktion_Musicality.cpp.

◆ getScaleAtBeat()

Scale tracktion::engine::PatternGenerator::getScaleAtBeat ( BeatPosition  beat) const

Definition at line 962 of file tracktion_Musicality.cpp.

◆ getTypeForNote()

PatternGenerator::NoteType tracktion::engine::PatternGenerator::getTypeForNote ( const MidiClip mc,
const MidiNote note 
)

Definition at line 1177 of file tracktion_Musicality.cpp.

◆ insertChordIntoProgression() [1/2]

void tracktion::engine::PatternGenerator::insertChordIntoProgression ( int  idx,
juce::String  chordName 
)

Definition at line 1399 of file tracktion_Musicality.cpp.

◆ insertChordIntoProgression() [2/2]

void tracktion::engine::PatternGenerator::insertChordIntoProgression ( int  idx,
juce::String  chordName,
juce::String  pitches 
)

Definition at line 1417 of file tracktion_Musicality.cpp.

◆ moveChordInProgression()

void tracktion::engine::PatternGenerator::moveChordInProgression ( int  srcIdx,
int  dstIdx 
)

Definition at line 1436 of file tracktion_Musicality.cpp.

◆ playGuideChord()

void tracktion::engine::PatternGenerator::playGuideChord ( int  idx) const

Definition at line 2052 of file tracktion_Musicality.cpp.

◆ refreshPatternIfNeeded()

void tracktion::engine::PatternGenerator::refreshPatternIfNeeded ( )

Definition at line 2156 of file tracktion_Musicality.cpp.

◆ removeIndexFromProgression()

void tracktion::engine::PatternGenerator::removeIndexFromProgression ( int  idx)

Definition at line 1125 of file tracktion_Musicality.cpp.

◆ removeRangeFromProgression()

void tracktion::engine::PatternGenerator::removeRangeFromProgression ( int  start,
int  end 
)

Definition at line 1133 of file tracktion_Musicality.cpp.

◆ setAutoUpdate()

void tracktion::engine::PatternGenerator::setAutoUpdate ( bool  on)

Definition at line 2135 of file tracktion_Musicality.cpp.

◆ setBassPattern()

void tracktion::engine::PatternGenerator::setBassPattern ( juce::ValueTree  pattern)

Definition at line 919 of file tracktion_Musicality.cpp.

◆ setChordPattern()

void tracktion::engine::PatternGenerator::setChordPattern ( juce::ValueTree  pattern)

Definition at line 910 of file tracktion_Musicality.cpp.

◆ setChordProgression()

void tracktion::engine::PatternGenerator::setChordProgression ( juce::ValueTree  v)

Definition at line 886 of file tracktion_Musicality.cpp.

◆ setChordProgressionFromChordNames()

void tracktion::engine::PatternGenerator::setChordProgressionFromChordNames ( juce::StringArray  progression)

Sets a chord progression using chord roman numerals.

Be careful, this sets everything else to default.

Definition at line 1089 of file tracktion_Musicality.cpp.

◆ validateChordLengths()

void tracktion::engine::PatternGenerator::validateChordLengths ( )

Definition at line 857 of file tracktion_Musicality.cpp.

Member Data Documentation

◆ allNotes

juce::CachedValue<bool> tracktion::engine::PatternGenerator::allNotes

Definition at line 251 of file tracktion_Musicality.h.

◆ arpPatternLength

juce::CachedValue<float> tracktion::engine::PatternGenerator::arpPatternLength

Definition at line 252 of file tracktion_Musicality.h.

◆ arpPlayRoot

juce::CachedValue<bool> tracktion::engine::PatternGenerator::arpPlayRoot

Definition at line 251 of file tracktion_Musicality.h.

◆ arpSteps

juce::CachedValue<int> tracktion::engine::PatternGenerator::arpSteps

Definition at line 255 of file tracktion_Musicality.h.

◆ arpStyle

juce::CachedValue<juce::String> tracktion::engine::PatternGenerator::arpStyle

Definition at line 254 of file tracktion_Musicality.h.

◆ arpUpDown

juce::CachedValue<bool> tracktion::engine::PatternGenerator::arpUpDown

Definition at line 251 of file tracktion_Musicality.h.

◆ autoUpdate

juce::CachedValue<bool> tracktion::engine::PatternGenerator::autoUpdate

Definition at line 251 of file tracktion_Musicality.h.

◆ clip

Clip& tracktion::engine::PatternGenerator::clip

Definition at line 247 of file tracktion_Musicality.h.

◆ gate

juce::CachedValue<float> tracktion::engine::PatternGenerator::gate

Definition at line 252 of file tracktion_Musicality.h.

◆ melodyNoteLength

juce::CachedValue<BeatDuration> tracktion::engine::PatternGenerator::melodyNoteLength

Definition at line 253 of file tracktion_Musicality.h.

◆ mode

juce::CachedValue<Mode> tracktion::engine::PatternGenerator::mode

Definition at line 249 of file tracktion_Musicality.h.

◆ octave

juce::CachedValue<int> tracktion::engine::PatternGenerator::octave

Definition at line 255 of file tracktion_Musicality.h.

◆ octaveDown

juce::CachedValue<bool> tracktion::engine::PatternGenerator::octaveDown

Definition at line 251 of file tracktion_Musicality.h.

◆ octaveUp

juce::CachedValue<bool> tracktion::engine::PatternGenerator::octaveUp

Definition at line 251 of file tracktion_Musicality.h.

◆ patternHash

juce::CachedValue<juce::int64> tracktion::engine::PatternGenerator::patternHash

Definition at line 256 of file tracktion_Musicality.h.

◆ scaleRoot

juce::CachedValue<int> tracktion::engine::PatternGenerator::scaleRoot

Definition at line 255 of file tracktion_Musicality.h.

◆ scaleRootChordTrack

const int tracktion::engine::PatternGenerator::scaleRootChordTrack
static

Definition at line 159 of file tracktion_Musicality.h.

◆ scaleRootGlobalTrack

const int tracktion::engine::PatternGenerator::scaleRootGlobalTrack
static

Definition at line 158 of file tracktion_Musicality.h.

◆ scaleType

juce::CachedValue<Scale::ScaleType> tracktion::engine::PatternGenerator::scaleType

Definition at line 250 of file tracktion_Musicality.h.

◆ spread

juce::CachedValue<bool> tracktion::engine::PatternGenerator::spread

Definition at line 251 of file tracktion_Musicality.h.

◆ state

juce::ValueTree tracktion::engine::PatternGenerator::state

Definition at line 248 of file tracktion_Musicality.h.

◆ velocity

juce::CachedValue<float> tracktion::engine::PatternGenerator::velocity

Definition at line 252 of file tracktion_Musicality.h.


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