Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

tagtoname

Package Overview
Dependencies
Maintainers
1
Versions
16
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

tagtoname

Renames audio files using the metadata tags

  • 5.2.2
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
2
increased by100%
Maintainers
1
Weekly downloads
 
Created
Source

tagtoname

build status npm version

Renames audio files using the metadata tags

Installing

npm install tagtoname

CLI

Usage: tagtoname [-k] [-n] [-s separator] [-t tag]... file...

Renames audio files using the metadata tags.

Options:

  -k, --keep-case            Keep the original case of the tags when renaming
  -n, --noop                 Dry run, show new paths without renaming the files
  -s, --separator=SEPARATOR  Split tags with SEPARATOR;
                             defaults to -s-
  -t, --tag=TAG              Append TAG(s) to the new name;
                             defaults to -t artist -t title
  --help                     Show help
  --version                  Output the version number

For example, by default a file with the "mp3" ext, the artist tag "Beethoven",
and the title tag "Ode to Joy" is renamed to "beethoven-ode-to-joy.mp3".

See the list of supported tags (the -t option accepts any value from the "Common tag" column).

Examples

# Rename a file.
# For example, if the file has the "artist" tag "Beethoven", and the "title" tag
# "Ode to Joy", by default it will be renamed to "beethoven-ode-to-joy.mp3".
tagtoname file.mp3

# Rename all files in a folder.
tagtoname folder/*
# Rename a file and keep the original case of the tags instead of lowercasing.
# For example, if the file has the "artist" tag "Philip Glass", and the "title"
# tag "Opening", it will be renamed to "Philip-Glass-Opening.mp3".
tagtoname -k file.mp3

# Dry run, output what would happen if we were to rename all files in a folder.
tagtoname -n folder/*

# Rename a file using a custom separator.
# For example, if the file has the "artist" tag "Debussy" and the "title" tag
# "Reverie", the file will be renamed to "debussy/reverie.mp3" (since the
# separator is "/", the folder "debussy" is created if needed).
tagtoname -s / file.mp3

# Rename a file using specific tags.
# For example, if the file has the "title" tag "A Clockwork Orange", and the
# "year" tag "1971", it will be renamed to "a-clockwork-orange-1971.mp4".
tagtoname -t title -t year file.mp4

API

tagtoname(paths, options)

Renames an audio file using its metadata tags. Resolves with the new path.

The first argument is the path of the file to be renamed.

The second argument is an options object with the following properties:

  • keepCase: Keep the original case of the tags when renaming, defaults to false
  • noop: Perform a dry run without renaming the file, defaults to false
  • separator: The separator used to split the tags in the new name, defaults to "-"
  • tags: An array of the tags used in the new name, defaults to ["artist", "title"]

Examples

import tagtoname from "tagtoname";

// Rename "/file.mp3"
// assuming the artist tag is "Queen" and the title tag is "Bohemian Rhapsody"
tagtoname("/file.mp3").then(console.log);
// => /queen-bohemian-rhapsody.mp3

// Rename "/file.mp3" keeping the original case
// assuming the artist tag is "Queen" and the title tag is "Bohemian Rhapsody"
tagtoname("/file.mp3", { keepCase: true }).then(console.log);
// => /Queen-Bohemian-Rhapsody.mp3

// Rename "/file.mp3" using "/" as a separator
// assuming the artist tag is "Queen" and the title tag is "Bohemian Rhapsody"
// (since the separator is "/", the folder "queen" is created if needed).
tagtoname("/file.mp3", { separator: "/" }).then(console.log);
// => /queen/bohemian-rhapsody.mp3

// Rename "/file.mp3" using the "year" and "title" tags
// assuming the year tag is "1975" and the title tag is "Bohemian Rhapsody"
tagtoname("/file.mp3", { tags: ["year", "title"] }).then(console.log);
// => /1975-bohemian-rhapsody.mp3

License

MIT

Keywords

FAQs

Package last updated on 13 Aug 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc