MuseScore
3.4
Music composition and notation
|
Classes | |
struct | VoiceSplit |
Enumerations | |
enum | MovedVoiceGroup { MovedVoiceGroup::LOW, MovedVoiceGroup::HIGH } |
Functions | |
int | toIntVoiceCount (MidiOperations::VoiceCount value) |
int | voiceLimit () |
bool | allNotesHaveEqualLength (const QList< MidiNote > ¬es) |
int | findDurationCountInGroup (const ReducedFraction &chordOnTime, const QList< MidiNote > ¬es, int voice, const std::vector< int > &groupOfIndexes, const TimeSigMap *sigmap, const std::multimap< ReducedFraction, MidiTuplet::TupletData > &tuplets) |
int | findDurationCount (const QList< MidiNote > ¬es, int voice, int splitPoint, const ReducedFraction &chordOnTime, const TimeSigMap *sigmap, const std::multimap< ReducedFraction, MidiTuplet::TupletData > &tuplets) |
int | findOptimalSplitPoint (const std::multimap< ReducedFraction, MidiChord >::iterator &chordIt, const TimeSigMap *sigmap, const std::multimap< ReducedFraction, MidiTuplet::TupletData > &tuplets, const std::multimap< ReducedFraction, MidiChord > &chords) |
std::multimap< ReducedFraction, std::multimap< ReducedFraction, MidiTuplet::TupletData >::iterator >::const_iterator | findInsertedTuplet (const ReducedFraction &onTime, int voice, const std::multimap< ReducedFraction, std::multimap< ReducedFraction, MidiTuplet::TupletData >::iterator > &insertedTuplets) |
bool | hasIntersectionWithTuplets (int voice, const ReducedFraction &onTime, const ReducedFraction &offTime, const std::multimap< ReducedFraction, MidiTuplet::TupletData > &tuplets, const std::multimap< ReducedFraction, std::multimap< ReducedFraction, MidiTuplet::TupletData >::iterator > &insertedTuplets, const ReducedFraction &tupletOnTime) |
void | addGroupSplits (std::vector< VoiceSplit > &splits, const ReducedFraction &maxChordLength, const std::multimap< ReducedFraction, MidiChord > &chords, const std::multimap< ReducedFraction, MidiTuplet::TupletData > &tuplets, const std::multimap< ReducedFraction, std::multimap< ReducedFraction, MidiTuplet::TupletData >::iterator > &insertedTuplets, const ReducedFraction &tupletOnTime, const ReducedFraction &onTime, const ReducedFraction &groupOffTime, int origVoice, MovedVoiceGroup groupType, int maxOccupiedVoice) |
ReducedFraction | maximizeOffTime (const MidiNote ¬e, const ReducedFraction &offTime) |
std::vector< VoiceSplit > | findPossibleVoiceSplits (int origVoice, const std::multimap< ReducedFraction, MidiChord >::iterator &chordIt, int splitPoint, const std::multimap< ReducedFraction, MidiChord > &chords, const std::multimap< ReducedFraction, MidiTuplet::TupletData > &tuplets, const std::multimap< ReducedFraction, std::multimap< ReducedFraction, MidiTuplet::TupletData >::iterator > &insertedTuplets, int maxOccupiedVoice) |
int | findPrevPitchDist (const std::multimap< ReducedFraction, MidiChord >::iterator &chordIt, int averagePitch, const std::multimap< ReducedFraction, MidiChord > &chords, int voice) |
int | findNextPitchDist (const std::multimap< ReducedFraction, MidiChord >::iterator &chordIt, int averagePitch, const std::multimap< ReducedFraction, MidiChord > &chords, int voice) |
int | findMinPitchDist (int averagePitch, const int voice, const std::multimap< ReducedFraction, MidiChord >::iterator &chordIt, const std::multimap< ReducedFraction, MidiChord > &chords) |
int | findAverageLowPitch (const QList< MidiNote > ¬es, int splitPoint) |
int | findAverageHighPitch (const QList< MidiNote > ¬es, int splitPoint) |
VoiceSplit | findBestSplit (const std::multimap< ReducedFraction, MidiChord >::iterator &chordIt, const std::multimap< ReducedFraction, MidiChord > &chords, const std::vector< VoiceSplit > &possibleSplits, int splitPoint) |
void | insertNewTuplet (std::multimap< ReducedFraction, MidiTuplet::TupletData >::iterator &tuplet, const ReducedFraction &tupletOnTime, int newVoice, std::multimap< ReducedFraction, MidiChord > &chords, std::multimap< ReducedFraction, MidiTuplet::TupletData > &tuplets, std::multimap< ReducedFraction, std::multimap< ReducedFraction, MidiTuplet::TupletData >::iterator > &insertedTuplets) |
bool | canSplitTuplet (const std::multimap< ReducedFraction, MidiTuplet::TupletData >::iterator &tuplet, int newVoice, const ReducedFraction &chordOnTime, const QList< MidiNote > ¬es, const std::multimap< ReducedFraction, std::multimap< ReducedFraction, MidiTuplet::TupletData >::iterator > &insertedTuplets, const std::multimap< ReducedFraction, MidiChord > &chords, const ReducedFraction &maxChordLength) |
void | splitTuplet (std::multimap< ReducedFraction, MidiTuplet::TupletData >::iterator &tuplet, int newVoice, const ReducedFraction &chordOnTime, const QList< MidiNote > ¬es, bool &isInTuplet, std::multimap< ReducedFraction, std::multimap< ReducedFraction, MidiTuplet::TupletData >::iterator > &insertedTuplets, std::multimap< ReducedFraction, MidiChord > &chords, std::multimap< ReducedFraction, MidiTuplet::TupletData > &tuplets, const ReducedFraction &maxChordLength, bool allowParallelTuplets, bool isThisAChord) |
bool | updateChordTuplets (MidiChord &chord, const ReducedFraction &onTime, std::multimap< ReducedFraction, std::multimap< ReducedFraction, MidiTuplet::TupletData >::iterator > &insertedTuplets, std::multimap< ReducedFraction, MidiChord > &chords, std::multimap< ReducedFraction, MidiTuplet::TupletData > &tuplets, const ReducedFraction &maxChordLength, bool allowParallelTuplets) |
int | findMaxOccupiedVoiceInBar (const std::multimap< ReducedFraction, MidiChord >::iterator &chordIt, const std::multimap< ReducedFraction, MidiChord > &chords) |
bool | splitChordToVoice (std::multimap< ReducedFraction, MidiChord >::iterator &chordIt, const QSet< int > ¬esToMove, int newVoice, std::multimap< ReducedFraction, MidiChord > &chords, std::multimap< ReducedFraction, MidiTuplet::TupletData > &tuplets, std::multimap< ReducedFraction, std::multimap< ReducedFraction, MidiTuplet::TupletData >::iterator > &insertedTuplets, const ReducedFraction &maxChordLength, bool allowParallelTuplets) |
QSet< int > | findNotesToMove (const QList< MidiNote > ¬es, int splitPoint, MovedVoiceGroup splitGroup) |
bool | doVoiceSeparation (std::multimap< ReducedFraction, MidiChord > &chords, const TimeSigMap *sigmap, std::multimap< ReducedFraction, MidiTuplet::TupletData > &tuplets) |
int | findBarIndexForOffTime (const ReducedFraction &offTime, const TimeSigMap *sigmap) |
int | averagePitchOfChords (const std::vector< std::multimap< ReducedFraction, MidiChord >::iterator > &chords) |
void | sortVoicesByPitch (const std::map< int, std::vector< std::multimap< ReducedFraction, MidiChord >::iterator >> &voiceChords) |
void | sortVoices (std::multimap< ReducedFraction, MidiChord > &chords, const TimeSigMap *sigmap) |
bool | separateVoices (std::multimap< int, MTrack > &tracks, const TimeSigMap *sigmap) |
Variables | |
const int | MAX_PITCH_DIST = 1000 |
|
strong |
void Ms::MidiVoice::addGroupSplits | ( | std::vector< VoiceSplit > & | splits, |
const ReducedFraction & | maxChordLength, | ||
const std::multimap< ReducedFraction, MidiChord > & | chords, | ||
const std::multimap< ReducedFraction, MidiTuplet::TupletData > & | tuplets, | ||
const std::multimap< ReducedFraction, std::multimap< ReducedFraction, MidiTuplet::TupletData >::iterator > & | insertedTuplets, | ||
const ReducedFraction & | tupletOnTime, | ||
const ReducedFraction & | onTime, | ||
const ReducedFraction & | groupOffTime, | ||
int | origVoice, | ||
MovedVoiceGroup | groupType, | ||
int | maxOccupiedVoice | ||
) |
bool Ms::MidiVoice::allNotesHaveEqualLength | ( | const QList< MidiNote > & | notes | ) |
int Ms::MidiVoice::averagePitchOfChords | ( | const std::vector< std::multimap< ReducedFraction, MidiChord >::iterator > & | chords | ) |
bool Ms::MidiVoice::canSplitTuplet | ( | const std::multimap< ReducedFraction, MidiTuplet::TupletData >::iterator & | tuplet, |
int | newVoice, | ||
const ReducedFraction & | chordOnTime, | ||
const QList< MidiNote > & | notes, | ||
const std::multimap< ReducedFraction, std::multimap< ReducedFraction, MidiTuplet::TupletData >::iterator > & | insertedTuplets, | ||
const std::multimap< ReducedFraction, MidiChord > & | chords, | ||
const ReducedFraction & | maxChordLength | ||
) |
bool Ms::MidiVoice::doVoiceSeparation | ( | std::multimap< ReducedFraction, MidiChord > & | chords, |
const TimeSigMap * | sigmap, | ||
std::multimap< ReducedFraction, MidiTuplet::TupletData > & | tuplets | ||
) |
int Ms::MidiVoice::findAverageHighPitch | ( | const QList< MidiNote > & | notes, |
int | splitPoint | ||
) |
int Ms::MidiVoice::findAverageLowPitch | ( | const QList< MidiNote > & | notes, |
int | splitPoint | ||
) |
int Ms::MidiVoice::findBarIndexForOffTime | ( | const ReducedFraction & | offTime, |
const TimeSigMap * | sigmap | ||
) |
VoiceSplit Ms::MidiVoice::findBestSplit | ( | const std::multimap< ReducedFraction, MidiChord >::iterator & | chordIt, |
const std::multimap< ReducedFraction, MidiChord > & | chords, | ||
const std::vector< VoiceSplit > & | possibleSplits, | ||
int | splitPoint | ||
) |
int Ms::MidiVoice::findDurationCount | ( | const QList< MidiNote > & | notes, |
int | voice, | ||
int | splitPoint, | ||
const ReducedFraction & | chordOnTime, | ||
const TimeSigMap * | sigmap, | ||
const std::multimap< ReducedFraction, MidiTuplet::TupletData > & | tuplets | ||
) |
int Ms::MidiVoice::findDurationCountInGroup | ( | const ReducedFraction & | chordOnTime, |
const QList< MidiNote > & | notes, | ||
int | voice, | ||
const std::vector< int > & | groupOfIndexes, | ||
const TimeSigMap * | sigmap, | ||
const std::multimap< ReducedFraction, MidiTuplet::TupletData > & | tuplets | ||
) |
std::multimap<ReducedFraction, std::multimap<ReducedFraction, MidiTuplet::TupletData>::iterator>::const_iterator Ms::MidiVoice::findInsertedTuplet | ( | const ReducedFraction & | onTime, |
int | voice, | ||
const std::multimap< ReducedFraction, std::multimap< ReducedFraction, MidiTuplet::TupletData >::iterator > & | insertedTuplets | ||
) |
int Ms::MidiVoice::findMaxOccupiedVoiceInBar | ( | const std::multimap< ReducedFraction, MidiChord >::iterator & | chordIt, |
const std::multimap< ReducedFraction, MidiChord > & | chords | ||
) |
int Ms::MidiVoice::findMinPitchDist | ( | int | averagePitch, |
const int | voice, | ||
const std::multimap< ReducedFraction, MidiChord >::iterator & | chordIt, | ||
const std::multimap< ReducedFraction, MidiChord > & | chords | ||
) |
int Ms::MidiVoice::findNextPitchDist | ( | const std::multimap< ReducedFraction, MidiChord >::iterator & | chordIt, |
int | averagePitch, | ||
const std::multimap< ReducedFraction, MidiChord > & | chords, | ||
int | voice | ||
) |
QSet<int> Ms::MidiVoice::findNotesToMove | ( | const QList< MidiNote > & | notes, |
int | splitPoint, | ||
MovedVoiceGroup | splitGroup | ||
) |
int Ms::MidiVoice::findOptimalSplitPoint | ( | const std::multimap< ReducedFraction, MidiChord >::iterator & | chordIt, |
const TimeSigMap * | sigmap, | ||
const std::multimap< ReducedFraction, MidiTuplet::TupletData > & | tuplets, | ||
const std::multimap< ReducedFraction, MidiChord > & | chords | ||
) |
std::vector<VoiceSplit> Ms::MidiVoice::findPossibleVoiceSplits | ( | int | origVoice, |
const std::multimap< ReducedFraction, MidiChord >::iterator & | chordIt, | ||
int | splitPoint, | ||
const std::multimap< ReducedFraction, MidiChord > & | chords, | ||
const std::multimap< ReducedFraction, MidiTuplet::TupletData > & | tuplets, | ||
const std::multimap< ReducedFraction, std::multimap< ReducedFraction, MidiTuplet::TupletData >::iterator > & | insertedTuplets, | ||
int | maxOccupiedVoice | ||
) |
int Ms::MidiVoice::findPrevPitchDist | ( | const std::multimap< ReducedFraction, MidiChord >::iterator & | chordIt, |
int | averagePitch, | ||
const std::multimap< ReducedFraction, MidiChord > & | chords, | ||
int | voice | ||
) |
bool Ms::MidiVoice::hasIntersectionWithTuplets | ( | int | voice, |
const ReducedFraction & | onTime, | ||
const ReducedFraction & | offTime, | ||
const std::multimap< ReducedFraction, MidiTuplet::TupletData > & | tuplets, | ||
const std::multimap< ReducedFraction, std::multimap< ReducedFraction, MidiTuplet::TupletData >::iterator > & | insertedTuplets, | ||
const ReducedFraction & | tupletOnTime | ||
) |
void Ms::MidiVoice::insertNewTuplet | ( | std::multimap< ReducedFraction, MidiTuplet::TupletData >::iterator & | tuplet, |
const ReducedFraction & | tupletOnTime, | ||
int | newVoice, | ||
std::multimap< ReducedFraction, MidiChord > & | chords, | ||
std::multimap< ReducedFraction, MidiTuplet::TupletData > & | tuplets, | ||
std::multimap< ReducedFraction, std::multimap< ReducedFraction, MidiTuplet::TupletData >::iterator > & | insertedTuplets | ||
) |
ReducedFraction Ms::MidiVoice::maximizeOffTime | ( | const MidiNote & | note, |
const ReducedFraction & | offTime | ||
) |
bool Ms::MidiVoice::separateVoices | ( | std::multimap< int, MTrack > & | tracks, |
const TimeSigMap * | sigmap | ||
) |
void Ms::MidiVoice::sortVoices | ( | std::multimap< ReducedFraction, MidiChord > & | chords, |
const TimeSigMap * | sigmap | ||
) |
void Ms::MidiVoice::sortVoicesByPitch | ( | const std::map< int, std::vector< std::multimap< ReducedFraction, MidiChord >::iterator >> & | voiceChords | ) |
bool Ms::MidiVoice::splitChordToVoice | ( | std::multimap< ReducedFraction, MidiChord >::iterator & | chordIt, |
const QSet< int > & | notesToMove, | ||
int | newVoice, | ||
std::multimap< ReducedFraction, MidiChord > & | chords, | ||
std::multimap< ReducedFraction, MidiTuplet::TupletData > & | tuplets, | ||
std::multimap< ReducedFraction, std::multimap< ReducedFraction, MidiTuplet::TupletData >::iterator > & | insertedTuplets, | ||
const ReducedFraction & | maxChordLength, | ||
bool | allowParallelTuplets | ||
) |
void Ms::MidiVoice::splitTuplet | ( | std::multimap< ReducedFraction, MidiTuplet::TupletData >::iterator & | tuplet, |
int | newVoice, | ||
const ReducedFraction & | chordOnTime, | ||
const QList< MidiNote > & | notes, | ||
bool & | isInTuplet, | ||
std::multimap< ReducedFraction, std::multimap< ReducedFraction, MidiTuplet::TupletData >::iterator > & | insertedTuplets, | ||
std::multimap< ReducedFraction, MidiChord > & | chords, | ||
std::multimap< ReducedFraction, MidiTuplet::TupletData > & | tuplets, | ||
const ReducedFraction & | maxChordLength, | ||
bool | allowParallelTuplets, | ||
bool | isThisAChord | ||
) |
int Ms::MidiVoice::toIntVoiceCount | ( | MidiOperations::VoiceCount | value | ) |
bool Ms::MidiVoice::updateChordTuplets | ( | MidiChord & | chord, |
const ReducedFraction & | onTime, | ||
std::multimap< ReducedFraction, std::multimap< ReducedFraction, MidiTuplet::TupletData >::iterator > & | insertedTuplets, | ||
std::multimap< ReducedFraction, MidiChord > & | chords, | ||
std::multimap< ReducedFraction, MidiTuplet::TupletData > & | tuplets, | ||
const ReducedFraction & | maxChordLength, | ||
bool | allowParallelTuplets | ||
) |
int Ms::MidiVoice::voiceLimit | ( | ) |
const int Ms::MidiVoice::MAX_PITCH_DIST = 1000 |