Programming
Contents
Languages
Frameworks
Rules
Light Shows
Modes
mini-modes - Drop target sets, etc
Settings/Preferences
Scoring
Procedures
Status Report - Holding down a flipper for a status report
Hardware-specific procedures
Sound
With anything that conveys sound as a key to whats going on, you want to have some form of priority. A background sound effect might have a low priority of say 4, but 'Shoot the ram for jackpot' might have a priority of 1. If a priority 1 sound is playing, and the player his a switch that triggers a background sound effect, the system can know now to play the sound effect over the top of the more important jackpot instruction call out. You also do not want to be playing sounds continuously over the top of one another, say you have an explosion sound when a pop bumper is triggered, if the ball is getting a lot of pop bumper action and triggering 3 pops in very fast succession, you do not want to have the sound affect triggered as one long continuous shotgunning whitenoise. You could choose not to play the same sound effect unless N time has passed (say 3 seconds), or never play the same sound affect at the same time.
Too many sound effects playing over each over mutes the affect it should have on the player.
You should also normalise the volume of all the sound effects to the same level so it does not play havoc with the volume control on the machine itself.