diff --git a/Plugins/IntanRecordingController/RHD2000Editor.cpp b/Plugins/IntanRecordingController/RHD2000Editor.cpp index 162ca0ed3..0916328f4 100644 --- a/Plugins/IntanRecordingController/RHD2000Editor.cpp +++ b/Plugins/IntanRecordingController/RHD2000Editor.cpp @@ -737,6 +737,7 @@ void RHD2000Editor::handleAsyncUpdate() canvas->updateImpedance(impedanceData->streams, impedanceData->channels, impedanceData->magnitudes, impedanceData->phases); if (saveImpedances) { + // this may not work with new Record Node architecture CoreServices::RecordNode::createNewrecordingDir(); String path(CoreServices::RecordNode::getRecordingPath().getFullPathName() diff --git a/Source/Processors/MessageCenter/MessageCenter.cpp b/Source/Processors/MessageCenter/MessageCenter.cpp index 4faf01632..83b2da597 100644 --- a/Source/Processors/MessageCenter/MessageCenter.cpp +++ b/Source/Processors/MessageCenter/MessageCenter.cpp @@ -36,6 +36,9 @@ GenericProcessor("Message Center"), newEventAvailable(false), isRecording(false) 0, // number of outputs 44100.0, // sampleRate 128); // blockSize + + eventChannel = nullptr; + } MessageCenter::~MessageCenter() @@ -43,15 +46,26 @@ MessageCenter::~MessageCenter() } -void MessageCenter::addSpecialProcessorChannels(Array& channels) +void MessageCenter::addSpecialProcessorChannels() { - clearSettings(); - EventChannel* chan = new EventChannel(EventChannel::TEXT, 1, MAX_MSG_LENGTH, CoreServices::getGlobalSampleRate(), this, 0); - chan->setName("GUI Messages"); - chan->setDescription("Messages from the GUI Message Center"); - channels.add(chan); - eventChannelArray.add(new EventChannel(*chan)); - updateChannelIndexes(); + + if (eventChannel == nullptr) + { + + clearSettings(); + + eventChannel = new EventChannel(EventChannel::TEXT, + 1, + MAX_MSG_LENGTH, + CoreServices::getGlobalSampleRate(), + this, 0); + + eventChannel->setName("GUI Messages"); + eventChannel->setDescription("Messages from the GUI Message Center"); + eventChannelArray.add(new EventChannel(*eventChannel)); + + updateChannelIndexes(); + } } AudioProcessorEditor* MessageCenter::createEditor() @@ -63,6 +77,11 @@ AudioProcessorEditor* MessageCenter::createEditor() } +const EventChannel* MessageCenter::getMessageChannel() +{ + return getEventChannel(0); +} + void MessageCenter::setParameter(int parameterIndex, float newValue) { if (isRecording) @@ -114,8 +133,10 @@ void MessageCenter::process(AudioSampleBuffer& buffer) TextEventPtr event = TextEvent::createTextEvent(getEventChannel(0), CoreServices::getGlobalTimestamp(), eventString); addEvent(getEventChannel(0), event, 0); + std::cout << "Message Center added event." << std::endl; + newEventAvailable = false; } -} \ No newline at end of file +} diff --git a/Source/Processors/MessageCenter/MessageCenter.h b/Source/Processors/MessageCenter/MessageCenter.h index 32ce29d9c..213a1aa85 100644 --- a/Source/Processors/MessageCenter/MessageCenter.h +++ b/Source/Processors/MessageCenter/MessageCenter.h @@ -61,6 +61,8 @@ class MessageCenter : public GenericProcessor /** A pointer to the Message Center editor. */ ScopedPointer messageCenterEditor; + const EventChannel* getMessageChannel(); + bool enable() override; bool disable() override; @@ -75,13 +77,15 @@ class MessageCenter : public GenericProcessor needsToSendTimestampMessage = false; } - void addSpecialProcessorChannels(Array& channel); + void addSpecialProcessorChannels(); private: bool newEventAvailable; bool isRecording; bool needsToSendTimestampMessage; + ScopedPointer eventChannel; + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(MessageCenter); }; diff --git a/Source/Processors/MessageCenter/MessageCenterEditor.h b/Source/Processors/MessageCenter/MessageCenterEditor.h index c0093ae52..b66ecafa5 100644 --- a/Source/Processors/MessageCenter/MessageCenterEditor.h +++ b/Source/Processors/MessageCenter/MessageCenterEditor.h @@ -64,6 +64,8 @@ class MessageCenterEditor : public AudioProcessorEditor, String getLabelString(); + MessageCenter* messageCenter; + private: void buttonClicked(Button* button); @@ -85,8 +87,6 @@ class MessageCenterEditor : public AudioProcessorEditor, /** A JUCE button used to send messages. */ ScopedPointer