ruby-mext 0.15.3 → 0.16.0
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 +4 -4
- data/lib/mext.rb +1 -0
- data/lib/mext/sound.rb +11 -0
- data/lib/mext/sound/info.rb +51 -0
- data/lib/version.rb +1 -1
- data/ruby-mext.gemspec +1 -0
- metadata +18 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 99f6292abec34cd042d4c36de64c339fb020bb867f636b9f37406e427be91b57
|
4
|
+
data.tar.gz: af95264284365db5f8e2f1ac77c6660735a00ea921181786c486afea93372689
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b77a6a5d99dd8a738d7131dfa7c4e1cfb18d257179d41c5bad3e13f81ff69af6c62e15caf9f5c002d14d68fc1fb643df0b809b44f130cf821b6cee1591253db3
|
7
|
+
data.tar.gz: 43b43dce16bc537f3f17b8aea8268530d704dfe99d148cddc7c0d0b018b4933193fa556c12ebe1e85980f845c921a04ccdc4ae4dacbb468494a38e6bfdaf2d83
|
data/lib/mext.rb
CHANGED
data/lib/mext/sound.rb
ADDED
@@ -0,0 +1,51 @@
|
|
1
|
+
require 'wavefile'
|
2
|
+
|
3
|
+
module Mext
|
4
|
+
module Sound
|
5
|
+
|
6
|
+
#
|
7
|
+
# +Mext::Sound::Info+
|
8
|
+
#
|
9
|
+
# +Mext::Sound::Info+ is a class that holds all the information
|
10
|
+
# about a given sound sample.
|
11
|
+
#
|
12
|
+
# PLEASE NOTE: current implementation only supports wav files.
|
13
|
+
# You are welcome to contribute a more encompassing one.
|
14
|
+
#
|
15
|
+
class Info
|
16
|
+
attr_reader :filename, :sound_dir
|
17
|
+
attr_reader :sample_rate, :channels, :num_frames
|
18
|
+
|
19
|
+
def initialize(f, dir)
|
20
|
+
@filename = f
|
21
|
+
@sound_dir = dir
|
22
|
+
setup
|
23
|
+
end
|
24
|
+
|
25
|
+
#
|
26
|
+
# +dur+
|
27
|
+
#
|
28
|
+
# returns the total duration in seconds, calculating it with
|
29
|
+
# sample precision
|
30
|
+
#
|
31
|
+
def dur
|
32
|
+
self.num_frames.to_f / self.sample_rate.to_f
|
33
|
+
end
|
34
|
+
|
35
|
+
private
|
36
|
+
|
37
|
+
def setup
|
38
|
+
path = File.join(self.sound_dir, self.filename)
|
39
|
+
WaveFile::Reader.new(path) do
|
40
|
+
|reader|
|
41
|
+
@sample_rate = reader.format.sample_rate
|
42
|
+
@num_frames = reader.total_sample_frames
|
43
|
+
@total_dur = reader.total_duration # FIXME: kept but not used for now
|
44
|
+
@channels = reader.format.channels
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
51
|
+
end
|
data/lib/version.rb
CHANGED
data/ruby-mext.gemspec
CHANGED
@@ -29,6 +29,7 @@ Gem::Specification.new do |spec|
|
|
29
29
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
30
30
|
spec.require_paths = ['lib']
|
31
31
|
|
32
|
+
spec.add_dependency 'wavefile'
|
32
33
|
spec.add_development_dependency 'bundler', '~> 1.13'
|
33
34
|
spec.add_development_dependency 'rake', '~> 10.0'
|
34
35
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-mext
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.16.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nicola Bernardini
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-07-
|
11
|
+
date: 2019-07-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: wavefile
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: bundler
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -149,6 +163,8 @@ files:
|
|
149
163
|
- lib/mext/numeric/pitch_fork.rb
|
150
164
|
- lib/mext/numeric/rrand.rb
|
151
165
|
- lib/mext/numeric/semitopch.rb
|
166
|
+
- lib/mext/sound.rb
|
167
|
+
- lib/mext/sound/info.rb
|
152
168
|
- lib/mext/utilities.rb
|
153
169
|
- lib/ruby-mext.rb
|
154
170
|
- lib/ruby.rb
|