HEnquist / camillagui

GNU General Public License v3.0
9 stars 1 forks source link

A few drawbacks of the GUI program #51

Closed Wang-Yue closed 2 years ago

Wang-Yue commented 2 years ago

The program is very helpful, and greatly simplify the workflow for various tasks. Unfortunately, there're certain drawbacks mainly in the following perspectives:

  1. The GUI program has no way to disable/enable a group of filters/mixers. Some EQ functions, such as room correction or headphone EQ, require a set filters to be enabled or disabled at the same time. Other functions, such as headphone crossfeed, needs a few filters in combination with a few mixers to work together. Neither GUI nor the setting file has the concept of "functional blocks" that allows a group of filters/mixers to work together.

  2. The changes to the parameters are not reflected in the DSP immediately. One has to save and apply the settings so see its effect. This is a cumbersome process.

  3. There's no automatic error handling in the GUI program. For instance, when the sample rate of the input device changes, CamillaDSP will pause and need another control program to correct itself. the GUI program does not provide this feature.

I currently need to use my own script (can be found here https://github.com/Wang-Yue/CamillaDSP-Monitor) to resolve some of the above pain points. Hope the CamillaGUI can be improved that makes the above tasks easier.

HEnquist commented 2 years ago

Thanks for the feedback! I'll answer each point separately: 1) I have not planned to add any grouping features like this. I have however planned to add a "bypassed" setting for all pipeline steps. That way you can disable things by bypassing each unwanted step. 2) An (optional) immediate mode is on the list of planned features. 3) In my opinion this isn't a job for the gui. Samplerate changes are tricky, depending on the system and the user preferences the config will have to be modified in different ways before starting again. Covering all this in the gui would become a mess. I have planned to make a few example monitor scripts to show how to do it, just didn't have time yet.

JWahle commented 2 years ago

Some additions from my side:

  1. Is there any problem with creating different configs for each scenario?
  2. I just implemented the auto-save/apply feature in the develop branches of the gui and backend.