Dean Herbert
3909eda095
Avoid using a StringBuilder
2021-03-29 18:51:28 +09:00
Dean Herbert
90ab765cf5
Reorder methods and surround with region
2021-03-29 18:46:32 +09:00
Nathan Alo
cdb779f764
move copy logic inside ComposeScreen
2021-03-29 17:30:23 +08:00
Nathan Alo
21398e25b5
null check composer and ensure the correct start time from selected hit objects
2021-03-27 10:02:21 +08:00
Nathan Alo
c96321206a
fix appveyor complaints
2021-03-26 16:17:24 +08:00
Nathan Alo
71a0616861
remove extra semi colons
2021-03-26 15:34:45 +08:00
Nathan Alo
374f8c5e22
move to compose namespace and add license header
2021-03-26 15:33:28 +08:00
Dean Herbert
cb48e5f158
Fix timeline not visually ordering hitobjects in a stable way
2021-03-26 16:33:18 +09:00
Nathan Alo
b8b7eb4c4b
refactor logic to its own component and handle hit object to string conversion to its ruleset-specific composers
2021-03-26 15:25:20 +08:00
Dean Herbert
77969bb223
Merge branch 'master' into add-timeline-stacking-support
2021-03-26 16:17:10 +09:00
Dean Herbert
f6647de769
Add support for nudging objects in the editor using ctrl+arrow keys
...
Closes #12042 .
2021-03-25 19:56:28 +09:00
Dean Herbert
8d4ff867bf
Fix barlines showing up in the osu!mania editor's timeline
2021-03-25 16:30:31 +09:00
Dean Herbert
9fdd23b134
Fix various issues with stacking
2021-03-25 16:28:30 +09:00
Dean Herbert
bdc783b55f
Merge branch 'master' into add-timeline-stacking-support
2021-03-25 15:28:30 +09:00
Dean Herbert
7b3336783f
Stabilise ordering instead of simple reversing
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-03-25 15:24:59 +09:00
Bartłomiej Dach
dd48b68f8a
Ensure selected blueprints are given selection priority
2021-03-19 22:44:33 +01:00
Dean Herbert
71a361337d
Add comment regarding usage of Reverse()
...
Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
2021-03-19 21:57:48 +09:00
Dean Herbert
9be7981e0d
Adjust timeline ticks to be more visible
2021-03-19 19:45:00 +09:00
Dean Herbert
563a0584d5
Implement editor timeline stacking support
2021-03-19 18:48:51 +09:00
Dean Herbert
711d895a04
Merge pull request #8238 from voidedWarranties/editor-song-end
2021-03-19 16:32:23 +09:00
Bartłomiej Dach
2e63c2ce20
Fix selection box operation hotkeys not registering in change handler
...
Could lead to crashes after reversing a note cluster and playing it
back.
The root cause of the crash was that the hotkey operations were not ran
inside of an editor change handler operation. This, in turn, caused the
autoplay replay to not be regenerated after flipping an object cluster,
therefore finally manifesting as a hard crash due to negative time
offsets appearing in judgement results, which interfered with the
default implementation of note lock.
Note that this incidentally also fixes the fact that selection box
hotkey operations (reverse and flip) did not handle undo/redo.
2021-03-17 22:17:42 +01:00
Bartłomiej Dach
a691291ae8
Merge branch 'master' into editor-song-end
2021-03-17 18:18:19 +01:00
Dean Herbert
cd1c1bf534
Centralise cases of performing actions on the current selection
...
By moving this to a central location, we can avoid invoking the
EditorChangeHandler when there is no selection made. This helps
alleviate the issue pointed out in
https://github.com/ppy/osu/issues/11901 , but not fix it completely.
2021-02-26 14:15:13 +09:00
Dean Herbert
e9730d4782
Move default sample addition to inside PlacementBlueprint
...
This isn't actually required to fix the behaviour but it does feel like
a better place to put this logic.
2021-02-11 17:16:18 +09:00
Vincent Maggioli
96652e07cd
Merge branch 'master' into zero-spinner-slider
2021-02-05 09:40:55 -05:00
vmaggioli
5061231e59
Switch to beat length
2021-02-05 09:39:14 -05:00
Dean Herbert
b489e92c9e
Fix TimelineParts not using correct beatmap
2021-01-25 18:44:36 +09:00
Dan Balasescu
04095cd5b9
Merge branch 'master' into fix-editor-scroll-interruption
2021-01-21 17:46:18 +09:00
Dan Balasescu
9eb74e86ed
Apply comment suggestion
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-01-21 17:40:15 +09:00
vmaggioli
5ee3a5f230
Use AlmostEquals
2021-01-20 13:00:25 -05:00
vmaggioli
ce3c2f07dc
Fix zero length spinners and sliders
2021-01-20 12:19:52 -05:00
Dean Herbert
831c06a3c7
Expose and consume boolean covering whether an ongoing smooth seek is running
2021-01-15 16:14:38 +09:00
Dean Herbert
04fa32bc34
Rename and add xmldoc for smooth seeking method
2021-01-15 16:14:21 +09:00
Dean Herbert
ed78be825f
Fix editor timeline not snapping on non-precise wheel scroll
...
For wheel input with precision, we still prefer exact tracking for now.
May change this in the future based on feedback from mappers, but it
makes little sense to do non-snapped scrolling when input is coming from
a non-precise source.
2021-01-15 15:47:42 +09:00
Dean Herbert
b7dd54847f
Move resolved usage of WorkingBeatmap in editor components as local as possible to avoid misuse
2021-01-04 16:56:37 +09:00
Dean Herbert
423c6158e1
Highlight timeline drag area when hovered for better visibility
2020-12-21 18:10:11 +09:00
Dean Herbert
d1be7c23d9
Increase height of timeline drag area
2020-12-21 18:09:56 +09:00
Dean Herbert
d11d754715
Increase size of circle display on timeline
2020-12-21 18:09:37 +09:00
Bartłomiej Dach
f1878eff63
Use yet another solution leveraging padding
2020-12-18 23:45:42 +01:00
Graham Johnson
122250f454
replace drag cirle function with dictionary
2020-12-18 10:45:23 -05:00
Dean Herbert
9079d33412
X before Y for sanity
2020-12-18 11:20:21 +09:00
Dean Herbert
44f4ed4fd3
Fix spacing
2020-12-18 11:19:40 +09:00
Graham Johnson
a0235a06e6
update comment
2020-12-17 19:40:21 -05:00
Graham Johnson
a01ed1827a
Align the drag circles on the selction box in the editor to be on the center of the border
2020-12-17 19:34:16 -05:00
Graham Johnson
7d2b77cdbd
improve selection box rotation UX
2020-12-13 07:58:58 -05:00
Dean Herbert
71a121389b
Merge pull request #11033 from smoogipoo/immutable-hit-samples
...
Make HitSampleInfo immutable
2020-12-02 14:44:26 +09:00
Bartłomiej Dach
94a8784e04
Allow editor change handler to be null
2020-12-01 20:08:31 +01:00
Dean Herbert
190c6ef45e
Fix timeline not updating ticks correctly after arbitrary timing control point changes
2020-12-01 16:44:08 +09:00
smoogipoo
5760e1c1fc
Make HitSampleInfo immutable
2020-12-01 15:37:51 +09:00
Dean Herbert
c17d67bc7d
Merge branch 'master' into editor-beat-snap-always
2020-11-30 18:34:38 +09:00
Dean Herbert
7edbba58f7
Avoid updating hitobjects unnecessarily for start time changes
...
This was firing regardless of whether the start time was changed, such
as where beat snap provided the same time the object already has.
The case where a change actually occurs is already handled by
EditorBeatmap (see `startTimeBindables`), so it turns out this local
handling is not required at all.
2020-11-27 16:31:06 +09:00
Dean Herbert
741902f1b3
Merge pull request #10971 from smoogipoo/fix-timeline-combo-colour
...
Fix timeline blueprints sometimes not receiving combo colours
2020-11-26 19:47:21 +09:00
Dean Herbert
da6bccc812
Apply beat snap if positional snap doesn't give a time result
2020-11-26 19:20:51 +09:00
Dean Herbert
91592cf32d
Expose EditorClock for consumption
2020-11-26 19:20:39 +09:00
Dean Herbert
9811c46e35
Rename application method to better describe what it actually does
2020-11-26 19:16:18 +09:00
smoogipoo
e53f849aa0
Completely separate combo colours from DHOs
2020-11-26 18:14:25 +09:00
smoogipoo
f562854feb
Fix timeline objects sometimes not receiving combo colours
2020-11-26 17:22:22 +09:00
Dean Herbert
0ddeff648d
Fix incorrect index lookup on non-ordered selections
2020-11-25 17:25:54 +09:00
Dean Herbert
c9a41f9dae
Make all objects in selection candidates for spatial snapping
...
Closes #10898 .
2020-11-24 17:35:54 +09:00
Bartłomiej Dach
6356b2dde9
Prevent editor from crashing for rulesets with no compose screen implementation
2020-11-19 22:11:52 +01:00
smoogipoo
f00c23b4a0
Add comment + xmldoc
2020-11-18 13:37:15 +09:00
smoogipoo
783c172b5d
Make sealed and cleanup comparator
2020-11-18 13:33:22 +09:00
smoogipoo
58c8184ad7
Define blueprint order similarly to hitobjects
2020-11-17 22:56:31 +09:00
Dean Herbert
7b79b9b9c1
Merge branch 'master' into fix-quick-delete-crash
2020-11-16 13:54:54 +09:00
Bartłomiej Dach
399a1a16a0
Refactor beginClickSelection in a slightly different way
2020-11-15 21:06:47 +01:00
kamp
1db303b159
Revert beginClickSelection logic
2020-11-15 16:54:48 +01:00
Bartłomiej Dach
8a78d408db
Add more missed null checks
2020-11-14 15:52:12 +01:00
Bartłomiej Dach
610ed99ae3
Add null checks to unguarded resolved-as-null fields
2020-11-14 14:52:58 +01:00
kamp
4d2bc790fd
Fix crash on shift+right-click deleting objects
2020-11-14 13:20:16 +01:00
smoogipoo
0219aff7bc
Add timeline visible range adjustment
2020-11-13 17:10:29 +09:00
smoogipoo
3957697c48
Add pooling support to the editor
2020-11-13 17:08:20 +09:00
smoogipoo
4ef2e9548c
Pass HitObjectComposer to BlueprintContainer via ctor
2020-11-13 16:59:37 +09:00
Dean Herbert
de6fcd1792
Fix BlueprintContainer triggering assert when left and right mouse button are pressed together
2020-11-10 17:16:28 +09:00
Dean Herbert
a012105dac
Fix editor quick delete being triggerable from left mouse button
...
Closes https://github.com/ppy/osu/issues/10629 .
2020-11-10 16:54:37 +09:00
Bartłomiej Dach
ddbd6df24d
Unbind bindable lists for general safety
2020-11-07 20:59:57 +01:00
Dan Balasescu
ea2fd831ab
Merge branch 'master' into editor-slider-control-point-quick-delete
2020-11-05 00:38:42 +09:00
Dean Herbert
d19b799f44
Invert boolean logic
2020-11-04 17:53:03 +09:00
Dan Balasescu
3322c2bbc5
Merge branch 'master' into ios-editor-crash-fix
2020-11-04 15:56:40 +09:00
Dean Herbert
487a5ecdba
Replace all usage of IBindableList.GetBoundCopy
2020-11-04 15:29:14 +09:00
Dan Balasescu
42c543f5b9
Merge branch 'master' into fix-editor-play-after-drag
2020-11-04 14:45:20 +09:00
Bartłomiej Dach
3bb86ce127
Merge branch 'master' into editor-waveform-opacity
2020-11-03 23:04:19 +01:00
Bartłomiej Dach
13f729916a
Merge branch 'master' into editor-timeline-scroll-mousewheel
2020-11-03 22:27:35 +01:00
Bartłomiej Dach
ddf0d75c38
Don't fall through to seek if handling zoom
2020-11-03 21:49:21 +01:00
Bartłomiej Dach
4b528e80d0
Use AltPressed shorthand
2020-11-03 21:49:04 +01:00
Bartłomiej Dach
18428dff8e
Ensure hotkey actions are executable in handler
2020-11-03 18:01:12 +01:00
Dean Herbert
83c004bbde
Add key bindings for flip and reverse patterns
2020-11-03 21:10:31 +09:00
Dean Herbert
9f333ac58a
Add the ability to delete slider control points using shift+right click
...
Closes https://github.com/ppy/osu/issues/10672 .
In two minds about how this should be implemented but went in this
direction initially. The other way would be to add local handling of
Shift-Right Click inside PathControlPointPiece (which is already doing
mouse handling itself).
2020-11-03 20:46:33 +09:00
Dean Herbert
c2ffc18379
Change editor timeline mouse wheel handling to scroll by default (and zoom with alt held)
2020-11-03 16:30:11 +09:00
Dean Herbert
0dcb4ea441
Add handling of opacity to timeline waveform display
2020-11-03 16:07:01 +09:00
Dean Herbert
34aa59f237
Fix editor clock not always remaining stopped when dragging timeline
...
Closes https://github.com/ppy/osu/issues/10461 .
2020-11-03 15:00:01 +09:00
Dean Herbert
ab308d28d2
Debounce calls to UpdateTernaryStates
...
Just something I noticed in passing recently which may help with
reducing performance overhead of some batch operations.
2020-11-03 01:08:36 +09:00
Dan Balasescu
8a768669ad
Merge pull request #10606 from FamousPig/fix-timeline-drag-select-weirdness
...
Fix timeline zoom during drag-select causing unexpected behaviour
2020-11-02 13:04:26 +09:00
Dan Balasescu
5ae3da9399
Merge branch 'master' into fix-timeline-drag-select-weirdness
2020-11-02 11:18:37 +09:00
Bartłomiej Dach
432282e8de
Use alternative solution to avoid storing last zoom
2020-11-01 21:25:05 +01:00
Dean Herbert
1f8d627af4
Merge branch 'master' into shift-delete-all-selected
2020-11-01 23:03:01 +09:00
Bartłomiej Dach
007c27d3ff
Schedule visibility update once per frame
2020-10-31 14:45:11 +01:00
Bartłomiej Dach
d74c19e2d7
Shorten show/hide code
2020-10-31 13:54:02 +01:00
Bartłomiej Dach
3322b8a7ea
Run OnSelectionChanged() on each change
2020-10-31 13:54:02 +01:00
Bartłomiej Dach
003994ab75
Bind UpdateVisibility() directly to source of truth
2020-10-31 13:54:02 +01:00
Bartłomiej Dach
129b1bc6d3
Delete all selected objects if shift-clicked on one
2020-10-31 11:46:25 +01:00
Bartłomiej Dach
202fe09306
Group selection actions back up in SelectionHandler
2020-10-28 22:06:48 +01:00
Leon Gebler
983a2774e8
Code Formatting
2020-10-27 15:09:10 +01:00
Leon Gebler
064c50c3ac
Expose currentZoom to fix selection box wiggle
2020-10-27 14:38:35 +01:00
Dean Herbert
3c2e2f29bc
Remove unused using statement
2020-10-27 13:17:44 +09:00
Dean Herbert
27c1a4c4d3
Move right-click deletion logic to be handled at a SelectionBlueprint level
2020-10-27 12:53:54 +09:00
Bartłomiej Dach
3f8c4c57d0
Fix code style issues & restructure
2020-10-26 22:16:28 +01:00
Charlie
255bb9d100
fixed issue with returns
2020-10-26 14:52:59 -05:00
Charlie
ccaf6560ec
formatting
2020-10-26 14:30:37 -05:00
Charlie
1239670566
moved right click shift delete functionality to HandleSelectionRequested + reduced func size
2020-10-26 14:28:53 -05:00
Charlie
ead3c19567
added function so circle is deleted when shift+right click
2020-10-26 13:40:42 -05:00
Leon Gebler
704f8cc4f2
Fix selection box wandering off into the distance
2020-10-26 18:45:03 +01:00
Dean Herbert
8273715bde
Merge pull request #9484 from FlashyReese/visible-playfield-boundary
2020-10-20 19:43:41 +09:00
Dean Herbert
22bde43106
Merge branch 'master' into visible-playfield-boundary
2020-10-19 18:05:28 +09:00
Dean Herbert
79a17b2371
Reapply waveform colour fix
2020-10-19 16:57:08 +09:00
Dean Herbert
88f74921fb
Update with new r# inspections
2020-10-16 12:49:39 +09:00
Dean Herbert
b0f8a7794a
Make SelectionHandler require EditorBeatmap presence
2020-10-09 21:44:10 +09:00
Dean Herbert
681e88af40
Merge branch 'master' into editor-fix-button-states-after-paste
2020-10-09 20:51:09 +09:00
Dan Balasescu
ecfb7e94c5
Merge branch 'master' into fix-editor-batch-handling
2020-10-09 20:06:06 +09:00
Dan Balasescu
07f19342d1
Merge pull request #10428 from peppy/editor-reset-newcombo-on-placement
...
Reset new combo button state after successful placement
2020-10-09 19:48:47 +09:00
Dan Balasescu
bcc096ee49
Merge pull request #10446 from peppy/fix-timeline-tick-bar-lines
...
Fix bar lines ("down beat" as people call it) showing up too often in timeline
2020-10-09 19:24:29 +09:00
Dan Balasescu
62690e4873
Merge pull request #10432 from peppy/editor-reverse-pattern
...
Add "reverse pattern" support to editor selection handler
2020-10-09 19:19:24 +09:00
Dean Herbert
3838f405dd
Fix missed usages
2020-10-09 18:50:05 +09:00
Dean Herbert
edaf6db5c6
Reference EditorBeatmap directly for selected objects
2020-10-09 18:44:23 +09:00
Dean Herbert
21c6242f90
Fix bar lines ("down beat" as people call it) showing up too often in timeline
2020-10-09 18:35:44 +09:00
Dean Herbert
5d888f687a
Account for the width of points so they don't suddenly appear at timeline edges
2020-10-09 16:49:51 +09:00
Dean Herbert
ceb1494c33
Only run regeneration when passing a new min/max tick boundary
2020-10-09 16:47:29 +09:00
Dean Herbert
017a8ce496
Only recalculate when display actually changes
2020-10-09 15:57:31 +09:00
Dean Herbert
9baf704942
Add local pooling to TimelineTickDisplay
2020-10-09 15:48:24 +09:00
Dean Herbert
825e10ec8c
Add reverse handler button to selection box
2020-10-09 06:32:23 +09:00
Dean Herbert
eacc7dca9a
Fix SliderPath not handling Clear correctly
2020-10-09 06:31:59 +09:00
Dean Herbert
85b33fffd0
Fix incorrect comments
2020-10-09 05:14:44 +09:00
Dean Herbert
5966205037
Fix ternary button states not updating correctly after a paste operation
2020-10-09 04:31:45 +09:00
Dean Herbert
e7eda19b07
Reset new combo button state after successful placement
2020-10-09 03:31:01 +09:00
Dean Herbert
afed832b19
Tidy up EditorBeatmap slightly
2020-10-08 18:06:49 +09:00
Dean Herbert
38babf3de5
Update usages of ChangeHandler to EditorBeatmap where relevant
2020-10-08 18:04:07 +09:00
Dean Herbert
ef092de9ba
Add missing UpdateHitObject calls and move local to usages (not via bindables)
2020-10-08 18:04:07 +09:00
Dan Balasescu
2ef5a34ace
Merge branch 'master' into editor-beatmap-batch-change-support
2020-10-07 14:08:49 +09:00
Dean Herbert
09f5e9c9eb
Use batch change application in many places that can benefit from it
2020-10-06 22:10:07 +09:00
Dean Herbert
a2796d2c01
Add repeats display to timeline blueprints
2020-10-06 19:22:35 +09:00
Dan Balasescu
783a463772
Merge branch 'master' into colourise-control-point-table
2020-10-05 20:47:06 +09:00
Dan Balasescu
54f1bcf2ce
Merge pull request #10313 from peppy/control-point-timeline-representation
...
Display all control point information on the main editor timeline
2020-10-05 20:46:52 +09:00
Dean Herbert
6bc0afdafb
Fix remaining conflicts
2020-10-05 20:09:18 +09:00
Dean Herbert
ba55256fb4
Merge branch 'master' into control-point-timeline-representation
2020-10-05 19:24:28 +09:00
Dan Balasescu
6d50a1ed7d
Merge branch 'master' into osu-selection-flip-rotate-buttons
2020-10-05 19:17:33 +09:00
Dan Balasescu
08f7b18dbe
Merge pull request #10294 from peppy/osu-selection-scaling
...
Add selection scale and rotate support
2020-10-05 19:17:19 +09:00
Dean Herbert
0d3a95d8fc
Remove unnecessary string interpolation
2020-10-02 19:54:13 +09:00
Dean Herbert
94996f2cc0
Merge branch 'master' into osu-selection-scaling
2020-10-01 21:09:52 +09:00
Dean Herbert
5ad2944e26
Fix ticks displaying higher than control point info
2020-10-01 19:31:41 +09:00
Dean Herbert
e96e30a19d
Move control point colour specifications to common location and use for formatting timing screen table
2020-10-01 19:29:34 +09:00
Dean Herbert
fcccce8b4e
Use pink for sample control points to avoid clash with waveform blue
2020-10-01 19:03:17 +09:00
Dean Herbert
589a26a149
Ensure stable display order for control points in the same group
2020-10-01 18:59:35 +09:00
Dean Herbert
b75c202a7e
Add sample control point display in timeline
2020-10-01 18:55:34 +09:00
Dean Herbert
0bced34272
Add visualisation of bpm (timing) changes to timeline
2020-10-01 18:55:34 +09:00
Dean Herbert
70931abcb0
Separate out timeline control point display from summary timeline display
2020-10-01 18:55:34 +09:00
Dean Herbert
70d475be1f
Fix elements appearing in front of hitobjects
2020-10-01 18:54:59 +09:00
Dean Herbert
00a19b4879
Also add toggle for ticks display
2020-10-01 18:16:49 +09:00
Dean Herbert
0d03084cdc
Move control point display to the base timeline class
...
We want them to display on all screens with a timeline as they are quite
useful in all cases.
2020-10-01 18:16:12 +09:00
Dean Herbert
60e6cfa45c
Avoid recreating child hierarchy when unnecessary
2020-10-01 16:36:03 +09:00
Dean Herbert
1aff263419
Split out classes and simplify construction of buttons
2020-10-01 16:34:34 +09:00
Dean Herbert
db1ad4243e
Remove need for ScaleDragHandle class
2020-10-01 16:27:42 +09:00
Dean Herbert
4e6a505a99
Add new icons and tooltips
2020-10-01 16:25:40 +09:00
Dean Herbert
78c5d57074
Add flip event flow and stop passing raw input events to handle methods
2020-10-01 16:25:29 +09:00
Dean Herbert
02f14ab4b0
Rename operation start/end to be more encompassing
2020-10-01 16:24:09 +09:00
Dean Herbert
b1f2bdd579
Add missing xmldoc
2020-10-01 13:47:49 +09:00
Dan Balasescu
7eb45990a4
Merge pull request #10302 from peppy/timing-screen-clean-up
...
Fix timing screen tests and add simple view of control points to timeline
2020-09-30 21:33:07 +09:00
Dean Herbert
3422db1bb2
Use top-left colour for deciding the text colour (gradient was added in some cases)
2020-09-30 17:10:22 +09:00
Dean Herbert
5b200a8ca4
Change default zoom of timing screen timeline to most zoomed out
2020-09-30 16:39:27 +09:00
Dean Herbert
ae9e884a48
Fix header casing
2020-09-30 15:35:25 +09:00
Dean Herbert
f1298bed79
Combine scale operations and tidy up scale drag handle construction
2020-09-30 15:08:56 +09:00
Dean Herbert
39b55a85df
Move a lot of the implementation to base SelectionHandler
2020-09-30 13:52:57 +09:00
Dean Herbert
f2c26c0927
Move information text underneath the selection box
2020-09-30 13:07:24 +09:00
Dean Herbert
a2e2cca396
Add proper change handler support
2020-09-29 20:08:56 +09:00
Dean Herbert
0a10e40ce0
Add scaling support to osu! editor
2020-09-29 20:08:56 +09:00
Dean Herbert
cd794eaa65
Add basic selection box with drag handles
2020-09-29 20:08:56 +09:00
Dean Herbert
6e1ea00443
Don't apply gradient to non-duration objects
2020-09-29 17:34:50 +09:00
Dean Herbert
c47652c97a
Add gradient to hide subtractive colour issues
...
Good thing is looks better than without.
2020-09-29 17:26:54 +09:00
Dean Herbert
8d8d45a0c0
Add combo index display support
2020-09-29 17:26:54 +09:00
Dean Herbert
f16fc29071
Add combo colour display support
2020-09-29 17:26:54 +09:00
Dean Herbert
53b3d23842
Expose HitObjectComposer for other components in the Compose csreen to use
2020-09-29 17:26:54 +09:00
Dan Balasescu
06ab33645e
Merge branch 'master' into editor-implicit-autoplay
2020-09-28 16:43:08 +09:00
Dan Balasescu
5cceb3c724
Merge pull request #10273 from peppy/editor-fix-missing-update-after-drag
...
Trigger a hitobject update after blueprint drag ends
2020-09-28 16:34:23 +09:00
Dean Herbert
d9ac5866b6
Merge branch 'editor-default-hit-sample' into editor-implicit-autoplay
2020-09-28 15:48:37 +09:00
Dean Herbert
a4e9c85333
Trigger a hitobject update after blueprint drag ends
2020-09-28 15:37:06 +09:00
Dean Herbert
0ae2266b82
Fix new placement hitobjects in the editor not getting the default sample added
2020-09-28 15:36:13 +09:00
Dean Herbert
1aa8b400d4
Avoid unnecessary object updates from SelectionHandlers
2020-09-28 15:33:49 +09:00
Dan Balasescu
cc41b4bb9e
Merge branch 'master' into editor-sample-addition-buttons
2020-09-25 19:39:12 +09:00
Dean Herbert
8e6bf516d9
Merge branch 'master' into editor-ternary-buttons
2020-09-25 18:30:59 +09:00
Dean Herbert
dbfa05d3b3
Fix placement object not getting updated with initial state
2020-09-25 18:00:17 +09:00
Dean Herbert
b561429f92
Add toolbar toggle buttons for hit samples
2020-09-25 17:53:41 +09:00
Dean Herbert
346d14d40b
Rename variables to match
2020-09-25 17:45:19 +09:00
Dean Herbert
22511c36c3
Ensure toggles are not instantiated more than once for safety
2020-09-25 17:43:09 +09:00
Dean Herbert
51cc644b7b
Fix set access to SelectionHandler
...
Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
2020-09-25 17:42:49 +09:00
Dean Herbert
b8e9f19b92
Move common HitSampleInfo lookup to static method
2020-09-25 17:30:31 +09:00
Dean Herbert
98c6027352
Remove unused using
2020-09-25 17:07:58 +09:00
Dean Herbert
ae68dcd962
Add ternary toggle buttons to editor toolbox selection
2020-09-25 16:38:12 +09:00
Dean Herbert
0f8551e9ea
Merge branch 'editor-ternary-states' into new-combo-toggle
2020-09-25 15:36:33 +09:00
Dean Herbert
a859fe78ee
Expose update ternary state method and use better state determination function
2020-09-25 15:32:36 +09:00
Dean Herbert
50290f3cb4
Rework ternary states to fix context menus not updating after already displayed
2020-09-25 15:10:13 +09:00
Dean Herbert
a6adf8334e
Use existing method to update combo state of selection
2020-09-25 14:19:35 +09:00
Dean Herbert
e009264f10
Add new combo toggle to main composer interface
2020-09-25 14:10:30 +09:00
Dan Balasescu
952e84396a
Merge branch 'master' into editor-object-object-snapping
2020-09-25 13:17:30 +09:00
Dean Herbert
158d307126
Avoid destroying editor screens when changing between modes
2020-09-24 17:03:54 +09:00
Dean Herbert
44be0ab762
Add basic osu! object to object snapping
2020-09-24 16:24:35 +09:00
Dean Herbert
ccb3ef5020
Merge branch 'new-combo-editor-toggle' into fix-taiko-change-handling
2020-09-23 17:08:27 +09:00
Dean Herbert
02201d0ec6
Fix incorrect cast logic
2020-09-23 17:08:25 +09:00
Dean Herbert
487fc2a2c6
Add missing change handler scopings to taiko context menu operations
2020-09-23 16:58:22 +09:00
Dean Herbert
2d67faeb72
Add xmldoc
2020-09-23 16:40:56 +09:00
Dean Herbert
a1ec167982
Add the ability to toggle new combo state from composer context menu
2020-09-23 16:38:16 +09:00
Dean Herbert
62c55165d4
Merge branch 'editor-fix-multiple-selection' into editor-clipboard
2020-09-14 15:47:20 +09:00
Dean Herbert
b7a06524fb
Update comment to make more sense
2020-09-14 15:47:10 +09:00
Dean Herbert
75e4f224e5
Add back accidentally removed remove
2020-09-14 15:47:04 +09:00
Dean Herbert
81f30cd264
Select blueprint if object is already selected at the point of adding
2020-09-12 21:23:11 +09:00
Dean Herbert
94d929d8cd
Remove unnecessary contains checks
2020-09-11 22:03:19 +09:00
Dean Herbert
22e6df02b6
Fix editor selected hitobjects containing the selection up to five times
2020-09-11 20:27:07 +09:00
Dean Herbert
c3123bf117
Rename drag blueprint selection method for discoverability
2020-09-08 17:22:59 +09:00
Yao Chung Hu
96f39dd350
Merge remote-tracking branch 'upstream/master' into visible-playfield-boundary
2020-09-05 01:50:13 -05:00
Dean Herbert
249ae5df1b
Merge branch 'master' into beatmap-track-rework
2020-09-02 15:24:46 +09:00
Dean Herbert
d1f79a6a48
Fix potentially incorrect zoom level getting set on very short audio
...
track
2020-09-01 15:41:36 +09:00
Dean Herbert
f65991f31f
Revert some usages based on review feedback
2020-08-26 23:28:58 +09:00
Dean Herbert
122265ff0e
Revert non-track usage
2020-08-22 19:47:08 +09:00
Dean Herbert
70697cf1a0
Restore remaining editor components to use Beatmap.Track
2020-08-21 17:11:29 +09:00
Dean Herbert
0b0ff62647
Switch timeline to use track directly from beatmap again
2020-08-21 14:49:34 +09:00
smoogipoo
070d71ec27
More cleanups
2020-08-12 00:48:38 +09:00
smoogipoo
5002d69f69
Update inspections
2020-08-07 20:51:56 +09:00
smoogipoo
61b632516e
Ensure CurrentTrack is never null
2020-08-07 19:43:16 +09:00
smoogipoo
5c05fe3988
Expose track from MusicController
2020-08-06 16:24:14 +09:00
smoogipoo
6e42b8219c
Move track to MusicController, compiles
2020-08-06 16:24:14 +09:00
Dan Balasescu
288c0402ee
Merge branch 'master' into editor-show-selected-count
2020-07-17 18:00:35 +09:00
Dean Herbert
b4b230288b
Shift hue of selection handler box to not collide with blueprints
2020-07-17 17:51:39 +09:00
Dean Herbert
ea6f257dc2
Add a display of count of selected objects in editor
2020-07-17 17:48:27 +09:00
Dean Herbert
222a22182e
Fix double-click incorrectly firing across disparate targets
2020-07-17 17:03:57 +09:00
Yao Chung Hu
0d95b768aa
Rename and Move EditorPlayfieldBorder to PlayfieldBorder for general purpose
2020-07-10 07:34:48 -05:00
Dan Balasescu
fd9ac3503f
Merge branch 'master' into fix-editor-drag-selection-while-playing
2020-06-23 21:56:31 +09:00
smoogipoo
e7238e25f9
Fix exception when dragging after deleting object
2020-06-23 20:36:09 +09:00
Dean Herbert
a5eac716ec
Make work for all editors based on track running state
2020-06-23 18:42:56 +09:00
Dean Herbert
53d542546e
Fix editor drag selection not continuing to select unless the mouse is moved
2020-06-23 18:04:50 +09:00
Dean Herbert
abe07b742e
Fix drag scroll in editor timeline no longer working correctly
2020-06-14 13:20:58 +09:00
Dean Herbert
dd7dbfd548
Rename to IHasDuration
2020-05-29 16:45:47 +09:00
Dean Herbert
534dccc0c3
Move sett from EndTime to Duration
2020-05-29 16:45:47 +09:00
Dean Herbert
a2eec5d963
Fix strong bindable changes for DrumRolls
2020-05-29 16:45:47 +09:00
Dean Herbert
9a060cfb3a
Allow drag selections to occur from outside the playfield
2020-05-27 20:44:15 +09:00
Dean Herbert
7e1e26de2a
Allow HandleMovement by default
2020-05-26 17:04:31 +09:00
Dean Herbert
d041de63ce
Allow SelectionHandler to provide custom context menu items without local hover check
2020-05-26 13:53:09 +09:00
Dean Herbert
decdc58de5
Merge branch 'editor-clock-cache' into editor-clock-transform
2020-05-24 12:55:47 +09:00
Dean Herbert
a3a9810344
Merge branch 'master' into editor-clock-cache
2020-05-23 00:44:04 +09:00
Dean Herbert
5ea33f4c04
Fix incorrect rounding in DragBar
2020-05-22 19:23:07 +09:00
Dean Herbert
d18eb663b1
Add tweening seek support to EditorClock
2020-05-22 16:47:52 +09:00
Dean Herbert
dd09d7830d
Cache and resolve editor clock as EditorClock in all cases
2020-05-22 16:44:06 +09:00
Dean Herbert
8a47e2431b
Move distance snap grid implementation to OsuHitObjectComposer
2020-05-21 17:13:22 +09:00
Dean Herbert
82d6549161
Pass down snap result and remove local TimeAt usage
2020-05-20 21:01:29 +09:00
Dean Herbert
23bf0d000e
Implement mania beat snapping support
2020-05-20 21:01:19 +09:00
Dean Herbert
ffb8d48fc3
Fix osu!mania editor placement regressions
2020-05-20 21:01:03 +09:00
Dean Herbert
c46bfc2532
Create SnapResult class to hold various snapping results
2020-05-20 21:00:47 +09:00
Dean Herbert
3354d48a38
Change snapping to be screen space coordinate based
2020-05-20 21:00:29 +09:00
smoogipoo
cebc0fc046
Attempt to fix multiple selection movements
2020-04-27 20:35:24 +09:00
smoogipoo
7f5a1d7f44
Merge branch 'master' into fix-mania-selection
2020-04-27 17:09:40 +09:00
smoogipoo
104c61d622
Remove unnecessary scale
2020-04-27 11:06:23 +09:00
Dean Herbert
48168dddce
Adjust editor timeline current marker to promote tick visibility
2020-04-27 10:54:32 +09:00
Dean Herbert
1c13fa6c61
Fix editor crashing when entering with no beatmap selected
2020-04-24 10:27:32 +09:00
smoogipoo
4ebb28d3e7
wip
2020-04-23 17:52:54 +09:00
smoogipoo
4a87ac7840
Add support for sample changes
2020-04-10 13:53:09 +09:00
smoogipoo
575b061dd7
Add change state support to more editor components
2020-04-09 22:02:42 +09:00
smoogipoo
683302a77d
Fix crash when trying to edit long beatmaps
2020-04-09 20:25:26 +09:00
smoogipoo
1f797207f7
Rework lookups to not require total playfield columns
2020-04-03 12:31:05 +09:00
Dean Herbert
aabcc78162
Merge branch 'master' into editor-song-end
2020-03-25 13:19:21 +09:00
voidedWarranties
b41f3f1cad
Fix seeking back to beginning too early
2020-03-23 22:37:53 -07:00
Fuewburvpoa
6c825eb744
Update osu.Game/Screens/Edit/Compose/Components/BeatDivisorControl.cs
...
Co-Authored-By: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2020-03-18 00:04:03 +02:00
Fuewburvpoa
bee8e22d18
Fix BeatDivisorControl allow to select value outside of VALID_DIVISORS
2020-03-17 22:27:11 +02:00
Dean Herbert
ed837d3115
Use framework extension method for FromHex
2020-03-11 10:18:41 +09:00
smoogipoo
6c28fd21c7
osu-side changes
2020-02-24 20:52:15 +09:00
smoogipoo
958c891d15
Update with framework-side bindable list changes
2020-02-17 15:06:14 +09:00
recapitalverb
c753cb46c5
Use [Resolved] wherever possible
2020-02-14 20:14:00 +07:00
Dean Herbert
0e439e3a70
Fix missing dependency in ZoomableScrollContainer test
2020-02-14 14:41:55 +09:00
Dan Balasescu
60d796ae3f
Merge branch 'master' into fix-timeline-seek-while-playing
2020-02-14 13:04:38 +09:00
Dan Balasescu
4b7a053544
Merge branch 'master' into update-placement-more-often
2020-02-13 18:43:27 +09:00
Dan Balasescu
c384e3cfc2
Merge branch 'master' into timeline-zoom-button-repeat
2020-02-13 18:04:36 +09:00
Dean Herbert
118f862342
Fix not being able to seek using scroll wheel in timeline while playing track
2020-02-13 12:03:50 +09:00
Dean Herbert
03bf10f9a2
Remove unused using statement
2020-02-13 11:15:00 +09:00
Dean Herbert
487dd47c9e
Add mouse down repeat support to timeline zoom buttons
2020-02-13 11:14:09 +09:00
Dean Herbert
e34a24a063
Update placement blueprint more often for better display
2020-02-13 10:45:16 +09:00
Dean Herbert
2b6f99d404
Standardise placement blueprint creation and destruction
2020-02-13 10:12:56 +09:00
Dean Herbert
b65e839bd2
Simplify blueprints by removing visible state
2020-02-13 10:00:09 +09:00
Dean Herbert
0fe41fd50a
Fix blueprint showing even when mouse outside of container
2020-02-13 09:03:48 +09:00
Dan Balasescu
28cf5c7a59
Add accessor
2020-02-10 14:28:43 +09:00
Dean Herbert
56a091674b
Add placement display to timeline
2020-02-07 18:04:10 +09:00
Dean Herbert
e31d69c749
Add commit status to EndPlacement; call BeginPlacement on initial movement
2020-02-07 18:02:48 +09:00
smoogipoo
6ae0efa40d
Fix adjustment not working when dragged before object
2020-02-06 14:47:43 +09:00
smoogipoo
c138e3907e
Move methods below ctor
2020-02-06 14:35:45 +09:00
Dean Herbert
f5edad16e6
Improve visuals
2020-02-05 19:43:13 +09:00
Dean Herbert
98ab1f9862
Fix negative spinners
2020-02-05 18:35:31 +09:00
Dean Herbert
3d42973764
Allow scrolling via drag while dragging a hold note handle
2020-02-05 18:35:31 +09:00
Dean Herbert
cef45afbc8
Add a simple hover state
2020-02-05 18:35:31 +09:00
Dean Herbert
d56accaef1
Disallow negative / zero repeat counts (and fix off-by-one)
2020-02-05 18:35:31 +09:00
Dean Herbert
d04cc0123d
Initial implementation of timeline blueprint dragbars
2020-02-05 18:35:31 +09:00
Dean Herbert
90caa61245
Reverse comparison for readability
...
Co-Authored-By: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2020-02-01 02:05:26 +09:00
Dean Herbert
f51cfa2220
Fix too many ticks being displayed on beatmaps with multiple timing sections
...
Closes https://github.com/ppy/osu/issues/7681 .
2020-01-31 00:24:00 +09:00
Dan Balasescu
66b8d38d42
Merge branch 'master' into selection-composition-conformity
2020-01-29 16:52:45 +09:00
Dan Balasescu
e553a9b9e0
Merge branch 'master' into distance-snap-grid-correct-colouring
2020-01-29 16:09:35 +09:00
Dan Balasescu
63501c188a
Merge pull request #7644 from peppy/standardise-zoom-levels
...
Standardise editor timeline zoom across maps of all lengths
2020-01-29 16:04:25 +09:00
Dan Balasescu
0d6fd0a54a
Merge branch 'master' into standardise-zoom-levels
2020-01-29 15:32:57 +09:00
Dan Balasescu
65ac412ff8
Merge branch 'master' into fix-beat-snap
2020-01-29 15:32:27 +09:00
smoogipoo
391681b7af
Separate calculation to follow other examples
2020-01-29 15:16:48 +09:00
Dean Herbert
8e2159e4eb
Ensure selection tool correctly matches selection state
...
- When a selection is made (via the timeline) the selection tool should become the select tool.
- When the selection tool is changed to anything *but* the select tool, the selection should be cleared.
2020-01-28 15:13:12 +09:00
Dean Herbert
4bb33046ca
Standardise editor timeline zoom across maps of all lengths
2020-01-28 13:03:06 +09:00
Dean Herbert
58654f28b6
Fix beat snap implementation being incorrect
2020-01-28 12:48:24 +09:00
Dean Herbert
29daabb40a
Fix distance snap grid showing incorrect colouring
...
Now matches timeline colours (based on timing point).
2020-01-28 11:59:21 +09:00
Dean Herbert
d5fda053f4
Use centre origin/anchors
2020-01-27 18:09:54 +09:00
Dean Herbert
493390b750
Rename class to TimelineTickDisplay
2020-01-27 18:08:01 +09:00
Dean Herbert
084fa2f04a
Add timeline beat display
2020-01-27 17:38:50 +09:00
Dean Herbert
e24c4ab901
Adjust zoom defaults for timeline to be more useful
2020-01-27 17:34:40 +09:00
Dean Herbert
df665c3a3c
Move beat index colour retrieval to static function
2020-01-27 17:34:40 +09:00
smoogipoo
811ddb02a4
General refactoring
2020-01-24 17:50:36 +09:00
smoogipoo
28727bbafd
Fix crash when deselecting via ctrl+click
2020-01-24 17:30:37 +09:00
Dean Herbert
5646f7777e
Add comment about custom SelectionHandler
2020-01-23 16:23:42 +09:00
Dean Herbert
5cadbb1ffb
Move timeline blueprint to own class
2020-01-23 16:22:43 +09:00
Dean Herbert
9d90799447
Remove useless container
2020-01-23 16:20:42 +09:00
Dean Herbert
289be7a17b
Merge branch 'i-beat-snapping' into timeline-maybe
2020-01-23 15:45:33 +09:00
Dean Herbert
56c044c44a
Move beat snapping to its own interface
2020-01-23 14:30:25 +09:00
Dean Herbert
cb09c2e144
Add support for dragging outside visible extents
2020-01-23 14:30:25 +09:00
Dean Herbert
477e1b7d27
Rename TimelineHitObjectDisplay to TimelineBlueprintContainer
2020-01-23 14:30:25 +09:00
Dean Herbert
9d2a46df89
Add beat snapping to timeline movement
2020-01-23 14:30:25 +09:00
Dean Herbert
c76f76e5aa
Fix being able to drag out of the blueprint intending to be moved
2020-01-23 14:30:25 +09:00
Dean Herbert
aa1a226ab7
Remove unused ScreenSpaceStartPosition field
2020-01-23 14:30:25 +09:00
Dean Herbert
53bdf72592
Allow basic timeline selection temporal movement
2020-01-23 14:30:25 +09:00
Dean Herbert
cb6e7425ae
Make dragbox stateful to fix blueprint movement
2020-01-23 14:30:25 +09:00
Dean Herbert
f0d810fe20
Follow start time and duration changes
2020-01-23 14:30:08 +09:00
Dean Herbert
63cef8b8b7
Rename nested classes to be more appropriate
2020-01-23 14:30:08 +09:00
Dean Herbert
89d90fdfa0
Fix drag not updating until mouse is moved while scrolling timeline
2020-01-23 14:30:07 +09:00
Dean Herbert
a8ec4907c4
Fix selections while scrolling timeline
2020-01-23 14:27:21 +09:00
Dean Herbert
c4395b1cea
Clean up nested class implementations
2020-01-23 14:27:20 +09:00
Dean Herbert
482409e776
Colour extension bars of long objects
2020-01-23 14:26:33 +09:00
Dean Herbert
a6775d1bd3
Implement custom drag box and allow drag seeking once again
2020-01-23 14:26:33 +09:00
Dean Herbert
8a7f7c5e46
Merge remote-tracking branch 'smoogipoo/void-key-up-returns' into update-framework
2020-01-22 22:57:56 +09:00
Dean Herbert
7c62cc3ac3
Merge remote-tracking branch 'smoogipoo/void-mouse-up-returns' into update-framework
2020-01-22 22:57:52 +09:00
smoogipoo
7b2f58eb30
Apply OnRelease method signature refactorings
2020-01-22 13:22:34 +09:00
Dean Herbert
e3a2b20f63
Fix SelectionHandler visibility on remote selection
2020-01-22 01:32:11 +09:00
Dean Herbert
83fa4a9bb3
Move circle size to a constant
2020-01-21 22:24:04 +09:00
Dean Herbert
a963d652bc
Mark readonly
2020-01-21 20:54:50 +09:00
Dean Herbert
c88bdbd4a0
Share selected hitobjects across multiple blueprint containers
2020-01-21 20:46:39 +09:00
Dean Herbert
1ce78afa98
Disable y offset for now
2020-01-21 19:51:44 +09:00
Dean Herbert
f582c42bbd
Perform deletion directly via EditorBeatmap
2020-01-21 18:56:09 +09:00
Dean Herbert
a888d148b6
Remove remaining cast
2020-01-21 18:01:10 +09:00
Dean Herbert
6187b2e77c
Implement IDistanceSnapProvider in timeline for now
2020-01-21 18:00:36 +09:00
Dean Herbert
353b74b04a
Handle selection events in timeline
2020-01-21 17:37:35 +09:00
Dean Herbert
8f16c1cb04
Add non-hiding selection state
2020-01-21 14:21:00 +09:00
Dean Herbert
53fe0ce790
Use AliveChildren
2020-01-21 14:20:52 +09:00
Dean Herbert
bd96cf94a6
Begin refactoring SelectionBlueprint to handle non-drawable HitObjects
2020-01-21 12:47:14 +09:00
smoogipoo
40f502c6d1
Apply input method signature refactorings
2020-01-20 19:35:37 +09:00
smoogipoo
bfb056c612
Apply input method signature refactorings
2020-01-20 18:17:21 +09:00
Dean Herbert
25aff5d96e
Merge remote-tracking branch 'upstream/master' into decouple-blueprint-container
2020-01-20 17:08:59 +09:00