MuseScore  3.4
Music composition and notation
Classes | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
Ms::GuitarPro6 Class Reference

#include <importgtp.h>

Inheritance diagram for Ms::GuitarPro6:
Inheritance graph
[legend]
Collaboration diagram for Ms::GuitarPro6:
Collaboration graph
[legend]

Classes

struct  GPPartInfo
 

Public Member Functions

 GuitarPro6 (MasterScore *s)
 
virtual bool read (QFile *)
 
- Public Member Functions inherited from Ms::GuitarPro
void setTempo (int n, Measure *measure)
 
void initGuitarProDrumset ()
 
 GuitarPro (MasterScore *, int v)
 
virtual ~GuitarPro ()
 
QString error (GuitarProError n) const
 

Protected Member Functions

void readNote (int string, Note *note)
 
virtual int readBeatEffects (int track, Segment *)
 
- Protected Member Functions inherited from Ms::GuitarPro
void skip (qint64 len)
 
void read (void *p, qint64 len)
 
int readUChar ()
 
int readChar ()
 
QString readPascalString (int)
 
QString readWordPascalString ()
 
QString readBytePascalString ()
 
int readInt ()
 
QString readDelphiString ()
 
void readVolta (GPVolta *, Measure *)
 
virtual void readBend (Note *)
 
virtual bool readMixChange (Measure *measure)
 
void readLyrics ()
 
void readChannels ()
 
void setTuplet (Tuplet *tuplet, int tuple)
 
void setupTupletStyle (Tuplet *tuplet)
 
Fraction len2fraction (int len)
 
void addDynamic (Note *, int d)
 
void createMeasures ()
 
void applyBeatEffects (Chord *, int beatEffects)
 
void readTremoloBar (int track, Segment *)
 
void readChord (Segment *seg, int track, int numStrings, QString name, bool gpHeader)
 
void restsForEmptyBeats (Segment *seg, Measure *measure, ChordRest *cr, Fraction &l, int track, const Fraction &tick)
 
void createSlur (bool hasSlur, int staffIdx, ChordRest *cr)
 
void createOttava (bool hasOttava, int track, ChordRest *cr, QString value)
 
void createSlide (int slide, ChordRest *cr, int staffIdx, Note *note=nullptr)
 
void createCrecDim (int staffIdx, int track, const Fraction &tick, bool crec)
 
TextaddTextToNote (QString, Align, Note *)
 
void addPalmMute (Note *)
 
void addLetRing (Note *)
 
void addVibrato (Note *, Vibrato::Type type=Vibrato::Type::GUITAR_VIBRATO)
 
void addTap (Note *)
 
void addSlap (Note *)
 
void addPop (Note *)
 
void createTuningString (int strings, int tuning[])
 

Private Member Functions

void parseFile (char *filename, QByteArray *data)
 
int readBit (QByteArray *buffer)
 
QByteArray getBytes (QByteArray *buffer, int offset, int length)
 
void readGPX (QByteArray *buffer)
 
int readInteger (QByteArray *buffer, int offset)
 
QByteArray readString (QByteArray *buffer, int offset, int length)
 
int readBits (QByteArray *buffer, int bitsToRead)
 
int readBitsReversed (QByteArray *buffer, int bitsToRead)
 
void readGpif (QByteArray *data)
 
void readScore (QDomNode *metadata)
 
void readChord (QDomNode *diagram, int track)
 
int findNumMeasures (GPPartInfo *partInfo)
 
void readMasterTracks (QDomNode *masterTrack)
 
void readDrumNote (Note *note, int element, int variation)
 
Fraction readBeats (QString beats, GPPartInfo *partInfo, Measure *measure, const Fraction &startTick, int staffIdx, int voiceNum, Tuplet *tuplets[], int measureCounter)
 
void readBars (QDomNode *barList, Measure *measure, ClefType oldClefId[], GPPartInfo *partInfo, int measureCounter)
 
void readTracks (QDomNode *tracks)
 
void readMasterBars (GPPartInfo *partInfo)
 
Fraction rhythmToDuration (QString value)
 
Fraction fermataToFraction (int numerator, int denominator)
 
QDomNode getNode (const QString &id, QDomNode currentDomNode)
 
void unhandledNode (QString nodeName)
 
void makeTie (Note *note)
 
void addTremoloBar (Segment *segment, int track, int whammyOrigin, int whammyMiddle, int whammyEnd)
 

Private Attributes

Fraction _lastTick
 
Volta_lastVolta { nullptr }
 
const int GPX_HEADER_UNCOMPRESSED = 1397113666
 
const int GPX_HEADER_COMPRESSED = 1514554178
 
int position = 0
 
QMap< int, int > * slides
 
const int BITS_IN_BYTE = 8
 
Slur ** legatos
 
QMap< int, FretDiagram * > fretDiagrams
 
int * previousDynamic
 
std::map< std::pair< int, int >, Note * > slideMap
 

Additional Inherited Members

- Public Types inherited from Ms::GuitarPro
enum  GuitarProError : char { GuitarProError::GP_NO_ERROR, GuitarProError::GP_UNKNOWN_FORMAT, GuitarProError::GP_EOF, GuitarProError::GP_BAD_NUMBER_OF_STRINGS }
 
- Public Attributes inherited from Ms::GuitarPro
std::vector< std::string > tunings
 
QString title
 
QString subtitle
 
QString artist
 
QString album
 
QString composer
 
QString transcriber
 
QString instructions
 
QStringList comments
 
GpTrack channelDefaults [GP_MAX_TRACK_NUMBER *2]
 
int staves
 
int measures
 
QList< GpBarbars
 
- Protected Attributes inherited from Ms::GuitarPro
std::list< Note * > slideList
 
int version
 
int key { 0 }
 
Segmentlast_segment { nullptr }
 
Measurelast_measure { nullptr }
 
int last_tempo { -1 }
 
QMap< int, QList< GPFermata > * > fermatas
 
std::vector< Ottava * > ottava
 
Hairpin ** hairpins
 
MasterScorescore
 
QFile * f
 
int curPos
 
int previousTempo
 
int previousDynamic
 
std::vector< int > ottavaFound
 
std::vector< QString > ottavaValue
 
std::map< int, std::pair< int, bool > > tempoMap
 
int tempo
 
QMap< int, int > slides
 
GPLyrics gpLyrics
 
int slide
 
int voltaSequence
 
QTextCodec * _codec { 0 }
 
Slur ** slurs { nullptr }
 
std::vector< PalmMute * > _palmMutes
 
std::vector< LetRing * > _letRings
 
std::vector< Vibrato * > _vibratos
 
- Static Protected Attributes inherited from Ms::GuitarPro
static const uchar EFFECT_BEND = 0x1
 
static const uchar EFFECT_STACATTO = 0x1
 
static const uchar EFFECT_HAMMER = 0x2
 
static const uchar EFFECT_PALM_MUTE = 0x2
 
static const uchar EFFECT_TREMOLO = 0x4
 
static const uchar EFFECT_LET_RING = 0x8
 
static const uchar EFFECT_SLIDE_OLD = 0x4
 
static const uchar EFFECT_SLIDE = 0x8
 
static const uchar EFFECT_GRACE = 0x10
 
static const uchar EFFECT_ARTIFICIAL_HARMONIC = 0x10
 
static const uchar EFFECT_TRILL = 0x20
 
static const uchar EFFECT_GHOST = 0x01
 
static const uchar ARPEGGIO_UP = 0xa
 
static const uchar ARPEGGIO_DOWN = 0x2
 
static const uchar NOTE_GHOST = 0x04
 
static const uchar NOTE_DEAD = 0x20
 
static const uchar NOTE_DYNAMIC = 0x10
 
static const uchar NOTE_FRET = 0x20
 
static const uchar NOTE_FINGERING = 0x80
 
static const uchar NOTE_MARCATO = 0x02
 
static const uchar NOTE_SFORZATO = 0x40
 
static const uchar NOTE_SLUR = 0x8
 
static const uchar NOTE_APPOGIATURA = 0x02
 
static const uchar BEAT_VIBRATO_TREMOLO = 0x02
 
static const uchar BEAT_FADE = 0x10
 
static const uchar BEAT_EFFECT = 0x20
 
static const uchar BEAT_TREMOLO = 0x04
 
static const uchar BEAT_ARPEGGIO = 0x40
 
static const uchar BEAT_STROKE_DIR = 0x02
 
static const uchar BEAT_DOTTED = 0x01
 
static const uchar BEAT_PAUSE = 0x40
 
static const uchar BEAT_TUPLET = 0x20
 
static const uchar BEAT_LYRICS = 0x4
 
static const uchar BEAT_EFFECTS = 0x8
 
static const uchar BEAT_MIX_CHANGE = 0x10
 
static const uchar BEAT_CHORD = 0x2
 
static const uchar SCORE_TIMESIG_NUMERATOR = 0x1
 
static const uchar SCORE_TIMESIG_DENOMINATOR = 0x2
 
static const uchar SCORE_REPEAT_START = 0x4
 
static const uchar SCORE_REPEAT_END = 0x8
 
static const uchar SCORE_MARKER = 0x20
 
static const uchar SCORE_VOLTA = 0x10
 
static const uchar SCORE_KEYSIG = 0x40
 
static const uchar SCORE_DOUBLE_BAR = 0x80
 
static const int SHIFT_SLIDE = 1
 
static const int LEGATO_SLIDE = 2
 
static const int SLIDE_OUT_DOWN = 4
 
static const int SLIDE_OUT_UP = 8
 
static const int SLIDE_IN_ABOVE = 16
 
static const int SLIDE_IN_BELOW = 32
 
static const int MAX_PITCH = 127
 
static const char *const errmsg []
 

Constructor & Destructor Documentation

◆ GuitarPro6()

Ms::GuitarPro6::GuitarPro6 ( MasterScore s)
inline

Member Function Documentation

◆ addTremoloBar()

void Ms::GuitarPro6::addTremoloBar ( Segment segment,
int  track,
int  whammyOrigin,
int  whammyMiddle,
int  whammyEnd 
)
private

◆ fermataToFraction()

Fraction Ms::GuitarPro6::fermataToFraction ( int  numerator,
int  denominator 
)
private

◆ findNumMeasures()

int Ms::GuitarPro6::findNumMeasures ( GPPartInfo partInfo)
private

◆ getBytes()

QByteArray Ms::GuitarPro6::getBytes ( QByteArray *  buffer,
int  offset,
int  length 
)
private

◆ getNode()

QDomNode Ms::GuitarPro6::getNode ( const QString &  id,
QDomNode  currentDomNode 
)
private

◆ makeTie()

void Ms::GuitarPro6::makeTie ( Note note)
private

◆ parseFile()

void Ms::GuitarPro6::parseFile ( char *  filename,
QByteArray *  data 
)
private

◆ read()

bool Ms::GuitarPro6::read ( QFile *  fp)
virtual

Implements Ms::GuitarPro.

◆ readBars()

void Ms::GuitarPro6::readBars ( QDomNode *  barList,
Measure measure,
ClefType  oldClefId[],
GPPartInfo partInfo,
int  measureCounter 
)
private

◆ readBeatEffects()

int Ms::GuitarPro6::readBeatEffects ( int  track,
Segment  
)
protectedvirtual

Implements Ms::GuitarPro.

◆ readBeats()

Fraction Ms::GuitarPro6::readBeats ( QString  beats,
GPPartInfo partInfo,
Measure measure,
const Fraction startTick,
int  staffIdx,
int  voiceNum,
Tuplet tuplets[],
int  measureCounter 
)
private

◆ readBit()

int Ms::GuitarPro6::readBit ( QByteArray *  buffer)
private

◆ readBits()

int Ms::GuitarPro6::readBits ( QByteArray *  buffer,
int  bitsToRead 
)
private

◆ readBitsReversed()

int Ms::GuitarPro6::readBitsReversed ( QByteArray *  buffer,
int  bitsToRead 
)
private

◆ readChord()

void Ms::GuitarPro6::readChord ( QDomNode *  diagram,
int  track 
)
private

◆ readDrumNote()

void Ms::GuitarPro6::readDrumNote ( Note note,
int  element,
int  variation 
)
private

◆ readGpif()

void Ms::GuitarPro6::readGpif ( QByteArray *  data)
private

◆ readGPX()

void Ms::GuitarPro6::readGPX ( QByteArray *  buffer)
private

◆ readInteger()

int Ms::GuitarPro6::readInteger ( QByteArray *  buffer,
int  offset 
)
private

◆ readMasterBars()

void Ms::GuitarPro6::readMasterBars ( GPPartInfo partInfo)
private

◆ readMasterTracks()

void Ms::GuitarPro6::readMasterTracks ( QDomNode *  masterTrack)
private

◆ readNote()

void Ms::GuitarPro6::readNote ( int  string,
Note note 
)
protected

◆ readScore()

void Ms::GuitarPro6::readScore ( QDomNode *  metadata)
private

◆ readString()

QByteArray Ms::GuitarPro6::readString ( QByteArray *  buffer,
int  offset,
int  length 
)
private

◆ readTracks()

void Ms::GuitarPro6::readTracks ( QDomNode *  tracks)
private

◆ rhythmToDuration()

Fraction Ms::GuitarPro6::rhythmToDuration ( QString  value)
private

◆ unhandledNode()

void Ms::GuitarPro6::unhandledNode ( QString  nodeName)
private

Member Data Documentation

◆ _lastTick

Fraction Ms::GuitarPro6::_lastTick
private

◆ _lastVolta

Volta* Ms::GuitarPro6::_lastVolta { nullptr }
private

◆ BITS_IN_BYTE

const int Ms::GuitarPro6::BITS_IN_BYTE = 8
private

◆ fretDiagrams

QMap<int, FretDiagram*> Ms::GuitarPro6::fretDiagrams
private

◆ GPX_HEADER_COMPRESSED

const int Ms::GuitarPro6::GPX_HEADER_COMPRESSED = 1514554178
private

◆ GPX_HEADER_UNCOMPRESSED

const int Ms::GuitarPro6::GPX_HEADER_UNCOMPRESSED = 1397113666
private

◆ legatos

Slur** Ms::GuitarPro6::legatos
private

◆ position

int Ms::GuitarPro6::position = 0
private

◆ previousDynamic

int* Ms::GuitarPro6::previousDynamic
private

◆ slideMap

std::map<std::pair<int, int>, Note*> Ms::GuitarPro6::slideMap
private

◆ slides

QMap<int, int>* Ms::GuitarPro6::slides
private

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