I'm using ERCF Filament Changer and configured it to utilize filament change macros instead of tool changing. Most of the stuff is handled by the RRF (I try to give control to the Duet rather than the Slicer)
My problem is that when I manually load another filament using DWC, I have to wait for the unload.g to run first before I can select another filament.
I would like this to be changed, so when I manually change filament the popup window appears first, then I select the filament.
Then it checks if I want to load the same filament. Keep in mind there is a possibility of having the same filament in multiple slots in the ERCF in case of runout, so if it just gives a "Filament already loaded" message runout switching might fail.
Just after selecting filament the unload.g macro would run.
This also might need the previous filament stored somewhere so the correct unload.g is used (not the one the next filament has)
To be honest it would be nice to have a graphical interface for multi-material units, where filaments can be assigned to specific slots and their usage could be monitored and saved in a file.