summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorritsuka <[email protected]>2015-01-30 08:00:02 +0000
committerritsuka <[email protected]>2015-01-30 08:00:02 +0000
commit98e54a8b93fc92e9d417375afe746049e54ed78d (patch)
treee28ad062f626706370f5e1ae7e8bf582cffb0986
parent399c64860c4ec5d8a29f34e3b130ff7018337290 (diff)
MacGui: let HBAudioTrackPreset know the current container.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6827 b64f7644-9d1e-0410-96f1-a4d463321fa5
-rw-r--r--macosx/HBAudioDefaults.h5
-rw-r--r--macosx/HBAudioDefaults.m29
-rw-r--r--macosx/HBAudioDefaultsController.m2
-rw-r--r--macosx/HBAudioTrackPreset.h3
-rw-r--r--macosx/HBAudioTrackPreset.m31
5 files changed, 68 insertions, 2 deletions
diff --git a/macosx/HBAudioDefaults.h b/macosx/HBAudioDefaults.h
index a99ff05d3..01a838517 100644
--- a/macosx/HBAudioDefaults.h
+++ b/macosx/HBAudioDefaults.h
@@ -24,6 +24,11 @@ typedef NS_ENUM(NSUInteger, HBAudioTrackSelectionBehavior) {
@property (nonatomic, readwrite, retain) NSMutableArray *tracksArray;
+/**
+ * Adds a new track preset.
+ */
+- (void)addTrack;
+
@property(nonatomic, readwrite) BOOL allowAACPassthru;
@property(nonatomic, readwrite) BOOL allowAC3Passthru;
@property(nonatomic, readwrite) BOOL allowDTSHDPassthru;
diff --git a/macosx/HBAudioDefaults.m b/macosx/HBAudioDefaults.m
index d6b184f33..693b29986 100644
--- a/macosx/HBAudioDefaults.m
+++ b/macosx/HBAudioDefaults.m
@@ -38,6 +38,13 @@
[super dealloc];
}
+- (void)addTrack
+{
+ HBAudioTrackPreset *track = [[HBAudioTrackPreset alloc] initWithContainer:self.container];
+ [self insertObject:track inTracksArrayAtIndex:[self countOfTracksArray]];
+ [track release];
+}
+
- (NSArray *)audioEncoderFallbacks
{
NSMutableArray *fallbacks = [[NSMutableArray alloc] init];
@@ -311,4 +318,26 @@
return self;
}
+#pragma mark KVC
+
+- (NSUInteger)countOfTracksArray
+{
+ return self.tracksArray.count;
+}
+
+- (HBAudioTrackPreset *)objectInTracksArrayAtIndex:(NSUInteger)index
+{
+ return self.tracksArray[index];
+}
+
+- (void)insertObject:(HBAudioTrackPreset *)track inTracksArrayAtIndex:(NSUInteger)index;
+{
+ [self.tracksArray insertObject:track atIndex:index];
+}
+
+- (void)removeObjectFromTracksArrayAtIndex:(NSUInteger)index
+{
+ [self.tracksArray removeObjectAtIndex:index];
+}
+
@end
diff --git a/macosx/HBAudioDefaultsController.m b/macosx/HBAudioDefaultsController.m
index 5452b186a..31b8dee6c 100644
--- a/macosx/HBAudioDefaultsController.m
+++ b/macosx/HBAudioDefaultsController.m
@@ -76,7 +76,7 @@ static void *HBAudioDefaultsContex = &HBAudioDefaultsContex;
}
else
{
- [self.tracksController add:sender];
+ [self.settings addTrack];
}
}
diff --git a/macosx/HBAudioTrackPreset.h b/macosx/HBAudioTrackPreset.h
index bc9475443..61b739079 100644
--- a/macosx/HBAudioTrackPreset.h
+++ b/macosx/HBAudioTrackPreset.h
@@ -13,6 +13,9 @@
*/
@interface HBAudioTrackPreset : NSObject <NSCoding, NSCopying>
+- (instancetype)initWithContainer:(int)container;
+- (void)containerChanged:(int)container;
+
/**
* track properties.
*/
diff --git a/macosx/HBAudioTrackPreset.m b/macosx/HBAudioTrackPreset.m
index 00aacd1a0..da7fd6748 100644
--- a/macosx/HBAudioTrackPreset.m
+++ b/macosx/HBAudioTrackPreset.m
@@ -12,14 +12,22 @@
static void *HBAudioEncoderContex = &HBAudioEncoderContex;
+@interface HBAudioTrackPreset ()
+
+@property (nonatomic, readwrite) int container;
+
+@end
+
@implementation HBAudioTrackPreset
- (instancetype)init
{
self = [super init];
- if (self) {
+ if (self)
+ {
// defaults settings
_encoder = HB_ACODEC_CA_AAC;
+ _container = HB_MUX_MKV;
_sampleRate = 0;
_bitRate = 160;
_mixdown = HB_AMIXDOWN_DOLBYPLII;
@@ -27,6 +35,21 @@ static void *HBAudioEncoderContex = &HBAudioEncoderContex;
return self;
}
+- (instancetype)initWithContainer:(int)container
+{
+ self = [self init];
+ if (self)
+ {
+ _container = container;
+ }
+ return self;
+}
+
+- (void)containerChanged:(int)container
+{
+ // Do things here
+}
+
#pragma mark - Setters override
- (void)setEncoder:(int)encoder
@@ -230,6 +253,8 @@ static void *HBAudioEncoderContex = &HBAudioEncoderContex;
copy->_gain = _gain;
copy->_drc = _drc;
+
+ copy->_container = _container;
}
return copy;
@@ -248,6 +273,8 @@ static void *HBAudioEncoderContex = &HBAudioEncoderContex;
encodeInt(_gain);
encodeDouble(_drc);
+
+ encodeInt(_container);
}
- (id)initWithCoder:(NSCoder *)decoder
@@ -262,6 +289,8 @@ static void *HBAudioEncoderContex = &HBAudioEncoderContex;
decodeInt(_gain);
decodeDouble(_drc);
+ decodeInt(_container);
+
return self;
}