From: Damiano Galassi Date: Sat, 3 Nov 2018 13:22:40 +0000 (+0100) Subject: MacGui: more safe kvo removal, use libhb function to get the quaility name, fix some... X-Git-Tag: 1.2.0~94 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=31fed77146181737c5c528532a9cf49aab712f8a;p=handbrake MacGui: more safe kvo removal, use libhb function to get the quaility name, fix some buttons enable state in Video.xib. --- 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