| 
    H3D API
    2.4.1
    
   | 
 
This abstract node type is used to derive node types that can emit audio data. More...
#include <H3D/X3DSoundSourceNode.h>

Classes | |
| class | ALSoundBuffer | 
| Field that calls ALrender() when a field routed to it has generated an event.  More... | |
| class | TimeHandler | 
| TimeHandler is extended to stream audio data to OpenAL buffers if the sound source is a streaming source.  More... | |
Public Member Functions | |
| X3DSoundSourceNode (Inst< SFNode > _metadata=0, Inst< SFString > _description=0, Inst< SFBool > _loop=0, Inst< SFTime > _pauseTime=0, Inst< SFFloat > _pitch=0, Inst< SFTime > _resumeTime=0, Inst< StartTime > _startTime=0, Inst< StopTime > _stopTime=0, Inst< SFTime > _duration_changed=0, Inst< SFTime > _elapsedTime=0, Inst< SFBool > _isActive=0, Inst< SFBool > _isPaused=0, Inst< TimeHandler > _timeHandler=0) | |
| Constructor.  | |
| virtual bool | initALBuffers (bool stream) | 
| Reads new data into the OpenAL from the reader and attaches them to the sound sources that use this sound source.  More... | |
| virtual void | ALrender () | 
| Perform the OpenAL calls to render the sound.  | |
| virtual string | defaultXMLContainerField () | 
| Returns the default xml containerField attribute value.  More... | |
| virtual void | registerSoundNode (X3DSoundNode *n) | 
| Register this sound node with the X3DSoundSourceNode.  More... | |
| virtual void | unregisterSoundNode (X3DSoundNode *n) | 
| Unregister this sound node with the X3DSoundSourceNode.  | |
| virtual void | onPause () | 
| On pause, pause the sound.  | |
| virtual void | onResume () | 
| On resume, resume paused sound.  | |
| virtual void | onStart () | 
| On start, initialize AL buffers and start playing.  | |
| virtual void | onStop () | 
| On stop, stop playing the sound.  | |
  Public Member Functions inherited from H3D::X3DTimeDependentNode | |
| X3DTimeDependentNode (Inst< SFNode > _metadata=0, Inst< SFBool > _loop=0, Inst< SFTime > _pauseTime=0, Inst< SFTime > _resumeTime=0, Inst< StartTime > _startTime=0, Inst< StopTime > _stopTime=0, Inst< SFTime > _elapsedTime=0, Inst< SFBool > _isActive=0, Inst< SFBool > _isPaused=0, Inst< TimeHandler > _timeHandler=0) | |
| Constructor.  | |
| virtual void | initialize () | 
| Activates the node if the conditions for a time node to be active from the start are met.  More... | |
  Public Member Functions inherited from H3D::X3DChildNode | |
| X3DChildNode (Inst< SFNode > _metadata=0) | |
| Constructor.  | |
  Public Member Functions inherited from H3D::X3DNode | |
| X3DNode (Inst< SFNode > _metadata=0) | |
| Constructor.  | |
| X3DMetadataObject * | getMetadataByName (const string &_name) | 
| Given a name, the first X3DMetadataObject in the metadata field that matches that name is returned.  More... | |
  Public Member Functions inherited from H3D::Node | |
| Node () | |
| Constructor.  | |
| virtual Node * | clone (bool deepCopy=true, DeepCopyMap *deepCopyMap=NULL) | 
| Returns a new instance of this node type with the same state as this one.  More... | |
| virtual | ~Node () | 
| Destructor.  | |
| X3DPrototypeInstance * | getProtoInstanceParent () | 
| If this node is the root node in the proto body of a X3DPrototypeInstance then this will return that node.  More... | |
| void | setProtoInstanceParent (X3DPrototypeInstance *p) | 
| Set the X3DPrototypeInstance this node is the the root node if applicaple.  | |
| virtual void | render () | 
| the render() function is used for the depth-first rendering traversal of the scene-graph.  More... | |
| virtual void | traverseSG (TraverseInfo &ti) | 
| traverseSG is called once per scenegraph loop on the scene in order to traverse the scenegraph.  More... | |
| virtual bool | lineIntersect (const Vec3f &from, const Vec3f &to, LineIntersectResult &result) | 
| Detect intersection between a line segment and the Node.  More... | |
| virtual void | closestPoint (const Vec3f &p, NodeIntersectResult &result) | 
| Find closest point on Node to p.  More... | |
| virtual bool | movingSphereIntersect (H3DFloat radius, const Vec3f &from, const Vec3f &to, NodeIntersectResult &result) | 
| Detect collision between a moving sphere and the Node.  More... | |
| virtual Field * | getField (const string &_name) const | 
| return a pointer to the field specified by name within this instance  | |
| int | addDestructCallback (void(*func)(Node *, void *), void *args) | 
| Add a callback function to be run on destruction of node.  More... | |
| int | removeDestructCallback (void(*func)(Node *, void *), void *args) | 
| Add a callback function to be run on destruction of node.  More... | |
Public Attributes | |
| H3DUniquePtr< SFString > | description | 
| The description field specifies a textual description of the audio source.  More... | |
| H3DUniquePtr< SFFloat > | pitch | 
| The pitch field specifies a multiplier for the rate at which sampled sound is played.  More... | |
| H3DUniquePtr< SFTime > | duration_changed | 
| The duration field is the length of time in seconds for one cycle of the audio for a pitch set to 1.0.  More... | |
  Public Attributes inherited from H3D::X3DTimeDependentNode | |
| H3DUniquePtr< SFBool > | loop | 
| If loop is TRUE at the end of a cycle, execution continues into the next cycle, otherwise it stops.  More... | |
| H3DUniquePtr< SFTime > | pauseTime | 
| A time at which to pause and stop generating events.  More... | |
| H3DUniquePtr< SFTime > | resumeTime | 
| A time at which to start generating events again after being paused.  More... | |
| H3DUniquePtr< StartTime > | startTime | 
| A time-dependent node is inactive until its startTime is reached.  More... | |
| H3DUniquePtr< StopTime > | stopTime | 
| An active time-dependent node will become inactive when stopTime is reached if stopTime > startTime.  More... | |
| H3DUniquePtr< SFTime > | elapsedTime | 
| The elapsedTime outputOnly field delivers the current elapsed time since the X3DTimeDependentNode was activated and running, cumulative in seconds and not counting any time while in a paused state.  More... | |
| H3DUniquePtr< SFBool > | isActive | 
| An isActive TRUE event is generated when the node becomes active and an isActive FALSE event is generated when it becomes inactive.  More... | |
| H3DUniquePtr< SFBool > | isPaused | 
| An isPaused TRUE event is generated when the node becomes paused and an isPaused FALSE event is generated when it is resumed.  More... | |
  Public Attributes inherited from H3D::X3DNode | |
| H3DUniquePtr< SFNode > | metadata | 
| Meta data about the node.  More... | |
Static Public Attributes | |
| static H3DNodeDatabase | database | 
| The H3DNodeDatabase for this node.  | |
  Static Public Attributes inherited from H3D::X3DTimeDependentNode | |
| static H3DNodeDatabase | database | 
| The H3DNodeDatabase for this node.  | |
  Static Public Attributes inherited from H3D::X3DNode | |
| static H3DNodeDatabase | database | 
| The H3DNodeDatabase for this node.  | |
Protected Attributes | |
| list< X3DSoundNode * > | parent_sound_nodes | 
| The X3DSoundNodes that use this node as sound source.  | |
| ALuint | al_buffers [NR_STREAM_BUFFERS] | 
| OpenAL buffer ids used for playing sound.  | |
| ALenum | al_format | 
| The OpenAL format of the current sound source.  | |
| AutoRef< H3DSoundStreamNode > | reader | 
| The H3DSoundStreamNode used to read sound data.  | |
| bool | sound_as_stream | 
| Indicates if the current sounds source is being streamed or not.  | |
| H3DUniquePtr< ALSoundBuffer > | soundBuffer | 
| Field that calls ALrender() when a field routed to it has generated an event.  | |
Additional Inherited Members | |
  Public Types inherited from H3D::Node | |
| typedef std::map< Node *, Node * > | DeepCopyMap | 
| A map type used during a deep copy clone() to map from original nodes to cloned nodes.  | |
  Static Public Member Functions inherited from H3D::Node | |
| static unsigned int | nrNodesAlive () | 
| Returns the nr of nodes currently alive, i.e. nodes created but not destructed.  | |
| static int | nrNodesCreated () | 
| Returns the number of nodes created in total since the start of the program.  | |
  Protected Member Functions inherited from H3D::Node | |
| void | cloneFieldValue (Field &_from, Field &_to, bool deepCopy, DeepCopyMap &deepCopyMap) | 
| A helper function for the clone() method.  More... | |
  Static Protected Member Functions inherited from H3D::Node | |
| static Node * | getClonedInstance (Node *original, bool deepCopy, DeepCopyMap &deepCopyMap) | 
| A helper function for nodes that implement clone()  More... | |
This abstract node type is used to derive node types that can emit audio data.
      
  | 
  inlinevirtual | 
Returns the default xml containerField attribute value.
For this node it is "children".
Reimplemented from H3D::Node.
      
  | 
  virtual | 
Reads new data into the OpenAL from the reader and attaches them to the sound sources that use this sound source.
The stream param indicates if it should init a stream source or a static source.
References al_buffers, al_format, H3D::X3DTimeDependentNode::loop, parent_sound_nodes, reader, and sound_as_stream.
Referenced by onStart().
      
  | 
  virtual | 
Register this sound node with the X3DSoundSourceNode.
All X3DSoundSourceNodes that want to play this sound source must register with this function.
References al_buffers, H3D::X3DSoundNode::getALSourceId(), H3D::X3DTimeDependentNode::loop, sound_as_stream, and soundBuffer.
Referenced by H3D::Sound::SFSoundSourceNode::onAdd().
| H3DUniquePtr< SFString > H3D::X3DSoundSourceNode::description | 
The description field specifies a textual description of the audio source.
Access type: inputOutput 
Default value: "" 
  
Referenced by X3DSoundSourceNode().
| H3DUniquePtr< SFTime > H3D::X3DSoundSourceNode::duration_changed | 
The duration field is the length of time in seconds for one cycle of the audio for a pitch set to 1.0.
Access type: outputOnly
Referenced by X3DSoundSourceNode().
| H3DUniquePtr< SFFloat > H3D::X3DSoundSourceNode::pitch | 
The pitch field specifies a multiplier for the rate at which sampled sound is played.
Values for the pitch field shall be greater than zero.
Access type: inputOutput 
Default value: 1.0 
  
Referenced by X3DSoundSourceNode().