/prank-player

electron app to create soundboards

Primary LanguageJavaScript

PPv3

Electron application to create and use soundboards.

Sound output device is configurable through the menu.

Status

Ready for real-world testing.

screenshot

Motivation

The motivation was to try some experiments while rewriting my old app using more modern technology.

Then I cancelled unfinished experiments and moved the app to electron. So it should be usable.

Also I haven't checked if better alternatives already exist.

Usage

  1. After first run it should create a directory named soundboards near it's executable file;
  2. You can put your directories with content (mp3/images) there (non-nested);
  3. Choose a sound board (directory name) in the menu;
  4. Drag phrase files from the tray below into the main area;
  5. Editing mode is when the tray below is visible - you can position content in it;
  6. Select/multi-select, drag/resize/rotate items in main area (ctrl/alt/shift modify these actions);
  7. Player mode is when the tray is invisible - you can play stuff with left/right mouse buttons;
  8. Shortcuts: space - change mode (editor/player), tab - menu (arrows do not work though);
  9. Use the right click to play the audio item in the main area or in the tray. The left click does same but it also can pause/resume item that is already playing;
  10. Drag into the lower right corner to remove items from the main area;
  11. In the menu change output device of sound (getUserMedia - takes access to all audio devices);
  12. Changes are saved on switching mode (editor/player), when you switch to another soudboard and at exit so unless powers goes down changes should be preserved (changes are saved in a file in the directory with mp3s: soundboard.json);

Bugs

Create an issue if you encounter unexpected behavior.

Running the Code

  • code has never seen a refactoring so look into it at your own risk ⚠️
  • have installed: nodejs, yarn
  • $ cd electron-app
  • $ yarn # install dependencies first
  • $ yarn start # then run the developement version of the app
  • $ yarn build # or make release version executable at ./dist (options: -l/-w/-m - linux/windows/macos)

Linux version may need to be executed with --no-sandbox parameter.

Directory Structure

  • electron-app - everything is here