diff --git a/Builds/MacOSX/OpenEphys.xcworkspace/contents.xcworkspacedata b/Builds/MacOSX/OpenEphys.xcworkspace/contents.xcworkspacedata index 5d8052eabbb449c5e96f401bc8cf8b5d3799ace4..0a9ef155f588a09c06f0262dbffa8d353a84a3a2 100644 --- a/Builds/MacOSX/OpenEphys.xcworkspace/contents.xcworkspacedata +++ b/Builds/MacOSX/OpenEphys.xcworkspace/contents.xcworkspacedata @@ -35,9 +35,6 @@ <FileRef location = "group:FilterNode/FilterNode.xcodeproj"> </FileRef> - <FileRef - location = "group:JuliaProcessor/JuliaProcessor.xcodeproj"> - </FileRef> <FileRef location = "group:KWIKFormat/KWIKFormat.xcodeproj"> </FileRef> diff --git a/Builds/MacOSX/Plugins/CommonLibs/OpenEphysHDF5/OpenEphysHDF5.xcodeproj/project.pbxproj b/Builds/MacOSX/Plugins/CommonLibs/OpenEphysHDF5/OpenEphysHDF5.xcodeproj/project.pbxproj index c9f7a595569757a7c9a5cf1278259df5f460ffe4..0b89c3ba44f34809442761dc1fdfeb0136e63dd9 100644 --- a/Builds/MacOSX/Plugins/CommonLibs/OpenEphysHDF5/OpenEphysHDF5.xcodeproj/project.pbxproj +++ b/Builds/MacOSX/Plugins/CommonLibs/OpenEphysHDF5/OpenEphysHDF5.xcodeproj/project.pbxproj @@ -174,6 +174,7 @@ HEADER_SEARCH_PATHS = ( "$(inherited)", "$(MAC_PACKAGE_DIR)/include", + "$(MAC_PACKAGE_DIR)/lib/hdf5-18/include", ); OTHER_LDFLAGS = ( "$(inherited)", @@ -191,6 +192,7 @@ HEADER_SEARCH_PATHS = ( "$(inherited)", "$(MAC_PACKAGE_DIR)/include", + "$(MAC_PACKAGE_DIR)/lib/hdf5-18/include", ); OTHER_LDFLAGS = ( "$(inherited)", diff --git a/Builds/MacOSX/Plugins/Config/Plugin.xcconfig b/Builds/MacOSX/Plugins/Config/Plugin.xcconfig index a89db7a4d36ce2c2db5e7ee151b415445ac5aff2..462d0672692ffd03910ff8ee09cb9ca9b2a22853 100644 --- a/Builds/MacOSX/Plugins/Config/Plugin.xcconfig +++ b/Builds/MacOSX/Plugins/Config/Plugin.xcconfig @@ -5,6 +5,8 @@ MAC_PACKAGE_DIR = /opt/local // Pull in machine-specific settings from git-ignored file, if it exists. #include "Env.xcconfig" +#include "Base.xcconfig" + CONFIGURATION_BUILD_DIR = $(PROJECT_DIR)/../../build/$(CONFIGURATION)/open-ephys.app/Contents/PlugIns COPY_PHASE_STRIP = NO DEBUG_INFORMATION_FORMAT = dwarf diff --git a/Builds/MacOSX/Plugins/KWIKFormat/KWIKFormat.xcodeproj/project.pbxproj b/Builds/MacOSX/Plugins/KWIKFormat/KWIKFormat.xcodeproj/project.pbxproj index 85bdb247c8f2bd8aac6c6284fa93e6ccc1fdd68f..3a834b9835753875aea507d55d18bc183d6c7a28 100644 --- a/Builds/MacOSX/Plugins/KWIKFormat/KWIKFormat.xcodeproj/project.pbxproj +++ b/Builds/MacOSX/Plugins/KWIKFormat/KWIKFormat.xcodeproj/project.pbxproj @@ -197,6 +197,15 @@ isa = XCBuildConfiguration; baseConfigurationReference = E1F558DB1C9B23830035F88B /* Plugin_Debug.xcconfig */; buildSettings = { + HEADER_SEARCH_PATHS = ( + ../../../../JuceLibraryCode, + ../../../../JuceLibraryCode/modules, + ../../../../Source/Plugins/Headers, + ../../../../Source/Plugins/CommonLibs, + "$(MAC_PACKAGE_DIR)/lib/hdf5-18/include", + "$(MAC_PACKAGE_DIR)/include", + "$(inherited)", + ); }; name = Debug; }; @@ -204,6 +213,15 @@ isa = XCBuildConfiguration; baseConfigurationReference = E1F558DC1C9B23830035F88B /* Plugin_Release.xcconfig */; buildSettings = { + HEADER_SEARCH_PATHS = ( + ../../../../JuceLibraryCode, + ../../../../JuceLibraryCode/modules, + ../../../../Source/Plugins/Headers, + ../../../../Source/Plugins/CommonLibs, + "$(MAC_PACKAGE_DIR)/lib/hdf5-18/include", + "$(MAC_PACKAGE_DIR)/include", + "$(inherited)", + ); }; name = Release; }; diff --git a/Source/Processors/Channel/InfoObjects.cpp b/Source/Processors/Channel/InfoObjects.cpp index 7c0151dd243810ed7936d42ce2b5ecd903ff3a47..c49d4b8923f15e113ef2c3cd05f69599bdd73f2c 100644 --- a/Source/Processors/Channel/InfoObjects.cpp +++ b/Source/Processors/Channel/InfoObjects.cpp @@ -34,6 +34,9 @@ NodeInfoBase::NodeInfoBase(uint16 id) : m_nodeID(id) {} +NodeInfoBase::~NodeInfoBase() +{} + unsigned int NodeInfoBase::getCurrentNodeID() const { return m_nodeID; @@ -50,6 +53,9 @@ String NodeInfoBase::getCurrentNodeName() const } //History Object +HistoryObject::~HistoryObject() +{} + String HistoryObject::getHistoricString() { return m_historicString; @@ -73,6 +79,9 @@ SourceProcessorInfo::SourceProcessorInfo(const GenericProcessor* source, uint16 { } +SourceProcessorInfo::~SourceProcessorInfo() +{} + uint16 SourceProcessorInfo::getSourceNodeID() const { return m_sourceNodeID; @@ -99,6 +108,9 @@ uint16 SourceProcessorInfo::getSourceSubprocessorCount() const } //NamedInfoObject +NamedInfoObject::~NamedInfoObject() +{} + void NamedInfoObject::setName(String name) { m_name = name; @@ -139,6 +151,9 @@ InfoObjectCommon::InfoObjectCommon(uint16 idx, uint16 typeidx, float sampleRate, { } +InfoObjectCommon::~InfoObjectCommon() +{} + float InfoObjectCommon::getSampleRate() const { return m_sampleRate; @@ -542,6 +557,9 @@ ConfigurationObject::ConfigurationObject(String identifier, GenericProcessor* so setIdentifier(identifier); } +ConfigurationObject::~ConfigurationObject() +{} + void ConfigurationObject::setShouldBeRecorded(bool status) { m_shouldBeRecorded = status; diff --git a/Source/Processors/Channel/InfoObjects.h b/Source/Processors/Channel/InfoObjects.h index c69b9290521d960443175f88c2fd2d3066cf4724..a3e1679b52941ab288494aa98d7b47c58ca6248b 100644 --- a/Source/Processors/Channel/InfoObjects.h +++ b/Source/Processors/Channel/InfoObjects.h @@ -47,6 +47,7 @@ class PLUGIN_API NodeInfoBase //This field should never be changed by anything except GenericProcessor base code friend class GenericProcessor; public: + virtual ~NodeInfoBase(); /** Gets the ID of the processor which currently owns this copy of the info object */ unsigned int getCurrentNodeID() const; /** Gets the type of the processor which currently owns this copy of the info object */ @@ -68,6 +69,7 @@ protected: HistoryObject(); public: + virtual ~HistoryObject(); /** Returns the historic string */ String getHistoricString(); /** Adds a new entry in the historic string*/ @@ -83,6 +85,7 @@ protected: SourceProcessorInfo(const GenericProcessor* source, uint16 subproc = 0); public: + virtual ~SourceProcessorInfo(); /** Gets the ID of the processor which created the channel object */ uint16 getSourceNodeID() const; @@ -111,6 +114,7 @@ private: class PLUGIN_API NamedInfoObject { public: + virtual ~NamedInfoObject(); /** Sets the object's name*/ void setName(String name); @@ -145,6 +149,7 @@ protected: InfoObjectCommon(uint16 idx, uint16 typeidx, float sampleRate, const GenericProcessor* source, uint16 subproc = 0); public: + virtual ~InfoObjectCommon(); enum InfoObjectType { DATA_CHANNEL, @@ -201,7 +206,7 @@ public: /** Copy constructor. */ DataChannel(const DataChannel& ch); - ~DataChannel(); + virtual ~DataChannel(); //--------- DATA GET / SET METHODS --------// @@ -303,7 +308,7 @@ public: */ EventChannel(EventChannelTypes type, unsigned int numChannels, unsigned int dataLength, float sampleRate, GenericProcessor* source, uint16 subproc = 0); - ~EventChannel(); + virtual ~EventChannel(); EventChannelTypes getChannelType() const; @@ -368,7 +373,7 @@ public: */ SpikeChannel(ElectrodeTypes type, GenericProcessor* source, const Array<const DataChannel*>& sourceChannels, uint16 subproc = 0); - ~SpikeChannel(); + virtual ~SpikeChannel(); ElectrodeTypes getChannelType() const; @@ -431,6 +436,7 @@ public: @param subproc Optional. The source subprocessor index */ ConfigurationObject(String identifier, GenericProcessor* source, uint16 subproc = 0); + virtual ~ConfigurationObject(); /** Sets if the configuration should be recorded or not. Similar to the events, this does not prevent the configuration data to be recorded, but rather states diff --git a/Source/Processors/Channel/MetaData.cpp b/Source/Processors/Channel/MetaData.cpp index b1303c710d377dd7125a954bf22c58d40a759407..dc284d62116b9cedb60b0b4023bc0f3863d7023d 100644 --- a/Source/Processors/Channel/MetaData.cpp +++ b/Source/Processors/Channel/MetaData.cpp @@ -46,7 +46,7 @@ bool checkMetaDataType(MetaDataDescriptor::MetaDataTypes baseType) //MetaDataDescriptor MetaDataDescriptor::MetaDataDescriptor(MetaDataDescriptor::MetaDataTypes t, unsigned int length, String n, String d, String id) - : m_name(n), m_description(d), m_identifier(id), m_type(t), m_length(length) + : m_name(n), m_identifier(id), m_description(d), m_type(t), m_length(length) {} MetaDataDescriptor::~MetaDataDescriptor() {}; @@ -277,6 +277,8 @@ void MetaDataValue::setValue(const void* data) MetaDataInfoObject::MetaDataInfoObject() {} +MetaDataInfoObject::~MetaDataInfoObject() {} + void MetaDataInfoObject::addMetaData(MetaDataDescriptor* desc, MetaDataValue* val) { if (desc->getType() != val->getDataType() || desc->getLength() != val->getDataLength()) @@ -335,6 +337,8 @@ int MetaDataInfoObject::findMetaData(MetaDataDescriptor::MetaDataTypes type, uns MetaDataEventObject::MetaDataEventObject() {} +MetaDataEventObject::~MetaDataEventObject() {} + void MetaDataEventObject::addEventMetaData(MetaDataDescriptor* desc) { if (eventMetaDataLock) @@ -400,6 +404,8 @@ size_t MetaDataEventObject::getMaxEventMetaDataSize() const //MetaDataEvent MetaDataEvent::MetaDataEvent() {} +MetaDataEvent::~MetaDataEvent() {} + int MetaDataEvent::getMetadataValueCount() const { return m_metaDataValues.size(); diff --git a/Source/Processors/Channel/MetaData.h b/Source/Processors/Channel/MetaData.h index a106e730e7fda2655773cd15b0438e493cad65de..7ecbb0b164667dd86e86ef57eebf310a3cea54f8 100644 --- a/Source/Processors/Channel/MetaData.h +++ b/Source/Processors/Channel/MetaData.h @@ -177,6 +177,7 @@ class PLUGIN_API MetaDataInfoObject protected: MetaDataInfoObject(); public: + virtual ~MetaDataInfoObject(); void addMetaData(MetaDataDescriptor* desc, MetaDataValue* val); void addMetaData(const MetaDataDescriptor& desc, const MetaDataValue& val); const MetaDataDescriptor* getMetaDataDescriptor(int index) const; @@ -204,6 +205,7 @@ protected: class PLUGIN_API MetaDataEventObject : public MetaDataEventLock { public: + virtual ~MetaDataEventObject(); //This method will only work when creating the info object, but not for those copied down the chain void addEventMetaData(MetaDataDescriptor* desc); void addEventMetaData(const MetaDataDescriptor& desc); @@ -224,6 +226,7 @@ protected: class PLUGIN_API MetaDataEvent { public: + virtual ~MetaDataEvent(); int getMetadataValueCount() const; const MetaDataValue* getMetaDataValue(int index) const; protected: diff --git a/Source/Processors/DataThreads/RhythmNode/RHD2000Thread.cpp b/Source/Processors/DataThreads/RhythmNode/RHD2000Thread.cpp index 326b8951da778140f22bbddbe88453d332fea041..bbd62617f282afb2b5eeb7659ba1c6d59b568806 100644 --- a/Source/Processors/DataThreads/RhythmNode/RHD2000Thread.cpp +++ b/Source/Processors/DataThreads/RhythmNode/RHD2000Thread.cpp @@ -927,6 +927,7 @@ int RHD2000Thread::getNumDataOutputs(DataChannel::DataChannelTypes type, int sub return 0; } } + return 0; } String RHD2000Thread::getChannelUnits(int chanIndex) const diff --git a/Source/Processors/FileReader/FileReader.cpp b/Source/Processors/FileReader/FileReader.cpp index be4b119e0e24df40d11789743707b45a480fde3b..ad197377efe0792223da6cb1397728da0f39f100 100644 --- a/Source/Processors/FileReader/FileReader.cpp +++ b/Source/Processors/FileReader/FileReader.cpp @@ -245,14 +245,14 @@ void FileReader::process (AudioSampleBuffer& buffer) { samplesToRead = stopSample - currentSample; if (samplesToRead > 0) - input->readData (readBuffer + samplesRead, samplesToRead); + input->readData (readBuffer + samplesRead * currentNumChannels, samplesToRead); input->seekTo (startSample); currentSample = startSample; } else { - input->readData (readBuffer + samplesRead, samplesToRead); + input->readData (readBuffer + samplesRead * currentNumChannels, samplesToRead); currentSample += samplesToRead; } diff --git a/Source/Processors/GenericProcessor/GenericProcessor.cpp b/Source/Processors/GenericProcessor/GenericProcessor.cpp index 65a96044183e1b6063b8acfce3e439cbb463bff6..0e41d7b4da3b03a0d54486a16549f160164a2daa 100755 --- a/Source/Processors/GenericProcessor/GenericProcessor.cpp +++ b/Source/Processors/GenericProcessor/GenericProcessor.cpp @@ -477,7 +477,7 @@ void GenericProcessor::createEventChannels() int nChans = events.size(); for (int i = 0; i < nChans; i++) { - DefaultEventInfo& info = events[i]; + const DefaultEventInfo& info = events[i]; if (info.type != EventChannel::INVALID && info.nChannels > 0 && info.length > 0) { EventChannel* chan = new EventChannel(info.type, info.nChannels, info.length, info.sampleRate, this, sub); @@ -1263,7 +1263,7 @@ GenericProcessor::DefaultEventInfo::DefaultEventInfo() uint32 GenericProcessor::getProcessorFullId(uint16 sid, uint16 subid) { - return uint32(sid) << 16 + subid; + return (uint32(sid) << 16) + subid; } int64 GenericProcessor::getLastProcessedsoftwareTime() const