fmod 0.9.4 → 0.9.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +0 -1
- data/CHANGELOG.md +55 -0
- data/README.md +6 -3
- data/fmod.gemspec +17 -2
- data/lib/fmod.rb +8 -8
- data/lib/fmod/core/advanced_settings.rb +37 -0
- data/lib/fmod/core/structures.rb +4 -0
- data/lib/fmod/core/vector.rb +1 -1
- data/lib/fmod/dsp.rb +1 -1
- data/lib/fmod/system.rb +55 -0
- data/lib/fmod/version.rb +1 -2
- metadata +25 -15
- data/HISTORY.txt +0 -54
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b373f395e70ddf17daa9d009dedc0a2b20a63cdd
|
4
|
+
data.tar.gz: c7eec2f46d363e3c57f25fdf366880e9065cff49
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f3a55f092dab4b5acd125d682b060312c5e3ca3788a42158318416a74d71d8be39744ebbda364c7ae6afd3e0870e4909664599abbb4d44b3d4f2c0a4a74f9200
|
7
|
+
data.tar.gz: a7aa5d6bddc184a3cdf5b99475e753f1b562d27b8b007e7dd1ce9e80be563c7dbd467024565c7dd346cf4cc7982c32dbf957407c4a76d50d37d96bfe6ad1e0cd
|
data/.gitignore
CHANGED
data/CHANGELOG.md
ADDED
@@ -0,0 +1,55 @@
|
|
1
|
+
# Changelog
|
2
|
+
All notable changes to this project will be documented in this file.
|
3
|
+
|
4
|
+
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
|
5
|
+
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
6
|
+
|
7
|
+
## [0.9.5](https://rubygems.org/gems/fmod/versions/0.9.4) - 2018/07/14
|
8
|
+
### Added
|
9
|
+
- This `CHANGELOG.md` file
|
10
|
+
- Meta-data to `.gemspec` file
|
11
|
+
- Altered `FMOD.load_library` to default to the current working directory when searching instead of locally with the gem installation directory
|
12
|
+
- `FMOD::Core::ListenerAttributes` struct
|
13
|
+
- `#get_listener_attributes` and `#set_listener_attributes` methods added to `FMOD::System`
|
14
|
+
- `FMOD::Core::Vector` changed to permit no arguments
|
15
|
+
- Skeleton `FMOD::Core::AdvancedSettings` structure added (*untested*)
|
16
|
+
|
17
|
+
### Removed
|
18
|
+
- The deprecated `HISTORY.txt` file
|
19
|
+
|
20
|
+
## [0.9.4](https://rubygems.org/gems/fmod/versions/0.9.4) - 2018/07/12
|
21
|
+
### Removed
|
22
|
+
- Some temporary code that was accidentally left in the `.gemspec` file
|
23
|
+
- Packaged native FMOD libraries from `.gem` file
|
24
|
+
- Compiled FMOD help file from `.gem` file
|
25
|
+
|
26
|
+
## [0.9.2](https://rubygems.org/gems/fmod/versions/0.9.2) - 2018/07/11
|
27
|
+
### Added
|
28
|
+
- `ReverbIndex` module to define reverb presets by strongly-typed integer
|
29
|
+
- Added `.from_index` class method to `Reverb` class
|
30
|
+
- Implemented skeleton `DspDescription` structure
|
31
|
+
|
32
|
+
### Deprecated
|
33
|
+
- `FMOD::DspType::LOW_PASS` constant
|
34
|
+
- `FMOD::DspType::LOW_PASS_SIMPLE` constant
|
35
|
+
- `FMOD::DspType::HIGH_PASS` constant
|
36
|
+
- `FMOD::DspType::HIGH_PASS_SIMPLE` constant
|
37
|
+
- `FMOD::DspType::LADSPA_PLUGIN` constant
|
38
|
+
- `FMOD::Effects::LowPass` class
|
39
|
+
- `FMOD::Effects::LowPassSimple` class
|
40
|
+
- `FMOD::Effects::HighPass` class
|
41
|
+
- `FMOD::Effects::HighPassSimple` class
|
42
|
+
- `FMOD::Effects::LadspaPlugin` class
|
43
|
+
|
44
|
+
## [0.9.1](https://rubygems.org/gems/fmod/versions/0.9.1) - 2018-07-10
|
45
|
+
### Added
|
46
|
+
- `names` method added to `FMOD::Core::Structure` class
|
47
|
+
- `values` method added to `FMOD::Core::Structure` class
|
48
|
+
|
49
|
+
### Bug Fixes
|
50
|
+
- Retrieving current reverb properties (`FMOD::System##get_reverb`) will no longer cause segmentatiion fault
|
51
|
+
|
52
|
+
|
53
|
+
## [0.9.0](https://rubygems.org/gems/fmod/versions/0.9.0) - 2018-07-09
|
54
|
+
|
55
|
+
- Initial public release
|
data/README.md
CHANGED
@@ -1,4 +1,5 @@
|
|
1
|
-
#
|
1
|
+
# ![LOGO](https://upload.wikimedia.org/wikipedia/de/c/c9/Fmod-logo.svg)
|
2
|
+
|
2
3
|
|
3
4
|
[![Gem Version](https://badge.fury.io/rb/fmod.svg)](https://badge.fury.io/rb/fmod) ![Documentation](https://img.shields.io/badge/Documentation-99.22%25-green.svg)
|
4
5
|
|
@@ -28,7 +29,9 @@ Supports a host of audio formats including:
|
|
28
29
|
* Extended Module (.xm )
|
29
30
|
* Windows Media Audio (Xbox 360) (.xma)
|
30
31
|
|
31
|
-
FMOD is most widely known for its application in video games for sound effects, as it fully supports 3D sound, and can be found in all popular video game consoles (Sony, Microsoft, and Nintendo), as well as a large number of popular PC and mobile games.
|
32
|
+
FMOD is most widely known for its application in video games for sound effects, as it fully supports 3D sound, and can be found in all popular video game consoles (Sony, Microsoft, and Nintendo), as well as a large number of popular PC and mobile games. This is not a restriction by any means, though, and it functions just as well for any audio back-end in your Ruby application, even providing the core functionality to a full-fledged audio player, as it supports such a wide array of formats.
|
33
|
+
|
34
|
+
Built-in is a large collection of audio effects that can be applied to a sound, including various equalizers, advanced reverb environments, pitch-shifting, frequency, flange, chorus, and many, many more. Sound manipulation is where FMOD really shines, and places it as an industry standard on nearly all platforms.
|
32
35
|
|
33
36
|
The wrapper supports callbacks for various events, such as sync-points in wave files, sound playback ending (either by user or end of data), and various other scenarios. It additionally supports access to raw PCM data directly from the sound card, for creating visualizations or examining the sound in real-time.
|
34
37
|
|
@@ -48,7 +51,7 @@ Or install it yourself as:
|
|
48
51
|
|
49
52
|
$ gem install fmod
|
50
53
|
|
51
|
-
As of version 0.9.3, the external dependencies are no longer bundled with the gem, but are readily available [here](https://github.com/ForeverZer0/fmod/tree/master/
|
54
|
+
As of version 0.9.3, the external dependencies are no longer bundled with the gem, but are readily available [here](https://github.com/ForeverZer0/fmod/tree/master/extras) (these are the versions the gem was built against). Alternatively, you may download the external libraries directly from the [FMOD website](https://www.fmod.com/download) (free registration required). Place the platform-specific binaries within the working directory, or in directory of your choice and use `FMOD.load_library` to initialize the gem.
|
52
55
|
|
53
56
|
## Usage
|
54
57
|
|
data/fmod.gemspec
CHANGED
@@ -9,21 +9,36 @@ Gem::Specification.new do |spec|
|
|
9
9
|
spec.authors = ['Eric "ForeverZer0" Freed']
|
10
10
|
spec.email = ['efreed09@gmail.com']
|
11
11
|
spec.summary = %q{Ruby wrapper around the high performance, cross-platform FMOD low-level sound library. You get all the benefits of the FMOD library, but in the object-oriented Ruby way!}
|
12
|
-
spec.description = %q{A full-featured and complete Ruby wrapper of the ultra-powerful FMOD Low-Level API. Uses the built-in Fiddle library (Ruby 2.0+) to eliminate unnecessary external gem dependencies, all that is needed is the FMOD platform-specific libraries
|
12
|
+
spec.description = %q{A full-featured and complete Ruby wrapper of the ultra-powerful FMOD Low-Level API for accomplishing all of your audio needs. Uses the built-in Fiddle library (Ruby 2.0+) to eliminate unnecessary external gem dependencies, all that is needed is the FMOD platform-specific libraries. FMOD supports a host of audio formats including .aiff, .asf, .asx, .dls, .flac, .fsb, .it, .m3u, .mid, .midi, .mod, .mp2, .mp3, .ogg .pls, .s3m , vag, .wav, .wax, .wma, .xm, and .xma.}
|
13
13
|
spec.homepage = 'https://github.com/ForeverZer0/fmod'
|
14
14
|
spec.license = 'MIT'
|
15
15
|
spec.has_rdoc = 'yard'
|
16
16
|
|
17
|
+
spec.post_install_message = 'Dependent libraries can be acquired by visiting the project on GitHub or directly from https://www.fmod.com/download.'
|
18
|
+
|
19
|
+
spec.metadata = {
|
20
|
+
'bug_tracker_uri' => 'https://github.com/ForeverZer0/fmod/issues',
|
21
|
+
'changelog_uri' => 'https://github.com/ForeverZer0/fmod/blob/master/CHANGELOG.md',
|
22
|
+
'documentation_uri' => "https://www.rubydoc.info/gems/fmod/#{FMOD::VERSION}",
|
23
|
+
'homepage_uri' => 'https://github.com/ForeverZer0/fmod',
|
24
|
+
'mailing_list_uri' => 'https://github.com/ForeverZer0/fmod',
|
25
|
+
'source_code_uri' => 'https://github.com/ForeverZer0/fmod',
|
26
|
+
'wiki_uri' => 'https://github.com/ForeverZer0/fmod/wiki'
|
27
|
+
}
|
28
|
+
|
17
29
|
spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
|
18
30
|
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features|extras|ext)/}) }
|
19
31
|
end
|
32
|
+
|
20
33
|
spec.bindir = 'exe'
|
21
34
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
22
35
|
spec.require_paths = ['lib']
|
23
36
|
|
37
|
+
spec.requirements << 'FMOD Low-Level API library'
|
38
|
+
|
24
39
|
spec.required_ruby_version = '>= 2.0.0'
|
25
40
|
|
26
41
|
spec.add_development_dependency 'bundler', '~> 1.16'
|
27
|
-
spec.add_development_dependency 'rake', '
|
42
|
+
spec.add_development_dependency 'rake', '>= 0.0'
|
28
43
|
spec.add_development_dependency 'yard', '~> 0.9'
|
29
44
|
end
|
data/lib/fmod.rb
CHANGED
@@ -347,7 +347,7 @@ module FMOD
|
|
347
347
|
System_CreateSoundGroup: [TYPE_VOIDP, TYPE_VOIDP, TYPE_VOIDP],
|
348
348
|
System_CreateStream: [TYPE_VOIDP, TYPE_VOIDP, TYPE_INT, TYPE_VOIDP, TYPE_VOIDP],
|
349
349
|
System_DetachChannelGroupFromPort: [TYPE_VOIDP, TYPE_VOIDP],
|
350
|
-
|
350
|
+
System_Get3DListenerAttributes: [TYPE_VOIDP, TYPE_INT] + Array.new(4, TYPE_VOIDP),
|
351
351
|
System_Get3DNumListeners: [TYPE_VOIDP, TYPE_VOIDP],
|
352
352
|
System_Get3DSettings: Array.new(4, TYPE_VOIDP),
|
353
353
|
# System_GetAdvancedSettings: [TYPE_VOIDP],
|
@@ -356,7 +356,7 @@ module FMOD
|
|
356
356
|
System_GetCPUUsage: Array.new(6, TYPE_VOIDP),
|
357
357
|
System_GetDefaultMixMatrix: [TYPE_VOIDP, TYPE_INT, TYPE_INT, TYPE_VOIDP, TYPE_INT],
|
358
358
|
System_GetDriver: [TYPE_VOIDP, TYPE_VOIDP],
|
359
|
-
System_GetDriverInfo: [TYPE_VOIDP, TYPE_INT, TYPE_VOIDP, TYPE_INT
|
359
|
+
System_GetDriverInfo: [TYPE_VOIDP, TYPE_INT, TYPE_VOIDP, TYPE_INT] + Array.new(4, TYPE_VOIDP),
|
360
360
|
System_GetDSPBufferSize: Array.new(3, TYPE_VOIDP),
|
361
361
|
System_GetDSPInfoByPlugin: [TYPE_VOIDP, TYPE_INT, TYPE_VOIDP],
|
362
362
|
System_GetFileUsage: Array.new(4, TYPE_VOIDP),
|
@@ -375,7 +375,7 @@ module FMOD
|
|
375
375
|
System_GetOutputHandle: [TYPE_VOIDP, TYPE_VOIDP],
|
376
376
|
System_GetPluginHandle: [TYPE_VOIDP, TYPE_INT, TYPE_INT, TYPE_VOIDP],
|
377
377
|
System_GetPluginInfo: [TYPE_VOIDP, TYPE_INT, TYPE_VOIDP, TYPE_VOIDP, TYPE_INT, TYPE_VOIDP],
|
378
|
-
System_GetRecordDriverInfo: [TYPE_VOIDP, TYPE_INT, TYPE_VOIDP, TYPE_INT
|
378
|
+
System_GetRecordDriverInfo: [TYPE_VOIDP, TYPE_INT, TYPE_VOIDP, TYPE_INT] + Array.new(5, TYPE_VOIDP),
|
379
379
|
System_GetRecordNumDrivers: [TYPE_VOIDP, TYPE_VOIDP, TYPE_VOIDP],
|
380
380
|
System_GetRecordPosition: [TYPE_VOIDP, TYPE_INT, TYPE_VOIDP],
|
381
381
|
System_GetReverbProperties: [TYPE_VOIDP, TYPE_INT, TYPE_VOIDP],
|
@@ -402,7 +402,7 @@ module FMOD
|
|
402
402
|
# System_RegisterDSP: [TYPE_VOIDP],
|
403
403
|
# System_RegisterOutput: [TYPE_VOIDP],
|
404
404
|
System_Release: [TYPE_VOIDP],
|
405
|
-
|
405
|
+
System_Set3DListenerAttributes: [TYPE_VOIDP, TYPE_INT] + Array.new(4, TYPE_VOIDP),
|
406
406
|
System_Set3DNumListeners: [TYPE_VOIDP, TYPE_INT],
|
407
407
|
System_Set3DRolloffCallback: [TYPE_VOIDP, TYPE_VOIDP],
|
408
408
|
System_Set3DSettings: [TYPE_VOIDP, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT],
|
@@ -466,7 +466,7 @@ module FMOD
|
|
466
466
|
# from. By default this will be the "./ext" folder relative to the gem
|
467
467
|
# installation folder.
|
468
468
|
#
|
469
|
-
# @return [
|
469
|
+
# @return [true] if no errors occurred, otherwise exception will be raised.
|
470
470
|
def self.load_library(library = nil, directory = nil)
|
471
471
|
if library.nil?
|
472
472
|
library = case platform
|
@@ -476,10 +476,10 @@ module FMOD
|
|
476
476
|
else 'fmod' # Will probably fail...
|
477
477
|
end
|
478
478
|
end
|
479
|
-
directory
|
480
|
-
|
481
|
-
lib = Fiddle.dlopen(File.expand_path(library))
|
479
|
+
path = File.expand_path(File.join(directory || Dir.getwd, library))
|
480
|
+
lib = Fiddle.dlopen(path)
|
482
481
|
import_symbols(lib)
|
482
|
+
true
|
483
483
|
end
|
484
484
|
|
485
485
|
# @return [Symbol] a symbol representing the operating system. Will be either
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module FMOD
|
2
|
+
module Core
|
3
|
+
class AdvancedSettings < Structure
|
4
|
+
|
5
|
+
def initialize(address = nil)
|
6
|
+
types = Array.new(9, TYPE_INT) + [TYPE_VOIDP, TYPE_VOIDP] + Array.new(4,
|
7
|
+
TYPE_FLOAT) + [TYPE_INT, TYPE_SHORT, TYPE_INT, TYPE_FLOAT] +
|
8
|
+
Array.new(8, TYPE_INT)
|
9
|
+
members = [ :cb_ize, :max_MPEG_codecs, :max_ADPCM_codecs,
|
10
|
+
:max_XMA_codecs, :max_Vorbis_codecs, :max_AT9_codecs,
|
11
|
+
:max_FADPCM_codecs, :max_PCM_codecs, :ASIO_channels,
|
12
|
+
:ASI_channel_list, :ASIO_speaker_list, :HRTF_min_angle,
|
13
|
+
:HRTF_max_angle, :HRTF_freq, :vol0_virtual_vol,
|
14
|
+
:default_decode_buffer_size, :profile_port,
|
15
|
+
:geometry_max_fade_time, :distance_filter_center_freq,
|
16
|
+
:reverb3D_instance, :dsp_buffer_pool_size,
|
17
|
+
:stack_size_stream, :stack_size_non_blocking,
|
18
|
+
:stack_size_mixer, :resampler_method, :command_queue_size,
|
19
|
+
:random_seed]
|
20
|
+
super(address, types, members)
|
21
|
+
end
|
22
|
+
|
23
|
+
[:cb_ize, :max_MPEG_codecs, :max_ADPCM_codecs, :max_XMA_codecs,
|
24
|
+
:max_Vorbis_codecs, :max_AT9_codecs, :max_FADPCM_codecs, :max_PCM_codecs,
|
25
|
+
:ASIO_channels, :ASI_channel_list, :ASIO_speaker_list, :HRTF_min_angle,
|
26
|
+
:HRTF_max_angle, :HRTF_freq, :vol0_virtual_vol,
|
27
|
+
:default_decode_buffer_size, :profile_port, :geometry_max_fade_time,
|
28
|
+
:distance_filter_center_freq, :reverb3D_instance, :dsp_buffer_pool_size,
|
29
|
+
:stack_size_stream, :stack_size_non_blocking, :stack_size_mixer,
|
30
|
+
:resampler_method, :command_queue_size, :random_seed].each do |sym|
|
31
|
+
|
32
|
+
define_method(sym) { self[sym] }
|
33
|
+
define_method("#{sym}=") { |value| self[sym] = value }
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
data/lib/fmod/core/structures.rb
CHANGED
data/lib/fmod/core/vector.rb
CHANGED
@@ -27,7 +27,7 @@ module FMOD
|
|
27
27
|
# @param y [Float] The Y coordinate in 3D space.
|
28
28
|
# @param z [Float] The Z coordinate in 3D space.
|
29
29
|
def initialize(*args)
|
30
|
-
address
|
30
|
+
address = args[0] if args.size <= 1
|
31
31
|
members = [:x, :y, :z]
|
32
32
|
types = Array.new(3, TYPE_FLOAT)
|
33
33
|
super(address, types, members)
|
data/lib/fmod/dsp.rb
CHANGED
@@ -132,7 +132,7 @@ module FMOD
|
|
132
132
|
}
|
133
133
|
return @type_map[type] if type.is_a?(Integer)
|
134
134
|
return @type_map.key(type) if type.is_a?(Class)
|
135
|
-
raise TypeError, "#{type} is not
|
135
|
+
raise TypeError, "#{type} is not an Integer or Class."
|
136
136
|
end
|
137
137
|
|
138
138
|
##
|
data/lib/fmod/system.rb
CHANGED
@@ -95,6 +95,7 @@ module FMOD
|
|
95
95
|
super
|
96
96
|
@rolloff_callbacks = []
|
97
97
|
sig = [TYPE_VOIDP, TYPE_FLOAT]
|
98
|
+
# noinspection RubyResolve
|
98
99
|
abi = FMOD::ABI
|
99
100
|
cb = Closure::BlockCaller.new(TYPE_FLOAT, sig, abi) do |channel, distance|
|
100
101
|
unless @rolloff_callbacks.empty?
|
@@ -700,6 +701,60 @@ module FMOD
|
|
700
701
|
distance_factor, scale)
|
701
702
|
end
|
702
703
|
|
704
|
+
##
|
705
|
+
# @return [ListenerAttributes] the position, velocity and orientation of the
|
706
|
+
# specified 3D sound listener.
|
707
|
+
#
|
708
|
+
# @param id [Integer] Listener ID in a multi-listener environment. Specify
|
709
|
+
# 0 if there is only 1 listener.
|
710
|
+
#
|
711
|
+
# @since 0.9.5
|
712
|
+
def get_listener_attributes(id)
|
713
|
+
args = (0..3).map { FMOD::Core::Vector.new(nil) }
|
714
|
+
FMOD.invoke(:System_Get3DListenerAttributes, self, id, *args)
|
715
|
+
ListenerAttributes.new(*args)
|
716
|
+
end
|
717
|
+
|
718
|
+
##
|
719
|
+
# Updates the position, velocity and orientation of the specified 3D sound
|
720
|
+
# listener.
|
721
|
+
#
|
722
|
+
# @overload set_listener_attributes(id, attributes)
|
723
|
+
# @param id [Integer] Listener ID in a multi-listener environment. Specify
|
724
|
+
# 0 if there is only 1 listener.
|
725
|
+
# @param attributes [ListenerAttributes]
|
726
|
+
#
|
727
|
+
# @overload set_listener_attributes(id, position, velocity, forward, up)
|
728
|
+
# @param id [Integer] Listener ID in a multi-listener environment. Specify
|
729
|
+
# 0 if there is only 1 listener.
|
730
|
+
# @param position [Vector, nil] The position of the listener in world
|
731
|
+
# space, measured in distance units. You can specify +nil+ to not update
|
732
|
+
# the position.
|
733
|
+
# @param velocity [Vector, nil] The velocity of the listener measured in
|
734
|
+
# distance units *per second*. You can specify +nil+ to not update the
|
735
|
+
# velocity of the listener.
|
736
|
+
# @param forward [Vector, nil] The forwards orientation of the listener.
|
737
|
+
# This vector must be of unit length and perpendicular to the up vector.
|
738
|
+
# You can specify +nil+ to not update the forwards orientation of the listener.
|
739
|
+
# @param up [Vector, nil] The upwards orientation of the listener. This
|
740
|
+
# vector must be of unit length and perpendicular to the forwards
|
741
|
+
# vector. You can specify +nil+ to not update the upwards orientation of
|
742
|
+
# the listener.
|
743
|
+
#
|
744
|
+
# @return [void]
|
745
|
+
#
|
746
|
+
# @since 0.9.5
|
747
|
+
def set_listener_attributes(id, *args)
|
748
|
+
if args.size == 1 && FMOD.type?(args[0], ListenerAttributes)
|
749
|
+
args = args[0].values
|
750
|
+
end
|
751
|
+
unless args.size == 4
|
752
|
+
raise ArgumentError, "wrong number of arguments (#{args.size} for 2, 5)"
|
753
|
+
end
|
754
|
+
args.each { |arg| FMOD.type?(arg, Vector) unless arg.nil? }
|
755
|
+
FMOD.invoke(:System_Set3DListenerAttributes, self, id, *args)
|
756
|
+
end
|
757
|
+
|
703
758
|
##
|
704
759
|
# Calculates geometry occlusion between a listener and a sound source.
|
705
760
|
#
|
data/lib/fmod/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fmod
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eric "ForeverZer0" Freed
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-07-
|
11
|
+
date: 2018-07-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -28,16 +28,16 @@ dependencies:
|
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '0.0'
|
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
|
-
version: '
|
40
|
+
version: '0.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: yard
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -53,11 +53,11 @@ dependencies:
|
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0.9'
|
55
55
|
description: A full-featured and complete Ruby wrapper of the ultra-powerful FMOD
|
56
|
-
Low-Level API. Uses the built-in Fiddle
|
57
|
-
external gem dependencies, all that
|
58
|
-
|
59
|
-
|
60
|
-
.wax, .wma, .xm, and .xma.
|
56
|
+
Low-Level API for accomplishing all of your audio needs. Uses the built-in Fiddle
|
57
|
+
library (Ruby 2.0+) to eliminate unnecessary external gem dependencies, all that
|
58
|
+
is needed is the FMOD platform-specific libraries. FMOD supports a host of audio
|
59
|
+
formats including .aiff, .asf, .asx, .dls, .flac, .fsb, .it, .m3u, .mid, .midi,
|
60
|
+
.mod, .mp2, .mp3, .ogg .pls, .s3m , vag, .wav, .wax, .wma, .xm, and .xma.
|
61
61
|
email:
|
62
62
|
- efreed09@gmail.com
|
63
63
|
executables: []
|
@@ -69,10 +69,10 @@ files:
|
|
69
69
|
- ".gitignore"
|
70
70
|
- ".travis.yml"
|
71
71
|
- ".yardopts"
|
72
|
+
- CHANGELOG.md
|
72
73
|
- CODE_OF_CONDUCT.md
|
73
74
|
- CONTRIBUTING.md
|
74
75
|
- Gemfile
|
75
|
-
- HISTORY.txt
|
76
76
|
- LICENSE.txt
|
77
77
|
- PULL_REQUEST_TEMPLATE.md
|
78
78
|
- README.md
|
@@ -85,6 +85,7 @@ files:
|
|
85
85
|
- lib/fmod/channel_control.rb
|
86
86
|
- lib/fmod/channel_group.rb
|
87
87
|
- lib/fmod/core.rb
|
88
|
+
- lib/fmod/core/advanced_settings.rb
|
88
89
|
- lib/fmod/core/bool_description.rb
|
89
90
|
- lib/fmod/core/channel_mask.rb
|
90
91
|
- lib/fmod/core/data_description.rb
|
@@ -172,8 +173,16 @@ files:
|
|
172
173
|
homepage: https://github.com/ForeverZer0/fmod
|
173
174
|
licenses:
|
174
175
|
- MIT
|
175
|
-
metadata:
|
176
|
-
|
176
|
+
metadata:
|
177
|
+
bug_tracker_uri: https://github.com/ForeverZer0/fmod/issues
|
178
|
+
changelog_uri: https://github.com/ForeverZer0/fmod/blob/master/CHANGELOG.md
|
179
|
+
documentation_uri: https://www.rubydoc.info/gems/fmod/0.9.5
|
180
|
+
homepage_uri: https://github.com/ForeverZer0/fmod
|
181
|
+
mailing_list_uri: https://github.com/ForeverZer0/fmod
|
182
|
+
source_code_uri: https://github.com/ForeverZer0/fmod
|
183
|
+
wiki_uri: https://github.com/ForeverZer0/fmod/wiki
|
184
|
+
post_install_message: Dependent libraries can be acquired by visiting the project
|
185
|
+
on GitHub or directly from https://www.fmod.com/download.
|
177
186
|
rdoc_options: []
|
178
187
|
require_paths:
|
179
188
|
- lib
|
@@ -187,7 +196,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
187
196
|
- - ">="
|
188
197
|
- !ruby/object:Gem::Version
|
189
198
|
version: '0'
|
190
|
-
requirements:
|
199
|
+
requirements:
|
200
|
+
- FMOD Low-Level API library
|
191
201
|
rubyforge_project:
|
192
202
|
rubygems_version: 2.6.14.1
|
193
203
|
signing_key:
|
data/HISTORY.txt
DELETED
@@ -1,54 +0,0 @@
|
|
1
|
-
=== 0.9.4 / 2018/07/12
|
2
|
-
|
3
|
-
* Removed some temporary code from fmod.gemspec
|
4
|
-
|
5
|
-
=== 0.9.3 / 2018/07/12
|
6
|
-
|
7
|
-
* Removed external libraries from gem file
|
8
|
-
* Removed FMOD compiled help file from gem file
|
9
|
-
|
10
|
-
=== 0.9.2 / 2018/07/11
|
11
|
-
|
12
|
-
* Added ReverbIndex class
|
13
|
-
|
14
|
-
* Added .from_index class function to Reverb class
|
15
|
-
|
16
|
-
* Implemented skeleton DspDescription structure
|
17
|
-
|
18
|
-
* Deprecated constants in DspType:
|
19
|
-
* LOW_PASS
|
20
|
-
* LOW_PASS_SIMPLE
|
21
|
-
* HIGH_PASS
|
22
|
-
* HIGH_PASS_SIMPLE
|
23
|
-
* LADSPA_PLUGIN
|
24
|
-
|
25
|
-
* Deprecated constants in Effects:
|
26
|
-
* LowPass
|
27
|
-
* LowPassSimple
|
28
|
-
* HighPass
|
29
|
-
* HighPassSimple
|
30
|
-
* LadspaPlugin
|
31
|
-
|
32
|
-
=== 0.9.1 / 2018-07-10
|
33
|
-
|
34
|
-
* Added Features
|
35
|
-
* Expanded methods to FMOD::Core::Structure
|
36
|
-
* names - Gets array of field name symbols
|
37
|
-
* values - Gets all the structure fields as an array
|
38
|
-
|
39
|
-
* Bug Fixes
|
40
|
-
* Fixed getting Reverb from System object would cause segmentation fault
|
41
|
-
|
42
|
-
* Documentation
|
43
|
-
* Completed for Channel, ChannelGroup, and ChannelControl
|
44
|
-
* Various enum classes
|
45
|
-
* Current documentation completion is 71%
|
46
|
-
|
47
|
-
* Misc.
|
48
|
-
* Updated gem description (poor formatting)
|
49
|
-
* Added templates for pull-requests, bugs, etc.
|
50
|
-
|
51
|
-
|
52
|
-
=== 0.9.0 / 2018-07-09
|
53
|
-
|
54
|
-
* Initial public release
|