Skip to content

Commit e0d65e8

Browse files
committed
Register record nodes with source processors
1 parent 745cb16 commit e0d65e8

6 files changed

Lines changed: 36 additions & 5 deletions

File tree

JuceLibraryCode/modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -914,7 +914,7 @@ struct RenderingOpSequenceCalculator
914914
}
915915
else
916916
{
917-
jassert (bufferNum >= 0 && bufferNum < nodeIds.size());
917+
//jassert (bufferNum >= 0 && bufferNum < nodeIds.size());
918918

919919
nodeIds.set (bufferNum, nodeId);
920920
channels.set (bufferNum, outputIndex);

Source/Processors/ProcessorGraph/ProcessorGraph.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -492,6 +492,12 @@ void ProcessorGraph::connectProcessors(GenericProcessor* source, GenericProcesso
492492
midiChannelIndex); // destNodeChannelIndex
493493
}
494494

495+
// 3. connect record nodes
496+
if (dest->isRecordNode())
497+
{
498+
((RecordNode*)dest)->registerProcessor(source);
499+
}
500+
495501
}
496502

497503
void ProcessorGraph::connectProcessorToAudioNode(GenericProcessor* source)

Source/Processors/RecordNode/OpenEphysFormat/OriginalRecording.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ void OriginalRecording::openFiles(File rootFolder, int experimentNumber, int rec
9191
processorArray.clear();
9292
lastProcId = 0;
9393

94-
openFile(rootFolder, getEventChannel(0), 0);
94+
//openFile(rootFolder, getEventChannel(0), 0);
9595
openMessageFile(rootFolder);
9696

9797
int nChannels = getNumRecordedChannels();

Source/Processors/RecordNode/RecordNode.cpp

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -340,8 +340,21 @@ void RecordNode::updateSettings()
340340

341341
bool RecordNode::enable()
342342
{
343+
344+
if (hasRecorded)
345+
{
346+
hasRecorded = false;
347+
experimentNumber++;
348+
settingsNeeded = true;
349+
}
350+
351+
recordingNumber = -1;
352+
recordEngine->configureEngine();
353+
recordEngine->startAcquisition();
354+
343355
synchronizer->reset();
344356
return true;
357+
345358
}
346359

347360
void RecordNode::startRecording()
@@ -358,7 +371,9 @@ void RecordNode::startRecording()
358371
int procIndex = -1;
359372
int chanSubIdx = 0;
360373

361-
int recordedProcessorIdx = -1;
374+
int recordedProcessorIdx = -1;
375+
376+
LOGD("Record Node ", getNodeId(), ": Total channels: ", totChans);
362377

363378
for (int ch = 0; ch < totChans; ++ch)
364379
{
@@ -397,7 +412,7 @@ void RecordNode::startRecording()
397412
validBlocks.insertMultiple(0, false, getNumInputs());
398413

399414
recordEngine->registerRecordNode(this);
400-
recordEngine->resetChannels();
415+
//recordEngine->resetChannels();
401416
recordEngine->setChannelMapping(channelMap, chanProcessorMap, chanOrderinProc, procInfo);
402417
recordThread->setChannelMap(channelMap);
403418
recordThread->setFTSChannelMap(ftsChannelMap);
@@ -613,6 +628,14 @@ bool RecordNode::isFirstChannelInRecordedSubprocessor(int ch)
613628

614629
//TODO: Need to validate these methods
615630

631+
void RecordNode::registerProcessor(const GenericProcessor* sourceNode)
632+
{
633+
settings.numInputs += sourceNode->getNumOutputs();
634+
setPlayConfigDetails(getNumInputs(), getNumOutputs(), 44100.0, 128);
635+
636+
recordEngine->registerProcessor(sourceNode);
637+
}
638+
616639
void RecordNode::registerSpikeSource(const GenericProcessor *processor)
617640
{
618641
recordEngine->registerSpikeSource(processor);

Source/Processors/RecordNode/RecordNode.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,8 @@ class RecordNode : public GenericProcessor, public FilenameComponentListener
144144
*/
145145
float getFreeSpace() const;
146146

147+
void registerProcessor(const GenericProcessor* sourceNode);
148+
147149
/** Adds a Record Engine to use
148150
*/
149151
void registerRecordEngine(RecordEngine *engine);

Source/UI/ControlPanel.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -971,7 +971,7 @@ void ControlPanel::comboBoxChanged(ComboBox* combo)
971971
if (recordEngines[lastEngineIndex]->isWindowOpen())
972972
recordEngines[lastEngineIndex]->toggleConfigWindow();
973973
}
974-
RecordEngine* re;
974+
ScopedPointer<RecordEngine> re;
975975
//AccessClass::getProcessorGraph()->getRecordNode()->clearRecordEngines();
976976
if (combo->getSelectedId() > 0)
977977
{

0 commit comments

Comments
 (0)