GF4J 0.9.4 Beta

gameframe.engines.msjava4x
Class CSoundEngine

java.lang.Object
  |
  +--gameframe.engines.msjava4x.CSoundEngine
All Implemented Interfaces:
Finalizable, SoundEngine

class CSoundEngine
extends java.lang.Object
implements SoundEngine, Finalizable

Implementation of sound engine for Microsoft JVM's that support DirectX interfacing.

Since:
GameFrame for Java 0.9
Version:
GameFrame for Java 0.9.4

Inner Class Summary
(package private)  class CSoundEngine.CDXSound
          DirectSound implementation of the sound object.
 
Field Summary
private  java.util.Vector m_createdMusics
          All the music files created through this sound engine.
private  java.util.Vector m_createdSamples
          All the sounds created through this sound engine.
private  gameframe.engines.msjava4x.DirectSound m_dSound
          The DirectSound instance that is used to load the sounds.
private  java.awt.Component m_focusedComponent
          The focused component that uses the sound engine.
private  java.lang.String m_strDataDirectory
          Name of the directory that contains loaded sounds.
 
Constructor Summary
CSoundEngine(java.awt.Component component)
          Constructs a DirectSound implementation of the sound engine.
 
Method Summary
(package private)  void finalizationNotify(CMidiMusic music)
          Removes the given MIDI music from the list of active MIDI musics.
 void finalize()
          Releases the DirectSound COM objects and MIDI music objects.
 java.lang.String getDataDirectory()
          Returns the data directory wherefrom the sounds are loaded.
 java.lang.String getDescription()
          Returns the (possibly multiline) description of the implementation.
 java.lang.String getName()
          Returns the short name (max 8 characters) of the implementation "DSound".
 Music loadMusic(java.lang.String fileName)
          First tries to load a music file as streamed Microsoft RIFF WAV file, if no such file is found from the current data directory, tries to load a music file in MIDI format.
 Sample loadSample(java.lang.String fileName)
          Load a sample in WAV format from the given file and return an abstract reference for the loaded sound.
 void setDataDirectory(java.lang.String strDirectoryName)
          Sets the data directory wherefrom the sounds are loaded.
(package private)  void setFocusedComponent(java.awt.Component component)
          Sets the new focused component if the application finalises the old graphics engine and creates a new one.
 
Methods inherited from class java.lang.Object
, clone, equals, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

m_dSound

private gameframe.engines.msjava4x.DirectSound m_dSound
The DirectSound instance that is used to load the sounds.

m_createdSamples

private java.util.Vector m_createdSamples
All the sounds created through this sound engine.

m_createdMusics

private java.util.Vector m_createdMusics
All the music files created through this sound engine.

m_strDataDirectory

private java.lang.String m_strDataDirectory
Name of the directory that contains loaded sounds.

m_focusedComponent

private java.awt.Component m_focusedComponent
The focused component that uses the sound engine.
Constructor Detail

CSoundEngine

public CSoundEngine(java.awt.Component component)
             throws java.lang.Exception
Constructs a DirectSound implementation of the sound engine.
Parameters:
component - The component that is the focus monitored window for this sound engine.
Method Detail

finalize

public void finalize()
Releases the DirectSound COM objects and MIDI music objects.
Specified by:
finalize in interface Finalizable
Overrides:
finalize in class java.lang.Object

setFocusedComponent

void setFocusedComponent(java.awt.Component component)
Sets the new focused component if the application finalises the old graphics engine and creates a new one.
Parameters:
component - The component that owns this sound engine.

finalizationNotify

void finalizationNotify(CMidiMusic music)
Removes the given MIDI music from the list of active MIDI musics.
Parameters:
music - The MIDI music object to be removed.

getName

public java.lang.String getName()
Returns the short name (max 8 characters) of the implementation "DSound".
Specified by:
getName in interface SoundEngine
Returns:
The short name of the graphics engine.
Since:
GameFrame for Java 0.9.3

getDescription

public java.lang.String getDescription()
Returns the (possibly multiline) description of the implementation.
Specified by:
getDescription in interface SoundEngine
Returns:
A description of the graphics engine.
Since:
GameFrame for Java 0.9.3

loadSample

public Sample loadSample(java.lang.String fileName)
                  throws java.io.FileNotFoundException,
                         GameFrameException
Load a sample in WAV format from the given file and return an abstract reference for the loaded sound.
Specified by:
loadSample in interface SoundEngine
Parameters:
fileName - The name of the file to be loaded (without the file extension)
Returns:
An unique Sample object that specifies the loaded sample

loadMusic

public Music loadMusic(java.lang.String fileName)
                throws java.io.FileNotFoundException,
                       GameFrameException
First tries to load a music file as streamed Microsoft RIFF WAV file, if no such file is found from the current data directory, tries to load a music file in MIDI format. When suitable file is found returns a control object for the music file if no suitable file is found returns NullSound object. Music files are loaded by default from the current directory, the directory that is used to load the samples can be set with the setDataDirectory() method.
Specified by:
loadMusic in interface SoundEngine
Parameters:
fileName - The name of the file to be loaded (without the file extension)
Returns:
An unique Sample object that represents the loaded sample
Since:
GameFrame for Java 0.9.2
See Also:
setDataDirectory(java.lang.String)

setDataDirectory

public void setDataDirectory(java.lang.String strDirectoryName)
                      throws java.io.FileNotFoundException
Sets the data directory wherefrom the sounds are loaded. Defaults to the current directory. Do not add the last directory separator.
Specified by:
setDataDirectory in interface SoundEngine
Parameters:
strDirectoryName - The name of the directory that contains the sounds.

getDataDirectory

public java.lang.String getDataDirectory()
Returns the data directory wherefrom the sounds are loaded. The source directory defaults to the current directory. Note: The returned path will have the path separator as the last character.
Specified by:
getDataDirectory in interface SoundEngine
Returns:
The name of the directory that wherefrom the sounds are loaded.
Since:
GameFrame for Java 0.9.3
See Also:
loadSample(java.lang.String), loadMusic(java.lang.String)

GF4J 0.9.4 Beta