OwlPlug is a desktop application for managing audio plugins (VST2, VST3, AU, LV2) and analyzing DAW projects (Ableton Live, Reaper, Studio One). It provides a complete plugin management workflow: scan directories to discover plugin files, extract metadata via a native JUCE-based scanner, enable/disable plugins, manage symlinks, and export reports. The Explore feature allows browsing and installing plugins from remote registries (OwlPlug Registry, Open Audio Stack). DAW project parsing extracts plugin references to enable lookups and dependency tracking. Architecturally, OwlPlug is a multi-module Maven project. The core client (owlplug-client) is built with JavaFX and Spring Boot, using H2/JPA for persistence and Ehcache for image caching. The native host module (owlplug-host) uses JUCE to scan plugin binaries via JNI or an embedded command-line scanner. Separate modules provide reusable UI controls (owlplug-controls), ANTLR4-based DAW parsers (owlplug-parsers), and an AtlantaFX dark theme (owlplug-theme). The event-driven design with Spring `ApplicationEventPublisher` decouples UI updates from background tasks. Notable features include differential plugin scanning (only process new/changed files), a task framework with progress reporting and telemetry (Mixpanel), and a set of custom JavaFX controls (Dialog, DoughnutChart, MasonryPane, ChipView, etc.). The codebase demonstrates solid engineering practices: clear separation of concerns, concurrency patterns (Async.Sequence for stale result prevention), and a three-tier image cache. While some UI components are deprecated and the native scanner introduces platform-specific fragility, the overall architecture is well-organized and the reusable control module is a highlight.
coreaudio-rs is a Rust library providing safe, zero-cost bindings to Apple's CoreAudio API, with particular focus on Audio Unit functionality. The library wraps the complex C API in Rust abstractions that maintain type safety and memory safety while preserving performance. It enables Rust developers to work with audio input/output, audio processing, and hardware interaction on Apple platforms (macOS, iOS, tvOS, visionOS). The architecture follows a modular library design with core functionality in src/, platform-specific helpers in src/audio_unit/macos_helpers.rs, and comprehensive examples demonstrating usage patterns. The library relies on the objc2 crate family for Objective-C interoperability and bitflags for flag management. Data flows involve audio buffers moving between hardware devices and AudioUnit instances through callback mechanisms, with configuration flowing from Rust definitions to the CoreAudio API. Entry points include the main library interface in src/lib.rs, the AudioUnit constructor and methods in src/audio_unit/mod.rs, and platform-specific initialization helpers. The examples directory provides practical demonstrations of audio playback, input/output streaming, and advanced audio unit configuration.
amsynth is a free and open-source analog modeling software synthesizer. It implements classic subtractive synthesis with dual oscillators, a resonant low-pass filter, ADSR envelopes, LFO, distortion, and reverb. The system is designed for real-time audio and MIDI processing, supporting polyphony, portamento, pitch bend, and microtonal tuning via Scala files. It can run as a standalone application using JACK, ALSA, or OSS audio drivers, or as a plugin in LV2, VST2, DSSI, and AudioUnit formats. The architecture separates the core synthesis engine (Synthesizer, VoiceAllocationUnit, VoiceBoard) from the GUI (JUCE-based with a skinnable control panel) and plugin wrappers, all sharing a common parameter system with observer pattern and value smoothing. The repository includes a large collection of preset banks, a configuration system, and internationalization support. External dependencies include JUCE for the GUI, freeverb for reverb, MTS-ESP for microtonal support, and NSM for session management.