No description
  • Rust 96.4%
  • Slint 3.6%
Find a file
2026-05-07 22:02:33 +02:00
.zed Anfang Anzeige unter Windows 2026-05-07 16:15:04 +02:00
docs Create agent-context.md 2026-05-06 11:58:02 +02:00
linux_workspace Linux Zwischenstation 2026-04-28 21:46:26 +02:00
ngenAudioCaptureLinux Zwischenstand 2026-05-05 23:23:13 +02:00
ngenAudioCaptureWinStandard Anfang Anzeige unter Windows 2026-05-07 16:15:04 +02:00
ngenAudioCoreBase Refactor 2026-05-05 18:53:06 +02:00
ngenAudioCoreLinux Win und Linux weiter separiert 2026-05-07 09:09:50 +02:00
ngenAudioCoreWin Win und Linux weiter separiert 2026-05-07 09:09:50 +02:00
ngenAudioRecord Anzeige berichtigt 2026-05-07 22:02:33 +02:00
ngenAudioWinAlternative Aufgaben für Windows gespeichert 2026-05-05 19:05:09 +02:00
test_shm shm test eingebaut 2026-04-30 14:35:23 +02:00
.gitignore Fehlerkorrektur 2026-04-21 20:54:32 +02:00
ARCHITECTURE.md shm test eingebaut 2026-04-30 14:35:23 +02:00
Cargo.toml Linux Zwischenstation 2026-04-28 21:46:26 +02:00
LICENSE Planung für App hinzugefügt 2026-04-20 20:33:24 +02:00
PLAN.md daemon - capture app 2026-04-29 11:10:30 +02:00
README.md Dokumentation aktualisiert 2026-04-28 11:04:52 +02:00
WINDOWS_BUILD_TODO.md Aufgaben für Windows gespeichert 2026-05-05 19:05:09 +02:00

ngenAudio

Audio-Recording und -Visualisierung für Linux und Windows.

Projekte

Projekt Beschreibung OS
ngenAudioRecord/ Haupt-App: Desktop-Audiorekorder mit Slint-UI Linux + Windows
ngenAudioCaptureLinux/ Capture GUI (Slint-basiert, eigenständige App) Linux
ngenAudioCaptureWinStandard/ Capture GUI (Slint-basiert, eigenständige App) Windows
ngenAudioCaptureWinAlternative/ ASIO GUI (Slint-basiert, eigenständige App) Windows
ngenAudioCoreBase/ Plattform-unabhängige Bibliothek Alle
ngenAudioCoreLinux/ Linux: Unix Sockets + Shared Memory Linux
ngenAudioCoreWin/ Windows: Named Pipes + Shared Memory Windows

Architektur

Unabhängige GUI-Anwendungen

Alle ngenAudioCapture* Projekte sind eigenständige GUI-Anwendungen mit eigener Slint-Benutzeroberfläche:

┌─────────────────────────────────────────────────────────────────────┐
│                         ngenAudioRecord                            │
│                    (Haupt-App mit Slint UI)                        │
│                     Linux + Windows                                │
└─────────────────────────────┬───────────────────────────────────────┘
                              │ Steuerbefehle via IPC
                              │ (Unix Socket / Named Pipe)
                              ▼
┌─────────────────────────────────────────────────────────────────────┐
│         ngenAudioCapture* (Eigenständige GUI Apps)                 │
│                                                                     │
│  ┌────────────────┐  ┌────────────────────┐  ┌────────────────────┐  │
│  │ Linux Capture   │  │ Win Standard        │  │ Win ASIO           │  │
│  │ (Slint UI)      │  │ (Slint UI)         │  │ (Slint UI)         │  │
│  │                │  │                   │  │                    │  │
│  │ • cpal/ALSA   │  │ • cpal            │  │ • ASIO SDK         │  │
│  │ • Läuft        │  │ • Läuft            │  │ • Input + Output    │  │
│  │   unabhängig  │  │   unabhängig      │  │ • Läuft unabhängig  │  │
│  └────────────────┘  └────────────────────┘  └────────────────────┘  │
└─────────────────────────────────────────────────────────────────────┘

Wichtige Eigenschaften

Eigenständig:

  • Jede ngenAudioCapture* App hat ihre eigene Slint-GUI
  • Sie läuft vollständig unabhängig von ngenAudioRecord
  • Wenn ngenAudioRecord abstürzt, laufen alle Capture-Apps weiter

Kommunikation:

  • ngenAudioRecord kann Capture-Apps starten
  • Befehle werden via Unix Socket (Linux) oder Named Pipe (Windows) gesendet
  • Typische Befehle: StartCapture, StopCapture, GetStatus, ListDevices

Build:

  • Jede App wird separat gebaut und gestartet
  • Sie haben keine Abhängigkeit zu ngenAudioRecord
  • Sie können parallel zu ngenAudioRecord laufen

Bibliotheken

ngenAudioCoreBase (Alle Plattformen)

  • commands.rs - ControlCommand, StatusMessage
  • config.rs - AudioHubConfig, BufferStatus
  • ring_buffer.rs - RingBuffer Implementierung
  • Keine OS-Abhängigkeiten

ngenAudioCoreLinux (Linux)

  • Unix Domain Socket client/server
  • System V Shared Memory (libc::sysv)
  • Wird von ngenAudioRecord (Linux) und ngenAudioCaptureLinux verwendet

ngenAudioCoreWin (Windows)

  • Named Pipe client/server
  • Windows Shared Memory
  • Wird von ngenAudioRecord (Windows), ngenAudioCaptureWinStandard und ngenAudioCaptureWinAlternative verwendet

Datenfluss

Mikrofon ──► ngenAudioCapture* (GUI App)
                │
                │ Eigenständige Aufnahme
                ▼
           Shared Memory
                │
                │ Optional: Waveform-Daten
                ▼
           ngenAudioRecord (kann verbinden)

Steuerung

Benutzer ──► ngenAudioRecord ──► Unix Socket (Linux) ──► ngenAudioCaptureLinux
               │                   oder
               │              Named Pipe (Windows) ──► ngenAudioCaptureWin*
               │
               ◄────── Status ────────────────────────►

Build

# Alle Windows-Apps bauen
cargo build -p ngenAudioRecord
cargo build -p ngenAudioCaptureWinStandard

# Apps starten
cargo run -p ngenAudioRecord
cargo run -p ngenAudioCaptureWinStandard

# Workspace testen
cargo test --workspace

Lizenz

GNU General Public License v3.0 (GPL-3.0)