2 releases
new 0.1.1 | Feb 10, 2025 |
---|---|
0.1.0 | Feb 10, 2025 |
#74 in Audio
94 downloads per month
310KB
590 lines
PipeWire SoundPad
This is a simple soundpad application written in Rust using egui for the GUI, pipewire for audio input/output, and rodio for audio decoding. It allows you to play various audio files (mp3, wav, ogg, flac, mp4, aac) through your microphone.
Features
- Audio File Playback: Supports a wide range of audio formats including mp3, wav, ogg, flac, mp4, and aac.
- Microphone Output: Plays selected audio files through the chosen microphone.
- PipeWire Integration: Leverages PipeWire for efficient audio routing and device management.
- egui GUI: Provides a user-friendly interface for file selection, playback control, and microphone selection.
- Directory Management: Allows adding and removing directories for organizing audio files.
- Search Functionality: Enables searching for specific audio files within loaded directories.
- Playback Control: Offers play/pause functionality, volume control, and a playback position slider.
- Persistent Configuration: Saves the list of added directories and the selected microphone for future use.
Installation
- Rust and Cargo: Ensure you have Rust and Cargo installed. You can install them from https://www.rust-lang.org/tools/install.
- Dependencies: This project requires PipeWire to be installed on your system. The specific installation steps will depend on your distribution.
- Run
cargo install pwsp
. Now you have PWSP installed on your system (which pwsp
).
Building without installing
- Clone the Repository: Clone this repository to your local machine with
git clone https://github.com/arabianq/pipewire-soundpad
- Build: Navigate to the project directory in your terminal and run
cargo build --release
. - Now the binary is available in the target directory.
Usage
- Run: After building, run the application using
cargo run --release
. - Add Directories: Click the "+" button to add directories containing your audio files.
- Select Directory: Click on a directory in the list to view its contents.
- Select Audio File: Click on an audio file in the list to select it.
- Choose Microphone: Select your desired microphone from the dropdown menu.
- Play/Pause: Use the play/pause button to control playback.
- Volume: Adjust the volume using the volume slider.
- Seek: Use the playback position slider to navigate through the audio file.
- Search: Use the search bar to filter audio files by name.
Configuration
The application saves the list of added directories and the selected microphone in the application's configuration directory. This directory is typically located at ~/.config/pwsp
.
Contributing
Contributions are welcome! Please open an issue or submit a pull request.
License
Dependencies
~17–58MB
~1M SLoC