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

em.audio

Class EM_SOUND


Direct ancestors

EM_AUDIO, EM_AUDIO_CONSTANTS, SDL_MIXER_FUNCTIONS, MEMORY

Creation

Features

Invariants

indexing

description

Implements a sound file.

This file can be either WAVE, AIFF, RIFF, OGG or VOC.

date

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

revision

$Revision: 1.10 $

class

EM_SOUND

inherit

EM_AUDIO

create {EM_AUDIO_FACTORY}

make_from_pointer (a_pointer: POINTER)

-- Make from a_pointer that is possibly shared within the
-- process of the current OS.

-- (From EM_AUDIO)

require
a_pointer_not_void: a_pointer /= default_pointer

feature -- Access

filename: STRING

-- Filename for audio chunk

-- (From EM_AUDIO)

item: POINTER

-- Pointer to the wrapped struct

-- (From EWG_STRUCT)

require
exists: exists
ensure
item_not_default_pointer: Result /= Default_pointer
sizeof: INTEGER

-- Size of object

-- (From EWG_STRUCT)

ensure
sizeof_positive: Result > 0

feature -- Element change

set_filename (a_filename: like internal_filename)

-- Set internal_filename to a_filename.

-- (From EM_AUDIO)

require
a_filename /= Void
ensure
filename_set: internal_filename = a_filename

feature -- Removal

dispose

-- Free up resources.

-- (From DISPOSABLE)

feature -- Conversion

to_pointer: POINTER

-- Returns pointer to audio chunk

-- (From EM_AUDIO)

ensure
Result_assigned: Result = item

feature -- Setters

set_volume (a_volume: INTEGER)

-- Set chunk volume to a_volume.
--
-- Note: This is not the channel volume.

require
volume_in_range: 0 <= a_volume and a_volume <= Em_max_volume

feature -- Default constants

em_max_volume: INTEGER

-- Maximum value for any volume setting.

-- (From EM_AUDIO_CONSTANTS)

invariant


-- From EWG_STRUCT
managed_data_not_void: managed_data /= Void
managed_capacity_equals_sizeof: exists implies managed_data.capacity = sizeof

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

end