This commit is contained in:
Frank Skare
2019-07-06 09:35:14 +02:00
parent 37e6c198a1
commit 1f8635e9c4
3 changed files with 30 additions and 7 deletions

View File

@@ -1,12 +1,18 @@
### ###
- fix for middle mouse button not working - fix for middle mouse button not working
- fix of logo overlay using a huge amount of memory - fix of logo overlay using a huge amount of memory (thx for the [ghacks article](https://www.ghacks.net/2019/07/05/a-look-at-mpv-net-a-mpv-frontend-with-everything-integration/))
- fix config dialog showing a message about app restart without reason - fix config dialog showing a message about app restart without reason
- when multiple files are selected in Windows File Explorer and enter is - when multiple files are selected in Windows File Explorer and enter is
pressed, the files are opened as selected, the order is random though pressed, the files are opened as selected, the order is random though
because Explorer starts multiple mpv.net processes concurrently because Explorer starts multiple mpv.net processes concurrently
- libmpv was updated to shinchiro 2019-06-30 - libmpv was updated to shinchiro 2019-06-30
- the [mpv.conf defaults](https://github.com/stax76/mpv.net/blob/master/mpv.net/Resources/mpvConf.txt) were changed to show a larger OSC
- in case a file is opened that has a aspect ratio smaller then 1.2 then
the window size will use a aspect ratio of 1.8
- new JavaScript script osc-visibility.js included in the distribution
under startup\scripts. It sets the OSC to be always on for audio files
and auto for non audio files
### 4.5 ### 4.5

View File

@@ -11,4 +11,5 @@ keep-open = yes
keep-open-pause = no keep-open-pause = no
osd-playing-msg = '${filename}' osd-playing-msg = '${filename}'
screenshot-directory = '~~desktop/' screenshot-directory = '~~desktop/'
input-default-bindings = no input-default-bindings = no
script-opts=osc-scalewindowed=1.5

View File

@@ -224,12 +224,28 @@ namespace mpvnet
void SetFormPosAndSize() void SetFormPosAndSize()
{ {
if (IsFullscreen || mp.VideoSize.Width == 0) return; if (IsFullscreen)
return;
Size size = mp.VideoSize;
Screen screen = Screen.FromControl(this); Screen screen = Screen.FromControl(this);
int height = mp.VideoSize.Height; int fixedHeight = Convert.ToInt32(screen.Bounds.Height * mp.Autofit);
if (mp.RememberHeight) height = ClientSize.Height;
if (height > screen.Bounds.Height * 0.9) height = Convert.ToInt32(screen.Bounds.Height * mp.Autofit); if (size.Height == 0 || size.Width == 0 || size.Width / (float)size.Height < 1.2)
int width = Convert.ToInt32(height * mp.VideoSize.Width / (double)mp.VideoSize.Height); {
size.Height = fixedHeight;
size.Width = (int)(fixedHeight * 1.8);
}
int height = size.Height;
if (mp.RememberHeight)
height = ClientSize.Height;
if (height > screen.Bounds.Height * 0.9)
height = fixedHeight;
int width = Convert.ToInt32(height * size.Width / (double)size.Height);
Point middlePos = new Point(Left + Width / 2, Top + Height / 2); Point middlePos = new Point(Left + Width / 2, Top + Height / 2);
var rect = new Native.RECT(new Rectangle(screen.Bounds.X, screen.Bounds.Y, width, height)); var rect = new Native.RECT(new Rectangle(screen.Bounds.X, screen.Bounds.Y, width, height));
NativeHelp.AddWindowBorders(Handle, ref rect); NativeHelp.AddWindowBorders(Handle, ref rect);