Open Ephys GUI
 All Classes Functions Variables Pages
Classes | Public Member Functions | Private Member Functions | Private Attributes
RecordNode Class Reference

Receives inputs from all processors that want to save their data. More...

#include <RecordNode.h>

Inheritance diagram for RecordNode:
GenericProcessor AccessClass

List of all members.

Classes

struct  Channel
 Holds information for a given channel to be recorded to its own file. More...

Public Member Functions

void process (AudioSampleBuffer &buffer, MidiBuffer &eventBuffer, int &nSamples)
void setParameter (int parameterIndex, float newValue)
void addInputChannel (GenericProcessor *sourceNode, int chan)
bool enable ()
bool disable ()
float getFreeSpace ()
 Called by the ControlPanel to determine the amount of space left in the current dataDirectory.
void setChannel (int id, int chan)
void setChannelStatus (int chan, bool status)
void resetConnections ()
bool isAudioOrRecordNode ()
void filenameComponentChanged (FilenameComponent *)
void createNewDirectory ()
- Public Member Functions inherited from GenericProcessor
 GenericProcessor (const String &name_)
const String getName () const
virtual void prepareToPlay (double sampleRate, int estimatedSamplesPerBlock)
void releaseResources ()
virtual AudioProcessorEditor * createEditor ()
bool hasEditor () const
void reset ()
void setCurrentProgramStateInformation (const void *data, int sizeInBytes)
void setStateInformation (const void *data, int sizeInBytes)
void getCurrentProgramStateInformation (MemoryBlock &destData)
void getStateInformation (MemoryBlock &destData)
void changeProgramName (int index, const String &newName)
void setCurrentProgram (int index)
const String getInputChannelName (int channelIndex) const
const String getOutputChannelName (int channelIndex) const
const String getParameterName (int parameterIndex)
const String getParameterText (int parameterIndex)
const String getProgramName (int index)
bool isInputChannelStereoPair (int index) const
bool isOutputChannelStereoPair (int index) const
bool acceptsMidi () const
bool producesMidi () const
bool isParameterAutomatable (int parameterIndex)
bool isMetaParameter (int parameterIndex)
int getNumParameters ()
int getNumPrograms ()
int getCurrentProgram ()
float getParameter (int parameterIndex)
ParametergetParameterByName (String parameterName)
ParametergetParameterReference (int parameterIndex)
virtual float getSampleRate ()
virtual float getDefaultSampleRate ()
virtual int getNumInputs ()
virtual int getNumOutputs ()
virtual int getDefaultNumOutputs ()
virtual float getDefaultBitVolts ()
virtual int getNextChannel (bool)
virtual void setCurrentChannel (int chan)
int getNodeId ()
void setNodeId (int id)
GenericProcessorgetSourceNode ()
GenericProcessorgetDestNode ()
virtual void switchIO (int)
virtual void switchIO ()
virtual void setPathToProcessor (GenericProcessor *p)
virtual void setSourceNode (GenericProcessor *sn)
virtual void setDestNode (GenericProcessor *dn)
virtual void setMergerSourceNode (GenericProcessor *sn)
virtual void setSplitterDestNode (GenericProcessor *dn)
virtual bool isSource ()
virtual bool isSink ()
virtual bool isSplitter ()
virtual bool isMerger ()
virtual bool canSendSignalTo (GenericProcessor *)
virtual bool isReady ()
virtual bool enabledState ()
virtual void enabledState (bool t)
virtual void enableCurrentChannel (bool)
virtual bool stillHasSource ()
virtual AudioSampleBuffer * getContinuousBuffer ()
virtual MidiBuffer * getEventBuffer ()
virtual int checkForEvents (MidiBuffer &mb)
virtual void addEvent (MidiBuffer &mb, uint8 type, int sampleNum, uint8 eventID=0, uint8 eventChannel=0, uint8 numBytes=0, uint8 *data=0)
virtual void handleEvent (int eventType, MidiMessage &event)
virtual GenericEditorgetEditor ()
virtual bool recordStatus (int chan)
virtual bool audioStatus (int chan)
virtual void clearSettings ()
virtual void generateDefaultChannelNames (StringArray &)
virtual void update ()
virtual void updateSettings ()
void setStartChannel (int i)
int getStartChannel ()
- Public Member Functions inherited from AccessClass
void setUIComponent (UIComponent *)
virtual void updateChildComponents ()
EditorViewportgetEditorViewport ()
DataViewportgetDataViewport ()
ProcessorListgetProcessorList ()
ProcessorGraphgetProcessorGraph ()
ControlPanelgetControlPanel ()
MessageCentergetMessageCenter ()
UIComponentgetUIComponent ()
AudioComponentgetAudioComponent ()

Private Member Functions

void closeAllFiles ()
void writeContinuousBuffer (float *data, int nSamples, int channel)
 Method for writing continuous buffers to disk.
void writeEventBuffer (MidiMessage &event, int node, int channel)
 Method for writing event buffers to disk.
 JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (RecordNode)

Private Attributes

bool isRecording
 Keep the RecordNode informed of acquisition and record states.
bool isProcessing
bool signalFilesShouldClose
File dataDirectory
 User-selectable directory for saving data files.
File rootFolder
 Automatically generated folder for each recording session.
bool newDataFolder
 Determines whether a new rootFolder is created when recording begins.
int16 * continuousDataBuffer
 Holds data that has been converted from float to int16 before saving.
int64 timestamp
 Integer timestamp saved for each buffer.
Time timer
 Used to generate timestamps if none are given.
std::map< int, ChannelcontinuousChannels
 Map of continuous channels.
std::map< int, std::map< int,
Channel > > 
eventChannels
 Map of event channels.

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
GenericProcessordestNode
bool isEnabled
bool wasConnected
int nextAvailableChannel
int saveOrder
int loadOrder
int currentChannel
ScopedPointer< GenericEditoreditor
ProcessorSettings settings
int nodeId
Array< Parameterparameters
StringArray parameterNames
Parameter nullParam

Detailed Description

Receives inputs from all processors that want to save their data.

Writes data to disk using fwrite.

Receives a signal from the ControlPanel to begin recording.

See also:
GenericProcessor, ControlPanel

Member Data Documentation

File RecordNode::dataDirectory
private

User-selectable directory for saving data files.

Currently defaults to the user's home directory.


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