From 5978c7f85e0cb924d5fcfd20211df8fc2e7fc215 Mon Sep 17 00:00:00 2001 From: Zakk Date: Sun, 1 Jan 2017 14:23:14 -0500 Subject: [PATCH] Added source menu item to restore the aspect ratio to the input AR --- .../UserInterfaceState.xcuserstate | Bin 263077 -> 263088 bytes CocoaSplit/InputSource.h | 3 ++ CocoaSplit/InputSource.m | 28 ++++++++++++++- CocoaSplit/PreviewView.m | 33 ++++++++++++++++++ 4 files changed, 63 insertions(+), 1 deletion(-) diff --git a/CocoaSplit.xcodeproj/project.xcworkspace/xcuserdata/zakk.xcuserdatad/UserInterfaceState.xcuserstate b/CocoaSplit.xcodeproj/project.xcworkspace/xcuserdata/zakk.xcuserdatad/UserInterfaceState.xcuserstate index 51b5d417aa1cd1bb5674005062ac11b86c6e4b37..3fe482a72bfd165df46f924f2a0b5b652d0bfd34 100644 GIT binary patch delta 29643 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 Y|Nq~^!TLa3{e736!=JDel%{MT)yS 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 PbL!M=55FCJ@az8prffGL diff --git a/CocoaSplit/InputSource.h b/CocoaSplit/InputSource.h index 4f3b2ce7..b0ad94ff 100644 --- a/CocoaSplit/InputSource.h +++ b/CocoaSplit/InputSource.h @@ -245,6 +245,9 @@ typedef enum resize_style_t { -(void)autoCenter:(NSRect)containerRect; -(void)autoSize; -(void)layerUpdated; +-(void)resetAspectRatio; + + diff --git a/CocoaSplit/InputSource.m b/CocoaSplit/InputSource.m index 7301609a..2eafbc0e 100644 --- a/CocoaSplit/InputSource.m +++ b/CocoaSplit/InputSource.m @@ -1938,6 +1938,33 @@ static NSArray *_sourceTypes = nil; } +-(void)resetAspectRatio +{ + + + if (!self.videoInput || NSEqualSizes(NSZeroSize, self.videoInput.captureSize)) + { + return; + } + + CGFloat height = self.height; + CGFloat width = self.width; + + CGFloat inputAR = self.videoInput.captureSize.width / self.videoInput.captureSize.height; + if (height > width) + { + width = inputAR * height; + } else { + height = width/inputAR; + } + + resize_style resizeSave = self.resizeType; + self.resizeType = kResizeTop | kResizeRight | kResizeFree; + [self updateSize:width height:height]; + self.resizeType = resizeSave; +} + + -(void) updateSize:(CGFloat)width height:(CGFloat)height { @@ -1962,7 +1989,6 @@ static NSArray *_sourceTypes = nil; height = width/inputAR; delta_h = height - oldLayout.size.height; } - } if (self.layer) diff --git a/CocoaSplit/PreviewView.m b/CocoaSplit/PreviewView.m index 045c6a7f..419786f4 100644 --- a/CocoaSplit/PreviewView.m +++ b/CocoaSplit/PreviewView.m @@ -283,10 +283,15 @@ } else { tmp = [self.sourceSettingsMenu insertItemWithTitle:@"Attach to underlying input" action:@selector(subLayerInputSource:) keyEquivalent:@"" atIndex:idx++]; } + + tmp.target = self; + + tmp = [self.sourceSettingsMenu insertItemWithTitle:@"Reset to source AR" action:@selector(resetSourceAR:) keyEquivalent:@"" atIndex:idx++]; tmp.target = self; } + -(void)doLayoutMidi:(id)sender { if (self.sourceLayout) @@ -1167,6 +1172,34 @@ } + +-(void)resetSourceAR:(id)sender +{ + InputSource *toReset = nil; + + if (sender) + { + if ([sender isKindOfClass:[NSMenuItem class]]) + { + NSMenuItem *item = (NSMenuItem *)sender; + toReset = (InputSource *)item.representedObject; + } else if ([sender isKindOfClass:[InputSource class]]) { + toReset = (InputSource *)sender; + } + } + + if (!toReset) + { + toReset = self.selectedSource; + } + + if (toReset) + { + [((InputSource *)toReset) resetAspectRatio]; + } +} + + -(void)detachSource:(id)sender { InputSource *toDetach = nil;