Skip to content

znzsofficial/CalabiYauVoice_GUI

Repository files navigation

🌌 CalabiYauVoice GUI

Kotlin Compose-Multiplatform Platform License

A Kotlin Multiplatform Strinova Wiki resource browser & downloader, built with Compose for Desktop and Android.

简体中文


Desktop Android
Desktop Screenshot Android Screenshot

✨ Features

� Shared (Both Platforms)

  • 🔍 Smart Search — 4 search modes: voice-only categories, all resource types, file search (namespace 6), and portrait/illustration.
  • ⚡ Concurrent Downloads — Scan category trees and download files with configurable concurrency.
  • 🎵 Audio Playback — In-app playback for WAV, OGG, FLAC, and MP3 files.
  • 🖼️ Rich Preview — Live image previews for PNG, JPG, WebP, and animated GIF.
  • 🗂️ File Selection Dialog — Per-category file picker with search, language filtering (CN/JP/EN), and image preview.
  • 🔍 Search History — Persistent search suggestions.

🖥️ Desktop Extras (Windows)

  • 🔄 MP3/FLAC → WAV Conversion — Batch-convert downloaded audio to WAV with configurable sample rate and bit depth. Optional WAV merging.
  • ⌨️ Keyboard ShortcutsCtrl+F focus search, F5 re-search, Ctrl+D download, Ctrl+A / Ctrl+Shift+A select / deselect all, Ctrl+1~4 switch modes, ↑↓ navigate, and more.
  • 🎛️ Windows Backdrop — Switch between Mica, Tabbed, Acrylic, Aero, and other Windows 11 backdrop styles at runtime.
  • 🪟 Custom Title Bar — Borderless native window with custom caption buttons and drag-to-move support.
  • 🖥️ Compatibility — Graceful fallback on non-Windows-11 devices with gradient background.

📱 Android Extras

  • 🏠 Wiki Hub — Native client for browsing characters, weapons, maps, costumes, game modes, announcements, voting, and more — no WebView needed.
  • 🖼️ Gallery — Browse wallpapers, stickers, and comics in a native image gallery with section filtering and fullscreen preview.
  • 🌐 Built-in Wiki Browser — Embedded WebView with cookie persistence, auto-login detection, user info display, and file download/upload support.
  • 🖼️ Portrait Viewer — Swipeable multi-image preview per costume with image type labels and page indicators.
  • 📁 File Manager — Browse downloaded files with multi-select mode (long-press), batch delete/share, image gallery preview, and audio playback.
  • 📊 Download History — Track past downloads with status and file count.
  • ⭐ Favorites — Bookmark characters for quick access.
  • 💾 Offline Cache — Disk cache for Wiki resources with offline-first mode, cache pruning, and manual cache clearing.
  • 🎨 Material You — Dynamic color with wallpaper-based seed color, light/dark/system theme, and liquid glass effects.

🛠️ Tech Stack

Shared (commonMain)

Component Technology
Language Kotlin 2.3.10
Async Kotlin Coroutines
Network OkHttp 5
Serialization kotlinx.serialization
UI Foundation Compose Multiplatform 1.10.3

Desktop

Component Technology
UI Compose Fluent UI, ComposeWindowStyler
Audio javax.sound.sampled, mp3spi, jflac-codec
Image javax.imageio.ImageIO (GIF frame decoding)
Native JNA 5 (Windows API)

Android

Component Technology
UI Jetpack Compose + Material 3
Image Loading Coil 3 (async + GIF)
Web Android WebView
Audio Android MediaPlayer
Architecture AndroidViewModel + StateFlow

📂 Project Structure

src/
├── commonMain/          # Shared business logic
│   ├── data/            #   Wiki API core, models, serialization
│   ├── portrait/        #   Portrait parsing & organization
│   └── util/            #   File extension utilities
├── desktopMain/         # Desktop (Windows) target
│   ├── data/            #   OkHttp client, image loader, cookies
│   ├── viewmodel/       #   State management
│   ├── ui/screens/      #   Screen composables
│   ├── ui/components/   #   Reusable UI components
│   ├── util/            #   Audio conversion, preferences
│   └── jna/windows/     #   Win32 API bindings
└── androidMain/         # Android target
    ├── core/            #   Cache, media, navigation, network, preferences, shared UI
    ├── feature/         #   Feature-first modules
    │   ├── character/   #   Character list/detail/costumes
    │   ├── weapon/      #   Weapon list/detail/skins
    │   ├── wiki/        #   Hub, maps, gallery, activities, decorations, stringer pages
    │   ├── download/    #   Search, download, history, portrait viewer
    │   ├── settings/    #   App settings and update checks
    │   └── tools/       #   File/audio/text utilities
    └── MainActivity.kt

🚀 Build and Run

# Build the project
./gradlew.bat build

# Run Desktop app
./gradlew.bat run

# Build Android APK
./gradlew.bat assembleDebug

For macOS/Linux, use ./gradlew instead of ./gradlew.bat.

⚠️ Notes

  • 📡 API Dependency: The app depends on Bilibili wiki endpoints; availability may vary depending on network conditions.
  • 📱 Android: Requires Android 8.0 (API 26) or later.

📄 License

See LICENSE.txt for more information.

About

Compose Multiplatform Application for CalabiyauWiki

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages