Add support for new plugins: DesktopMultiWindow, ScreenRetrieverWindows, and WindowManager

- Registered DesktopMultiWindowPlugin, ScreenRetrieverWindowsPluginCApi, and WindowManagerPlugin in generated_plugin_registrant.cc.
- Updated generated_plugins.cmake to include new plugins in the build configuration.

Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
This commit is contained in:
2026-08-09 20:46:55 +02:00
parent a121d65cf3
commit 4f4f7bffdf
82 changed files with 6380 additions and 16 deletions
+12
View File
@@ -0,0 +1,12 @@
TODO
====
- [ ] The EQ and playlist windows should be "dockable" to each other. Dragging, for example, the playlist window to the bottom of the main window would "dock" the playlist window to the bottom window, at which point moving the main window would also move the playlist window. This should allow you to dock all the main windows (main, playlist, equalizer) atop each other, or any two of the windows should be dockable to each other. If, for example, the playlist window is docked between the main and equalizer windows, then the playlist window is closed, the "docking" should be severed for the windows that are no longer touching. The current window-snapping feature should be retained, as it helps you align the windows with each other. Moving docked windows is accomplished by moving the window on the "top" of the stack. So, if the playlist is docked below the main window, moving the playlist window will undock it from the main window, but moving the main window will move both windows together. Toggling window-shade mode on a docked window will reposition windows below it to keep them pinned to the bottom. Verify all of this behavior against the original source.
- [ ] There should be a preferences window that matches the original application's look/feel/layout. The options can be no-op stubs, except for the skins.
- [ ] Skins should be importable from .wsz files. Imported skins should no longer rely on the original file and should be available in the skins list.
- [ ] Cursors should be supported. If a skin includes a custom cursor, we should change the cursor to the custom version from the skin. This includes the original cursors from the default skin.
- [ ] The "classic" winamp skin code should be a project-level package. This will allow us to, later, add a "modern" winamp skin codepath. The app itself should handle logic, but skin-related items should be abstracted into its own package (including any tooling that was developed to assist in debugging the skin loading/functionality).
- [ ] The playlist window should be resizable if you drag from the bottom right corner.
- [ ] The presets button on the equalizer doesn't open the presets window as it should.
- [ ] The playlist window has 5 action buttons along the bottom that are currently implemented incorrectly. Right now, the sprites are drawn full-size, but they should be clipped. However, when you tap and hold on the button, it should open the full sprite sheet as a pop-up. Releasing the cursor on any of the items should trigger the action. Verify this against the original source.
- [ ] Right-clicking the dock icon should give us the same window menu options for the main window, equalizer, and playlist window visibility. The window menu currently lacks an option for the main window, so it should be added. Closing all windows shouldn't exit the program.