Sha256: 890b15664a8a2d25194329f9ed2112e5fa0b8887a48f8852d5e159b6597c7fd2

Contents?: true

Size: 1.26 KB

Versions: 3

Compression:

Stored size: 1.26 KB

Contents

# frozen_string_literal: true

module Calliope
  class Filters
    # @return [Integer]
    attr_reader :volume

    # @return [Object]
    attr_reader :karaoke

    # @return [Object]
    attr_reader :tremolo

    # @return [Object]
    attr_reader :vibrato

    # @return [Hash]
    attr_reader :plugins

    # @return [Integer]
    attr_reader :rotation

    # @return [Integer]
    attr_reader :low_pass

    # @return [Object]
    attr_reader :equalizer

    # @return [Object]
    attr_reader :timescale

    # @return [Object]
    attr_reader :distortion

    # @return [Object]
    attr_reader :channel_mix

    # @!visibility private
    # @param payload [Hash]
    def initialize(payload)
      @volume = payload["volume"]
      @karaoke = Karaoke.new(payload["karaoke"])
      @tremolo = Tremolo.new(payload["tremolo"])
      @vibrato = Vibrato.new(payload["vibrato"])
      @plugins = payload["pluginFilters"]
      @rotation = payload["rotation"]["rotationHz"]
      @low_pass = payload["lowPass"]["smoothing"]
      @equalizer = payload["equalizer"].map { |hash| Equalizer.new(hash) }
      @timescale = Timescale.new(payload["timescale"])
      @distortion = Distortion.new(payload["distortion"])
      @channel_mix = ChannelMix.new(payload["channelMix"])
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
calliope-link-1.0.2 lib/calliope/model/filters.rb
calliope-link-1.0.1 lib/calliope/model/filters.rb
calliope-link-1.0.0 lib/calliope/model/filters.rb