fix bug with multiple sfx per portgroup, and clamp values to sanity ranges