/* 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; @class HBTitleAudioTrack; NS_ASSUME_NONNULL_BEGIN @protocol HBAudioTrackDataSource - (HBTitleAudioTrack *)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, readwrite, nullable) NSString *title; @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