diff --git a/src/model.rs b/src/model.rs index a9fe2d7..86c16f8 100644 --- a/src/model.rs +++ b/src/model.rs @@ -88,13 +88,15 @@ impl Perch { } /// Write all modified tags pub(crate) fn save_all (&mut self) -> Usually<()> { + use std::fs::File; use lofty::{tag::TagExt, config::WriteOptions}; for entry in self.entries.iter_mut() { if let Metadata::Music { modified_tag: Some(modified_tag), .. } = &mut *entry.info.write().unwrap() { let tag = modified_tag.read().unwrap(); - let mut file = std::fs::File::open(entry.path.as_path())?; + let path = entry.path.as_path(); + let mut file = File::options().read(true).write(true).open(path)?; tag.save_to(&mut file, WriteOptions::default())?; } }