04-settings04-settings
設定ファイル state.toml
このページは自動生成です。直接編集しないこと。
python tools/gen_manual_ref.py で再生成する。内容を変えたいときは下の生成元を直す。
生成元
crates/melodear-gui/src/onboarding.rscrates/melodear-gui/src/settings.rs
置き場所は %APPDATA%\MeloDear\state.toml。壊れた場合は世代バックアップ state.toml.1 〜 .3 から復元される(ADR 参照)。アプリ起動中に手で書き換えても、終了時に上書きされる。
節の一覧
| 節 | 型 | 説明 |
|---|
[meta] | MetaSection | |
[onboarding] | OnboardingSection | |
[preferences] | PreferencesSection | |
[appearance] | AppearanceSettings | |
[operation] | OperationSettings | |
[display] | DisplaySettings | |
[accessibility] | AccessibilitySettings | |
[external] | ExternalSettings | Phase 3j++: 外部アプリ連携(カスタムファイルブラウザコマンド等) |
[external_metadata] | ExternalMetadataSettings | Phase 6g: 外部メタデータ API 設定 |
[path_inference] | PathInferenceSettings | Phase 6h.1: パス推論 / フォルダ artwork |
[rating_writeback] | RatingWritebackSettings | ADR-0023 D2: 評価のファイル書き戻し(既定 OFF) |
[doujin_lookup] | DoujinLookupSettings | Phase 6h.2: DLsite / DMM オンライン照合 |
[audio] | AudioSettings | Phase 6a: オーディオ出力バックエンド |
[plugins] | PluginSettings | Phase 7e: プラグイン editor / プリセット |
[mood_map] | MoodMapSettings | Phase 5e: Discover Mood Map 選択範囲の永続化 |
[genre_ml] | GenreMlSettings | Phase 5c.5: ジャンル ML(CLAP zero-shot) |
[whisper] | WhisperMlSettings | ai-05c: Whisper 文字起こしモデル |
[separation] | SeparationSettings | Phase 8a/8b: ステム分離 |
[collab] | CollabSettings | colab-2: 協調学習 opt-in / 匿名クライアントトークン |
[streaming] | StreamingSettings | ADR-0034 / stream-0: 外出先ストリーミング(実験) |
[mcp] | McpSettings | ADR-0038 / mcp-1: GUI 内蔵 MCP |
[share] | ShareSettings | share-1: Now Playing SNS シェア |
[analyze] | AnalyzeDialogSettings | anapreset-1: Analyze ダイアログの前回状態とユーザープリセット |
[startup_exclusions] | StartupExclusions | startup-1: sweep / agefilter の恒久除外(SCHEMA 非接触) |
[update] | UpdateSettings | update-1: dismissed in-app update version |
LibraryRegistryEntry
Per-library registration (ADR-0033). recent_libraries remains the MRU path list.
| キー | 型 | 既定値 | 説明 |
|---|
id | String | — | |
folder | String | — | |
placement | DbPlacement | 型の既定値 | |
db_path | Option<String> | 型の既定値 | Authoritative DB path when known (especially FastDrive). |
cache_placement | CachePlacement | 型の既定値 | storage-1: Tier H cache placement (user preference in state.toml). Runtime path resolvers prefer the FastDrive .placement marker. |
OnboardingSection
| キー | 型 | 既定値 | 説明 |
|---|
completed | bool | 型の既定値 | |
completed_at | Option<String> | — | |
tour_seen | Vec<String> | 型の既定値 | |
ml_models_nudge_dismissed | bool | 型の既定値 | mlsetup-02b: 初回 AI モデルナッジをスキップ済みか。 |
PreferencesSection
| キー | 型 | 既定値 | 説明 |
|---|
theme | String | "dark".into() | |
key_notation | String | "camelot".into() | |
default_unit | String | "bpm".into() | |
last_library | Option<String> | — | |
recent_libraries | Vec<String> | 型の既定値 | |
library_entries | Vec<LibraryRegistryEntry> | 型の既定値 | ADR-0033: placement + library-id registry (parallel to recent_libraries). |
browser_places | Vec<String> | 型の既定値 | browser-03: 左 Browser の Places ショートカット(フォルダパス)。 |
custom_colors | std::collections::HashMap<String, String> | 型の既定値 | ui-02: セマンティック色キー → #RRGGBB(例: "selection") |
AppearanceSettings
| キー | 型 | 既定値 | 説明 |
|---|
font_size | String | "md".into() | |
ui_zoom_percent | Option<i32> | 型の既定値 | App UI zoom (30–300%). None until migrated from legacy font_size. |
simple_neumorphic | bool | 型の既定値 | |
simple_volume | bool | 型の既定値 | |
reduced_motion | bool | 型の既定値 | |
high_contrast | bool | 型の既定値 | |
scroll_bar_style | i32 | 0 | ui-01: 0=細, 1=太め, 2=太め+矢印 |
live_viz_quality | i32 | 1 | Live visualizer quality: 0=軽量, 1=標準, 2=高精細. |
live_viz_response | i32 | 0 | Live visualizer response: 0=なめらか, 1=低遅延. |
live_viz_update_rate | i32 | 1 | Live visualizer update rate: 0=省電力, 1=標準. |
live_viz_peak_hold | bool | true | Live visualizer peak hold ticks. Automatically disabled for lightweight/low-latency modes. |
OperationSettings
| キー | 型 | 既定値 | 説明 |
|---|
default_sort | String | "title".into() | |
single_click_play | bool | 型の既定値 | |
repeat_mode | String | "off".into() | task #9: リピート再生モード。"off" / "all" / "one"。 |
shuffle_mode | String | "off".into() | shuffle-01: "off" / "tracks"(shuffle-02 で "works" 追加)。 |
view_mode | String | "table".into() | Phase view-01: ライブラリ表示モード(table/cards/album/...)。 |
analyze_cpu_parallelism | u32 | default_analyze_cpu_parallelism() | Background analyze: max concurrent track workers (1..=num_cpus). |
library_watch_enabled | bool | true | libwatch-1 / ADR-0037 D7: ライブラリの追加・削除を常時検知する。既定 ON。 |
MoodMapSettings
| キー | 型 | 既定値 | 説明 |
|---|
valence_min | f32 | -1.0 | |
valence_max | f32 | 1.0 | |
arousal_min | f32 | -1.0 | |
arousal_max | f32 | 1.0 | |
DisplaySettings
| キー | 型 | 既定値 | 説明 |
|---|
time_format | String | "24h".into() | |
date_format | String | "yyyy-mm-dd".into() | |
number_grouping | String | "comma".into() | |
column_widths | HashMap<String, u32> | 型の既定値 | ライブラリ表の列幅(px)。キーは Slint ColumnWidths のフィールド名(kebab-case)。 |
left_dock_width | u32 | 220 | 左ドック(フィルターツリー)幅 px。 |
right_dock_width | u32 | 280 | 右ドック(トラック情報)幅 px。 |
bottom_panel_height | u32 | 170 | 下ファセットフィルタパネル高さ px。 |
column_browser_height | u32 | 150 | カラムブラウザ帯(列フィルタ)高さ px。 |
viz_band_height | u32 | default_viz_band_height() | fix-8: 可視化帯(波形/ライブ)高さ px。 |
work_browser_detail_width | u32 | 380 | voicelib-25: 作品ブラウザ右詳細ペイン幅 px。 |
view_zoom_cards | u32 | 100 | viewzoom-1: ビューごとのアートワークサイズ倍率(%)。ui_zoom_percent とは独立。 |
view_zoom_album_grid | u32 | 100 | |
view_zoom_work_cards | u32 | 100 | |
view_zoom_work_wide_cards | u32 | 100 | |
view_zoom_work_browser | u32 | 100 | |
view_zoom_table | u32 | 100 | viewzoom-2: 行系ビューのアートワーク/行高倍率(%)。グリッド系と同書式。 |
view_zoom_album_list | u32 | 100 | |
view_zoom_tree | u32 | 100 | |
view_zoom_waveform_list | u32 | 100 | |
view_zoom_work_list | u32 | 100 | |
column_order | Vec<String> | crate::column_order::default_column_order() | ライブラリ表の列順(キー名、非表示列も保持)。 |
column_pins | HashMap<String, bool> | crate::column_order::default_column_pins() | 列 PIN 状態(title 除く)。 |
column_visibility | HashMap<String, bool> | 型の既定値 | colpreset-1: 現在の列表示/非表示(プリセット適用時もここへ永続化)。 |
column_presets | Vec<ColumnLayoutPreset> | crate::column_presets::builtin_column_presets() | colpreset-1: 名前付き列構成プリセット(フィルタは含めない)。 |
panels | PanelVisibility | 型の既定値 | 検索欄・左右・Bottom 二段目パネルの開閉状態。 |
AccessibilitySettings
| キー | 型 | 既定値 | 説明 |
|---|
screen_reader_mode | String | "auto".into() | auto | on | off |
focus_strong | bool | 型の既定値 | |
colorblind_mode | bool | 型の既定値 | |
PluginSettings
Phase 7e: プラグイン editor ウィンドウとチェインプリセット(DB-only)。
| キー | 型 | 既定値 | 説明 |
|---|
restore_editors_on_startup | bool | 型の既定値 | 起動時に最後に開いていた editor を復元(デフォルト OFF、ADR-0014)。 |
persist_editor_positions | bool | true | editor ウィンドウ位置を DB に永続化。 |
GenreMlSettings
Phase 5c.5: CLAP zero-shot ジャンル ML 設定(state.toml の [genre_ml])。
| キー | 型 | 既定値 | 説明 |
|---|
model_id | String | melodear_ml::MODEL_ID_CLAP_ZEROSHOT_GENRE_V1.to_string() | |
threshold | f32 | 0.3 | |
max_labels | usize | 8 | |
compute_embedding | bool | 型の既定値 | |
embedding_model | Option<String> | — | |
WhisperMlSettings
ai-05c: Whisper 文字起こしモデル選択(state.toml の [whisper])。
| キー | 型 | 既定値 | 説明 |
|---|
selected_model_id | String | melodear_ml::DEFAULT_WHISPER_MODEL_ID.to_string() | |
SeparationSettings
Phase 8a/8b: 4-stem 音源分離(Demucs ONNX)。 f32 フィールドがあるため Eq は派生しない(NaN 比較問題、Rust 標準)。
| キー | 型 | 既定値 | 説明 |
|---|
enabled | bool | 型の既定値 | |
model_path | Option<PathBuf> | — | |
model_variant | String | "htdemucs_v4".into() | |
preferred_provider | Option<String> | — | |
allow_gpu | bool | true | |
max_gpu_memory_mb | Option<u64> | — | |
segment_seconds | f32 | 8.0 | |
overlap | f32 | 0.25 | |
AudioSettings
Phase 6a/6b: オーディオ出力バックエンド設定(state.toml [audio])。
| キー | 型 | 既定値 | 説明 |
|---|
backend | BackendKind | 型の既定値 | |
output_mode | OutputDeviceMode | 型の既定値 | |
pinned_device_id | Option<String> | — | |
buffer_size | Option<u32> | — | |
exclusive_mode | bool | 型の既定値 | |
preferred_sample_rate | Option<u32> | — | |
preferred_sample_format | Option<SampleFormatHint> | — | |
fallback_to_shared | bool | true | |
skip_leading_silence | bool | true | |
normalize_enabled | bool | 型の既定値 | |
normalize_target_lufs | f32 | -18.0 | |
waveform_v_scale | f32 | 1.0 | playctl-1/2: viz 縦スケール(x1.0…x8.0 連続)。表示のみ・音量不変。 旧 u8(1/2/4/8)も serde で f32 として読める。 |
playback_gain_db | f32 | 型の既定値 | playctl-1: 再生ゲイン dB(−24…+12)。DSP プリ段・波形連動。 |
ExternalSettings
Phase 3j++: 外部アプリ連携設定(Reveal in Explorer 等のカスタムコマンド)。 file_browser_command は以下の placeholder を含むコマンドテンプレート: - {file} トラックファイルの絶対パス - {folder} 親フォルダの絶対パス 値が None / 空文字なら OS デフォルト(Windows: explorer /select,...、macOS: open -R、 Linux: xdg-open <parent>)を使う。 例: - OneCommander: OneCommander.exe -singleinstance "{folder}" - Directory Opus: "C:\Program Files\GPSoftware\Directory Opus\dopus.exe" /cmd Go DUALPATH="{folder}" - Total Commander: "C:\totalcmd\TOTALCMD64.EXE" /O /L="{file}" - Files (Files-Community): files.exe "{folder}" - Cursor (フォルダ開く): cursor.exe "{folder}" - VS Code: code.exe "{folder}"
| キー | 型 | 既定値 | 説明 |
|---|
file_browser_command | String | 型の既定値 | カスタムファイルブラウザコマンド。空文字 / None は OS デフォルト。 |
CollabSettings
協調学習・プライバシー設定(colab-2)。
| キー | 型 | 既定値 | 説明 |
|---|
opt_in | bool | 型の既定値 | ユーザーが明示的に ON にした場合のみ統計を送信する(既定 false)。 |
client_token | String | 型の既定値 | インストール時生成の匿名 UUID。削除要求の照合用。 空文字の場合は起動時に生成して保存する。 |
server_url | String | 型の既定値 | colab-3b: 集約サーバ URL(例 https://collab.example.com)。空なら MockSender。 |
StreamingSettings
ADR-0034 / stream-0: 外出先ストリーミング(実験・OpenSubsonic 互換スパイク)。
| キー | 型 | 既定値 | 説明 |
|---|
enabled | bool | 型の既定値 | 既定 OFF。ON で GUI 内蔵 HTTP サーバを起動。 |
bind | String | "127.0.0.1".into() | バインドアドレス。既定 127.0.0.1(LAN は明示操作)。 |
port | u16 | 4040 | |
token | String | 型の既定値 | Subsonic のパスワード相当。空のままでは起動しない。 |
advertise_host | String | 型の既定値 | 接続情報に出すホスト(LAN IP 選択 or 手入力)。空なら自動検出。 |
exclude_r18_by_default | bool | true | agefilter-1: Air で R-18 を既定除外(人前での誤再生防止)。既定 ON。 |
UpdateSettings
In-app update: dismissed release version (state.toml [update]).
| キー | 型 | 既定値 | 説明 |
|---|
dismissed_version | String | 型の既定値 | |
McpSettings
ADR-0038 / mcp-1: GUI 内蔵 MCP(既定 OFF、127.0.0.1 固定)。
| キー | 型 | 既定値 | 説明 |
|---|
enabled | bool | 型の既定値 | |
pin | String | 型の既定値 | |
allow_writes | bool | 型の既定値 | ADR-0038 D5: 書き込みツール。既定 OFF。 |
ShareSettings
share-1/2/3: Now Playing SNS シェア設定(state.toml [share])。 内部表現は checklist flags(自由入力テンプレートは未採用)。
| キー | 型 | 既定値 | 説明 |
|---|
fields | crate::share_text::ShareFieldFlags | 型の既定値 | |
card | crate::share_text::ShareCardFlags | 型の既定値 | share-2: カード画像要素 On/Off(本文 fields とは独立)。 |
hide_work_title | crate::share_text::HideWorkTitleMode | 型の既定値 | 同人音声の作品名伏せ。既定 r18-only。旧 hide_r18_work_title から移行。 |
show_preview | bool | true | 投稿前プレビューダイアログ(既定 ON)。 |
mastodon_instance | String | 型の既定値 | |
misskey_instance | String | 型の既定値 | |
last_target | String | "x".into() | "x" | "bluesky" | "mastodon" | "misskey" |
AnalyzeDialogSettings
anapreset-1: Analyze ダイアログの前回状態とユーザープリセット(state.toml [analyze])。
| キー | 型 | 既定値 | 説明 |
|---|
last | Option<AnalyzeLastSession> | 型の既定値 | Start Analyze 時点のスナップショット。無ければダイアログは種別既定。 |
presets | Vec<AnalyzeUserPreset> | 型の既定値 | 解析項目チェックのみ。Only missing / 再解析 / Whisper は含めない。 |
Phase 6g: 外部メタデータ API(MusicBrainz / Last.fm / AcoustID)。
| キー | 型 | 既定値 | 説明 |
|---|
enable_musicbrainz | bool | false | |
enable_lastfm | bool | 型の既定値 | |
enable_acoustid | bool | 型の既定値 | |
enable_discogs | bool | 型の既定値 | |
enable_listenbrainz | bool | 型の既定値 | |
lastfm_api_key | Option<String> | — | |
discogs_api_token | Option<String> | — | |
acoustid_api_key | Option<String> | — | |
auto_lookup_on_scan | bool | 型の既定値 | |
use_cached_only | bool | 型の既定値 | |
user_agent_email | Option<String> | — | |
acoustid | AcoustIdGuiSettings | 型の既定値 | |
AcoustIdGuiSettings
AcoustID thresholds (Phase 6g.1) — mirrors melodear_meta::AcoustIdSettings.
| キー | 型 | 既定値 | 説明 |
|---|
auto_resolve_threshold | f32 | 0.85 | |
manual_below_threshold | f32 | 0.70 | |
auto_run_on_scan | bool | 型の既定値 | |
cache_ttl_days | u32 | 365 | |
PathInferenceSettings
Phase 6h.1: path-based artist/album inference for doujin libraries.
| キー | 型 | 既定値 | 説明 |
|---|
enabled | bool | true | |
template | String | "dlsite".into() | disabled | dlsite | dmm_fanza | itunes | custom |
custom_pattern | String | 型の既定値 | |
scan_folder_artwork | bool | true | |
RatingWritebackSettings
ADR-0023 D2: opt-in rating / loved writeback to file tags (default OFF).
| キー | 型 | 既定値 | 説明 |
|---|
enabled | bool | 型の既定値 | |
file_backups_enabled | bool | true | |
file_backup_max_entries | u32 | 500 | |
DoujinLookupSettings
Phase 6h.2: DLsite / DMM / Fanza online product lookup (opt-in).
| キー | 型 | 既定値 | 説明 |
|---|
enabled | bool | 型の既定値 | |
age_confirmed | bool | 型の既定値 | |
dlsite_rate_limit_per_sec | f32 | 1.0 | |
dlsite_search_interval_sec | f32 | 4.0 | Title-search interval seconds (voicelib-15). Clamped to 3–5 in the client. |
dmm_rate_limit_per_sec | f32 | 0.5 | |
privacy_mode | bool | true | |
cache_results | bool | true | |
thumbnail_max_side | u32 | 240 | |
auto_fetch_age_rating | bool | 型の既定値 | agefilter-1: background fill of missing age ratings. Default OFF (external network). |
auto_transcribe_target | bool | 型の既定値 | D7: 自動転写の対象印。既定 OFF。ON でもキュー投入しない。 |
← リファレンス目次へ