Fixed array expansion bug in mkvmerge-add-subtitles.

main
Emily Frost 4 years ago
parent 871f474772
commit 8558438e01
Signed by: Emily
GPG Key ID: AA5D42849F1CBDC9

@ -30,9 +30,10 @@ _mkvmerge_add_subtitles_mkvmerge () {
# For example [basename].[language code].srt # For example [basename].[language code].srt
coded_subtitle_files=(${original_file:r}.*.srt(N)) coded_subtitle_files=(${original_file:r}.*.srt(N))
if [[ ! -z $coded_subtitle_files ]]; then if [[ ! -z $coded_subtitle_files ]]; then
for fname in "$coded_subtitle_files"; do for fname in $coded_subtitle_files; do
language_code="${${fname:r}:e}" language_code="${${fname:r}:e}"
subtitle_options_array+=("--language" "0:${language_code}" "$fname") subtitle_options_array+=("--language" "0:${language_code}" "$fname")
echo "Found coded subtitle file ${fname} for language ${language_code}."
done done
fi fi
@ -41,6 +42,8 @@ _mkvmerge_add_subtitles_mkvmerge () {
uncoded_subtitle_name="${original_file:r}.srt" uncoded_subtitle_name="${original_file:r}.srt"
if [[ -f "$uncoded_subtitle_name" ]]; then if [[ -f "$uncoded_subtitle_name" ]]; then
subtitle_options_array+=("--language" "0:${DEFAULT_LANGUAGE_CODE}" "$uncoded_subtitle_name") subtitle_options_array+=("--language" "0:${DEFAULT_LANGUAGE_CODE}" "$uncoded_subtitle_name")
echo "Found uncoded subtitle file ${uncoded_subtitle_name}, assuming \
${DEFAULT_LANGUAGE_CODE}."
fi fi
# Finally, actually mux all the subtitles in if there are any. # Finally, actually mux all the subtitles in if there are any.
@ -48,7 +51,7 @@ _mkvmerge_add_subtitles_mkvmerge () {
echo "No subtitles found for file ${original_file}" echo "No subtitles found for file ${original_file}"
else else
echo "Remuxing ${original_file}..." echo "Remuxing ${original_file}..."
mkvmerge --quiet -o "$partial_file" "$original_file" ${(@)subtitle_options_array} \ mkvmerge --quiet -o "$partial_file" "$original_file" ${^subtitle_options_array} \
|| rm "$partial_file" || rm "$partial_file"
echo "Done!" echo "Done!"

Loading…
Cancel
Save