Open Ephys GUI
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Public Member Functions | Public Attributes
AudioNode Class Reference

The default processor for sending output to the audio monitor. More...

#include <AudioNode.h>

Inheritance diagram for AudioNode:
GenericProcessor AccessClass

List of all members.

Public Member Functions

 AudioNode ()
 ~AudioNode ()
void process (AudioSampleBuffer &buffer, MidiBuffer &midiMessages, int &nSamples)
 Handle incoming data and decide which channels to monitor.
void setParameter (int parameterIndex, float newValue)
 
Used to change audio monitoring parameters (such as channels to monitor and volume)

while acquisition is active.

AudioProcessorEditor * createEditor ()
 Creates the AudioEditor (located in the ControlPanel).
void setChannel (Channel *ch)
 Sets the current channel (in advance of a parameter change).
void setChannelStatus (Channel *ch, bool status)
 Used to turn audio monitoring on and off for individual channels.
void resetConnections ()
 Resets the connections prior to a new round of data acquisition.
void enableCurrentChannel (bool)
 Resets the connections prior to a new round of data acquisition.
void addInputChannel (GenericProcessor *source, int chan)
 Establishes a connection between a channel of a GenericProcessor and the AudioNode.
- Public Member Functions inherited from GenericProcessor
 GenericProcessor (const String &name_)
 Constructor (sets the processor's name).
virtual ~GenericProcessor ()
 Destructor.
const String getName () const
 Returns the name of the processor.
virtual void prepareToPlay (double sampleRate, int estimatedSamplesPerBlock)
 Called by JUCE as soon as a processor is created, as well as before the start of audio callbacks.
void releaseResources ()
 Called by JUCE as soon as audio callbacks end.
bool hasEditor () const
 The default is to have no editor.
void reset ()
 JUCE method.
void setCurrentProgramStateInformation (const void *data, int sizeInBytes)
 JUCE method.
void setStateInformation (const void *data, int sizeInBytes)
 JUCE method.
void getCurrentProgramStateInformation (MemoryBlock &destData)
 JUCE method.
void getStateInformation (MemoryBlock &destData)
 JUCE method.
void changeProgramName (int index, const String &newName)
 JUCE method.
void setCurrentProgram (int index)
 JUCE method.
const String getInputChannelName (int channelIndex) const
 Returns the name of the input channel with a given index.
const String getOutputChannelName (int channelIndex) const
 Returns the name of the output channel with a given index.
const String getParameterName (int parameterIndex)
 Returns the name of the parameter with a given index.
const String getParameterText (int parameterIndex)
 Returns additional details about the parameter with a given index.
float getParameter (int parameterIndex)
 Returns the current value of a parameter with a given index.
const String getProgramName (int index)
 JUCE method.
bool isInputChannelStereoPair (int index) const
 JUCE method.
bool isOutputChannelStereoPair (int index) const
 JUCE method.
bool acceptsMidi () const
 All processors can accept MIDI (event) data by default.
bool producesMidi () const
 All processors can produce MIDI (event) data by default.
bool isParameterAutomatable (int parameterIndex)
 JUCE method.
bool isMetaParameter (int parameterIndex)
 JUCE method.
int getNumParameters ()
 Returns the number of user-editable parameters for this processor.
int getNumPrograms ()
 JUCE method.
int getCurrentProgram ()
 JUCE method.
virtual float getSampleRate ()
 Returns the sample rate for a processor (assumes the same rate for all channels).
virtual float getDefaultSampleRate ()
 Returns the default sample rate, in case a processor has no source (or is itself a source).
virtual int getNumInputs ()
 Returns the number of inputs to a processor.
virtual int getNumOutputs ()
 Returns the number of outputs from a processor.
virtual int getDefaultNumOutputs ()
 Returns the default number of outputs, in case a processor has no source (or is itself a source).
virtual float getDefaultBitVolts ()
 Returns the default number of volts per bit, in case a processor has no source (or is itself a source).
virtual int getNextChannel (bool t)
 Returns the next available channel (and increments the channel if the input is set to 'true'.
virtual void setCurrentChannel (int chan)
 Sets the current channel (for purposes of updating parameter).
int getNodeId ()
 Returns the unique integer ID for a processor.
void setNodeId (int id)
 Sets the unique integer ID for a processor.
GenericProcessorgetSourceNode ()
 Returns a pointer to the processor immediately preceding a given processor in the signal chain.
GenericProcessorgetDestNode ()
 Returns a pointer to the processor immediately following a given processor in the signal chain.
virtual void switchIO (int)
 Sets the input or output of a splitter or merger.
virtual void switchIO ()
 Switches the input or output of a splitter or merger.
virtual void setPathToProcessor (GenericProcessor *p)
 Sets the input to a merger a given processor.
virtual void setSourceNode (GenericProcessor *sn)
 Sets a processor's source node.
virtual void setDestNode (GenericProcessor *dn)
 Sets a processor's destination node.
virtual void setMergerSourceNode (GenericProcessor *sn)
 Sets one of two possible source nodes for a merger.
virtual void setSplitterDestNode (GenericProcessor *dn)
 Sets one of two possible source nodes for a splitter.
virtual bool isSource ()
 Returns true if a processor is a source, false otherwise.
virtual bool isSink ()
 Returns true if a processor is a sink, false otherwise.
virtual bool isSplitter ()
 Returns true if a processor is a splitter, false otherwise.
virtual bool isMerger ()
 Returns true if a processor is a merger, false otherwise.
virtual bool canSendSignalTo (GenericProcessor *)
 Returns true if a processor is able to send its output to a given processor.
virtual bool isReady ()
 Returns true if a processor is ready to process data (e.g., all of its parameters are initialized, and its data source is connected).
virtual bool enable ()
 Called immediately prior to the start of data acquisition, once all processors in the signal chain have indicated they are ready to process data.
virtual bool disable ()
 Called immediately after the end of data acquisition.
virtual void enableEditor ()
 Informs a processor's editor that data acquisition is about to begin.
virtual void disableEditor ()
 Informs a processor's editor that data acquisition has ended.
virtual bool enabledState ()
 Indicates whether or not a processor is currently enabled (i.e., able to process data).
virtual void enabledState (bool t)
 Sets whether or not a processor is enabled (i.e., able to process data).
virtual bool stillHasSource ()
 Indicates whether a source node is connected to a processor (used for mergers).
virtual AudioSampleBuffer * getContinuousBuffer ()
 Returns a pointer to the processor's internal continuous buffer, if it exists.
virtual MidiBuffer * getEventBuffer ()
 Returns a pointer to the processor's internal event buffer, if it exists.
virtual int checkForEvents (MidiBuffer &mb)
 Can be called by processors that need to respond to incoming events.
virtual void addEvent (MidiBuffer &mb, uint8 type, int sampleNum, uint8 eventID=0, uint8 eventChannel=0, uint8 numBytes=0, uint8 *data=0)
 Makes it easier for processors to add events to the MidiBuffer.
virtual void handleEvent (int eventType, MidiMessage &event, int samplePosition=0)
 Makes it easier for processors to respond to incoming events, such as TTLs and spikes.
virtual GenericEditorgetEditor ()
 Returns a pointer to the processor's editor.
virtual void clearSettings ()
 Resets the 'settings' struct to its default state.
virtual void update ()
 Default method for updating settings, called by every processor.
virtual void updateSettings ()
 Custom method for updating settings, called automatically by update().
ParametergetParameterByName (String parameterName)
 Returns the parameter for a given name.
ParametergetParameterReference (int parameterIndex)
 Returns the parameter for a given index.
- Public Member Functions inherited from AccessClass
 AccessClass ()
 ~AccessClass ()
void setUIComponent (UIComponent *)
 Sets the object's UIComponent and copies all the necessary pointers from the UIComponent.
virtual void updateChildComponents ()
 Called within setUIComponent() to enable subclasses to update their members' pointers.
EditorViewportgetEditorViewport ()
 Returns a pointer to the application's EditorViewport.
DataViewportgetDataViewport ()
 Returns a pointer to the application's DataViewport.
ProcessorListgetProcessorList ()
 Returns a pointer to the application's ProcessorList.
ProcessorGraphgetProcessorGraph ()
 Returns a pointer to the application's ProcessorGraph.
ControlPanelgetControlPanel ()
 Returns a pointer to the application's DataViewport.
MessageCentergetMessageCenter ()
 Returns a pointer to the application's MessageCenter.
UIComponentgetUIComponent ()
 Returns a pointer to the application's UIComponent.
AudioComponentgetAudioComponent ()
 Returns a pointer to the application's AudioComponent.

Public Attributes

ScopedPointer< AudioEditoraudioEditor
 A pointer to the AudioNode's editor.
- Public Attributes inherited from GenericProcessor
GenericProcessorsourceNode
 Pointer to a processor's immediate source node.
GenericProcessordestNode
 Pointer to a processor's immediate destination.
bool isEnabled
bool wasConnected
int nextAvailableChannel
int saveOrder
 Variable used to orchestrate saving the ProcessorGraph.
int loadOrder
 Variable used to orchestrate loading the ProcessorGraph.
int currentChannel
 The channel that will be updated the next time a parameter is changed.
ScopedPointer< GenericEditoreditor
 Pointer to the processor's editor.
OwnedArray< Channelchannels
 Array of Channel objects for all continuous channels.
OwnedArray< ChanneleventChannels
 Array of Channel objects for all event channels.
ProcessorSettings settings
int nodeId
 Each processor has a unique integer ID that can be used to identify it.
Array< Parameterparameters
 An array of parameters that the user can modify.

Additional Inherited Members

- Public Types inherited from GenericProcessor
enum  eventTypes {
  TIMESTAMP = 0, BUFFER_SIZE = 1, PARAMETER_CHANGE = 2, TTL = 3,
  SPIKE = 4, EEG = 5, CONTINUOUS = 6
}
enum  eventChannelTypes { GENERIC_EVENT = 999, SINGLE_ELECTRODE = 1, STEREOTRODE = 2, TETRODE = 4 }

Detailed Description

The default processor for sending output to the audio monitor.

The ProcessorGraph has two default nodes: the AudioNode and the RecordNode. Every channel of every processor (that's not a sink or a utility) is automatically connected to both of these nodes. The AudioNode is used to filter out channels to be sent to the audio output device, which can be selected by the user through the AudioEditor (located in the ControlPanel).

Since the AudioNode exists no matter what, it doesn't appear in the ProcessorList. Instead, it's created by the ProcessorGraph at startup.

Each processor has an "Audio" tab within its channel-selector drawer that determines which channels will be monitored. At the moment's there's no centralized way to control the channels going to the audio monitor; it all happens in a distributed way through the individual processors.

See also:
GenericProcessor, AudioEditor

Constructor & Destructor Documentation

AudioNode::AudioNode ( )
AudioNode::~AudioNode ( )

Member Function Documentation

void AudioNode::process ( AudioSampleBuffer &  buffer,
MidiBuffer &  midiMessages,
int &  nSamples 
)
virtual

Handle incoming data and decide which channels to monitor.

Implements GenericProcessor.

void AudioNode::setParameter ( int  parameterIndex,
float  newValue 
)
virtual

Used to change audio monitoring parameters (such as channels to monitor and volume)

while acquisition is active.

Reimplemented from GenericProcessor.

AudioProcessorEditor* AudioNode::createEditor ( )
virtual

Creates the AudioEditor (located in the ControlPanel).

Reimplemented from GenericProcessor.

void AudioNode::setChannel ( Channel ch)

Sets the current channel (in advance of a parameter change).

void AudioNode::setChannelStatus ( Channel ch,
bool  status 
)

Used to turn audio monitoring on and off for individual channels.

void AudioNode::resetConnections ( )
virtual

Resets the connections prior to a new round of data acquisition.

Reimplemented from GenericProcessor.

void AudioNode::enableCurrentChannel ( bool  )
virtual

Resets the connections prior to a new round of data acquisition.

Reimplemented from GenericProcessor.

void AudioNode::addInputChannel ( GenericProcessor source,
int  chan 
)

Establishes a connection between a channel of a GenericProcessor and the AudioNode.


Member Data Documentation

ScopedPointer<AudioEditor> AudioNode::audioEditor

A pointer to the AudioNode's editor.


The documentation for this class was generated from the following file: