Eiffel Media API
Overview Cluster Class Classes Index      Previous Next      Top Features

em.audio

Class EM_PHASING_EFFECT


Direct ancestors

EM_EFFECT

Creation

Features

Invariants

indexing

description

Implements a phasing effect for channels and postmix channel.

Note: This effect may boost your CPU. Do not use effects when
having a lot of other things (like drawing).

date

$Date: 2005/10/22 13:22:42 $

revision

$Revision: 1.5 $

class

EM_PHASING_EFFECT

inherit

EM_EFFECT
MIX_EFFECT_DONE_T_CALLBACK
MIX_EFFECT_FUNC_T_CALLBACK

create

make (a_delay: like delay; a_decay: like decay)

-- Create phasing effect with a_delay and a_decay.

ensure
delay_set: delay = a_delay
decay_set: decay = a_decay

feature -- Access

decay: DOUBLE

-- Decay of phasing effect

delay: INTEGER

-- Delay of phasing effect

effect_done: POINTER

-- Effect done function pointer

-- (From EM_EFFECT)

effect_function: POINTER

-- Effect function pointer

-- (From EM_EFFECT)

feature -- Internal Callback

on_effect_done_internal (a_channel: INTEGER; a_userdata: POINTER)

-- This feature is called when the effect was unregistered from a_channel.
--
-- Additional user data is given by a_userdata on creation of the effect.

-- (From MIX_EFFECT_DONE_T_CALLBACK)

on_effect_function_internal (a_channel: INTEGER; a_stream: POINTER; a_length: INTEGER; a_userdata: POINTER)

-- This feature is called whenever data is ready to apply the effect on.
--
-- Use a_stream to modify data of an maximum amount of a_length bytes.
-- Additional user data is given by a_userdata on creation of the effect.

-- (From MIX_EFFECT_FUNC_T_CALLBACK)

feature -- Setters

set_effect_done (a_function: like effect_done)

-- Sets the effect done function pointer.

-- (From EM_EFFECT)

ensure
done_function_set: effect_done = a_function
set_effect_function (a_function: like effect_function)

-- Sets the effect function pointer.

-- (From EM_EFFECT)

ensure
function_set: effect_function = a_function

feature -- Implementation

on_effect_done (a_channel: INTEGER; a_userdata: POINTER)

-- This feature is called whenever data is ready to apply the effect on.
--
-- Additional user data is given by a_userdata on creation of the effect.

-- (From EM_EFFECT)

on_effect_function (a_channel: INTEGER; a_stream: POINTER; a_length: INTEGER; a_userdata: POINTER)

-- This feature is called whenever data is ready to apply the effect on.
--
-- Use a_stream to modify data of an maximum amount of a_length bytes.
-- Additional user data is given by a_userdata on creation of the effect.

-- (From EM_EFFECT)

invariant

buffer_created: buffer /= Void

-- From ANY
reflexive_equality: standard_is_equal (Current)
reflexive_conformance: conforms_to (Current)

end