1
Preview Build Discussion / Re: WACUP prevents Windows screen saver from activating
« on: June 27, 2025, 08:42:51 AM »
nice, thanks dro! It's a very useful feature, not annoying at all, it's awesome that we can modify it!
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
It uses a fallback via in_wave as that was needed to allow the x64 build to be able to play MP3 files since it doesn't have a dedicated in_mp3 replacement (lack of tag editing & some steaming features are the obvious things missing in that mode for either build types without an in_mp3).
Thanks for looking into this.
I tested with disabling in_mp3.dll and the problem goes away. Enabling it brings the problem back so seems indeed to be the culprit.
Evidently WACUP could play mp3s without it so I keep it disabled for now.
Let me know if you need help testing this as repro is 100% for me.
[StartMenu]
Name=WACUP (32-bit)
[sections]
decoderMp3=1
decoderMp4=1
decoderFlac=1
decoderOpus=1
decoderCdda=1
decoderCapture=1
decoderAPE=1
decoderMPC=1
decoderOgg=1
decoderTTA=1
decoderWav=1
decoderWMA=1
decoderWV=1
decoderDSD=1
decoderZIP=1
decoderADLIB=1
decoderASAP=1
decoderQsf=1
decoderSid=1
decoderNCSF=1
decoder2SF=1
decoderGSF=1
decoderHively=1
decoderMidi=1
decoderMod=1
decoderMSX=1
decoderNSF=1
decoderORG=1
decoderPsf=1
decoderPxTone=1
decoderSC68=1
decoderSNSF=1
decoderSPC=1
decoderVGM=1
decoderVGMStream=1
ReplayGain=1
decoderURL=1
decoderAudio=1
centercut=1
enhancer=1
decoderM4v=0
decoderDirectShow=0
decoderNsv=0
winampMp3Encoder=1
encoderAac=1
encoderFlac=1
encoderOgg=1
encoderOpus=1
encoderTTA=1
winampWavEncoder=1
outputNotSoDirect=1
outputWavey=1
outputASIO=1
outputWASAPI=1
outputDisk=1
outputNeo=1
mediaLibraryLocalLibrary=1
mediaLibraryPlaylists=1
mediaLibraryHistory=1
mediaLibraryBookmarks=1
mediaLibraryPodcast=1
mediaLibraryRadio=1
mediaLibraryPortable=1
portableDeviceP4S=1
portableDeviceUsb=1
portableDeviceCreative=1
portableDeviceIPod=1
mediaLibraryExporter=1
FreeformSkins=1
Crystal=1
JTFE=1
Undo=1
PLFR=1
PlaylistExclude=1
Repeater=1
TipTop=1
Yar=1
ClassicArt=1
Lyrics=1
BigClock=1
WaveSeek=1
Thinger=1
GlobalHotkeys=1
Taskbar=1
Windows=1
TRAP=1
YuleLog=1
secGenWC=1
secDspWC=1
secMilk2=0
secMilk2Presets=0
secCSA=0
secGeiss=0
visAVS=0
The CreateFile log entry you shared reveals:
WACUP opens the folder with Execute/Traverse (not aggressive, but it keeps the handle).
ShareMode allows deletion (Read, Write), but the folder still locks → Likely a handle leak in WACUP’s directory monitoring.
No CloseFile event → Confirms WACUP isn’t releasing the handle properly.
Steps to reproduce:
Play FileA from FolderA.
Play FileB from FolderB.
Try deleting FolderA → Fails until WACUP is closed.
Your theory:
"WACUP holds a folder handle (for scanning/monitoring) but doesn’t close it, blocking deletion until the app exits."
What the Developer Should Fix
Ensure CloseHandle() is called after folder scans.
Add a timeout to release idle directory handles.
Make folder monitoring optional in settings.
AI results in more detail:
Breaking Down Your CreateFile Log Entry
Here’s what each field tells us:
Field / Your Value / What It Means
Desired Access / Execute/Traverse, Synchronize / WACUP is only browsing the folder (not reading/writing files).
ShareMode / Read, Write / Other apps can delete/modify files in this folder (so WACUP isn’t locking it).
Options / Directory, Synchronous IO Non-Alert / WACUP opened the folder as a directory (not a file) and waits for responses.
Why the Folder is Locked (Despite These Permissions)
Synchronize Flag
This allows WACUP to hold the folder handle open while it checks for changes (e.g., new files).
Even though ShareMode allows deletion, Windows may still block it if the handle isn’t closed properly.
WACUP’s Behavior
The player likely scans the folder periodically (e.g., for playlist updates) but fails to release the handle afterward.
If you're doing it whilst the file info dialog is still open then that is usually going to have the file in an open state because it might be trying to make edits. Tbqh I've still to actually look into this myself so I don't know why it'd be keeping a handle on the file vs how I've tried to code things.