Broken attempt to fix snapping (Alexandre)

This commit is contained in:
Thibaud 2024-05-30 19:14:07 +02:00
parent 0fcad4174a
commit 816f218ffc
2 changed files with 12 additions and 9 deletions

View File

@ -18,7 +18,7 @@ def main():
timings, amplitudes, freqs = [x[0] for x in data], [x[1] for x in data], [x[2] for x in data]
beatmap._hit_objects = place.greedy(bpm, offset, timings, amplitudes)
beatmap.display_name = "TIPE's Extra"
#beatmap.display_name = "TIPE's Extra"
#beatmap._hit_objects = [sl.Slider(sl.Position(0, 0), timedelta(milliseconds=3), timedelta(milliseconds=130), 0, sl.curve.Linear([sl.Position(0, 0), sl.Position(100, 100)], 100), 100, 2, 1, 1, 1, timing.ms_per_beat, [], [],)]
beatmap.write_path("rewrite.osu")

View File

@ -456,20 +456,23 @@ def snap2(data, sample_rate, bpm, first_offset=0, div=4, show=False):
k = 0
current_t = first_offset
for i in range(len(data)):
while(current_t < 0):
k += 1
current_t = first_offset + k*60/(bpm*div)
if(i/sample_rate > current_t):
k += 1
current_t = first_offset + k*60/(bpm*div)
x = int(current_t*1000)
if(x < len(new)):
new[x] = max(new[x], data[i])
while(current_t < len(data)/sample_rate):
for i in range(int(sample_rate*current_t), int(min(len(new)-1, sample_rate*(current_t + 60/(bpm*div))))):
new[min(int(sample_rate*current_t), len(new)-1)] = max(new[min(int(current_t*sample_rate), len(new)-1)], data[i])
k += 1
current_t = first_offset + k*60/(bpm*div)
if(show):
t = [j/1000+first_offset for j in range(len(new))]
beats = [0 for j in range(len(new))]
k = 0
while(first_offset + k*60/(bpm*div) < 0):
k += 1
current_offset = first_offset + k*60/(bpm*div)
while((first_offset + k*60/(bpm*div)*1000 < len(new))):
beats[int(first_offset + k*60/(bpm*div)*1000)] = 16384
k += 1