Compare commits
16 Commits
v7.1.1.3-b
...
v7.1.1.4-b
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f7c8c16344 | ||
|
|
b1fccbf175 | ||
|
|
cc1e4bc9f8 | ||
|
|
3812f3031c | ||
|
|
837f97d491 | ||
|
|
2dab825af4 | ||
|
|
a78c1ba50d | ||
|
|
50aea3b5ba | ||
|
|
6a971595f7 | ||
|
|
a1d944a9a0 | ||
|
|
8b49312bad | ||
|
|
95b279b0e9 | ||
|
|
01477d8b25 | ||
|
|
4e5182eb73 | ||
|
|
8d0b70a5dc | ||
|
|
37a241f136 |
@@ -54,7 +54,7 @@ jobs:
|
||||
- name: Download libmpv # In principle, only update this binary file when significant feature changes occur in mpv/mpv.net
|
||||
shell: msys2 {0}
|
||||
run: |
|
||||
wget -nv -O libmpv.7z https://github.com/zhongfly/mpv-winbuild/releases/download/2024-10-09-e09278c/mpv-dev-x86_64-20241009-git-e09278c.7z
|
||||
wget -nv -O libmpv.7z https://github.com/zhongfly/mpv-winbuild/releases/download/2025-05-03-e663cbc/mpv-dev-x86_64-20250503-git-e663cbc.7z
|
||||
7z x -y libmpv.7z -olibmpv
|
||||
cp -f libmpv/libmpv-2.dll src/MpvNet.Windows/bin/Debug/ || true
|
||||
- name: Download MediaInfo
|
||||
@@ -69,7 +69,7 @@ jobs:
|
||||
wget -nv -O mpvnet.com https://github.com/mpvnet-player/file-host/releases/download/tag/mpvnet.com.txt
|
||||
cp -f mpvnet.com src/MpvNet.Windows/bin/Debug/ || true
|
||||
- name: Upload
|
||||
uses: actions/upload-artifact@v3
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: "mpv.net-win64"
|
||||
path: src/MpvNet.Windows/bin/Debug/
|
||||
@@ -1,4 +1,23 @@
|
||||
|
||||
# v7.1.1.4 Beta (2025-10-05)
|
||||
|
||||
- Support for select.lua has been added. It's a new Lua script built
|
||||
directly into mpv like the osc console script. It's similar to command_palete.lua.
|
||||
- Fix --script-opt not working.
|
||||
- The mpv.net manual was updated.
|
||||
- The Turkish translation was updated. A Bulgarian translation was added.
|
||||
Thanks to the translators!
|
||||
- The required Dotnet version changed from 6.0 to 9.0. This drops Win 7 support
|
||||
unfortunately. It was done to use new C# language features and make
|
||||
the mpv.net project more attractive for new developers to contribute.
|
||||
Also most users prefer having the newest runtime.
|
||||
- auto build has been disabled because it requires updating libmpv and
|
||||
mediainfo all the time which is too much manual work.
|
||||
- The script src/Tools/update-mpv.ps1 has been improved. It's the easiest way
|
||||
update mpv and libmpv (x64 and ARM64). Shinshiro has a update script too,
|
||||
but it's a lot longer and more complex.
|
||||
- mediainfo and libmpv have been updated.
|
||||
|
||||
# v7.1.1.3 Beta (2024-10-20)
|
||||
|
||||
- Support for autocreate-playlist, video-exts, audio-exts, image-exts.
|
||||
|
||||
786
docs/manual.md
786
docs/manual.md
@@ -11,7 +11,7 @@ Table of contents
|
||||
* [Download](#download)
|
||||
* [Installation](#installation)
|
||||
* [Support](#support)
|
||||
* [Settings](#settings)
|
||||
* [Config Folder](#config-folder)
|
||||
* [Input and context menu](#input-and-context-menu)
|
||||
* [Command Line Interface](#command-line-interface)
|
||||
* [Terminal](#terminal)
|
||||
@@ -42,9 +42,7 @@ differences are documented in this manual under [Differences compared to mpv](#d
|
||||
Download
|
||||
--------
|
||||
|
||||
1. [Stable and beta portable and setup via GitHub download](../../../releases)
|
||||
2. Stable via command line with winget: `winget install mpv.net`
|
||||
3. [Automated nightly portable builds](https://github.com/mpvnet-player/mpv.net/actions)
|
||||
[Stable and beta portable and setup via GitHub download](../../../releases)
|
||||
|
||||
[Changelog](changelog.md)
|
||||
|
||||
@@ -52,6 +50,8 @@ Download
|
||||
Installation
|
||||
------------
|
||||
|
||||
#### Requirements
|
||||
|
||||
1. Windows 10 or higher.
|
||||
2. [.NET Desktop Runtime 6.0](https://dotnet.microsoft.com/en-us/download/dotnet/6.0)
|
||||
|
||||
@@ -59,30 +59,34 @@ Internet streaming requires:
|
||||
|
||||
- Downloading [yt-dlp](https://github.com/yt-dlp/yt-dlp) and adding its folder
|
||||
to the [user environment variable PATH](https://www.google.com/search?q=user+environment+variable+PATH).
|
||||
Alternativly the yt-dlp executable can be saved in the mpv.net executable folder.
|
||||
- In case of proxy server usage, [manual configuration](https://github.com/mpvnet-player/mpv.net/issues/401).
|
||||
|
||||
#### File Associations
|
||||
|
||||
File Associations can be registered using the context menu under 'Settings > Setup'.
|
||||
File Associations can be registered using the context menu under `Config > Setup`.
|
||||
|
||||
After the file associations were registered, it might still be necessary to change the
|
||||
default app in the Windows settings.
|
||||
|
||||
Another way to register file associations is using Windows File Explorer,
|
||||
select a media file and select 'Open with > Choose another app' in the context menu.
|
||||
select a media file and select `Open with > Choose another app` in the context menu.
|
||||
|
||||
[Open with++](#open-with) can be used to extend the File Explorer context menu
|
||||
to get menu items for [Play with mpv.net](https://github.com/stax76/OpenWithPlusPlus#play-with-mpvnet) and
|
||||
[Add to mpv.net playlist](https://github.com/stax76/OpenWithPlusPlus#add-to-mpvnet-playlist).
|
||||
|
||||
When multiple files are selected in File Explorer and enter is pressed then
|
||||
the files are opened in mpv.net in random order, this works with maximum 15 files.
|
||||
Alternativly the `Send To` feature of Windows File Explorer can be used.
|
||||
|
||||
#### Path environment variable
|
||||
|
||||
In order to use mpv.net in a terminal for advanced use cases,
|
||||
mpv.net must be added to the Path environment variable,
|
||||
this can be achieved with the context menu (Settings/Setup).
|
||||
mpv.net can be added to the Path environment variable, it allows
|
||||
to run mpv.net in a terminal by typing `mpvnet`. The easiest way
|
||||
to add mpv.net to path is:
|
||||
|
||||
`Context Menu > Config > Setup > Add mpv.net to Path environment variable`
|
||||
|
||||
For more information see the [terminal section](#terminal).
|
||||
|
||||
Support
|
||||
-------
|
||||
@@ -103,9 +107,11 @@ Advanced mpv questions:
|
||||
|
||||
https://github.com/mpv-player/mpv/issues
|
||||
|
||||
https://github.com/mpv-player/mpv/discussions
|
||||
|
||||
Settings
|
||||
--------
|
||||
|
||||
Config Folder
|
||||
-------------
|
||||
|
||||
mpv.net searches the config folder at:
|
||||
|
||||
@@ -113,9 +119,17 @@ mpv.net searches the config folder at:
|
||||
2. startup\portable_config (startup means the directory containing mpvnet.exe)
|
||||
3. `%APPDATA%\mpv.net` (`C:\Users\Username\AppData\Roaming\mpv.net`)
|
||||
|
||||
mpv options are stored in the file mpv.conf,
|
||||
mpv.net options are stored in the file mpvnet.conf,
|
||||
mpv.net options are documented [here](#mpvnet-specific-options).
|
||||
The config folder can be easily opened with:
|
||||
|
||||
`Context Menu > Config > Open Config Folder`
|
||||
|
||||
The most important files and folders in the config folder are:
|
||||
|
||||
- `mpv.conf` file containing the mpv configuration.
|
||||
- `mpvnet.conf` file containing the mpv.net configuration.
|
||||
- `input.conf` file containing mpv key and mouse input bindings.
|
||||
- `scripts` folder containing mpv user scripts.
|
||||
- `script-opts` folder containing user scripts configuration files.
|
||||
|
||||
|
||||
Input and context menu
|
||||
@@ -123,13 +137,13 @@ Input and context menu
|
||||
|
||||
Global keyboard shortcuts are supported via `global-input.conf` file.
|
||||
|
||||
The config folder can be opened from the context menu: `Settings > Open Config Folder`
|
||||
The config folder can be opened from the context menu: `Config > Open Config Folder`
|
||||
|
||||
A input and config editor can be found in the context menu under 'Settings'.
|
||||
A input and config editor can be found in the context menu under `Config`.
|
||||
|
||||
The input test mode can be started via command line: --input-test
|
||||
The input test mode can be started via command line: `--input-test`
|
||||
|
||||
The input key list can be printed with --input-keylist
|
||||
The input key list can be printed with `--input-keylist`.
|
||||
|
||||
mpv input.conf defaults:
|
||||
https://github.com/mpv-player/mpv/blob/master/etc/input.conf
|
||||
@@ -201,14 +215,11 @@ Terminal
|
||||
When mpv.net is started from a terminal it will output status,
|
||||
error and debug messages to the terminal and accept input keys from the terminal.
|
||||
|
||||
|
||||
mpv.net specific commands
|
||||
-------------------------
|
||||
|
||||
`script-message-to mpvnet <command> <arguments>`
|
||||
|
||||
mpv.net commands are used when mpv commands don't exist or lack a feature.
|
||||
|
||||
### add-to-path
|
||||
Adds mpv.net to the Path environment variable.
|
||||
|
||||
@@ -221,9 +232,19 @@ Opens mpv.conf or input.conf in a text editor.
|
||||
### load-audio
|
||||
Shows a file browser dialog to open external audio files.
|
||||
|
||||
For automatic detection of external audio files based on the file name,
|
||||
use the mpv option `audio-file-auto`, it can be found it the config dialog:
|
||||
|
||||
`Context Menu > Config > Show Config Editor > Audio > audio-file-auto`
|
||||
|
||||
### load-sub
|
||||
Shows a file browser dialog to open external subtitle files.
|
||||
|
||||
For automatic detection of external subtitle files based on the file name,
|
||||
use the mpv option `sub-auto`, it can be found it the config dialog:
|
||||
|
||||
`Context Menu > Config > Show Config Editor > Subtitles > sub-auto`
|
||||
|
||||
### move-window [left|top|right|bottom|center]
|
||||
Moves the Window to the screen edge (Alt+Arrow) or center (Alt+BS).
|
||||
|
||||
@@ -236,7 +257,9 @@ Appends files to the playlist.
|
||||
|
||||
Opens a file browser dialog in order to select files to be opened.
|
||||
The file browser dialog supports multiselect to load multiple files
|
||||
at once. Pressing CTRL appends the files to the playlist.
|
||||
at once.
|
||||
|
||||
Supported are media files and Blu-ray and DVD ISO image files.
|
||||
|
||||
### open-optical-media
|
||||
Shows a folder browser dialog to open a DVD or BD folder.
|
||||
@@ -244,8 +267,8 @@ ISO images don't have to be mounted, but instead can be
|
||||
opened directly with the open-files command.
|
||||
|
||||
### open-clipboard [\<flags\>]
|
||||
Opens a single URL or filepath from the clipboard,
|
||||
or multiple files in the file clipboard format.
|
||||
Opens URLs or filepaths from the clipboard,
|
||||
or files in the file clipboard format.
|
||||
|
||||
**append**
|
||||
Appends files/URLs to the playlist.
|
||||
@@ -514,14 +537,15 @@ Alternatively the Chrome/Firefox extension [Open With](../../../issues/119) can
|
||||
[Open with++](https://github.com/stax76/OpenWithPlusPlus) can be used to extend the File Explorer context menu to get menu items for [Play with mpv.net](https://github.com/stax76/OpenWithPlusPlus#play-with-mpvnet) and [Add to mpv.net playlist](https://github.com/stax76/OpenWithPlusPlus#add-to-mpvnet-playlist).
|
||||
|
||||
|
||||
### External Application Button
|
||||
### External Application Launcher
|
||||
|
||||
Videos can be streamed or downloaded easily with the Chrome extension
|
||||
External Application Button, for download (recommended):
|
||||
[External Application Launcher](https://chromewebstore.google.com/detail/external-application-laun/bifmfjgpgndemajpeeoiopbeilbaifdo),
|
||||
for download (recommended):
|
||||
|
||||
path: `wt`
|
||||
|
||||
args: `-- pwsh -NoLogo -Command "yt-dlp --ignore-errors --download-archive 'C:\External Application Button.txt' --output 'C:\YouTube\%(channel)s - %(title)s.%(ext)s' ('[HREF]' -replace '&list=.+','')"`
|
||||
args: `-- powershell -NoLogo -Command "yt-dlp --ignore-errors --download-archive 'C:\External Application Button.txt' --output 'C:\YouTube\%(channel)s - %(title)s.%(ext)s' ('[HREF]' -replace '&list=.+','')"`
|
||||
|
||||
|
||||
Scripting
|
||||
@@ -562,9 +586,9 @@ Custom themes can be saved at:
|
||||
|
||||
`<conf folder>\theme.conf`
|
||||
|
||||
The theme.conf file may contain an unlimited amount of themes.
|
||||
The theme.conf file may contain multiple themes.
|
||||
|
||||
In the config editor under UI there are the settings dark-theme and
|
||||
In the config editor under UI there are the options dark-theme and
|
||||
light-theme to define the themes used in dark and in light mode.
|
||||
|
||||
|
||||
@@ -589,7 +613,7 @@ Differences compared to mpv
|
||||
mpv.net is designed to work exactly like mpv, there are a few
|
||||
differences and limitations:
|
||||
|
||||
The settings folder is named `mpv.net` instead of `mpv`:
|
||||
The configuration folder is named `mpv.net` instead of `mpv`:
|
||||
|
||||
`C:\Users\username\AppData\Roaming\mpv.net`
|
||||
|
||||
@@ -707,7 +731,7 @@ Environment Variables
|
||||
|
||||
### MPVNET_HOME
|
||||
|
||||
Directory where mpv.net looks for user settings.
|
||||
Directory where mpv.net looks for the user configuration.
|
||||
|
||||
|
||||
user-data
|
||||
@@ -729,700 +753,6 @@ Work on the translation is done with transifex, translators have to create a tra
|
||||
|
||||
https://app.transifex.com/stax76/teams/
|
||||
|
||||
For questions visit:
|
||||
For translation questions visit:
|
||||
|
||||
https://github.com/mpvnet-player/mpv.net/issues/576
|
||||
|
||||
Context Menu Commands
|
||||
---------------------
|
||||
|
||||
### Open > Open Files
|
||||
|
||||
The Open Files menu entry is one way to open files in mpv.net, it supports multi selection.
|
||||
|
||||
Another way to open files is the command line which is used by
|
||||
File Explorer for existing associations.
|
||||
|
||||
A third way is to drag and drop files on the main window.
|
||||
|
||||
Blu-ray and DVD ISO image files are supported.
|
||||
|
||||
|
||||
### Open > Open URL or file path from clipboard
|
||||
|
||||
Opens files and URLs from the clipboard. Shift key appends to the playlist.
|
||||
How to open URLs directly from the browser from sites like YouTube is described in the
|
||||
[External Tools section](#external-tools).
|
||||
|
||||
|
||||
### Open > Open DVD/Blu-ray Drive/Folder
|
||||
|
||||
Opens a DVD/Blu-ray Drive/Folder.
|
||||
|
||||
|
||||
### Open > Load external audio files
|
||||
|
||||
Allows to load an external audio file. It's also possible to auto detect
|
||||
external audio files based on the file name, the option for this can be
|
||||
found in the settings under 'Settings > Show Config Editor > Audio > audio-file-auto'.
|
||||
|
||||
|
||||
### Open > Load external subtitle files
|
||||
|
||||
Allows to load an external subtitle file. It's also possible to auto detect
|
||||
external subtitle files based on the file name, the option for this can be
|
||||
found in the settings under 'Settings > Show Config Editor > Subtitles > sub-auto'.
|
||||
|
||||
|
||||
### Play/Pause
|
||||
|
||||
Play/Pause using the command:
|
||||
|
||||
`cycle pause`
|
||||
|
||||
[cycle command](https://mpv.io/manual/master/#command-interface-cycle-%3Cname%3E-[%3Cvalue%3E])
|
||||
|
||||
[pause property](https://mpv.io/manual/master/#options-pause)
|
||||
|
||||
|
||||
### Stop
|
||||
|
||||
Stops the player and unloads the playlist using the command:
|
||||
|
||||
`stop`
|
||||
|
||||
[stop command](https://mpv.io/manual/master/#command-interface-stop)
|
||||
|
||||
|
||||
### Toggle Fullscreen
|
||||
|
||||
Toggles fullscreen using the command:
|
||||
|
||||
`cycle fullscreen`
|
||||
|
||||
[cycle command](https://mpv.io/manual/master/#command-interface-cycle-%3Cname%3E-[%3Cvalue%3E])
|
||||
|
||||
[fullscreen property](https://mpv.io/manual/master/#options-fs)
|
||||
|
||||
|
||||
### Navigate > Previous File
|
||||
|
||||
Navigates to the previous file in the playlist using the command:
|
||||
|
||||
`playlist-prev`
|
||||
|
||||
[playlist-prev command](https://mpv.io/manual/master/#command-interface-playlist-prev)
|
||||
|
||||
|
||||
### Navigate > Next File
|
||||
|
||||
Navigates to the next file in the playlist using the command:
|
||||
|
||||
`playlist-next`
|
||||
|
||||
[playlist-next command](https://mpv.io/manual/master/#command-interface-playlist-next)
|
||||
|
||||
|
||||
### Navigate > Next Chapter
|
||||
|
||||
Navigates to the next chapter using the command:
|
||||
|
||||
`add chapter 1`
|
||||
|
||||
[add command](https://mpv.io/manual/master/#command-interface-add-%3Cname%3E-[%3Cvalue%3E])
|
||||
|
||||
[chapter property](https://mpv.io/manual/master/#command-interface-chapter)
|
||||
|
||||
|
||||
### Navigate > Previous Chapter
|
||||
|
||||
Navigates to the previous chapter using the command:
|
||||
|
||||
`add chapter -1`
|
||||
|
||||
[add command](https://mpv.io/manual/master/#command-interface-add-%3Cname%3E-[%3Cvalue%3E])
|
||||
|
||||
[chapter property](https://mpv.io/manual/master/#command-interface-chapter)
|
||||
|
||||
|
||||
### Navigate > Jump Next Frame
|
||||
|
||||
Jumps to the next frame using the command:
|
||||
|
||||
`frame-step`
|
||||
|
||||
[frame-step command](https://mpv.io/manual/master/#command-interface-frame-step)
|
||||
|
||||
|
||||
### Navigate > Jump Previous Frame
|
||||
|
||||
Jumps to the previous frame using the command:
|
||||
|
||||
`frame-back-step`
|
||||
|
||||
[frame-back-step command](https://mpv.io/manual/master/#command-interface-frame-back-step)
|
||||
|
||||
|
||||
### Navigate > Jump
|
||||
|
||||
Seeking using the command:
|
||||
|
||||
`no-osd seek sec`
|
||||
|
||||
sec is the relative amount of seconds to jump, the no-osd prefix
|
||||
is used because mpv.net includes a script that shows the position
|
||||
when a seek operation is performed, the script uses a more simple
|
||||
time format.
|
||||
|
||||
[no-osd command prefix](https://mpv.io/manual/master/#command-interface-no-osd)
|
||||
|
||||
[seek command](https://mpv.io/manual/master/#command-interface-seek-%3Ctarget%3E-[%3Cflags%3E])
|
||||
|
||||
|
||||
### Pan & Scan > Increase Size
|
||||
|
||||
Adds video zoom using the command:
|
||||
|
||||
`add video-zoom 0.1`
|
||||
|
||||
[add command](https://mpv.io/manual/master/#command-interface-add-%3Cname%3E-[%3Cvalue%3E])
|
||||
|
||||
[video-zoom property](https://mpv.io/manual/master/#options-video-zoom)
|
||||
|
||||
|
||||
### Pan & Scan > Decrease Size
|
||||
|
||||
Adds negative video zoom using the command:
|
||||
|
||||
`add video-zoom -0.1`
|
||||
|
||||
[add command](https://mpv.io/manual/master/#command-interface-add-%3Cname%3E-[%3Cvalue%3E])
|
||||
|
||||
[video-zoom property](https://mpv.io/manual/master/#options-video-zoom)
|
||||
|
||||
|
||||
### Pan & Scan > Move Left
|
||||
|
||||
`add video-pan-x -0.01`
|
||||
|
||||
[add command](https://mpv.io/manual/master/#command-interface-add-%3Cname%3E-[%3Cvalue%3E])
|
||||
|
||||
[video-pan-x, video-pan-y property](https://mpv.io/manual/master/#options-video-pan-y)
|
||||
|
||||
|
||||
### Pan & Scan > Move Right
|
||||
|
||||
`add video-pan-x 0.01`
|
||||
|
||||
[add command](https://mpv.io/manual/master/#command-interface-add-%3Cname%3E-[%3Cvalue%3E])
|
||||
|
||||
[video-pan-x, video-pan-y property](https://mpv.io/manual/master/#options-video-pan-y)
|
||||
|
||||
|
||||
### Pan & Scan > Move Up
|
||||
|
||||
`add video-pan-y -0.01`
|
||||
|
||||
[add command](https://mpv.io/manual/master/#command-interface-add-%3Cname%3E-[%3Cvalue%3E])
|
||||
|
||||
[video-pan-x, video-pan-y property](https://mpv.io/manual/master/#options-video-pan-y)
|
||||
|
||||
|
||||
### Pan & Scan > Move Down
|
||||
|
||||
`add video-pan-y 0.01`
|
||||
|
||||
[add command](https://mpv.io/manual/master/#command-interface-add-%3Cname%3E-[%3Cvalue%3E])
|
||||
|
||||
[video-pan-x, video-pan-y property](https://mpv.io/manual/master/#options-video-pan-y)
|
||||
|
||||
|
||||
### Pan & Scan > Decrease Height
|
||||
|
||||
`add panscan -0.1`
|
||||
|
||||
[add command](https://mpv.io/manual/master/#command-interface-add-%3Cname%3E-[%3Cvalue%3E])
|
||||
|
||||
[panscan property](https://mpv.io/manual/master/#options-panscan)
|
||||
|
||||
|
||||
### Pan & Scan > Increase Height
|
||||
|
||||
`add panscan 0.1`
|
||||
|
||||
[add command](https://mpv.io/manual/master/#command-interface-add-%3Cname%3E-[%3Cvalue%3E])
|
||||
|
||||
[panscan property](https://mpv.io/manual/master/#options-panscan)
|
||||
|
||||
|
||||
### Pan & Scan > Reset
|
||||
|
||||
Resets Pan & Scan, multiple commands in the same line are separated with semicolon.
|
||||
|
||||
`set video-zoom 0; set video-pan-x 0; set video-pan-y 0`
|
||||
|
||||
[video-zoom property](https://mpv.io/manual/master/#options-video-zoom)
|
||||
|
||||
[video-pan-x, video-pan-y property](https://mpv.io/manual/master/#options-video-pan-y)
|
||||
|
||||
|
||||
### Video > Decrease Contrast
|
||||
|
||||
Decreases contrast with the following command:
|
||||
|
||||
`add contrast -1`
|
||||
|
||||
[add command](https://mpv.io/manual/master/#command-interface-add-%3Cname%3E-[%3Cvalue%3E])
|
||||
|
||||
[contrast property](https://mpv.io/manual/master/#options-contrast)
|
||||
|
||||
|
||||
### Video > Increase Contrast
|
||||
|
||||
Increases contrast with the following command:
|
||||
|
||||
`add contrast 1`
|
||||
|
||||
[add command](https://mpv.io/manual/master/#command-interface-add-%3Cname%3E-[%3Cvalue%3E])
|
||||
|
||||
[contrast property](https://mpv.io/manual/master/#options-contrast)
|
||||
|
||||
|
||||
### Video > Decrease Brightness
|
||||
|
||||
Decreases brightness using the following command:
|
||||
|
||||
`add brightness -1`
|
||||
|
||||
[add command](https://mpv.io/manual/master/#command-interface-add-%3Cname%3E-[%3Cvalue%3E])
|
||||
|
||||
[brightness property](https://mpv.io/manual/master/#options-brightness)
|
||||
|
||||
|
||||
### Video > Increase Brightness
|
||||
|
||||
Increases brightness using the following command:
|
||||
|
||||
`add brightness 1`
|
||||
|
||||
[add command](https://mpv.io/manual/master/#command-interface-add-%3Cname%3E-[%3Cvalue%3E])
|
||||
|
||||
[brightness property](https://mpv.io/manual/master/#options-brightness)
|
||||
|
||||
|
||||
### Video > Decrease Gamma
|
||||
|
||||
Decreases gamma using the following command:
|
||||
|
||||
`add gamma -1`
|
||||
|
||||
[add command](https://mpv.io/manual/master/#command-interface-add-%3Cname%3E-[%3Cvalue%3E])
|
||||
|
||||
[gamma property](https://mpv.io/manual/master/#options-gamma)
|
||||
|
||||
|
||||
### Video > Increase Gamma
|
||||
|
||||
Increases gamma using the following command:
|
||||
|
||||
`add gamma 1`
|
||||
|
||||
[add command](https://mpv.io/manual/master/#command-interface-add-%3Cname%3E-[%3Cvalue%3E])
|
||||
|
||||
[gamma property](https://mpv.io/manual/master/#options-gamma)
|
||||
|
||||
|
||||
### Video > Decrease Saturation
|
||||
|
||||
Decreases saturation using the following command:
|
||||
|
||||
`add saturation -1`
|
||||
|
||||
[add command](https://mpv.io/manual/master/#command-interface-add-%3Cname%3E-[%3Cvalue%3E])
|
||||
|
||||
[saturation property](https://mpv.io/manual/master/#options-saturation)
|
||||
|
||||
|
||||
### Video > Increase Saturation
|
||||
|
||||
Increases saturation using the following command:
|
||||
|
||||
`add saturation 1`
|
||||
|
||||
[add command](https://mpv.io/manual/master/#command-interface-add-%3Cname%3E-[%3Cvalue%3E])
|
||||
|
||||
[saturation property](https://mpv.io/manual/master/#options-saturation)
|
||||
|
||||
|
||||
### Video > Take Screenshot
|
||||
|
||||
`async screenshot`
|
||||
|
||||
[async command prefix](https://mpv.io/manual/master/#command-interface-async)
|
||||
|
||||
[screenshot command](https://mpv.io/manual/master/#command-interface-screenshot-%3Cflags%3E)
|
||||
|
||||
|
||||
### Video > Toggle Deinterlace
|
||||
|
||||
Cycles the deinterlace property using the following command:
|
||||
|
||||
`cycle deinterlace`
|
||||
|
||||
[cycle command](https://mpv.io/manual/master/#command-interface-cycle-%3Cname%3E-[%3Cvalue%3E])
|
||||
|
||||
[deinterlace property](https://mpv.io/manual/master/#options-deinterlace)
|
||||
|
||||
|
||||
### Video > Cycle Aspect Ratio
|
||||
|
||||
Cycles the aspect ratio using the following command:
|
||||
|
||||
`cycle-values video-aspect-override 16:9 4:3 2.35:1 0 -1`
|
||||
|
||||
[cycle-values command](https://mpv.io/manual/master/#command-interface-cycle-values)
|
||||
|
||||
[video-aspect property](https://mpv.io/manual/master/#options-video-aspect-override)
|
||||
|
||||
|
||||
### Audio > Next
|
||||
|
||||
This uses a mpv.net command that shows better info then the mpv preset
|
||||
and also has the advantage of not showing no audio.
|
||||
|
||||
|
||||
### Audio > Delay +0.1
|
||||
|
||||
Adds a audio delay using the following command:
|
||||
|
||||
`add audio-delay 0.1`
|
||||
|
||||
[add command](https://mpv.io/manual/master/#command-interface-add-%3Cname%3E-[%3Cvalue%3E])
|
||||
|
||||
[audio-delay property](https://mpv.io/manual/master/#options-audio-delay)
|
||||
|
||||
|
||||
### Audio > Delay -0.1
|
||||
|
||||
Adds a negative audio delay using the following command:
|
||||
|
||||
`add audio-delay -0.1`
|
||||
|
||||
[add command](https://mpv.io/manual/master/#command-interface-add-%3Cname%3E-[%3Cvalue%3E])
|
||||
|
||||
[audio-delay property](https://mpv.io/manual/master/#options-audio-delay)
|
||||
|
||||
|
||||
### Subtitle > Toggle Visibility
|
||||
|
||||
Cycles the subtitle visibility using the following command:
|
||||
|
||||
`cycle sub-visibility`
|
||||
|
||||
[cycle command](https://mpv.io/manual/master/#command-interface-cycle-%3Cname%3E-[%3Cvalue%3E])
|
||||
|
||||
[sub-visibility property](https://mpv.io/manual/master/#options-no-sub-visibility)
|
||||
|
||||
|
||||
### Subtitle > Delay -0.1
|
||||
|
||||
Adds a negative subtitle delay using the following command:
|
||||
|
||||
`add sub-delay -0.1`
|
||||
|
||||
[add command](https://mpv.io/manual/master/#command-interface-add-%3Cname%3E-[%3Cvalue%3E])
|
||||
|
||||
[sub-delay property](https://mpv.io/manual/master/#options-sub-delay)
|
||||
|
||||
|
||||
### Subtitle > Delay 0.1
|
||||
|
||||
Adds a positive subtitle delay using the following command:
|
||||
|
||||
`add sub-delay 0.1`
|
||||
|
||||
[add command](https://mpv.io/manual/master/#command-interface-add-%3Cname%3E-[%3Cvalue%3E])
|
||||
|
||||
[sub-delay property](https://mpv.io/manual/master/#options-sub-delay)
|
||||
|
||||
|
||||
### Subtitle > Move Up
|
||||
|
||||
Moves the subtitle up using the following command:
|
||||
|
||||
`add sub-pos -1`
|
||||
|
||||
[add command](https://mpv.io/manual/master/#command-interface-add-%3Cname%3E-[%3Cvalue%3E])
|
||||
|
||||
[sub-pos property](https://mpv.io/manual/master/#options-sub-pos)
|
||||
|
||||
|
||||
### Subtitle > Move Down
|
||||
|
||||
Moves the subtitle down using the following command:
|
||||
|
||||
`add sub-pos 1`
|
||||
|
||||
[add command](https://mpv.io/manual/master/#command-interface-add-%3Cname%3E-[%3Cvalue%3E])
|
||||
|
||||
[sub-pos property](https://mpv.io/manual/master/#options-sub-pos)
|
||||
|
||||
|
||||
### Subtitle > Decrease Subtitle Font Size
|
||||
|
||||
Decreases the subtitle font size using the following command:
|
||||
|
||||
`add sub-scale -0.1`
|
||||
|
||||
[add command](https://mpv.io/manual/master/#command-interface-add-%3Cname%3E-[%3Cvalue%3E])
|
||||
|
||||
[sub-scale property](https://mpv.io/manual/master/#options-sub-scale)
|
||||
|
||||
|
||||
### Subtitle > Increase Subtitle Font Size
|
||||
|
||||
Increases the subtitle font size using the following command:
|
||||
|
||||
`add sub-scale 0.1`
|
||||
|
||||
[add command](https://mpv.io/manual/master/#command-interface-add-%3Cname%3E-[%3Cvalue%3E])
|
||||
|
||||
[sub-scale property](https://mpv.io/manual/master/#options-sub-scale)
|
||||
|
||||
|
||||
### Volume > Up
|
||||
|
||||
Increases the volume using the following command:
|
||||
|
||||
`add volume 2`
|
||||
|
||||
[add command](https://mpv.io/manual/master/#command-interface-add-%3Cname%3E-[%3Cvalue%3E])
|
||||
|
||||
[volume property](https://mpv.io/manual/master/#options-volume)
|
||||
|
||||
|
||||
### Volume > Down
|
||||
|
||||
Decreases the volume using the following command:
|
||||
|
||||
`add volume -2`
|
||||
|
||||
[add command](https://mpv.io/manual/master/#command-interface-add-%3Cname%3E-[%3Cvalue%3E])
|
||||
|
||||
[volume property](https://mpv.io/manual/master/#options-volume)
|
||||
|
||||
|
||||
### Volume > Mute
|
||||
|
||||
Cycles the mute property using the following command:
|
||||
|
||||
`cycle mute`
|
||||
|
||||
[cycle command](https://mpv.io/manual/master/#command-interface-cycle-%3Cname%3E-[%3Cvalue%3E])
|
||||
|
||||
[mute property](https://mpv.io/manual/master/#options-mute)
|
||||
|
||||
|
||||
### Speed > -10%
|
||||
|
||||
Decreases the speed by 10% using the following command:
|
||||
|
||||
`multiply speed 1/1.1`
|
||||
|
||||
[multiply command](https://mpv.io/manual/master/#command-interface-multiply-%3Cname%3E-%3Cvalue%3E)
|
||||
|
||||
[speed property](https://mpv.io/manual/master/#options-speed)
|
||||
|
||||
|
||||
### Speed > 10%
|
||||
|
||||
Increases the speed by 10% using the following command:
|
||||
|
||||
`multiply speed 1.1`
|
||||
|
||||
[multiply command](https://mpv.io/manual/master/#command-interface-multiply-%3Cname%3E-%3Cvalue%3E)
|
||||
|
||||
[speed property](https://mpv.io/manual/master/#options-speed)
|
||||
|
||||
|
||||
### Speed > Half
|
||||
|
||||
Halfs the speed using the following command:
|
||||
|
||||
`multiply speed 0.5`
|
||||
|
||||
[multiply command](https://mpv.io/manual/master/#command-interface-multiply-%3Cname%3E-%3Cvalue%3E)
|
||||
|
||||
[speed property](https://mpv.io/manual/master/#options-speed)
|
||||
|
||||
|
||||
### Speed > Double
|
||||
|
||||
Doubles the speed using the following command:
|
||||
|
||||
`multiply speed 2`
|
||||
|
||||
[multiply command](https://mpv.io/manual/master/#command-interface-multiply-%3Cname%3E-%3Cvalue%3E)
|
||||
|
||||
[speed property](https://mpv.io/manual/master/#options-speed)
|
||||
|
||||
|
||||
### Speed > Reset
|
||||
|
||||
Resets the speed using the following command:
|
||||
|
||||
`set speed 1`
|
||||
|
||||
[set command](https://mpv.io/manual/master/#command-interface-set-%3Cname%3E-%3Cvalue%3E)
|
||||
|
||||
[speed property](https://mpv.io/manual/master/#options-speed)
|
||||
|
||||
|
||||
### View > On Top > Enable
|
||||
|
||||
Forces the player to stay on top of other windows using the following command:
|
||||
|
||||
`set ontop yes`
|
||||
|
||||
[set command](https://mpv.io/manual/master/#command-interface-set-%3Cname%3E-%3Cvalue%3E)
|
||||
|
||||
[ontop property](https://mpv.io/manual/master/#options-ontop)
|
||||
|
||||
|
||||
### View > On Top > Disable
|
||||
|
||||
Disables the player to stay on top of other windows using the following command:
|
||||
|
||||
`set ontop no`
|
||||
|
||||
[set command](https://mpv.io/manual/master/#command-interface-set-%3Cname%3E-%3Cvalue%3E)
|
||||
|
||||
[ontop property](https://mpv.io/manual/master/#options-ontop)
|
||||
|
||||
|
||||
### View > File Info
|
||||
|
||||
Shows info using a mpv.net command about the current file, shows length, position, formats, size and filename.
|
||||
|
||||
|
||||
### View > Show Statistics
|
||||
|
||||
Show statistics using the following command:
|
||||
|
||||
`script-binding stats/display-stats`
|
||||
|
||||
[script-binding command](https://mpv.io/manual/master/#command-interface-script-binding)
|
||||
|
||||
|
||||
### View > Toggle Statistics
|
||||
|
||||
Toggles statistics using the following command:
|
||||
|
||||
`script-binding stats/display-stats-toggle`
|
||||
|
||||
[script-binding command](https://mpv.io/manual/master/#command-interface-script-binding)
|
||||
|
||||
|
||||
### View > Toggle OSC Visibility
|
||||
|
||||
Toggles OSC Visibility using the following command:
|
||||
|
||||
`script-binding osc/visibility`
|
||||
|
||||
[script-binding command](https://mpv.io/manual/master/#command-interface-script-binding)
|
||||
|
||||
|
||||
### Settings > Show Config Editor
|
||||
|
||||
Shows mpv.net's config editor.
|
||||
|
||||
|
||||
### Settings > Show Input Editor
|
||||
|
||||
Shows mpv.net's key binding editor.
|
||||
|
||||
|
||||
### Settings > Open Config Folder
|
||||
|
||||
Opens the config folder which contains:
|
||||
|
||||
mpv.conf file containing mpv settings
|
||||
|
||||
mpvnet.conf file containing mpv.net settings
|
||||
|
||||
input.conf containing mpv key and mouse bindings
|
||||
|
||||
User scripts and user extensions
|
||||
|
||||
### Tools > Set/clear A-B loop points
|
||||
|
||||
Enables to set loop start and end points using the following command:
|
||||
|
||||
`ab-loop`
|
||||
|
||||
[ab-loop command](https://mpv.io/manual/master/#command-interface-ab-loop)
|
||||
|
||||
|
||||
### Tools > Toggle infinite file looping
|
||||
|
||||
Loops the current file infinitely using the following command:
|
||||
|
||||
`cycle-values loop-file "inf" "no"`
|
||||
|
||||
[cycle-values command](https://mpv.io/manual/master/#command-interface-cycle-values)
|
||||
|
||||
[loop-file command](https://mpv.io/manual/master/#options-loop)
|
||||
|
||||
|
||||
### Tools > Toggle Hardware Decoding
|
||||
|
||||
Cycles the hwdec property to enable/disable hardware decoding using the following command:
|
||||
|
||||
`cycle-values hwdec "auto" "no"`
|
||||
|
||||
[cycle-values command](https://mpv.io/manual/master/#command-interface-cycle-values)
|
||||
|
||||
[hwdec property](https://mpv.io/manual/master/#options-hwdec)
|
||||
|
||||
|
||||
### Tools > Setup
|
||||
|
||||
Allows to manage file associations.
|
||||
|
||||
|
||||
### Help > Show mpv manual
|
||||
|
||||
Shows the [mpv manual](https://mpv.io/manual/stable/).
|
||||
|
||||
|
||||
### Help > Show mpv.net web site
|
||||
|
||||
Shows the [mpv.net web site](https://github.com/mpvnet-player/mpv.net).
|
||||
|
||||
|
||||
### Help > Show mpv.net manual
|
||||
|
||||
Shows the [mpv.net manual](https://github.com/mpvnet-player/mpv.net/blob/main/docs/manual.md).
|
||||
|
||||
|
||||
### Help > About mpv.net
|
||||
|
||||
Shows the mpv.net about dialog which shows a copyright notice, the versions of mpv.net and libmpv and a license notice (GPL v2).
|
||||
|
||||
|
||||
### Exit
|
||||
|
||||
Exits mpv.net using the following command:
|
||||
|
||||
`quit`
|
||||
|
||||
[quit command](https://mpv.io/manual/master/#command-interface-quit-[%3Ccode%3E])
|
||||
|
||||
|
||||
### Exit Watch Later
|
||||
|
||||
Exits mpv.net and remembers the position in the file using the following command:
|
||||
|
||||
`quit-watch-later`
|
||||
|
||||
[quit-watch-later command](https://mpv.io/manual/master/#command-interface-quit-watch-later)
|
||||
|
||||
937
lang/po/bg.po
Normal file
937
lang/po/bg.po
Normal file
@@ -0,0 +1,937 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-07-25 10:31+0200\n"
|
||||
"PO-Revision-Date: 2024-12-02 16:36+0200\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"Language: bg\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: \n"
|
||||
"X-Generator: Poedit 3.4.4\n"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:12
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:13
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:14
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:15
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:16
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:17
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:18
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:19
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:20
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:21
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:22
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:23
|
||||
msgid "File"
|
||||
msgstr "Файл"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:12
|
||||
msgid "Open Files..."
|
||||
msgstr "Отвори файлове..."
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:13
|
||||
msgid "Open URL or file from clipboard"
|
||||
msgstr "Отвори URL или файл от клипборда"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:14
|
||||
msgid "Open DVD/Blu-ray Drive/Folder..."
|
||||
msgstr "Отвори DVD/Blu-ray устройство/папка..."
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:16
|
||||
msgid "Add external audio files..."
|
||||
msgstr "Добави външни аудиофайлове..."
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:17
|
||||
msgid "Add external subtitle files..."
|
||||
msgstr "Добави външни файлове със субтитри..."
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:19
|
||||
msgid "Add files to playlist..."
|
||||
msgstr "Добави файлове към плейлиста..."
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:20
|
||||
msgid "Add files/URLs to playlist from clipboard"
|
||||
msgstr "Добави файлове/URL адреси към плейлист от клипборда"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:22
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:370
|
||||
msgid "Recent Files"
|
||||
msgstr "Последни файлове"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:23
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:196
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:228
|
||||
msgid "Exit"
|
||||
msgstr "Изход"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:25
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:26
|
||||
msgid "Playback"
|
||||
msgstr "Възпроизвеждане"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:25
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:198
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:199
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:200
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:201
|
||||
msgid "Play/Pause"
|
||||
msgstr "Възпроизведи/Пауза"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:26
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:202
|
||||
msgid "Stop"
|
||||
msgstr "Спри"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:28
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:29
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:30
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:31
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:32
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:34
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:35
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:36
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:37
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:38
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:39
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:40
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:41
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:42
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:43
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:44
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:45
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:46
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:47
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:48
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:49
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:50
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:51
|
||||
msgid "Navigate"
|
||||
msgstr "Навигиране"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:28
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:209
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:211
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:213
|
||||
msgid "Previous File"
|
||||
msgstr "Предишен файл"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:29
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:210
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:212
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:214
|
||||
msgid "Next File"
|
||||
msgstr "Следващ файл"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:31
|
||||
msgid "First File"
|
||||
msgstr "Първи файл"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:32
|
||||
msgid "Last File"
|
||||
msgstr "Последен файл"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:35
|
||||
msgid "Next Chapter"
|
||||
msgstr "Следваща глава"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:36
|
||||
msgid "Previous Chapter"
|
||||
msgstr "Предишна глава"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:38
|
||||
msgid "Jump To Next Frame"
|
||||
msgstr "Премини към следващия кадър"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:39
|
||||
msgid "Jump To Previous Frame"
|
||||
msgstr "Премини към предишния кадър"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:41
|
||||
msgid "Jump 5 sec forward"
|
||||
msgstr "Скок 5 секунди напред"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:42
|
||||
msgid "Jump 5 sec backward"
|
||||
msgstr "Скок 5 секунди назад"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:44
|
||||
msgid "Jump 30 sec forward"
|
||||
msgstr "Скок 30 секунди напред"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:45
|
||||
msgid "Jump 30 sec backward"
|
||||
msgstr "Скок 30 секунди назад"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:47
|
||||
msgid "Jump 5 min forward"
|
||||
msgstr "Скок 5 минути напред"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:48
|
||||
msgid "Jump 5 min backward"
|
||||
msgstr "Скок 5 минути назад"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:50
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:391
|
||||
msgid "Title"
|
||||
msgstr "Заглавие"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:51
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:349
|
||||
msgid "Chapter"
|
||||
msgstr "Глава"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:53
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:54
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:55
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:56
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:57
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:58
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:59
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:60
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:61
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:62
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:63
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:64
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:65
|
||||
msgid "Pan & Scan"
|
||||
msgstr "Панорама & Мащаб"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:53
|
||||
msgid "Decrease Size"
|
||||
msgstr "Намали размера"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:54
|
||||
msgid "Increase Size"
|
||||
msgstr "Увеличи размера"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:56
|
||||
msgid "Move Left"
|
||||
msgstr "Премести наляво"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:57
|
||||
msgid "Move Right"
|
||||
msgstr "Премести надясно"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:59
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:97
|
||||
msgid "Move Up"
|
||||
msgstr "Премести нагоре"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:60
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:98
|
||||
msgid "Move Down"
|
||||
msgstr "Премести надолу"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:62
|
||||
msgid "Decrease Height"
|
||||
msgstr "Намали височината"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:63
|
||||
msgid "Increase Height"
|
||||
msgstr "Увеличи височината"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:65
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:118
|
||||
msgid "Reset"
|
||||
msgstr "Нулиране"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:67
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:68
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:69
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:70
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:71
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:72
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:73
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:74
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:75
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:76
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:77
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:78
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:79
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:80
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:81
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:82
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:83
|
||||
msgid "Video"
|
||||
msgstr "Видео"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:67
|
||||
msgid "Decrease Contrast"
|
||||
msgstr "Намали контраст"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:68
|
||||
msgid "Increase Contrast"
|
||||
msgstr "Увеличи контраста"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:70
|
||||
msgid "Decrease Brightness"
|
||||
msgstr "Намали яркостта"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:71
|
||||
msgid "Increase Brightness"
|
||||
msgstr "Увеличи яркостта"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:73
|
||||
msgid "Decrease Gamma"
|
||||
msgstr "Намали гамата"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:74
|
||||
msgid "Increase Gamma"
|
||||
msgstr "Увеличи гамата"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:76
|
||||
msgid "Decrease Saturation"
|
||||
msgstr "Намали наситеността"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:77
|
||||
msgid "Increase Saturation"
|
||||
msgstr "Увеличи наситеността"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:79
|
||||
msgid "Take Screenshot"
|
||||
msgstr "Направи екранна снимка"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:80
|
||||
msgid "Take Screenshot without subtitles"
|
||||
msgstr "Направи екранна снимка без субтитри"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:81
|
||||
msgid "Toggle Deinterlace"
|
||||
msgstr "Превключи Deinterlace"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:82
|
||||
msgid "Change Aspect Ratio"
|
||||
msgstr "Промяна на пропорциите"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:83
|
||||
msgid "Rotate Video"
|
||||
msgstr "Завъртане на видео"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:85
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:86
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:87
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:88
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:89
|
||||
msgid "Audio"
|
||||
msgstr "Аудио"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:85
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:451
|
||||
msgid "Audio Device"
|
||||
msgstr "Аудио устройство"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:86
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:91
|
||||
msgid "Next Track"
|
||||
msgstr "Следващо заглавие"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:88
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:95
|
||||
msgid "Delay +0.1"
|
||||
msgstr "Закъснение +0,1"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:89
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:94
|
||||
msgid "Delay -0.1"
|
||||
msgstr "Закъснение -0.1"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:91
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:92
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:93
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:94
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:95
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:96
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:97
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:98
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:99
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:100
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:101
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:102
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:103
|
||||
msgid "Subtitle"
|
||||
msgstr "Подзаглавие"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:92
|
||||
msgid "Toggle Visibility"
|
||||
msgstr "Превключи на видимост"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:100
|
||||
msgid "Decrease Font Size"
|
||||
msgstr "Намали размера на шрифта"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:101
|
||||
msgid "Increase Font Size"
|
||||
msgstr "Увеличи размера на шрифта"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:103
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:138
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:139
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:140
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:141
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:142
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:143
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:144
|
||||
msgid "More"
|
||||
msgstr "Още"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:103
|
||||
msgid "Toggle overriding SSA/ASS styles with normal styles"
|
||||
msgstr "Превключи замяна на SSA/ASS стилове с нормални стилове"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:105
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:287
|
||||
msgid "Track"
|
||||
msgstr "Заглавие"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:107
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:108
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:109
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:110
|
||||
msgid "Volume"
|
||||
msgstr "Звук"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:107
|
||||
msgctxt "Volume"
|
||||
msgid "Up"
|
||||
msgstr "Увеличи"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:108
|
||||
msgctxt "Volume"
|
||||
msgid "Down"
|
||||
msgstr "Намали"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:110
|
||||
msgid "Mute"
|
||||
msgstr "Без звук"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:112
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:113
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:114
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:115
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:116
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:117
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:118
|
||||
msgid "Speed"
|
||||
msgstr "Скорост"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:112
|
||||
msgid "-10%"
|
||||
msgstr "-10%"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:113
|
||||
msgid "+10%"
|
||||
msgstr "+10%"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:115
|
||||
msgid "Half"
|
||||
msgstr "Наполовина"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:116
|
||||
msgid "Double"
|
||||
msgstr "Двойна"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:120
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:121
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:122
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:123
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:124
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:126
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:127
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:128
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:129
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:130
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:131
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:132
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:133
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:134
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:135
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:136
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:138
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:139
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:140
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:141
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:142
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:143
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:144
|
||||
msgid "View"
|
||||
msgstr "Преглед"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:120
|
||||
msgid "Toggle Statistics"
|
||||
msgstr "Превключи на статистиката"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:121
|
||||
msgid "Toggle OSC Visibility"
|
||||
msgstr "Превключи видимостта на OSC"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:122
|
||||
msgid "Show Media Info On-Screen"
|
||||
msgstr "Покажи медийна информация на екрана"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:123
|
||||
msgid "Show Media Info Message Box"
|
||||
msgstr "Покажи поле за съобщения с медийна информация"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:124
|
||||
msgid "Show Progress"
|
||||
msgstr "Покажи напредъка"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:126
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:127
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:128
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:129
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:130
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:131
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:132
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:133
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:134
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:135
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:136
|
||||
msgid "On Screen Menu"
|
||||
msgstr "Меню на екрана"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:126
|
||||
msgid "Playlist"
|
||||
msgstr "Плейлист"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:127
|
||||
msgid "Bindings"
|
||||
msgstr "Обвързвания"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:128
|
||||
msgid "Properties"
|
||||
msgstr "Свойства"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:129
|
||||
msgid "Chapters"
|
||||
msgstr "Глава"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:130
|
||||
msgid "Tracks"
|
||||
msgstr "Заглавие"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:131
|
||||
msgid "Audio Tracks"
|
||||
msgstr "Аудио заглавия"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:132
|
||||
msgid "Subtitle Tracks"
|
||||
msgstr "Субтитри заглавия"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:133
|
||||
msgid "Secondary Subtitle"
|
||||
msgstr "Втори субтитри"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:134
|
||||
msgid "Video Tracks"
|
||||
msgstr "Видео заглавия"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:135
|
||||
msgid "Subtitle Lines"
|
||||
msgstr "Редове на субтитри"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:136
|
||||
msgid "Audio Devices"
|
||||
msgstr "Аудио устройства"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:138
|
||||
msgid "Show Console"
|
||||
msgstr "Покажи конзола"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:139
|
||||
msgid "Show Commands"
|
||||
msgstr "Покажи команди"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:140
|
||||
msgid "Show Bindings"
|
||||
msgstr "Покажи обвързвания"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:141
|
||||
msgid "Show Keys"
|
||||
msgstr "Покажи ключове"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:142
|
||||
msgid "Show Protocols"
|
||||
msgstr "Покажи протоколи"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:143
|
||||
msgid "Show Decoders"
|
||||
msgstr "Покажи декодери"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:144
|
||||
msgid "Show Demuxers"
|
||||
msgstr "Покажи Demuxers"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:146
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:147
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:148
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:149
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:150
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:151
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:152
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:153
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:154
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:155
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:156
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:157
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:158
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:159
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:160
|
||||
msgid "Window"
|
||||
msgstr "Прозорец"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:146
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:216
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:217
|
||||
msgid "Fullscreen"
|
||||
msgstr "Цял екран"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:147
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:148
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:149
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:150
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:151
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:152
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:153
|
||||
msgid "Zoom"
|
||||
msgstr "Увеличение"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:147
|
||||
msgid "Enlarge"
|
||||
msgstr "Увеличи"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:148
|
||||
msgid "Shrink"
|
||||
msgstr "Свиване"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:150
|
||||
msgid "50 %"
|
||||
msgstr "50%"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:151
|
||||
msgid "100 %"
|
||||
msgstr "100%"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:152
|
||||
msgid "200 %"
|
||||
msgstr "200%"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:153
|
||||
msgid "300 %"
|
||||
msgstr "300%"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:154
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:155
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:156
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:157
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:158
|
||||
msgid "Move"
|
||||
msgstr "Премести"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:154
|
||||
msgctxt "Move"
|
||||
msgid "Left"
|
||||
msgstr "Наляво"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:155
|
||||
msgctxt "Move"
|
||||
msgid "Right"
|
||||
msgstr "Надясно"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:156
|
||||
msgctxt "Move"
|
||||
msgid "Up"
|
||||
msgstr "Нагоре"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:157
|
||||
msgctxt "Move"
|
||||
msgid "Down"
|
||||
msgstr "Надолу"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:158
|
||||
msgctxt "Move"
|
||||
msgid "Center"
|
||||
msgstr "Център"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:159
|
||||
msgid "Toggle Border"
|
||||
msgstr "Превключи рамката"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:160
|
||||
msgid "Toggle On Top"
|
||||
msgstr "Превключи отгоре"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:162
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:424
|
||||
msgid "Profile"
|
||||
msgstr "Профил"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:164
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:165
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:166
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:167
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:168
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:169
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:170
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:171
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:172
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:173
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:174
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:175
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:176
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:177
|
||||
msgid "Settings"
|
||||
msgstr "Настройки"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:164
|
||||
msgid "Show Config Editor"
|
||||
msgstr "Покажи редактор на конфигурация"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:165
|
||||
msgid "Show Input Editor"
|
||||
msgstr "Покажи редактора за въвеждане"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:167
|
||||
msgid "Edit mpv.conf"
|
||||
msgstr "Редактирай mpv.conf"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:168
|
||||
msgid "Edit input.conf"
|
||||
msgstr "Редактирай input.conf"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:170
|
||||
msgid "Open Config Folder"
|
||||
msgstr "Отвори папката Config"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:171
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:172
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:173
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:174
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:175
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:176
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:177
|
||||
msgid "Setup"
|
||||
msgstr "Настройка"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:171
|
||||
msgid "Register video file associations"
|
||||
msgstr "Регистрирай асоциации на видео файлове"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:172
|
||||
msgid "Register audio file associations"
|
||||
msgstr "Регистрирай асоциации на аудио файлове"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:173
|
||||
msgid "Register image file associations"
|
||||
msgstr "Регистрирай асоциации на файлове с изображения"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:174
|
||||
msgid "Unregister file associations"
|
||||
msgstr "Отмени регистрацията на файловите асоциации"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:176
|
||||
msgid "Add mpv.net to Path environment variable"
|
||||
msgstr "Добави mpv.net към променливата на средата Path"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:177
|
||||
msgid "Remove mpv.net from Path environment variable"
|
||||
msgstr "Премахни mpv.net от променливата на средата Path"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:179
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:180
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:181
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:182
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:183
|
||||
msgid "Tools"
|
||||
msgstr "Инструменти"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:179
|
||||
msgid "Set/clear A-B loop points"
|
||||
msgstr "Задай/изчисти AB точки на цикъл"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:180
|
||||
msgid "Toggle infinite file looping"
|
||||
msgstr "Превключи за безкраен цикъл на файла"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:181
|
||||
msgid "Shuffle Playlist"
|
||||
msgstr "Разбъркай плейлиста"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:182
|
||||
msgid "Toggle Hardware Decoding"
|
||||
msgstr "Превключи на хардуерно декодиране"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:183
|
||||
msgid "Exit Watch Later"
|
||||
msgstr "Изход Гледай по-късно"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:185
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:475
|
||||
msgid "Custom"
|
||||
msgstr "Потребителско"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:187
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:188
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:189
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:190
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:191
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:192
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:193
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:194
|
||||
msgid "Help"
|
||||
msgstr "Помощ"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:187
|
||||
msgid "Website mpv"
|
||||
msgstr "Уеб сайт mpv"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:188
|
||||
msgid "Website mpv.net"
|
||||
msgstr "Уебсайт mpv.net"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:190
|
||||
msgid "Manual mpv"
|
||||
msgstr "Ръчно mpv"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:191
|
||||
msgid "Manual mpv.net"
|
||||
msgstr "Ръководство mpv.net"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:193
|
||||
msgid "awesome-mpv"
|
||||
msgstr "страхотен-mpv"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:194
|
||||
msgid "About mpv.net"
|
||||
msgstr "Относно mpv.net"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:197
|
||||
msgid "Show Menu"
|
||||
msgstr "Покажи меню"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:203
|
||||
msgid "Forward"
|
||||
msgstr "Напред"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:204
|
||||
msgid "Backward"
|
||||
msgstr "Назад"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:205
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:207
|
||||
msgid "Volume Up"
|
||||
msgstr "Увеличи звука"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:206
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:208
|
||||
msgid "Volume Down"
|
||||
msgstr "Намали звука"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:215
|
||||
msgid "Ignore left mouse butten"
|
||||
msgstr "Игнорирай левия бутон на мишката"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:218
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:220
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:226
|
||||
msgid "Seek Forward"
|
||||
msgstr "Търсене напред"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:219
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:221
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:227
|
||||
msgid "Seek Backward"
|
||||
msgstr "Търсене назад"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:222
|
||||
msgid "Undo previous (or marked) seek"
|
||||
msgstr "Отмени предишно (или маркирано) търсене"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:223
|
||||
msgid "Mark position for revert-seek"
|
||||
msgstr "Маркирай позиция за търсене назад"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:224
|
||||
msgid "Seek to previous subtitle"
|
||||
msgstr "Премини към предишния субтитър"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:225
|
||||
msgid "Seek to next subtitle"
|
||||
msgstr "Премини към следващия субтитър"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:193
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:213
|
||||
msgid "Files/URLs were added to the playlist"
|
||||
msgstr "Файловете/URL адресите бяха добавени към плейлиста"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:206
|
||||
msgid "The clipboard does not contain a valid URL or file."
|
||||
msgstr "Клипбордът не съдържа валиден URL или файл."
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:257
|
||||
msgid "File Explorer icons will refresh after process restart."
|
||||
msgstr "Иконите на File Explorer ще се обновят след рестартиране на процеса."
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:260
|
||||
msgid "File associations were successfully removed."
|
||||
msgstr "Файловите асоциации са премахнати успешно."
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:262
|
||||
msgid "File associations were successfully created."
|
||||
msgstr "Файловите асоциации бяха създадени успешно."
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:265
|
||||
msgid "Error creating file associations."
|
||||
msgstr "Грешка при създаване на файлови асоциации."
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:362
|
||||
msgid "mpv.net is already in the Path environment variable."
|
||||
msgstr "mpv.net вече е в променливата на средата Path."
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:370
|
||||
msgid "mpv.net was successfully added to the Path environment variable."
|
||||
msgstr "mpv.net бе успешно премахнат от променлива на средата Path."
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:379
|
||||
msgid "mpv.net was not found in the Path environment variable."
|
||||
msgstr "mpv.net не бе намерен в променливата на средата Path."
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:388
|
||||
msgid "mpv.net was successfully removed from the Path environment variable."
|
||||
msgstr "mpv.net бе успешно премахнат от променливата на средата Path."
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:393
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:398
|
||||
msgid "This feature was removed, but there are user scripts:"
|
||||
msgstr "Тази функция беше премахната, но има потребителски скриптове:"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:402
|
||||
msgid "This feature was removed."
|
||||
msgstr "Тази функция бе премахната."
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\Properties\Resources.Designer.cs:79
|
||||
msgid "editor_conf"
|
||||
msgstr "editor_conf"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\Properties\Resources.Designer.cs:114
|
||||
msgid "theme"
|
||||
msgstr "тема"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:386
|
||||
msgid "Clear List"
|
||||
msgstr "Изчисти списъка"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:446
|
||||
msgid "Show Profiles"
|
||||
msgstr "Покажи профили"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:1414
|
||||
msgid "Shutdown thread failed to complete within 10 seconds."
|
||||
msgstr "Изключването не успя да завърши в рамките на 10 секунди."
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WPF\InputWindow.xaml.cs:116
|
||||
msgid "Changes will be available on next startup."
|
||||
msgstr "Промените ще бъдат налични при следващото стартиране."
|
||||
@@ -6,15 +6,16 @@
|
||||
# Translators:
|
||||
# Frank Skare, 2024
|
||||
# ERCAN KOÇAK, 2024
|
||||
# Dogancan YILMAZER, 2024
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-07-25 10:31+0200\n"
|
||||
"POT-Creation-Date: 2024-11-28 12:31+0200\n"
|
||||
"PO-Revision-Date: 2023-12-08 00:34+0000\n"
|
||||
"Last-Translator: ERCAN KOÇAK, 2024\n"
|
||||
"Last-Translator: Dogancan YILMAZER, 2024\n"
|
||||
"Language-Team: Turkish (https://app.transifex.com/stax76/teams/179964/tr/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -79,7 +80,7 @@ msgstr "Çıkış"
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:25
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:26
|
||||
msgid "Playback"
|
||||
msgstr "Kayıttan yürütme"
|
||||
msgstr "Kayıttan yürüt"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:25
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:198
|
||||
@@ -164,7 +165,7 @@ msgstr "5 saniye ileri"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:42
|
||||
msgid "Jump 5 sec backward"
|
||||
msgstr "5 saniye geriye"
|
||||
msgstr "5 saniye geri"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:44
|
||||
msgid "Jump 30 sec forward"
|
||||
@@ -214,25 +215,25 @@ msgstr "Boyutu Küçült"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:54
|
||||
msgid "Increase Size"
|
||||
msgstr "Boyutunu Büyüt"
|
||||
msgstr "Boyutu Büyüt"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:56
|
||||
msgid "Move Left"
|
||||
msgstr "Sola Taşı"
|
||||
msgstr "Sola Kaydır"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:57
|
||||
msgid "Move Right"
|
||||
msgstr "Sağa Taşı"
|
||||
msgstr "Sağa Kaydır"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:59
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:97
|
||||
msgid "Move Up"
|
||||
msgstr "Yukarı Taşı"
|
||||
msgstr "Yukarı Kaydır"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:60
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:98
|
||||
msgid "Move Down"
|
||||
msgstr "Aşağı Taşı"
|
||||
msgstr "Aşağı Kaydır"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:62
|
||||
msgid "Decrease Height"
|
||||
@@ -281,7 +282,7 @@ msgstr "Parlaklığı Azalt"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:71
|
||||
msgid "Increase Brightness"
|
||||
msgstr "Parlaklığını Artır"
|
||||
msgstr "Parlaklığı Artır"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:73
|
||||
msgid "Decrease Gamma"
|
||||
@@ -309,7 +310,7 @@ msgstr "Ekran görüntüsünü altyazısız al"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:81
|
||||
msgid "Toggle Deinterlace"
|
||||
msgstr "Taramasızlaştırmayı göster"
|
||||
msgstr "Taramasızlaştırmayı Göster"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:82
|
||||
msgid "Change Aspect Ratio"
|
||||
@@ -365,7 +366,7 @@ msgstr "Altyazı"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:92
|
||||
msgid "Toggle Visibility"
|
||||
msgstr "Görünürlüğü Göster"
|
||||
msgstr "Göster/Gizle"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:100
|
||||
msgid "Decrease Font Size"
|
||||
@@ -400,17 +401,17 @@ msgstr "Ses Parçası"
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:109
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:110
|
||||
msgid "Volume"
|
||||
msgstr "Sayı"
|
||||
msgstr "Ses"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:107
|
||||
msgctxt "Volume"
|
||||
msgid "Up"
|
||||
msgstr "Yukarı"
|
||||
msgstr "Arttır"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:108
|
||||
msgctxt "Volume"
|
||||
msgid "Down"
|
||||
msgstr "Aşağı"
|
||||
msgstr "Azalt"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:110
|
||||
msgid "Mute"
|
||||
@@ -436,11 +437,11 @@ msgstr "+10%"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:115
|
||||
msgid "Half"
|
||||
msgstr "Yarım"
|
||||
msgstr "0.5x"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:116
|
||||
msgid "Double"
|
||||
msgstr "İkile"
|
||||
msgstr "2x"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:120
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:121
|
||||
@@ -508,7 +509,7 @@ msgstr "Çalma listesi"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:127
|
||||
msgid "Bindings"
|
||||
msgstr "Bağlamalar"
|
||||
msgstr "Atamalar"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:128
|
||||
msgid "Properties"
|
||||
@@ -556,7 +557,7 @@ msgstr "Komutları Göster"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:140
|
||||
msgid "Show Bindings"
|
||||
msgstr "Bağlamaları Göster"
|
||||
msgstr "Atamaları Göster"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:141
|
||||
msgid "Show Keys"
|
||||
@@ -568,11 +569,11 @@ msgstr "Protokolleri Göster"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:143
|
||||
msgid "Show Decoders"
|
||||
msgstr "Kod Çözücüleri Göster"
|
||||
msgstr "Decoderi Göster"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:144
|
||||
msgid "Show Demuxers"
|
||||
msgstr "Kod Çözücüleri Göster"
|
||||
msgstr "Demuxeri Göster"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:146
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:147
|
||||
@@ -663,7 +664,7 @@ msgstr "Aşağı"
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:158
|
||||
msgctxt "Move"
|
||||
msgid "Center"
|
||||
msgstr "Merkez"
|
||||
msgstr "Ortala"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:159
|
||||
msgid "Toggle Border"
|
||||
@@ -697,11 +698,11 @@ msgstr "Ayarlar"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:164
|
||||
msgid "Show Config Editor"
|
||||
msgstr "Yapılandırma Düzenleyiciyi Göster"
|
||||
msgstr "Yapılandırma Düzenleyicisini Göster"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:165
|
||||
msgid "Show Input Editor"
|
||||
msgstr "Giriş Düzenleyicisini Göster"
|
||||
msgstr "Tuş Düzenleyicisini Göster"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:167
|
||||
msgid "Edit mpv.conf"
|
||||
@@ -795,23 +796,23 @@ msgstr "Yardım"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:187
|
||||
msgid "Website mpv"
|
||||
msgstr "İnternet sayfası mpv"
|
||||
msgstr "Mpv internet sayfası"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:188
|
||||
msgid "Website mpv.net"
|
||||
msgstr "İnternet sayfası mpv.net"
|
||||
msgstr "Mpv.net internet sayfası"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:190
|
||||
msgid "Manual mpv"
|
||||
msgstr "Manuel mpv"
|
||||
msgstr "Mpv kullanım kılavuzu"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:191
|
||||
msgid "Manual mpv.net"
|
||||
msgstr "Manuel mpv.net"
|
||||
msgstr "Mpv.net kullanım kılavuzu"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:193
|
||||
msgid "awesome-mpv"
|
||||
msgstr "müthiş-mpv"
|
||||
msgstr "Mpv ek kaynakları"
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:194
|
||||
msgid "About mpv.net"
|
||||
@@ -882,8 +883,7 @@ msgstr "Pano geçerli bir URL veya dosya içermiyor."
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:257
|
||||
msgid "File Explorer icons will refresh after process restart."
|
||||
msgstr ""
|
||||
"İşlem yeniden başlatıldıktan sonra Dosya Gezgini simgeleri yenilenecektir."
|
||||
msgstr "Dosya Gezgini simgeleri, işlem yeniden başlatıldıktan sonra yenilenecektir."
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:260
|
||||
msgid "File associations were successfully removed."
|
||||
@@ -899,11 +899,11 @@ msgstr "Dosya ilişkilendirmeleri oluşturulurken hata oluştu."
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:362
|
||||
msgid "mpv.net is already in the Path environment variable."
|
||||
msgstr "mpv.net zaten Path ortam değişkeninde."
|
||||
msgstr "Mpv.net zaten Path ortam değişkeninde."
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:370
|
||||
msgid "mpv.net was successfully added to the Path environment variable."
|
||||
msgstr "mpv.net Path ortam değişkenine başarıyla eklendi."
|
||||
msgstr "Mpv.net Path ortam değişkenine başarıyla eklendi."
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:379
|
||||
msgid "mpv.net was not found in the Path environment variable."
|
||||
@@ -911,7 +911,7 @@ msgstr "Path ortam değişkeninde mpv.net bulunamadı."
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:388
|
||||
msgid "mpv.net was successfully removed from the Path environment variable."
|
||||
msgstr "mpv.net Path ortam değişkeninden başarıyla kaldırıldı."
|
||||
msgstr "Mpv.net Path ortam değişkeninden başarıyla kaldırıldı."
|
||||
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:393
|
||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:398
|
||||
|
||||
@@ -5,3 +5,6 @@ csharp_style_implicit_object_creation_when_type_is_apparent = true
|
||||
|
||||
# IDE0090: Use 'new(...)'
|
||||
dotnet_diagnostic.IDE0090.severity = silent
|
||||
|
||||
# WFO1000: A property should determine its property content serialization with the DesignerSerializationVisibilityAttribute, DefaultValueAttribute or the ShouldSerializeProperty method
|
||||
dotnet_diagnostic.WFO1000.severity = silent
|
||||
6
src/Directory.Build.props
Normal file
6
src/Directory.Build.props
Normal file
@@ -0,0 +1,6 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<Product>mpv.net</Product>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
10
src/Directory.Packages.props
Normal file
10
src/Directory.Packages.props
Normal file
@@ -0,0 +1,10 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageVersion Include="CommunityToolkit.Mvvm" Version="8.4.0" />
|
||||
<PackageVersion Include="NGettext" Version="0.6.7" />
|
||||
<PackageVersion Include="Microsoft.Xaml.Behaviors.Wpf" Version="1.1.135" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -101,8 +101,8 @@ public class ConfParser
|
||||
}
|
||||
else if (line.Contains('='))
|
||||
{
|
||||
string name = line[..line.IndexOf("=")].Trim();
|
||||
string value = line[(line.IndexOf("=") + 1)..].Trim();
|
||||
string name = line[..line.IndexOf('=')].Trim();
|
||||
string value = line[(line.IndexOf('=') + 1)..].Trim();
|
||||
|
||||
currentGroup?.Items.Add(new StringPair(name, value));
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ public static class FileAssociation
|
||||
string exeFilename = Path.GetFileName(exePath);
|
||||
string exeFilenameNoExt = Path.GetFileNameWithoutExtension(exePath);
|
||||
|
||||
string[] protocols = { "ytdl", "rtsp", "srt", "srtp" };
|
||||
string[] protocols = ["ytdl", "rtsp", "srt", "srtp"];
|
||||
|
||||
if (perceivedType != "unreg")
|
||||
{
|
||||
|
||||
@@ -32,7 +32,6 @@ public class GuiCommand
|
||||
{
|
||||
["add-to-path"] = args => AddToPath(),
|
||||
["edit-conf-file"] = EditCongFile,
|
||||
["install-command-palette"] = args => InstallCommandPalette(),
|
||||
["load-audio"] = LoadAudio,
|
||||
["load-sub"] = LoadSubtitle,
|
||||
["move-window"] = args => MoveWindow?.Invoke(args[0]),
|
||||
@@ -56,8 +55,6 @@ public class GuiCommand
|
||||
["show-profiles"] = args => Msg.ShowInfo(Player.GetProfiles()),
|
||||
["show-properties"] = args => Player.Command("script-binding select/show-properties"),
|
||||
["show-protocols"] = args => ShowProtocols(),
|
||||
["show-recent-in-command-palette"] = args => ShowRecentFilesInCommandPalette(),
|
||||
["stream-quality"] = args => StreamQuality(),
|
||||
["window-scale"] = args => WindowScaleNet?.Invoke(float.Parse(args[0], CultureInfo.InvariantCulture)),
|
||||
|
||||
|
||||
@@ -165,8 +162,7 @@ public class GuiCommand
|
||||
}
|
||||
|
||||
string header = BR +
|
||||
"https://mpv.io/manual/master/#list-of-input-commands" + BR2 +
|
||||
"https://github.com/stax76/mpv-scripts#command_palette" + BR;
|
||||
"https://mpv.io/manual/master/#list-of-input-commands" + BR;
|
||||
|
||||
ShowTextWithEditor("Input Commands", header + sb.ToString());
|
||||
}
|
||||
@@ -198,11 +194,13 @@ public class GuiCommand
|
||||
else
|
||||
{
|
||||
string clipboard = System.Windows.Forms.Clipboard.GetText();
|
||||
List<string> files = new List<string>();
|
||||
List<string> files = [];
|
||||
|
||||
foreach (string i in clipboard.Split(BR.ToCharArray(), StringSplitOptions.RemoveEmptyEntries))
|
||||
{
|
||||
if (i.Contains("://") || File.Exists(i))
|
||||
files.Add(i);
|
||||
}
|
||||
|
||||
if (files.Count == 0)
|
||||
{
|
||||
@@ -227,9 +225,13 @@ public class GuiCommand
|
||||
|
||||
dialog.Multiselect = true;
|
||||
|
||||
if (dialog.ShowDialog() == DialogResult.OK)
|
||||
foreach (string i in dialog.FileNames)
|
||||
Player.CommandV("audio-add", i);
|
||||
if (dialog.ShowDialog() != DialogResult.OK)
|
||||
return;
|
||||
|
||||
foreach (string i in dialog.FileNames)
|
||||
{
|
||||
Player.CommandV("audio-add", i);
|
||||
}
|
||||
}
|
||||
|
||||
void RegisterFileAssociations(IList<string> args)
|
||||
@@ -270,68 +272,16 @@ public class GuiCommand
|
||||
catch { }
|
||||
}
|
||||
|
||||
void InstallCommandPalette()
|
||||
{
|
||||
if (Msg.ShowQuestion("Install command palette?") != MessageBoxResult.OK)
|
||||
return;
|
||||
|
||||
try
|
||||
{
|
||||
Environment.SetEnvironmentVariable("MPVNET_HOME", Player.ConfigFolder);
|
||||
using Process proc = new Process();
|
||||
proc.StartInfo.FileName = "powershell";
|
||||
proc.StartInfo.Arguments = "-executionpolicy bypass -nologo -noexit -noprofile -command \"irm https://raw.githubusercontent.com/stax76/mpv-scripts/refs/heads/main/powershell/command_palette_installer.ps1 | iex\"";
|
||||
proc.Start();
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
void StreamQuality()
|
||||
{
|
||||
int version = Player.GetPropertyInt("user-data/command-palette/version");
|
||||
|
||||
if (version >= 2)
|
||||
Player.Command("script-message-to command_palette show-command-palette \"Stream Quality\"");
|
||||
else
|
||||
{
|
||||
var r = Msg.ShowQuestion("The Stream Quality feature requires the command palette to be installed." + BR2 +
|
||||
"Would you like to install the command palette now?");
|
||||
|
||||
if (r == MessageBoxResult.OK)
|
||||
Player.Command("script-message-to mpvnet install-command-palette");
|
||||
}
|
||||
}
|
||||
|
||||
void ShowRecentFilesInCommandPalette()
|
||||
{
|
||||
Obj o = new();
|
||||
o.title = "Recent Files";
|
||||
o.selected_index = 0;
|
||||
|
||||
var items = new List<Item>();
|
||||
|
||||
foreach (string file in App.Settings.RecentFiles)
|
||||
items.Add(new Item() { title = Path.GetFileName(file),
|
||||
value = new string []{ "loadfile", file },
|
||||
hint = file});
|
||||
|
||||
o.items = items.ToArray();
|
||||
string json = JsonSerializer.Serialize(o);
|
||||
Player.CommandV("script-message", "show-command-palette-json", json);
|
||||
}
|
||||
|
||||
class Obj
|
||||
{
|
||||
public string title { get; set; } = "";
|
||||
public int selected_index { get; set; } = 0;
|
||||
public Item[] items { get; set; } = Array.Empty<Item>();
|
||||
public Item[] items { get; set; } = [];
|
||||
}
|
||||
|
||||
class Item
|
||||
{
|
||||
public string[] value { get; set; } = Array.Empty<string>();
|
||||
public string[] value { get; set; } = [];
|
||||
public string title { get; set; } = "";
|
||||
public string hint { get; set; } = "";
|
||||
}
|
||||
@@ -393,15 +343,21 @@ public class GuiCommand
|
||||
}
|
||||
|
||||
if (App.MediaInfo && !osd && File.Exists(path) && !path.Contains(@"\\.\pipe\"))
|
||||
using (MediaInfo mediaInfo = new MediaInfo(path))
|
||||
text = Regex.Replace(mediaInfo.GetSummary(full, raw), "Unique ID.+", "");
|
||||
{
|
||||
using MediaInfo mediaInfo = new MediaInfo(path);
|
||||
text = Regex.Replace(mediaInfo.GetSummary(full, raw), "Unique ID.+", "");
|
||||
}
|
||||
else
|
||||
{
|
||||
Player.UpdateExternalTracks();
|
||||
text = "N: " + Player.GetPropertyString("filename") + BR;
|
||||
lock (Player.MediaTracksLock)
|
||||
{
|
||||
foreach (MediaTrack track in Player.MediaTracks)
|
||||
{
|
||||
text += track.Text + BR;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
text = text.TrimEx();
|
||||
@@ -426,7 +382,7 @@ public class GuiCommand
|
||||
{
|
||||
string path = Environment.GetEnvironmentVariable("Path", EnvironmentVariableTarget.User)!;
|
||||
|
||||
if (path.ToLower().Contains(Folder.Startup.TrimEnd(Path.DirectorySeparatorChar).ToLower()))
|
||||
if (path.Contains(Folder.Startup.TrimEnd(Path.DirectorySeparatorChar), StringComparison.CurrentCultureIgnoreCase))
|
||||
{
|
||||
Msg.ShowWarning(_("mpv.net is already in the Path environment variable."));
|
||||
return;
|
||||
|
||||
@@ -1,49 +1,47 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<TargetFramework>net6.0-windows</TargetFramework>
|
||||
<RootNamespace>MpvNet.Windows</RootNamespace>
|
||||
<PropertyGroup>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<TargetFramework>net9.0-windows</TargetFramework>
|
||||
<RootNamespace>MpvNet.Windows</RootNamespace>
|
||||
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
|
||||
<PublishSingleFile>true</PublishSingleFile>
|
||||
<AssemblyName>mpvnet</AssemblyName>
|
||||
<UseWPF>true</UseWPF>
|
||||
<UseWindowsForms>true</UseWindowsForms>
|
||||
<ApplicationIcon>mpv-icon.ico</ApplicationIcon>
|
||||
<Product>mpv.net</Product>
|
||||
<FileVersion>7.1.1.3</FileVersion>
|
||||
<AssemblyVersion>7.1.1.3</AssemblyVersion>
|
||||
<InformationalVersion>7.1.1.3</InformationalVersion>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
<AssemblyName>mpvnet</AssemblyName>
|
||||
<UseWPF>true</UseWPF>
|
||||
<UseWindowsForms>true</UseWindowsForms>
|
||||
<ApplicationIcon>mpv-icon.ico</ApplicationIcon>
|
||||
<FileVersion>7.1.1.4</FileVersion>
|
||||
<AssemblyVersion>7.1.1.4</AssemblyVersion>
|
||||
<InformationalVersion>7.1.1.4</InformationalVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Remove="Misc\**" />
|
||||
<EmbeddedResource Remove="Misc\**" />
|
||||
<None Remove="Misc\**" />
|
||||
<Page Remove="Misc\**" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Remove="Misc\**" />
|
||||
<EmbeddedResource Remove="Misc\**" />
|
||||
<None Remove="Misc\**" />
|
||||
<Page Remove="Misc\**" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Content Include="mpv-icon.ico" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="mpv-icon.ico" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\MpvNet\MpvNet.csproj" />
|
||||
<ProjectReference Include="..\NGettext.Wpf\NGettext.Wpf.csproj" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\MpvNet\MpvNet.csproj" />
|
||||
<ProjectReference Include="..\NGettext.Wpf\NGettext.Wpf.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Page Update="WPF\Views\AboutWindow.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<XamlRuntime>Wpf</XamlRuntime>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Page Update="WPF\Views\AboutWindow.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<XamlRuntime>Wpf</XamlRuntime>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.2.2" />
|
||||
<PackageReference Include="Microsoft.Xaml.Behaviors.Wpf" Version="1.1.77" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="CommunityToolkit.Mvvm" />
|
||||
<PackageReference Include="Microsoft.Xaml.Behaviors.Wpf" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@@ -1117,7 +1117,7 @@ option = no
|
||||
name = reset-on-next-file
|
||||
file = mpv
|
||||
directory = Program Behavior
|
||||
help = Normally, mpv will try to keep all settings when playing the next file on the playlist, even if they were changed by the user during playback. This can be changed with this option. It accepts a list of options, and mpv will reset the value of these options on playback start to the initial value.
|
||||
help = Normally, mpv will try to keep all options when playing the next file on the playlist, even if they were changed by the user during playback. This can be changed with this option. It accepts a list of options, and mpv will reset the value of these options on playback start to the initial value.
|
||||
width = 400
|
||||
|
||||
name = input-ar-delay
|
||||
@@ -1142,8 +1142,9 @@ directory = Appearance
|
||||
help = User interface display language.\nmpv.net must be restarted after a change.
|
||||
default = system
|
||||
option = system
|
||||
option = english
|
||||
option = bulgarian
|
||||
option = chinese-china
|
||||
option = english
|
||||
option = french
|
||||
option = german
|
||||
option = japanese
|
||||
|
||||
@@ -10,8 +10,9 @@ public class WpfTranslator : ITranslator
|
||||
string _localizerLangauge = "";
|
||||
|
||||
static Language[] Languages { get; } = new Language[] {
|
||||
new("english", "en", "en"),
|
||||
new("bulgarian", "bg", "bg"),
|
||||
new("chinese-china", "zh-CN", "zh"), // Chinese (Simplified)
|
||||
new("english", "en", "en"),
|
||||
new("french", "fr", "fr"),
|
||||
new("german", "de", "de"),
|
||||
new("japanese", "ja", "ja"),
|
||||
|
||||
@@ -13,6 +13,7 @@ EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{2F97C77E-32E3-46FA-8D7C-3940FD9AA384}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
.editorconfig = .editorconfig
|
||||
Directory.Build.props = Directory.Build.props
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NGettext.Wpf", "NGettext.Wpf\NGettext.Wpf.csproj", "{0B7958FD-2138-482A-A21B-481AE7A0F851}"
|
||||
|
||||
@@ -19,7 +19,7 @@ public class Chapter
|
||||
_timeDisplay = TimeSpan.FromSeconds(Time).ToString();
|
||||
|
||||
if (_timeDisplay.ContainsEx("."))
|
||||
_timeDisplay = _timeDisplay[.._timeDisplay.LastIndexOf(".")];
|
||||
_timeDisplay = _timeDisplay[.._timeDisplay.LastIndexOf('.')];
|
||||
}
|
||||
|
||||
return _timeDisplay;
|
||||
|
||||
@@ -42,7 +42,7 @@ public class Command
|
||||
{
|
||||
if (i.Contains("://") || File.Exists(i))
|
||||
{
|
||||
Player.LoadFiles(new[] { i }, true, false);
|
||||
Player.LoadFiles([i], true, false);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,9 +6,9 @@ public class CommandLine
|
||||
static List<StringPair>? _arguments;
|
||||
|
||||
static string[] _preInitProperties { get; } = {
|
||||
"input-terminal", "terminal", "input-file", "config", "o",
|
||||
"config-dir", "input-conf", "load-scripts", "scripts", "player-operation-mode",
|
||||
"idle", "log-file", "msg-color", "dump-stats", "msg-level", "really-quiet" };
|
||||
"input-terminal", "terminal", "input-file", "config", "o", "config-dir", "input-conf",
|
||||
"load-scripts", "scripts", "script-opts", "player-operation-mode", "idle", "log-file",
|
||||
"msg-color", "dump-stats", "msg-level", "really-quiet" };
|
||||
|
||||
public static List<StringPair> Arguments
|
||||
{
|
||||
@@ -17,7 +17,7 @@ public class CommandLine
|
||||
if (_arguments != null)
|
||||
return _arguments;
|
||||
|
||||
_arguments = new();
|
||||
_arguments = [];
|
||||
|
||||
foreach (string i in Environment.GetCommandLineArgs().Skip(1))
|
||||
{
|
||||
@@ -37,7 +37,7 @@ public class CommandLine
|
||||
arg += "=yes";
|
||||
}
|
||||
|
||||
string left = arg[2..arg.IndexOf("=")];
|
||||
string left = arg[2..arg.IndexOf('=')];
|
||||
string right = arg[(left.Length + 3)..];
|
||||
|
||||
if (string.IsNullOrEmpty(left))
|
||||
@@ -46,6 +46,7 @@ public class CommandLine
|
||||
switch (left)
|
||||
{
|
||||
case "script": left = "scripts"; break;
|
||||
case "script-opt": left = "script-opts"; break;
|
||||
case "audio-file": left = "audio-files"; break;
|
||||
case "sub-file": left = "sub-files"; break;
|
||||
case "external-file": left = "external-files"; break;
|
||||
@@ -113,16 +114,19 @@ public class CommandLine
|
||||
|
||||
public static void ProcessCommandLineFiles()
|
||||
{
|
||||
List<string> files = new List<string>();
|
||||
List<string> files = [];
|
||||
|
||||
foreach (string arg in Environment.GetCommandLineArgs().Skip(1))
|
||||
{
|
||||
if (!arg.StartsWith("--") && (arg == "-" || arg.Contains("://") ||
|
||||
arg.Contains(":\\") || arg.StartsWith("\\\\") || arg.StartsWith(".") ||
|
||||
arg.Contains(":\\") || arg.StartsWith("\\\\") || arg.StartsWith('.') ||
|
||||
File.Exists(arg)))
|
||||
|
||||
{
|
||||
files.Add(arg);
|
||||
}
|
||||
}
|
||||
|
||||
Player.LoadFiles(files.ToArray(), !App.Queue, App.Queue);
|
||||
Player.LoadFiles([.. files], !App.Queue, App.Queue);
|
||||
|
||||
if (App.CommandLine.Contains("--shuffle"))
|
||||
{
|
||||
@@ -134,8 +138,10 @@ public class CommandLine
|
||||
public static bool Contains(string name)
|
||||
{
|
||||
foreach (StringPair pair in Arguments)
|
||||
{
|
||||
if (pair.Name == name)
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
@@ -143,8 +149,10 @@ public class CommandLine
|
||||
public static string GetValue(string name)
|
||||
{
|
||||
foreach (StringPair pair in Arguments)
|
||||
{
|
||||
if (pair.Name == name)
|
||||
return pair.Value;
|
||||
}
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ public class ExtensionLoader
|
||||
{
|
||||
public event Action<Exception>? UnhandledException;
|
||||
|
||||
readonly List<object?> _refs = new();
|
||||
readonly List<object?> _refs = [];
|
||||
|
||||
void LoadDll(string path)
|
||||
{
|
||||
@@ -31,8 +31,12 @@ public class ExtensionLoader
|
||||
public void LoadFolder(string path)
|
||||
{
|
||||
if (Directory.Exists(path))
|
||||
{
|
||||
foreach (string dir in Directory.GetDirectories(path))
|
||||
{
|
||||
LoadDll(dir.AddSep() + Path.GetFileName(dir) + ".dll");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -32,12 +32,12 @@ public static class PathStringExtension
|
||||
int index = instance.LastIndexOf('\\');
|
||||
|
||||
if (index > -1)
|
||||
return instance.Substring(index + 1);
|
||||
return instance[(index + 1)..];
|
||||
|
||||
index = instance.LastIndexOf('/');
|
||||
|
||||
if (index > -1)
|
||||
return instance.Substring(index + 1);
|
||||
return instance[(index + 1)..];
|
||||
|
||||
return instance;
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ namespace MpvNet;
|
||||
|
||||
public static class FileTypes
|
||||
{
|
||||
public static string[] Subtitle { get; } = { "srt", "ass", "idx", "sub", "sup", "ttxt", "txt", "ssa", "smi", "mks" };
|
||||
public static string[] Subtitle { get; } = ["srt", "ass", "idx", "sub", "sup", "ttxt", "txt", "ssa", "smi", "mks"];
|
||||
|
||||
public static bool IsVideo(string[] exts, string ext) => exts?.Contains(ext) ?? false;
|
||||
public static bool IsAudio(string[] exts, string ext) => exts?.Contains(ext) ?? false;
|
||||
@@ -20,7 +20,7 @@ public static class FileTypes
|
||||
string exts = Player.GetPropertyString("video-exts");
|
||||
|
||||
if (string.IsNullOrEmpty(exts))
|
||||
return "mkv mp4 avi mov flv mpg webm wmv ts vob 264 265 asf avc avs dav h264 h265 hevc m2t m2ts m2v m4v mpeg mpv mts vpy y4m".Split(' ');
|
||||
return ["mkv", "mp4", "avi", "mov", "flv", "mpg", "webm", "wmv", "ts", "vob", "264", "265", "asf", "avc", "avs", "dav", "h264", "h265", "hevc", "m2t", "m2ts", "m2v", "m4v", "mpeg", "mpv", "mts", "vpy", "y4m"];
|
||||
|
||||
return exts.Split(" ,;".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
|
||||
}
|
||||
@@ -30,7 +30,7 @@ public static class FileTypes
|
||||
string exts = Player.GetPropertyString("audio-exts");
|
||||
|
||||
if (string.IsNullOrEmpty(exts))
|
||||
return "mp3 flac m4a mka mp2 ogg opus aac ac3 dts dtshd dtshr dtsma eac3 mpa mpc thd w64 wav".Split(' ');
|
||||
return ["mp3", "flac", "m4a", "mka", "mp2", "ogg", "opus", "aac", "ac3", "dts", "dtshd", "dtshr", "dtsma", "eac3", "mpa", "mpc", "thd", "w64", "wav"];
|
||||
|
||||
return exts.Split(" ,;".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
|
||||
}
|
||||
@@ -40,7 +40,7 @@ public static class FileTypes
|
||||
string exts = Player.GetPropertyString("image-exts");
|
||||
|
||||
if (string.IsNullOrEmpty(exts))
|
||||
return new string[]{ "jpg", "bmp", "png", "gif", "webp" };
|
||||
return ["jpg", "bmp", "png", "gif", "webp"];
|
||||
|
||||
return exts.Split(" ,;".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
|
||||
}
|
||||
|
||||
@@ -8,9 +8,7 @@ public static class StringHelp
|
||||
{
|
||||
public static string GetMD5Hash(string txt)
|
||||
{
|
||||
using MD5 md5 = MD5.Create();
|
||||
byte[] inputBuffer = Encoding.UTF8.GetBytes(txt);
|
||||
byte[] hashBuffer = md5.ComputeHash(inputBuffer);
|
||||
return BitConverter.ToString(md5.ComputeHash(inputBuffer)).Replace("-", "");
|
||||
return Convert.ToHexString(MD5.HashData(inputBuffer));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,17 +34,25 @@ public class InputConf
|
||||
var defaultBindings = InputHelp.GetDefaults();
|
||||
|
||||
foreach (Binding defaultBinding in defaultBindings)
|
||||
{
|
||||
foreach (Binding confBinding in confbindings)
|
||||
{
|
||||
if (defaultBinding.Input == confBinding.Input &&
|
||||
defaultBinding.Command != confBinding.Command)
|
||||
{
|
||||
defaultBinding.Input = "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach (Binding defaultBinding in defaultBindings)
|
||||
{
|
||||
foreach (Binding confBinding in confbindings)
|
||||
{
|
||||
if (defaultBinding.Command == confBinding.Command)
|
||||
defaultBinding.Input = confBinding.Input;
|
||||
}
|
||||
}
|
||||
|
||||
return (defaultBindings, confbindings);
|
||||
}
|
||||
@@ -82,16 +90,22 @@ public class InputConf
|
||||
var conf = InputHelp.Parse(Content);
|
||||
|
||||
foreach (Binding defaultBinding in defaults)
|
||||
{
|
||||
foreach (Binding confBinding in conf)
|
||||
{
|
||||
if (defaultBinding.Command == confBinding.Command &&
|
||||
defaultBinding.Comment == confBinding.Comment)
|
||||
{
|
||||
defaultBinding.Input = confBinding.Input;
|
||||
removed.Add(confBinding);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach (Binding binding in removed)
|
||||
{
|
||||
conf.Remove(binding);
|
||||
}
|
||||
|
||||
defaults.AddRange(conf);
|
||||
return InputHelp.ConvertToString(defaults);
|
||||
|
||||
@@ -9,12 +9,30 @@ public static class InputHelp
|
||||
{
|
||||
List<Binding> b = new();
|
||||
|
||||
Add(b, new("", "", "script-binding select/select-playlist", "g-p", _("Playlist")));
|
||||
Add(b, new("", "", "script-binding select/select-sid", "g-s", _("Subtitles")));
|
||||
Add(b, new("", "", "script-binding select/select-secondary-sid", "g-S", _("Secondary Subtitles")));
|
||||
Add(b, new("", "", "script-binding select/select-aid", "g-a", _("Audio Tracks")));
|
||||
Add(b, new("", "", "script-binding select/select-vid", "g-v", _("Video Tracks")));
|
||||
Add(b, new("", "", "script-binding select/select-track", "g-t", _("Tracks")));
|
||||
Add(b, new("", "", "script-binding select/select-chapter", "g-c", _("Chapters")));
|
||||
Add(b, new("", "", "script-binding select/select-edition", "g-e", _("Editions")));
|
||||
Add(b, new("", "", "script-binding select/select-subtitle-line", "g-l", _("Subtitle Lines")));
|
||||
Add(b, new("", "", "script-binding select/select-audio-device", "g-d", _("Audio Devices")));
|
||||
Add(b, new("", "", "script-binding select/select-watch-history", "g-h", _("Watch History")));
|
||||
Add(b, new("", "", "script-binding select/select-watch-later", "g-w", _("Watch Later")));
|
||||
Add(b, new("", "", "script-binding select/select-binding", "g-b", _("Bindings")));
|
||||
Add(b, new("", "", "script-binding select/show-properties", "g-r", _("Properties")));
|
||||
Add(b, new("", "", "script-binding select/menu", "g-m", _("Select Menu")));
|
||||
Add(b, new("", "", "script-binding select/menu", "MENU", _("Select Menu")));
|
||||
Add(b, new("", "", "script-binding select/menu", "Ctrl+p", _("Select Menu")));
|
||||
|
||||
Add(b, new (_("File"), _("Open Files..."), "script-message-to mpvnet open-files", "o"));
|
||||
Add(b, new (_("File"), _("Open URL or file from clipboard"), "script-message-to mpvnet open-clipboard", "Ctrl+v"));
|
||||
Add(b, new (_("File"), _("Open DVD/Blu-ray Drive/Folder..."), "script-message-to mpvnet open-optical-media"));
|
||||
Add(b, new (_("File"), "-"));
|
||||
Add(b, new (_("File"), _("Add external audio files..."), "script-message-to mpvnet load-audio", "Alt+a"));
|
||||
Add(b, new (_("File"), _("Add external subtitle files..."), "script-message-to mpvnet load-sub", "Alt+s"));
|
||||
Add(b, new (_("File"), _("Add external audio files..."), "script-message-to mpvnet load-audio"));
|
||||
Add(b, new (_("File"), _("Add external subtitle files..."), "script-message-to mpvnet load-sub"));
|
||||
Add(b, new (_("File"), "-"));
|
||||
Add(b, new (_("File"), _("Add files to playlist..."), "script-message-to mpvnet open-files append"));
|
||||
Add(b, new (_("File"), _("Add files/URLs to playlist from clipboard"), "script-message-to mpvnet open-clipboard append", "Ctrl+Shift+v"));
|
||||
@@ -81,7 +99,7 @@ public static class InputHelp
|
||||
Add(b, new (_("Video"), _("Toggle Deinterlace"), "cycle deinterlace", "d"));
|
||||
Add(b, new (_("Video"), _("Change Aspect Ratio"), "cycle-values video-aspect-override 16:9 4:3 2.35:1 0 -1", "a"));
|
||||
Add(b, new (_("Video"), _("Rotate Video"), "cycle-values video-rotate 90 180 270 0", "Ctrl+r"));
|
||||
Add(b, new (_("Video"), _("Stream Quality"), "script-message-to mpvnet stream-quality", "Alt+q"));
|
||||
Add(b, new (_("Video"), _("Stream Quality"), "script-message-to mpvnet stream-quality"));
|
||||
|
||||
Add(b, new (_("Audio"), _("Audio Device")));
|
||||
Add(b, new (_("Audio"), _("Next Track"), "script-message-to mpvnet cycle-audio", "KP7"));
|
||||
@@ -118,49 +136,30 @@ public static class InputHelp
|
||||
Add(b, new (_("Speed"), "-"));
|
||||
Add(b, new (_("Speed"), _("Reset"), "set speed 1", "BS"));
|
||||
|
||||
Add(b, new (_("View"), _("Playlist"), "script-binding select/select-playlist", "F8"));
|
||||
Add(b, new (_("View"), _("Toggle Statistics"), "script-binding stats/display-stats-toggle", "t"));
|
||||
Add(b, new (_("View"), _("Toggle OSC Visibility"), "script-binding osc/visibility", "Del"));
|
||||
Add(b, new (_("View"), _("Show Media Info On-Screen"), "script-message-to mpvnet show-media-info osd", "i"));
|
||||
Add(b, new (_("View"), _("Show Media Info Message Box"), "script-message-to mpvnet show-media-info msgbox", "Ctrl+m"));
|
||||
Add(b, new (_("View"), _("Show Progress"), "show-progress", "p"));
|
||||
|
||||
Add(b, new (_("View") + " > " + _("On Screen Menu"), _("Playlist"), "script-binding select/select-playlist", "F8"));
|
||||
Add(b, new (_("View") + " > " + _("On Screen Menu"), _("Bindings"), "script-binding select/select-binding", "F1"));
|
||||
Add(b, new (_("View") + " > " + _("On Screen Menu"), _("Properties"), "script-binding select/show-properties", "F3"));
|
||||
Add(b, new (_("View") + " > " + _("On Screen Menu"), _("Chapters"), "script-binding select/select-chapter", "Alt+c"));
|
||||
Add(b, new (_("View") + " > " + _("On Screen Menu"), _("Tracks"), "script-binding select/select-track", "F9"));
|
||||
Add(b, new (_("View") + " > " + _("On Screen Menu"), _("Audio Tracks"), "script-binding select/select-aid"));
|
||||
Add(b, new (_("View") + " > " + _("On Screen Menu"), _("Subtitle Tracks"), "script-binding select/select-sid"));
|
||||
Add(b, new (_("View") + " > " + _("On Screen Menu"), _("Secondary Subtitle"), "script-binding select/select-secondary-sid", "Alt+b"));
|
||||
Add(b, new (_("View") + " > " + _("On Screen Menu"), _("Video Tracks"), "script-binding select/select-vid", "Alt+v"));
|
||||
Add(b, new (_("View") + " > " + _("On Screen Menu"), _("Subtitle Lines"), "script-binding select/select-subtitle-line", "Alt+l"));
|
||||
Add(b, new (_("View") + " > " + _("On Screen Menu"), _("Audio Devices"), "script-binding select/select-audio-device", "Alt+d"));
|
||||
|
||||
if (File.Exists(Player.ConfigFolder + "/scripts/command_palette.lua"))
|
||||
{
|
||||
Add(b, new(_("View") + " > " + _("Command Palette"), _("Command Palette"), "script-message-to command_palette show-command-palette \"Command Palette\"", "Ctrl+p"));
|
||||
Add(b, new(_("View") + " > " + _("Command Palette"), _("Bindings"), "script-message-to command_palette show-command-palette \"Bindings\"", "F1"));
|
||||
Add(b, new(_("View") + " > " + _("Command Palette"), _("Properties"), "script-message-to command_palette show-command-palette \"Properties\"", "F2"));
|
||||
Add(b, new(_("View") + " > " + _("Command Palette"), _("Commands"), "script-message-to command_palette show-command-palette \"Commands\"", "F3"));
|
||||
Add(b, new(_("View") + " > " + _("Command Palette"), _("Options"), "script-message-to command_palette show-command-palette \"Options\"", "F4"));
|
||||
Add(b, new(_("View") + " > " + _("Command Palette"), _("Playlist"), "script-message-to command_palette show-command-palette \"Playlist\"", "F8"));
|
||||
Add(b, new(_("View") + " > " + _("Command Palette"), _("Tracks"), "script-message-to command_palette show-command-palette \"Tracks\"", "F9"));
|
||||
Add(b, new(_("View") + " > " + _("Command Palette"), _("Audio Tracks"), "script-message-to command_palette show-command-palette \"Audio Tracks\"", "Alt+a"));
|
||||
Add(b, new(_("View") + " > " + _("Command Palette"), _("Subtitle Tracks"), "script-message-to command_palette show-command-palette \"Subtitle Tracks\"", "Alt+s"));
|
||||
Add(b, new(_("View") + " > " + _("Command Palette"), _("Secondary Subtitle"), "script-message-to command_palette show-command-palette \"Secondary Subtitle\"", "Alt+b"));
|
||||
Add(b, new(_("View") + " > " + _("Command Palette"), _("Video Tracks"), "script-message-to command_palette show-command-palette \"Video Tracks\"", "Alt+v"));
|
||||
Add(b, new(_("View") + " > " + _("Command Palette"), _("Chapters"), "script-message-to command_palette show-command-palette \"Chapters\"", "Alt+c"));
|
||||
Add(b, new(_("View") + " > " + _("Command Palette"), _("Profiles"), "script-message-to command_palette show-command-palette \"Profiles\"", "Alt+p"));
|
||||
Add(b, new(_("View") + " > " + _("Command Palette"), _("Audio Devices"), "script-message-to command_palette show-command-palette \"Audio Devices\"", "Alt+d"));
|
||||
Add(b, new(_("View") + " > " + _("Command Palette"), _("Subtitle Line"), "script-message-to command_palette show-command-palette \"Subtitle Line\"", "Alt+l"));
|
||||
Add(b, new(_("View") + " > " + _("Command Palette"), _("Blu-ray Titles"), "script-message-to command_palette show-command-palette \"Blu-ray Titles\"", "Alt+t"));
|
||||
Add(b, new(_("View") + " > " + _("Command Palette"), _("Stream Quality"), "script-message-to command_palette show-command-palette \"Stream Quality\"", "Alt+q"));
|
||||
Add(b, new(_("View") + " > " + _("Command Palette"), _("Aspect Ratio"), "script-message-to command_palette show-command-palette \"Aspect Ratio\"", "Alt+r"));
|
||||
Add(b, new(_("View") + " > " + _("Command Palette"), _("Recent Files"), "script-message-to mpvnet show-recent-in-command-palette", "Alt+f"));
|
||||
}
|
||||
Add(b, new (_("View"), _("Media Info On-Screen"), "script-message-to mpvnet show-media-info osd", "i"));
|
||||
Add(b, new (_("View"), _("Media Info Message Box"), "script-message-to mpvnet show-media-info msgbox", "Ctrl+m"));
|
||||
Add(b, new (_("View"), _("Progress"), "show-progress", "p"));
|
||||
Add(b, new (_("View") + " > " + _("Select Menu"), _("Playlist"), "script-binding select/select-playlist", "F8"));
|
||||
Add(b, new (_("View") + " > " + _("Select Menu"), _("Bindings"), "script-binding select/select-binding", "F1"));
|
||||
Add(b, new (_("View") + " > " + _("Select Menu"), _("Properties"), "script-binding select/show-properties", "F2"));
|
||||
Add(b, new (_("View") + " > " + _("Select Menu"), _("Chapters"), "script-binding select/select-chapter", "Alt+c"));
|
||||
Add(b, new (_("View") + " > " + _("Select Menu"), _("Tracks"), "script-binding select/select-track", "F9"));
|
||||
Add(b, new (_("View") + " > " + _("Select Menu"), _("Audio Tracks"), "script-binding select/select-aid", "Alt+a"));
|
||||
Add(b, new (_("View") + " > " + _("Select Menu"), _("Subtitle Tracks"), "script-binding select/select-sid", "Alt+s"));
|
||||
Add(b, new (_("View") + " > " + _("Select Menu"), _("Secondary Subtitle"), "script-binding select/select-secondary-sid", "Alt+b"));
|
||||
Add(b, new (_("View") + " > " + _("Select Menu"), _("Video Tracks"), "script-binding select/select-vid", "Alt+v"));
|
||||
Add(b, new (_("View") + " > " + _("Select Menu"), _("Editions"), "script-binding select/select-edition", "Alt+e"));
|
||||
Add(b, new (_("View") + " > " + _("Select Menu"), _("Subtitle Lines"), "script-binding select/select-subtitle-line", "Alt+l"));
|
||||
Add(b, new (_("View") + " > " + _("Select Menu"), _("Audio Devices"), "script-binding select/select-audio-device", "Alt+d"));
|
||||
Add(b, new (_("View") + " > " + _("Select Menu"), _("Watch History"), "script-binding select/select-watch-history", "Alt+h"));
|
||||
Add(b, new (_("View") + " > " + _("Select Menu"), _("Watch Later"), "script-binding select/select-watch-later"));
|
||||
|
||||
Add(b, new (_("View"), "-"));
|
||||
Add(b, new (_("View") + " > " + _("More"), _("Show Console"), "script-binding console/enable", "`"));
|
||||
Add(b, new (_("View") + " > " + _("More"), _("Show Commands"), "script-message-to mpvnet show-commands", "F2"));
|
||||
Add(b, new (_("View") + " > " + _("More"), _("Show Commands"), "script-message-to mpvnet show-commands", "F3"));
|
||||
Add(b, new (_("View") + " > " + _("More"), _("Show Bindings"), "script-message-to mpvnet show-bindings"));
|
||||
Add(b, new (_("View") + " > " + _("More"), _("Show Keys"), "script-message-to mpvnet show-keys", "Alt+k"));
|
||||
Add(b, new (_("View") + " > " + _("More"), _("Show Protocols"), "script-message-to mpvnet show-protocols", "Alt+p"));
|
||||
@@ -185,22 +184,20 @@ public static class InputHelp
|
||||
|
||||
Add(b, new ("", _("Profile")));
|
||||
|
||||
Add(b, new (_("Settings"), _("Show Config Editor"), "script-message-to mpvnet show-conf-editor", "Ctrl+,"));
|
||||
Add(b, new (_("Settings"), _("Show Input Editor"), "script-message-to mpvnet show-input-editor", "Ctrl+i"));
|
||||
Add(b, new (_("Settings"), "-"));
|
||||
Add(b, new (_("Settings"), _("Edit mpv.conf"), "script-message-to mpvnet edit-conf-file mpv.conf", "c"));
|
||||
Add(b, new (_("Settings"), _("Edit input.conf"), "script-message-to mpvnet edit-conf-file input.conf", "k"));
|
||||
Add(b, new (_("Settings"), "-"));
|
||||
Add(b, new (_("Settings"), _("Open Config Folder"), "script-message-to mpvnet open-conf-folder", "Ctrl+f"));
|
||||
Add(b, new (_("Settings") + " > " + _("Setup"), _("Register video file associations"), "script-message-to mpvnet reg-file-assoc video"));
|
||||
Add(b, new (_("Settings") + " > " + _("Setup"), _("Register audio file associations"), "script-message-to mpvnet reg-file-assoc audio"));
|
||||
Add(b, new (_("Settings") + " > " + _("Setup"), _("Register image file associations"), "script-message-to mpvnet reg-file-assoc image"));
|
||||
Add(b, new (_("Settings") + " > " + _("Setup"), _("Unregister file associations"), "script-message-to mpvnet reg-file-assoc unreg"));
|
||||
Add(b, new (_("Settings") + " > " + _("Setup"), "-"));
|
||||
Add(b, new (_("Settings") + " > " + _("Setup"), _("Add mpv.net to Path environment variable"), "script-message-to mpvnet add-to-path"));
|
||||
Add(b, new (_("Settings") + " > " + _("Setup"), _("Remove mpv.net from Path environment variable"), "script-message-to mpvnet remove-from-path"));
|
||||
Add(b, new (_("Settings") + " > " + _("Setup"), "-"));
|
||||
Add(b, new (_("Settings") + " > " + _("Setup"), _("Install Command Palette"), "script-message-to mpvnet install-command-palette"));
|
||||
Add(b, new (_("Config"), _("Show Config Editor"), "script-message-to mpvnet show-conf-editor", "Ctrl+,"));
|
||||
Add(b, new (_("Config"), _("Show Input Editor"), "script-message-to mpvnet show-input-editor", "Ctrl+i"));
|
||||
Add(b, new (_("Config"), "-"));
|
||||
Add(b, new (_("Config"), _("Edit mpv.conf"), "script-message-to mpvnet edit-conf-file mpv.conf", "c"));
|
||||
Add(b, new (_("Config"), _("Edit input.conf"), "script-message-to mpvnet edit-conf-file input.conf", "k"));
|
||||
Add(b, new (_("Config"), "-"));
|
||||
Add(b, new (_("Config"), _("Open Config Folder"), "script-message-to mpvnet open-conf-folder", "Ctrl+f"));
|
||||
Add(b, new (_("Config") + " > " + _("Setup"), _("Register video file associations"), "script-message-to mpvnet reg-file-assoc video"));
|
||||
Add(b, new (_("Config") + " > " + _("Setup"), _("Register audio file associations"), "script-message-to mpvnet reg-file-assoc audio"));
|
||||
Add(b, new (_("Config") + " > " + _("Setup"), _("Register image file associations"), "script-message-to mpvnet reg-file-assoc image"));
|
||||
Add(b, new (_("Config") + " > " + _("Setup"), _("Unregister file associations"), "script-message-to mpvnet reg-file-assoc unreg"));
|
||||
Add(b, new (_("Config") + " > " + _("Setup"), "-"));
|
||||
Add(b, new (_("Config") + " > " + _("Setup"), _("Add mpv.net to Path environment variable"), "script-message-to mpvnet add-to-path"));
|
||||
Add(b, new (_("Config") + " > " + _("Setup"), _("Remove mpv.net from Path environment variable"), "script-message-to mpvnet remove-from-path"));
|
||||
|
||||
Add(b, new (_("Tools"), _("Set/clear A-B loop points"), "ab-loop", "l"));
|
||||
Add(b, new (_("Tools"), _("Toggle infinite file looping"), "cycle-values loop-file inf no", "L"));
|
||||
|
||||
@@ -1,13 +1,4 @@
|
||||
|
||||
using CommunityToolkit.Mvvm.Messaging.Messages;
|
||||
|
||||
namespace MpvNet.MVVM;
|
||||
|
||||
public class MainWindowIsLoadedMessage { }
|
||||
|
||||
//public class ScaleWindowMessage : ValueChangedMessage<float>
|
||||
//{
|
||||
// public ScaleWindowMessage(float value) : base(value)
|
||||
// {
|
||||
// }
|
||||
//}
|
||||
|
||||
@@ -21,11 +21,11 @@ public class MpvClient
|
||||
public event Action? Seek; // seek MPV_EVENT_SEEK
|
||||
public event Action? PlaybackRestart; // playback-restart MPV_EVENT_PLAYBACK_RESTART
|
||||
|
||||
public Dictionary<string, List<Action>> PropChangeActions { get; set; } = new Dictionary<string, List<Action>>();
|
||||
public Dictionary<string, List<Action<int>>> IntPropChangeActions { get; set; } = new Dictionary<string, List<Action<int>>>();
|
||||
public Dictionary<string, List<Action<bool>>> BoolPropChangeActions { get; set; } = new Dictionary<string, List<Action<bool>>>();
|
||||
public Dictionary<string, List<Action<double>>> DoublePropChangeActions { get; set; } = new Dictionary<string, List<Action<double>>>();
|
||||
public Dictionary<string, List<Action<string>>> StringPropChangeActions { get; set; } = new Dictionary<string, List<Action<string>>>();
|
||||
public Dictionary<string, List<Action>> PropChangeActions { get; set; } = [];
|
||||
public Dictionary<string, List<Action<int>>> IntPropChangeActions { get; set; } = [];
|
||||
public Dictionary<string, List<Action<bool>>> BoolPropChangeActions { get; set; } = [];
|
||||
public Dictionary<string, List<Action<double>>> DoublePropChangeActions { get; set; } = [];
|
||||
public Dictionary<string, List<Action<string>>> StringPropChangeActions { get; set; } = [];
|
||||
|
||||
public nint Handle { get; set; }
|
||||
|
||||
@@ -132,46 +132,72 @@ public class MpvClient
|
||||
else if (data.format == mpv_format.MPV_FORMAT_STRING)
|
||||
{
|
||||
lock (StringPropChangeActions)
|
||||
{
|
||||
foreach (var pair in StringPropChangeActions)
|
||||
{
|
||||
if (pair.Key == data.name)
|
||||
{
|
||||
string value = ConvertFromUtf8(Marshal.PtrToStructure<IntPtr>(data.data));
|
||||
|
||||
foreach (var action in pair.Value)
|
||||
{
|
||||
action.Invoke(value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (data.format == mpv_format.MPV_FORMAT_INT64)
|
||||
{
|
||||
lock (IntPropChangeActions)
|
||||
{
|
||||
foreach (var pair in IntPropChangeActions)
|
||||
{
|
||||
if (pair.Key == data.name)
|
||||
{
|
||||
int value = Marshal.PtrToStructure<int>(data.data);
|
||||
|
||||
foreach (var action in pair.Value)
|
||||
{
|
||||
action.Invoke(value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (data.format == mpv_format.MPV_FORMAT_NONE)
|
||||
{
|
||||
lock (PropChangeActions)
|
||||
{
|
||||
foreach (var pair in PropChangeActions)
|
||||
{
|
||||
if (pair.Key == data.name)
|
||||
{
|
||||
foreach (var action in pair.Value)
|
||||
{
|
||||
action.Invoke();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (data.format == mpv_format.MPV_FORMAT_DOUBLE)
|
||||
{
|
||||
lock (DoublePropChangeActions)
|
||||
{
|
||||
foreach (var pair in DoublePropChangeActions)
|
||||
{
|
||||
if (pair.Key == data.name)
|
||||
{
|
||||
double value = Marshal.PtrToStructure<double>(data.data);
|
||||
|
||||
foreach (var action in pair.Value)
|
||||
{
|
||||
action.Invoke(value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -247,7 +273,9 @@ public class MpvClient
|
||||
mpv_error err = mpv_command_ret(Handle, rootPtr, resultNodePtr);
|
||||
|
||||
foreach (IntPtr ptr in pointers)
|
||||
{
|
||||
Marshal.FreeHGlobal(ptr);
|
||||
}
|
||||
|
||||
Marshal.FreeHGlobal(rootPtr);
|
||||
|
||||
@@ -409,7 +437,7 @@ public class MpvClient
|
||||
if (err < 0)
|
||||
HandleError(err, "error observing property: " + name);
|
||||
else
|
||||
IntPropChangeActions[name] = new List<Action<int>>();
|
||||
IntPropChangeActions[name] = [];
|
||||
}
|
||||
|
||||
if (IntPropChangeActions.ContainsKey(name))
|
||||
@@ -428,7 +456,7 @@ public class MpvClient
|
||||
if (err < 0)
|
||||
HandleError(err, "error observing property: " + name);
|
||||
else
|
||||
DoublePropChangeActions[name] = new List<Action<double>>();
|
||||
DoublePropChangeActions[name] = [];
|
||||
}
|
||||
|
||||
if (DoublePropChangeActions.ContainsKey(name))
|
||||
@@ -447,7 +475,7 @@ public class MpvClient
|
||||
if (err < 0)
|
||||
HandleError(err, "error observing property: " + name);
|
||||
else
|
||||
BoolPropChangeActions[name] = new List<Action<bool>>();
|
||||
BoolPropChangeActions[name] = [];
|
||||
}
|
||||
|
||||
if (BoolPropChangeActions.ContainsKey(name))
|
||||
@@ -466,7 +494,7 @@ public class MpvClient
|
||||
if (err < 0)
|
||||
HandleError(err, "error observing property: " + name);
|
||||
else
|
||||
StringPropChangeActions[name] = new List<Action<string>>();
|
||||
StringPropChangeActions[name] = [];
|
||||
}
|
||||
|
||||
if (StringPropChangeActions.ContainsKey(name))
|
||||
@@ -485,7 +513,7 @@ public class MpvClient
|
||||
if (err < 0)
|
||||
HandleError(err, "error observing property: " + name);
|
||||
else
|
||||
PropChangeActions[name] = new List<Action>();
|
||||
PropChangeActions[name] = [];
|
||||
}
|
||||
|
||||
if (PropChangeActions.ContainsKey(name))
|
||||
|
||||
@@ -1,27 +1,25 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net9.0</TargetFramework>
|
||||
<AssemblyName>libmpvnet</AssemblyName>
|
||||
<Product>mpv.net</Product>
|
||||
<Nullable>enable</Nullable>
|
||||
<RootNamespace>MpvNet</RootNamespace>
|
||||
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
|
||||
</PropertyGroup>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Include="..\..\docs\changelog.md" Link="Docs\changelog.md" />
|
||||
<None Include="..\..\docs\manual.md" Link="Docs\manual.md" />
|
||||
<None Include="..\..\README.md" Link="Docs\README.md" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\docs\changelog.md" Link="Docs\changelog.md" />
|
||||
<None Include="..\..\docs\manual.md" Link="Docs\manual.md" />
|
||||
<None Include="..\..\README.md" Link="Docs\README.md" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="Docs\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="Docs\" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.2.2" />
|
||||
<PackageReference Include="NGettext" Version="0.6.7" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="CommunityToolkit.Mvvm" />
|
||||
<PackageReference Include="NGettext" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@@ -73,10 +73,12 @@ public class MainPlayer : MpvClient
|
||||
MainHandle = mpv_create();
|
||||
Handle = MainHandle;
|
||||
|
||||
var events = Enum.GetValues(typeof(mpv_event_id)).Cast<mpv_event_id>();
|
||||
var events = Enum.GetValues<mpv_event_id>().Cast<mpv_event_id>();
|
||||
|
||||
foreach (mpv_event_id i in events)
|
||||
{
|
||||
mpv_request_event(MainHandle, i, 0);
|
||||
}
|
||||
|
||||
mpv_request_log_messages(MainHandle, "no");
|
||||
|
||||
@@ -194,7 +196,9 @@ public class MainPlayer : MpvClient
|
||||
mpv_destroy(Handle);
|
||||
|
||||
foreach (var client in Clients)
|
||||
{
|
||||
mpv_destroy(client.Handle);
|
||||
}
|
||||
}
|
||||
|
||||
public void ProcessProperty(string? name, string? value)
|
||||
@@ -263,6 +267,8 @@ public class MainPlayer : MpvClient
|
||||
}
|
||||
}
|
||||
|
||||
private readonly Regex ConfRegex = new Regex("^[\\w-]+$", RegexOptions.Compiled);
|
||||
|
||||
Dictionary<string, string>? _Conf;
|
||||
|
||||
public Dictionary<string, string> Conf {
|
||||
@@ -273,7 +279,7 @@ public class MainPlayer : MpvClient
|
||||
|
||||
App.ApplyInputDefaultBindingsFix();
|
||||
|
||||
_Conf = new Dictionary<string, string>();
|
||||
_Conf = [];
|
||||
|
||||
if (File.Exists(ConfPath))
|
||||
{
|
||||
@@ -281,12 +287,12 @@ public class MainPlayer : MpvClient
|
||||
{
|
||||
string line = it.TrimStart(' ', '-').TrimEnd();
|
||||
|
||||
if (line.StartsWith("#"))
|
||||
if (line.StartsWith('#'))
|
||||
continue;
|
||||
|
||||
if (!line.Contains('='))
|
||||
{
|
||||
if (Regex.Match(line, "^[\\w-]+$").Success)
|
||||
if (ConfRegex.Match(line).Success)
|
||||
line += "=yes";
|
||||
else
|
||||
continue;
|
||||
@@ -305,7 +311,9 @@ public class MainPlayer : MpvClient
|
||||
}
|
||||
|
||||
foreach (var i in _Conf)
|
||||
{
|
||||
ProcessProperty(i.Key, i.Value);
|
||||
}
|
||||
|
||||
return _Conf;
|
||||
}
|
||||
@@ -331,7 +339,9 @@ public class MainPlayer : MpvClient
|
||||
public void MainEventLoop()
|
||||
{
|
||||
while (true)
|
||||
{
|
||||
mpv_wait_event(MainHandle, -1);
|
||||
}
|
||||
}
|
||||
|
||||
protected override void OnShutdown()
|
||||
@@ -479,14 +489,14 @@ public class MainPlayer : MpvClient
|
||||
Command("stop");
|
||||
Thread.Sleep(500);
|
||||
SetPropertyString("dvd-device", path);
|
||||
LoadFiles(new[] { @"dvd://" }, false, false);
|
||||
LoadFiles([@"dvd://"], false, false);
|
||||
}
|
||||
else
|
||||
{
|
||||
Command("stop");
|
||||
Thread.Sleep(500);
|
||||
SetPropertyString("bluray-device", path);
|
||||
LoadFiles(new[] { @"bd://" }, false, false);
|
||||
LoadFiles([@"bd://"], false, false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -498,12 +508,12 @@ public class MainPlayer : MpvClient
|
||||
if (Directory.Exists(path + "\\BDMV"))
|
||||
{
|
||||
SetPropertyString("bluray-device", path);
|
||||
LoadFiles(new[] { @"bd://" }, false, false);
|
||||
LoadFiles([@"bd://"], false, false);
|
||||
}
|
||||
else
|
||||
{
|
||||
SetPropertyString("dvd-device", path);
|
||||
LoadFiles(new[] { @"dvd://" }, false, false);
|
||||
LoadFiles([@"dvd://"], false, false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -601,8 +611,10 @@ public class MainPlayer : MpvClient
|
||||
static string GetNativeLanguage(string name)
|
||||
{
|
||||
foreach (CultureInfo ci in CultureInfo.GetCultures(CultureTypes.NeutralCultures))
|
||||
{
|
||||
if (ci.EnglishName == name)
|
||||
return ci.NativeName;
|
||||
}
|
||||
|
||||
return name;
|
||||
}
|
||||
@@ -629,7 +641,7 @@ public class MainPlayer : MpvClient
|
||||
if (_audioDevices != null)
|
||||
return _audioDevices;
|
||||
|
||||
_audioDevices = new();
|
||||
_audioDevices = [];
|
||||
string json = GetPropertyString("audio-device-list");
|
||||
var enumerator = JsonDocument.Parse(json).RootElement.EnumerateArray();
|
||||
|
||||
@@ -680,6 +692,8 @@ public class MainPlayer : MpvClient
|
||||
}
|
||||
}
|
||||
|
||||
private readonly Regex TitleRegex = new Regex(@"^[\._\-]", RegexOptions.Compiled);
|
||||
|
||||
public List<MediaTrack> GetTracks(bool includeInternal = true, bool includeExternal = true)
|
||||
{
|
||||
List<MediaTrack> tracks = new List<MediaTrack>();
|
||||
@@ -697,7 +711,7 @@ public class MainPlayer : MpvClient
|
||||
string filename = GetPropertyString($"filename/no-ext");
|
||||
string title = GetPropertyString($"track-list/{i}/title").Replace(filename, "");
|
||||
|
||||
title = Regex.Replace(title, @"^[\._\-]", "");
|
||||
title = TitleRegex.Replace(title, "");
|
||||
|
||||
if (type == "video")
|
||||
{
|
||||
@@ -1043,7 +1057,7 @@ public class MainPlayer : MpvClient
|
||||
if (_profileNames != null)
|
||||
return _profileNames;
|
||||
|
||||
string[] ignore = { "builtin-pseudo-gui", "encoding", "libmpv", "pseudo-gui", "default" };
|
||||
string[] ignore = ["builtin-pseudo-gui", "encoding", "libmpv", "pseudo-gui", "default"];
|
||||
string json = GetPropertyString("profile-list");
|
||||
return _profileNames = JsonDocument.Parse(json).RootElement.EnumerateArray()
|
||||
.Select(it => it.GetProperty("name").GetString())
|
||||
|
||||
@@ -1,16 +1,15 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0-windows</TargetFramework>
|
||||
<UseWPF>true</UseWPF>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net9.0-windows</TargetFramework>
|
||||
<UseWPF>true</UseWPF>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.Xaml.Behaviors.Wpf" Version="1.1.77" />
|
||||
<PackageReference Include="NGettext" Version="0.6.7" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.Xaml.Behaviors.Wpf" />
|
||||
<PackageReference Include="NGettext" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@@ -40,7 +40,7 @@ Test (Join-Path $SourceDir 'MpvNet.sln')
|
||||
$7zFile = Test 'C:\Program Files\7-Zip\7z.exe'
|
||||
$InnoSetupCompiler = Test 'C:\Program Files (x86)\Inno Setup 6\ISCC.exe'
|
||||
|
||||
$ReleaseNotes = "- [.NET Desktop Runtime 6.0](https://dotnet.microsoft.com/en-us/download/dotnet/6.0)`n- [Changelog](https://github.com/mpvnet-player/mpv.net/blob/main/docs/changelog.md)"
|
||||
$ReleaseNotes = "- [.NET Desktop Runtime 9.0](https://dotnet.microsoft.com/en-us/download/dotnet/9.0)`n- [Changelog](https://github.com/mpvnet-player/mpv.net/blob/main/docs/changelog.md)"
|
||||
$Repo = 'github.com/mpvnet-player/mpv.net'
|
||||
|
||||
# Dotnet Publish
|
||||
|
||||
@@ -4,8 +4,7 @@
|
||||
Updates mpv (x64) and libmpv (x64 , ARM64).
|
||||
|
||||
Files are downloaded from:
|
||||
x64: github.com/zhongfly/mpv-winbuild
|
||||
ARM64: github.com/Andarwinux/mpv-winbuild
|
||||
https://github.com/shinchiro/mpv-winbuild-cmake/releases
|
||||
|
||||
Requires 7zip being installed at 'C:\Program Files\7-Zip\7z.exe'.
|
||||
|
||||
@@ -54,8 +53,8 @@ function Unpack($archieveFile, $outputRootDir) {
|
||||
# Update mpv x64
|
||||
|
||||
if (Test-Path (Join-Path $MpvDirX64 'mpv.exe')) {
|
||||
$apiURL = "https://api.github.com/repos/zhongfly/mpv-winbuild/releases/latest"
|
||||
$archiveFile = Get-Item (Download $apiURL "mpv-x86_64-[0-9]{8}")
|
||||
$apiURL = "https://api.github.com/repos/shinchiro/mpv-winbuild-cmake/releases/latest"
|
||||
$archiveFile = Get-Item (Download $apiURL "mpv-x86_64-[0-9]{8}-git-[0-9a-z]+\.7z")
|
||||
$archiveDir = Unpack $archiveFile $env:TEMP
|
||||
Remove-Item "$MpvDirX64\*" -Force -Recurse
|
||||
Copy-Item "$archiveDir\*" $MpvDirX64 -Force -Recurse
|
||||
@@ -68,8 +67,8 @@ if (Test-Path (Join-Path $MpvDirX64 'mpv.exe')) {
|
||||
# Update libmpv x64
|
||||
|
||||
if (Test-Path (Join-Path $LibmpvDirX64 'libmpv-2.dll')) {
|
||||
$apiURL = "https://api.github.com/repos/zhongfly/mpv-winbuild/releases/latest"
|
||||
$archiveFile = Get-Item (Download $apiURL "mpv-dev-x86_64-[0-9]{8}")
|
||||
$apiURL = "https://api.github.com/repos/shinchiro/mpv-winbuild-cmake/releases/latest"
|
||||
$archiveFile = Get-Item (Download $apiURL "mpv-dev-x86_64-[0-9]{8}-git-[0-9a-z]+\.7z")
|
||||
$archiveDir = Unpack $archiveFile $env:TEMP
|
||||
Copy-Item $archiveDir\libmpv-2.dll $LibmpvDirX64 -Force
|
||||
Remove-Item $archiveFile.FullName
|
||||
@@ -81,8 +80,8 @@ if (Test-Path (Join-Path $LibmpvDirX64 'libmpv-2.dll')) {
|
||||
# Update libmpv ARM64
|
||||
|
||||
if (Test-Path (Join-Path $LibmpvDirARM64 'libmpv-2.dll')) {
|
||||
$apiURL = "https://api.github.com/repos/Andarwinux/mpv-winbuild/releases/latest"
|
||||
$archiveFile = Get-Item (Download $apiURL "mpv-dev-aarch64-[0-9]{8}")
|
||||
$apiURL = "https://api.github.com/repos/shinchiro/mpv-winbuild-cmake/releases/latest"
|
||||
$archiveFile = Get-Item (Download $apiURL "mpv-dev-aarch64-[0-9]{8}-git-[0-9a-z]+\.7z")
|
||||
$archiveDir = Unpack $archiveFile $env:TEMP
|
||||
Copy-Item $archiveDir\libmpv-2.dll $LibmpvDirARM64 -Force
|
||||
Remove-Item $archiveFile.FullName
|
||||
|
||||
Reference in New Issue
Block a user