private IEnumerable<EEGDataEntry> CreateEntries(Dictionary<EdkDll.EE_DataChannel_t, double[]> data)
{
// set the initial markerChangedTime
if (this.markerChangedTime < 0 && data.TimeStamps().Length > 0)
this.markerChangedTime = (int)(data.TimeStamps()[0] * 1000);
for (int i = 0, length = data.TimeStamps().Length, timeStamp; i < length; i++)
{
timeStamp = (int)(data.TimeStamps()[i] * 1000);
// if the current marker is different than the last one, update
if (data[EdkDll.EE_DataChannel_t.MARKER][i] != EEGDataEntry.EMO_MARKER_DEFAULT)
{
this.lastMarkerRead = (int)data[EdkDll.EE_DataChannel_t.MARKER][i];
this.markerChangedTime = timeStamp;
}
yield return new EEGDataEntry(this.lastMarkerRead, timeStamp, timeStamp - this.markerChangedTime, data.ChannelData(i));
}
}