Improvements to IMySoundBlock interface.
Submitted
Currently it's not possible for a Programmable Block to accurately detect if an
IMySoundBlockis playing audio.
This means that it isn't possible to restore an IMySoundBlock to it's original state after starting / stopping audio.
Examples could be a loudspeaker which might (or might not) play a background audio, which needs to be stopped or started if an alarm is sounded.
This issue is further compounded by a second issue: calling
IMySoundBlock.Play()will reset an already playing track, so you can't just assume it's not playing and run the method.
My two suggestions:
1. Add
bool IMySoundBlock.IsPlaying { get; }to the interface to test the current state of the audio.
2. Alter
void IMySoundBlock.Play()so it has no effect when the block is already playing.
Can confirm the same issues apply to the ModAPI as well. There is no isPlaying function, and in general no way to determine if a sound block is actively playing a sound.
These functions exist within Space Engineers, inside the MySoundBlock class. This is not whitelisted
Can confirm the same issues apply to the ModAPI as well. There is no isPlaying function, and in general no way to determine if a sound block is actively playing a sound.
These functions exist within Space Engineers, inside the MySoundBlock class. This is not whitelisted
Replies have been locked on this page!