From af8f3185e4529bc73f6151c42ec64736ccaa238f Mon Sep 17 00:00:00 2001 From: tapframe <85391825+tapframe@users.noreply.github.com> Date: Tue, 9 Jun 2026 01:18:20 +0530 Subject: [PATCH] update readme --- README.md | 104 +++++++++++++++++++++++++----------------------------- 1 file changed, 49 insertions(+), 55 deletions(-) diff --git a/README.md b/README.md index 7f01b669..1a227c62 100644 --- a/README.md +++ b/README.md @@ -4,63 +4,75 @@

- [![Contributors][contributors-shield]][contributors-url] - [![Forks][forks-shield]][forks-url] - [![Stargazers][stars-shield]][stars-url] - [![Issues][issues-shield]][issues-url] [![License][license-shield]][license-url]

- A modern media hub for Android and iOS built with Kotlin Multiplatform and Compose Multiplatform. + Nuvio Desktop is a desktop media hub built with Kotlin Multiplatform and Compose Multiplatform.
- Stremio addon ecosystem • Cross-platform + Desktop app in development

## About -Nuvio is the current Kotlin Multiplatform rewrite of the original React Native app. It delivers a shared Compose UI for Android and iOS while keeping the playback-focused experience, collection tools, watch progress flows, downloads, and Stremio addon ecosystem integration that shaped the earlier app. +Nuvio Desktop brings the Nuvio media experience to desktop. It keeps the playback-focused browsing, collection, watch progress, downloads, and Stremio addon ecosystem integration from Nuvio while adapting the app for desktop input, desktop storage, and native desktop playback. -The mobile app is built from a single shared codebase in [composeApp](./composeApp), with native platform entry points for Android and iOS. +The desktop app is built from the shared Kotlin Multiplatform codebase in [composeApp](./composeApp), with desktop-specific code in [composeApp/src/desktopMain](./composeApp/src/desktopMain). Desktop packaging is configured through Gradle, with macOS development builds currently active and Windows and Linux support planned later. + +## Platform Status + +- macOS: actively being developed. +- Windows: planned later. +- Linux: planned later. ## Installation -### Android +Public desktop releases are not available yet. Current builds are development builds. -Download the latest Android build from [GitHub Releases](https://github.com/NuvioMedia/NuvioMobile/releases/latest). - -### iOS - -- [TestFlight](https://testflight.apple.com/join/u4y7MHK9) +When releases are ready, desktop builds will be published from the Nuvio Desktop repository. ## Development ```bash -git clone https://github.com/NuvioMedia/NuvioMobile.git -cd NuvioMobile -./scripts/run-mobile.sh android -# or -./scripts/run-mobile.sh ios +git clone https://github.com/NuvioMedia/NuvioDesktop.git +cd NuvioDesktop +git checkout Dev +./gradlew :composeApp:run ``` -### Project Structure - -- `composeApp/` contains the shared Kotlin Multiplatform and Compose Multiplatform app code. -- `composeApp/src/commonMain/` contains shared UI, features, repositories, and platform-agnostic logic. -- `composeApp/src/androidMain/` contains Android-specific integrations. -- `composeApp/src/iosMain/` contains iOS-specific integrations. -- `iosApp/` contains the native Xcode project and iOS entry point. - Useful commands: ```bash -./gradlew :composeApp:assembleDebug -./gradlew :composeApp:compileKotlinIosSimulatorArm64 -./scripts/build-distribution.sh +./gradlew :composeApp:compileKotlinDesktop +./gradlew :composeApp:packageDmg ``` -Versioning is driven from `iosApp/Configuration/Version.xcconfig`, which is used as the shared source of truth for both iOS and Android builds. +The native player bridge currently uses MPVKit macOS libmpv artifacts. If Gradle reports missing MPVKit artifacts, build the macOS runtime before running the app: + +```bash +cd MPVKit +make build platform=macos +``` + +You can also point Gradle at a separate MPVKit checkout: + +```bash +./gradlew :composeApp:run -Pnuvio.mpvkit.dir=/absolute/path/to/MPVKit +``` + +## Project Structure + +- `composeApp/` contains the Kotlin Multiplatform and Compose Multiplatform app code. +- `composeApp/src/commonMain/` contains shared UI, features, repositories, and platform-agnostic logic. +- `composeApp/src/desktopMain/` contains desktop-specific app code, storage, settings, player integration, and desktop resources. +- `composeApp/src/desktopMain/native/macos/` contains the macOS native player bridge. +- `composeApp/src/desktopMain/resources/player-ui/` contains the desktop native player control UI. +- `composeApp/src/desktopMain/resources/icons/` contains desktop app icons for macOS, Windows, and Linux packaging. + +## Desktop Player + +Nuvio Desktop uses a native desktop player path with MPVKit/libmpv integration and desktop-owned controls. The desktop player is separate from the mobile Compose player surface so desktop behavior can match desktop input, keyboard, windowing, and playback expectations. ## Legal & DMCA @@ -68,34 +80,16 @@ Nuvio functions solely as a client-side interface for browsing metadata and play Nuvio is not affiliated with any third-party extensions, catalogs, sources, or content providers. It does not host, store, or distribute any media content. -For comprehensive legal information, including our full disclaimer, third-party extension policy, and DMCA/Copyright information, please visit our [Legal & Disclaimer Page](https://nuvioapp.space/legal). +For comprehensive legal information, including the full disclaimer, third-party extension policy, and DMCA/Copyright information, please visit the [Legal & Disclaimer Page](https://nuvioapp.space/legal). ## Built With - Kotlin Multiplatform -- Compose Multiplatform +- Compose Multiplatform for Desktop - Kotlin -- AndroidX Media3 -- AVFoundation and native iOS integrations - -## Star History - - - - - - Star History Chart - - +- MPVKit and libmpv +- Native macOS integrations -[contributors-shield]: https://img.shields.io/github/contributors/NuvioMedia/NuvioMobile.svg?style=for-the-badge -[contributors-url]: https://github.com/NuvioMedia/NuvioMobile/graphs/contributors -[forks-shield]: https://img.shields.io/github/forks/NuvioMedia/NuvioMobile.svg?style=for-the-badge -[forks-url]: https://github.com/NuvioMedia/NuvioMobile/network/members -[stars-shield]: https://img.shields.io/github/stars/NuvioMedia/NuvioMobile.svg?style=for-the-badge -[stars-url]: https://github.com/NuvioMedia/NuvioMobile/stargazers -[issues-shield]: https://img.shields.io/github/issues/NuvioMedia/NuvioMobile.svg?style=for-the-badge -[issues-url]: https://github.com/NuvioMedia/NuvioMobile/issues -[license-shield]: https://img.shields.io/github/license/NuvioMedia/NuvioMobile.svg?style=for-the-badge -[license-url]: https://github.com/NuvioMedia/NuvioMobile/blob/main/LICENSE \ No newline at end of file +[license-shield]: https://img.shields.io/github/license/NuvioMedia/NuvioDesktop.svg?style=for-the-badge +[license-url]: https://github.com/NuvioMedia/NuvioDesktop/blob/Dev/LICENSE