@property (nonatomic, readwrite) NSString *title;
@property (nonatomic, readonly) NSString *duration;
-@property (nonatomic, readwrite) NSUInteger index;
+@property (nonatomic, readonly) NSUInteger index;
@property (nonatomic, readwrite, weak, nullable) NSUndoManager *undo;
*/
@interface HBOutputRedirect : NSObject
-+ (id)stdoutRedirect;
-+ (id)stderrRedirect;
++ (instancetype)stdoutRedirect;
++ (instancetype)stderrRedirect;
- (void)addListener:(id <HBOutputRedirectListening>)aListener;
- (void)removeListener:(id <HBOutputRedirectListening>)aListener;
/**
* Returns HBOutputRedirect object used to redirect stdout.
*/
-+ (id)stdoutRedirect
++ (instancetype)stdoutRedirect
{
if (!g_stdoutRedirect)
g_stdoutRedirect = [[HBOutputRedirect alloc] initWithStream:stdout selector:@selector(stdoutRedirect:)];
/**
* Returns HBOutputRedirect object used to redirect stderr.
*/
-+ (id)stderrRedirect
++ (instancetype)stderrRedirect
{
if (!g_stderrRedirect)
g_stderrRedirect = [[HBOutputRedirect alloc] initWithStream:stderr selector:@selector(stderrRedirect:)];
NS_ASSUME_NONNULL_BEGIN
+typedef NS_ENUM(NSUInteger, HBPictureAnarmophicMode) {
+ HBPictureAnarmophicModeNone,
+ HBPictureAnarmophicModeStrict,
+ HBPictureAnarmophicModeLoose,
+ HBPictureAnarmophicModeCustom
+};
+
extern NSString * const HBPictureChangedNotification;
/**
@property (nonatomic, readwrite) int height;
@property (nonatomic, readwrite) BOOL keepDisplayAspect;
-@property (nonatomic, readwrite) int anamorphicMode;
+@property (nonatomic, readwrite) HBPictureAnarmophicMode anamorphicMode;
@property (nonatomic, readwrite) int modulus;
/**
_sourceWidth = 1280;
_sourceHeight = 720;
- _anamorphicMode = HB_ANAMORPHIC_NONE;
+ _anamorphicMode = HBPictureAnarmophicModeNone;
_parWidth = 1;
_parHeight = 1;
}
}
-- (void)setAnamorphicMode:(int)anamorphicMode
+- (void)setAnamorphicMode:(HBPictureAnarmophicMode)anamorphicMode
{
if (anamorphicMode != _anamorphicMode)
{
bitrate:(int)bitrate
videoCodec:(uint32_t)codec;
-@end
++ (NSString *)iso6392CodeFor:(NSString *)language;
++ (NSString *)languageCodeForIso6392Code:(NSString *)language;
+@end
NS_ASSUME_NONNULL_END
-
#import "HBJob.h"
#include "common.h"
+#include "lang.h"
@implementation HBUtilities
return [name copy];
}
++ (NSString *)iso6392CodeFor:(NSString *)aLanguage
+{
+ iso639_lang_t *lang = lang_for_english(aLanguage.UTF8String);
+ if (lang)
+ {
+ return @(lang->iso639_2);
+ }
+ return @"und";
+}
+
++ (NSString *)languageCodeForIso6392Code:(NSString *)aLanguage
+{
+ iso639_lang_t *lang = lang_for_code2(aLanguage.UTF8String);
+ if (lang)
+ {
+ return @(lang->eng_name);
+ }
+ return @"Unknown";
+}
@end
NS_ASSUME_NONNULL_BEGIN
+typedef NS_ENUM(NSUInteger, HBVideoQualityType) {
+ HBVideoQualityTypeAvgBitrate,
+ HBVideoQualityTypeConstantQuality,
+};
+
+typedef NS_ENUM(NSUInteger, HBVideoFrameRateMode) {
+ HBVideoFrameRateModeVFR_PFR,
+ HBVideoFrameRateModeCFR,
+};
+
extern NSString * const HBVideoChangedNotification;
/**
@property (nonatomic, readwrite) int encoder;
-@property (nonatomic, readwrite) int qualityType;
+@property (nonatomic, readwrite) HBVideoQualityType qualityType;
@property (nonatomic, readwrite) int avgBitrate;
@property (nonatomic, readwrite) double quality;
+@property (nonatomic, readwrite) HBVideoFrameRateMode frameRateMode;
@property (nonatomic, readwrite) int frameRate;
-@property (nonatomic, readwrite) int frameRateMode;
@property (nonatomic, readwrite) BOOL twoPass;
@property (nonatomic, readwrite) BOOL turboTwoPass;
[self postChangedNotification];
}
-- (void)setQualityType:(int)qualityType
+- (void)setQualityType:(HBVideoQualityType)qualityType
{
if (qualityType != _qualityType)
{
[self postChangedNotification];
}
-- (void)setFrameRateMode:(int)frameRateMode
+- (void)setFrameRateMode:(HBVideoFrameRateMode)frameRateMode
{
if (frameRateMode != _frameRateMode)
{