Skip to content

Group cues - #47

Open
space928 wants to merge 7 commits into
mainfrom
groups
Open

Group cues#47
space928 wants to merge 7 commits into
mainfrom
groups

Conversation

@space928

Copy link
Copy Markdown
Owner
  • Showfile converter now uses the CueFactory to create cues
  • Added group cue model
  • Added group cue expander icon
  • Improved FastReverseIterator
  • TemporaryList can now be constructed from a source enumerable with a specific capacity
  • Implemented CueList type which handles a lot of the logic for a hierarchical cue list with groups that can be expanded and collapsed
  • CueViewModel mainViewModel is now readonly & added logic for parent cues
  • Started work implementing logic for group cues
  • Started work on implementing methods to group and ungroup cues
  • Updated existing main view model code to support hierarchical CueLists
  • Added expander knob control

 - Showfile converter now uses the CueFactory to create cues
 - Added group cue model
 - Added group cue expander icon
 - Improved FastReverseIterator
 - TemporaryList can now be constructed from a source enumerable with a specific capacity
 - Implemented CueList type which handles a lot of the logic for a hierarchical cue list with groups that can be expanded and collapsed
 - CueViewModel mainViewModel is now readonly & added logic for parent cues
 - Started work implementing logic for group cues
 - Started work on implementing methods to group and ungroup cues
 - Updated existing main view model code to support hierarchical CueLists
 - Added expander knob control
@amathieson

Copy link
Copy Markdown

needs to be broken into more files for easier review

@Caitlin-Sykes

Copy link
Copy Markdown

lgtm!

space928 added 6 commits June 20, 2026 11:18
 - Fixed recent items menu styling
 - Implemented FastReverseIterator CopyTo method
 - Multidict now checks that multiple of the same value aren't inserted at the same key (for our use case they should never be)
 - Added OneEnumerable class
 - TemporaryList now implements more list interfaces + bugfixes
 - Major changes to CueList class, it's much more functional than it used to be
 - CueViewModel now uses Dispatcher instead of syncContext
 - Refactored and added a bunch of supporting methods for groups
 - Added IMedia cue for all media cues to implement in the future
 - Fixed shift+sel+up/down, it now grows and shrinks the selection
 - Fixed bugs in the cue list handling code
 - Implemented UI for groups
 - Log window now virtualises log list much better thanks to a new VirtualStackPanel implementation
 - Log windows now displays log items in colour
 - Fixed event handler leak in MagicQCTRL plugin
 - Added some tests for the CueList
 - Fixed audio device re-opening race condition
 - Plugins can now define custom menu items
 - Updated show file to support hierarchical QIDs
 - Improved FastReverse and related methods/classes
 - Fixed bug in multidict which allowed multiple copies of a value to be inserted at a given key
 - Fixed bug when removing items from an ObservableSelectionSet
 - Added new Throttle class which allows property change handlers to be throttled
 - Fixed some bugs in the cue factory
 - Many bugs fixed in the CueList
 - Updated CueViewModel to support hierarchical QIDs & some other small changes
 - Fixed some bugs related to playback and progress display of groups & added fallback name to groups with no name
 - Added select all command
 - Many cue stack relalted bug fixes
 - Fixed unsaved changes check to now use the undo list
 - Fixed some save/load bugs related to groups
 - When a showfile fails to load, the state is now correctly reset
 - Persistant data manager now lists autoback files
 - Changed a few other things to use FullQIDs
 - Fixed a bunch of drag drop bugs
 - Improved UI for the cue list, better user feedback, controls are now properly disabled in show mode
 - Added recovered files list to the main menu
 - Bug fixes for playback progress bars
 - Added new tests
 - Many more bugfixes
 -
 - Implemented some extra optimised linq methods
 - Improved error reporting for the cue factory
 - Reimplemented much of the CueList to have a more sensible and reliable architecture
 - CuePosition is now in it's own file and has some improvements
 - IsCollapsed no longer spouts undo actions
 - Added SelectedCuePos property
 - Many more methods use CuePositions instead of visual indices
 - Reimplemented much of the MainViewModel.CueStack to use tthe new CueList api
 - Fixed some bugs with the persistant data manager to do with autosaving
 - Added some more NamePreview implementations for different cue types
 - Updated dependencies
 - Added AI policy to readme
 - Changed many static resources into dynamic ones such that plugins can use them
 - Fixed some styling bugs which were preventing plugins from loading them
 - Implemented FastZipList which can be faster to iterate in some cases (ie: FastReverse)
 - OneEnumerable debugger display
 - Added obsolete to non-typed IList members of TemporaryList to prevent accidental use
 - Fixed bugs in the UndoableObservableCollection & added a variant to support collections of bindable view models. The collection itself is now also bindable to a model
 - Added MultiplyByFConverter
 - BindableViewModel now implements IBindableViewModel for consumers which can't use the generic class
 - Fixed CueList CuePosition sorter
 - Fixed a few visual cue list related internal methods
 - Fixed group cue unpause
 - Added move up/down into commands to nudge a cue into a group
 - Title bar now displays if the project has unsaved changes
 - Fixed MoveCue for individual cues
 - Fixed UngroupCues
 - Fixed RenumberCues not registering an undo item correctly
 - Fixed autoback list bug
 - UndoManager now keeps track of an action number which allows it to determine if there are unsaved changes
 - Fixed bug where group undo actions weren't being redone in the right order
 - Fixed visual glitch when collapsing/expanding groups using the keyboard
 - Drag&Drop can no longer be used in show mode
 - Added file thumbnail control
 - Fixed bug in the knob control which now allows the label to be wider than the knob
 - Fixed datatemplate loading for plugin cues
 - Prevented more commands from being invoked in show mode
 - Added drop handling for image/video files if an appropriate plugin is loaded
 - Fixed mouse capture bugs in textfields
 - Added Vector2 textfield control
 - Merged resource dictionaries are now in SharedResources.xaml
 - Fixed some model binding generation bugs
 - Fixed some view generator bugs
 - Updated readme
 - Other minor changes
 - Implemented a new plugin to support video/shader cues used by PyPlay
https://github.com/dmathies/pyPlay
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants