diff --git a/CHANGELOG.md b/CHANGELOG.md index 78c5b91..859f4ea 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,8 @@ # Changelog ## Unreleased +### Added +- Real FlatLaf UI screenshots (idle, recording, settings) embedded in `README`, `README.en`, and `docs/USAGE`. ## 1.3.0 - 2026-07-02 ### Added diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d054412..08b3aea 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -19,7 +19,8 @@ This repository is maintained as a portfolio-quality project. Keep changes scope - CI remains green locally and on GitHub Actions. - Validate docs/README references if behavior or flow changes. - Ensure new methods with non-obvious behavior include an intent comment. -- If UI changes, refresh `assets/screenshot-ui.png` and verify `docs/QUALITY.md` references still hold. +- If UI changes, refresh the screenshots in `assets/` (`screenshot-ui.png`, `screenshot-recording.png`, + `screenshot-settings.png`) and verify `docs/QUALITY.md` references still hold. ## Branch policy - Keep `master` releasable. diff --git a/README.en.md b/README.en.md index fb17253..f7afea3 100644 --- a/README.en.md +++ b/README.en.md @@ -5,6 +5,16 @@ JavaSoundRecorder is a Java 21 desktop project for microphone audio recording. It demonstrates clean layering, reproducible builds, multi-level tests, CI, coverage, and supply-chain quality gates. +## Screenshots + +Swing UI with the modern FlatLaf light theme — recordings library, live telemetry, and keyboard shortcuts: + +![JavaSoundRecorder main window in the idle state](assets/screenshot-ui.png) + +| Recording in progress | Settings dialog | +| --- | --- | +| ![Main window while recording: progress and input level](assets/screenshot-recording.png) | ![Settings: folder, duration, upload, input device](assets/screenshot-settings.png) | + ## What This Repository Demonstrates - Clear layers: `config`, `audio`, `orchestration`, `storage`, `ui`. diff --git a/README.md b/README.md index 53fc4e6..571e289 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,16 @@ JavaSoundRecorder — Java 21 desktop-проект для записи звука с микрофона, демонстрирующий аккуратную архитектуру, воспроизводимую сборку, многоуровневые тесты, CI, coverage и supply-chain quality gates. +## Скриншоты + +Swing UI с современной темой FlatLaf (light) — библиотека записей, телеметрия и горячие клавиши: + +![Главное окно JavaSoundRecorder в состоянии готовности](assets/screenshot-ui.png) + +| Идёт запись | Диалог настроек | +| --- | --- | +| ![Окно во время записи: прогресс и уровень входа](assets/screenshot-recording.png) | ![Настройки: папка, длительность, загрузка, устройство входа](assets/screenshot-settings.png) | + ## Что показывает репозиторий - Чёткие слои: `config`, `audio`, `orchestration`, `storage`, `ui`. diff --git a/assets/screenshot-recording.png b/assets/screenshot-recording.png new file mode 100644 index 0000000..2157557 Binary files /dev/null and b/assets/screenshot-recording.png differ diff --git a/assets/screenshot-settings.png b/assets/screenshot-settings.png new file mode 100644 index 0000000..377b41b Binary files /dev/null and b/assets/screenshot-settings.png differ diff --git a/assets/screenshot-ui.png b/assets/screenshot-ui.png index cb1631f..01ce283 100644 Binary files a/assets/screenshot-ui.png and b/assets/screenshot-ui.png differ diff --git a/docs/USAGE.md b/docs/USAGE.md index 1f3a75c..7162bbc 100644 --- a/docs/USAGE.md +++ b/docs/USAGE.md @@ -18,6 +18,10 @@ On Windows, use `mvnw.cmd` instead of `./mvnw`. The UI exposes `Start` and `Stop` controls, status text, wrapped details, and an `Open folder` action for the last successful recording. +![Main window in the idle state with the recordings library](../assets/screenshot-ui.png) + +![Main window while recording: elapsed/remaining time, progress, and input level](../assets/screenshot-recording.png) + - `Start` begins one bounded recording cycle. - `Pause` pauses the active capture and changes to `Resume`; paused time does not count toward the configured duration. - `Stop` requests cancellation and shows `Stopping...` until the workflow reaches a final state. @@ -26,6 +30,9 @@ action for the last successful recording. - If no compatible microphone input line is available, the UI disables `Start` and shows a preflight message. - `Settings` opens recording folder, duration, upload, and input-device settings. Saved settings are applied to the current UI session when no recording is running. + + ![Settings dialog: folder, duration, upload, input device](../assets/screenshot-settings.png) + - The `Recordings` list shows WAV files from the active recording folder. - Library actions support `Play`, `Rename`, `Metadata`, `Delete`, `Export`, `Upload`, `Reveal`, and `Refresh`. - `Metadata` saves title, artist, and comment in a UTF-8 sidecar file next to the WAV. @@ -53,10 +60,13 @@ UI settings are saved in: Environment variables still take precedence over saved UI settings. This keeps CLI, CI, and scripted runs reproducible. -### Capturing a UI screenshot for README +### Capturing UI screenshots for the docs -- Start UI mode and capture a screenshot window as `assets/screenshot-ui.png`. -- Use a focused, uncluttered environment for repeatable visual presentation. +- Refresh all three assets together so they show the same theme and states: `assets/screenshot-ui.png` (idle with + recordings), `assets/screenshot-recording.png` (recording in progress), and `assets/screenshot-settings.png` + (settings dialog). +- Start UI mode and capture the window, or drive `RecorderPanel`/`SettingsDialog` directly with sample data under a + virtual display for repeatable, uncluttered captures. ## Containers