5 // Created on 2010-08-24.
8 #import <Cocoa/Cocoa.h>
11 extern NSString *keyAudioTrackIndex;
12 extern NSString *keyAudioTrackName;
13 extern NSString *keyAudioInputBitrate;
14 extern NSString *keyAudioInputSampleRate;
15 extern NSString *keyAudioInputCodec;
16 extern NSString *keyAudioInputChannelLayout;
17 extern NSString *HBMixdownChangedNotification;
21 @interface HBAudioController : NSObject
25 NSMutableArray *audioArray; // the configured audio information
26 NSMutableArray *masterTrackArray; // the master list of audio tracks from the title
27 NSDictionary *noneTrack; // this represents no audio track selection
28 NSNumber *videoContainerTag; // initially is the default HB_MUX_MP4
31 @property (nonatomic, readonly) NSArray *masterTrackArray;
32 @property (nonatomic, readonly) NSDictionary *noneTrack;
33 @property (nonatomic, retain) NSNumber *videoContainerTag;
35 - (void) setHBController: (id) aController;
36 - (void) prepareAudioForQueueFileJob: (NSMutableDictionary *) aDict;
37 - (void) prepareAudioForJob: (hb_job_t *) aJob;
38 - (void) prepareAudioForPreset: (NSMutableArray *) anArray;
39 - (void) addTracksFromQueue: (NSMutableDictionary *) aQueue;
40 - (void) addTracksFromPreset: (NSMutableDictionary *) aPreset;
41 - (void) addAllTracksFromPreset: (NSMutableDictionary *) aPreset;
42 - (BOOL) anyCodecMatches: (int) aCodecValue;
43 - (void) addNewAudioTrack;
44 - (void) settingTrackToNone: (HBAudio *) newNoneTrack;
45 - (void) switchingTrackFromNone: (HBAudio *) noLongerNoneTrack;
49 @interface HBAudioController (KVC)
51 - (unsigned int) countOfAudioArray;
52 - (HBAudio *) objectInAudioArrayAtIndex: (unsigned int) index;
53 - (void) insertObject: (HBAudio *) audioObject inAudioArrayAtIndex: (unsigned int) index;
54 - (void) removeObjectFromAudioArrayAtIndex: (unsigned int) index;