Sha256: 60cb1c64261896ac7d58f7c1d24f0c3b74a23c7727f13dc97614ad80858f21f1

Contents?: true

Size: 1.6 KB

Versions: 5

Compression:

Stored size: 1.6 KB

Contents

module FMOD
  module Core

    ##
    # Structure describing a data parameter for a DSP unit.
    class DataDescription < Structure

      ##
      # The default data type. All user data types should be 0 or above.
      TYPE_USER = 0

      ##
      # The data type for overall-gain parameters. There should a maximum of one
      # per DSP.
      TYPE_OVERALLGAIN = 1

      ##
      # The data type for 3D attribute parameters. There should a maximum of one
      # per DSP.
      TYPE_3DATTRIBUTES = 2

      ##
      # The data type for side-chain parameters. There should a maximum of one
      # per DSP.
      TYPE_SIDECHAIN = 3

      ##
      # The data type for FFT parameters. There should a maximum of one per DSP.
      TYPE_FFT = 4

      ##
      # The data type for multiple 3D attribute parameters. There should a
      # maximum of one per DSP.
      TYPE_3DATTRIBUTES_MULTI = 5

      ##
      # @param address [Pointer, Integer, String, nil] The address in memory
      #   where the structure will be created from. If no address is given, new
      #   memory will be allocated.
      def initialize(address = nil)
        super(address, [TYPE_INT], [:data_type])
      end

      ##
      # The type of data for this parameter. Use 0 or above for custom types or
      # set to one of the following are possible values:
      # * {TYPE_USER}
      # * {TYPE_OVERALLGAIN}
      # * {TYPE_3DATTRIBUTES}
      # * {TYPE_SIDECHAIN}
      # * {TYPE_FFT}
      # * {TYPE_3DATTRIBUTES_MULTI}
      def data_type
        self[:data_type]
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
fmod-0.9.6 lib/fmod/core/data_description.rb
fmod-0.9.5 lib/fmod/core/data_description.rb
fmod-0.9.4 lib/fmod/core/data_description.rb
fmod-0.9.3 lib/fmod/core/data_description.rb
fmod-0.9.2 lib/fmod/core/data_description.rb