Beispiel #1
0
sample_set = 1
sample_index = 1
volume = 100
effects = 0

## Main ##

parsed_map = parser.parsefile(source_file)

target_hitobjects = [
    output for output in parsed_map.HitObjects if
    output.offset >= target_start_offset and output.offset <= target_end_offset
]

i = int(target_start_offset)
result_object = classes.ParsedBeatmap([], [])
while (i <= target_end_offset):
    result_object.TimingPoints.append(
        classes.TimingPoint(i, 0.2, beat, sample_set, sample_index, volume,
                            False, effects))
    i += 1

    if i == target_end_offset:
        result_object.TimingPoints.append(
            classes.TimingPoint(i, calcurate.timingpoint(avgbpm), beat,
                                sample_set, sample_index, volume, False,
                                effects))
        break

    zero_break = False
    for count_ in range(6):
Beispiel #2
0
		last_hitobject_offset = check_hitobject.offset

	timingPoint_BPM = round(calcurate.timingpoint(timingpoint.beat_length))
	equal_scale = aveBPM / timingPoint_BPM

	for hitobject_i in range(len(target_hitobjects)):
		hitobject: classes.HitObject = target_hitobjects[hitobject_i]
		if hitobject_i + 1 != len(target_hitobjects):
			next_hitobject: classes.HitObject = target_hitobjects[hitobject_i + 1]
			def detail_offset(before_hitobject_offset):
				for beatsnap in [16, 12]:
					BPM_timingpoint = calcurate.timingpoint(timingPoint_BPM)
					beatsnap_timingpoint = BPM_timingpoint / beatsnap
					for beatsnap_multi in range(beatsnap + 1):
						answer_offset = timingpoint.offset + (beatsnap_timingpoint * beatsnap_multi)
						if math.floor(answer_offset) == before_hitobject_offset:
							return answer_offset
						pass
					pass
				return before_hitobject_offset
			next_hitobject_offset = detail_offset(next_hitobject.offset)
			hitobject_offset = detail_offset(hitobject.offset)
			answer_scale = round(equal_scale / (next_hitobject_offset - hitobject_offset) * (calcurate.timingpoint(timingPoint_BPM) / 4), 2)
			print(hitobject.offset, answer_scale)
			process_timingpoint.append(classes.TimingPoint(hitobject.offset, calcurate.inheritedpoint(answer_scale), beat, sample_set, sample_index, volume, True, effects))
	pass

process_parsed = classes.ParsedBeatmap(process_timingpoint, parsed_file.HitObjects)
# どうやらコンソールのパスからの指定らしい...
parser.parsesave(process_parsed, "./inheritedpoint.txt")