| @@ -57,6 +57,7 @@ ENCARGS_flac="-8" · 56 unmodified lines |
| 57 | ENCARGS_m4a="-q 500" | 57 | ENCARGS_m4a="-q 500" |
| 58 | ENCARGS_mp3="--preset standard" | 58 | ENCARGS_mp3="--preset standard" |
| 59 | ENCARGS_ogg="-q 5" | 59 | ENCARGS_ogg="-q 5" |
| | 60 | ENCARGS_opus="" |
| 60 | ENCARGS_wav="" | 61 | ENCARGS_wav="" |
| 61 | | 62 | |
| 62 | # load settings | 63 | # load settings |
| @@ -71,7 +72,7 @@ FORCE=0 · 8 unmodified lines |
| 71 | VERSION=122 | 72 | VERSION=122 |
| 72 | | 73 | |
| 73 | HELP="\${cG}split2flac version: ${VERSION} | 74 | HELP="\${cG}split2flac version: ${VERSION} |
| 74 | Splits one big \${cU}APE/FLAC/WV/WAV\$cZ\$cG audio image (or a collection) into \${cU}FLAC/M4A/MP3/OGG_VORBIS/WAV\$cZ\$cG tracks with tagging and renaming. | 75 | Splits one big \${cU}APE/FLAC/WV/WAV\$cZ\$cG audio image (or a collection) into \${cU}FLAC/M4A/MP3/OGG_VORBIS/OPUS/WAV\$cZ\$cG tracks with tagging and renaming. |
| 75 | | 76 | |
| 76 | Usage: \${cZ}split2\${FORMAT} [\${cU}OPTIONS\$cZ] \${cU}FILE\$cZ [\${cU}OPTIONS\$cZ]\$cZ | 77 | Usage: \${cZ}split2\${FORMAT} [\${cU}OPTIONS\$cZ] \${cU}FILE\$cZ [\${cU}OPTIONS\$cZ]\$cZ |
| 77 | \${cZ}split2\${FORMAT} [\${cU}OPTIONS\$cZ] \${cU}DIR\$cZ [\${cU}OPTIONS\$cZ]\$cZ | 78 | \${cZ}split2\${FORMAT} [\${cU}OPTIONS\$cZ] \${cU}DIR\$cZ [\${cU}OPTIONS\$cZ]\$cZ |
| @@ -105,7 +106,7 @@ Usage: \${cZ}split2\${FORMAT} [\${cU}OPTIONS\$cZ] \${cU}FILE\$cZ [\${cU}OPTIONS\ · 27 unmodified lines |
| 105 | | 106 | |
| 106 | \$cR*\$cZ - option affects configuration if \$cP'-s'\$cZ option passed. | 107 | \$cR*\$cZ - option affects configuration if \$cP'-s'\$cZ option passed. |
| 107 | \${cP}NOTE: \$cG'-c some_file.jpg -s'\$cP only \${cU}allows\$cZ\$cP cover images, it doesn't set a default one. | 108 | \${cP}NOTE: \$cG'-c some_file.jpg -s'\$cP only \${cU}allows\$cZ\$cP cover images, it doesn't set a default one. |
| 108 | \${cZ}Supported \$cU\${cG}FORMATs\${cZ}: flac, m4a, mp3, ogg, wav. | 109 | \${cZ}Supported \$cU\${cG}FORMATs\${cZ}: flac, m4a, mp3, ogg, opus, wav. |
| 109 | Supported tags for \$cU\${cG}PATTERN\${cZ}: @artist, @album, @year, @track, @performer, @title, @genre, @ext. | 110 | Supported tags for \$cU\${cG}PATTERN\${cZ}: @artist, @album, @year, @track, @performer, @title, @genre, @ext. |
| 110 | @performer tag is useful with 'various artists' albums, when you want to add | 111 | @performer tag is useful with 'various artists' albums, when you want to add |
| 111 | each artist's name to the track filename. It works as @artist if track performer is undefined. | 112 | each artist's name to the track filename. It works as @artist if track performer is undefined. |
| @@ -187,6 +188,7 @@ while [ "$1" ]; do · 75 unmodified lines |
| 187 | mac 2>&1 | grep '(v '; | 188 | mac 2>&1 | grep '(v '; |
| 188 | faac -h 2>&1 | grep '^FAAC'; | 189 | faac -h 2>&1 | grep '^FAAC'; |
| 189 | oggenc --version 2>/dev/null; | 190 | oggenc --version 2>/dev/null; |
| | 191 | opusenc --version 2>/dev/null; |
| 190 | lame --version | grep '^LAME'; | 192 | lame --version | grep '^LAME'; |
| 191 | exit 0;; | 193 | exit 0;; |
| 192 | -*) eval "$msg \"${HELP}\""; emsg "\nUnknown option $1\n"; exit 1;; | 194 | -*) eval "$msg \"${HELP}\""; emsg "\nUnknown option $1\n"; exit 1;; |
| @@ -223,6 +225,7 @@ if [ ${SAVE} -eq 1 ]; then · 30 unmodified lines |
| 223 | echo "ENCARGS_m4a=\"${ENCARGS_m4a}\"" >> "${CONFIG}" | 225 | echo "ENCARGS_m4a=\"${ENCARGS_m4a}\"" >> "${CONFIG}" |
| 224 | echo "ENCARGS_mp3=\"${ENCARGS_mp3}\"" >> "${CONFIG}" | 226 | echo "ENCARGS_mp3=\"${ENCARGS_mp3}\"" >> "${CONFIG}" |
| 225 | echo "ENCARGS_ogg=\"${ENCARGS_ogg}\"" >> "${CONFIG}" | 227 | echo "ENCARGS_ogg=\"${ENCARGS_ogg}\"" >> "${CONFIG}" |
| | 228 | echo "ENCARGS_opus=\"${ENCARGS_opus}\"" >> "${CONFIG}" |
| 226 | echo "ENCARGS_wav=\"${ENCARGS_wav}\"" >> "${CONFIG}" | 229 | echo "ENCARGS_wav=\"${ENCARGS_wav}\"" >> "${CONFIG}" |
| 227 | echo "ENCA_ARGS=\"${ENCA_ARGS}\"" >> "${CONFIG}" | 230 | echo "ENCA_ARGS=\"${ENCA_ARGS}\"" >> "${CONFIG}" |
| 228 | $msg "${cP}Configuration saved$cZ\n" | 231 | $msg "${cP}Configuration saved$cZ\n" |
| @@ -245,6 +248,7 @@ case ${FORMAT} in · 16 unmodified lines |
| 245 | m4a) $msg "$msg_format M4A"; enc_help="faac --help";; | 248 | m4a) $msg "$msg_format M4A"; enc_help="faac --help";; |
| 246 | mp3) $msg "$msg_format MP3"; enc_help="lame --help";; | 249 | mp3) $msg "$msg_format MP3"; enc_help="lame --help";; |
| 247 | ogg) $msg "$msg_format OGG VORBIS"; enc_help="oggenc --help";; | 250 | ogg) $msg "$msg_format OGG VORBIS"; enc_help="oggenc --help";; |
| | 251 | opus) $msg "$msg_format OPUS"; enc_help="opusenc --help";; |
| 248 | wav) $msg "$msg_format WAVE"; enc_help="echo Sorry, no arguments available for this encoder";; | 252 | wav) $msg "$msg_format WAVE"; enc_help="echo Sorry, no arguments available for this encoder";; |
| 249 | *) emsg "Unknown output format \"${FORMAT}\"\n"; exit 1;; | 253 | *) emsg "Unknown output format \"${FORMAT}\"\n"; exit 1;; |
| 250 | esac | 254 | esac |
| @@ -506,6 +510,7 @@ split_file () { · 255 unmodified lines |
| 506 | m4a) ENC="cust ext=m4a faac ${ENCARGS} -o %f -"; RG="aacgain";; | 510 | m4a) ENC="cust ext=m4a faac ${ENCARGS} -o %f -"; RG="aacgain";; |
| 507 | mp3) ENC="cust ext=mp3 lame ${ENCARGS} - %f"; RG="mp3gain";; | 511 | mp3) ENC="cust ext=mp3 lame ${ENCARGS} - %f"; RG="mp3gain";; |
| 508 | ogg) ENC="cust ext=ogg oggenc ${ENCARGS} - -o %f"; RG="vorbisgain -a";; | 512 | ogg) ENC="cust ext=ogg oggenc ${ENCARGS} - -o %f"; RG="vorbisgain -a";; |
| | 513 | opus) ENC="cust ext=opus opusenc ${ENCARGS} - %f"; REPLAY_GAIN=0;; |
| 509 | wav) ENC="wav ${ENCARGS}"; REPLAY_GAIN=0;; | 514 | wav) ENC="wav ${ENCARGS}"; REPLAY_GAIN=0;; |
| 510 | *) emsg "Unknown output format ${FORMAT}\n"; exit 1;; | 515 | *) emsg "Unknown output format ${FORMAT}\n"; exit 1;; |
| 511 | esac | 516 | esac |
| @@ -585,7 +590,7 @@ split_file () { · 73 unmodified lines |
| 585 | ${ID3TAG} --artist="${TAG_PERFORMER}" \ | 590 | ${ID3TAG} --artist="${TAG_PERFORMER}" \ |
| 586 | --album="${TAG_ALBUM}" \ | 591 | --album="${TAG_ALBUM}" \ |
| 587 | --song="${TAG_TITLE}" \ | 592 | --song="${TAG_TITLE}" \ |
| 588 | --track="$i" \ | 593 | --track="$i/${TRACKS_NUM}" \ |
| 589 | "${FINAL}" >/dev/null | 594 | "${FINAL}" >/dev/null |
| 590 | RES=$? | 595 | RES=$? |
| 591 | | 596 | |
| @@ -606,6 +611,18 @@ split_file () { · 14 unmodified lines |
| 606 | [ "${TAG_DATE}" ] && { ${VORBISCOMMENT} "${FINAL}" -t "DATE=${TAG_DATE}" >/dev/null; RES=$RES$?; } | 611 | [ "${TAG_DATE}" ] && { ${VORBISCOMMENT} "${FINAL}" -t "DATE=${TAG_DATE}" >/dev/null; RES=$RES$?; } |
| 607 | ;; | 612 | ;; |
| 608 | | 613 | |
| | 614 | opus) |
| | 615 | ${ID3TAG} --artist="${TAG_PERFORMER}" \ |
| | 616 | --album="${TAG_ALBUM}" \ |
| | 617 | --song="${TAG_TITLE}" \ |
| | 618 | --track="$i/${TRACKS_NUM}" \ |
| | 619 | "${FINAL}" >/dev/null |
| | 620 | RES=$? |
| | 621 | |
| | 622 | [ "${TAG_GENRE}" ] && { ${ID3TAG} --genre="${TAG_GENRE}" "${FINAL}" >/dev/null; RES=$RES$?; } |
| | 623 | [ "${TAG_DATE}" ] && { ${ID3TAG} --year="${TAG_DATE}" "${FINAL}" >/dev/null; RES=$RES$?; } |
| | 624 | ;; |
| | 625 | |
| 609 | m4a) | 626 | m4a) |
| 610 | ${MP4TAGS} "${FINAL}" \ | 627 | ${MP4TAGS} "${FINAL}" \ |
| 611 | -a "${TAG_PERFORMER}" \ | 628 | -a "${TAG_PERFORMER}" \ |