mp3file 1.0.2 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2119f169063ee7fef524f73f5f33d48364613fe3
4
- data.tar.gz: 578a75f86e87cbed2c70aac6d07c280dbea44521
3
+ metadata.gz: fe6010e6463c0bfe01c34dcc53081a9cd3ff0dd7
4
+ data.tar.gz: 88bcc7293fd8702980fb2344ef8d6e50457e7441
5
5
  SHA512:
6
- metadata.gz: 06fcdf71088ba3f8a05770983526abd1747253e13f71b2bcb903cb06096a705a53e25e1383c163a379c2ace0d3b666d547a4f20486c60c62e2578d0d33cb9d70
7
- data.tar.gz: 65c0862bc8457c720e44b9367b340d62ddb42b34e78f4cfb54a4274acc5c2701964cc99fa9b0741c414b9b62b63f5dc5f2e4d601c85834ad7699776f3aa5bf80
6
+ metadata.gz: b37617a0dabcc81bd28b4b1ee5c09bd472270792737fdc5298d20970063236a4afc635344a69730665085d518c0d8d42cfaefb211eb1dc73a20a5395301e1447
7
+ data.tar.gz: 76330c2fc6d7654a634732f88652d46309dbefd5a92ad354e7dcc9dc9595e4017d6f014314852d754fbcf28b321577184e173205f90ec7e77fbac1f94aec443d
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- mp3file (1.0.2)
4
+ mp3file (1.0.3)
5
5
  bindata (~> 1.5.0)
6
6
 
7
7
  GEM
data/bin/mp3info CHANGED
@@ -72,6 +72,19 @@ ARGV.each do |file|
72
72
  end
73
73
  end
74
74
 
75
+ # frames = 0
76
+ # mp3.each_header do |offset, header2|
77
+ # frames += 1
78
+ # puts(" MPEG frame at #{offset} bytes:")
79
+ # puts(" #{header2.version} #{header2.layer}")
80
+ # puts(" Bitrate: #{header2.bitrate} bps Samplerate: #{header2.samplerate} Hz")
81
+ # puts(" Mode: #{header2.mode} Mode Extension: #{header2.mode_extension} Emphasis: #{header2.emphasis}")
82
+ # puts(" CRC: #{header2.has_crc} Padding: #{header2.has_padding}")
83
+ # puts(" Copyright: #{header2.copyright} Original: #{header2.original}")
84
+ # puts(" Samples: #{header2.samples} Frame size: #{header2.frame_size} Side bytes: #{header2.side_bytes}")
85
+ # end
86
+ # puts " Total Frames: #{frames}"
87
+
75
88
  puts
76
89
  rescue
77
90
  $stderr.puts("Exception reading MP3 file %s: %s (%p)\n\t%s" %
@@ -56,6 +56,22 @@ module Mp3file
56
56
  value_from_tags(:genre)
57
57
  end
58
58
 
59
+ def each_header
60
+ file = File.open(@file.path, "rb")
61
+ offset = @first_header_offset
62
+
63
+ file.seek(offset, IO::SEEK_SET)
64
+ while !file.eof?
65
+ header = MP3Header.new(file)
66
+ yield offset, header
67
+
68
+ offset = offset + header.frame_size
69
+ file.seek(offset, IO::SEEK_SET)
70
+ end
71
+
72
+ file.close
73
+ end
74
+
59
75
  private
60
76
 
61
77
  def value_from_tags(v1_field)
@@ -155,7 +171,7 @@ module Mp3file
155
171
  if @xing_header.frames && @xing_header.bytes
156
172
  @num_frames = @xing_header.frames
157
173
  @total_samples = @xing_header.frames * @first_header.samples
158
- @length = total_samples / @samplerate
174
+ @length = total_samples.to_f / @samplerate.to_f
159
175
  @bitrate = ((@xing_header.bytes.to_f / @length.to_f) * 8 / 1000).to_i
160
176
  end
161
177
  else
@@ -1,3 +1,3 @@
1
1
  module Mp3file
2
- VERSION = "1.0.2"
2
+ VERSION = "1.0.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mp3file
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Watts
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-19 00:00:00.000000000 Z
11
+ date: 2015-01-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec