This repository is the frontend and main logic for the BeagleBoom project. Because of the browser based frontend, the beagle boom supports smartphones and computers as additional screens and remote controls.
Running it
Prerequirements
- NodeJS >= 10
- Yarn (
npm install -g yarn) - PM2 (
npm install pm2)
- Yarn (
- FFmpeg
- mplayer
Installation
If all requirements are met, just run
Start
Start the menu with pm2 start index.js -- 1
The 1 stands for the recipientId of the menu.
Remote Screen and Control
By default, a webserver is started on port 8080 and two pages are exposed.
- http://[BEAGLE_BOOM_IP]:8080/index.html => A non interactable rendering of the screen. Used internally by the BeagleBoom on the LCD.
- http://[BEAGLE_BOOM_IP]:8080/remote.html => The screen in conjunction with all rotary encoders and buttons (in form of html buttons). Additionaly a textbox is present for fast text input.
Creating custom states and views
Use new events
The BeagleQueue library is not used directly and events added to it have to be added to the Menu as well. This can either be done by adding the event name at the same position as in the enum in the file lib/QueueEventEnum.js or by automatic generation. The generation is done by the script node src/EventTypes. The script will parse the C++ enum and output the code which can be put into the lib/QueueEventEnum.js file.
About this repository
This repository is part of the BeagleBoom-Sampler project developed by the academic working group "Creative Technologies AG" (ctag) at the University of Applied Sciences Kiel.
License
The content and source code of this project itself is licensed under the Creative Commons Attribution 4.0 International license.


