From 70d90b194586e35fdb303c9d2d1643d7d13257b2 Mon Sep 17 00:00:00 2001 From: LightArrowsEXE Date: Mon, 18 Aug 2025 22:18:37 +0200 Subject: [PATCH 1/5] Add support for more track flags This adds support for the following flags: - Commentary - Hearing Impaired - Visual Impaired I'm not 100% certain if this is enough to add support for those, so a more thorough check would be appreciated. --- src/main/kotlin/myaa/subkt/tasks/muxtask.kt | 33 +++++++++++++++++++ .../kotlin/myaa/subkt/tasks/utils/mkvmerge.kt | 3 ++ 2 files changed, 36 insertions(+) diff --git a/src/main/kotlin/myaa/subkt/tasks/muxtask.kt b/src/main/kotlin/myaa/subkt/tasks/muxtask.kt index b0dd00a9..29c3b8d7 100644 --- a/src/main/kotlin/myaa/subkt/tasks/muxtask.kt +++ b/src/main/kotlin/myaa/subkt/tasks/muxtask.kt @@ -180,6 +180,9 @@ open class Mux : PropertyTask() { val name = sourceTrack.properties?.track_name val default = sourceTrack.properties?.default_track val forced = sourceTrack.properties?.forced_track + val commentary = sourceTrack.properties?.commentary_track + val hearingImpaired = sourceTrack.properties?.hearing_impaired_track + val visualImpaired = sourceTrack.properties?.visual_impaired_track val displayDimensios = sourceTrack.properties ?.display_dimensions?.let { Dimensions.fromString(it) } val encoding = sourceTrack.properties?.encoding @@ -243,6 +246,36 @@ open class Mux : PropertyTask() { @MuxFlag("forced-track") val forced = project.objects.property() + /** + * If true, set this track to be a commentary track. + * + * Corresponds to the `--commentary` mkvmerge flag. + */ + @get:Input + @get:Optional + @MuxFlag("commentary") + val commentary = project.objects.property() + + /** + * If true, set this track to be a hearing impaired track. + * + * Corresponds to the `--hearing-impaired` mkvmerge flag. + */ + @get:Input + @get:Optional + @MuxFlag("hearing-impaired") + val hearingImpaired = project.objects.property() + + /** + * If true, set this track to be a visual impaired track. + * + * Corresponds to the `--visual-impaired` mkvmerge flag. + */ + @get:Input + @get:Optional + @MuxFlag("visual-impaired") + val visualImpaired = project.objects.property() + /** * Sets the display dimensions of this track, specified as a [Dimensions] object, e.g.: * diff --git a/src/main/kotlin/myaa/subkt/tasks/utils/mkvmerge.kt b/src/main/kotlin/myaa/subkt/tasks/utils/mkvmerge.kt index b8c46707..26ec32a5 100644 --- a/src/main/kotlin/myaa/subkt/tasks/utils/mkvmerge.kt +++ b/src/main/kotlin/myaa/subkt/tasks/utils/mkvmerge.kt @@ -93,6 +93,9 @@ data class MkvTrackProperties( val enabled_track: Boolean? = null, val encoding: String? = null, val forced_track: Boolean? = null, + val commentary_track: Boolean? = null, + val hearing_impaired_track: Boolean? = null, + val visual_impaired_track: Boolean? = null, val language: String? = null, val minimum_timestamp: Long? = null, val multiplexed_tracks: List? = null, From 079285c04a0672229ca413a29e78c75ceed565ac Mon Sep 17 00:00:00 2001 From: LightArrowsEXE Date: Mon, 18 Aug 2025 23:18:53 +0200 Subject: [PATCH 2/5] Set correct MuxFlag --- src/main/kotlin/myaa/subkt/tasks/muxtask.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/kotlin/myaa/subkt/tasks/muxtask.kt b/src/main/kotlin/myaa/subkt/tasks/muxtask.kt index 29c3b8d7..65de24ce 100644 --- a/src/main/kotlin/myaa/subkt/tasks/muxtask.kt +++ b/src/main/kotlin/myaa/subkt/tasks/muxtask.kt @@ -253,7 +253,7 @@ open class Mux : PropertyTask() { */ @get:Input @get:Optional - @MuxFlag("commentary") + @MuxFlag("commentary-flag") val commentary = project.objects.property() /** @@ -263,7 +263,7 @@ open class Mux : PropertyTask() { */ @get:Input @get:Optional - @MuxFlag("hearing-impaired") + @MuxFlag("hearing-impaired-flag") val hearingImpaired = project.objects.property() /** @@ -273,7 +273,7 @@ open class Mux : PropertyTask() { */ @get:Input @get:Optional - @MuxFlag("visual-impaired") + @MuxFlag("visual-impaired-flag") val visualImpaired = project.objects.property() /** From cd94f5fdc15091ee8c3db2efce9c0852aac3df58 Mon Sep 17 00:00:00 2001 From: LightArrowsEXE Date: Sat, 20 Sep 2025 09:51:27 +0200 Subject: [PATCH 3/5] Add support for original language flag --- src/main/kotlin/myaa/subkt/tasks/muxtask.kt | 11 +++++++++++ src/main/kotlin/myaa/subkt/tasks/utils/mkvmerge.kt | 1 + 2 files changed, 12 insertions(+) diff --git a/src/main/kotlin/myaa/subkt/tasks/muxtask.kt b/src/main/kotlin/myaa/subkt/tasks/muxtask.kt index 65de24ce..354eab67 100644 --- a/src/main/kotlin/myaa/subkt/tasks/muxtask.kt +++ b/src/main/kotlin/myaa/subkt/tasks/muxtask.kt @@ -183,6 +183,7 @@ open class Mux : PropertyTask() { val commentary = sourceTrack.properties?.commentary_track val hearingImpaired = sourceTrack.properties?.hearing_impaired_track val visualImpaired = sourceTrack.properties?.visual_impaired_track + val originalLanguage = sourceTrack.properties?.original_language val displayDimensios = sourceTrack.properties ?.display_dimensions?.let { Dimensions.fromString(it) } val encoding = sourceTrack.properties?.encoding @@ -276,6 +277,16 @@ open class Mux : PropertyTask() { @MuxFlag("visual-impaired-flag") val visualImpaired = project.objects.property() + /** + * If true, set this track to be a original language track. + * + * Corresponds to the `--original-flag` mkvmerge flag. + */ + @get:Input + @get:Optional + @MuxFlag("original-flag") + val originalLanguage = project.objects.property() + /** * Sets the display dimensions of this track, specified as a [Dimensions] object, e.g.: * diff --git a/src/main/kotlin/myaa/subkt/tasks/utils/mkvmerge.kt b/src/main/kotlin/myaa/subkt/tasks/utils/mkvmerge.kt index 26ec32a5..ab52c666 100644 --- a/src/main/kotlin/myaa/subkt/tasks/utils/mkvmerge.kt +++ b/src/main/kotlin/myaa/subkt/tasks/utils/mkvmerge.kt @@ -97,6 +97,7 @@ data class MkvTrackProperties( val hearing_impaired_track: Boolean? = null, val visual_impaired_track: Boolean? = null, val language: String? = null, + val original_language: Boolean? = null, val minimum_timestamp: Long? = null, val multiplexed_tracks: List? = null, val number: Long? = null, From 386b40595cf339d5b89a966f2a2a836127f91b0e Mon Sep 17 00:00:00 2001 From: LightArrowsEXE Date: Sat, 20 Sep 2025 09:54:53 +0200 Subject: [PATCH 4/5] Add support for track enabled flag --- src/main/kotlin/myaa/subkt/tasks/muxtask.kt | 11 +++++++++++ src/main/kotlin/myaa/subkt/tasks/utils/mkvmerge.kt | 1 + 2 files changed, 12 insertions(+) diff --git a/src/main/kotlin/myaa/subkt/tasks/muxtask.kt b/src/main/kotlin/myaa/subkt/tasks/muxtask.kt index 354eab67..840b12ec 100644 --- a/src/main/kotlin/myaa/subkt/tasks/muxtask.kt +++ b/src/main/kotlin/myaa/subkt/tasks/muxtask.kt @@ -180,6 +180,7 @@ open class Mux : PropertyTask() { val name = sourceTrack.properties?.track_name val default = sourceTrack.properties?.default_track val forced = sourceTrack.properties?.forced_track + val enabled = sourceTrack.properties?.enabled_track val commentary = sourceTrack.properties?.commentary_track val hearingImpaired = sourceTrack.properties?.hearing_impaired_track val visualImpaired = sourceTrack.properties?.visual_impaired_track @@ -247,6 +248,16 @@ open class Mux : PropertyTask() { @MuxFlag("forced-track") val forced = project.objects.property() + /** + * If true, set this track as enabled. + * + * Corresponds to the `--track-enabled` mkvmerge flag. + */ + @get:Input + @get:Optional + @MuxFlag("track-enabled-flag") + val enabled = project.objects.property() + /** * If true, set this track to be a commentary track. * diff --git a/src/main/kotlin/myaa/subkt/tasks/utils/mkvmerge.kt b/src/main/kotlin/myaa/subkt/tasks/utils/mkvmerge.kt index ab52c666..b0394678 100644 --- a/src/main/kotlin/myaa/subkt/tasks/utils/mkvmerge.kt +++ b/src/main/kotlin/myaa/subkt/tasks/utils/mkvmerge.kt @@ -93,6 +93,7 @@ data class MkvTrackProperties( val enabled_track: Boolean? = null, val encoding: String? = null, val forced_track: Boolean? = null, + val enabled_track: Boolean? = null, val commentary_track: Boolean? = null, val hearing_impaired_track: Boolean? = null, val visual_impaired_track: Boolean? = null, From f1d09e58c5b5e109a5e7e7199159dcf082521915 Mon Sep 17 00:00:00 2001 From: LightArrowsEXE Date: Sun, 21 Sep 2025 10:38:54 +0200 Subject: [PATCH 5/5] Remove duplicate `enabled_track` property --- src/main/kotlin/myaa/subkt/tasks/utils/mkvmerge.kt | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/kotlin/myaa/subkt/tasks/utils/mkvmerge.kt b/src/main/kotlin/myaa/subkt/tasks/utils/mkvmerge.kt index b0394678..a6463806 100644 --- a/src/main/kotlin/myaa/subkt/tasks/utils/mkvmerge.kt +++ b/src/main/kotlin/myaa/subkt/tasks/utils/mkvmerge.kt @@ -90,7 +90,6 @@ data class MkvTrackProperties( val default_track: Boolean? = null, val display_dimensions: String? = null, val display_unit: Long? = null, - val enabled_track: Boolean? = null, val encoding: String? = null, val forced_track: Boolean? = null, val enabled_track: Boolean? = null,