So what's going on with the sound support for the webclient? Well, here's a quick list:
- 3D sound is implemented.
- Pan is not implemented. It requires a Dart library update, which will come later. When it is added, browser support may be patchy as it relies on StereoPannerNode; newer Firefox and Chrome versions shouldn't have any issue.
- SOUND_UPDATE is now capable of changing volume, pan (when implemented), and 3D coords, for sound files.
- SOUND_UPDATE support for music files hasn't been setup yet.
- Changing files via SOUND_UPDATE isn't yet supported. (Nobody does this anyway.)
- Turning repeat on or off via SOUND_UPDATE isn't implemented, but planned.
- The wait feature is still based on a timer, and the goal is to switch over to an event-driven system.
- Sounds now support a short list of fallbacks, which can be provided by creating the sound with a list instead of a single file. Fallbacks are not hooked up in DS yet, but I want to get them in the webclient with the coming release so that you can use .ogg and .mp3 for full browser coverage. Surprisingly this does not require a major version change, so it's a 511 feature coming early--to the webclient at least.
- Echo and environment are not supported, although the WebAudio API does appear to be capable of handling something like this in the future; the trick will be mapping the old values to modern settings.
I've already put some concept work in on how to handle gamepads, and this is roughly what I'm aiming for. I want the game OR user to be able to map the D-pad and buttons to keys or mouse buttons, and choose a set of axes (e.g., the thumb sticks) for mouse mapping. The user can set a mouse speed, and game-specific user settings can be made--full or partial--that override the game's settings. The game can also map the D-pad and buttons to verbs, and the user can do so too if control_freak allows macros. I've been working a little bit on the structures for this.
That's it for this week. Give your grill some love if the weather permits, and be nice to animals, even if they do jump on your keyboard drawer and get in your way.