28 class SeqSoundHandle :
private ut::NonCopyable
33 ~SeqSoundHandle() { DetachSound(); }
35 bool IsAttachedSound()
const {
return mSound !=
nullptr; }
39 void WriteVariable(
int varNo, s16 value) {
40 if (IsAttachedSound())
41 mSound->WriteVariable(varNo, value);
44 void ReadVariable(
int varNo, s16 *value) {
45 if (IsAttachedSound())
46 mSound->ReadVariable(varNo, value);
49 void SetTrackMute(ulong trackFlags, SeqMute mute) {
50 if (IsAttachedSound())
51 mSound->SetTrackMute(trackFlags, mute);
54 void SetTempoRatio(f32 tempoRatio) {
55 if (IsAttachedSound())
56 mSound->SetTempoRatio(tempoRatio);
59 void SetVolume(ulong trackFlags, f32 volume) {
60 if (IsAttachedSound())
61 mSound->SetTrackVolume(trackFlags, volume);