From 31fed77146181737c5c528532a9cf49aab712f8a Mon Sep 17 00:00:00 2001 From: Damiano Galassi Date: Sat, 3 Nov 2018 14:22:40 +0100 Subject: [PATCH] MacGui: more safe kvo removal, use libhb function to get the quaility name, fix some buttons enable state in Video.xib. --- macosx/Base.lproj/Video.xib | 24 ++++++++++++++++++++++-- macosx/HBSummaryViewController.m | 26 +++++++++++++------------- macosx/HBVideo+UIAdditions.m | 15 +-------------- 3 files changed, 36 insertions(+), 29 deletions(-) diff --git a/macosx/Base.lproj/Video.xib b/macosx/Base.lproj/Video.xib index f216a228c..8f69b26bb 100644 --- a/macosx/Base.lproj/Video.xib +++ b/macosx/Base.lproj/Video.xib @@ -1,8 +1,8 @@ - + - + @@ -289,6 +289,11 @@ x264 is lossless at RF 0. + + + NSIsNotNil + + @@ -299,6 +304,11 @@ x264 is lossless at RF 0. + + + NSIsNotNil + + NSNegateBoolean @@ -313,6 +323,11 @@ x264 is lossless at RF 0. + + + NSIsNotNil + + NSNegateBoolean @@ -327,6 +342,11 @@ x264 is lossless at RF 0. + + + NSIsNotNil + + diff --git a/macosx/HBSummaryViewController.m b/macosx/HBSummaryViewController.m index 443767725..21128a38c 100644 --- a/macosx/HBSummaryViewController.m +++ b/macosx/HBSummaryViewController.m @@ -154,8 +154,8 @@ static void *HBSummaryViewControllerSubsContext = &HBSummaryViewControllerSubsCo { for (HBAudioTrack *track in tracks) { - [track removeObserver:self forKeyPath:@"encoder"]; - [track removeObserver:self forKeyPath:@"mixdown"]; + [track removeObserver:self forKeyPath:@"encoder" context:HBSummaryViewControllerAudioContext]; + [track removeObserver:self forKeyPath:@"mixdown" context:HBSummaryViewControllerAudioContext]; } } @@ -171,7 +171,7 @@ static void *HBSummaryViewControllerSubsContext = &HBSummaryViewControllerSubsCo { for (HBSubtitlesTrack *track in tracks) { - [track removeObserver:self forKeyPath:@"burnedIn"]; + [track removeObserver:self forKeyPath:@"burnedIn" context:HBSummaryViewControllerSubsContext]; } } @@ -205,16 +205,16 @@ static void *HBSummaryViewControllerSubsContext = &HBSummaryViewControllerSubsCo [[NSNotificationCenter defaultCenter] removeObserver:self name:HBPictureChangedNotification object:_job.picture]; [[NSNotificationCenter defaultCenter] removeObserver:self name:HBFiltersChangedNotification object:_job.filters]; - [_job removeObserver:self forKeyPath:@"container"]; - [_job removeObserver:self forKeyPath:@"chaptersEnabled"]; - [_job removeObserver:self forKeyPath:@"video.encoder"]; - [_job removeObserver:self forKeyPath:@"video.frameRate"]; - [_job removeObserver:self forKeyPath:@"video.frameRateMode"]; - [_job removeObserver:self forKeyPath:@"filters.deinterlace"]; - [_job removeObserver:self forKeyPath:@"filters.rotate"]; - [_job removeObserver:self forKeyPath:@"filters.flip"]; - [_job removeObserver:self forKeyPath:@"audio.tracks"]; - [_job removeObserver:self forKeyPath:@"subtitles.tracks"]; + [_job removeObserver:self forKeyPath:@"container" context:HBSummaryViewControllerContainerContext]; + [_job removeObserver:self forKeyPath:@"chaptersEnabled" context:HBSummaryViewControllerVideoContext]; + [_job removeObserver:self forKeyPath:@"video.encoder" context:HBSummaryViewControllerVideoContext]; + [_job removeObserver:self forKeyPath:@"video.frameRate" context:HBSummaryViewControllerVideoContext]; + [_job removeObserver:self forKeyPath:@"video.frameRateMode" context:HBSummaryViewControllerVideoContext]; + [_job removeObserver:self forKeyPath:@"filters.deinterlace" context:HBSummaryViewControllerFiltersContext]; + [_job removeObserver:self forKeyPath:@"filters.rotate" context:HBSummaryViewControllerFiltersContext]; + [_job removeObserver:self forKeyPath:@"filters.flip" context:HBSummaryViewControllerFiltersContext]; + [_job removeObserver:self forKeyPath:@"audio.tracks" context:HBSummaryViewControllerAudioContext]; + [_job removeObserver:self forKeyPath:@"subtitles.tracks" context:HBSummaryViewControllerSubsContext]; [self removeAudioTracksObservers:_job.audio.tracks]; [self removeSubtitlesTracksObservers:_job.subtitles.tracks]; diff --git a/macosx/HBVideo+UIAdditions.m b/macosx/HBVideo+UIAdditions.m index f330e3526..e23c1ab72 100644 --- a/macosx/HBVideo+UIAdditions.m +++ b/macosx/HBVideo+UIAdditions.m @@ -111,20 +111,7 @@ - (NSString *)constantQualityLabel { - if ((self.encoder & HB_VCODEC_X264_MASK) || - (self.encoder & HB_VCODEC_X265_MASK)) - { - return @"RF:"; - } - else if (self.encoder == HB_VCODEC_FFMPEG_VP8 || - self.encoder == HB_VCODEC_FFMPEG_VP9) - { - return @"CQ:"; - } - else - { - return @"QP:"; - } + return @(hb_video_quality_get_name(self.encoder)); } + (NSSet *)keyPathsForValuesAffectingUnparseOptions -- 2.40.0