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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: '05555190af30d3d8d8803c04ec6a6d948a275eb5'
4
- data.tar.gz: e635c65c662fd25c70e995cf13b176add2260307
3
+ metadata.gz: b373f395e70ddf17daa9d009dedc0a2b20a63cdd
4
+ data.tar.gz: c7eec2f46d363e3c57f25fdf366880e9065cff49
5
5
  SHA512:
6
- metadata.gz: eb8fcd77eaa4ffae8ed702d16955a3ab02268357c4db451c47e4d4139b33a943fb560aafe9652b34ff5fb008ffbd4f96da61a3fca72068e33630656053e6ab10
7
- data.tar.gz: aa402dc58c38fe499aac28598cff4988bf5411902a19e185a6ea69bd02dda4274a74214ec2cfe142ac74b0ac51917be09f45c2350c9c566bca76a628f60ce1da
6
+ metadata.gz: f3a55f092dab4b5acd125d682b060312c5e3ca3788a42158318416a74d71d8be39744ebbda364c7ae6afd3e0870e4909664599abbb4d44b3d4f2c0a4a74f9200
7
+ data.tar.gz: a7aa5d6bddc184a3cdf5b99475e753f1b562d27b8b007e7dd1ce9e80be563c7dbd467024565c7dd346cf4cc7982c32dbf957407c4a76d50d37d96bfe6ad1e0cd
data/.gitignore CHANGED
@@ -7,7 +7,6 @@
7
7
  /spec/reports/
8
8
  /tmp/
9
9
  /.idea
10
- /extras/*.*
11
10
  /ext/*.*
12
11
 
13
12
  /**/*.mp3
@@ -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
- # FMOD
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. 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.
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/ext) (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.
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
 
@@ -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 (included). 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.}
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', '~> 10.0'
42
+ spec.add_development_dependency 'rake', '>= 0.0'
28
43
  spec.add_development_dependency 'yard', '~> 0.9'
29
44
  end
@@ -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
- # System_Get3DListenerAttributes: [TYPE_VOIDP],
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, TYPE_VOIDP] + Array.new(3, TYPE_VOIDP),
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, TYPE_VOIDP] + Array.new(4, TYPE_VOIDP),
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
- # System_Set3DListenerAttributes: [TYPE_VOIDP],
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 [void]
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 ||= Dir.getwd
480
- library = File.join(directory, library)
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
@@ -3,6 +3,10 @@ module FMOD
3
3
 
4
4
  module Core
5
5
 
6
+ ##
7
+ #
8
+ ListenerAttributes = Struct.new(:position, :velocity, :forward, :up)
9
+
6
10
  ##
7
11
  # Describes the loop points for the channel.
8
12
  # @attr start [Integer] The loop start point, this point in time is played
@@ -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 ||= args.size == 1 ? args.first : nil
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)
@@ -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 a Integer or Class."
135
+ raise TypeError, "#{type} is not an Integer or Class."
136
136
  end
137
137
 
138
138
  ##
@@ -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
  #
@@ -1,6 +1,5 @@
1
1
  module FMOD
2
-
3
2
  ##
4
3
  # The FMOD gem version.
5
- VERSION = "0.9.4"
4
+ VERSION = "0.9.5"
6
5
  end
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
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-13 00:00:00.000000000 Z
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: '10.0'
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: '10.0'
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 library (Ruby 2.0+) to eliminate unnecessary
57
- external gem dependencies, all that is needed is the FMOD platform-specific libraries
58
- (included). FMOD supports a host of audio formats including .aiff, .asf, .asx, .dls,
59
- .flac, .fsb, .it, .m3u, .mid, .midi, .mod, .mp2, .mp3, .ogg .pls, .s3m , vag, .wav,
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
- post_install_message:
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:
@@ -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