basic_usage/
basic_usage.rs1use quaver_rs::{Qua, DifficultyProcessor, StrainConstants, ModIdentifier};
2
3fn main() -> Result<(), Box<dyn std::error::Error>> {
4 println!("Parsing .qua file...");
5
6 let qua = Qua::from_file("assets/171402.qua")?;
8
9 println!("Map: {} - {}", qua.metadata.title, qua.metadata.artist);
10 println!("Creator: {}", qua.metadata.creator);
11 println!("Difficulty: {}", qua.metadata.difficulty_name);
12 println!("Mode: {:?}", qua.metadata.mode);
13 println!("Hit Objects: {}", qua.hit_objects.len());
14 println!("Timing Points: {}", qua.timing_points.len());
15
16 println!("\nCalculating difficulty...");
18 let constants = StrainConstants::new(None);
19 let mut processor = DifficultyProcessor::new(qua, constants, ModIdentifier::NONE);
20 processor.calculate_difficulty(ModIdentifier::NONE);
21
22 println!("Overall Difficulty: {:.2}", processor.overall_difficulty);
23 println!("Average Note Density: {:.2}", processor.average_note_density);
24 println!("Map Length: {:.2}", processor.map.length());
25 println!("Hit Objects Count: {}", processor.map.hit_objects.len());
26 println!("Timing Points Count: {}", processor.map.timing_points.len());
27
28 Ok(())
29}