Giter Site home page Giter Site logo

silverezhik / mpv-msix Goto Github PK

View Code? Open in Web Editor NEW
51.0 6.0 3.0 1.45 MB

mpv packaged for Windows 10

Home Page: https://www.microsoft.com/store/productId/9P3JFR0CLLL6

License: GNU Affero General Public License v3.0

C# 80.91% C 19.09%
mpv msix windows uwp project-reunion

mpv-msix's Introduction

mpv-msix

mpv packaged for Windows 10.

mpv website: https://mpv.io

mpv GitHub repository: https://github.com/mpv-player/mpv

mpv-msix on the Microsoft Store: https://www.microsoft.com/store/productId/9P3JFR0CLLL6

mpv-launcher

mpv-launcher is a wrapper for mpv which implements single instance mode: if you have mpv open, opening a new file will reuse the existing window. It also implements support for multiple selection, so if you select 10 videos in File Explorer and click "Play", only a single mpv window will open.

Single instance mode functionality is implemented by launching mpv with an IPC server pipe and passing videos to it.

mpv-console-launcher

mpv-msix will register an app execution alias which allows launching mpv from the command prompt with mpv.exe.

This is implemented as mpv-console-launcher, which is a slightly modified version of mpv.com which is hardcoded to look for the mpv executable which ships with the package. This is necessary because App Execution Alias functionality in MSIX packages requires every executable to be a .exe file.

mpv:// URI Scheme

mpv-msix will register a special mpv:// URI scheme for launching the player. This can be used for implementing user scripts for launching mpv from your web browser, for example.

This scheme currently supports a single path, mpv://play. This path accepts file system paths and URLs inside of file fields in the query portion. Multiple file fields can be specified. All values should be correctly URL-encoded. Additionally, the query may contain configuration options such as single-instance-behavior as defined in Configuration.

Example mpv URI:

mpv://play?file=https%3A%2F%2Fyoutu.be%2FXCs7FacjHQY&file=https%3A%2F%2Fyoutu.be%2FXCs7FacjHQY&single-instance-behavior=spam-windows

Configuration

mpv-launcher can be configured by creating a configuration file at %APPDATA%\mpv\mpv-launcher.conf. This file follows a similar syntax to mpv.conf.

Example configuration file:

single-instance-behavior=replace
sort-file-explorer-selection=yes
raise-existing-window=yes

Options

single-instance-behavior=<replace,append,new-window,spam-windows>

Configures single instance behavior. Supports the following options:

  • replace (default)
    Opening new files will replace media playing in the existing window with a new playlist. This is the default mpv behavior on macOS.
  • append
    Opening new files will append them to the playlist in the existing window.
  • new-window
    Opening new files will open them in a single new window.
    Windows opened with this option will not have their media replaced when new files are opened.
    This is the behavior for the Play in New Window right click menu option.
  • spam-windows
    Opening new files will open them in a new window for each individual file. This is the default mpv behavior on Windows.
    Windows opened with this option will not have their media replaced when new files are opened. This is the behavior for the Play All in Separate Windows Shift + right click menu option.

sort-file-explorer-selection=<yes,no>

Configures whether the names of selected files from File Explorer will be sorted before playing. File Explorer will list selected files from the item that was right clicked, rather than from the first item in the selection. This can be used to mitigate that behavior.

  • yes (default)
    Names of selected files will be naturally sorted.
  • no
    Names of selected files will be left in the order given by File Explorer.

raise-existing-window=<yes,no>

Configures whether existing windows opened in single instance mode will be raised and brought to front when opening a new file.

  • yes (default)
    Existing windows will be raised.
  • no
    Existing windows will not be raised.

mpv project

mpv is mostly a dummy project for packaging existing mpv releases. By putting mpv.exe and relevant files in mpv\prebuilt\x64 and mpv\prebuilt\x86, the files will be automatically included in the package.

mpv-console-launcher

mpv-console-launcher is a slightly modified version of mpv.com which is hardcoded to look for the mpv executable which ships with the package. This is necessary because App Execution Alias functionality in MSIX packages requires every executable to be a .exe file.

mpv-msix's People

Contributors

silverezhik avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

mpv-msix's Issues

Cannot locate the configuration files

Hi, please inform the location of mpv.conf and input.conf. I could not find the installed location of mpv in program files. Neither there is a mpv folder in appdata of users.

Implement custom mpv.conf option

Similar to how you can customize the mpv-launcher behaviour by creating "%APPDATA%\mpv\mpv-launcher.conf",

would it be possible to add the ability to create a custom "mpv.conf" in the same location, to adjust the default player settings like the default window location/size and subtitle scaling?

Very neat UWP wrapper, thanks for you work! ๐ŸฆŠ

Instructions on how to use

Hi I am what one would call an idiot and do not understand how to use this. I have not been able to find any instructions on how to use/set this up, either that or I am out of my depth. is it only available through win store?

mpv version is outdated, can i update manually?

The version on microsoft store is outdated (there are some bugfixes in the new ones that i need) so, instead of updating it every time as it isn't still automatic, can i at least do it by myself manually, and if yes, how?

Need location of the installed mpv directory

Hi, I installed this variant of mpv from windows store. But I am not able to locate it anywhere in the program files folder. Please let me know where is it. I want to disable history and recently played.

Add mpv as one of the .gif players

It seems that there is no way to add mpv as a gif player. It doesn't show up in the possible players list and if i go to its path (the program files folder) it doesn't open up because i don't have the permission. If there is a way to set it up manually that would also be nice

How to open multiple files in ranger on wsl?

mpv-msix is great on Windows. I am using the Microsoft Store version.

I have rifle.conf for ranger set to open default programs on ranger and I have mpv-msix set as the default app for various file types.

But when I mark multiple files in ranger and then try to open them I get asked what application to use to open them and only get the Microsoft Store app as a choice, and within that the search term is 'usage'.

Is there any way to make this work?

CI for building updated packages

Currently there is no automation in place for building mpv-msix, but it would be great to automatically generate packages and publish them in the Microsoft Store, weekly or monthly.

Remove bundled mpv executable file

Now bundled mpv executable file is truely outdated. It's better to make mpv executable file independent so it can be updated seperately.

Add AVX2 support

I'm not sure if this is as simple as I'm thinking, but over at https://sourceforge.net/projects/mpv-player-windows/files/, that version has a separate "-v3" binary which is compiled at the gnu x86_64_v3 standard, which is mostly limited to Haswell and newer processors. There's AVX2-only code that doesn't get used if support at compile-time isn't enabled.

I really don't use visual studio or WAP or anything msix usually, but from my understanding, the "Release" binary doesn't enable AVX2 by default. Moreover, the Windows Store would have to install the correct version, AVX2 or non-AVX2.

I figured when this was updated to 0.37, you might just take a look at this. It might be as easy as enabling it under Project Property Pages | Configuration Properties | C/C++ | Code Generation | Enable Enhanced Instruction Set or simply including /arch:AVX2. Thanks for considering it!!

config-dir= in mpv-launcher.conf

can you use config-dir= in mpv-launcher.conf for example

config-dir=D:\mpv\config
single-instance-behavior=replace
sort-file-explorer-selection=yes
raise-existing-window=yes

ff2mpv compatible

The only scenario where I need a single instance feature is when watching network videos. The most convenient way to open network videos is with the ff2mpv browser add-on. I haven't found a way to get mpv-msix to work with ff2mpv - videos still open in different windows. How about adding compatibility with this add-on?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.