nu_wav 0.5.1 → 0.5.2

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: ff90bfdab63fd49f4fde0dda4e2b22c812f63378
4
- data.tar.gz: 867412a86abddeb99d36917caeea201292e5538b
3
+ metadata.gz: ae6cd918a153bd8d42624454930918744cc97e11
4
+ data.tar.gz: ccac0689b07bac03986e5ed2fed094784535cad8
5
5
  SHA512:
6
- metadata.gz: b63dfd82faae5b350baf485bde9990aa8243b3cecfb8d487d5ae9f9e3a0bc5dfec3d51dd9c42f2b711d31b682ef429830cc887d1fa30fe109c4ff418cc0daf12
7
- data.tar.gz: fd7f2c65df980c45722918afb2302b43fc70eacc6e78a05ecab049f6394e3fbade417c03d08015db8c6b93511715cdaa17886dff7347fb079b30169a90c9e33c
6
+ metadata.gz: 9171eafa8a246d3628df246fc3eaf3e9b858517e94a027b9c1b9416a9e3fe3f005d3f2e3ed74175394469f97e425b59572e1ff0a5201b474ce6bca82517a0b27
7
+ data.tar.gz: 0abbe49eaa6a9b471fbfa56cac07afd8b04fc53c13cbd8a43522f845a13e1ed96419d5abf974c65d65d4288a1d2a8908450d710d8946391ccfba0307a99c165e
@@ -1,4 +1,4 @@
1
- = NuWav Ruby Gem (nu_wav)
1
+ # NuWav Ruby Gem (nu_wav)
2
2
 
3
3
  [![Build Status](https://travis-ci.org/kookster/nu_wav.png?branch=master)](https://travis-ci.org/kookster/nu_wav)
4
4
 
@@ -9,7 +9,7 @@ It will parse other chunks, but doesn't necessarily provide specific parsing for
9
9
 
10
10
  It will look for a class based on the chunk name, so if you want to add 'fact' chunk parsing, you need to define a class like this (n.b. 'fact' chunks are already supported, this is an example from the code):
11
11
 
12
- ```
12
+ ```ruby
13
13
  module NuWav
14
14
  class FactChunk < NuWav::Chunk
15
15
  attr_accessor :samples_number
@@ -30,7 +30,7 @@ module NuWav
30
30
  end
31
31
  ```
32
32
 
33
- == Note on Patches/Pull Requests
33
+ ## Note on Patches/Pull Requests
34
34
 
35
35
  * Fork the project.
36
36
  * Make your feature addition or bug fix.
@@ -40,6 +40,6 @@ end
40
40
  (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
41
41
  * Send me a pull request. Bonus points for topic branches.
42
42
 
43
- == Copyright
43
+ ## Copyright
44
44
 
45
45
  Copyright (c) 2010 Andrew Kuklewicz kookster. See LICENSE for details.
@@ -1,3 +1,3 @@
1
1
  module NuWav
2
- VERSION = "0.5.1"
2
+ VERSION = "0.5.2"
3
3
  end
@@ -28,7 +28,7 @@ module NuWav
28
28
  NuWav::WaveFile.log "riff_length: #{riff_length}"
29
29
  NuWav::WaveFile.log "wave_file_size: #{wave_file_size}"
30
30
 
31
- raise NotRIFFFormat unless riff == 'RIFF'
31
+ raise NotRIFFFormat unless riff == 'RIFF' || riff == 'RF64'
32
32
  riff_end = [f.tell + riff_length, wave_file_size].min
33
33
 
34
34
  riff_type = f.read(4)
data/nu_wav.gemspec CHANGED
@@ -22,4 +22,5 @@ Gem::Specification.new do |spec|
22
22
 
23
23
  spec.add_development_dependency "bundler", "~> 1.3"
24
24
  spec.add_development_dependency "rake"
25
+ spec.add_development_dependency "test-unit"
25
26
  end
Binary file
data/test/test_nu_wav.rb CHANGED
@@ -89,6 +89,44 @@ class TestNuWav < Test::Unit::TestCase
89
89
  memory_usage = `ps -o rss= -p #{Process.pid}`.to_i # in kilobytes
90
90
  # puts "end of test: #{memory_usage/1024} mb"
91
91
  end
92
+
93
+ def test_parse_mbwf
94
+ w = WaveFile.parse(File.expand_path(File.dirname(__FILE__) + '/files/bext_rf64.wav'))
95
+
96
+ assert_equal 6, w.chunks.size
97
+
98
+ # duration is calculated differently for mpeg and pcm
99
+ assert_equal 7456, w.duration
100
+
101
+ # fmt
102
+ assert_equal 2, w.chunks[:fmt].number_of_channels
103
+ assert_equal 96000, w.chunks[:fmt].sample_rate
104
+ assert_equal 576000, w.chunks[:fmt].byte_rate
105
+ assert_equal 6, w.chunks[:fmt].block_align
106
+ assert_equal 24, w.chunks[:fmt].sample_bits
107
+ assert_equal 0, w.chunks[:fmt].extra_size
108
+ assert_equal nil, w.chunks[:fmt].head_layer
109
+ assert_equal nil, w.chunks[:fmt].head_bit_rate
110
+ assert_equal nil, w.chunks[:fmt].head_mode
111
+ assert_equal nil, w.chunks[:fmt].head_mode_ext
112
+ assert_equal nil, w.chunks[:fmt].head_emphasis
113
+ assert_equal nil, w.chunks[:fmt].head_flags
114
+
115
+ # fact
116
+ assert_equal nil, w.chunks[:fact]
117
+
118
+ # mext
119
+ assert_equal nil, w.chunks[:mext]
120
+
121
+ # bext
122
+ assert_equal "", unpad(w.chunks[:bext].coding_history)
123
+
124
+ # cart
125
+ assert_equal nil, w.chunks[:cart]
126
+
127
+ # data
128
+ assert_equal 4294967295, w.chunks[:data].size
129
+ end
92
130
 
93
131
  def test_from_mpeg
94
132
  w = WaveFile.from_mpeg(File.expand_path(File.dirname(__FILE__) + '/files/test.mp2'))
metadata CHANGED
@@ -1,55 +1,69 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nu_wav
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Kuklewicz
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-04 00:00:00.000000000 Z
11
+ date: 2017-01-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ruby-mp3info
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: 0.6.13
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: 0.6.13
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '1.3'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.3'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: test-unit
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
53
67
  - !ruby/object:Gem::Version
54
68
  version: '0'
55
69
  description: NuWav is a pure ruby audio WAV file parser and writer. It supports Broadcast
@@ -61,16 +75,17 @@ executables: []
61
75
  extensions: []
62
76
  extra_rdoc_files: []
63
77
  files:
64
- - .gitignore
78
+ - ".gitignore"
65
79
  - Gemfile
66
80
  - LICENSE
67
- - README.rdoc
81
+ - README.md
68
82
  - Rakefile
69
83
  - lib/nu_wav.rb
70
84
  - lib/nu_wav/chunk.rb
71
85
  - lib/nu_wav/version.rb
72
86
  - lib/nu_wav/wave_file.rb
73
87
  - nu_wav.gemspec
88
+ - test/files/bext_rf64.wav
74
89
  - test/files/test.mp2
75
90
  - test/files/test_basic.wav
76
91
  - test/files/test_bwf.wav
@@ -87,21 +102,22 @@ require_paths:
87
102
  - lib
88
103
  required_ruby_version: !ruby/object:Gem::Requirement
89
104
  requirements:
90
- - - '>='
105
+ - - ">="
91
106
  - !ruby/object:Gem::Version
92
107
  version: '0'
93
108
  required_rubygems_version: !ruby/object:Gem::Requirement
94
109
  requirements:
95
- - - '>='
110
+ - - ">="
96
111
  - !ruby/object:Gem::Version
97
112
  version: '0'
98
113
  requirements: []
99
114
  rubyforge_project:
100
- rubygems_version: 2.1.11
115
+ rubygems_version: 2.6.4
101
116
  signing_key:
102
117
  specification_version: 4
103
118
  summary: NuWav is a pure ruby audio WAV file parser and writer.
104
119
  test_files:
120
+ - test/files/bext_rf64.wav
105
121
  - test/files/test.mp2
106
122
  - test/files/test_basic.wav
107
123
  - test/files/test_bwf.wav