$: << 'lib/' << 'ext/' << '../ext/' << '../lib/'
require 'discid'
device = $*[0] ? $*[0] : DiscId.default_device
puts "Reading TOC from device '#{device}'."
begin
disc = DiscId.read(device, :isrc, :mcn)
rescue DiscId::DiscError => e
puts e
exit(1)
end
print <<EOF
Device : #{disc.device}
DiscID : #{disc.id}
FreeDB ID : #{disc.freedb_id}
TOC string : #{disc.toc_string}
First track : #{disc.first_track_number}
Last track : #{disc.last_track_number}
Total length: #{disc.seconds} seconds
Sectors : #{disc.sectors}
EOF
puts "MCN : #{disc.mcn}" if DiscId.has_feature?(:mcn)
puts
disc.tracks do |track|
puts "Track ##{track.number}"
puts " Length: %02d:%02d (%i sectors)" %
[track.seconds / 60, track.seconds % 60, track.sectors]
puts " Start : %02d:%02d (sector %i)" %
[track.start_time / 60, track.start_time % 60, track.offset]
puts " End : %02d:%02d (sector %i)" %
[track.end_time / 60, track.end_time % 60, track.end_sector]
puts " ISRC : %s" % track.isrc if DiscId.has_feature?(:isrc)
end
puts "\nSubmit via #{disc.submission_url}"