cpvc 0.6.0

A simple crate + wrapper for controlling system audio cross platform
Documentation
## Cross Platform Volume Control (CPVC)


Basic cross platform crate for interacting with Audio Devices and handling System Audio

## Important User Details


> [!IMPORTANT]  
> `cpvc` requires PulseAudio server to work on Linux. \
> This is due to the crates used to interact with system APIs. \
> For more information scroll below.

> [!IMPORTANT]  
> If you want `cpvc` to print possible non critical errors, 
> enable the debug feature when adding the crate.


## Tested/Worked On

* macOS:
   * Sequoia 15.5

* Windows:
    * Windows 11 24H2
    * Windows 11 LTSC 24H2

* Linux:
   * EndeavourOS Mercury
   * Debian Trixie

## Development Details


`cpvc` uses these crates for each platform.

* macOS:
    * `objc2_core-audio`
    * `objc2-core-audio-types`
    * `core-foundation`
* windows: 
    * `windows`
* Linux: 
    * `libpulse-binding`
    * `libpulse-sys`

# Dependencies 

* Linux:
    * Alsa dev package
        * Debian: `libasound2-dev`
        * Arch: `alsa-lib`


### Why only PulseAudio?

Unfortunately, at the moment, there are not any viable crates that are as comprehensive as `libpulse-binding` that I have found to support all the features `cpvc` requires. 

If you want to contribute code for another audio API, feel free to submit a pull request!