@@ -71,6 +71,25 @@ bool BinaryFileSource::open(File file)
7171void BinaryFileSource::fillRecordInfo ()
7272{
7373
74+ Identifier idGUIVersion (" GUI version" );
75+ String guiVersion = m_jsonData[idGUIVersion];
76+
77+ String sampleNumbersFilename;
78+ String channelStatesFilename;
79+
80+ int minorVersion = guiVersion.substring (2 ,3 ).getIntValue ();
81+
82+ if (minorVersion < 6 ) {
83+ sampleNumbersFilename = " timestamps.npy" ;
84+ channelStatesFilename = " channel_states.npy" ;
85+ }
86+ else
87+ {
88+ sampleNumbersFilename = " sample_numbers.npy" ;
89+ channelStatesFilename = " states.npy" ;
90+ }
91+
92+
7493 const int maxSensibleFileSize = 2 * 1024 * 1024 ;
7594
7695 var continuousData = m_jsonData[" continuous" ];
@@ -110,7 +129,7 @@ void BinaryFileSource::fillRecordInfo()
110129 info.sampleRate = record[idSampleRate];
111130 info.numSamples = numSamples;
112131
113- File tsFile = m_rootPath.getChildFile (" continuous" ).getChildFile (streamName).getChildFile (" sample_numbers.npy " );
132+ File tsFile = m_rootPath.getChildFile (" continuous" ).getChildFile (streamName).getChildFile (sampleNumbersFilename );
114133 if (tsFile.exists ())
115134 {
116135 std::unique_ptr<FileInputStream> tsDataStream = tsFile.createInputStream ();
@@ -169,21 +188,22 @@ void BinaryFileSource::fillRecordInfo()
169188 String streamName = events[idFolder];
170189 streamName = streamName.trimCharactersAtEnd (" /" );
171190
172- File sampleNumbersFile = m_rootPath.getChildFile (" events" ).getChildFile (streamName).getChildFile (" sample_numbers.npy " );
191+ File sampleNumbersFile = m_rootPath.getChildFile (" events" ).getChildFile (streamName).getChildFile (sampleNumbersFilename );
173192 std::unique_ptr<MemoryMappedFile> sampleNumbersMap (new MemoryMappedFile (sampleNumbersFile, MemoryMappedFile::readOnly));
174193
175194 if (sampleNumbersFile.getSize () == EVENT_HEADER_SIZE_IN_BYTES)
176195 continue ;
177196
178197 int nEvents = (sampleNumbersFile.getSize () - EVENT_HEADER_SIZE_IN_BYTES) / 8 ;
179198
180- if (streamName.endsWith (" TTL" ))
199+ if (streamName.contains (" TTL" ))
181200 {
182201
183- File channelStatesFile = m_rootPath.getChildFile (" events" ).getChildFile (streamName).getChildFile (" states.npy " );
202+ File channelStatesFile = m_rootPath.getChildFile (" events" ).getChildFile (streamName).getChildFile (channelStatesFilename );
184203 std::unique_ptr<MemoryMappedFile> channelStatesFileMap (new MemoryMappedFile (channelStatesFile, MemoryMappedFile::readOnly));
185204
186- streamName = streamName.trimCharactersAtEnd (" /TTL" );
205+
206+ streamName = streamName.substring (0 ,streamName.lastIndexOf (" /TTL" ));
187207
188208 EventInfo eventInfo;
189209
0 commit comments