28 #include <csutil/ref.h> 29 #include <csutil/randomgen.h> 30 #include <csplugincommon/sndsys/sndstream.h> 38 struct csSndSysSoundFormat;
45 SndSysSongStream(csRef<SndSysSongData> soundData,
SongData* songData, csSndSysSoundFormat* renderFormat,
int mode3D);
50 virtual void AdvancePosition(
size_t frameDelta);
51 virtual const char* GetDescription();
52 virtual size_t GetFrameCount();
57 virtual bool ResetPosition();
58 virtual bool SetPosition(
size_t newPosition) {
return false; }
63 size_t currentMeasure;
66 size_t lastRepeatStart;
69 csArray<uint> repeatsDone;
74 float timePerDivision;
75 csRef<SndSysSongData> soundData;
78 bool conversionNeeded;
86 bool CheckPlaybackReadComplete();
97 bool GetNextChord(
char* ¬eBuffer,
size_t ¬eBufferSize);
108 void AdjustAlteration(
char pitch,
int &alter);
118 void CopyNoteIntoBuffer(
char* noteBuffer,
size_t noteBufferSize);
virtual bool SetPosition(size_t newPosition)
This implements a data class that can be used for the CS sound system to play a song from a musical s...
This struct keeps the data about the instrument and the musical sheet.
virtual bool AlwaysStream() const
virtual bool SetLoopBoundaries(size_t startPosition, size_t endPosition)
This class represent a musical instrument.