First of all, I'm not sure where this post should go. Move it if it's in the incorrect area.
Your AudioManager confuses me. From what JD-GUI has shown me, here's what you need (or can try) doing:
In TileEntityElectricMachine, you use AudioSource.stop() instead of cull(). Cull flushes the sound system and basically 'ends' the audio. More efficient than stop(). In onNetworkEvent, case 2, replace
case 2:
if (this.audioSource != null) this.audioSource.stop();
break;
with
case 2:
if (this.audioSource != null) this.audioSource.cull();
break;
tell me if my genius fixes your problem.
EDIT:
if that doesn't work, try checking if the audio source is currently playing in AudioSourceClient.java.
public void stop()
{
if (!this.valid) return;
if (!this.isPlaying) return;
-> if (!this.soundSystem.playing(sourceName) return;
this.isPlaying = false;
this.soundSystem.stop(this.sourceName);
}
-aidancbrady