muzika-gromche/Frontend/README.md

45 lines
1.8 KiB
Markdown

# Muzika Gromche — Web Player & Editor
Play your favorite tracks on repeat right in your browser.
## Project structure
The look & feel is inspired by a certain popular NLE (Non-Linear video Editor) which incorporates DAW (Digital Audio Workstation) functionality in it.
- Library page lists all available audio tracks with some basic information presented in cards. There is a search / filter field on top.
- Player page features in-depth information about selected audio track, a dedicated timeline widget lets you play, seek, scrub, zoom into timeline tracks & clips, and manupulate them. Each timeline track represents either a segment of the song (intro, loop), or a specific kind of visual effects (such as flickering, fading out & color palette for powered lights, lyrics, drunkness & condensation).
## Development
### Adding new tracks
1. Add track declaration to Plugin.cs and fill in its properties.
2. Launch the game once, so that it generates a new JSON dump (in the Lethal Company save files directory) of all tracks.
3. Replace `public/MuzikaGromcheTracks.json` with the new JSON dump.
4. Run the following script to generate bare codenames file:
```sh
cat ./MuzikaGromcheTracks.json | jq '[.tracks[].Name | {(.): { "Artist": "", "Song": "" }}] | add' > MuzikaGromcheCodenamesBare.json
```
5. Add new codenames from the generated file above to `public/MuzikaGromcheCodenames.json` file.
### Run & test
First time setup:
- copy audio files from the `/Assets/` directory located at repository's root to `Frontend/public/MuzikaGromcheAudio/` directory.
Muzika Gromche Web Player & Editor is built with Vue 3 + TypeScript + Vite.
```sh
pnpm run dev
pnpm run test
```
### Deploy
```sh
pnpm run build
```
Use scp, rsync or any other tool to upload content of `dist/` to root@ratijas.me `/var/www/html/muzika-gromche/`.