Commit 9e900f26 authored by Felix Paul Kühne's avatar Felix Paul Kühne

macosx/open: added controls to capture Live Audio along with the current screen content

parent 41041ace
...@@ -77,6 +77,7 @@ Mac OS X Port: ...@@ -77,6 +77,7 @@ Mac OS X Port:
Mac OS X Interface: Mac OS X Interface:
* add a GUI for the QTSound access module to process audio captured locally * add a GUI for the QTSound access module to process audio captured locally
- This also allows to capture input from a webcam and a mic at the same time. - This also allows to capture input from a webcam and a mic at the same time.
* add a GUI to capture QTSound data along with the current screen content
* add an option to let the Apple Remote control the system volume instead of * add an option to let the Apple Remote control the system volume instead of
VLC's internal volume level VLC's internal volume level
* add an option to disable skipping to next/previous file with the Apple Remote * add an option to disable skipping to next/previous file with the Apple Remote
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -210,6 +210,8 @@ ...@@ -210,6 +210,8 @@
IBOutlet id o_screen_height_lbl; IBOutlet id o_screen_height_lbl;
IBOutlet id o_screen_height_stp; IBOutlet id o_screen_height_stp;
IBOutlet id o_screen_follow_mouse_ckb; IBOutlet id o_screen_follow_mouse_ckb;
IBOutlet id o_screen_qtk_audio_pop;
IBOutlet id o_screen_qtk_audio_ckb;
/* QTK support */ /* QTK support */
IBOutlet id o_qtk_view; IBOutlet id o_qtk_view;
......
...@@ -210,6 +210,7 @@ static VLCOpen *_o_sharedMainInstance = nil; ...@@ -210,6 +210,7 @@ static VLCOpen *_o_sharedMainInstance = nil;
[o_screen_width_lbl setStringValue: _NS("Subscreen width:")]; [o_screen_width_lbl setStringValue: _NS("Subscreen width:")];
[o_screen_height_lbl setStringValue: _NS("Subscreen height:")]; [o_screen_height_lbl setStringValue: _NS("Subscreen height:")];
[o_screen_follow_mouse_ckb setTitle: _NS("Follow the mouse")]; [o_screen_follow_mouse_ckb setTitle: _NS("Follow the mouse")];
[o_screen_qtk_audio_ckb setTitle: _NS("Capture Audio")];
[o_eyetv_currentChannel_lbl setStringValue: _NS("Current channel:")]; [o_eyetv_currentChannel_lbl setStringValue: _NS("Current channel:")];
[o_eyetv_previousProgram_btn setTitle: _NS("Previous Channel")]; [o_eyetv_previousProgram_btn setTitle: _NS("Previous Channel")];
[o_eyetv_nextProgram_btn setTitle: _NS("Next Channel")]; [o_eyetv_nextProgram_btn setTitle: _NS("Next Channel")];
...@@ -249,6 +250,7 @@ static VLCOpen *_o_sharedMainInstance = nil; ...@@ -249,6 +250,7 @@ static VLCOpen *_o_sharedMainInstance = nil;
[self qtkaudioDevices]; [self qtkaudioDevices];
[o_qtk_audio_device_pop removeAllItems]; [o_qtk_audio_device_pop removeAllItems];
[o_screen_qtk_audio_pop removeAllItems];
msg_Dbg( VLCIntf, "Found %lu audio capture devices", [qtkaudioDevices count] ); msg_Dbg( VLCIntf, "Found %lu audio capture devices", [qtkaudioDevices count] );
if([qtkaudioDevices count] >= 1) if([qtkaudioDevices count] >= 1)
...@@ -262,14 +264,17 @@ static VLCOpen *_o_sharedMainInstance = nil; ...@@ -262,14 +264,17 @@ static VLCOpen *_o_sharedMainInstance = nil;
QTCaptureDevice *qtkaudio_device; QTCaptureDevice *qtkaudio_device;
qtkaudio_device = [qtkaudioDevices objectAtIndex:iaudio]; qtkaudio_device = [qtkaudioDevices objectAtIndex:iaudio];
[o_qtk_audio_device_pop addItemWithTitle: [qtkaudio_device localizedDisplayName]]; [o_qtk_audio_device_pop addItemWithTitle: [qtkaudio_device localizedDisplayName]];
[o_screen_qtk_audio_pop addItemWithTitle: [qtkaudio_device localizedDisplayName]];
if([[[qtkaudio_device uniqueID]stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] isEqualToString:qtkaudio_currdevice_uid]){ if([[[qtkaudio_device uniqueID]stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] isEqualToString:qtkaudio_currdevice_uid]){
[o_qtk_audio_device_pop selectItemAtIndex:iaudio]; [o_qtk_audio_device_pop selectItemAtIndex:iaudio];
[o_screen_qtk_audio_pop selectItemAtIndex:iaudio];
} }
} }
} }
else else
{ {
[o_qtk_audio_device_pop addItemWithTitle: _NS("None")]; [o_qtk_audio_device_pop addItemWithTitle: _NS("None")];
[o_screen_qtk_audio_pop addItemWithTitle: _NS("None")];
[qtkaudio_currdevice_uid release]; [qtkaudio_currdevice_uid release];
} }
...@@ -503,6 +508,8 @@ static VLCOpen *_o_sharedMainInstance = nil; ...@@ -503,6 +508,8 @@ static VLCOpen *_o_sharedMainInstance = nil;
[o_options addObject: @"screen-follow-mouse"]; [o_options addObject: @"screen-follow-mouse"];
else else
[o_options addObject: @"no-screen-follow-mouse"]; [o_options addObject: @"no-screen-follow-mouse"];
if ([o_screen_qtk_audio_ckb state] && qtkaudio_currdevice_uid)
[o_options addObject: [NSString stringWithFormat: @"input-slave=qtsound://%@", qtkaudio_currdevice_uid]];
} }
else if( [[[o_capture_mode_pop selectedItem] title] isEqualToString: _NS("Input Devices")] ) else if( [[[o_capture_mode_pop selectedItem] title] isEqualToString: _NS("Input Devices")] )
{ {
...@@ -537,6 +544,8 @@ static VLCOpen *_o_sharedMainInstance = nil; ...@@ -537,6 +544,8 @@ static VLCOpen *_o_sharedMainInstance = nil;
[o_screen_top_stp setMaxValue: item->rect.size.height]; [o_screen_top_stp setMaxValue: item->rect.size.height];
[o_screen_width_stp setMaxValue: item->rect.size.width]; [o_screen_width_stp setMaxValue: item->rect.size.width];
[o_screen_height_stp setMaxValue: item->rect.size.height]; [o_screen_height_stp setMaxValue: item->rect.size.height];
[o_screen_qtk_audio_pop setEnabled: [o_screen_qtk_audio_ckb state]];
} }
- (IBAction)qtkChanged:(id)sender - (IBAction)qtkChanged:(id)sender
...@@ -556,11 +565,13 @@ static VLCOpen *_o_sharedMainInstance = nil; ...@@ -556,11 +565,13 @@ static VLCOpen *_o_sharedMainInstance = nil;
- (IBAction)qtkAudioChanged:(id)sender - (IBAction)qtkAudioChanged:(id)sender
{ {
NSInteger i_selectedDevice = [o_qtk_audio_device_pop indexOfSelectedItem]; NSInteger i_selectedDevice = [sender indexOfSelectedItem];
if( [qtkaudioDevices count] >= 1 ) if( [qtkaudioDevices count] >= 1 )
{ {
qtkaudio_currdevice_uid = [[(QTCaptureDevice *)[qtkaudioDevices objectAtIndex:i_selectedDevice] uniqueID] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; 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];
} }
- (IBAction)qtkToggleUIElements:(id)sender - (IBAction)qtkToggleUIElements:(id)sender
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment