About this project

# onerec onerec is a simple, portable Windows application designed to record meetings by capturing and mixing audio from two sources: a microphone input and the system's output device (e.g., speaker or headphones). The result is saved as a single mixed MP3 file. ## Key Features - **Dual Audio Capture**: Simultaneously records from a selected microphone and the playback device. - **MP3 Encoding**: Uses LAME for high-quality encoding with multiple preset options: - **Meeting**: 8 kbps, 8 kHz mono (~4 MB/hour). - **Voice**: 24 kbps, 16 kHz mono. - **Compact/Standard/High**: 128/192/320 kbps at 48 kHz stereo. - **Native UI**: Built with Win32 controls, featuring real-time audio meters (dBFS, silence, clipping), a timer, and support for Per-Monitor V2 DPI scaling and high-contrast modes. - **Portable**: No installation required; runs as a standalone executable. Settings are stored in `onerec.ini` next to the binary. - **Efficient Recording**: Internal capture/mixing runs at 48 kHz stereo. Temporary takes are converted to the chosen quality during write-out. ## How to Use 1. Run `onerec.exe`. 2. Select your **microphone** and **output device** (the one playing the meeting audio). 3. Choose an **MP3 quality** preset before starting. 4. Click **Start recording** or press `Ctrl+Shift+R`. 5. Monitor the audio levels and elapsed time. 6. Click **Stop recording** or press `Ctrl+Shift+R` again. 7. Click **Save recording…** to save the file. A dated filename is suggested. 8. Optionally click **Open folder** to locate the saved file. If you cancel the save dialog, the recording remains in memory until you choose to save it again or discard it. You cannot start a new recording until the current take is saved or discarded. ## Technical Details - **Platform**: Windows 10+ (x64). - **Build**: Rust-based. Requires Windows SDK for resource compilation (`rc.exe`). - **Testing**: Run `cargo test`. On Windows, use `cargo run --example probe` to list devices and test recording. - **Dependencies**: Statically linked LAME 3.100. ## Build Instructions ```powershell cargo build --release ./target/release/onerec.exe ``` Set the `ONEREC_RC` environment variable if `rc.exe` is not in the default path. ## License & Attribution This tool is open-source. The icon is derived from assets provided in the repository (`assets/onerec.ico`).