19 #ifndef DRUMSTICK_QWRK_H
20 #define DRUMSTICK_QWRK_H
88 void readFromStream(QDataStream *stream);
89 void readFromFile(
const QString& fileName);
90 QTextCodec* getTextCodec();
91 void setTextCodec(QTextCodec *codec);
97 int getKeySig()
const;
99 int getAutoSave()
const;
100 int getPlayDelay()
const;
101 bool getZeroCtrls()
const;
102 bool getSendSPP()
const;
103 bool getSendCont()
const;
104 bool getPatchSearch()
const;
105 bool getAutoStop()
const;
106 unsigned int getStopTime()
const;
107 bool getAutoRewind()
const;
108 int getRewindTime()
const;
109 bool getMetroPlay()
const;
110 bool getMetroRecord()
const;
111 bool getMetroAccent()
const;
112 int getCountIn()
const;
113 bool getThruOn()
const;
114 bool getAutoRestart()
const;
115 int getCurTempoOfs()
const;
116 int getTempoOfs1()
const;
117 int getTempoOfs2()
const;
118 int getTempoOfs3()
const;
119 bool getPunchEnabled()
const;
120 int getPunchInTime()
const;
121 int getPunchOutTime()
const;
122 int getEndAllTime()
const;
124 QByteArray getLastChunkRawData()
const;
125 double getRealTime(
long ticks)
const;
134 void signalWRKError(
const QString& errorStr);
142 void signalWRKUnknownChunk(
int type,
const QByteArray& data);
150 void signalWRKHeader(
int verh,
int verl);
160 void signalWRKStreamEnd(
long time);
172 void signalWRKNote(
int track,
long time,
int chan,
int pitch,
int vol,
int dur);
183 void signalWRKKeyPress(
int track,
long time,
int chan,
int pitch,
int press);
194 void signalWRKCtlChange(
int track,
long time,
int chan,
int ctl,
int value);
204 void signalWRKPitchBend(
int track,
long time,
int chan,
int value);
214 void signalWRKProgram(
int track,
long time,
int chan,
int patch);
224 void signalWRKChanPress(
int track,
long time,
int chan,
int press);
233 void signalWRKSysexEvent(
int track,
long time,
int bank);
244 void signalWRKSysex(
int bank,
const QString& name,
bool autosend,
int port,
const QByteArray& data);
254 void signalWRKText(
int track,
long time,
int type,
const QString& data);
263 void signalWRKTimeSig(
int bar,
int num,
int den);
271 void signalWRKKeySig(
int bar,
int alt);
282 void signalWRKTempo(
long time,
int tempo);
298 void signalWRKTrack(
const QString& name1,
299 const QString& name2,
300 int trackno,
int channel,
int pitch,
301 int velocity,
int port,
302 bool selected,
bool muted,
bool loop );
309 void signalWRKTimeBase(
int timebase);
319 void signalWRKGlobalVars();
335 void signalWRKThru(
int mode,
int port,
int channel,
int keyPlus,
int velPlus,
int localPort);
343 void signalWRKTrackOffset(
int track,
int offset);
351 void signalWRKTrackReps(
int track,
int reps);
359 void signalWRKTrackPatch(
int track,
int patch);
367 void signalWRKTrackBank(
int track,
int bank);
375 void signalWRKTimeFormat(
int frames,
int offset);
382 void signalWRKComments(
const QString& data);
391 void signalWRKVariableRecord(
const QString& name,
const QByteArray& data);
399 void signalWRKTrackVol(
int track,
int vol);
414 void signalWRKNewTrack(
const QString& name,
415 int trackno,
int channel,
int pitch,
416 int velocity,
int port,
417 bool selected,
bool muted,
bool loop );
424 void signalWRKSoftVer(
const QString& version);
432 void signalWRKTrackName(
int track,
const QString& name);
439 void signalWRKStringTable(
const QStringList& strs);
448 void signalWRKSegment(
int track,
long time,
const QString& name);
458 void signalWRKChord(
int track,
long time,
const QString& name,
const QByteArray& data);
468 void signalWRKExpression(
int track,
long time,
int code,
const QString& text);
478 void signalWRKHairpin(
int track,
long time,
int code,
int dur);
482 quint16 to16bit(quint8 c1, quint8 c2);
483 quint32 to32bit(quint8 c1, quint8 c2, quint8 c3, quint8 c4);
487 QString readString(
int len);
488 QString readVarString();
489 void readRawData(
int size);
490 void readGap(
int size);
492 void seek(qint64 pos);
495 void processTrackChunk();
496 void processVarsChunk();
497 void processTimebaseChunk();
498 void processNoteArray(
int track,
int events);
499 void processStreamChunk();
500 void processMeterChunk();
501 void processTempoChunk(
int factor = 1);
502 void processSysexChunk();
503 void processSysex2Chunk();
504 void processNewSysexChunk();
505 void processThruChunk();
506 void processTrackOffset();
507 void processTrackReps();
508 void processTrackPatch();
509 void processTrackBank();
510 void processTimeFormat();
511 void processComments();
512 void processVariableRecord(
int max);
513 void processNewTrack();
514 void processSoftVer();
515 void processTrackName();
516 void processStringTable();
517 void processLyricsStream();
518 void processTrackVol();
519 void processNewTrackOffset();
520 void processMeterKeyChunk();
521 void processSegmentChunk();
522 void processNewStream();
523 void processUnknown(
int id);
524 void processEndChunk();
541 #endif // DRUMSTICK_QWRK_H