forked from nikita/muzika-gromche
TODO: - implement viewing & editing. - Add links to deployment, and CHANGELOG. style.css package.json vite config .vscode eslint use --cache .vscode add vite-css-modules editorconfig tsconfig and updated vue-tsc (fixes most of the type checking bugs) fix last type errors audiowaveform gitignore ESLint ESLint: ignore autogenerated JSON lint:fix tsconfig and vite config migrate icon generating script to TS eslint src/lib/ eslint stores eslint src/*.ts eslint audio pnpm update update icon eslint ahh import new tracks json instructions on jq codenames codenames.json fix styles broken by import order eslint audio app error screen footer copyright year global header loading screen transition search field preview track info inspector control controls controls range controls impl controls index eslint no-console off AudioTrack view inspector cards and sliders more controls master volume slider playhead library page player page timeline markers timeline markers header tick timestamp timeline clip index clip empty clip lyrics clip palette clip fadeout clip default import order timeline timeline panel timeline track header timeline trackview clip view clip audio audio waveform scrollsync easy lints eslint store eslint no mutating props off pnpm catalog off add unhead dep use head eslint inspector eslint easy minor stuff eslint audiowaveform easy fix eslint use :key with v-for fix audio waveforms inspector makes more sense season remove debug inspector Merge codenames into main json bump pnpm pnpm in particular enabled monospace Game Over Move JSON to assets to avoid caching issues |
||
|---|---|---|
| .. | ||
| public | ||
| scripts | ||
| src | ||
| tests/components | ||
| .editorconfig | ||
| .gitignore | ||
| README.md | ||
| env.d.ts | ||
| eslint.config.ts | ||
| index.html | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| tsconfig.app.json | ||
| tsconfig.json | ||
| tsconfig.node.json | ||
| tsconfig.vitest.json | ||
| vite.config.ts | ||
| vitest.config.ts | ||
README.md
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
- Add track declaration to Plugin.cs and fill in its properties.
- Launch the game once, so that it generates a new JSON dump (in the Lethal Company save files directory) of all tracks.
- Replace
src/assets/MuzikaGromcheTracks.jsonwith the new JSON dump. - Discard lines with IP address and username or replace them with generic ones.
Run & test
First time setup:
- copy audio files from the
/Assets/directory located at repository's root toFrontend/public/MuzikaGromcheAudio/directory.
Muzika Gromche Web Player & Editor is built with Vue 3 + TypeScript + Vite.
pnpm run dev
pnpm run test
Deploy
pnpm run build
Use scp, rsync or any other tool to upload content of dist/ to root@ratijas.me /var/www/html/muzika-gromche/.