mirror of
https://github.com/RatzzFatzz/MKVAudioSubtitleChanger.git
synced 2026-02-11 02:05:56 +01:00
Fix finding hearing impaired flag changes
This commit is contained in:
@@ -123,7 +123,7 @@ public class AttributeChangeProcessor {
|
|||||||
|
|
||||||
public void findHearingImpairedTracksAndApplyChanges(FileInfo fileInfo) {
|
public void findHearingImpairedTracksAndApplyChanges(FileInfo fileInfo) {
|
||||||
fileInfo.getTracks().stream()
|
fileInfo.getTracks().stream()
|
||||||
.filter(track -> !track.commentary())
|
.filter(track -> !track.hearingImpaired())
|
||||||
.filter(track -> track.trackName() != null)
|
.filter(track -> track.trackName() != null)
|
||||||
.filter(track -> hearingImpairedKeywords.stream().anyMatch(keyword -> track.trackName().toLowerCase().contains(keyword.toLowerCase(Locale.ROOT))))
|
.filter(track -> hearingImpairedKeywords.stream().anyMatch(keyword -> track.trackName().toLowerCase().contains(keyword.toLowerCase(Locale.ROOT))))
|
||||||
.forEach(attr -> {
|
.forEach(attr -> {
|
||||||
|
|||||||
@@ -127,7 +127,7 @@ public class MkvFileProcessor implements FileProcessor {
|
|||||||
(Boolean) properties.getOrDefault("default_track", false),
|
(Boolean) properties.getOrDefault("default_track", false),
|
||||||
(Boolean) properties.getOrDefault("forced_track", false),
|
(Boolean) properties.getOrDefault("forced_track", false),
|
||||||
(Boolean) properties.getOrDefault("commentary_track", false),
|
(Boolean) properties.getOrDefault("commentary_track", false),
|
||||||
(Boolean) properties.getOrDefault("hearing_impaired_track", false),
|
(Boolean) properties.getOrDefault("flag_hearing_impaired", false),
|
||||||
TrackType.valueOf(((String) attribute.get("type")).toUpperCase(Locale.ENGLISH))));
|
TrackType.valueOf(((String) attribute.get("type")).toUpperCase(Locale.ENGLISH))));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,6 +16,8 @@ public record TrackAttributes(int id, String language, String trackName,
|
|||||||
return id == attribute.id
|
return id == attribute.id
|
||||||
&& defaultt == attribute.defaultt
|
&& defaultt == attribute.defaultt
|
||||||
&& forced == attribute.forced
|
&& forced == attribute.forced
|
||||||
|
&& commentary == attribute.commentary
|
||||||
|
&& hearingImpaired == attribute.hearingImpaired
|
||||||
&& Objects.equals(language, attribute.language)
|
&& Objects.equals(language, attribute.language)
|
||||||
&& Objects.equals(trackName, attribute.trackName)
|
&& Objects.equals(trackName, attribute.trackName)
|
||||||
&& type == attribute.type;
|
&& type == attribute.type;
|
||||||
@@ -28,6 +30,8 @@ public record TrackAttributes(int id, String language, String trackName,
|
|||||||
", trackName='" + trackName + '\'' +
|
", trackName='" + trackName + '\'' +
|
||||||
", defaultt=" + defaultt +
|
", defaultt=" + defaultt +
|
||||||
", forced=" + forced +
|
", forced=" + forced +
|
||||||
|
", commentary=" + commentary +
|
||||||
|
", hearingImpaired=" + hearingImpaired +
|
||||||
", type=" + type +
|
", type=" + type +
|
||||||
']';
|
']';
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -248,7 +248,7 @@ class AttributeChangeProcessorTest {
|
|||||||
Set.of("SDH"),
|
Set.of("SDH"),
|
||||||
Map.ofEntries(on(withName(SUB_GER, "SDH")))
|
Map.ofEntries(on(withName(SUB_GER, "SDH")))
|
||||||
),
|
),
|
||||||
Arguments.of(List.of(withName(AUDIO_GER_COMMENTARY, "SDH")),
|
Arguments.of(List.of(withName(AUDIO_GER_HEARING, "SDH")),
|
||||||
Set.of("SDH"),
|
Set.of("SDH"),
|
||||||
Map.ofEntries()
|
Map.ofEntries()
|
||||||
),
|
),
|
||||||
@@ -260,7 +260,7 @@ class AttributeChangeProcessorTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@ParameterizedTest
|
@ParameterizedTest
|
||||||
@MethodSource("findCommentaryTracksAndApplyChanges")
|
@MethodSource("findHearingImpairedTracksAndApplyChanges")
|
||||||
void findHearingImpairedTracksAndApplyChanges(List<TrackAttributes> tracks, Set<String> keywords, Map<TrackAttributes, Boolean> changes) {
|
void findHearingImpairedTracksAndApplyChanges(List<TrackAttributes> tracks, Set<String> keywords, Map<TrackAttributes, Boolean> changes) {
|
||||||
AttributeChangeProcessor attributeChangeProcessor = new AttributeChangeProcessor(new String[]{}, Set.of(), Set.of(), keywords);
|
AttributeChangeProcessor attributeChangeProcessor = new AttributeChangeProcessor(new String[]{}, Set.of(), Set.of(), keywords);
|
||||||
|
|
||||||
|
|||||||
@@ -57,6 +57,8 @@ class MkvFileProcessorTest {
|
|||||||
"default_track": true,
|
"default_track": true,
|
||||||
"enabled_track": true,
|
"enabled_track": true,
|
||||||
"forced_track": false,
|
"forced_track": false,
|
||||||
|
"commentary_track": true,
|
||||||
|
"flag_hearing_impaired": true,
|
||||||
"language": "eng",
|
"language": "eng",
|
||||||
"number": 3
|
"number": 3
|
||||||
},
|
},
|
||||||
@@ -88,8 +90,8 @@ class MkvFileProcessorTest {
|
|||||||
assertEquals("eng", sub.language());
|
assertEquals("eng", sub.language());
|
||||||
assertTrue(sub.defaultt());
|
assertTrue(sub.defaultt());
|
||||||
assertFalse(sub.forced());
|
assertFalse(sub.forced());
|
||||||
assertFalse(sub.hearingImpaired());
|
assertTrue(sub.hearingImpaired());
|
||||||
assertFalse(sub.commentary());
|
assertTrue(sub.commentary());
|
||||||
assertEquals(TrackType.SUBTITLES, sub.type());
|
assertEquals(TrackType.SUBTITLES, sub.type());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user