//
//  BXUSequenceGrabber.h
//  BXQuickTime
//
//  Created by Achim Breidenbach on 9/5/06.
//  Copyright 2006 Boinx Software. All rights reserved.
//

#if !__LP64__

#import <QuickTime/QuickTime.h>

#define BXSG_DEVICENAME_UNIQUE @"Device Name Unique"
#define BXSG_DEVICENAME @"Device Name"
#define BXSG_DEVICEINDEX @"Device Index"
#define BXSG_DEVICESELECTED @"Device Selected"
#define BXSG_DEVICEINPUTNAME @"Device Input Name"

@interface BXUSequenceGrabber : NSObject {
	
}

#pragma mark Input Source Lists

//+ (NSMenu*) createInputMenu:(SEL)theAction inputDeviceArray:(NSArray*)inputDeviceArray;

+ (NSMutableArray *) createInputDeviceArrayForChannel:(SGChannel)theChannel
									ofSequenceGrabber:(SeqGrabComponent)inSeqGrabber
						  ignoreUnavailableDriverFlag:(BOOL)ignoreUnavailableDriverFlag;

#pragma mark Channel Switching

+ (OSErr) switchChannel:(SGChannel)theChannel ofSequenceGrabber:(SeqGrabComponent)theSeqGrabber toDeviceDict:(NSDictionary*)deviceDict;
+ (OSErr) switchChannel:(SGChannel)inChannel ofSequenceGrabber:(SeqGrabComponent)inSeqGrabber toDeviceName:(NSString*)inDeviceName atDeviceIndex:(short)inDeviceIndex;

//+ (OSErr) setInputDeviceForChannel:(SGChannel)theChannel inputDriverName:(NSString*)inputDriverName inputDeviceName:(NSString*)inputDeviceName ;

#pragma mark Device Infos

+ (NSString *) dataSourceNameForChannel:(SGChannel)theChannel inSequenceGrabber:(SeqGrabComponent)theSeqGrabber;
+ (NSString *) driverSourceNameForChannel:(SGChannel)theChannel inSequenceGrabber:(SeqGrabComponent)theSeqGrabber;

@end

#endif