Skip to content

Commit 022872c

Browse files
committed
fix IndexError
1 parent 9c24d87 commit 022872c

File tree

1 file changed

+15
-14
lines changed

1 file changed

+15
-14
lines changed

libresvip/utils/music_math.py

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -229,20 +229,21 @@ def interpolate(self, xs: list[float]) -> list[float]:
229229
ys.append(self.points[0][1])
230230
elif point_index == len(self.points):
231231
ys.append(self.points[-1][1])
232-
last_point = self.points[point_index - 1]
233-
last_delta = self.slope_at(point_index - 1)
234-
next_point = self.points[point_index]
235-
next_delta = self.slope_at(point_index)
236-
delta_1 = x - last_point[0]
237-
delta_2 = x - next_point[0]
238-
t1 = delta_1 / (next_point[0] - last_point[0])
239-
t2 = delta_2 / (last_point[0] - next_point[0])
240-
ys.append(
241-
self.f1(t1, t2) * last_point[1]
242-
+ self.f1(t2, t1) * next_point[1]
243-
+ self.f3(t2, delta_1) * last_delta
244-
+ self.f3(t1, delta_2) * next_delta
245-
)
232+
else:
233+
last_point = self.points[point_index - 1]
234+
last_delta = self.slope_at(point_index - 1)
235+
next_point = self.points[point_index]
236+
next_delta = self.slope_at(point_index)
237+
delta_1 = x - last_point[0]
238+
delta_2 = x - next_point[0]
239+
t1 = delta_1 / (next_point[0] - last_point[0])
240+
t2 = delta_2 / (last_point[0] - next_point[0])
241+
ys.append(
242+
self.f1(t1, t2) * last_point[1]
243+
+ self.f1(t2, t1) * next_point[1]
244+
+ self.f3(t2, delta_1) * last_delta
245+
+ self.f3(t1, delta_2) * next_delta
246+
)
246247
return ys
247248

248249

0 commit comments

Comments
 (0)