Skip to content
Snippets Groups Projects
Commit e63f8443 authored by Aaron Cuevas Lopez's avatar Aaron Cuevas Lopez
Browse files

Fix filereader sample update issue

parent 9c8718e0
No related branches found
No related tags found
No related merge requests found
Microsoft Visual Studio Solution File, Format Version 11.00
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
Project("{5A05F353-1D63-394C-DFB0-981BB2309002}") = "open-ephys", "open-ephys.vcxproj", "{9C924D66-7DEC-1AEF-B375-DB8666BFB909}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "open-ephys", "open-ephys.vcxproj", "{9C924D66-7DEC-1AEF-B375-DB8666BFB909}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
Debug|x64 = Debug|x64
Debug64|Win32 = Debug64|Win32
Debug64|x64 = Debug64|x64
Release|Win32 = Release|Win32
Release|x64 = Release|x64
Release64|Win32 = Release64|Win32
Release64|x64 = Release64|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{9C924D66-7DEC-1AEF-B375-DB8666BFB909}.Debug|Win32.ActiveCfg = Debug|Win32
{9C924D66-7DEC-1AEF-B375-DB8666BFB909}.Debug|Win32.Build.0 = Debug|Win32
{9C924D66-7DEC-1AEF-B375-DB8666BFB909}.Release|Win32.ActiveCfg = Release|Win32
{9C924D66-7DEC-1AEF-B375-DB8666BFB909}.Release|Win32.Build.0 = Release|Win32
{9C924D66-7DEC-1AEF-B375-DB8666BFB909}.Debug|x64.ActiveCfg = Debug|Win32
{9C924D66-7DEC-1AEF-B375-DB8666BFB909}.Debug64|Win32.ActiveCfg = Debug64|x64
{9C924D66-7DEC-1AEF-B375-DB8666BFB909}.Debug64|x64.ActiveCfg = Debug64|x64
{9C924D66-7DEC-1AEF-B375-DB8666BFB909}.Debug64|x64.Build.0 = Debug64|x64
{9C924D66-7DEC-1AEF-B375-DB8666BFB909}.Release|Win32.ActiveCfg = Release|Win32
{9C924D66-7DEC-1AEF-B375-DB8666BFB909}.Release|Win32.Build.0 = Release|Win32
{9C924D66-7DEC-1AEF-B375-DB8666BFB909}.Release|x64.ActiveCfg = Release|Win32
{9C924D66-7DEC-1AEF-B375-DB8666BFB909}.Release64|Win32.ActiveCfg = Release64|x64
{9C924D66-7DEC-1AEF-B375-DB8666BFB909}.Release64|x64.ActiveCfg = Release64|x64
{9C924D66-7DEC-1AEF-B375-DB8666BFB909}.Release64|x64.Build.0 = Release64|x64
EndGlobalSection
......
......@@ -136,7 +136,6 @@ void FileReader::process(AudioSampleBuffer& buffer, MidiBuffer& events)
int samplesNeeded = (int) float(buffer.getNumSamples()) * (getDefaultSampleRate()/44100.0f);
// if (counter == 0)
// {
// samplesNeeded = samplesNeeded - 2;
......@@ -152,7 +151,6 @@ void FileReader::process(AudioSampleBuffer& buffer, MidiBuffer& events)
}
size_t numRead = fread(readBuffer, 2, samplesNeeded*buffer.getNumChannels(), input);
int chan = 0;
int samp = 0;
......@@ -165,14 +163,13 @@ void FileReader::process(AudioSampleBuffer& buffer, MidiBuffer& events)
timestamp++;
chan = 0;
}
int16 sample = readBuffer[n];
*buffer.getWritePointer(chan++, samp) = -sample * 0.05f;
}
setNumSamples(events, samplesNeeded);
timestamp++;
setNumSamples(events, samp+1);//samplesNeeded);
}
......
......@@ -130,10 +130,10 @@ public:
/** Called every time a new timestamp event is received
*/
virtual void updateTimestamps(std::map<uint8, int64>* timestamps);
void updateTimestamps(std::map<uint8, int64>* timestamps);
/** Called every time a new numSamples event is received */
virtual void updateNumSamples(std::map<uint8, int>* numSamples);
void updateNumSamples(std::map<uint8, int>* numSamples);
/** Called after all channels and spike groups have been registered,
just before acquisition starts
......@@ -148,9 +148,6 @@ public:
void registerManager(RecordEngineManager* engineManager);
void configureEngine();
std::map<uint8, int>* numSamples;
std::map<uint8, int64>* timestamps;
protected:
/** Functions to access RecordNode arrays and utilities
*/
......@@ -167,6 +164,9 @@ protected:
*/
String generateDateString();
std::map<uint8, int>* numSamples;
std::map<uint8, int64>* timestamps;
private:
RecordEngineManager* manager;
......
......@@ -409,14 +409,16 @@ float RecordNode::getFreeSpace()
void RecordNode::handleEvent(int eventType, MidiMessage& event, int samplePosition)
{
if ((eventType == TTL) || (eventType == MESSAGE))
if (isRecording && allFilesOpened)
{
if (event.getNoteNumber() > 0) // processor ID > 0 (i.e., event has not already been processed)
if ((eventType == TTL) || (eventType == MESSAGE))
{
EVERY_ENGINE->writeEvent(eventType, event, samplePosition);
if (event.getNoteNumber() > 0) // processor ID > 0 (i.e., event has not already been processed)
{
EVERY_ENGINE->writeEvent(eventType, event, samplePosition);
}
}
}
}
void RecordNode::process(AudioSampleBuffer& buffer,
......@@ -424,15 +426,13 @@ void RecordNode::process(AudioSampleBuffer& buffer,
{
// FIRST: cycle through events -- extract the TTLs and the timestamps
checkForEvents(events);
if (isRecording && allFilesOpened)
{
EVERY_ENGINE->updateTimestamps(&timestamps);
EVERY_ENGINE->updateNumSamples(&numSamples);
// FIRST: cycle through events -- extract the TTLs
checkForEvents(events);
//update timstamp data even if we're not recording yet
EVERY_ENGINE->updateTimestamps(&timestamps);
EVERY_ENGINE->updateNumSamples(&numSamples);
if (isRecording && allFilesOpened)
{
// SECOND: write channel data
if (channelPointers.size() > 0)
{
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment