wwmm / easyeffects

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

Unable to reorder effects #2889

Open bugQ opened 6 months ago

bugQ commented 6 months ago

EasyEffects Version

7.1.3

What package are you using?

NixOS

Distribution

nixpkgs unstable (24.05)

Describe the bug

EasyEffects 7.1.3 on KDE Plasma 5.27.10 (Wayland) does not seem to allow me to drag and drop effects, nor does it provide any alternative method for reordering. The only workaround is to delete effects and recreate them in the desired order, inputting all the previous settings manually.

Expected Behavior

When I click, hold, and drag an effect in the chain by its "handle" on the right side, I expect it to change its position in the chain to the closest position to the cursor when the mouse is released. Instead, nothing happens.

Alternatively (or additionally), I expect to be able to use a different navigation method such as keyboard shortcuts to achieve the same result in situations where mouse input is untenable for whatever reason, including disability.

Debug Log

N/A

Additional Information

It would of course be nice to troubleshoot the issue and get drag-and-drop to work, but it would actually be even nicer for the UI to provide at least one alternative method.

I know that the previous method of clicking up and down buttons is outdated, but one advantage was that the buttons were able to be selected and activated via keyboard, which is a key accessibility feature. Effects can still be navigated and selected by keyboard (Ctrl [+ Shift] + (Up/Down)), so simply adding two keyboard shortcuts for "Move selected effect upstream" and "Move selected effect downstream" would be enough.

Feel free to let me know whether this warrants submitting a separate issue, it just seemed very relevant and worth mentioning here. Thanks for your time and attention!

wwmm commented 6 months ago

Kill EasyEffects and restart it in debug mode as explained in this link https://github.com/wwmm/easyeffects/wiki/Reporting-Bugs#basic-logs. Something is probably broken in your installation if the drag and drop is not working.

wwmm commented 6 months ago

I know that the previous method of clicking up and down buttons is outdated, but one advantage was that the buttons were able to be selected and activated via keyboard, which is a key accessibility feature. Effects can still be navigated and selected by keyboard (Ctrl [+ Shift] + (Up/Down)), so simply adding two keyboard shortcuts for "Move selected effect upstream" and "Move selected effect downstream" would be enough.

Depending on what is broken on your system this would be pointless. For example if something is broken in your dconf installation the up/down button would be broken just like the drag and drop.

violetmage commented 5 months ago

Also, when it comes to funny GUI stuff, it really helps to know if you're running wayland or X11.

20manas commented 2 months ago

I have the same problem. I'm using Easy Effects 7.1.6 in KDE Plasma 5.27.10 with Wayland. Installed via Flatpak

wwmm commented 2 months ago

I have the same problem. I'm using Easy Effects 7.1.6 in KDE Plasma 5.27.10 with Wayland

Try to get logs as I explained https://github.com/wwmm/easyeffects/issues/2889#issuecomment-1919458836. Try also to see if your system's logs have some kind of error related to gtk or gsettings. Not being to reorder effects is a sign something is wrong in the interaction with dconf-service.

20manas commented 2 months ago

Actually, it is working for me sometimes. When it is not working, I'm not getting any additional logs, but it is working, I'm getting these additional logs:

(easyeffects:2): Gtk-WARNING **: 20:14:59.607: (../gtk/gtkdroptargetasync.c:272):gtk_drop_target_async_handle_crossing: runtime check failed: (self->drop == NULL || self->drop == crossing->drop)

(easyeffects:2): Gtk-WARNING **: 20:14:59.607: (../gtk/gtkdroptargetasync.c:272):gtk_drop_target_async_handle_crossing: runtime check failed: (self->drop == NULL || self->drop == crossing->drop)

(easyeffects:2): Gtk-CRITICAL **: 20:14:59.607: gtk_drop_target_async_handle_event: assertion 'self->drop == drop' failed

(easyeffects:2): Gtk-CRITICAL **: 20:14:59.608: gtk_drop_target_async_handle_event: assertion 'self->drop == drop' failed

(easyeffects:2): Gtk-CRITICAL **: 20:14:59.608: gtk_drop_target_async_handle_event: assertion 'self->drop == drop' failed

The problem for me seems to be that you cannot drag via the left side of the drag and drop icon, but you can via the right side of the icon. I have attached a video demonstrating the same.

https://github.com/wwmm/easyeffects/assets/14952218/d0e5dd2c-25c3-444d-b90e-3f36fa799844

Let me know if you need more logs

wwmm commented 2 months ago

Not so long ago someone else also reported problems with the drag and drop operation. I am not sure if we found out a solution at the time but it is clearly an issue somewhere in gtk4. It would be good to know if other gtk4 apps are also affected. The question is which app also has drag and drop on lists...

Digitalone1 commented 2 months ago

The problem for me seems to be that you cannot drag via the left side of the drag and drop icon, but you can via the right side of the icon. I have attached a video demonstrating the same.

Another weird thing is that your pointer does not change. You should see the pointer cursor on the entire row: https://github.com/wwmm/easyeffects/blob/master/data/ui/plugin_row.ui#L7-L11

And the drag cursor on the "drag and drop" icon: https://github.com/wwmm/easyeffects/blob/master/data/ui/plugin_row.ui#L68-L72