A subclass of TransposingSampleSustainingInstrument which maps pitches to sound files, and transposes to fill in unmapped gaps,
This class does a better job of sustaining than TransposingSamplePlayingInstrument, as it uses two sample players to manage the loop, and crossfades between them
Copy and rename this example, change the buildFromAttributes() method.
When a MusicDevice.open() is called, it should JMSL.addMusicDevice(itself) Then when programs
terminate, one call to JMSL.closeMusicDevices() will close() it and all other MusicDevices
that added themselves.