Add audio #475

Open
opened 2026-02-23 22:42:16 +00:00 by LunarTides · 0 comments
LunarTides commented 2026-02-23 22:42:16 +00:00 (Migrated from github.com)

Add audio support to this project. The sound should be dynamic, meaning we can play sounds by specifying the shape of waveform, the hertz, the volume, etc...

Audio should be added to navigating the UI, input actions (typing, hitting enter, pressing tab, etc...), game feedback (playing a card, ending your turn, etc...), and other kinds of feedback.

I'm writing this after audio support has already been mostly implemented (65b9ec5e77, 733abbf5ab, b50dd4e0ef, f2d5068e70, 6170dc8073, 29ebc8495f), but here is a todo list anyways:

  • Add functions to dynamically create audio.
    • Add waveform shapes.
  • Add blocking sound effects in config.
    • Add playAgainstUserWishes to playSFXto bypass.
  • Add sound test tool.
    • Bypass blocking
    • Use search from Inquirer
  • Add sound effects (sfx):
    • UI
    • Input
    • Game
  • Add sliding waves (startHz, endHz)
    • Add easingType to sliding waves.
  • Replace customSelect with createUILoop. (createUILoop automatically adds audio to menus.)
  • Hardcode octaves instead of the current bad implementation. (More accurate, octaves will never change, they're set in stone.)
  • Maybe use audify instead?
  • Add options to playWave that works the same as the options in playSFX
  • Add function to parse a string into audio.
Add audio support to this project. The sound should be dynamic, meaning we can play sounds by specifying the shape of waveform, the hertz, the volume, etc... Audio should be added to navigating the UI, input actions (typing, hitting enter, pressing tab, etc...), game feedback (playing a card, ending your turn, etc...), and other kinds of feedback. I'm writing this after audio support has already been mostly implemented (65b9ec5e77d3115d5e3d3f0de9f901dac9d114f4, 733abbf5ab9ba64e94daa096b6840abd42a353e3, b50dd4e0efd111d0978436598d7d73ddbfa628a3, f2d5068e70e06c5a0d106362ff6e14169a28efc1, 6170dc80736b60016f04b9447b64151fbb65691d, 29ebc8495f9051836436b6a533b461c6350b1c82), but here is a todo list anyways: - [x] Add functions to dynamically create audio. - [x] Add waveform shapes. - [x] Add blocking sound effects in config. - [x] Add `playAgainstUserWishes` to `playSFX`to bypass. - [x] Add sound test tool. - [x] Bypass blocking - [x] Use `search` from Inquirer - [x] Add sound effects (sfx): - [x] UI - [x] Input - [ ] Game - [x] Add sliding waves (startHz, endHz) - [x] Add `easingType` to sliding waves. - [ ] Replace `customSelect` with `createUILoop`. (`createUILoop` automatically adds audio to menus.) - [x] Hardcode octaves instead of the current bad implementation. (More accurate, octaves will *never* change, they're set in stone.) - [ ] Maybe use [audify](https://www.npmjs.com/package/audify) instead? - [x] Add `options` to `playWave` that works the same as the options in `playSFX` - [ ] Add function to parse a string into audio.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
LunarTides/Hearthstone.js#475
No description provided.