Releases: sandreas/tone
v0.1.5
Release Notes
This release is a bugfix release mainly to fix one important bug, where tone
did not work on arm64
Macs.
Fixed
Setup instructions
tone
is released as single monolithic binary, so you don't need a setup file or any dependencies (not even a .NET
runtime). Download the tone
release for your platform, extract it and run it via command line. If you need help choosing your download, here are some hints:
- For Windows, only the x64 platform is available... choose
-win-x64.zip
- For
musl
(an alternative C library) choose your arch prefixed bymusl
(usually this is used in alpinedocker
images and other lightweight distributions) - For standard Linux (like Fedora, Ubuntu, etc.), chose your arch without
musl
prefix - For macOS you might need to run
xattr -rd com.apple.quarantine tone
after extracting to removequarantine
flag
v0.1.4
Release Notes
Caution: This release contains some major refactorings and although I did test all the changes extensively, it still may have broken features under specific circumstances. Be sure to backup your data and do extensive testing before upgrading to v0.1.4
.
Fixed
- additional fields are no longer removed but merged when using `--meta-additional-field="..." (#11)
- Duplicate
dump
of additional fields (#7) - Description should now work like expected in
dump
(#17)
Changed
- Release mode for macOS-arm64 targets temporarily switched from
Release
toDebug
, maybe this fixes issue #6 - Improved documentation (issues #20 and #30)
- Bumped libraries to newest versions
Added
tag
command now supports--auto-import=ffmetadata
(#27)tag
command can now output json, when--format=json
is specified (full tag output, no diff, see #29)
Setup instructions
tone
is released as single monolithic binary, so you don't need a setup file or any dependencies (not even a .NET
runtime). Download the tone
release for your platform, extract it and run it via command line. If you need help choosing your download, here are some hints:
- For Windows, only the x64 platform is available... choose
-win-x64.zip
- For
musl
(an alternative C library) choose your arch prefixed bymusl
(usually this is used in alpinedocker
images and other lightweight distributions) - For standard Linux (like Fedora, Ubuntu, etc.), chose your arch without
musl
prefix - For macOS currently only
x64
does work (see known issues below) - chooseosx-x64.tar.gz
Known issues
The following issues are known, part of an external library and already reported:
- M1 / M2 macOS releases don't seem to work at the moment (see issue #6) - help would be really appreciated
v0.1.3
Release Notes
Fixed
M4bFillupTagger
did not work as expected, now it is working again- Most known command line parameter parsing are fixed by @FrankRay78 (just awesome, thank you so much)
- Fixed invalid chapter length output in
dump
command on--format=json
(thank you @itzexor) - Fixed several opus / vorbis issues (thank you @Zeugma440)
Changed
- Extracted
spectre.console
helpers to a librarySpectreConsoleHelpers
Setup instructions
tone
is released as single monolithic binary, so you don't need a setup file or any dependencies (not even a .NET
runtime). Download the tone
release for your platform, extract it and run it via command line. If you need help choosing your download, here are some hints:
- For Windows, only the x64 platform is available... choose
-win-x64.zip
- For
musl
(an alternative C library) choose your arch prefixed bymusl
(usually this is used in alpinedocker
images and other lightweight distributions) - For standard Linux (like Fedora, Ubuntu, etc.), chose your arch without
musl
prefix - For macOS currently only
x64
does work (see known issues below) - chooseosx-x64.tar.gz
Known issues
The following issues are known, part of an external library and already reported:
- M1 / M2 macOS releases don't seem to work at the moment (see issue #6) - help would be really appreciated
v0.1.2
Release Notes
Fixed
tag
command:--meta-remove-property
did not work properly to completely remove metadata (issue #15, thx @advplyr)tag
command no longer changes timebase of chapters (issue #32, thx @advplyr)
Added
- Options
--log-level
and--log-file
for dumping error details
Changed
- Updated several dependencies to newer versions
Setup instructions
tone
is released as single monolithic binary, so you don't need a setup file or any dependencies (not even a .NET
runtime). Download the tone
release for your platform, extract it and run it via command line. If you need help choosing your download, here are some hints:
- For Windows, only the x64 platform is available... choose
-win-x64.zip
- For
musl
(an alternative C library) choose your arch prefixed bymusl
(usually this is used in alpinedocker
images and other lightweight distributions) - For standard Linux (like Fedora, Ubuntu, etc.), chose your arch without
musl
prefix - For macOS currently only
x64
does work (see known issues below) - chooseosx-x64.tar.gz
Known issues
The following issues are known, part of an external library and already reported:
- M1 / M2 macOS releases don't seem to work at the moment (see #6) - help would be really appreciated
- flag options (e.g.
--dry-run
) cannot be followed by arguments (e.g.tone tag --meta-album="album" --dry-run input.mp3
) (spectre.console 825)- workaround: append flag options at the end (
tone tag --meta-album="album" input.mp3 --dry-run
)
- workaround: append flag options at the end (
--meta-*
options cannot be set to empty values (spectre.console 842)- workaround: use
--meta-remove-property
instead
- workaround: use
- Value starting with
-
is mistreated as extra option (e.g.--meta-description "-5 degrees"
) (spectre.console 890)- workaround: use
--meta-description="-5 degrees"
instead (with=
)
- workaround: use
- Invalid handling of parameter values starting with double quotes ("), e.g.
--meta-description'"quoted" value'
(spectre.console 891)- workaround: use data files (e.g.
--auto-import=...
) instead of command line parameters
- workaround: use data files (e.g.
v0.1.1
Release Notes
Fixed
dump
command now contains better handling for file specific errors (issue #25, thx @tmr0861 for reporting this)tag
anddump
now should no longer write metadata based exceptions to stdout (issue #26, thx @advplyr for reporting this)
Added
dump
now supports--format="ChptFmtNative"
to dump chapters only- Serilog library is now used to provide logging beyond command line output
--log-level
and--log-file
can now be used to review error output that has been suppressed to keep it parseabletone
is now also published asmusl
forarm
andarm64
builds (issue #31, thx @garlic82 for reporting this)ffmetadata
has been improved and import has been prepared for integration in the next releases
Changed
docker
builds now usemusl
deployment wherever necessary (issue #31)
known issues
The following issues are known, part of an external library and already reported:
- flag options (e.g.
--dry-run
) cannot be followed by arguments (e.g.tone tag --meta-album="album" --dry-run input.mp3
) (spectre.console 825)- workaround: append flag options at the end (
tone tag --meta-album="album" input.mp3 --dry-run
)
- workaround: append flag options at the end (
--meta-*
options cannot be set to empty values (spectre.console 842)- workaround: use
--meta-remove-property
instead
- workaround: use
- Value starting with
-
is mistreated as extra option (e.g.--meta-description "-5 degrees"
) (spectre.console 890)- workaround: use
--meta-description="-5 degrees"
instead (with=
)
- workaround: use
- Invalid handling of parameter values starting with double quotes ("), e.g.
--meta-description'"quoted" value'
(spectre.console 891)
v0.1.0
Release Notes
Fixed
tone
now supportschapters.txt
files with more than 24 hours of content (issue #24, thx @MrBrN197 for reporting this)
Added
dump
command now supports--exclude-property
to exclude specific properties from a dump (e.g.tone dump --format="json" --exclude-property="embeddedPictures" --exclude-property="chapters" --query='$.meta' my-audio-book.m4b
)- Note: If you combine
--exclude-property
and--include-property
,--include-property
will be applied first, so it makes not much sense only to be able to exclude properties, that you included first
- Note: If you combine
console
for custom JavaScript taggers can now use.clear()
,.debug()
,.info()
,.warn()
,.error()
and.log()
known issues
The following issues are known, part of an external library and already reported:
- flag options (e.g.
--dry-run
) cannot be followed by arguments (e.g.tone tag --meta-album="album" --dry-run input.mp3
) (spectre.console 825)- workaround: append flag options at the end (
tone tag --meta-album="album" input.mp3 --dry-run
)
- workaround: append flag options at the end (
--meta-*
options cannot be set to empty values (spectre.console 842)- workaround: use
--meta-remove-property
instead
- workaround: use
- Value starting with
-
is mistreated as extra option (e.g.--meta-description "-5 degrees"
) (spectre.console 890)- workaround: use
--meta-description="-5 degrees"
instead (with=
)
- workaround: use
- Invalid handling of parameter values starting with double quotes ("), e.g.
--meta-description'"quoted" value'
(spectre.console 891)
v0.0.9
Release Notes
Fixed
Changed
ITagger.UpdateAsync
can now refer to original metadata before any modification (required for--prepend-movement-to-description
)
Added
--prepend-movement-to-description
parameter which adds the movement name as prefix to every description field
known issues
The following issues are known, part of an external library and already reported:
- flag options (e.g.
--dry-run
) cannot be followed by arguments (e.g.tone tag --meta-album="album" --dry-run input.mp3
) (spectre.console 825)- workaround: append flag options at the end (
tone tag --meta-album="album" input.mp3 --dry-run
)
- workaround: append flag options at the end (
--meta-*
options cannot be set to empty values (spectre.console 842)- workaround: use
--meta-remove-property
instead
- workaround: use
- Value starting with
-
is mistreated as extra option (e.g.--meta-description "-5 degrees"
) (spectre.console 890)- workaround: use
--meta-description="-5 degrees"
instead (with=
)
- workaround: use
- Invalid handling of parameter values starting with double quotes ("), e.g.
--meta-description'"quoted" value'
(spectre.console 891)
v0.0.8
Release Notes
Fixed
dump
command now skips empty properties when using--format=json
- only one file was processed under specific circumstances
- script taggers were always applied ignoring the
--taggers
option
Changed
dump
now contains technical information about the audio frames and metadata formats
Added
- JavaScriptApi now contains new methods
tone.WriteTextFile
,tone.AppendTextFile
, andtone.LimitByteLength
known issues
The following issues are known, part of an external library and already reported:
- flag options (e.g.
--dry-run
) cannot be followed by arguments (e.g.tone tag --meta-album="album" --dry-run input.mp3
) (spectre.console 825)- workaround: append flag options at the end (
tone tag --meta-album="album" input.mp3 --dry-run
)
- workaround: append flag options at the end (
--meta-*
options cannot be set to empty values (spectre.console 842)- workaround: use
--meta-remove-property
instead
- workaround: use
- Value starting with
-
is mistreated as extra option (e.g.--meta-description "-5 degrees"
) (spectre.console 890)- workaround: use
--meta-description="-5 degrees"
instead (with=
)
- workaround: use
- Invalid handling of parameter values starting with double quotes ("), e.g.
--meta-description'"quoted" value'
(spectre.console 891)
v0.0.7
Release Notes
Fixed
RecordingDate
now works as expected and not be limited to year onlyDescription
now works in iTunes
Thanks to @Zeugma440 for his efforts to fix atldotnet 155
Changed
- Extracted
Sandreas.AudioMetadata
library to keep the code small, clean and reusable
Added
- Apache
LICENSE
document tone.json
format now containsfile
andaudio
container when usingdump
command
known issues
The following issues are known, part of an external library and already reported:
- flag options (e.g.
--dry-run
) cannot be followed by arguments (e.g.tone tag --meta-album="album" --dry-run input.mp3
) (spectre.console 825)- workaround: append flag options at the end (
tone tag --meta-album="album" input.mp3 --dry-run
)
- workaround: append flag options at the end (
--meta-*
options cannot be set to empty values (spectre.console 842)- workaround: use
--meta-remove-property
instead
- workaround: use
- Value starting with
-
is mistreated as extra option (e.g.--meta-description "-5 degrees"
) (spectre.console 890)- workaround: use
--meta-description="-5 degrees"
instead (with=
)
- workaround: use
- Invalid handling of parameter values starting with double quotes ("), e.g.
--meta-description'"quoted" value'
(spectre.console 891)
v0.0.6
Release Notes
changes
- add:
tone.json
serializer fordump
command with optionalJSONPath
support (tone dump my-file.m4b --format=json --query="$.meta.album"
) - add: support new metadata format
tone.json
including--auto-import
(tone tag my-file.m4b --meta-tone-json-file="tone.json" --auto-import="tonejson"
) - fix: cover tagger did not find covers under specific circumstances
known issues
The following issues are known, part of an external library and already reported:
- flag options (e.g.
--dry-run
) cannot be followed by arguments (e.g.tone tag --meta-album="album" --dry-run input.mp3
) (spectre.console 825)- workaround: append flag options at the end (
tone tag --meta-album="album" input.mp3 --dry-run
)
- workaround: append flag options at the end (
--meta-*
options cannot be set to empty values (spectre.console 842)- workaround: use
--meta-remove-property
instead
- workaround: use
- Value starting with
-
is mistreated as extra option (e.g.--meta-description "-5 degrees"
) (spectre.console 890)- workaround: use
--meta-description="-5 degrees"
instead (with=
)
- workaround: use
- Invalid handling of parameter values starting with double quotes ("), e.g.
--meta-description'"quoted" value'
(spectre.console 891) - Invalid handling of
--meta-recording-date="2022-07-05"
(atldotnet 155)