Closed jbphet closed 2 months ago
@marlitas and I just checked in with @amanda-phet, and the sound design and implementation is not part of the current iteration, so we're going to label this as "on-hold" until we are ready to start working on it.
The sound design has reached a point where we're ready to start implementation, so I've removed the "on hold" label. Let's do this!
I went ahead and added the same sounds being used in Center and Variability for the Balance Point screen. It all comes from soccer common so it was a very straightforward implementation. Commit above.
Added files to this folder https://github.com/phetsims/mean-share-and-balance/tree/main/assets
I believe sound design has been implemented. There are a couple of issues for polish and one to balance the sound, but initial implementation is complete and this can be closed.
Checklist for Adding Sound to a PhET Simulation
This checklist is intended to guide developers through the process of adding sound to a simulation. It is written at a fairly high level, and assumes certain knowledge of how the tambo library works and of PhET's development processes. Before using this for the first time, it is highly recommended that a developer reads through the Users Guide.
supportsSound
andsupportsExtraSound
can be used to turn sound on for testing during development.supportsSound: true
key-value pair to thephet
sub-object in the package.json file for this simulation. See https://github.com/phetsims/friction/blob/main/package.json. This portion will look something like this:supportsExtraSound: true
key-value pair to thephet
sub-object in the package.json file for this simulation. The main effect that this is has is to add the 'Extra Sound' item to the PhET menu. See https://github.com/phetsims/friction/blob/main/package.json.grunt update
to get the updated configuration into the HTML file.SoundPlayer.NO_SOUND
. Search through the code base for example usages.SoundPlayer
(often aSoundClip
instance) and passing it in as an option for the sound player. See Adding sound to common code if sound is not yet supported.ScreenView
files. Both approaches have been used, and both are legit, and it probably depends on how much sound generation is needed and whether adding it all to theScreenView
file(s) is likely to make the file too large and/or difficult to maintain. As of this writing,WavesScreenSoundView
is an example of a separate class where the sounds are hooked to the model, andFrictionScreenView
is an example of where sound was interwoven with the visual view code. Note that in some cases it is necessary to know what the user was doing that triggered the need for sound generation, and in these cases the sound generation will need to be inside the view element so that the code has access to all the needed information. An example where this often comes up is if different behavior is needed when a value was changed via keyboard interaction versus mouse or touch interaction.SoundClip
, please search for usages of this type in the tambo demo and/or other sims to see examples of how it is generally used.assets
directory. Make sure the names match, e.g.bonk.mp3
in thesounds
directory andbonk.wav
in theassets
directory. Also make sure these names match the names in the sound design document.team
or other lists in the credits, add them using thesoundDesign
key.ready-for-testing
and have it tested with the other aspects of the simulation through the publication process.