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

Creates and controls a thread for reading data from external sources. More...

#include <SourceNode.h>

Inheritance diagram for SourceNode:
GenericProcessor AccessClass

List of all members.

Public Member Functions

 SourceNode (const String &name)
 ~SourceNode ()
void enabledState (bool t)
 Sets whether or not a processor is enabled (i.e., able to process data).
void process (AudioSampleBuffer &buffer, MidiBuffer &midiMessages, int &nSamples)
 Defines a processor's functionality.
void setParameter (int parameterIndex, float newValue)
 Allows parameters to change while acquisition is active.
float getSampleRate ()
 Returns the sample rate for a processor (assumes the same rate for all channels).
float getDefaultSampleRate ()
 Returns the default sample rate, in case a processor has no source (or is itself a source).
int getDefaultNumOutputs ()
 Returns the default number of outputs, in case a processor has no source (or is itself a source).
float getDefaultBitVolts ()
 Returns the default number of volts per bit, in case a processor has no source (or is itself a source).
AudioProcessorEditor * createEditor ()
 Creates a GenericEditor.
bool hasEditor () const
 The default is to have no editor.
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.
bool disable ()
 Called immediately after the end of data acquisition.
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).
bool isSource ()
 Returns true if a processor is a source, false otherwise.
void acquisitionStopped ()
DataThreadgetThread ()
void actionListenerCallback (const String &message)
int getTTLState ()
- 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.
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 int getNumInputs ()
 Returns the number of inputs to a processor.
virtual int getNumOutputs ()
 Returns the number of outputs from a processor.
virtual int getNextChannel (bool t)
 Returns the next available channel (and increments the channel if the input is set to 'true'.
virtual void resetConnections ()
 Resets all inter-processor connections prior to the start of data acquisition.
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 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 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 enableCurrentChannel (bool)
 Turns a given channel on or off.
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.
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.

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 }
- 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.

Detailed Description

Creates and controls a thread for reading data from external sources.

See also:
GenericProcessor, SourceNodeEditor, DataThread, IntanThread

Constructor & Destructor Documentation

SourceNode::SourceNode ( const String &  name)
SourceNode::~SourceNode ( )

Member Function Documentation

void SourceNode::enabledState ( bool  t)
virtual

Sets whether or not a processor is enabled (i.e., able to process data).

Reimplemented from GenericProcessor.

void SourceNode::process ( AudioSampleBuffer &  continuousBuffer,
MidiBuffer &  eventBuffer,
int &  nSamples 
)
virtual

Defines a processor's functionality.

This is the most important function for each processor, as it determines how it creates, modifies, or responds to incoming data streams. Rather than use the default JUCE processBlock() method, processBlock() automatically calls process() in order to add the 'nSamples' variable to indicate the number of samples in the current buffer.

Implements GenericProcessor.

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

Allows parameters to change while acquisition is active.

If the user wants to change ANY variables that are used within the process() method, this must be done through setParameter(). Otherwise the application will crash.

Reimplemented from GenericProcessor.

float SourceNode::getSampleRate ( )
virtual

Returns the sample rate for a processor (assumes the same rate for all channels).

Reimplemented from GenericProcessor.

float SourceNode::getDefaultSampleRate ( )
virtual

Returns the default sample rate, in case a processor has no source (or is itself a source).

Reimplemented from GenericProcessor.

int SourceNode::getDefaultNumOutputs ( )
virtual

Returns the default number of outputs, in case a processor has no source (or is itself a source).

Reimplemented from GenericProcessor.

float SourceNode::getDefaultBitVolts ( )
virtual

Returns the default number of volts per bit, in case a processor has no source (or is itself a source).

Reimplemented from GenericProcessor.

AudioProcessorEditor* SourceNode::createEditor ( )
virtual

Creates a GenericEditor.

Reimplemented from GenericProcessor.

bool SourceNode::hasEditor ( ) const

The default is to have no editor.

Reimplemented from GenericProcessor.

bool SourceNode::enable ( )
virtual

Called immediately prior to the start of data acquisition, once all processors in the signal chain have indicated they are ready to process data.

Reimplemented from GenericProcessor.

bool SourceNode::disable ( )
virtual

Called immediately after the end of data acquisition.

Reimplemented from GenericProcessor.

bool SourceNode::isReady ( )
virtual

Returns true if a processor is ready to process data (e.g., all of its parameters are initialized, and its data source is connected).

Reimplemented from GenericProcessor.

bool SourceNode::isSource ( )
virtual

Returns true if a processor is a source, false otherwise.

Reimplemented from GenericProcessor.

void SourceNode::acquisitionStopped ( )
DataThread* SourceNode::getThread ( )
void SourceNode::actionListenerCallback ( const String &  message)
int SourceNode::getTTLState ( )

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