Prima is a music player application that works with local music on your device. Application is written with domain layer (audio player + database) on Rust language and UI layer with Kotlin and Compose Multiplatform
Playback of local tracks + audio effects + current playlist
Ordering and filtering search
Artists and their tracks
Favourites
- General
- Kotlin 1.9.0
- Rust 1.73.0
- Java 11
- Cargo Gradle extension
- JNI Rust crate
- Concurrency
- Rust
- Tokio
- Futures + Futures Timer (Delay extension)
- Async Recursion
- Atomic Float
- Once Cell
- Kotlin
- Coroutines
- State Flow
- Databases and files
- Diesel ORM + Diesel Migrations
- Dirs2
- Serde
- Yaml-Rust
- Dotenv (Rust)
- Kaml + Kotlinx.Serialization
- Audio
- Rodio
- Chrono (duration and dates of tracks)
- JAudioTagger
- UI
- Compose Desktop
- Decompose navigation library
- Koin
Alpha V 0.3.0
- Media playback with local tracks
- Current playlist system (add, remove, replace tracks)
- Audio Effects: Pitch, Speed, Amplifier
- Searching + filtering
- Artists and their tracks
- Favourites (tracks and artists)
- Albums
- Changing tracks' tags
- Tracks' lyrics and information
- Custom playlists
- Settings
- Track trimming
- Statistics
- "Guess the Melody" game
Project is currently supported on Linux only. Support for other platforms is coming soon.
GNU Public License V 3.0