Skip to content

Commit 9c6c868

Browse files
committed
Patch.
1 parent 86c3b4c commit 9c6c868

2 files changed

Lines changed: 27 additions & 2 deletions

File tree

spikeinterface_gui/tracemapview.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
from .traceview import MixinViewTrace, find_nearest_spike
88

9+
INT32_MAX = 2147483647
910

1011
class TraceMapView(ViewBase, MixinViewTrace):
1112
id = "tracemap"
@@ -134,11 +135,16 @@ def _qt_seek(self, t):
134135

135136
self.scroll_time.valueChanged.disconnect(self._qt_on_scroll_time)
136137
value = self.controller.time_to_sample_index(t)
138+
139+
segment_index = self.controller.get_time()[1]
140+
num_samples = self.controller.get_num_samples(segment_index)
141+
if num_samples > INT32_MAX:
142+
value = round((value * INT32_MAX) / num_samples)
143+
137144
self.scroll_time.setValue(value)
138145
self.scroll_time.setPageStep(int(sr*xsize))
139146
self.scroll_time.valueChanged.connect(self._qt_on_scroll_time)
140147

141-
segment_index = self.controller.get_time()[1]
142148
times_chunk, data_curves, scatter_x, scatter_y, scatter_colors = \
143149
self.get_data_in_chunk(t1, t2, segment_index)
144150
data_curves = data_curves.T

spikeinterface_gui/traceview.py

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
# * segment change
1414
# *
1515

16+
INT32_MAX = 2147483647
17+
1618
class MixinViewTrace:
1719

1820
MAX_RETRIEVE_TIME_FOR_BUSY_CURSOR = 0.5 # seconds
@@ -174,7 +176,13 @@ def _qt_update_scroll_limits(self):
174176
t_start, t_stop = self.controller.get_t_start_t_stop()
175177
self.timeseeker.set_start_stop(t_start, t_stop, seek=False)
176178
self.scroll_time.setMinimum(0)
177-
self.scroll_time.setMaximum(length - 1)
179+
180+
if length > INT32_MAX:
181+
slider_max = INT32_MAX
182+
else:
183+
slider_max = length - 1
184+
185+
self.scroll_time.setMaximum(slider_max)
178186

179187
def _qt_change_segment(self, segment_index):
180188
#TODO: dirty because now seg_pos IS segment_index
@@ -214,6 +222,11 @@ def _qt_xsize_zoom(self, xmove):
214222
self.spinbox_xsize.setValue(newsize)
215223

216224
def _qt_on_scroll_time(self, val):
225+
segment_index = self.controller.get_time()[1]
226+
num_samples = self.controller.get_num_samples(segment_index)
227+
if num_samples > INT32_MAX:
228+
val = round(val * (num_samples / INT32_MAX))
229+
217230
time = self.controller.sample_index_to_time(val)
218231
self.timeseeker.seek(time)
219232

@@ -501,6 +514,12 @@ def _qt_seek(self, t):
501514

502515
self.scroll_time.valueChanged.disconnect(self._qt_on_scroll_time)
503516
value = self.controller.time_to_sample_index(t)
517+
518+
segment_index = self.controller.get_time()[1]
519+
num_samples = self.controller.get_num_samples(segment_index)
520+
if num_samples > INT32_MAX:
521+
value = round((value * INT32_MAX) / num_samples)
522+
504523
self.scroll_time.setValue(value)
505524
self.scroll_time.setPageStep(int(sr*xsize))
506525
self.scroll_time.valueChanged.connect(self._qt_on_scroll_time)

0 commit comments

Comments
 (0)