feat(eml): Fullscreen borderless video player with premium controls#732
Open
Dawnflare wants to merge 4 commits intodarklinkpower:emlCrashFix2025from
Open
feat(eml): Fullscreen borderless video player with premium controls#732Dawnflare wants to merge 4 commits intodarklinkpower:emlCrashFix2025from
Dawnflare wants to merge 4 commits intodarklinkpower:emlCrashFix2025from
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fullscreen Video Capability - Extra Metadata Loader
This update adds the ability to view game videos in a borderless, maximized fullscreen window within the Extra Metadata Loader extension for Playnite.
✨ Features
🛠️ Technical Implementation & Bug Fixes
This feature has been surgically ported to the stable
emlCrashFix2025branch, avoiding regressions in themasterrepository (such as the broken Steam Video downloader). It includes robust fixes to the WPFMediaElementimplementation:Focusable="False"on all interactive control buttons and sliders in the fullscreen window. This prevents mouse clicks from stealing keyboard focus, ensuring the Spacebar consistently acts as a global Play/Pause toggle rather than re-triggering the last clicked button.fsPlayer.Pause()injection during initialization forces the pipeline to immediately render the initial start position frame.00:00the very first timePlay()is called from a Paused state.ExtraMetadataLoader.csprojstructure, ensuring zero compilation errors on theemlCrashFix2025foundation while adhering to the original author's strict coding guidelines (PascalCase, camelCase with underscores, etc.).🧪 Installation & Testing Instructions
1. Build and Import
To test these changes, you need to compile the project and manually replace the extension files in your Playnite installation.
Build the Project:
Open a terminal in the project root and run:
This will produce
ExtraMetadataLoader.dllinsource\Generic\ExtraMetadataLoader\bin\Debug\.Locate Playnite Extensions:
Open Playnite, go to
Main Menu > About Playnite > User data directory.Navigate to the
Extensionsfolder (notExtensionsData).Look for a folder named
ExtraMetadataLoaderor705fdbca-e1fc-4004-b839-1d040b8b4429(the Extra Metadata Loader GUID).Replace Files:
ExtraMetadataLoader.dllfrom your build output to the extensions folder, overwriting the existing one.LocalizationandControlsfolders (if applicable) are also synced if you made XAML changes that aren't embedded.2. Verification Checklist
Follow these steps to verify the feature:
0:10, enter fullscreen. It should be paused at0:10. Play it to0:15, exit fullscreen. It should be playing at0:15in the embedded player.