mirror of
https://github.com/KrumpetPirate/AAXtoMP3.git
synced 2024-11-18 03:08:57 +01:00
commit
c3584923ca
26
AAXtoMP3
26
AAXtoMP3
@ -5,7 +5,7 @@
|
|||||||
# Command Line Options
|
# Command Line Options
|
||||||
|
|
||||||
# Usage Synopsis.
|
# Usage Synopsis.
|
||||||
usage=$'\nUsage: AAXtoMP3 [--flac] [--aac] [--opus ] [--single] [--level <COMPRESSIONLEVEL>]\n[--chaptered] [-e:mp3] [-e:m4a] [-e:m4b] [--authcode <AUTHCODE>] [--no-clobber]\n[--target_dir <PATH>] [--complete_dir <PATH>] [--validate]\n[--continue <CHAPTERNUMBER>]{FILES} [--loglevel <LOGLEVEL>]\n'
|
usage=$'\nUsage: AAXtoMP3 [--flac] [--aac] [--opus ] [--single] [--level <COMPRESSIONLEVEL>]\n[--chaptered] [-e:mp3] [-e:m4a] [-e:m4b] [--authcode <AUTHCODE>] [--no-clobber]\n[--target_dir <PATH>] [--complete_dir <PATH>] [--validate]\n[--continue <CHAPTERNUMBER>] [--keep-author <N>] [--author <AUTHOR>] [--loglevel <LOGLEVEL>] {FILES}\n'
|
||||||
codec=libmp3lame # Default encoder.
|
codec=libmp3lame # Default encoder.
|
||||||
extension=mp3 # Default encoder extension.
|
extension=mp3 # Default encoder extension.
|
||||||
level=-1 # Compression level. Can be given for mp3, flac and opus. -1 = default/not specified.
|
level=-1 # Compression level. Can be given for mp3, flac and opus. -1 = default/not specified.
|
||||||
@ -19,6 +19,8 @@ loglevel=1 # Loglevel: 0: Show progress only; 1: default; 2: a
|
|||||||
noclobber=0 # Default off, clobber only if flag is enabled
|
noclobber=0 # Default off, clobber only if flag is enabled
|
||||||
continue=0 # Default off, If set Transcoding is skipped and chapter splitting starts at chapter continueAt.
|
continue=0 # Default off, If set Transcoding is skipped and chapter splitting starts at chapter continueAt.
|
||||||
continueAt=1 # Optional chapter to continue splitting the chapters.
|
continueAt=1 # Optional chapter to continue splitting the chapters.
|
||||||
|
keepArtist=-1 # Default off, if set change author metadata to use the passed argument as field
|
||||||
|
authorOverride= # Override the author, ignoring the metadata
|
||||||
|
|
||||||
# -----
|
# -----
|
||||||
# Code tip Do not have any script above this point that calls a function or a binary. If you do
|
# Code tip Do not have any script above this point that calls a function or a binary. If you do
|
||||||
@ -61,6 +63,10 @@ while true; do
|
|||||||
--continue ) continueAt="$2"; continue=1; shift 2 ;;
|
--continue ) continueAt="$2"; continue=1; shift 2 ;;
|
||||||
# Compression level
|
# Compression level
|
||||||
--level ) level="$2"; shift 2 ;;
|
--level ) level="$2"; shift 2 ;;
|
||||||
|
# Keep author number n
|
||||||
|
--keep-author ) keepArtist="$2"; shift 2 ;;
|
||||||
|
# Author override
|
||||||
|
--author ) authorOverride="$2"; shift 2 ;;
|
||||||
# Command synopsis.
|
# Command synopsis.
|
||||||
-h | --help ) printf "$usage" $0 ; exit ;;
|
-h | --help ) printf "$usage" $0 ; exit ;;
|
||||||
# Standard flag signifying the end of command line processing.
|
# Standard flag signifying the end of command line processing.
|
||||||
@ -170,7 +176,7 @@ progressbar() {
|
|||||||
echo -ne "Chapter splitting: |$progressbar| $print_percentage% ($part/$total chapters)\r"
|
echo -ne "Chapter splitting: |$progressbar| $print_percentage% ($part/$total chapters)\r"
|
||||||
}
|
}
|
||||||
# Print out what we have already after command line processing.
|
# Print out what we have already after command line processing.
|
||||||
debug_vars "Command line options as set" codec extension mode container targetdir completedir auth_code
|
debug_vars "Command line options as set" codec extension mode container targetdir completedir auth_code keepArtist authorOverride
|
||||||
|
|
||||||
# ========================================================================
|
# ========================================================================
|
||||||
# Variable validation
|
# Variable validation
|
||||||
@ -450,7 +456,22 @@ do
|
|||||||
# Make sure everything is a variable. Simplifying Command interpretation
|
# Make sure everything is a variable. Simplifying Command interpretation
|
||||||
save_metadata "${aax_file}"
|
save_metadata "${aax_file}"
|
||||||
genre=$(get_metadata_value genre)
|
genre=$(get_metadata_value genre)
|
||||||
|
if [ "x${authorOverride}" != "x" ]; then
|
||||||
|
#Manual Override
|
||||||
|
artist="${authorOverride}"
|
||||||
|
album_artist="${authorOverride}"
|
||||||
|
else
|
||||||
|
if [ "${keepArtist}" != "-1" ]; then
|
||||||
|
# Choose artist from the one that are present in the metadata. Comma separated list of names
|
||||||
|
# remove leading space; 'C. S. Lewis' -> 'C.S. Lewis'
|
||||||
|
artist="$(get_metadata_value artist | cut -d',' -f"$keepArtist" | $SED -E 's|^ ||g; s|\. +|\.|g; s|((\w+\.)+)|\1 |g')"
|
||||||
|
album_artist="$(get_metadata_value album_artist | cut -d',' -f"$keepArtist" | $SED -E 's|^ ||g; s|\. +|\.|g; s|((\w+\.)+)|\1 |g')"
|
||||||
|
else
|
||||||
|
# The default
|
||||||
artist=$(get_metadata_value artist)
|
artist=$(get_metadata_value artist)
|
||||||
|
album_artist="$(get_metadata_value album_artist)"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
title=$(get_metadata_value title | $SED 's/'\:'/'-'/g' | $SED 's/- /-/g' | xargs -0)
|
title=$(get_metadata_value title | $SED 's/'\:'/'-'/g' | $SED 's/- /-/g' | xargs -0)
|
||||||
title=${title:0:100}
|
title=${title:0:100}
|
||||||
if [ "x${targetdir}" != "x" ] ; then
|
if [ "x${targetdir}" != "x" ] ; then
|
||||||
@ -460,7 +481,6 @@ do
|
|||||||
fi
|
fi
|
||||||
output_file="${output_directory}/${title}.${extension}"
|
output_file="${output_directory}/${title}.${extension}"
|
||||||
bitrate="$(get_bitrate)k"
|
bitrate="$(get_bitrate)k"
|
||||||
album_artist="$(get_metadata_value album_artist)"
|
|
||||||
album="$(get_metadata_value album)"
|
album="$(get_metadata_value album)"
|
||||||
album_date="$(get_metadata_value date)"
|
album_date="$(get_metadata_value date)"
|
||||||
copyright="$(get_metadata_value copyright)"
|
copyright="$(get_metadata_value copyright)"
|
||||||
|
@ -51,6 +51,8 @@ bash AAXtoMP3 [-f|--flac] [-o|--opus] [-a|-aac] [-s|--single] [--level <COMPRESS
|
|||||||
* **-c** or **--chaptered** Output a single file per chapter. The `--chaptered` will only work if it follows the `--aac -e:m4a -e:m4b --flac` options.
|
* **-c** or **--chaptered** Output a single file per chapter. The `--chaptered` will only work if it follows the `--aac -e:m4a -e:m4b --flac` options.
|
||||||
* **--continue <CHAPTERNUMBER>** If the splitting into chapters gets interrupted (e.g. by a weak battery on your laptop) you can go on where the process got interrupted. Just delete the last chapter (which was incompletely generated) and redo the task with "--continue <CHAPTERNUMBER>" where CHAPTERNUMBER is the chapter that got interrupted.
|
* **--continue <CHAPTERNUMBER>** If the splitting into chapters gets interrupted (e.g. by a weak battery on your laptop) you can go on where the process got interrupted. Just delete the last chapter (which was incompletely generated) and redo the task with "--continue <CHAPTERNUMBER>" where CHAPTERNUMBER is the chapter that got interrupted.
|
||||||
* **--level <COMPRESSIONLEVEL>** Set compression level. May be given for mp3, flac and opus.
|
* **--level <COMPRESSIONLEVEL>** Set compression level. May be given for mp3, flac and opus.
|
||||||
|
* **--keep-author <FIELD>** If a book has multiple authors and you don't want all of them in the metadata, with this flag you can specify a specific author (1 is the first, 2 is the second...) to keep while discarding the others.
|
||||||
|
* **--author <AUTHOR>** Manually set the author metadata field, useful if you have multiple books of the same author but the name reported is different (eg. spacing, accents..). Has precedence over `--keep-author`.
|
||||||
* **-l** or **--loglevel <LOGLEVEL>** Set loglevel: 0 = progress only, 1 (default) = more information, output of chapter splitting progress is limitted to a progressbar, 2 = more information, especially on chapter splitting, 3 = debug mode
|
* **-l** or **--loglevel <LOGLEVEL>** Set loglevel: 0 = progress only, 1 (default) = more information, output of chapter splitting progress is limitted to a progressbar, 2 = more information, especially on chapter splitting, 3 = debug mode
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user