19 #ifndef DRUMSTICK_QWRK_H 20 #define DRUMSTICK_QWRK_H 24 #include <QScopedPointer> 34 #if defined(DRUMSTICK_STATIC) 35 #define DRUMSTICK_FILE_EXPORT 37 #if defined(drumstick_file_EXPORTS) 38 #define DRUMSTICK_FILE_EXPORT Q_DECL_EXPORT 40 #define DRUMSTICK_FILE_EXPORT Q_DECL_IMPORT 103 void readFromStream(QDataStream *stream);
104 void readFromFile(
const QString& fileName);
105 Q_DECL_DEPRECATED QTextCodec* getTextCodec();
106 Q_DECL_DEPRECATED
void setTextCodec(QTextCodec *codec);
112 int getKeySig()
const;
113 int getClock()
const;
114 int getAutoSave()
const;
115 int getPlayDelay()
const;
116 bool getZeroCtrls()
const;
117 bool getSendSPP()
const;
118 bool getSendCont()
const;
119 bool getPatchSearch()
const;
120 bool getAutoStop()
const;
121 unsigned int getStopTime()
const;
122 bool getAutoRewind()
const;
123 int getRewindTime()
const;
124 bool getMetroPlay()
const;
125 bool getMetroRecord()
const;
126 bool getMetroAccent()
const;
127 int getCountIn()
const;
128 bool getThruOn()
const;
129 bool getAutoRestart()
const;
130 int getCurTempoOfs()
const;
131 int getTempoOfs1()
const;
132 int getTempoOfs2()
const;
133 int getTempoOfs3()
const;
134 bool getPunchEnabled()
const;
135 int getPunchInTime()
const;
136 int getPunchOutTime()
const;
137 int getEndAllTime()
const;
139 QByteArray getLastChunkRawData()
const;
140 double getRealTime(
long ticks)
const;
154 void signalWRKError(
const QString& errorStr);
162 void signalWRKUnknownChunk(
int type,
const QByteArray& data);
170 void signalWRKHeader(
int verh,
int verl);
181 void signalWRKStreamEnd(
long time);
193 void signalWRKNote(
int track,
long time,
int chan,
int pitch,
int vol,
int dur);
204 void signalWRKKeyPress(
int track,
long time,
int chan,
int pitch,
int press);
215 void signalWRKCtlChange(
int track,
long time,
int chan,
int ctl,
int value);
225 void signalWRKPitchBend(
int track,
long time,
int chan,
int value);
235 void signalWRKProgram(
int track,
long time,
int chan,
int patch);
245 void signalWRKChanPress(
int track,
long time,
int chan,
int press);
254 void signalWRKSysexEvent(
int track,
long time,
int bank);
265 void signalWRKSysex(
int bank,
const QString& name,
bool autosend,
int port,
const QByteArray& data);
277 Q_DECL_DEPRECATED
void signalWRKText(
int track,
long time,
int type,
const QString& data);
286 void signalWRKTimeSig(
int bar,
int num,
int den);
294 void signalWRKKeySig(
int bar,
int alt);
305 void signalWRKTempo(
long time,
int tempo);
324 void signalWRKTrack(
const QString& name1,
325 const QString& name2,
326 int trackno,
int channel,
int pitch,
327 int velocity,
int port,
328 bool selected,
bool muted,
bool loop );
335 void signalWRKTimeBase(
int timebase);
345 void signalWRKGlobalVars();
361 void signalWRKThru(
int mode,
int port,
int channel,
int keyPlus,
int velPlus,
int localPort);
369 void signalWRKTrackOffset(
int track,
int offset);
377 void signalWRKTrackReps(
int track,
int reps);
385 void signalWRKTrackPatch(
int track,
int patch);
393 void signalWRKTrackBank(
int track,
int bank);
401 void signalWRKTimeFormat(
int frames,
int offset);
410 Q_DECL_DEPRECATED
void signalWRKComments(
const QString& data);
419 void signalWRKVariableRecord(
const QString& name,
const QByteArray& data);
427 void signalWRKTrackVol(
int track,
int vol);
445 void signalWRKNewTrack(
const QString& name,
446 int trackno,
int channel,
int pitch,
447 int velocity,
int port,
448 bool selected,
bool muted,
bool loop );
455 void signalWRKSoftVer(
const QString& version);
465 Q_DECL_DEPRECATED
void signalWRKTrackName(
int track,
const QString& name);
474 Q_DECL_DEPRECATED
void signalWRKStringTable(
const QStringList& strs);
485 Q_DECL_DEPRECATED
void signalWRKSegment(
int track,
long time,
const QString& name);
495 void signalWRKChord(
int track,
long time,
const QString& name,
const QByteArray& data);
507 Q_DECL_DEPRECATED
void signalWRKExpression(
int track,
long time,
int code,
const QString& text);
517 void signalWRKHairpin(
int track,
long time,
int code,
int dur);
528 void signalWRKText2(
int track,
long time,
int type,
const QByteArray& data);
545 void signalWRKTrack2(
const QByteArray& name1,
546 const QByteArray& name2,
547 int trackno,
int channel,
int pitch,
548 int velocity,
int port,
549 bool selected,
bool muted,
bool loop );
557 void signalWRKComments2(
const QByteArray& data);
573 void signalWRKNewTrack2(
const QByteArray& name,
574 int trackno,
int channel,
int pitch,
575 int velocity,
int port,
576 bool selected,
bool muted,
bool loop );
584 void signalWRKTrackName2(
int track,
const QByteArray& name);
592 void signalWRKStringTable2(
const QList<QByteArray>& strs);
602 void signalWRKSegment2(
int track,
long time,
const QByteArray& name);
613 void signalWRKExpression2(
int track,
long time,
int code,
const QByteArray& text);
626 Q_DECL_DEPRECATED
void signalWRKMarker(
long time,
int type,
const QString& data);
636 void signalWRKMarker2(
long time,
int type,
const QByteArray& data);
640 quint16 to16bit(quint8 c1, quint8 c2);
641 quint32 to32bit(quint8 c1, quint8 c2, quint8 c3, quint8 c4);
645 QString readString(
int len);
646 QString readVarString();
647 void readRawData(
int size);
648 void readGap(
int size);
650 void seek(qint64 pos);
653 void processTrackChunk();
654 void processVarsChunk();
655 void processTimebaseChunk();
656 void processNoteArray(
int track,
int events);
657 void processStreamChunk();
658 void processMeterChunk();
659 void processTempoChunk(
int factor = 1);
660 void processSysexChunk();
661 void processSysex2Chunk();
662 void processNewSysexChunk();
663 void processThruChunk();
664 void processTrackOffset();
665 void processTrackReps();
666 void processTrackPatch();
667 void processTrackBank();
668 void processTimeFormat();
669 void processComments();
670 void processVariableRecord(
int max);
671 void processNewTrack();
672 void processSoftVer();
673 void processTrackName();
674 void processStringTable();
675 void processLyricsStream();
676 void processTrackVol();
677 void processNewTrackOffset();
678 void processMeterKeyChunk();
679 void processSegmentChunk();
680 void processNewStream();
681 void processUnknown(
int id);
682 void processEndChunk();
684 QByteArray readByteArray(
int len);
685 QByteArray readVarByteArray();
686 void processMarkers();
695 QScopedPointer<QWrkPrivate> d;
702 #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.
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.