From ac7f6a0144b2ca67f106afe5659a488a618f192c Mon Sep 17 00:00:00 2001 From: Alexander Verevkin <89090823215@yandex.ru> Date: Thu, 6 Nov 2025 13:14:14 +0500 Subject: [PATCH 1/2] Minor addition :) --- src/editor/settings/editor_settings.rs | 2 +- src/editor/settings/project_settings.rs | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/editor/settings/editor_settings.rs b/src/editor/settings/editor_settings.rs index 6abaf60..8318f30 100644 --- a/src/editor/settings/editor_settings.rs +++ b/src/editor/settings/editor_settings.rs @@ -31,7 +31,7 @@ impl Default for ESGeneralSettings { import_reassign_channels: false, import_reassign_channel_10_as_11: false, import_max_ppq_override: false, - import_max_ppq_override_value: NumericField::new(960, Some(96), Some(7680)), + import_max_ppq_override_value: NumericField::new(960, Some(1), Some(0x7FFF)), import_remove_overlaps: false, export_discard_empty_tracks: true diff --git a/src/editor/settings/project_settings.rs b/src/editor/settings/project_settings.rs index c7f12c9..f882b47 100644 --- a/src/editor/settings/project_settings.rs +++ b/src/editor/settings/project_settings.rs @@ -3,17 +3,21 @@ use eframe::egui::{self, RichText}; use crate::{app::ui::dialog::Dialog, editor::{midi_bar_cacher::BarCacher, project::{project_data::ProjectData, project_manager::ProjectManager}}}; use core::f32; use std::sync::{Arc, RwLock, Mutex}; +use crate::app::custom_widgets::{NumberField, NumericField}; pub struct ProjectSettings { pub project_manager: Arc>, is_showing: bool, + + custom_ppq_field: NumericField, } impl Default for ProjectSettings { fn default() -> Self { Self { project_manager: Default::default(), - is_showing: false + is_showing: false, + custom_ppq_field: NumericField::new(960, Some(1), Some(0x7FFF)) } } } @@ -22,7 +26,8 @@ impl ProjectSettings { pub fn new(project_data: &Arc>) -> Self { Self { project_manager: project_data.clone(), - is_showing: false + is_showing: false, + custom_ppq_field: NumericField::new(project_data.read().unwrap().project_data.ppq, Some(1), Some(0x7FFF)) } } } @@ -90,6 +95,12 @@ impl Dialog for ProjectSettings { project_manager.change_ppq(new_value); } }); + + if self.custom_ppq_field.show("Or custom value", ui, None).lost_focus() { + if ppq != self.custom_ppq_field.value() { + project_manager.change_ppq(self.custom_ppq_field.value()); + } + } }); ui.horizontal(|ui| { From d1683a2f178e88f1afa27956edd7271a9069f344 Mon Sep 17 00:00:00 2001 From: Alexander Verevkin <89090823215@yandex.ru> Date: Thu, 6 Nov 2025 14:25:54 +0500 Subject: [PATCH 2/2] Update project_settings.rs --- src/editor/settings/project_settings.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/editor/settings/project_settings.rs b/src/editor/settings/project_settings.rs index f882b47..0ee251b 100644 --- a/src/editor/settings/project_settings.rs +++ b/src/editor/settings/project_settings.rs @@ -93,6 +93,7 @@ impl Dialog for ProjectSettings { if new_value != old_value { project_manager.change_ppq(new_value); + self.custom_ppq_field.set_value(new_value); } });