@@ -224,14 +224,25 @@ def _parse_header(self):
224224 spike_channels = np .array (spike_channels , dtype = _spike_channel_dtype )
225225
226226 # deal with nb_segment and t_start/t_stop per segment
227- self ._t_starts = {seg_index : 0.0 for seg_index in range (nb_segment )}
227+
228+ self ._t_starts = {stream_name : {} for stream_name in stream_names }
228229 self ._t_stops = {seg_index : 0.0 for seg_index in range (nb_segment )}
229- for seg_index in range (nb_segment ):
230- for stream_name in stream_names :
230+
231+ for stream_name in stream_names :
232+ for seg_index in range (nb_segment ):
231233 info = self .signals_info_dict [seg_index , stream_name ]
234+
235+ frame_start = float (info ["meta" ]["firstSample" ])
236+ sampling_frequency = info ["sampling_rate" ]
237+ t_start = frame_start / sampling_frequency
238+
239+ self ._t_starts [stream_name ][seg_index ] = t_start
232240 t_stop = info ["sample_length" ] / info ["sampling_rate" ]
233241 self ._t_stops [seg_index ] = max (self ._t_stops [seg_index ], t_stop )
234242
243+
244+
245+
235246 # fille into header dict
236247 self .header = {}
237248 self .header ["nb_block" ] = 1
@@ -276,7 +287,8 @@ def _segment_t_stop(self, block_index, seg_index):
276287 return self ._t_stops [seg_index ]
277288
278289 def _get_signal_t_start (self , block_index , seg_index , stream_index ):
279- return 0.0
290+ stream_name = self .header ["signal_streams" ][stream_index ]["name" ]
291+ return self ._t_starts [stream_name ][seg_index ]
280292
281293 def _event_count (self , event_channel_idx , block_index = None , seg_index = None ):
282294 timestamps , _ , _ = self ._get_event_timestamps (block_index , seg_index , event_channel_idx , None , None )
0 commit comments