Skip to main content

rustriff_lib/commands/
helpers.rs

1use crate::services::amp_config_service::AmpConfigPersistenceService;
2use crate::services::audio_service::AudioService;
3use std::sync::Mutex;
4use tauri::State;
5use tracing::error;
6
7/// Snapshots and enqueues amp-config persistence after a successful command mutation.
8pub(crate) fn persist_amp_config(
9    service: &AudioService,
10    persistence_service_state: &State<'_, Mutex<AmpConfigPersistenceService>>,
11) {
12    match persistence_service_state.lock() {
13        Ok(persistence_service) => {
14            if let Err(err) = persistence_service.persist_from_audio_service(service) {
15                error!("Failed to persist amp config: {err}");
16            }
17        }
18        Err(_) => error!("Failed to lock amp config persistence service"),
19    }
20}