X-Git-Url: http://git.code-monkey.de/?p=rb-rip.git;a=blobdiff_plain;f=rb-rip;h=58e3bc3fb2b3cb1cf6a223e9e836d776bc0d4cc5;hp=164d58187467ccd6b9dd09979181c7e50f214acb;hb=HEAD;hpb=5805d23e939c5a1c20c80da3207bb6c82c080853 diff --git a/rb-rip b/rb-rip index 164d581..58e3bc3 100755 --- a/rb-rip +++ b/rb-rip @@ -4,7 +4,7 @@ require 'fileutils' require "musicbrainz" require "yaml" require "ostruct" -#require "glib2" +require 'iconv' require "tempfile" class Track @@ -176,6 +176,18 @@ class String end end +def locale_from_utf8(s) + # FIXME: Encoding is only available in Ruby 1.9 + to_charset = Encoding.locale_charmap + utf8 = 'UTF-8'.freeze + + if to_charset == utf8 + s.dup + else + Iconv.iconv to_charset, utf8, s + end +end + cfg_file = ARGV.first || File.expand_path("~/.rbrip.yaml") begin @@ -230,8 +242,7 @@ puts "Disc info:\n Tracks:\n" album.tracks.each_with_index do |t, i| - #tmp = GLib.locale_from_utf8(t.name) - tmp = t.name + tmp = locale_from_utf8 t.name puts "%3s." % (i + 1) + " #{tmp}" end @@ -324,9 +335,8 @@ album.tracks.each_with_index do |t, i| puts "Ripping: #{track_no}. #{t.name} => #{file + enc.suffix}" `#{rip_cmd} | #{encode_cmd}` - apltags = enc.apply_tags(file + enc.suffix, metadata) puts "Applying tags..." - `#{apltags} > /dev/null` + enc.apply_tags(file + enc.suffix, metadata) end rplgain_cmd = enc.compute_replaygain(files)