wwmm / easyeffects

Limiter, compressor, convolver, equalizer and auto volume and many other plugins for PipeWire applications
GNU General Public License v3.0
6.37k stars 267 forks source link

Clarify enabled effects and presets #3142

Open korpe1 opened 3 months ago

korpe1 commented 3 months ago

Could we make the UI more clear about which effects and presets are enabled? I suggest to use checkbox or slide switch elements to enable things.

image

And same problems in the preset selector where a small text is the only indicator: image

wwmm commented 3 months ago

Could we make the UI more clear about which effects and presets are enabled?

Just to avoid any misunderstanding EasyEffects does not operate around the idea of "enabled presets". Imagine that you've loaded a preset and manually changed a parameter after this. EasyEffects database will remember the current value and use it from this point on. It does not matter that a preset was loaded before. Presets are just a convenient way to load a given set of values. Our database does not work based on the preset file. When I added the preset name in the menu the idea was more along the lines of "last used preset". Nothing more than that.

And same problems in the preset selector where a small text is the only indicator:

I never wanted to highlight the preset row for the same reasons I talked about above. EasyEffects does not keep track of loaded presets because they are just a fast way to load values. Our database does not use them for storage purposes. The preset selected there may not represent the current values depending on what the user is doing.

The arrow icon is always highlighted and its bigger element than the text.

The original intention was having this icon representing the flow of audio buffers in the pipeline. Disabling the plugin through that toggle button puts it in passthrough mode. So audio is still flowing through it. It just does not modify the data. It is not a big deal to me to try to put the icon in passive mode as long as people do not also think that the plugin is totally removed from the pipeline.

Digitalone1 commented 3 months ago

Please, if you can, try out the master branch, the preset menu is changed and now we show the "last loaded preset".

As @wwmm said, effects are not enabled/disabled, but they are dimmed when bypassed.

korpe1 commented 3 months ago

Okay, the reasons for presets make sense.

The original intention was having this icon representing the flow of audio buffers in the pipeline. Disabling the plugin through that toggle button puts it in passthrough mode. So audio is still flowing through it. It just do not modify the data. It is not a big deal to me to try to put the icon in passive mode as long as people do not also think that the plugin is totally removed from the pipeline.

Okay, that is important background, but I think we should allow user keep set of effects on the side panel regardless are them disabled or not. And even without that, the status need to be more clear. I keep EQ always open, but I wan't to know is it on or not. Now the indicator is too unnoticeable. Could we make a dedicated indicator for the statuses of effects?

Digitalone1 commented 3 months ago

Now the indicator is too unnoticeable.

If you look the indicator, you are looking at the wrong thing. You should look at the effect name. I can see in the screenshot that only the first Equalizer is not bypassed. Then, yes, maybe we can make also the arrow with dimmed style in bypass mode, but I don't think it's a good idea.

When we added the player/device rows (they were missing initially) we wanted to give an hint of the "flow", but I made their icon dimmed because those rows are not interactive (if you click them, nothing happens). If you dim also the arrow, it seems not interactive too, which is not the case since it's an effect.

violetmage commented 3 months ago

For displaying the bypass/active state of the effects, I think that instead of dimming bits of the UI, we should simply have a different icon in place of the flow arrow that represents the bypass state.

Perhaps simply an arrow with a dashed tail, instead of solid.

This way the communication of "flow" still happens, but it includes the bypass state as well. To me, this seems much better than relying on the relatively low-contrast dimming of text.

wwmm commented 3 months ago

For displaying the bypass/active state of the effects, I think that instead of dimming bits of the UI, we should simply have a different icon in place of the flow arrow that represents the bypass state.

Perhaps an arrow with a dashed tail, instead of solid.

This way the communication of "flow" still happens, but it includes the bypass state as well. To me, this seems much better than relying on the relatively low-contrast dimming of text.

Assuming we find a good icon it will probably be the most reasonable thing to do. But I would still dim the label contrast.

korpe1 commented 3 months ago

For displaying the bypass/active state of the effects, I think that instead of dimming bits of the UI, we should simply have a different icon in place of the flow arrow that represents the bypass state.

Exactly! I just want a more noticeable indicator; was it contrast, text or an icon doesn't matter.

Perhaps simply an arrow with a dashed tail, instead of solid.

I think that's also a good idea.

Digitalone1 commented 3 months ago

@korpe1 I don't think there's an icon like that. Please suggest one that has the symbolic style (changes the color in light/dark theme).

Digitalone1 commented 3 months ago

Maybe it's just better to change the style. The red error could be too much. Maybe the yellow warning...

Digitalone1 commented 3 months ago

image

What do you think?

I picked these icons:

CC0 license, we can use them.

LebedevRI commented 2 months ago

@wwmm @Digitalone1 have https://www.svgrepo.com/svg/503241/bypass been considered for bypass icon? The "pause" looks a bit out of place IMHO... (since the module order is essentially pipeline order, so it may look as-if that "paused" module stops the pipeline/playback)

Digitalone1 commented 2 months ago

@wwmm @Digitalone1 have https://www.svgrepo.com/svg/503241/bypass been considered for bypass icon?

No, but it could be used.

Digitalone1 commented 2 months ago

I tried to test it. Also made a new version for the plugin bypass, rotating the original one, since the flow in the plugin list is from top to bottom.

This is the result:

image

Which I don't like. The icons overall and their arrows are small and that does not help to express their meaning.

The previous one (which are two parallel lines, not the pause icon) may be out of place, but it's still better than this new one, IMHO.

It should be also noted that the icon does not express the order, otherwise we could use a numbered list. The icon means that the audio stream is flowing through the filter/plugin from top to bottom. I intended the two parallel lines as "the audio is going down on the track without passing into the filter". If you intend it as a pause, it's still pertinent to its meaning since the plugin is in passthrough mode (it's not operating).

wwmm commented 2 months ago

The icons overall and their arrows are small and that does not help to express their meaning.

And for some reason it does not align horizontally to form a straight line with the icons in the other rows. Even if the size issue is somehow solved a vertical variant would probably have to be done through changes to the svg icon. Just rotating is clearly not going to work.

At least for now I think it is better to keep the current icon.

wwmm commented 2 months ago

And at least for me another side effect of the small curved arrow size is that the horizontal icon in the global bypass button makes me think about an eye instead of a bypass :smile: .

korpe1 commented 1 month ago

I will give a more precise feedback later, but now I just say: great ideas! Thank you!