modification/
modification.rs

1use aspasia::{AssSubtitle, Error, Subtitle, TimeDelta, TimedEvent, TimedSubtitleFile};
2
3fn main() -> Result<(), Error> {
4    let sub = TimedSubtitleFile::new("/path/to/subtitle.ass")?;
5    let mut ass = AssSubtitle::from(sub);
6
7    println!("{}", ass.script_info());
8
9    for event in ass.events_mut() {
10        event.style = Some("Karaoke".to_string());
11
12        if event.duration() > TimeDelta::from(500) {
13            event.shift(2000.into());
14        }
15    }
16
17    ass.export("/path/to/output.ass")
18}