Skip to content

Releases: mpvRex/REX-Player

REX Player v5.1.0

Choose a tag to compare

@github-actions github-actions released this 04 Sep 11:53

This release introduces dual-mode video clip export, Material 3 Expressive grouped settings, responsive adaptive player panels, Jellyfin remote playback casting, and configurable playback resume controls.

Dual-Mode Video Clip Export

Video clipping now features a dedicated dual-mode export sheet, giving you complete control over export speed and frame precision:

  • Fast Lossless Cut: Instant keyframe extraction via native FFmpeg stream copying without re-encoding or quality loss.
  • Frame-Accurate Hardware Transcoding: Millisecond-precise trimming for exact start and end frames with hardware acceleration.
  • Redesigned Export Sheet: Interactive sheet featuring high-precision timestamp intervals, formatted duration badge, and one-tap mode selection.
  • Automatic Media Library Indexing: Saved clips in Movies/REX Player are immediately indexed and ready to share or play.

✨ New Features

  • Material 3 Expressive Connected Grouped Settings: Comprehensive UI refresh applying Material 3 Expressive connected grouped lists, polished cards, and rounded shapes across all preference screens.
  • Responsive Adaptive Player Panels: Redesigned video settings, subtitle settings, and delay panels that adaptively dock as side sheets in landscape mode and bottom sheets in portrait mode.
  • Jellyfin Remote Playback Target (Cast to REX): Cast media from Jellyfin directly to REX Player as a remote playback target via WebSocket Play with background keepalive service (#315). (Thanks @Crisp79!)
  • Configurable Resume Playback Modes: Choose how playback resumes with options for "Always", "Ask every time" (with interactive dialog), or "Always start afresh", plus a transient quick-restart pill (#309).
  • Interactive Notification Playback Controls: Added repeat mode (Off / Repeat All / Repeat One) and shuffle toggle buttons directly inside the active media playback notification with refined button styling.
  • Dynamic Gesture Speed Memory: Option to remember adjusted playback speed multipliers modified via dynamic long-press swipe gestures (#304).
  • Storage Permission Bypass: Allow skipping storage permission requests during first-run onboarding for users who exclusively use network streaming or external file managers (#308).
  • Force LTR Direction & Arabic Codepage Detection: Added toggle to force Left-to-Right text direction and enhanced codepage autodetection for Arabic subtitles (#271).
  • Ukrainian Translation: Added comprehensive Ukrainian localization (#326). (Thanks @vladdrako007!)
  • German Translation: Added full German localization. (Thanks @feuersternX!)
  • Hindi Translation: Added full Hindi localization. (Thanks @PrimePax!)
  • Russian Translation Updates: Updated Russian localization with latest UI strings (#327). (Thanks @blxckhundred!)
  • Brazilian Portuguese Translation Updates: Updated Portuguese localization across all preference screens. (Thanks @𝟰𝗞𝘼𝙭𝙡 𝙍𝙤𝙨𝙚𝟰𝗞ᶤ ᶫᵒᵛᵉᵧₒᵤ!)
  • Arabic Translation Updates: Updated Arabic translation strings. (Thanks @yarushu!)
  • Bengali Translation Updates: Updated Bengali localization.

⚡ Performance & Optimizations

  • Native FFmpeg Stream Copying: Integrated native fast clipping for instant lossless exports with zero CPU/GPU transcoding overhead.
  • Fluid Panel Animations: Removed outer container bounds distortion in player panels for smooth orientation switching and side-sheet transitions.

🐛 Stability & Bug Fixes

  • Secondary Subtitle Overlap & Positioning: Resolved subtitle collision by ensuring secondary subtitles render cleanly without overlapping primary text, with dedicated position offset controls (#302).
  • BiDi & RTL Metadata Reversal: Fixed reversed text and number-unit ordering in Media Info and multi-selection info sheets when running under Right-to-Left (RTL) locales (#303).
  • Slider Text Wrapping in Player Panels: Resolved text collapsing and scattered slider labels in audio/video panels with standardized vertical column layouts.
  • Jellyfin Remote Connection Security: Hardened WebSocket authentication to rely strictly on secure headers, sanitized logging URLs, and added insecure HTTP connection warnings (#315). (Thanks @Crisp79!)

Checksums

Variant SHA-256
arm64-v8a efd718e836a5fc14baf1871faf2a541e3a633888fdd73f92863761e3a9845fe3
armeabi-v7a d4fb4403cb17e5be39c3489bf90abb6213fc6569b48f59fdd1b449291e62384e
Universal ffb186bdb0182f8aca6c70a04dcc1e8d5209d399396b34b701582d7398812c8a
x86 e4e112c204c5d606c94b64f1b5d4f467c6d0c1d20686b54803459c3631e0e921
x86_64 cba84cc313b40de55a1a55b9016b2e8b8cea3e8988ee2cafa2d0a711b78b8b7e

REX Player v5.0.0

Choose a tag to compare

@github-actions github-actions released this 27 Aug 23:17
39eeeb1

REX Player v5.0.0 is here! 🎉
This release brings a local HTTP Web Share server with two-way file transfers, indexed fast search with multi-selection, on-demand .nomedia folder browsing, and a welcome onboarding flow.

Note on Rebranding: mpvRex is now REX Player
Same app, same package (xyz.mpv.rex), same install — your library, database, and settings remain untouched. No action is required.


🔥 Highlighting: Local HTTP Web Share Server

REX Player now allows you to stream, share, and transfer media files directly across devices on your local Wi-Fi network:

  • In-Browser Media Streaming: Stream video and audio directly to any phone, PC, tablet, or smart TV browser without installing extra software (#298).
  • Two-Way File Uploads: Upload media files from connected browser clients directly into your device's Download folder.
  • QR Code & Direct Pairing: Connect nearby devices using generated QR codes or direct IP links.
  • HTML5 Web Interface: Web media player with playback controls and one-click file downloads.
  • System Share Sheet Integration: Send media from external apps directly into Web Share.
  • Access Security: Toggle optional persistent PIN/token authorization to restrict access to streaming sessions.

✨ New Features

  • Unified Fast Search & Multi-Selection: Dedicated search screen powered by indexed queries, supporting multi-selection batch operations (rename, delete, copy/move, playlists) and scoped folder filtering (#301).
  • On-Demand .nomedia Folder Browsing: Option to discover and browse .nomedia directories in the folder browser with a quick toggle in the sort dialog.
  • Welcome Onboarding Flow: First-run setup guiding new users through storage permissions, basic preferences, and core navigation.
  • In-App Language Switcher: Change the app's display language directly inside Appearance preferences without altering system locale settings.
  • Persistent Media Index: Database-backed media index for faster folder navigation, background metadata enrichment, and thumbnail fallbacks.
  • Scan Roots & Excluded Folders: Configure custom library scan roots and exclude specific directories directly from Media Library preferences.
  • Interactive FastScrollbar: Touch-draggable scroll indicator across media lists with improved touch targeting and navigation insets (#296).
  • Shorts Media Sharing: Added a direct share button inside the Shorts player menu sheet.
  • Community & Support Dialog: Replaced the top bar button with a periodic reminder dialog (with 10-day follow-up) for feedback and support channels to keep the header clean.
  • Branded Splash Screen: REX Player splash branding with dynamic Material 3 color matching.
  • Russian Translation: Added comprehensive Russian localization (#300). (Thanks @blxckhundred!)
  • Arabic Translation Updates: Completed full Arabic translation across all new screens and preferences (#266, #285). (Thanks @AhmedRX20!)

⚡ Performance & Optimizations

  • Duration & Metadata Resolution: Resolves missing durations on media lists using indexed bucket queries and first-frame cache resolution.
  • Optimistic Media Deletion: File deletion updates the UI and Room database immediately, eliminating the previous full-refresh delay.
  • Network Browser List State: Preserved list state across recompositions to prevent duplicate SMB listings and cancelled scroll gestures (#281). (Thanks @freeorca!)
  • Pause Latency Fix: Restored direct hardware decoding (hwdec) and stream queue handling to eliminate delay when pausing playback.

🐛 Stability & Bug Fixes

  • Volume Gesture Scaling on OEM Devices (Xiaomi, Oppo, Realme): Dynamically scales vertical swipe volume sensitivity based on the stream's maximum volume, resolving hyper-sensitive volume gestures on MIUI, HyperOS, ColorOS, and custom ROMs.
  • Embedded Thumbnail Track Fix: Prevented embedded album and thumbnail tracks from overriding the main video stream during surface initialization.
  • Search UI Overflow: Fixed layout overflow on long folder and path names in search results.
  • Browser Bottom Bar Layout: Positioned the bottom bar properly above the Mini Player and Navigation Bar with consistent spacing (#279).
  • Folder Audio Filtering: Folder item counts and visibility now strictly respect the showAudioFiles preference (#272).
  • Folder Badge Updates: Fixed "new video" folder badge counters to decrement immediately upon playback.
  • Loading State Synchronization: Synchronized folder item loading states to eliminate empty state flashing during navigation.

Checksums

Variant SHA-256
arm64-v8a 8d037a9b756a2303ea648f1a7655883ccc4993c268198b8a4806cab2b1f53376
armeabi-v7a b681cbb3a493bc8e039745e397d6e8e256c5345ba37a62ba058a6f155afd3fa1
Universal 5b9abd353b3e7c34189d0f5ab6fac9700ca1388e5c8f05bfc971a972bb8ab228
x86 b520bc3891b5c1092b2010f9464ebad0abbdeb53e2a5cae8d85644320e235bda
x86_64 dbaf521ef7785d8641edd11f779c051e3869af09d90aeba801af2e71f3e60bd1

mpvRex v4.5.0

Choose a tag to compare

@github-actions github-actions released this 11 Aug 21:13
6b080d2

This release introduces a brand new in-app Mini Player with background playback, video clip cutting, persistent track memory, massive SMB streaming performance improvements, and an upcoming app rename preview.

📢 Upcoming Rebranding Notice: mpvRex will be changing its name to REX Player in a future release! You'll notice a smooth header title transition on the home screen looping between mpvRex and REX Player as a sneak peek of our new identity.


🔥 Highlighting:

mpvRex now features a full-featured persistent mini player and background audio system:

  • Persistent Mini Player: Keep media playing in a floating mini player while browsing your library or playlists.
  • Swipe-Up Morphing Layout: Smoothly expand the mini player into full screen or collapse it with fluid touch gestures.
  • Swipe-to-Skip Gestures: Swipe left or right on the mini player bar to quickly switch between tracks.
  • Background Playback Modes: Choose when background playback activates — Always, Audio files only, Video files only, or Never.
  • Direct Mini Player Playback: Play files directly into the mini player from the file browser without opening the full player screen.

✨ New Features

  • Video Clip Cutting: Cut and export video clips directly from the A-B repeat overlay — set your loop points and save.
  • Smart Track & External Audio Memory: Remembers selected audio/subtitle tracks and external audio files per-video, automatically restoring them on reopen (#113, #220).
  • Device Codec Support Info: View supported hardware (HW) and software (SW) decoders directly in settings (Closes #238).
  • Seekbar Customization: Added preferences to hide chapter markers and buffered read-ahead indicators on the seekbar (#152, #236).
  • Gesture & Controls Options: Added option to disable "Release to cancel" gesture overlay (#180), reverse double-tap seek direction toggle, and double-click chapter buttons to skip chapters.
  • App & Navigation Tweaks: Picture-in-Picture priority over mini player, home screen back press minimizes app, and dynamic app name in settings backup files (#226).
  • Localization Updates: Added Simplified Chinese (Thanks @wcxu21!), updated Spanish (Thanks @FFSA47!), completed Arabic localization (Thanks @AhmedRX20!), and extracted hardcoded button & filter preset strings (#243, #244).

⚡ Performance & Optimizations

  • High-Speed SMB Network Streaming: A new double-buffered prefetching engine for SMB streams boosts network throughput up to 4x (~20 MB/s), with SMB session reuse for faster seeks (#258, #263). (Thanks @freeorca!)
  • Instant Folder Browsing: Video metadata is cached before rendering, eliminating chip reflow and item flickering (FPS, resolution, subtitle tags) when browsing folders (#239, #215).
  • Faster Shorts Thumbnails: Isolated Shorts player thumbnail generation to the first frame for quicker loading.

🐛 Stability & Bug Fixes

  • Orientation & UI Thread Deadlock Fix: Resolved UI thread deadlocks during orientation changes by using non-blocking coroutines.
  • Surface & Playback Fixes: Prevented video surface stretching when rotating while paused, fixed paused seekbar position updates, and eliminated frame flashes when switching videos.
  • Scoped Storage Access: Improved external file playback compatibility using fallback content URIs for unreadable paths.
  • Text & Input Fixes: File rename dialog now automatically places text cursor at the end (#197), and removed unnecessary haptic vibration on control long-press.

Checksums

Variant SHA-256
arm64-v8a ba18952b7fd89ff59416334a9cb69c4f7fc410f5c3e64b762880201ace6a8496
armeabi-v7a 88bf7a76ba2d1b66b7a53167a8bf68e393c5ed2b2185da1b0eac31b94cff32cb
Universal ad7ef637fef2267b2d94b28d861bd85480365a8eea169f6eb82291ec5cae681d
x86 2e013cc4e859ebbef1580da512975d2c87b881a444e45f9a27ca6acf184a27cd
x86_64 fbfa9b6db17682bbfb6ea5b2e65f64894680aa2b86555baedbac1183576657be

mpvRex v4.4.1

Choose a tag to compare

@github-actions github-actions released this 31 Jul 18:04
cfcf516

mpvRex v4.4.1

Maintenance release: HyperOS subtitle fix, Simplified Chinese support, expanded Arabic translations.

🔥 Highlight: HyperOS Subtitle Fix

Fixed subtitles rendering without spaces (HelloWorldHello World) on Xiaomi HyperOS (Android 15 & 16).

✨ New

  • Simplified Chinese (zh-rCN) support added (#224) — thanks @wcxu21!
  • Arabic translations expanded for Shorts actions, ambient mode, and zoom controls (#225, #231, #232) — thanks @AhmedRX20!

🐛 Fixes

  • Item-count plurals fixed in delete confirmation dialogs (#232)
  • Hardcoded UI strings extracted into resources for full localization (#231, #232) — thanks @AhmedRX20!

Checksums

Variant SHA-256
arm64-v8a 85c7eba88ab8d23b2d4d941e420a798370cb48a72dd15dfe663c81f620cdcc28
armeabi-v7a 665d5dd6d076da47be7cd98d63f8f3712dbcc5f4b634bfb2da4e5c20f0084d88
Universal a0a0edba11185c3bbb2f1d74d56f940164c65cfd016c127e55098a319c9d0361
x86 e6d28afa5fba237b50c035475431c0d74d50339bba624e313ecc5dc792e8ad7e
x86_64 bbd4c978f9e4333504a757e81e059f3ff82d4d9826de743e0165a834826a85c8

mpvRex v4.4.0

Choose a tag to compare

@github-actions github-actions released this 28 Jul 18:25
fbc7eac

mpvRex v4.4.0 is here! This release introduces a beautiful new Glass Theme player UI, customizable circular seek animations, embedded cover art thumbnails, advanced zoom controls, a redesigned MoreSheet, significant playback performance improvements, and dozens of stability and localization fixes.


🔥 Glass Theme Player UI

The entire player interface has been reimagined with a sleek glass-morphism design language:

  • Glass Controls & Seekbar: Player controls, buttons, title bar, sliders, OSD, and slide-to-unlock all render with translucent glass backgrounds.
  • Glass Seekbar Container: Seekbar and timestamps are wrapped in a unified glass container row with refined capsule paddings.
  • Glass Speed Indicator: A compact glass-themed speed indicator with animated speed button transitions.
  • Glass Shorts Controls: Shorts player controls now use the glass style with a toggleable back button and outlined tab icons.
  • White Progress Bar: Added a toggle for a clean white video progress bar on the player screen.

✨ New Features

  • Mark As New: Introducing a new "Mark As New" media state — manually mark any video as New and it renders a forced NEW badge, even on older files. Watched state is cleared on last played, with active batch-based global last played highlighting for media and folders and per-folder watched/active highlight resolution.
  • Circular Double-Tap Seek: Implemented a fully customizable circular double-tap seek overlay with configurable summary, default-on for new users, and smooth transition animations.
  • Embedded Cover Art Thumbnails: Support for extracting embedded cover art and sibling external artwork as local video thumbnails (closes #158, closes #190).
  • Advanced Zoom Controls: Independent video scaling and black bar removal controls. (Thanks @jhaiian!)
  • MoreSheet Tabs: Added Aesthetics, Gestures, and Controls tabs to the MoreSheet bottom sheet with preference-style orientation selector.
  • Bottom Controls Layout: Added bottom controls below seekbar and "Show controls on play start" toggle to ControlsTab.
  • Add to Playlist in Library: Enabled "Add to Playlist" action in Media Library view mode.
  • Playlist Grid Columns: Playlist grid now respects folder column settings with center-aligned folder titles.
  • Updated mpv-lib: Bumped mpv-lib to v0.0.7 and replaced local AAR with remote dependency from GitHub Pages.
  • Spanish Translation: Updated Spanish translation and fixed typos in GPU error messages (#214). (Thanks @FFSA47!)
  • Arabic Translation: Continued Arabic localization with new strings, pluralization fixes, and hardcoded string extraction (#196, #201, #219). (Thanks @AhmedRX20!)
  • i18n Hardcoded Strings: Extracted hardcoded strings in player controls, Advanced settings, PlaylistSheet, About, ConfigEditor, Appearance, and Gesture screens (#192, #202, #204, #208, #211). (Thanks @AhmedRX20!)

⚡ Performance & Optimizations

  • Per-Instance MPV Observers: Observe all UI-consumed properties (time-pos, duration, tracks) per-instance to survive background resume and prevent frozen UI.
  • Gesture JNI Elimination: Eliminated per-event JNI reads during pan and zoom gestures for smoother interaction.
  • Reactive StateFlow: Replaced volatile polling loop with reactive StateFlow in MainScreen and consolidated playback state observers into debounced flows.
  • Coroutine Sub-Seek: Replaced handler delay with coroutines for mpv sub-seek position diff calculation.
  • Theme Palette Update: Updated default theme palette to match app logo color #3B82F6.
  • Grid/List Styling: Left-aligned grid view card elements, aligned font weight with list view, and made scrollbars conditional and fixed size.
  • Default Preferences: Pan/zoom disabled by default for new installs; seekbar style defaults to Standard; showSeekBarWhenSeeking disabled by default.

🐛 Stability & Bug Fixes

  • Native Teardown Crash: Synchronized libmpv native teardown and surface detachment to prevent crashes (Fixes #216).
  • ANR Prevention: Added bounded timeout to runBlocking in onDestroy to prevent UI thread ANRs.
  • Frame Flash Fix: Suppressed first frame flash during video switching and on video resume using paused load.
  • Subtitle Deletion Bug: Prevented local subtitle file deletion on track remove and wrapped download response in use block.
  • Playback State Lookups: Prioritized file path matching over display name in playback state lookups.
  • Slot-Table Corruption: Hoisted conditional remember and LaunchedEffect calls to prevent slot-table corruption in file browser and Shorts player.
  • Browser Selection: Persisted selection manager across reloads, fixed hard refresh on resume, and aligned card/list selection outlines.
  • Seek Layout Clipping: Eliminated circular seek layout bounds clipping during transitions and fixed chevron glitch.
  • Navigation Bar Padding: Conditionally applied bottom navigation bar padding to player controls.
  • Subtitle Source Fix: Selecting "All" subtitle sources now correctly checks all sources (#198). (Thanks @sharifmdathar!)
  • Pluralization Fix: Fixed Arabic/Spanish plural handling for horizontal video duration string (#217). (Thanks @AhmedRX20!)

Checksums

Variant SHA-256
arm64-v8a c46f0c6d8f0992e42687bde91522deb6de5fa8cf53ac8c754af793f369874320
armeabi-v7a 11fe03908ecef30c03f75c98e26b343e16f32a3e241632b5dc5f8c28b86b83c7
Universal 3c84411ebdad1031691d844178345e4e50ad19b6977c608c6c2d801e5ffe418c
x86 cb3b3e7ff119d69e6603462305e8712ea1d16598f8dd0a636fbcac0dee5ca5e0
x86_64 01cea482110978fa1c79035611685933aff97c159b5cb950605406b2dae79434

mpvRex v4.3.0

Choose a tag to compare

@github-actions github-actions released this 12 Jul 10:25
8c7f2ac

mpvRex v4.3.0 introduces a major overhaul of the Shorts player with advanced filters and UI controls, M3U playlist loading, interactive playlist drag-and-drop reordering, theme transition animations, and extensive localization enhancements.


🔥Overhauled Shorts Player

We have completely redesigned the Shorts player experience to be faster, highly configurable, and visually seamless:

  • Session Free Mode & Speedups: Lock the overlay sheet, trigger side double-tap speedups, and run in session-wide Free Mode.
  • Clean UI Mode: Relocated the back button and added a Clean UI Mode that hides all overlays during active playback.
  • Directory Source Filters: Select exactly which folders are scanned and watched for Shorts content (#127).
  • Reactive MPV Observers: Replaced CPU-heavy JNI polling loops with reactive MPV property observers, reducing battery drain and improving responsiveness.

✨ New Features

  • M3U Playlist Support: Support for loading M3U playlists and custom stream titles.
  • Drag-and-Drop Reordering: Drag-and-drop playlist reordering and multi-selection deletion (selected items highlighted in red).
  • Recent Links: Added a "Recent Links" section in the Network Streaming screen for quick access.
  • Controls Preference: Added a preference option to show controls on play start.
  • Video Zoom Restored: Restored the dedicated VIDEO_ZOOM button and VideoZoomSheet controller (#157).
  • Shorts Source Filters: Added directory selection source filters for Shorts to scan only chosen folders (#127).
  • Delete Shorts Option: Added a delete short option with safety release handle.
  • Theme Transition Animation: Added a premium circular reveal transition animation when toggling between light and dark themes.
  • Arabic Translation: Completed full Arabic localization (#159, #172, #178). (Thanks @AhmedRX20!)
  • Bengali Translation: Added full Bengali (BD) language translation and Droidlate metadata.
  • Droidlate Workflow: Introduced the Droidlate translation workflow and detailed contributing guidelines (#179).

⚡ Performance & Optimizations

  • Shorts Scanning: Optimized scanner performance and resolved zero dimensions metadata bug.
  • Theme Toggle Performance: Optimized theme circular reveal transition performance and correctness.
  • Explorer Spacing: Reduced in-between spacing of explorer list/grid items for a more compact and elegant layout.
  • Playlist Layout: Removed customMaxWidth from the playlist sheet to match standard sheet width.
  • Resource Cleanup: Pruned untranslatable strings from localized resources.

🐛 Stability & Bug Fixes

  • Tree View Progress Bars: Fixed progress bars not displaying in the Tree (file manager) view (#177). (Thanks @dmitriy-bty!)
  • Chapters Auto-scroll: Fixed repeated auto-scroll triggering when navigating chapters.
  • Playlist Referrer: Fixed playlist navigation and referrer leaking on stream changes.
  • Shorts Race Conditions: Resolved stale video loading race condition on entry to Shorts.
  • Externalized Strings: Extracted dozens of hardcoded strings in dialogs, sheets, and activities to strings.xml (#160, #169, #174, #184, #187, #189). (Thanks @AhmedRX20 and @mattvanhorn!)

Checksums

Variant SHA-256
arm64-v8a 434b3469ce33b3858ff6e0984fb4939331d1eca25b0547dc2d2e6e9d9e58ce07
armeabi-v7a 23438bf564886cd94b72f4536d39ef4b00e2595036505718fc9470760d4875f8
Universal d0c3ee6b8635859e8e579148b78fc769271ee8ae0846cf2b75e5dc4f4ebadc02
x86 60c39fab87ee263bc8ed26e8d998c815dcc986875069e7026ce680fd32083da7
x86_64 11588b79ebbc50858cf2953b08d042d4bfcb1bc6ff3768e36e1a44b204e8ac66

mpvRex v4.2.1

Choose a tag to compare

@github-actions github-actions released this 28 Jun 21:58
f58b612

mpvRex v4.2.1 introduces manual video zoom and pan controls, unified view option toggles across sort dialogs, deconflicted panning gestures, and essential stability and navigation fixes.


✨ New Features

  • Manual Zoom & Pan Sliders: Added interactive sliders for Zoom and Horizontal Pan adjustments inside the Aspect Ratio Sheet. Toggling the "Custom..." chip dynamically reveals custom aspect ratio inputs.

🛠️ Fixed & Improved

Preferences & UI Refinements

  • Unified View Option Toggles: Standardized the availability and order of the 12 visibility preference toggles (such as Path, Duration, Resolution, Date, Progress Bar, and Subtitle Indicator) across Folder, Video, and FileSystem sort dialogs.

Gestures & Controls

  • Panning Deconfliction: Resolved an issue where single-finger panning when zoomed conflicted with vertical swipe gestures for volume, brightness, or seeking.

Browser & Navigation

  • View Mode Navigation: Automated popping to the root backstack when changing view modes, and enabled view option toggles inside Tree subdirectories.
  • Auto-scroll Persistence: Fixed a bug where auto-scrolling to the last played video reset the scroll state on back navigation.
  • Tree Mode Playlist Sorting: Fixed playlist playback order in Tree mode by correctly sorting sibling files using tree sorting preferences.

Documentation

  • Weblate Translations: Added a dedicated translations contribution section to the project README.
  • Feature Overview: Refined, modernized, and organized the feature presentation inside the main README file.

Checksums

Variant SHA-256
arm64-v8a ee90190744a7cd2a7e9f1507c8d4e6eed1d347040eae48f3d8d52caadf238c6d
armeabi-v7a 139b83a1a541a196bc5ad8ebad087dd3eb1a375f8ea8025599f4e1081c7f4fbd
Universal 58ec8886556cf67faca106b1994380068019c84a3e3cb083f3d7c1f7f5a2570e
x86 8fe0c48c57f90eb916c8728c9c9f57b480bad729b083c378a9fc525a4cae2f9e
x86_64 5bcd27e8f6c5ab14ce60ef24f9dbdddff61ce315f782e12cd459e0a7d9394734

mpvRex v4.2.0

Choose a tag to compare

@github-actions github-actions released this 23 Jun 20:08
f90a11a

mpvRex v4.2.0 introduces major battery and performance optimizations, seek cancellation support, a keyboard-free Sleep Timer bottom sheet, and interactive gesture tutorials.


🔥 Highlighting: Battery Optimization

Significant reduction in CPU overhead and playback battery consumption.

  • Battery Optimization: Major reduction in CPU overhead and playback battery consumption.

✨ New Features

  • Seek Cancellation: Implemented intuitive seek cancellation gesture with dynamic pointer scale animations (#139).
  • Keyboard-Free Sleep Timer: Refactored the Sleep Timer dialog into a touch-friendly, keyboard-free bottom sheet.
  • Seek Capsule OSD: Re-engineered double-tap seeking feedback into a clean, modern capsule-style overlay positioned at the top of the player.
  • Gesture Tutorials: Added interactive onboarding tutorials (PlayerTutorialManager) to help users learn the speed lock and subtitle drag-to-reposition gestures.
  • Custom Audio File Picker: Added a custom audio file picker dialog to easily select and load external audio tracks.
  • Dynamic A-B Loop & Floating Frame Navigation: Added vertical bias adjustments for the A-B loop interface and refactored Frame Navigation controls into a non-colliding floating overlay.
  • Refactored Pan & Zoom Toggle: Moved the Pan & Zoom toggle directly into Player Settings, removed the dedicated zoom button/sheet, and automated zoom resetting when switching video aspect ratios.

🛠️ Fixed & Improved

Performance Optimizations

  • Battery Optimization: Substantially reduced CPU overhead during video position tracking, significantly improving playback battery life.
  • UI Responsiveness: Polished rendering and layout calculations for player controls and the seekbar to ensure smooth, stutter-free playback navigation.
  • Wavy Seekbar Animation: Offloaded seekbar flattening animations to prevent any blocking of the main UI thread during seeking.
  • Foreground Service Optimization: Only starts the playback service in the foreground when the app is backgrounded, reducing active system resource footprint.
  • Verbose Logging Cleanup: Restricted detailed background logs to debug builds only, reducing execution overhead in production.

Preferences & UI Refinements

  • Layout Updates: Refined default player preferences and polished the control bar layout for better usability.
  • Flicker Reduction: Prevented folder list flickering in the tree view by delaying the initial load until the storage root path is fully resolved.
  • Branding & Links: Updated the permission request dialog branding from mpvEx to mpvRex and updated the GitHub repository URL.
  • Localization: Updated the Spanish translation strings for various player preferences (#142).

Stability & System

  • ViewModel Crash Fix: Resolved a startup crash caused by the initialization order of properties inside the browser viewmodels.

Checksums

Variant SHA-256
arm64-v8a b3a085dfb343f3c2a9e7099a733bb311e1bf593a0c5e06a5a32d20a107d93cdd
armeabi-v7a e4093fc7e42dd4d0fae48663722728a034c2830797978d7e8d7771d3e0246e0e
Universal b075de76d16b2796021a87e9d7a1b53aee5dd0c1ca70079ddbd1609a2e48c7ff
x86 97e727faceaaaf47b96cefa7e8deaff9718c013d7f8a7b2d286603f30419a4cb
x86_64 5d6962bf168c96d0753fa24535e0a061f70adc2c72d0c51da28af79c4033a5e8

mpvRex v4.1.0

Choose a tag to compare

@github-actions github-actions released this 18 Jun 15:52
9d205dc

mpvRex v4.1.0 brings HDR-to-SDR tone-mapping (hdr-toys) shader support, a complete package namespace refactor, refined player gesture controls with edge-swipe protection, and critical stability fixes.

✨ New Features

  • HDR-to-SDR Shaders Integration: Added complete hdr-toys GLSL shader support for tone-mapping and gamut-mapping, configurable via Decoder Preferences.
  • Hide Player OSD Text Preference: Added a setting to hide the default mpv OSD text during seeking or gesture seeking, which also dynamically suppresses the custom double-tap and gesture seek text overlays for a distraction-free screen.

🛠️ Fixed & Improved

Player & UI Refinements

  • Edge Swipe Protection: Excluded screen edges (24dp) from triggering volume and brightness gestures to prevent conflicts with Android's system back and home gestures.
  • Enhanced Gesture Controls: Improved volume/brightness sensitivity, resolved conflicts with zoom panning gestures, and tuned panning speed (#87).

Browser & Discovery

  • Auto-Scroll Alignment: Aligned folder auto-scroll matching index logic with highlight checking rules to correctly scroll to the recently played folder in list views.

Stability & System

  • Fixed Large Number Sorting Crash: Resolved an IllegalArgumentException in comparison utility functions when sorting files with extremely large numbers in their names.
  • Fixed ViewModel NPE: Resolved a NullPointerException initialization crash in BaseBrowserViewModel.

Project & Build

  • Package Namespace Refactoring: Migrated the application namespace to xyz.mpv.rex and relocated all source files under main/kotlin for a cleaner Kotlin-first project structure.

Checksums

Variant SHA-256
arm64-v8a 94a5c166eba11d47e1ebb709fa57878a1d0a7d45578e70aa9e6c58eedda6d7a2
armeabi-v7a b2fb26c5cd25943e5bb682008b3b2fd42e84437d2b5a3351453e92277e6ff99d
Universal 09f4ce64fecee41504ad7d9aaf4b3b741e52abe717b8b6c72643971b644b0c37
x86 8a946521607890b32ba7e20f765e19e84771de9ede7343d5abd1f731d95f7c26
x86_64 5b179d14bd48fd04d61f99dbb24fac7c1e5058a6a3aaf166419d4b2b9fb86f5e

mpvRex v4.0.0

Choose a tag to compare

@github-actions github-actions released this 10 Jun 09:57
359309f

mpvRex v4.0.0 introduces a fully unified strategy-driven explorer browser, interactive subtitle repositioning, a complete UI redesign of the Sort & View dialogs with improved contrast hierarchy, a new Community Hub, a brand new animated splash screen, massive SMB performance improvements, and critical stability fixes.


🔥 Highlighting: Unified Browser Explorer

We have completely rewritten and unified all file, folder, tree, and playlist browsers into a single strategy-driven UI component.

  • Consistent Experience: Unifies layout structure, list/grid styles, search behaviors, and gesture controllers across all browsing interfaces.
  • Grid View in Tree View: Thanks to the unified explorer architecture, Tree View now fully supports grid layout mode alongside the classic list mode.
  • Layout Flexibility: Adds independent list/grid section layout settings for Tree View, and restores proper scroll-to-top behaviors.
  • Intuitive Discovery: Restores watched/unplayed folder dimming, last-played media highlighting, and unplayed badges.

🔥 Highlighting: Reimagined Folder Cards & Icon Aesthetics

We have redesigned the core folder browsing visual rhythm to feel cleaner, more responsive, and modern:

  • Minimalist Card Layout: Removed the heavy background container boxes from folder card icons to establish a more open, lightweight, and modern browsing layout.
  • Softer Folder Accent: Softened the folder icon color by reducing its alpha opacity to 0.5f, ensuring it blends harmonized with dynamic system colors instead of drawing excessive attention.
  • Tactile Touch Ripples: Restructured touch ripple propagation to prevent cut-off feedback, ensuring smooth and satisfying visual responses across the entire card surface.

🔥 Highlighting: Modern Redesigned Sort & View Dialogs

The Sort & View Dialogs have received a major aesthetic and structural overhaul to maximize screen space and reduce visual load.

  • Surface Contrast Hierarchy: Redesigned brightness levels (Dialog background -> Section cards -> Active controls) to enhance UI depth, improve readability, and prevent eye strain.
  • Unified Chip Filtering: Cleaned up the fields filter section by introducing unified, elegant chips that align perfectly with the modern M3 guidelines.
  • Duration Sorting: Added duration-based sorting (Shortest/Longest) for folders and videos in the browser views.

✨ New Features

  • Interactive Subtitle Drag & Position: Drag subtitles up or down directly on the screen for custom positioning during playback (#114). (Thanks @s-shahriar!)
  • Community Hub Dialog: Toggle a dedicated Community Hub shortcut and view community links and icons directly in the Tree and Media View headers.
  • Quick Copy Options: Copy folder paths, video paths, or file paths directly from the selection mode top bar (#116).
  • Default Disabled Subtitles: Added a preference setting to disable subtitles by default (#129). (Thanks @s-shahriar!)
  • Range Multi-Selection: Select multiple items instantly in the browser using long-press selection gestures.
  • New Splash Screen & Brand Styling: Modern animated splash screen supporting light/dark themes, updated brand vectors, and fresh launcher icons.
  • Path Breadcrumbs: Added a preference to toggle folder path breadcrumbs in Tree View.
  • Spanish Translation: Added full Spanish language localization (#109). (Thanks @FFSA47!)

⚡ Performance & Optimizations

  • SMB Speedup & Network Proxy Thumbnails: Overhauled thumbnail extraction, uncapped SMB network bandwidth, and routed network thumbnails through a local proxy (#48). (Thanks @farhan112k!)
  • Expressive M3 Toggles & Refresh: Modernized pull-to-refresh gesture animations and preference toggles to animated, tactile Material 3 styling (#104). (Thanks @farhan112k!)
  • Asynchronous Folder Loading: Pre-loads direct child folders and retrieves media metadata asynchronously, preventing UI stuttering on large libraries.
  • Battery Saver Seekbar: Optimized seekbar rendering and segment end rounding to lower CPU usage and reduce battery drain.

🐛 Stability & Bug Fixes

  • Seekbar Thumb Dragging: Fixed progress bar thumb getting stuck during long seeks.
  • Chapters Sheet Lockup: Prevented screen lock crash when opening the chapters list with null current chapter.
  • Auto-Scroll to Last Played: Fixed auto-scrolling issues on launch in tree and folder views.
  • Grid Scroll-to-Top: Resolved scroll-to-top not firing in grid layouts.
  • MediaInfo Integration: Corrected app name identification and disabled external MediaInfo intent redirection by default.
  • Playlist Reordering: Fixed playlist drag handles and card size resetting on screen exit.

Checksums

Variant SHA-256
arm64-v8a b9a751144f0207c010b4a6293f339b6c8e90b7718a86af990d5ee6a68ad8c08c
armeabi-v7a 38fdd63f98f82e7b5824ad27964c9a001bc582d2303c7471cbbb3352905bb4a1
Universal 7045bd377f192bfc93904a234a851e074bb6ba6353cb0f4b01358f214c985584
x86 399232f2b7b68ee1418d16f1b33475fa093153a83fa6cc05c3e11b0b5d5f0a08
x86_64 1dfa48c88dfb2c8613b60508d8da8785d47f7fb5ee035b809dc70af9ba364780