37    class SeqSound : 
public BasicSound
 
   49        class SeqLoadTask : 
public Task
 
   53            typedef void Callback(
bool result, 
void const *seqBase,
 
   63            virtual void Execute();
 
   64            virtual void Cancel();
 
   65            virtual void OnCancel();
 
 
   89        virtual void Shutdown();
 
   90        virtual bool IsPrepared()
 const { 
return mPreparedFlag; }
 
   91        virtual bool IsAttachedTempSpecialHandle();
 
   92        virtual void DetachTempSpecialHandle();
 
   93        virtual void InitParam();
 
   94        virtual BasicPlayer &GetBasicPlayer() { 
return mSeqPlayer; }
 
   95        virtual BasicPlayer 
const &GetBasicPlayer()
 const { 
return mSeqPlayer; }
 
   96        virtual void OnUpdatePlayerPriority();
 
   99        SeqPlayer::SetupResult Setup(SeqTrackAllocator *trackAllocator,
 
  101                                     NoteOnCallback *callback);
 
  102        void Prepare(
void const *seqBase, s32 seqOffset,
 
  103                     SeqPlayer::OffsetType startOffsetType, 
int startOffset);
 
  104        void Prepare(ut::FileStream *fileStream, s32 seqOffset,
 
  105                     SeqPlayer::OffsetType startOffsetType, 
int startOffset);
 
  107        void *GetFileStreamBuffer() { 
return mFileStreamBuffer; }
 
  108        s32 GetFileStreamBufferSize() { 
return sizeof mFileStreamBuffer; }
 
  110        void SetReleasePriorityFix(
bool fix);
 
  111        void SetTempoRatio(f32 tempo);
 
  112        void SetChannelPriority(
int priority);
 
  113        void SetSeqUserprocCallback(SeqPlayer::SeqUserprocCallback *callback,
 
  116        void Skip(SeqPlayer::OffsetType offsetType, 
int offset);
 
  118        bool LoadData(SeqLoadTask::Callback *callback,
 
  121        static void NotifyLoadAsyncEndSeqData(
bool result, 
void const *seqBase,
 
  124        void SetTrackMute(ulong trackFlags, SeqMute mute);
 
  125        void SetTrackSilence(ulong trackFlags, 
bool silence, 
int fadeFrames);
 
  126        void SetTrackVolume(ulong trackFlags, f32 volume);
 
  127        bool ReadVariable(
int varNo, s16 *value) 
const;
 
  128        bool WriteVariable(
int varNo, s16 value);
 
  129        static bool WriteGlobalVariable(
int varNo, s16 value);
 
  130        bool WriteTrackVariable(
int trackNo, 
int varNo, s16 value);
 
  131        ulong GetTick() 
const;
 
  133        static DebugSoundType GetSoundType()
 
  135            return DEBUG_SOUND_TYPE_SEQSOUND;
 
  140        static int const FILE_STREAM_BUFFER_SIZE = 128;
 
  142        static ut::detail::RuntimeTypeInfo 
const typeInfo;
 
  147        SeqPlayer                       mSeqPlayer;                                 
 
  148        SeqSoundHandle                  *mTempSpecialHandle;                        
 
  149        SoundInstanceManager<SeqSound>  *mManager;                                  
 
  151        SeqPlayer::OffsetType           mStartOffsetType;                           
 
  153        bool                            volatile mLoadingFlag;                      
 
  154        bool                            volatile mPreparedFlag;                     
 
  156        ut::FileStream                  *mFileStream;                               
 
  157        int                             mFileStreamBuffer[FILE_STREAM_BUFFER_SIZE]; 
 
  162        friend class snd::SeqSoundHandle;