rosu_pattern_detector/mania/
mod.rs

1use crate::mania::models::base::NotesStruct;
2use crate::mania::transform::{group_notes_by_measures, transform_hit_object_to_mania_notes};
3use crate::mania::detector::HitObjects;
4use crate::mania::detector::analyze_patterns;
5
6use rosu_map::section::timing_points::TimingPoint;
7use rosu_map::Beatmap;
8
9pub mod detector;
10pub mod transform;
11pub mod models;
12
13pub fn transform_to_hit_objects(map: Beatmap) -> HitObjects {
14    let timing_point: Vec<TimingPoint> = map.control_points.timing_points;
15    let circle_size: i32 = map.circle_size as i32;
16
17    let notes: Vec<NotesStruct> = transform_hit_object_to_mania_notes(map.hit_objects, circle_size);
18    let mut measures: HitObjects = group_notes_by_measures(notes, timing_point);
19    analyze_patterns(&mut measures);
20
21    measures
22}
23
24
25