19 #ifndef DRUMSTICK_QWRK_H 20 #define DRUMSTICK_QWRK_H 24 #include <QScopedPointer> 93 void readFromStream(QDataStream *stream);
94 void readFromFile(
const QString& fileName);
95 Q_DECL_DEPRECATED QTextCodec* getTextCodec();
96 Q_DECL_DEPRECATED
void setTextCodec(QTextCodec *codec);
102 int getKeySig()
const;
103 int getClock()
const;
104 int getAutoSave()
const;
105 int getPlayDelay()
const;
106 bool getZeroCtrls()
const;
107 bool getSendSPP()
const;
108 bool getSendCont()
const;
109 bool getPatchSearch()
const;
110 bool getAutoStop()
const;
111 unsigned int getStopTime()
const;
112 bool getAutoRewind()
const;
113 int getRewindTime()
const;
114 bool getMetroPlay()
const;
115 bool getMetroRecord()
const;
116 bool getMetroAccent()
const;
117 int getCountIn()
const;
118 bool getThruOn()
const;
119 bool getAutoRestart()
const;
120 int getCurTempoOfs()
const;
121 int getTempoOfs1()
const;
122 int getTempoOfs2()
const;
123 int getTempoOfs3()
const;
124 bool getPunchEnabled()
const;
125 int getPunchInTime()
const;
126 int getPunchOutTime()
const;
127 int getEndAllTime()
const;
129 QByteArray getLastChunkRawData()
const;
130 double getRealTime(
long ticks)
const;
144 void signalWRKError(
const QString& errorStr);
152 void signalWRKUnknownChunk(
int type,
const QByteArray& data);
160 void signalWRKHeader(
int verh,
int verl);
171 void signalWRKStreamEnd(
long time);
183 void signalWRKNote(
int track,
long time,
int chan,
int pitch,
int vol,
int dur);
194 void signalWRKKeyPress(
int track,
long time,
int chan,
int pitch,
int press);
205 void signalWRKCtlChange(
int track,
long time,
int chan,
int ctl,
int value);
215 void signalWRKPitchBend(
int track,
long time,
int chan,
int value);
225 void signalWRKProgram(
int track,
long time,
int chan,
int patch);
235 void signalWRKChanPress(
int track,
long time,
int chan,
int press);
244 void signalWRKSysexEvent(
int track,
long time,
int bank);
255 void signalWRKSysex(
int bank,
const QString& name,
bool autosend,
int port,
const QByteArray& data);
267 Q_DECL_DEPRECATED
void signalWRKText(
int track,
long time,
int type,
const QString& data);
276 void signalWRKTimeSig(
int bar,
int num,
int den);
284 void signalWRKKeySig(
int bar,
int alt);
295 void signalWRKTempo(
long time,
int tempo);
314 void signalWRKTrack(
const QString& name1,
315 const QString& name2,
316 int trackno,
int channel,
int pitch,
317 int velocity,
int port,
318 bool selected,
bool muted,
bool loop );
325 void signalWRKTimeBase(
int timebase);
335 void signalWRKGlobalVars();
351 void signalWRKThru(
int mode,
int port,
int channel,
int keyPlus,
int velPlus,
int localPort);
359 void signalWRKTrackOffset(
int track,
int offset);
367 void signalWRKTrackReps(
int track,
int reps);
375 void signalWRKTrackPatch(
int track,
int patch);
383 void signalWRKTrackBank(
int track,
int bank);
391 void signalWRKTimeFormat(
int frames,
int offset);
400 Q_DECL_DEPRECATED
void signalWRKComments(
const QString& data);
409 void signalWRKVariableRecord(
const QString& name,
const QByteArray& data);
417 void signalWRKTrackVol(
int track,
int vol);
435 void signalWRKNewTrack(
const QString& name,
436 int trackno,
int channel,
int pitch,
437 int velocity,
int port,
438 bool selected,
bool muted,
bool loop );
445 void signalWRKSoftVer(
const QString& version);
455 Q_DECL_DEPRECATED
void signalWRKTrackName(
int track,
const QString& name);
464 Q_DECL_DEPRECATED
void signalWRKStringTable(
const QStringList& strs);
475 Q_DECL_DEPRECATED
void signalWRKSegment(
int track,
long time,
const QString& name);
485 void signalWRKChord(
int track,
long time,
const QString& name,
const QByteArray& data);
497 Q_DECL_DEPRECATED
void signalWRKExpression(
int track,
long time,
int code,
const QString& text);
507 void signalWRKHairpin(
int track,
long time,
int code,
int dur);
518 void signalWRKText2(
int track,
long time,
int type,
const QByteArray& data);
535 void signalWRKTrack2(
const QByteArray& name1,
536 const QByteArray& name2,
537 int trackno,
int channel,
int pitch,
538 int velocity,
int port,
539 bool selected,
bool muted,
bool loop );
547 void signalWRKComments2(
const QByteArray& data);
563 void signalWRKNewTrack2(
const QByteArray& name,
564 int trackno,
int channel,
int pitch,
565 int velocity,
int port,
566 bool selected,
bool muted,
bool loop );
574 void signalWRKTrackName2(
int track,
const QByteArray& name);
582 void signalWRKStringTable2(
const QList<QByteArray>& strs);
592 void signalWRKSegment2(
int track,
long time,
const QByteArray& name);
603 void signalWRKExpression2(
int track,
long time,
int code,
const QByteArray& text);
616 Q_DECL_DEPRECATED
void signalWRKMarker(
long time,
int type,
const QString& data);
626 void signalWRKMarker2(
long time,
int type,
const QByteArray& data);
630 quint16 to16bit(quint8 c1, quint8 c2);
631 quint32 to32bit(quint8 c1, quint8 c2, quint8 c3, quint8 c4);
635 QString readString(
int len);
636 QString readVarString();
637 void readRawData(
int size);
638 void readGap(
int size);
640 void seek(qint64 pos);
643 void processTrackChunk();
644 void processVarsChunk();
645 void processTimebaseChunk();
646 void processNoteArray(
int track,
int events);
647 void processStreamChunk();
648 void processMeterChunk();
649 void processTempoChunk(
int factor = 1);
650 void processSysexChunk();
651 void processSysex2Chunk();
652 void processNewSysexChunk();
653 void processThruChunk();
654 void processTrackOffset();
655 void processTrackReps();
656 void processTrackPatch();
657 void processTrackBank();
658 void processTimeFormat();
659 void processComments();
660 void processVariableRecord(
int max);
661 void processNewTrack();
662 void processSoftVer();
663 void processTrackName();
664 void processStringTable();
665 void processLyricsStream();
666 void processTrackVol();
667 void processNewTrackOffset();
668 void processMeterKeyChunk();
669 void processSegmentChunk();
670 void processNewStream();
671 void processUnknown(
int id);
672 void processEndChunk();
674 QByteArray readByteArray(
int len);
675 QByteArray readVarByteArray();
676 void processMarkers();
685 QScopedPointer<QWrkPrivate> d;
692 #endif // DRUMSTICK_QWRK_H
static const QByteArray HEADER
Cakewalk WRK file format header string id.
The QObject class is the base class of all Qt objects.
Drumstick visibility macros.
Timebase. If present is the first chunk in the file.
Events stream with lyrics.
Software version which saved the file.
Cakewalk WRK file format (input only)
Table of text event types.
Extended thru parameters.
WrkChunkType
Record types within a WRK file.