@@ -42,8 +42,9 @@ RecordNode::RecordNode()
4242 isRecording = false ;
4343 setFirstBlock = false ;
4444
45- settings.numInputs = 8 ;
45+ settings.numInputs = 0 ;
4646 settings.numOutputs = 0 ;
47+ settings.originalSource = nullptr ;
4748
4849 recordingNumber = -1 ;
4950
@@ -53,8 +54,6 @@ RecordNode::RecordNode()
5354 hasRecorded = false ;
5455 settingsNeeded = false ;
5556
56- // 128 inputs, 0 outputs
57- setPlayConfigDetails (getNumInputs (),getNumOutputs (),44100.0 ,128 );
5857 m_recordThread = new RecordThread (engineArray);
5958 m_dataQueue = new DataQueue (WRITE_BLOCK_LENGTH, DATA_BUFFER_NBLOCKS);
6059 m_eventQueue = new EventMsgQueue (EVENT_BUFFER_NEVENTS);
@@ -82,6 +81,7 @@ void RecordNode::resetConnections()
8281 nextAvailableChannel = 0 ;
8382 wasConnected = false ;
8483 spikeElectrodeIndex = 0 ;
84+ settings.numInputs = 0 ;
8585
8686 dataChannelArray.clear ();
8787 eventChannelArray.clear ();
@@ -130,11 +130,10 @@ void RecordNode::addInputChannel(const GenericProcessor* sourceNode, int chan)
130130 {
131131 int channelIndex = getNextChannel (false );
132132
133- const DataChannel* orig = sourceNode->getDataChannel (chan);
134- DataChannel* newChannel = new DataChannel (*orig);
135- newChannel->setRecordState (orig->getRecordState ());
133+ const DataChannel* orig = sourceNode->getDataChannel (chan);
134+ DataChannel* newChannel = new DataChannel (*orig);
135+ newChannel->setRecordState (orig->getRecordState ());
136136 dataChannelArray.add (newChannel);
137- setPlayConfigDetails (channelIndex+1 ,0 ,44100.0 ,128 );
138137
139138
140139 EVERY_ENGINE->addDataChannel (channelIndex,dataChannelArray[channelIndex]);
@@ -510,6 +509,9 @@ void RecordNode::process(AudioSampleBuffer& buffer)
510509
511510void RecordNode::registerProcessor (const GenericProcessor* sourceNode)
512511{
512+ settings.numInputs += sourceNode->getNumOutputs ();
513+ setPlayConfigDetails (getNumInputs (), getNumOutputs (), 44100.0 , 128 );
514+
513515 EVERY_ENGINE->registerProcessor (sourceNode);
514516}
515517
0 commit comments