classdef FreeverbReverberator< matlab.System
%FreeverbReverberator Add reverberation to audio samples using freeverb
%                     algorithm
%   FR = audioexample.FreeverbReverberator returns an audio reverberator
%   that uses the freeverb algorithm to add reverberation effect to each
%   channel of input signal.
%
%   FR = audioexample.FreeverbReverberator('PropertyName', PropertyValue,
%   ...) returns a Freeverb reverberator System object, FR, with each
%   specified property set to the specified value.
%
%   Step method syntax:
%
%   Y = step(FR, X) adds reverberation effect to each channel of the input
%   X, based on the properties set in the object FR.
%
%   System objects may be called directly like a function instead of using
%   the step method. For example, y = step(obj, x) and y = obj(x) are
%   equivalent.
%
%   FreeverbReverberator methods:
%
%   step     - See above description for use of this method
%   release  - Allow property value and input characteristics changes
%   clone    - Create Freeverb reverberator System object with same 
%              property values
%   isLocked - Locked status (logical)
%   <a href="matlab:help matlab.System/reset   ">reset</a>    - Reset the internal states to initial conditions
%
%   FreeverbReverberator properties:
%
%   RoomSize           - Feedback factor for comb section (reflectivity)
%   StereoWidth        - Stereo width of output audio
%   WetDryMix          - Mix of input audio with output audio
%   Balance            - Left-right channel balance of output
%   Volume             - Volume level of output
%   StereoSpread       - Additional delay for right audio channel
%   CombDelayLength    - Length of delay line of comb filter
%   AllpassDelayLength - Length of delay line of allpass filter
%   CombDamping        - Damping used in lowpass filter of comb section
%
%   This System object FreeverbReverberator is only in support of
%   audioFreeverbReverberationExample. It may change in a future release.

 
%   Copyright 2014-2019 The MathWorks, Inc.

    methods
        function out=FreeverbReverberator
            % Constructor
        end

        function out=mixer(~) %#ok<STOUT>
        end

        function out=parallelComb(~) %#ok<STOUT>
        end

        function out=releaseImpl(~) %#ok<STOUT>
        end

        function out=resetImpl(~) %#ok<STOUT>
        end

        function out=seriesAllPass(~) %#ok<STOUT>
        end

        function out=setupImpl(~) %#ok<STOUT>
            % Set up comb section
        end

        function out=stepImpl(~) %#ok<STOUT>
            % Freeverb algorithm:
        end

        function out=validateInputsImpl(~) %#ok<STOUT>
        end

    end
    properties
        AllpassDelayLength;

        Balance;

        CombDamping;

        CombDelayLength;

        RoomSize;

        StereoSpread;

        StereoWidth;

        Volume;

        WetDryMix;

    end
end
