MuseScore  3.4
Music composition and notation
Classes | Functions
Ms::MidiTuplet Namespace Reference

Classes

struct  TiedTuplet
 
struct  TupletCommon
 
struct  TupletData
 
class  TupletErrorResult
 
struct  TupletInfo
 
struct  TupletLimits
 
class  ValidTuplets
 

Functions

bool haveIntersection (const std::pair< ReducedFraction, ReducedFraction > &interval1, const std::pair< ReducedFraction, ReducedFraction > &interval2, bool strictComparison)
 
bool haveIntersection (const std::pair< ReducedFraction, ReducedFraction > &interval, const std::vector< std::pair< ReducedFraction, ReducedFraction >> &intervals, bool strictComparison)
 
const std::map< int, TupletLimits > & tupletsLimits ()
 
const TupletLimitstupletLimits (int tupletNumber)
 
const TupletInfotupletFromId (int id, const std::vector< TupletInfo > &tuplets)
 
TupletInfotupletFromId (int id, std::vector< TupletInfo > &tuplets)
 
bool hasNonTrivialChord (const ReducedFraction &chordOnTime, const QList< MidiNote > &notes, const ReducedFraction &tupletOnTime, const ReducedFraction &tupletLen)
 
bool isTupletUseless (int voice, const ReducedFraction &onTime, const ReducedFraction &len, const ReducedFraction &maxChordLength, const std::multimap< ReducedFraction, MidiChord > &chords)
 
std::multimap< ReducedFraction, TupletData >::iterator removeTuplet (const std::multimap< ReducedFraction, TupletData >::iterator &tupletIt, std::multimap< ReducedFraction, TupletData > &tuplets, const ReducedFraction &maxChordLength, std::multimap< ReducedFraction, MidiChord > &chords)
 
std::multimap< ReducedFraction, TupletData >::iterator removeTupletIfEmpty (const std::multimap< ReducedFraction, TupletData >::iterator &tupletIt, std::multimap< ReducedFraction, TupletData > &tuplets, const ReducedFraction &maxChordLength, std::multimap< ReducedFraction, MidiChord > &chords)
 
void removeEmptyTuplets (MTrack &track)
 
int averagePitch (const std::map< ReducedFraction, std::multimap< ReducedFraction, MidiChord >::iterator > &chords)
 
void sortNotesByPitch (const std::multimap< ReducedFraction, MidiChord >::iterator &startBarChordIt, const std::multimap< ReducedFraction, MidiChord >::iterator &endBarChordIt)
 
void sortTupletsByAveragePitch (std::vector< TupletInfo > &tuplets)
 
std::pair< ReducedFraction, ReducedFractiontupletInterval (const TupletInfo &tuplet, const ReducedFraction &basicQuant)
 
std::vector< std::pair< ReducedFraction, ReducedFraction > > findTupletIntervals (const std::vector< TupletInfo > &tuplets, const ReducedFraction &basicQuant)
 
std::vector< TupletDatafindTupletsInBarForDuration (int voice, const ReducedFraction &barStartTick, const ReducedFraction &durationOnTime, const ReducedFraction &durationLen, const std::multimap< ReducedFraction, TupletData > &tupletEvents)
 
std::vector< std::multimap< ReducedFraction, TupletData >::const_iterator > findTupletsForTimeRange (int voice, const ReducedFraction &onTime, const ReducedFraction &len, const std::multimap< ReducedFraction, TupletData > &tupletEvents, bool strictComparison)
 
std::multimap< ReducedFraction, TupletData >::const_iterator findTupletContainingTime (int voice, const ReducedFraction &time, const std::multimap< ReducedFraction, TupletData > &tupletEvents, bool strictComparison)
 
std::set< std::pair< const ReducedFraction, MidiChord > * > findTupletChords (const std::vector< TupletInfo > &tuplets)
 
std::list< std::multimap< ReducedFraction, MidiChord >::iterator > findNonTupletChords (const std::vector< TupletInfo > &tuplets, const std::multimap< ReducedFraction, MidiChord >::iterator &startBarChordIt, const std::multimap< ReducedFraction, MidiChord >::iterator &endBarChordIt)
 
void splitTupletChord (const std::vector< TupletInfo >::iterator &lastMatch, std::multimap< ReducedFraction, MidiChord > &chords)
 
void splitFirstTupletChords (std::vector< TupletInfo > &tuplets, std::multimap< ReducedFraction, MidiChord > &chords)
 
void minimizeOffTimeError (std::vector< TupletInfo > &tuplets, std::multimap< ReducedFraction, MidiChord > &chords, std::list< std::multimap< ReducedFraction, MidiChord >::iterator > &nonTuplets, const ReducedFraction &startBarTick, const ReducedFraction &basicQuant)
 
void addChordsBetweenTupletNotes (std::vector< TupletInfo > &tuplets, std::list< std::multimap< ReducedFraction, MidiChord >::iterator > &nonTuplets, const std::multimap< ReducedFraction, MidiChord > &chords, const ReducedFraction &startBarTick, const ReducedFraction &basicQuant)
 
void addTupletEvents (std::multimap< ReducedFraction, TupletData > &tupletEvents, const std::vector< TupletInfo > &tuplets, const std::list< TiedTuplet > &backTiedTuplets)
 
void markStaccatoTupletNotes (std::vector< TupletInfo > &tuplets)
 
void cleanStaccatoOfNonTuplets (std::list< std::multimap< ReducedFraction, MidiChord >::iterator > &nonTuplets)
 
ReducedFraction findOnTimeBetweenChords (const std::pair< const ReducedFraction, MidiChord > &chord, const std::multimap< ReducedFraction, MidiChord > &chords, const ReducedFraction &basicQuant, const ReducedFraction &barStart)
 
ReducedFraction findPrevBarStart (const ReducedFraction &barStart, const ReducedFraction &barLen)
 
void setBarIndexesOfNextBarChords (std::vector< TupletInfo > &tuplets, std::list< std::multimap< ReducedFraction, MidiChord >::iterator > &nonTuplets, int barIndex)
 
void findTuplets (const std::multimap< ReducedFraction, MidiChord >::iterator &startBarChordIt, const std::multimap< ReducedFraction, MidiChord >::iterator &endBarChordIt, std::multimap< ReducedFraction, MidiChord > &chords, const ReducedFraction &basicQuant, std::multimap< ReducedFraction, TupletData > &tupletEvents, const TimeSigMap *sigmap, int barIndex)
 
void setAllTupletOffTimes (std::multimap< ReducedFraction, TupletData > &tupletEvents, std::multimap< ReducedFraction, MidiChord > &chords, const TimeSigMap *sigmap)
 
void findAllTuplets (std::multimap< ReducedFraction, TupletData > &tuplets, std::multimap< ReducedFraction, MidiChord > &chords, const TimeSigMap *sigmap, const ReducedFraction &basicQuant)
 
bool isTupletAllowed (const TupletInfo &tupletInfo)
 
std::vector< int > findTupletNumbers (const ReducedFraction &divLen, const ReducedFraction &barFraction)
 
ReducedFraction findSumLengthOfRests (const TupletInfo &tupletInfo, const ReducedFraction &startBarTick)
 
TupletInfo findTupletApproximation (const ReducedFraction &tupletLen, int tupletNumber, const ReducedFraction &basicQuant, const ReducedFraction &startTupletTime, const std::multimap< ReducedFraction, MidiChord >::iterator &startChordIt, const std::multimap< ReducedFraction, MidiChord >::iterator &endChordIt)
 
void detectStaccato (TupletInfo &tuplet)
 
bool haveChordsInTheMiddleBetweenTupletChords (const std::multimap< ReducedFraction, MidiChord >::iterator startDivChordIt, const std::multimap< ReducedFraction, MidiChord >::iterator endDivChordIt, const TupletInfo &tuplet)
 
bool isTupletLenAllowed (const ReducedFraction &tupletLen, int tupletNumber, const std::multimap< ReducedFraction, MidiChord >::const_iterator beg, const std::multimap< ReducedFraction, MidiChord >::const_iterator end, const ReducedFraction &basicQuant)
 
bool isNextBarOwnershipOk (const std::multimap< ReducedFraction, MidiChord >::iterator &startIt, const std::multimap< ReducedFraction, MidiChord >::iterator &endIt, const std::multimap< ReducedFraction, MidiChord > &chords, int barIndex)
 
std::vector< TupletInfodetectTuplets (const std::multimap< ReducedFraction, MidiChord >::iterator &startBarChordIt, const std::multimap< ReducedFraction, MidiChord >::iterator &endBarChordIt, const ReducedFraction &startBarTick, const ReducedFraction &barFraction, std::multimap< ReducedFraction, MidiChord > &chords, const ReducedFraction &basicQuant, int barIndex)
 
bool isMoreTupletVoicesAllowed (int voicesInUse, int availableVoices)
 
bool haveCommonChords (int i, int j, const std::vector< TupletInfo > &tuplets)
 
void removeUselessTuplets (std::vector< TupletInfo > &tuplets)
 
std::set< int > findLongestUncommonGroup (const std::vector< TupletInfo > &tuplets, const ReducedFraction &basicQuant)
 
bool areInCommons (const TupletInfo &t1, const TupletInfo &t2)
 
std::vector< TupletCommonfindTupletCommons (const std::vector< TupletInfo > &tuplets)
 
bool isInCommonIndexes (int indexToCheck, const std::vector< int > &selectedTuplets, const std::vector< TupletCommon > &tupletCommons)
 
TupletErrorResult findTupletError (const std::vector< int > &tupletIndexes, const std::vector< TupletInfo > &tuplets, size_t voiceCount, const ReducedFraction &basicQuant)
 
int findAvailableVoice (size_t tupletIndex, const std::vector< std::pair< ReducedFraction, ReducedFraction >> &tupletIntervals, const std::map< int, std::vector< std::pair< ReducedFraction, ReducedFraction >>> &voiceIntervals)
 
std::map< std::pair< const ReducedFraction, MidiChord > *, int > prepareUsedFirstChords (const std::vector< int > &selectedTuplets, const std::vector< TupletInfo > &tuplets)
 
std::vector< int > findUnusedIndexes (const std::vector< int > &selectedTuplets)
 
bool canUseIndex (int indexToCheck, const std::vector< TupletInfo > &tuplets, const std::vector< std::pair< ReducedFraction, ReducedFraction > > &tupletIntervals, const std::map< int, std::vector< std::pair< ReducedFraction, ReducedFraction >>> &voiceIntervals, const std::map< std::pair< const ReducedFraction, MidiChord > *, int > &usedFirstChords)
 
void tryUpdateBestIndexes (std::vector< int > &bestTupletIndexes, TupletErrorResult &minCurrentError, const std::vector< int > &selectedTuplets, const std::vector< TupletInfo > &tuplets, const std::map< int, std::vector< std::pair< ReducedFraction, ReducedFraction >>> &voiceIntervals, const ReducedFraction &basicQuant)
 
std::map< int, std::vector< std::pair< ReducedFraction, ReducedFraction > > > prepareVoiceIntervals (const std::vector< int > &selectedTuplets, const std::vector< std::pair< ReducedFraction, ReducedFraction > > &tupletIntervals)
 
void findNextTuplet (std::vector< int > &selectedTuplets, ValidTuplets &validTuplets, std::vector< int > &bestTupletIndexes, TupletErrorResult &minCurrentError, const std::vector< TupletCommon > &tupletCommons, const std::vector< TupletInfo > &tuplets, const std::vector< std::pair< ReducedFraction, ReducedFraction > > &tupletIntervals, size_t commonsSize, const ReducedFraction &basicQuant)
 
void moveUncommonTupletsToEnd (std::vector< TupletInfo > &tuplets, std::set< int > &uncommons)
 
std::vector< int > findBestTuplets (const std::vector< TupletCommon > &tupletCommons, const std::vector< TupletInfo > &tuplets, size_t commonsSize, const ReducedFraction &basicQuant)
 
void removeExtraTuplets (std::vector< TupletInfo > &tuplets)
 
void filterTuplets (std::vector< TupletInfo > &tuplets, const ReducedFraction &basicQuant)
 
void addElementToTuplet (int voice, const ReducedFraction &onTime, const ReducedFraction &len, DurationElement *el, std::multimap< ReducedFraction, TupletData > &tuplets)
 
void createTupletNotes (Staff *staff, const std::multimap< ReducedFraction, TupletData > &tuplets)
 
int tupletVoiceLimit ()
 
std::pair< ReducedFraction, ReducedFractionchordInterval (const std::pair< const ReducedFraction, MidiChord > &chord, const std::multimap< ReducedFraction, MidiChord > &chords, const ReducedFraction &basicQuant, const ReducedFraction &barStart)
 
int findTupletWithChord (const MidiChord &midiChord, const std::vector< TupletInfo > &tuplets)
 
std::pair< ReducedFraction, ReducedFractionbackTiedInterval (const TiedTuplet &tiedTuplet, const std::vector< TupletInfo > &tuplets, const std::multimap< ReducedFraction, MidiChord > &chords, const ReducedFraction &basicQuant, const ReducedFraction &barStart)
 
void setTupletVoice (std::map< ReducedFraction, std::multimap< ReducedFraction, MidiChord >::iterator > &tupletChords, int voice)
 
void setTupletVoices (std::vector< TupletInfo > &tuplets, std::set< int > &pendingTuplets, std::map< int, std::vector< std::pair< ReducedFraction, ReducedFraction >>> &tupletIntervals, const ReducedFraction &basicQuant)
 
int findPitchDist (const QList< MidiNote > &notes, const std::vector< TupletInfo > &tuplets, int voice)
 
void setNonTupletVoices (std::set< std::pair< const ReducedFraction, MidiChord > *> &pendingNonTuplets, const std::map< int, std::vector< std::pair< ReducedFraction, ReducedFraction >>> &tupletIntervals, const std::vector< TupletInfo > &tuplets, const std::multimap< ReducedFraction, MidiChord > &chords, const ReducedFraction &basicQuant, const ReducedFraction &barStart)
 
void eraseBackTiedTuplet (int tupletId, std::list< TiedTuplet > &backTiedTuplets)
 
bool excludeExtraVoiceTuplets (std::vector< TupletInfo > &tuplets, std::list< std::multimap< ReducedFraction, MidiChord >::iterator > &nonTuplets, std::list< TiedTuplet > &backTiedTuplets, const std::multimap< ReducedFraction, MidiChord > &chords, const ReducedFraction &basicQuant, const ReducedFraction &barStart, int barIndex)
 
void removeUnusedTuplets (std::vector< TupletInfo > &tuplets, std::list< std::multimap< ReducedFraction, MidiChord >::iterator > &nonTuplets, std::set< int > &pendingTuplets, std::list< TiedTuplet > &backTiedTuplets, std::set< std::pair< const ReducedFraction, MidiChord > *> &pendingNonTuplets, int barIndex)
 
std::set< int > findPendingTuplets (const std::vector< TupletInfo > &tuplets)
 
std::set< std::pair< const ReducedFraction, MidiChord > * > findPendingNonTuplets (const std::list< std::multimap< ReducedFraction, MidiChord >::iterator > &nonTuplets)
 
std::list< TiedTuplet >::iterator eraseBackTiedTuplet (const std::list< TiedTuplet >::iterator &it, std::list< TiedTuplet > &backTiedTuplets, const TupletInfo &tuplet)
 
void setVoicesFromPrevBars (std::list< TiedTuplet > &backTiedTuplets, std::vector< TupletInfo > &tuplets, std::set< int > &pendingTuplets, const std::set< std::pair< const ReducedFraction, MidiChord > *> &pendingNonTuplets, std::map< int, std::vector< std::pair< ReducedFraction, ReducedFraction >>> &tupletIntervals, std::map< int, std::vector< std::pair< ReducedFraction, ReducedFraction >>> &backTupletIntervals, const std::multimap< ReducedFraction, MidiChord > &chords, const ReducedFraction &basicQuant, const ReducedFraction &barStart)
 
void setTiedChordVoice (std::list< TiedTuplet > &backTiedTuplets, std::vector< TupletInfo > &tuplets, std::set< int > &pendingTuplets, std::set< std::pair< const ReducedFraction, MidiChord > *> &pendingNonTuplets, std::map< int, std::vector< std::pair< ReducedFraction, ReducedFraction >>> &tupletIntervals, std::map< int, std::vector< std::pair< ReducedFraction, ReducedFraction >>> &backTupletIntervals, const std::multimap< ReducedFraction, MidiChord > &chords, const std::list< TiedTuplet >::iterator &backTiedIt, bool isNonTupletBackChord, const ReducedFraction &basicQuant, const ReducedFraction &barStart)
 
void setVoiceOfConnectedBackTied (std::list< TiedTuplet > &backTiedTuplets, int tiedTupletVoice, const std::set< int > &pendingTuplets, const TupletInfo &tuplet, const std::list< TiedTuplet >::iterator &backTiedIt)
 
int findVoiceForBackTied (const std::pair< const ReducedFraction, MidiChord > &tiedTupletChord, int voiceLimit, const std::pair< ReducedFraction, ReducedFraction > &backInterval, std::map< int, std::vector< std::pair< ReducedFraction, ReducedFraction >>> &backTupletIntervals, const std::multimap< ReducedFraction, MidiChord > &chords, bool isNonTupletBackChord, const ReducedFraction &basicQuant, const ReducedFraction &barStart)
 
std::map< int, std::vector< std::pair< ReducedFraction, ReducedFraction > > > findBackTupletIntervals (const std::list< TiedTuplet > &backTiedTuplets, const std::vector< TupletInfo > &tuplets)
 
void setBackTiedVoices (std::list< TiedTuplet > &backTiedTuplets, std::vector< TupletInfo > &tuplets, std::set< int > &pendingTuplets, std::set< std::pair< const ReducedFraction, MidiChord > *> &pendingNonTuplets, std::map< int, std::vector< std::pair< ReducedFraction, ReducedFraction >>> &tupletIntervals, const std::multimap< ReducedFraction, MidiChord > &chords, const ReducedFraction &basicQuant, const ReducedFraction &barStart)
 
std::map< std::pair< const ReducedFraction, MidiChord > *, int > findMappedTupletChords (const std::vector< TupletInfo > &tuplets)
 
bool areTupletsIntersect (const TupletInfo &t1, const TupletInfo &t2)
 
std::vector< int > findTiedNotes (const TupletInfo &tuplet, const std::multimap< ReducedFraction, MidiChord >::iterator &chordIt, const std::multimap< ReducedFraction, MidiChord > &chords, const ReducedFraction &startBarTick, const ReducedFraction &basicQuant)
 
std::list< TiedTupletfindBackTiedTuplets (const std::multimap< ReducedFraction, MidiChord > &chords, const std::vector< TupletInfo > &tuplets, const ReducedFraction &prevBarStart, const ReducedFraction &startBarTick, const ReducedFraction &basicQuant, int currentBarIndex)
 
void assignVoices (std::vector< TupletInfo > &tuplets, std::list< std::multimap< ReducedFraction, MidiChord >::iterator > &nonTuplets, std::list< TiedTuplet > &backTiedTuplets, const std::multimap< ReducedFraction, MidiChord > &chords, const ReducedFraction &basicQuant, const ReducedFraction &barStart, int barIndex)
 

Function Documentation

◆ addChordsBetweenTupletNotes()

void Ms::MidiTuplet::addChordsBetweenTupletNotes ( std::vector< TupletInfo > &  tuplets,
std::list< std::multimap< ReducedFraction, MidiChord >::iterator > &  nonTuplets,
const std::multimap< ReducedFraction, MidiChord > &  chords,
const ReducedFraction startBarTick,
const ReducedFraction basicQuant 
)

◆ addElementToTuplet()

void Ms::MidiTuplet::addElementToTuplet ( int  voice,
const ReducedFraction onTime,
const ReducedFraction len,
DurationElement el,
std::multimap< ReducedFraction, TupletData > &  tuplets 
)

◆ addTupletEvents()

void Ms::MidiTuplet::addTupletEvents ( std::multimap< ReducedFraction, TupletData > &  tupletEvents,
const std::vector< TupletInfo > &  tuplets,
const std::list< TiedTuplet > &  backTiedTuplets 
)

◆ areInCommons()

bool Ms::MidiTuplet::areInCommons ( const TupletInfo t1,
const TupletInfo t2 
)

◆ areTupletsIntersect()

bool Ms::MidiTuplet::areTupletsIntersect ( const TupletInfo t1,
const TupletInfo t2 
)

◆ assignVoices()

void Ms::MidiTuplet::assignVoices ( std::vector< TupletInfo > &  tuplets,
std::list< std::multimap< ReducedFraction, MidiChord >::iterator > &  nonTuplets,
std::list< TiedTuplet > &  backTiedTuplets,
const std::multimap< ReducedFraction, MidiChord > &  chords,
const ReducedFraction basicQuant,
const ReducedFraction barStart,
int  barIndex 
)

◆ averagePitch()

int Ms::MidiTuplet::averagePitch ( const std::map< ReducedFraction, std::multimap< ReducedFraction, MidiChord >::iterator > &  chords)

◆ backTiedInterval()

std::pair<ReducedFraction, ReducedFraction> Ms::MidiTuplet::backTiedInterval ( const TiedTuplet tiedTuplet,
const std::vector< TupletInfo > &  tuplets,
const std::multimap< ReducedFraction, MidiChord > &  chords,
const ReducedFraction basicQuant,
const ReducedFraction barStart 
)

◆ canUseIndex()

bool Ms::MidiTuplet::canUseIndex ( int  indexToCheck,
const std::vector< TupletInfo > &  tuplets,
const std::vector< std::pair< ReducedFraction, ReducedFraction > > &  tupletIntervals,
const std::map< int, std::vector< std::pair< ReducedFraction, ReducedFraction >>> &  voiceIntervals,
const std::map< std::pair< const ReducedFraction, MidiChord > *, int > &  usedFirstChords 
)

◆ chordInterval()

std::pair< ReducedFraction, ReducedFraction > Ms::MidiTuplet::chordInterval ( const std::pair< const ReducedFraction, MidiChord > &  chord,
const std::multimap< ReducedFraction, MidiChord > &  chords,
const ReducedFraction basicQuant,
const ReducedFraction barStart 
)

◆ cleanStaccatoOfNonTuplets()

void Ms::MidiTuplet::cleanStaccatoOfNonTuplets ( std::list< std::multimap< ReducedFraction, MidiChord >::iterator > &  nonTuplets)

◆ createTupletNotes()

void Ms::MidiTuplet::createTupletNotes ( Staff staff,
const std::multimap< ReducedFraction, TupletData > &  tuplets 
)

◆ detectStaccato()

void Ms::MidiTuplet::detectStaccato ( TupletInfo tuplet)

◆ detectTuplets()

std::vector< TupletInfo > Ms::MidiTuplet::detectTuplets ( const std::multimap< ReducedFraction, MidiChord >::iterator &  startBarChordIt,
const std::multimap< ReducedFraction, MidiChord >::iterator &  endBarChordIt,
const ReducedFraction startBarTick,
const ReducedFraction barFraction,
std::multimap< ReducedFraction, MidiChord > &  chords,
const ReducedFraction basicQuant,
int  barIndex 
)

◆ eraseBackTiedTuplet() [1/2]

void Ms::MidiTuplet::eraseBackTiedTuplet ( int  tupletId,
std::list< TiedTuplet > &  backTiedTuplets 
)

◆ eraseBackTiedTuplet() [2/2]

std::list<TiedTuplet>::iterator Ms::MidiTuplet::eraseBackTiedTuplet ( const std::list< TiedTuplet >::iterator &  it,
std::list< TiedTuplet > &  backTiedTuplets,
const TupletInfo tuplet 
)

◆ excludeExtraVoiceTuplets()

bool Ms::MidiTuplet::excludeExtraVoiceTuplets ( std::vector< TupletInfo > &  tuplets,
std::list< std::multimap< ReducedFraction, MidiChord >::iterator > &  nonTuplets,
std::list< TiedTuplet > &  backTiedTuplets,
const std::multimap< ReducedFraction, MidiChord > &  chords,
const ReducedFraction basicQuant,
const ReducedFraction barStart,
int  barIndex 
)

◆ filterTuplets()

void Ms::MidiTuplet::filterTuplets ( std::vector< TupletInfo > &  tuplets,
const ReducedFraction basicQuant 
)

◆ findAllTuplets()

void Ms::MidiTuplet::findAllTuplets ( std::multimap< ReducedFraction, TupletData > &  tuplets,
std::multimap< ReducedFraction, MidiChord > &  chords,
const TimeSigMap sigmap,
const ReducedFraction basicQuant 
)

◆ findAvailableVoice()

int Ms::MidiTuplet::findAvailableVoice ( size_t  tupletIndex,
const std::vector< std::pair< ReducedFraction, ReducedFraction >> &  tupletIntervals,
const std::map< int, std::vector< std::pair< ReducedFraction, ReducedFraction >>> &  voiceIntervals 
)

◆ findBackTiedTuplets()

std::list< TiedTuplet > Ms::MidiTuplet::findBackTiedTuplets ( const std::multimap< ReducedFraction, MidiChord > &  chords,
const std::vector< TupletInfo > &  tuplets,
const ReducedFraction prevBarStart,
const ReducedFraction startBarTick,
const ReducedFraction basicQuant,
int  currentBarIndex 
)

◆ findBackTupletIntervals()

std::map<int, std::vector<std::pair<ReducedFraction, ReducedFraction> > > Ms::MidiTuplet::findBackTupletIntervals ( const std::list< TiedTuplet > &  backTiedTuplets,
const std::vector< TupletInfo > &  tuplets 
)

◆ findBestTuplets()

std::vector<int> Ms::MidiTuplet::findBestTuplets ( const std::vector< TupletCommon > &  tupletCommons,
const std::vector< TupletInfo > &  tuplets,
size_t  commonsSize,
const ReducedFraction basicQuant 
)

◆ findLongestUncommonGroup()

std::set<int> Ms::MidiTuplet::findLongestUncommonGroup ( const std::vector< TupletInfo > &  tuplets,
const ReducedFraction basicQuant 
)

◆ findMappedTupletChords()

std::map<std::pair<const ReducedFraction, MidiChord> *, int> Ms::MidiTuplet::findMappedTupletChords ( const std::vector< TupletInfo > &  tuplets)

◆ findNextTuplet()

void Ms::MidiTuplet::findNextTuplet ( std::vector< int > &  selectedTuplets,
ValidTuplets validTuplets,
std::vector< int > &  bestTupletIndexes,
TupletErrorResult minCurrentError,
const std::vector< TupletCommon > &  tupletCommons,
const std::vector< TupletInfo > &  tuplets,
const std::vector< std::pair< ReducedFraction, ReducedFraction > > &  tupletIntervals,
size_t  commonsSize,
const ReducedFraction basicQuant 
)

◆ findNonTupletChords()

std::list<std::multimap<ReducedFraction, MidiChord>::iterator> Ms::MidiTuplet::findNonTupletChords ( const std::vector< TupletInfo > &  tuplets,
const std::multimap< ReducedFraction, MidiChord >::iterator &  startBarChordIt,
const std::multimap< ReducedFraction, MidiChord >::iterator &  endBarChordIt 
)

◆ findOnTimeBetweenChords()

ReducedFraction Ms::MidiTuplet::findOnTimeBetweenChords ( const std::pair< const ReducedFraction, MidiChord > &  chord,
const std::multimap< ReducedFraction, MidiChord > &  chords,
const ReducedFraction basicQuant,
const ReducedFraction barStart 
)

◆ findPendingNonTuplets()

std::set<std::pair<const ReducedFraction, MidiChord> *> Ms::MidiTuplet::findPendingNonTuplets ( const std::list< std::multimap< ReducedFraction, MidiChord >::iterator > &  nonTuplets)

◆ findPendingTuplets()

std::set<int> Ms::MidiTuplet::findPendingTuplets ( const std::vector< TupletInfo > &  tuplets)

◆ findPitchDist()

int Ms::MidiTuplet::findPitchDist ( const QList< MidiNote > &  notes,
const std::vector< TupletInfo > &  tuplets,
int  voice 
)

◆ findPrevBarStart()

ReducedFraction Ms::MidiTuplet::findPrevBarStart ( const ReducedFraction barStart,
const ReducedFraction barLen 
)

◆ findSumLengthOfRests()

ReducedFraction Ms::MidiTuplet::findSumLengthOfRests ( const TupletInfo tupletInfo,
const ReducedFraction startBarTick 
)

◆ findTiedNotes()

std::vector<int> Ms::MidiTuplet::findTiedNotes ( const TupletInfo tuplet,
const std::multimap< ReducedFraction, MidiChord >::iterator &  chordIt,
const std::multimap< ReducedFraction, MidiChord > &  chords,
const ReducedFraction startBarTick,
const ReducedFraction basicQuant 
)

◆ findTupletApproximation()

TupletInfo Ms::MidiTuplet::findTupletApproximation ( const ReducedFraction tupletLen,
int  tupletNumber,
const ReducedFraction basicQuant,
const ReducedFraction startTupletTime,
const std::multimap< ReducedFraction, MidiChord >::iterator &  startChordIt,
const std::multimap< ReducedFraction, MidiChord >::iterator &  endChordIt 
)

◆ findTupletChords()

std::set<std::pair<const ReducedFraction, MidiChord> *> Ms::MidiTuplet::findTupletChords ( const std::vector< TupletInfo > &  tuplets)

◆ findTupletCommons()

std::vector<TupletCommon> Ms::MidiTuplet::findTupletCommons ( const std::vector< TupletInfo > &  tuplets)

◆ findTupletContainingTime()

std::multimap< ReducedFraction, TupletData >::const_iterator Ms::MidiTuplet::findTupletContainingTime ( int  voice,
const ReducedFraction time,
const std::multimap< ReducedFraction, TupletData > &  tupletEvents,
bool  strictComparison 
)

◆ findTupletError()

TupletErrorResult Ms::MidiTuplet::findTupletError ( const std::vector< int > &  tupletIndexes,
const std::vector< TupletInfo > &  tuplets,
size_t  voiceCount,
const ReducedFraction basicQuant 
)

◆ findTupletIntervals()

std::vector< std::pair< ReducedFraction, ReducedFraction > > Ms::MidiTuplet::findTupletIntervals ( const std::vector< TupletInfo > &  tuplets,
const ReducedFraction basicQuant 
)

◆ findTupletNumbers()

std::vector<int> Ms::MidiTuplet::findTupletNumbers ( const ReducedFraction divLen,
const ReducedFraction barFraction 
)

◆ findTuplets()

void Ms::MidiTuplet::findTuplets ( const std::multimap< ReducedFraction, MidiChord >::iterator &  startBarChordIt,
const std::multimap< ReducedFraction, MidiChord >::iterator &  endBarChordIt,
std::multimap< ReducedFraction, MidiChord > &  chords,
const ReducedFraction basicQuant,
std::multimap< ReducedFraction, TupletData > &  tupletEvents,
const TimeSigMap sigmap,
int  barIndex 
)

◆ findTupletsForTimeRange()

std::vector< std::multimap< ReducedFraction, TupletData >::const_iterator > Ms::MidiTuplet::findTupletsForTimeRange ( int  voice,
const ReducedFraction onTime,
const ReducedFraction len,
const std::multimap< ReducedFraction, TupletData > &  tupletEvents,
bool  strictComparison 
)

◆ findTupletsInBarForDuration()

std::vector< TupletData > Ms::MidiTuplet::findTupletsInBarForDuration ( int  voice,
const ReducedFraction barStartTick,
const ReducedFraction durationOnTime,
const ReducedFraction durationLen,
const std::multimap< ReducedFraction, TupletData > &  tupletEvents 
)

◆ findTupletWithChord()

int Ms::MidiTuplet::findTupletWithChord ( const MidiChord midiChord,
const std::vector< TupletInfo > &  tuplets 
)

◆ findUnusedIndexes()

std::vector<int> Ms::MidiTuplet::findUnusedIndexes ( const std::vector< int > &  selectedTuplets)

◆ findVoiceForBackTied()

int Ms::MidiTuplet::findVoiceForBackTied ( const std::pair< const ReducedFraction, MidiChord > &  tiedTupletChord,
int  voiceLimit,
const std::pair< ReducedFraction, ReducedFraction > &  backInterval,
std::map< int, std::vector< std::pair< ReducedFraction, ReducedFraction >>> &  backTupletIntervals,
const std::multimap< ReducedFraction, MidiChord > &  chords,
bool  isNonTupletBackChord,
const ReducedFraction basicQuant,
const ReducedFraction barStart 
)

◆ hasNonTrivialChord()

bool Ms::MidiTuplet::hasNonTrivialChord ( const ReducedFraction chordOnTime,
const QList< MidiNote > &  notes,
const ReducedFraction tupletOnTime,
const ReducedFraction tupletLen 
)

◆ haveChordsInTheMiddleBetweenTupletChords()

bool Ms::MidiTuplet::haveChordsInTheMiddleBetweenTupletChords ( const std::multimap< ReducedFraction, MidiChord >::iterator  startDivChordIt,
const std::multimap< ReducedFraction, MidiChord >::iterator  endDivChordIt,
const TupletInfo tuplet 
)

◆ haveCommonChords()

bool Ms::MidiTuplet::haveCommonChords ( int  i,
int  j,
const std::vector< TupletInfo > &  tuplets 
)

◆ haveIntersection() [1/2]

bool Ms::MidiTuplet::haveIntersection ( const std::pair< ReducedFraction, ReducedFraction > &  interval1,
const std::pair< ReducedFraction, ReducedFraction > &  interval2,
bool  strictComparison 
)

◆ haveIntersection() [2/2]

bool Ms::MidiTuplet::haveIntersection ( const std::pair< ReducedFraction, ReducedFraction > &  interval,
const std::vector< std::pair< ReducedFraction, ReducedFraction >> &  intervals,
bool  strictComparison 
)

◆ isInCommonIndexes()

bool Ms::MidiTuplet::isInCommonIndexes ( int  indexToCheck,
const std::vector< int > &  selectedTuplets,
const std::vector< TupletCommon > &  tupletCommons 
)

◆ isMoreTupletVoicesAllowed()

bool Ms::MidiTuplet::isMoreTupletVoicesAllowed ( int  voicesInUse,
int  availableVoices 
)

◆ isNextBarOwnershipOk()

bool Ms::MidiTuplet::isNextBarOwnershipOk ( const std::multimap< ReducedFraction, MidiChord >::iterator &  startIt,
const std::multimap< ReducedFraction, MidiChord >::iterator &  endIt,
const std::multimap< ReducedFraction, MidiChord > &  chords,
int  barIndex 
)

◆ isTupletAllowed()

bool Ms::MidiTuplet::isTupletAllowed ( const TupletInfo tupletInfo)

◆ isTupletLenAllowed()

bool Ms::MidiTuplet::isTupletLenAllowed ( const ReducedFraction tupletLen,
int  tupletNumber,
const std::multimap< ReducedFraction, MidiChord >::const_iterator  beg,
const std::multimap< ReducedFraction, MidiChord >::const_iterator  end,
const ReducedFraction basicQuant 
)

◆ isTupletUseless()

bool Ms::MidiTuplet::isTupletUseless ( int  voice,
const ReducedFraction onTime,
const ReducedFraction len,
const ReducedFraction maxChordLength,
const std::multimap< ReducedFraction, MidiChord > &  chords 
)

◆ markStaccatoTupletNotes()

void Ms::MidiTuplet::markStaccatoTupletNotes ( std::vector< TupletInfo > &  tuplets)

◆ minimizeOffTimeError()

void Ms::MidiTuplet::minimizeOffTimeError ( std::vector< TupletInfo > &  tuplets,
std::multimap< ReducedFraction, MidiChord > &  chords,
std::list< std::multimap< ReducedFraction, MidiChord >::iterator > &  nonTuplets,
const ReducedFraction startBarTick,
const ReducedFraction basicQuant 
)

◆ moveUncommonTupletsToEnd()

void Ms::MidiTuplet::moveUncommonTupletsToEnd ( std::vector< TupletInfo > &  tuplets,
std::set< int > &  uncommons 
)

◆ prepareUsedFirstChords()

std::map<std::pair<const ReducedFraction, MidiChord> *, int> Ms::MidiTuplet::prepareUsedFirstChords ( const std::vector< int > &  selectedTuplets,
const std::vector< TupletInfo > &  tuplets 
)

◆ prepareVoiceIntervals()

std::map<int, std::vector<std::pair<ReducedFraction, ReducedFraction> > > Ms::MidiTuplet::prepareVoiceIntervals ( const std::vector< int > &  selectedTuplets,
const std::vector< std::pair< ReducedFraction, ReducedFraction > > &  tupletIntervals 
)

◆ removeEmptyTuplets()

void Ms::MidiTuplet::removeEmptyTuplets ( MTrack track)

◆ removeExtraTuplets()

void Ms::MidiTuplet::removeExtraTuplets ( std::vector< TupletInfo > &  tuplets)

◆ removeTuplet()

std::multimap< ReducedFraction, TupletData >::iterator Ms::MidiTuplet::removeTuplet ( const std::multimap< ReducedFraction, TupletData >::iterator &  tupletIt,
std::multimap< ReducedFraction, TupletData > &  tuplets,
const ReducedFraction maxChordLength,
std::multimap< ReducedFraction, MidiChord > &  chords 
)

◆ removeTupletIfEmpty()

std::multimap< ReducedFraction, TupletData >::iterator Ms::MidiTuplet::removeTupletIfEmpty ( const std::multimap< ReducedFraction, TupletData >::iterator &  tupletIt,
std::multimap< ReducedFraction, TupletData > &  tuplets,
const ReducedFraction maxChordLength,
std::multimap< ReducedFraction, MidiChord > &  chords 
)

◆ removeUnusedTuplets()

void Ms::MidiTuplet::removeUnusedTuplets ( std::vector< TupletInfo > &  tuplets,
std::list< std::multimap< ReducedFraction, MidiChord >::iterator > &  nonTuplets,
std::set< int > &  pendingTuplets,
std::list< TiedTuplet > &  backTiedTuplets,
std::set< std::pair< const ReducedFraction, MidiChord > *> &  pendingNonTuplets,
int  barIndex 
)

◆ removeUselessTuplets()

void Ms::MidiTuplet::removeUselessTuplets ( std::vector< TupletInfo > &  tuplets)

◆ setAllTupletOffTimes()

void Ms::MidiTuplet::setAllTupletOffTimes ( std::multimap< ReducedFraction, TupletData > &  tupletEvents,
std::multimap< ReducedFraction, MidiChord > &  chords,
const TimeSigMap sigmap 
)

◆ setBackTiedVoices()

void Ms::MidiTuplet::setBackTiedVoices ( std::list< TiedTuplet > &  backTiedTuplets,
std::vector< TupletInfo > &  tuplets,
std::set< int > &  pendingTuplets,
std::set< std::pair< const ReducedFraction, MidiChord > *> &  pendingNonTuplets,
std::map< int, std::vector< std::pair< ReducedFraction, ReducedFraction >>> &  tupletIntervals,
const std::multimap< ReducedFraction, MidiChord > &  chords,
const ReducedFraction basicQuant,
const ReducedFraction barStart 
)

◆ setBarIndexesOfNextBarChords()

void Ms::MidiTuplet::setBarIndexesOfNextBarChords ( std::vector< TupletInfo > &  tuplets,
std::list< std::multimap< ReducedFraction, MidiChord >::iterator > &  nonTuplets,
int  barIndex 
)

◆ setNonTupletVoices()

void Ms::MidiTuplet::setNonTupletVoices ( std::set< std::pair< const ReducedFraction, MidiChord > *> &  pendingNonTuplets,
const std::map< int, std::vector< std::pair< ReducedFraction, ReducedFraction >>> &  tupletIntervals,
const std::vector< TupletInfo > &  tuplets,
const std::multimap< ReducedFraction, MidiChord > &  chords,
const ReducedFraction basicQuant,
const ReducedFraction barStart 
)

◆ setTiedChordVoice()

void Ms::MidiTuplet::setTiedChordVoice ( std::list< TiedTuplet > &  backTiedTuplets,
std::vector< TupletInfo > &  tuplets,
std::set< int > &  pendingTuplets,
std::set< std::pair< const ReducedFraction, MidiChord > *> &  pendingNonTuplets,
std::map< int, std::vector< std::pair< ReducedFraction, ReducedFraction >>> &  tupletIntervals,
std::map< int, std::vector< std::pair< ReducedFraction, ReducedFraction >>> &  backTupletIntervals,
const std::multimap< ReducedFraction, MidiChord > &  chords,
const std::list< TiedTuplet >::iterator &  backTiedIt,
bool  isNonTupletBackChord,
const ReducedFraction basicQuant,
const ReducedFraction barStart 
)

◆ setTupletVoice()

void Ms::MidiTuplet::setTupletVoice ( std::map< ReducedFraction, std::multimap< ReducedFraction, MidiChord >::iterator > &  tupletChords,
int  voice 
)

◆ setTupletVoices()

void Ms::MidiTuplet::setTupletVoices ( std::vector< TupletInfo > &  tuplets,
std::set< int > &  pendingTuplets,
std::map< int, std::vector< std::pair< ReducedFraction, ReducedFraction >>> &  tupletIntervals,
const ReducedFraction basicQuant 
)

◆ setVoiceOfConnectedBackTied()

void Ms::MidiTuplet::setVoiceOfConnectedBackTied ( std::list< TiedTuplet > &  backTiedTuplets,
int  tiedTupletVoice,
const std::set< int > &  pendingTuplets,
const TupletInfo tuplet,
const std::list< TiedTuplet >::iterator &  backTiedIt 
)

◆ setVoicesFromPrevBars()

void Ms::MidiTuplet::setVoicesFromPrevBars ( std::list< TiedTuplet > &  backTiedTuplets,
std::vector< TupletInfo > &  tuplets,
std::set< int > &  pendingTuplets,
const std::set< std::pair< const ReducedFraction, MidiChord > *> &  pendingNonTuplets,
std::map< int, std::vector< std::pair< ReducedFraction, ReducedFraction >>> &  tupletIntervals,
std::map< int, std::vector< std::pair< ReducedFraction, ReducedFraction >>> &  backTupletIntervals,
const std::multimap< ReducedFraction, MidiChord > &  chords,
const ReducedFraction basicQuant,
const ReducedFraction barStart 
)

◆ sortNotesByPitch()

void Ms::MidiTuplet::sortNotesByPitch ( const std::multimap< ReducedFraction, MidiChord >::iterator &  startBarChordIt,
const std::multimap< ReducedFraction, MidiChord >::iterator &  endBarChordIt 
)

◆ sortTupletsByAveragePitch()

void Ms::MidiTuplet::sortTupletsByAveragePitch ( std::vector< TupletInfo > &  tuplets)

◆ splitFirstTupletChords()

void Ms::MidiTuplet::splitFirstTupletChords ( std::vector< TupletInfo > &  tuplets,
std::multimap< ReducedFraction, MidiChord > &  chords 
)

◆ splitTupletChord()

void Ms::MidiTuplet::splitTupletChord ( const std::vector< TupletInfo >::iterator &  lastMatch,
std::multimap< ReducedFraction, MidiChord > &  chords 
)

◆ tryUpdateBestIndexes()

void Ms::MidiTuplet::tryUpdateBestIndexes ( std::vector< int > &  bestTupletIndexes,
TupletErrorResult minCurrentError,
const std::vector< int > &  selectedTuplets,
const std::vector< TupletInfo > &  tuplets,
const std::map< int, std::vector< std::pair< ReducedFraction, ReducedFraction >>> &  voiceIntervals,
const ReducedFraction basicQuant 
)

◆ tupletFromId() [1/2]

const TupletInfo & Ms::MidiTuplet::tupletFromId ( int  id,
const std::vector< TupletInfo > &  tuplets 
)

◆ tupletFromId() [2/2]

TupletInfo & Ms::MidiTuplet::tupletFromId ( int  id,
std::vector< TupletInfo > &  tuplets 
)

◆ tupletInterval()

std::pair< ReducedFraction, ReducedFraction > Ms::MidiTuplet::tupletInterval ( const TupletInfo tuplet,
const ReducedFraction basicQuant 
)

◆ tupletLimits()

const TupletLimits & Ms::MidiTuplet::tupletLimits ( int  tupletNumber)

◆ tupletsLimits()

const std::map<int, TupletLimits>& Ms::MidiTuplet::tupletsLimits ( )

◆ tupletVoiceLimit()

int Ms::MidiTuplet::tupletVoiceLimit ( )