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

Classes

struct  ChordSplitData
 
struct  SplitTry
 

Functions

bool needToSplit (const std::multimap< ReducedFraction, MidiChord > &chords, int midiProgram, bool isDrumTrack)
 
int findLastSplitPoint (const std::vector< ChordSplitData > &splits)
 
void splitChords (const std::vector< ChordSplitData > &splits, std::multimap< ReducedFraction, MidiChord > &leftHandChords, std::multimap< ReducedFraction, MidiChord > &chords)
 
int findPitchWidthPenalty (const QList< MidiNote > &notes, int splitPoint)
 
bool isOctave (const QList< MidiNote > &notes, int beg, int end)
 
int findSimilarityPenalty (const QList< MidiNote > &notes, const QList< MidiNote > &prevNotes, int splitPoint, int prevSplitPoint)
 
bool areOffTimesEqual (const QList< MidiNote > &notes, int beg, int end)
 
int findDurationPenalty (const QList< MidiNote > &notes, int splitPoint)
 
int findNoteCountPenalty (const QList< MidiNote > &notes, int splitPoint)
 
int findIntersectionPenalty (const ReducedFraction &currentOnTime, int prevPos, int prevSplitPoint, const ReducedFraction &maxChordLen, const std::vector< ChordSplitData > &splits, bool hasLowNotes, bool hasHighNotes)
 
std::vector< ChordSplitDatafindSplits (std::multimap< ReducedFraction, MidiChord > &chords)
 
void insertNewLeftHandTrack (std::multimap< int, MTrack > &tracks, std::multimap< int, MTrack >::iterator &it, const std::multimap< ReducedFraction, MidiChord > &leftHandChords)
 
void splitStaff (std::multimap< int, MTrack > &tracks, std::multimap< int, MTrack >::iterator &it)
 
void addNewLeftHandChord (std::multimap< ReducedFraction, MidiChord > &leftHandChords, const QList< MidiNote > &leftHandNotes, const std::multimap< ReducedFraction, MidiChord >::iterator &it)
 
void splitIntoLeftRightHands (std::multimap< int, MTrack > &tracks)
 

Function Documentation

◆ addNewLeftHandChord()

void Ms::LRHand::addNewLeftHandChord ( std::multimap< ReducedFraction, MidiChord > &  leftHandChords,
const QList< MidiNote > &  leftHandNotes,
const std::multimap< ReducedFraction, MidiChord >::iterator &  it 
)

◆ areOffTimesEqual()

bool Ms::LRHand::areOffTimesEqual ( const QList< MidiNote > &  notes,
int  beg,
int  end 
)

◆ findDurationPenalty()

int Ms::LRHand::findDurationPenalty ( const QList< MidiNote > &  notes,
int  splitPoint 
)

◆ findIntersectionPenalty()

int Ms::LRHand::findIntersectionPenalty ( const ReducedFraction currentOnTime,
int  prevPos,
int  prevSplitPoint,
const ReducedFraction maxChordLen,
const std::vector< ChordSplitData > &  splits,
bool  hasLowNotes,
bool  hasHighNotes 
)

◆ findLastSplitPoint()

int Ms::LRHand::findLastSplitPoint ( const std::vector< ChordSplitData > &  splits)

◆ findNoteCountPenalty()

int Ms::LRHand::findNoteCountPenalty ( const QList< MidiNote > &  notes,
int  splitPoint 
)

◆ findPitchWidthPenalty()

int Ms::LRHand::findPitchWidthPenalty ( const QList< MidiNote > &  notes,
int  splitPoint 
)

◆ findSimilarityPenalty()

int Ms::LRHand::findSimilarityPenalty ( const QList< MidiNote > &  notes,
const QList< MidiNote > &  prevNotes,
int  splitPoint,
int  prevSplitPoint 
)

◆ findSplits()

std::vector<ChordSplitData> Ms::LRHand::findSplits ( std::multimap< ReducedFraction, MidiChord > &  chords)

◆ insertNewLeftHandTrack()

void Ms::LRHand::insertNewLeftHandTrack ( std::multimap< int, MTrack > &  tracks,
std::multimap< int, MTrack >::iterator &  it,
const std::multimap< ReducedFraction, MidiChord > &  leftHandChords 
)

◆ isOctave()

bool Ms::LRHand::isOctave ( const QList< MidiNote > &  notes,
int  beg,
int  end 
)

◆ needToSplit()

bool Ms::LRHand::needToSplit ( const std::multimap< ReducedFraction, MidiChord > &  chords,
int  midiProgram,
bool  isDrumTrack 
)

◆ splitChords()

void Ms::LRHand::splitChords ( const std::vector< ChordSplitData > &  splits,
std::multimap< ReducedFraction, MidiChord > &  leftHandChords,
std::multimap< ReducedFraction, MidiChord > &  chords 
)

◆ splitIntoLeftRightHands()

void Ms::LRHand::splitIntoLeftRightHands ( std::multimap< int, MTrack > &  tracks)

◆ splitStaff()

void Ms::LRHand::splitStaff ( std::multimap< int, MTrack > &  tracks,
std::multimap< int, MTrack >::iterator &  it 
)