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

em.audio

Class EM_EFFECTS



Creation

Features

Invariants

indexing

description

Implements an effects list for a channel.

This class is used by EM_CHANNEL and EM_CHANNELS to
store effects.

You likely never use this class as everything is done
in the channels for you.

date

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

revision

$Revision: 1.6 $

class

EM_EFFECTS

create

make_empty

-- Create new effect list.

feature -- Initialization

make_empty

-- Create new effect list.

feature -- Access

count: INTEGER

-- Amount of effects in list

i_th (an_index: INTEGER): EM_EFFECT

-- Effect at an_index

require
an_index_is_valid: 1 <= an_index and then an_index <= count

feature -- Operations

extend (an_effect: EM_EFFECT)

-- Extend list with an_effect.
--
-- New effects are put at last position.

require
an_effect_not_void: an_effect /= Void
ensure
effct_list_count_increased: effect_list.count = old effect_list.count + 1
put (an_effect: EM_EFFECT; an_index: INTEGER)

-- Put an_effect to the list at an_index.

require
an_effect_not_void: an_effect /= Void
an_index_is_valid: 1 <= an_index and then an_index <= count
ensure
an_effect_is_put: effect_list.item (an_index) = an_effect
remove (an_effect: EM_EFFECT)

-- Remove an effect from the list.

require
an_effect_not_void: an_effect /= Void
wipe_out

-- Remove all effects from list.

ensure
list_empty: effect_list.count = 0

invariant

effect_list_created: effect_list /= Void

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

end