/* HBAudioTrack.h $ This file is part of the HandBrake source code. Homepage: . It may be used under the terms of the GNU General Public License. */ #import @class HBAudioTrack; NS_ASSUME_NONNULL_BEGIN /** * Audio track dicts keys. */ extern NSString *keyAudioTrackIndex; extern NSString *keyAudioTrackName; extern NSString *keyAudioInputBitrate; extern NSString *keyAudioInputSampleRate; extern NSString *keyAudioInputCodec; extern NSString *keyAudioInputCodecParam; extern NSString *keyAudioInputChannelLayout; extern NSString *keyAudioTrackLanguageIsoCode; @protocol HBAudioTrackDataSource - (NSDictionary *)sourceTrackAtIndex:(NSUInteger)idx; - (NSArray *)sourceTracksArray; @end @protocol HBAudioTrackDelegate - (void)track:(HBAudioTrack *)track didChangeSourceFrom:(NSUInteger)oldSourceIdx; - (void)encoderChanged; @end @interface HBAudioTrack : NSObject - (instancetype)initWithTrackIdx:(NSUInteger)index container:(int)container dataSource:(id)dataSource delegate:(id)delegate; /// The index of the source in the data source tracks array. @property (nonatomic, readwrite) NSUInteger sourceTrackIdx; @property (nonatomic, readwrite) int container; @property (nonatomic, weak, nullable) id dataSource; @property (nonatomic, weak, nullable) id delegate; /** * track properties. */ @property (nonatomic, readwrite) int encoder; @property (nonatomic, readwrite) int mixdown; @property (nonatomic, readwrite) int sampleRate; @property (nonatomic, readwrite) int bitRate; @property (nonatomic, readwrite) double gain; @property (nonatomic, readwrite) double drc; @property (nonatomic, readonly, getter=isEnabled) BOOL enabled; /** * Arrays of possible options for the track properties. */ @property (nonatomic, readonly) NSArray *encoders; @property (nonatomic, readonly) NSArray *mixdowns; @property (nonatomic, readonly) NSArray *sampleRates; @property (nonatomic, readonly) NSArray *bitRates; @property (nonatomic, readwrite, weak, nullable) NSUndoManager *undo; @end NS_ASSUME_NONNULL_END