- Dart 44.2%
- Go 43%
- JavaScript 7.3%
- TypeScript 2.9%
- CSS 1.4%
- Other 1.1%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
Android refuses to post a foreground-service notification without a small-icon drawable; without androidNotificationIcon set, the very first AudioPlayer.play() triggers a FATAL "Invalid notification (no valid small icon)" the moment audio_service tries to publish the media-session metadata, killing the app process. Re-use drawable/ic_launcher — the project's existing launcher icon — as the small notification icon. A dedicated monochrome silhouette would be more polished, but the launcher icon is good enough to unblock playback today. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
| .claude/worktrees | ||
| .woodpecker | ||
| docs | ||
| player-android | ||
| player-server | ||
| .gitignore | ||
| AGENTS.md | ||
| Dockerfile.flutter-ci | ||
| magefile.go | ||
| README.md | ||
Player
Player is a self-hosted media player split into a Go server and a Flutter Android client. The server owns the web UI, media library, playback APIs, accounts, and storage; the Android project is the mobile client scaffold that targets the same REST API. This repository is the monorepo root after the split, so start here for orientation and then work in the component directory that matches the change.
Repository Layout
player-server/ Go server, web UI, API, docs, deployment files
player-android/ Flutter Android client scaffold
Server
The server lives in player-server/ and has its own README.
Build hint: cd player-server && mage build
Use the server README and docs for configuration, API behavior, keyboard shortcuts, Docker, Kubernetes, and development workflow.
Android
The Android client lives in player-android/ and has its own README.
Build hint: cd player-android && flutter analyze && flutter build apk --debug
The Flutter project is intentionally small for now. Keep Android client changes aligned with the server API documentation in player-server/docs/api.md.
Working From The Root
Root files provide monorepo orientation only. Component-specific commands, generated files, local databases, media samples, and build outputs belong under their component directories.
Keep local media and generated build artifacts out of git.