Pipewire Device Config Selection Screen ---------------------- | Select Config | | ______________ | | | search | | | ¯¯¯¯¯¯¯¯¯¯¯¯¯¯ | | Device Config 1 | | Device Config 2 | | Device Config 3 | | ... | | | | Select | | Duplicate | | Create New | | Cancel | | | ---------------------- Duplicate Device Config Screen ------------------------- | Duplicate Config Name | | _________________ | | | name | | | ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ | | | | Create | | Cancel | | | ------------------------- New Device Config Selection Screen ----------------------------------- | New Config | | | | Use Pipewire Device as Template | | Create From Scratch | | Cancel | | | ----------------------------------- New Device Config fom Template Selection __________________________ | Select Pipewire Device | | __________________ | | | search | | | ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ | | Pipewire Device 1 | | Pipewire Device 2 | | Pipewire Device 3 | | ... | | | | Select | | Cancel | | | ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Device Configuration Page _______________________________________________________ | Devices | < Device Connfiguration 1 |Edit Symbol| | | | __________________________ | | Device1 | Profile | Profile 1 ⌄ | | | | ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ | | | | | | Properties | | | Which properties should be used to | | | identify the pipewire device | | | | | | Name Value + | | | _______________________________________ | | | | property.name1 Property Value | | | | | property.name2 Property Value | | | | | ... ... ... | | | | ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ | | | | ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Device Property Chooser __________________________ | Select Device Property | | __________________ | | | search | | | ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ | | property.name1 | | property.name1 | | ... | | | | Select | | Create Custom | | Cancel | | | ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Device Page _______________________________________________________ | Devices | Device1 | | | | | Device1 | Pipewire Device Configuration | | | Select audio profiles for specific | | | pipewire devices + | | | _______________________________________ | | | | Device Config 1 | | | | | Device Config 2 | | | | | ... | | | | ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ | | | | | | Inputs | | | Selectable inputs that are mapped | | | to a device + | | | _______________________________________ | | | | Input 1 | | | | | Input 2 | | | | | ... | | | | ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ | | | | | | Outputs | | | Selectable outputs that are mapped | | | to a device + | | | _______________________________________ | | | | Output 1 | | | | | Output 2 | | | | | ... | | | | ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ | | | | ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Inputs General or Device Bound? Device Bound: - It's the input of the device, unlike the device config which is something hardware bound - easier workflow - Could use Simple names instead of sifting through a bunch of inputs from other devices - Since each device might have multiple inputs, the selection screen would get confusing quickly Input Page Loopback reference: https://docs.pipewire.org/page_module_loopback.html maybe use commandline tool for config: https://docs.pipewire.org/page_man_pw-loopback_1.html possible profiles: - Mono [ MONO ] - Stereo [ FL FR ] - Downmix [ FL FR ] - etc.? - Custom? Example (design changes based on selected profile): Stereo, mapped from pro audio _______________________________________________________ | Devices | < Input 1 |Edit Symbol| | | | __________________________ | | Device1 | Profile | Stereo ⌄ | | | | ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ | | | | | | Input Map | | | Map inputs from a device config | | | to inputs in this profile | | | ________________________ | | | Front Left | DeviceConfig1-Aux0 ⌄ | | | | ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ | | | ________________________ | | | Front Right | DeviceConfig1-Aux1 ⌄ | | | | ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ | | | | ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Output Page possible profiles: - Mono [ - Stereo - Upmix (with param configuration) - etc.? - Custom?