Skip to content

feat: allow fixed audio input device - #156

Merged
jatinkrmalik merged 1 commit into
mainfrom
jmalik/feat/fixed-input-device
Jun 8, 2026
Merged

feat: allow fixed audio input device#156
jatinkrmalik merged 1 commit into
mainfrom
jmalik/feat/fixed-input-device

Conversation

@jatinkrmalik

Copy link
Copy Markdown
Member

Summary

  • Add a persisted VocaMac input-device preference with System Default as the existing default behavior.
  • Enumerate input devices through Core Audio and bind the recording engine's input AudioUnit to the selected device without changing macOS' global default input.
  • Replace the read-only Settings → Audio device list with a microphone picker, including unavailable-device fallback messaging.
  • Update mocks/tests for the new audio-device contract and document the stored display name.

Fixes #154.

Verification

  • swift test — 193 tests passed, 1 skipped due to missing Accessibility permission.
  • swift build

@jatinkrmalik
jatinkrmalik force-pushed the jmalik/feat/fixed-input-device branch from da748de to 9f45477 Compare June 8, 2026 17:32
@jatinkrmalik
jatinkrmalik merged commit e807fc7 into main Jun 8, 2026
3 checks passed
jatinkrmalik added a commit that referenced this pull request Jul 2, 2026
* docs(web): document v0.7.0 features on the website

Adds website coverage for features shipped since v0.6.2 (audit found 4 of
5 uncovered; Homebrew was already fully covered, left untouched):

- New feature pages: Custom Vocabulary (#169) and Usage Statistics
  (#148/#168/#170), each with a landing-page grid card.
- Landing JSON-LD featureList: add custom vocabulary, local usage stats,
  and selectable audio input device (#156).
- Hotkey presets + custom recording (#139): fix stale "key combination"
  copy in fully-configurable.md, document the Record/custom-key capture
  and add the Right Control preset in push-to-talk.md, and update the FAQ.
- Audio input device (#156): expand fully-configurable.md (System Default,
  non-invasive pinning, auto-fallback on disconnect, Refresh Devices).
- Screenshots gallery: add a Stats tab entry.

Two screenshots still needed from a real capture (marked with SCREENSHOT
PLACEHOLDER comments): settings-stats.png and settings-vocabulary.png.
Verified with `hugo` (build succeeds; new pages render; JSON-LD valid).

* polish(web): refine features grid, fix mobile hero overflow, SEO pass

Features grid:
- Switch from a fixed 4-col grid (which left 2 orphan cards hanging and,
  via grid-auto-rows:1fr, forced every row to the tallest card's height)
  to a centered flex-wrap layout: uniform card heights, the short last
  row centers, and 4/2/1 columns at desktop/tablet/mobile.
- Apple-style polish: icon squircle tiles, tighter 1–2 line copy on every
  card, softer corners, refined heading type, gentler hover.

Mobile hero:
- The 380px mockup forced the hero column wider than small viewports,
  clipping the subtext/pills/buttons. Reset min-width and clip the
  decorative mockup so nothing overflows below ~420px.

SEO:
- og:type now "article" for content pages (was always "website").
- Enriched the home and features-list meta descriptions.
- Verified across all 18 pages: unique titles, one <h1> each, descriptions
  present, all <img> have alt, sitemap includes the new pages.

Screenshots: add settings-stats.png and settings-vocabulary.png (referenced
by the new feature pages) and refresh settings-general.png.
@jatinkrmalik
jatinkrmalik deleted the jmalik/feat/fixed-input-device branch August 22, 2026 05:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: allow choosing a fixed audio input device

1 participant