TODO - HoneyHazard/PixelMatchSwitcher GitHub Wiki
0.35
- SceneSwitcher 0.17.5
- StreamFX 0.11.1
- obs-move-transition 2.5.8
- obs-websocket 4.9.1
- Spectralizer 1.3.4
- obs-shadefilter 1.21
0.35 release followup
- test flatpak
- sceneswitcher with opencv? win64 portable move
- background removal -> build instructions
- update wiki
- entries with missing images should show in red
- mingw, libvlc, pkgconfig
- sceneswitcher: opencv stuff
NOW
- RELEASES
- OpenCV sources?
- PROGRESSIONS!
- fix advance
- sequence basic UI
- mention all the bundled plugins and developers in an About box and README
- modify OBS's About?
- new icon
ISSUES
- source activation lag
- OSX does not support GLSL 4.60
PROGRESSIONS AND SPEEDRUNNING
list integration choice
- integrated with the regular match list?
- match config still collapsible when unavailable
- fix stylesheet state
- ensure only available sequences are shown
- solve sort or dont sort, up/down -> swap
- match index relation to time record may be messy when entries are moved
- separate match list?
- more work to load/save, probably more UI structure
- "multi-multi-multi-match config..."
- cleaner time records
- maybe cleaner ui experience
- sequence structs
- maybe sort sequences?
- connect sequence with lss?
- DONE progression flag? requires previous and activates next
- add action: enable next segment; specific id
- sequence done reaction? probably not
- entries UI
- show time :)
- probably add column control
- filter?
- visual indicator of progression and probably smarter style or delegates
- sequences UI and structs
- load/save structs
- pause/resume/reset, register hotkeys
- import split lss
- "filter" regular vs prog vs all or more elaborate filter?
- cleanup display style so progression display does not have to be a mess
- research popular speedrunning games
- imagined demo: live split one
- live split one https://github.com/CryZe/obs-livesplit-one
- what can be fetched from live split one?
- import .lss into live split one and PM
- in PM will set up entries and match->next actions
- try to fetch hotkey from live split one or manual
- live split one https://github.com/CryZe/obs-livesplit-one
- imagined advanced import: hotkey -> live split (platform-dependent)
- cleanup
- !notInSequence
High priority bugs
- mac version broken?
- download/import can result in a crash?
- images may get deleted despite prompt?
Improve reactions
-
verify/debug match/unmatch details
- check transitions logic: default vs customized
- check item visibility transitions
-
update user guide
-
optimize updating target choices
-
UI: match list
- smarter elide
- single click expands respective reaction
- prefix for frontend and hotkeys for consistency
-
UI: reactions
- refactor actions UI
- optimize detecting scene changes
- item delegate for widgets and labels??
- hotkey details display is funky
- menu: make adding easy through submenu?
- menu: make it easy to add match/unmatch pairs
- cleanup time format help?
- action radio button
- consider key info hash table or something in action UI
-
cleanup
- execIndependentActions too monolithic
- class structure for actions?
-
advanced
- script
Rare bugs and concerns
- srgb stuff not fully understood
- change scene collection -> dialog may shut down without save (cannot reproduce)
- tabs are still pain in the butt
- UAV does not work on Intel HD 4400 + Nvidia 720M; should there be a fallback??
- "dragging" entries gets whacky
Extra features
- easy installer mod to select install name?
- delayed action
- advanced matching conditions
- and, or
- if?
- scene import integration??
- toggle scanning for specific types of elements: scenes vs filters vs scene items
- more capture interaction
- external editor button
- interactive match image editor
- eraser tool
- zoom in, out
- debug OSD
- "API" interface
- "setting/property + callback" vs swig vs hotkey
- progression mode on/off
- set progression index
- enable entry on/off
- select active preset
- enable matching and switching on/off
- text source (!research!)
Match anywhere in the frame?
- how?
- systematic/lexicographical searching
- gradient searching
- random searching
- simulated anneling searching
- anchor scene item:
- obs_sceneitem_set_pos
- 9 anchor points
Preset Retriever Optimizations
- relative image filenames
- nested xml downloads?
- how to check if image is used by a preset in different scene collection?
UI vanity tasks:
- indicator in the list when disabled, image missing, target action broken
- rounded frame corners for spoiler widgets
- grey out expand icon in spoiler widget
- dont show image delete dialog when files are absent
- show activated targets in bold?
- make sure cooldown and linger styles dont screw each other over
- save dialog position and size?
- is there an elegant fix for widget focus issues?
- transition choices can be updated without restarting UI
- preset selector
- order alphabetically?
- advanced table view with more details?
Documentation
User manual
- update with all the match and unmatch actions
- update with cooldown
- elaborate use of move value filter
- walkthrough: filter alternative option to concealment scene
- break down into smaller, embeddable documents?
Build instructions
- shared pre-requisite pages
- windows build:
- windows in-tree
- SDK version upped
Developer Documentation
- update atomic effects wiki with conditional shader version switching
- signal/slot diagrams in Pixel Match Switcher
Cleanup
Runtime warnings
- Dialog geometry warning in output
- Cannot use mipmaps with a non-power-of-two texture. Disabling mipmaps for this texture.
Linux issues and cleanup
- 1 memory leak under normal operation
- all kinds of warnings
- debian 10: build with more features
Optimization:
- use strings instead of integers for enums
- use one atomic counter buffer instead of multiple for OpenGL implementation?
- don't reload match images everytime display state changes
- move up/down is slow (related to above)
- possible to optimize filter attachment to be event-driven; without timer scans?
- better mapping of retrieved images
Formatting and boilerplate:
- copyright notices in header and source files of the plugin
- attributions for every icon and every image!
- less locking when in slot handlers of the same class, same thread
- WET code in some buttons init
- better grouping of members in header and source files
- Formatting