--- modules/gui/macosx/orig.open.m 2016-12-17 19:55:54.000000000 +0100 +++ modules/gui/macosx/open.m 2016-12-17 20:26:12.000000000 +0100 @@ -40,7 +40,14 @@ #import #import #import +#import +#if defined(MAC_OS_X_VERSION_10_12) \ + && ((MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12) || (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_12)) +#warning "Excluding all code and features based on QTKit" +#else #import +#define HAVE_QTKIT +#endif #import "intf.h" #import "playlist.h" @@ -51,8 +58,10 @@ #import +#ifdef HAVE_QTKIT NSArray *qtkvideoDevices; NSArray *qtkaudioDevices; +#endif #define setEyeTVUnconnected \ [o_capture_lbl setStringValue: _NS("No device is selected")]; \ [o_capture_long_lbl setStringValue: _NS("No device is selected.\n\nChoose available device in above pull-down menu.\n")]; \ @@ -207,7 +216,9 @@ [o_screen_width_lbl setStringValue: [NSString stringWithFormat:@"%@:",_NS("Subscreen width")]]; [o_screen_height_lbl setStringValue: [NSString stringWithFormat:@"%@:",_NS("Subscreen height")]]; [o_screen_follow_mouse_ckb setTitle: _NS("Follow the mouse")]; +#ifdef HAVE_QTKIT [o_screen_qtk_audio_ckb setTitle: _NS("Capture Audio")]; +#endif [o_eyetv_currentChannel_lbl setStringValue: _NS("Current channel:")]; [o_eyetv_previousProgram_btn setTitle: _NS("Previous Channel")]; [o_eyetv_nextProgram_btn setTitle: _NS("Next Channel")]; @@ -223,6 +234,7 @@ [o_file_starttime_fld setFormatter:[[[PositionFormatter alloc] init] autorelease]]; [o_file_stoptime_fld setFormatter:[[[PositionFormatter alloc] init] autorelease]]; +#ifdef HAVE_QTKIT [self qtkvideoDevices]; [o_qtk_video_device_pop removeAllItems]; msg_Dbg(VLCIntf, "Found %lu video capture devices", [qtkvideoDevices count]); @@ -275,6 +287,7 @@ [o_screen_qtk_audio_pop addItemWithTitle: _NS("None")]; [qtkaudio_currdevice_uid release]; } +#endif [self setSubPanel]; @@ -321,7 +334,9 @@ [[sharedWorkspace notificationCenter] addObserver:self selector:@selector(scanOpticalMedia:) name:NSWorkspaceDidMountNotification object:nil]; [[sharedWorkspace notificationCenter] addObserver:self selector:@selector(scanOpticalMedia:) name:NSWorkspaceDidUnmountNotification object:nil]; +#ifdef HAVE_QTKIT [self qtkToggleUIElements:nil]; +#endif [self scanOpticalMedia:nil]; [self setMRL: @""]; @@ -504,16 +519,20 @@ [o_options addObject: @"screen-follow-mouse"]; else [o_options addObject: @"no-screen-follow-mouse"]; +#ifdef HAVE_QTKIT if ([o_screen_qtk_audio_ckb state] && qtkaudio_currdevice_uid) [o_options addObject: [NSString stringWithFormat: @"input-slave=qtsound://%@", qtkaudio_currdevice_uid]]; +#endif } else if ([[[o_capture_mode_pop selectedItem] title] isEqualToString: _NS("Input Devices")]) { +#ifdef HAVE_QTKIT if ([o_qtk_video_ckb state]) { [o_options addObject: [NSString stringWithFormat: @"qtcapture-width=%i", [o_capture_width_fld intValue]]]; [o_options addObject: [NSString stringWithFormat: @"qtcapture-height=%i", [o_capture_height_fld intValue]]]; if ([o_qtk_audio_ckb state] && qtkaudio_currdevice_uid) [o_options addObject: [NSString stringWithFormat: @"input-slave=qtsound://%@", qtkaudio_currdevice_uid]]; } +#endif } } @@ -539,11 +558,14 @@ [o_screen_width_stp setMaxValue: item->rect.size.width]; [o_screen_height_stp setMaxValue: item->rect.size.height]; +#ifdef HAVE_QTKIT [o_screen_qtk_audio_pop setEnabled: [o_screen_qtk_audio_ckb state]]; +#endif } - (IBAction)qtkChanged:(id)sender { +#ifdef HAVE_QTKIT NSInteger i_selectedDevice = [o_qtk_video_device_pop indexOfSelectedItem]; if ([qtkvideoDevices count] >= 1) { NSValue *sizes = [[[[qtkvideoDevices objectAtIndex:i_selectedDevice] formatDescriptions] objectAtIndex:0] attributeForKey: QTFormatDescriptionVideoEncodedPixelsSizeAttribute]; @@ -554,20 +576,24 @@ [o_capture_height_stp setIntValue: [o_capture_height_fld intValue]]; qtk_currdevice_uid = [[(QTCaptureDevice *)[qtkvideoDevices objectAtIndex:i_selectedDevice] uniqueID] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; } +#endif } - (IBAction)qtkAudioChanged:(id)sender { +#ifdef HAVE_QTKIT NSInteger i_selectedDevice = [o_qtk_audio_device_pop indexOfSelectedItem]; if ([qtkaudioDevices count] >= 1) { qtkaudio_currdevice_uid = [[(QTCaptureDevice *)[qtkaudioDevices objectAtIndex:i_selectedDevice] uniqueID] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; } [o_screen_qtk_audio_pop selectItemAtIndex: i_selectedDevice]; [o_qtk_audio_device_pop selectItemAtIndex: i_selectedDevice]; +#endif } - (IBAction)qtkToggleUIElements:(id)sender { +#ifdef HAVE_QTKIT [o_qtk_audio_device_pop setEnabled:[o_qtk_audio_ckb state]]; BOOL b_state = [o_qtk_video_ckb state]; [o_qtk_video_device_pop setEnabled:b_state]; @@ -578,6 +604,7 @@ [self qtkAudioChanged:sender]; [self qtkChanged:sender]; [self openCaptureModeChanged:sender]; +#endif } #pragma mark - @@ -1402,18 +1429,22 @@ } } else if ([[[o_capture_mode_pop selectedItem] title] isEqualToString: _NS("Input Devices")]) { +#ifdef HAVE_QTKIT [self showCaptureView: o_qtk_view]; if ([o_capture_width_fld intValue] <= 0) [self qtkChanged:nil]; [self qtkAudioChanged:nil]; +#endif [self setMRL: @""]; +#ifdef HAVE_QTKIT if ([o_qtk_video_ckb state] && qtk_currdevice_uid) [self setMRL:[NSString stringWithFormat:@"qtcapture://%@", qtk_currdevice_uid]]; else if ([o_qtk_audio_ckb state] && qtkaudio_currdevice_uid) [self setMRL:[NSString stringWithFormat:@"qtsound://%@", qtkaudio_currdevice_uid]]; +#endif } } @@ -1597,28 +1628,40 @@ - (NSArray *)qtkvideoDevices { +#ifdef HAVE_QTKIT if (!qtkvideoDevices) [self qtkrefreshVideoDevices]; return qtkvideoDevices; +#else + return NULL; +#endif } - (void)qtkrefreshVideoDevices { +#ifdef HAVE_QTKIT [qtkvideoDevices release]; qtkvideoDevices = [[[QTCaptureDevice inputDevicesWithMediaType:QTMediaTypeVideo] arrayByAddingObjectsFromArray:[QTCaptureDevice inputDevicesWithMediaType:QTMediaTypeMuxed]] retain]; +#endif } - (NSArray *)qtkaudioDevices { +#ifdef HAVE_QTKIT if (!qtkaudioDevices) [self qtkrefreshAudioDevices]; return qtkaudioDevices; +#else + return NULL; +#endif } - (void)qtkrefreshAudioDevices { +#ifdef HAVE_QTKIT [qtkaudioDevices release]; qtkaudioDevices = [[[QTCaptureDevice inputDevicesWithMediaType:QTMediaTypeSound] arrayByAddingObjectsFromArray:[QTCaptureDevice inputDevicesWithMediaType:QTMediaTypeMuxed]] retain]; +#endif } @end