Skip to content

Commit d3445ca

Browse files
committed
Fix RecordEngine vtable lookup crash
Move new batch write virtual method to the end of the virtual method list
1 parent 1be3a48 commit d3445ca

1 file changed

Lines changed: 17 additions & 17 deletions

File tree

Source/Processors/RecordNode/RecordEngine.h

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,23 @@ class PLUGIN_API RecordEngine
9898
const double* timestampBuffer,
9999
int size) = 0;
100100

101+
/** Write a single event to disk (TTL or TEXT) */
102+
virtual void writeEvent (int eventChannel, const EventPacket& event) = 0;
103+
104+
/** Write a spike to disk */
105+
virtual void writeSpike (int electrodeIndex, const Spike* spike) = 0;
106+
107+
/** Handle the timestamp sync text messages*/
108+
virtual void writeTimestampSyncText (uint64 streamId, int64 timestamp, float sourceSampleRate, String text) = 0;
109+
110+
// ------------------------------------------------------------
111+
// VIRTUAL METHODS
112+
// (can optionally be overridden by sub-classes)
113+
// ------------------------------------------------------------
114+
115+
/** Called by configureEngine() */
116+
virtual void setParameter (EngineParameter& parameter) {}
117+
101118
/**
102119
* Write continuous data for all channels of a stream in a single batch operation.
103120
* This is more efficient than calling writeContinuousData() for each channel.
@@ -118,23 +135,6 @@ class PLUGIN_API RecordEngine
118135
int numSamples,
119136
int fileIndex);
120137

121-
/** Write a single event to disk (TTL or TEXT) */
122-
virtual void writeEvent (int eventChannel, const EventPacket& event) = 0;
123-
124-
/** Write a spike to disk */
125-
virtual void writeSpike (int electrodeIndex, const Spike* spike) = 0;
126-
127-
/** Handle the timestamp sync text messages*/
128-
virtual void writeTimestampSyncText (uint64 streamId, int64 timestamp, float sourceSampleRate, String text) = 0;
129-
130-
// ------------------------------------------------------------
131-
// VIRTUAL METHODS
132-
// (can optionally be overridden by sub-classes)
133-
// ------------------------------------------------------------
134-
135-
/** Called by configureEngine() */
136-
virtual void setParameter (EngineParameter& parameter) {}
137-
138138
// ------------------------------------------------------------
139139
// OTHER METHODS
140140
// ------------------------------------------------------------

0 commit comments

Comments
 (0)