diff --git a/builds/ATEM Camera Control 2021-07-26 14-10-10/ATEM Camera Control.app/Contents/Info.plist b/builds/ATEM Camera Control 2021-07-26 14-10-10/ATEM Camera Control.app/Contents/Info.plist new file mode 100644 index 0000000..b133713 --- /dev/null +++ b/builds/ATEM Camera Control 2021-07-26 14-10-10/ATEM Camera Control.app/Contents/Info.plist @@ -0,0 +1,56 @@ + + + + + BuildMachineOSBuild + 19H1030 + CFBundleDevelopmentRegion + en + CFBundleExecutable + ATEM Camera Control + CFBundleIconFile + AppIcon + CFBundleIconName + AppIcon + CFBundleIdentifier + com.antlerpost.ATEM-Camera-Control + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ATEM Camera Control + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0.2 + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 3 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 12C33 + DTPlatformName + macosx + DTPlatformVersion + 11.1 + DTSDKBuild + 20C63 + DTSDKName + macosx11.1 + DTXcode + 1230 + DTXcodeBuild + 12C33 + LSMinimumSystemVersion + 10.9 + NSHumanReadableCopyright + Copyright © 2021 Antler Post. All rights reserved. + NSMainNibFile + MainMenu + NSPrincipalClass + NSApplication + + diff --git a/builds/ATEM Camera Control 2021-07-26 14-10-10/ATEM Camera Control.app/Contents/MacOS/ATEM Camera Control b/builds/ATEM Camera Control 2021-07-26 14-10-10/ATEM Camera Control.app/Contents/MacOS/ATEM Camera Control new file mode 100755 index 0000000..8e5b2f4 Binary files /dev/null and b/builds/ATEM Camera Control 2021-07-26 14-10-10/ATEM Camera Control.app/Contents/MacOS/ATEM Camera Control differ diff --git a/builds/ATEM Camera Control 2021-07-26 14-10-10/ATEM Camera Control.app/Contents/PkgInfo b/builds/ATEM Camera Control 2021-07-26 14-10-10/ATEM Camera Control.app/Contents/PkgInfo new file mode 100644 index 0000000..bd04210 --- /dev/null +++ b/builds/ATEM Camera Control 2021-07-26 14-10-10/ATEM Camera Control.app/Contents/PkgInfo @@ -0,0 +1 @@ +APPL???? \ No newline at end of file diff --git a/builds/ATEM Camera Control 2021-07-26 14-10-10/ATEM Camera Control.app/Contents/Resources/ATEMicon.png b/builds/ATEM Camera Control 2021-07-26 14-10-10/ATEM Camera Control.app/Contents/Resources/ATEMicon.png new file mode 100644 index 0000000..73f9c8e Binary files /dev/null and b/builds/ATEM Camera Control 2021-07-26 14-10-10/ATEM Camera Control.app/Contents/Resources/ATEMicon.png differ diff --git a/builds/ATEM Camera Control 2021-07-26 14-10-10/ATEM Camera Control.app/Contents/Resources/AppIcon.icns b/builds/ATEM Camera Control 2021-07-26 14-10-10/ATEM Camera Control.app/Contents/Resources/AppIcon.icns new file mode 100644 index 0000000..2789d8d Binary files /dev/null and b/builds/ATEM Camera Control 2021-07-26 14-10-10/ATEM Camera Control.app/Contents/Resources/AppIcon.icns differ diff --git a/builds/ATEM Camera Control 2021-07-26 14-10-10/ATEM Camera Control.app/Contents/Resources/Assets.car b/builds/ATEM Camera Control 2021-07-26 14-10-10/ATEM Camera Control.app/Contents/Resources/Assets.car new file mode 100644 index 0000000..9971c66 Binary files /dev/null and b/builds/ATEM Camera Control 2021-07-26 14-10-10/ATEM Camera Control.app/Contents/Resources/Assets.car differ diff --git a/builds/ATEM Camera Control 2021-07-26 14-10-10/ATEM Camera Control.app/Contents/Resources/Base.lproj/MainMenu.nib b/builds/ATEM Camera Control 2021-07-26 14-10-10/ATEM Camera Control.app/Contents/Resources/Base.lproj/MainMenu.nib new file mode 100644 index 0000000..8f2aa54 Binary files /dev/null and b/builds/ATEM Camera Control 2021-07-26 14-10-10/ATEM Camera Control.app/Contents/Resources/Base.lproj/MainMenu.nib differ diff --git a/source/ATEM Camera Control.xcodeproj/project.pbxproj b/source/ATEM Camera Control.xcodeproj/project.pbxproj index 235ccba..2eaf6ec 100644 --- a/source/ATEM Camera Control.xcodeproj/project.pbxproj +++ b/source/ATEM Camera Control.xcodeproj/project.pbxproj @@ -276,12 +276,12 @@ CODE_SIGN_IDENTITY = ""; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 2; + CURRENT_PROJECT_VERSION = 3; DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = "ATEM Camera Control/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; MACOSX_DEPLOYMENT_TARGET = 10.9; - MARKETING_VERSION = 1.0.1; + MARKETING_VERSION = 1.0.2; PRODUCT_BUNDLE_IDENTIFIER = "com.antlerpost.ATEM-Camera-Control"; PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -296,12 +296,12 @@ CODE_SIGN_IDENTITY = ""; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 2; + CURRENT_PROJECT_VERSION = 3; DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = "ATEM Camera Control/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; MACOSX_DEPLOYMENT_TARGET = 10.9; - MARKETING_VERSION = 1.0.1; + MARKETING_VERSION = 1.0.2; PRODUCT_BUNDLE_IDENTIFIER = "com.antlerpost.ATEM-Camera-Control"; PRODUCT_NAME = "$(TARGET_NAME)"; }; diff --git a/source/ATEM Camera Control/AppDelegate.h b/source/ATEM Camera Control/AppDelegate.h index a3b8f80..332b450 100644 --- a/source/ATEM Camera Control/AppDelegate.h +++ b/source/ATEM Camera Control/AppDelegate.h @@ -93,6 +93,16 @@ - (IBAction)gradeLiftUpdate:(id)sender; - (IBAction)gradeGammaUpdate:(id)sender; - (IBAction)gradeSatUpdate:(id)sender; +- (IBAction)runMacroZero:(id)sender; +- (IBAction)runMacroOne:(id)sender; +- (IBAction)runMacroTwo:(id)sender; +- (IBAction)runMacroThree:(id)sender; +- (IBAction)runMacroFour:(id)sender; +- (IBAction)runMacroFive:(id)sender; +- (IBAction)runMacroSix:(id)sender; +- (IBAction)runMacroSeven:(id)sender; +- (IBAction)runMacroNine:(id)sender; +- (IBAction)runMacroEight:(id)sender; @end diff --git a/source/ATEM Camera Control/AppDelegate.mm b/source/ATEM Camera Control/AppDelegate.mm index 8747957..073a003 100644 --- a/source/ATEM Camera Control/AppDelegate.mm +++ b/source/ATEM Camera Control/AppDelegate.mm @@ -15,6 +15,7 @@ static const uint8_t kCameraAddress = 1; // Camera Number 1 IBMDSwitcher* switcher; IBMDSwitcherCameraControl* cameraControl; +IBMDSwitcherMacroControl* macroControl; double focus = 0.35; double iris = 0.0; double zoom = 0.5; @@ -83,6 +84,13 @@ - (void)applicationDidFinishLaunching:(NSNotification *)aNotification { NSRunAlertPanel(@"Camera Failure", @"Too bad!", @"Quit", nil, nil); [NSApp terminate:self]; } + // Get camera control interface from switcher object + result = switcher->QueryInterface(IID_IBMDSwitcherMacroControl, (void**)¯oControl); + if (result != S_OK) + { + NSRunAlertPanel(@"Macro Failure", @"Too bad!", @"Quit", nil, nil); + [NSApp terminate:self]; + } [_memA sendActionOn:NSEventMaskLeftMouseDown]; [_memB sendActionOn:NSEventMaskLeftMouseDown]; [_memC sendActionOn:NSEventMaskLeftMouseDown]; @@ -634,6 +642,86 @@ - (IBAction)gradeGammaUpdate:(id)sender { [self sendGamma]; } +- (IBAction)runMacroEight:(id)sender { + HRESULT result = macroControl->Run(8); + if (result != S_OK) + { + NSLog(@"Failed to send Macro Eight"); + } +} + +- (IBAction)runMacroNine:(id)sender { + HRESULT result = macroControl->Run(9); + if (result != S_OK) + { + NSLog(@"Failed to send Macro Nine"); + } +} + +- (IBAction)runMacroSeven:(id)sender { + HRESULT result = macroControl->Run(7); + if (result != S_OK) + { + NSLog(@"Failed to send Macro Seven"); + } +} + +- (IBAction)runMacroSix:(id)sender { + HRESULT result = macroControl->Run(6); + if (result != S_OK) + { + NSLog(@"Failed to send Macro Six"); + } +} + +- (IBAction)runMacroFive:(id)sender { + HRESULT result = macroControl->Run(5); + if (result != S_OK) + { + NSLog(@"Failed to send Macro Five"); + } +} + +- (IBAction)runMacroFour:(id)sender { + HRESULT result = macroControl->Run(4); + if (result != S_OK) + { + NSLog(@"Failed to send Macro Four"); + } +} + +- (IBAction)runMacroThree:(id)sender { + HRESULT result = macroControl->Run(3); + if (result != S_OK) + { + NSLog(@"Failed to send Macro Three"); + } +} + +- (IBAction)runMacroTwo:(id)sender { + HRESULT result = macroControl->Run(2); + if (result != S_OK) + { + NSLog(@"Failed to send Macro Two"); + } +} + +- (IBAction)runMacroOne:(id)sender { + HRESULT result = macroControl->Run(1); + if (result != S_OK) + { + NSLog(@"Failed to send Macro One"); + } +} + +- (IBAction)runMacroZero:(id)sender { + HRESULT result = macroControl->Run(0); + if (result != S_OK) + { + NSLog(@"Failed to send Macro Zero"); + } +} + - (IBAction)gradeSatUpdate:(id)sender { gradeSat = [sender floatValue]; [self.gradeSatField setFloatValue:gradeSat]; diff --git a/source/ATEM Camera Control/Base.lproj/MainMenu.xib b/source/ATEM Camera Control/Base.lproj/MainMenu.xib index dbb4f56..82ede1d 100644 --- a/source/ATEM Camera Control/Base.lproj/MainMenu.xib +++ b/source/ATEM Camera Control/Base.lproj/MainMenu.xib @@ -429,6 +429,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +