From 968819c58b023cadca0ca1402a26f7e13069fd4b Mon Sep 17 00:00:00 2001 From: yuzu-eva Date: Tue, 11 Nov 2025 16:51:28 +0100 Subject: initial commit --- bin/tag-tracks | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100755 bin/tag-tracks (limited to 'bin/tag-tracks') diff --git a/bin/tag-tracks b/bin/tag-tracks new file mode 100755 index 0000000..609c4cd --- /dev/null +++ b/bin/tag-tracks @@ -0,0 +1,32 @@ +#!/usr/bin/env ruby + +require 'taglib' + +if ARGV.empty? + puts "ERROR: no argument given..." + puts "usage: tag-tracks TARGET_DIR" + exit 69 +end + +target_dir = ARGV.first + +Dir.chdir("#{target_dir}") + +puts "Tagging Tracks in #{Dir.pwd} ..." + +mp3_files = Dir.glob("*").sort_by { |x| File.basename(x).downcase } + +track_num = 1 + +mp3_files.each do |song| + song_name = File.basename(song, File.extname(song)) + TagLib::MPEG::File.open(song) do |file| + tag = file.id3v2_tag + tag.track = track_num + tag.title = "#{song_name}" + file.save + track_num += 1 + end +end + +puts "Done!" -- cgit v1.2.3