Go to the documentation of this file.
20 #ifndef DRUMSTICK_QWRK_H
21 #define DRUMSTICK_QWRK_H
89 void readFromStream(QDataStream *stream);
90 void readFromFile(
const QString& fileName);
91 QTextCodec* getTextCodec();
92 void setTextCodec(QTextCodec *codec);
98 int getKeySig()
const;
100 int getAutoSave()
const;
101 int getPlayDelay()
const;
102 bool getZeroCtrls()
const;
103 bool getSendSPP()
const;
104 bool getSendCont()
const;
105 bool getPatchSearch()
const;
106 bool getAutoStop()
const;
107 unsigned int getStopTime()
const;
108 bool getAutoRewind()
const;
109 int getRewindTime()
const;
110 bool getMetroPlay()
const;
111 bool getMetroRecord()
const;
112 bool getMetroAccent()
const;
113 int getCountIn()
const;
114 bool getThruOn()
const;
115 bool getAutoRestart()
const;
116 int getCurTempoOfs()
const;
117 int getTempoOfs1()
const;
118 int getTempoOfs2()
const;
119 int getTempoOfs3()
const;
120 bool getPunchEnabled()
const;
121 int getPunchInTime()
const;
122 int getPunchOutTime()
const;
123 int getEndAllTime()
const;
125 QByteArray getLastChunkRawData()
const;
126 double getRealTime(
long ticks)
const;
173 void signalWRKNote(
int track,
long time,
int chan,
int pitch,
int vol,
int dur);
245 void signalWRKSysex(
int bank,
const QString& name,
bool autosend,
int port,
const QByteArray& data);
300 const QString& name2,
301 int trackno,
int channel,
int pitch,
302 int velocity,
int port,
303 bool selected,
bool muted,
bool loop );
336 void signalWRKThru(
int mode,
int port,
int channel,
int keyPlus,
int velPlus,
int localPort);
416 int trackno,
int channel,
int pitch,
417 int velocity,
int port,
418 bool selected,
bool muted,
bool loop );
459 void signalWRKChord(
int track,
long time,
const QString& name,
const QByteArray& data);
483 quint16 to16bit(quint8 c1, quint8 c2);
484 quint32 to32bit(quint8 c1, quint8 c2, quint8 c3, quint8 c4);
488 QString readString(
int len);
489 QString readVarString();
490 void readRawData(
int size);
491 void readGap(
int size);
493 void seek(qint64 pos);
496 void processTrackChunk();
497 void processVarsChunk();
498 void processTimebaseChunk();
499 void processNoteArray(
int track,
int events);
500 void processStreamChunk();
501 void processMeterChunk();
502 void processTempoChunk(
int factor = 1);
503 void processSysexChunk();
504 void processSysex2Chunk();
505 void processNewSysexChunk();
506 void processThruChunk();
507 void processTrackOffset();
508 void processTrackReps();
509 void processTrackPatch();
510 void processTrackBank();
511 void processTimeFormat();
512 void processComments();
513 void processVariableRecord(
int max);
514 void processNewTrack();
515 void processSoftVer();
516 void processTrackName();
517 void processStringTable();
518 void processLyricsStream();
519 void processTrackVol();
520 void processNewTrackOffset();
521 void processMeterKeyChunk();
522 void processSegmentChunk();
523 void processNewStream();
524 void processUnknown(
int id);
525 void processEndChunk();
542 #endif // DRUMSTICK_QWRK_H
void signalWRKHeader(int verh, int verl)
Emitted after reading a WRK header.
@ SOFTVER_CHUNK
Software version which saved the file.
@ TIMEBASE_CHUNK
Timebase. If present is the first chunk in the file.
void signalWRKError(const QString &errorStr)
Emitted for a WRK file read error.
@ TRKNAME_CHUNK
Track name.
void signalWRKHairpin(int track, long time, int code, int dur)
Emitted after reading a hairpin symbol (notation) chunk.
@ NTEMPO_CHUNK
New Tempo map.
void signalWRKStreamEnd(long time)
Emitted after reading the last event of a event stream.
@ NTRKOFS_CHUNK
Track offset.
void signalWRKStringTable(const QStringList &strs)
Emitted after reading a string event types chunk.
void signalWRKText(int track, long time, int type, const QString &data)
Emitted after reading a text message.
void signalWRKNote(int track, long time, int chan, int pitch, int vol, int dur)
Emitted after reading a Note message.
@ THRU_CHUNK
Extended thru parameters.
@ NSYSEX_CHUNK
System exclusive bank.
void signalWRKTrackVol(int track, int vol)
Emitted after reading a track volume chunk.
void signalWRKChord(int track, long time, const QString &name, const QByteArray &data)
Emitted after reading a chord diagram chunk.
@ LYRICS_CHUNK
Events stream with lyrics.
@ METERKEY_CHUNK
Meter/Key map.
void signalWRKExpression(int track, long time, int code, const QString &text)
Emitted after reading an expression indication (notation) chunk.
void signalWRKVariableRecord(const QString &name, const QByteArray &data)
Emitted after reading a variable chunk.
@ SYSEX2_CHUNK
System exclusive bank.
void signalWRKTrackName(int track, const QString &name)
Emitted after reading a track name chunk.
@ TRKOFFS_CHUNK
Track offset.
void signalWRKKeySig(int bar, int alt)
Emitted after reading a WRK Key Signature.
void signalWRKCtlChange(int track, long time, int chan, int ctl, int value)
Emitted after reading a Control Change message.
void signalWRKChanPress(int track, long time, int chan, int press)
Emitted after reading a Channel Aftertouch message.
@ VARIABLE_CHUNK
Variable record chunk.
@ VARS_CHUNK
Global variables.
@ STREAM_CHUNK
Events stream.
void signalWRKKeyPress(int track, long time, int chan, int pitch, int press)
Emitted after reading a Polyphonic Aftertouch message.
void signalWRKTrackPatch(int track, int patch)
Emitted after reading a track patch chunk.
void signalWRKTimeFormat(int frames, int offset)
Emitted after reading a SMPTE time format chunk.
void signalWRKComments(const QString &data)
Emitted after reading a comments chunk.
@ COMMENTS_CHUNK
Comments.
Cakewalk WRK file format (input only)
void signalWRKTrack(const QString &name1, const QString &name2, int trackno, int channel, int pitch, int velocity, int port, bool selected, bool muted, bool loop)
Emitted after reading a track prefix chunk.
void signalWRKGlobalVars()
Emitted after reading the global variables chunk.
WrkChunkType
Record types within a WRK file.
@ END_CHUNK
Last chunk, end of file.
void signalWRKSysex(int bank, const QString &name, bool autosend, int port, const QByteArray &data)
Emitted after reading a System Exclusive Bank.
void signalWRKEnd()
Emitted after reading the last chunk of a WRK file.
void signalWRKThru(int mode, int port, int channel, int keyPlus, int velPlus, int localPort)
Emitted after reading an Extended Thru parameters chunk.
void signalWRKTempo(long time, int tempo)
Emitted after reading a Tempo Change message.
void signalWRKSysexEvent(int track, long time, int bank)
Emitted after reading a System Exclusive event.
@ SGMNT_CHUNK
Segment prefix.
void signalWRKTrackReps(int track, int reps)
Emitted after reading a track offset chunk.
const QByteArray HEADER("CAKEWALK")
Cakewalk WRK File header id.
@ TRKVOL_CHUNK
Track volume.
void signalWRKTimeBase(int timebase)
Emitted after reading the timebase chunk.
@ NSTREAM_CHUNK
Events stream.
void signalWRKUnknownChunk(int type, const QByteArray &data)
Emitted after reading an unknown chunk.
@ TRACK_CHUNK
Track prefix.
@ TIMEFMT_CHUNK
SMPTE time format.
void signalWRKNewTrack(const QString &name, int trackno, int channel, int pitch, int velocity, int port, bool selected, bool muted, bool loop)
Emitted after reading a new track prefix.
@ TRKBANK_CHUNK
Track bank.
@ TRKPATCH_CHUNK
Track patch.
@ NTRACK_CHUNK
Track prefix.
@ STRTAB_CHUNK
Table of text event types.
@ MEMRGN_CHUNK
Memory region.
@ SYSEX_CHUNK
System exclusive bank.
void signalWRKTrackOffset(int track, int offset)
Emitted after reading a track offset chunk.
@ TRKREPS_CHUNK
Track repetitions.
void signalWRKPitchBend(int track, long time, int chan, int value)
Emitted after reading a Bender message.
void signalWRKTimeSig(int bar, int num, int den)
Emitted after reading a WRK Time signature.
void signalWRKProgram(int track, long time, int chan, int patch)
Emitted after reading a Program change message.
void signalWRKSegment(int track, long time, const QString &name)
Emitted after reading a segment prefix chunk.
void signalWRKTrackBank(int track, int bank)
Emitted after reading a track bank chunk.
void signalWRKSoftVer(const QString &version)
Emitted after reading a software version chunk.