Dean Herbert
d1c68cb92b
Simplify content creation of Timeline / TimelineArea
2021-04-14 21:03:52 +09:00
Dean Herbert
be08b9d1ef
Combine logic of Difficulty and Timing pieces where feasible
2021-04-14 20:55:34 +09:00
Dean Herbert
afbb674e52
TopLeft align check buttons so they don't move while interacting with them
2021-04-14 20:54:35 +09:00
Dean Herbert
99f05253fd
Adjust timeline sizing to closer match designs (but not 1:1 yet)
2021-04-14 20:54:35 +09:00
Dean Herbert
f9b1b7fe25
Update SamplePointPiece design
2021-04-14 20:54:35 +09:00
Dean Herbert
a8df2388eb
Update design for TimingControlPoint
2021-04-14 20:11:47 +09:00
Dean Herbert
1209c9fa32
Allow timeline to expand in height when control points are to be displayed
2021-04-14 20:10:50 +09:00
Dean Herbert
a314f90d37
Allow timeline to govern the size of the rest of the editor content
2021-04-14 18:17:27 +09:00
Dean Herbert
e543db9bee
Use additive blending for background box
...
Doesn't make a huge difference but this was intended.
2021-04-14 14:56:28 +09:00
Dean Herbert
b7d2821b55
Display the centre marker above the waveform
...
Gives it a bit more visibility. This is where it was meant to sit, but
didn't consider using a proxy drawable to make it work previously.
2021-04-14 14:52:48 +09:00
Andrei Zavatski
e601141be2
Simplify ExtendableCircle component
2021-04-13 14:57:02 +03:00
Dan Balasescu
1505a38164
Merge pull request #12396 from peppy/update-timeline-slider-apperance
...
Update timeline slider/spinner apperance
2021-04-13 20:47:44 +09:00
Dan Balasescu
b2aa46690d
Merge pull request #12389 from peppy/fix-editor-ctrl-drag-deselection
...
Fix ctrl-dragging on an existing selection unexpectedly causing deselection
2021-04-13 20:38:29 +09:00
Dean Herbert
e7b0042a60
Remove unnecessary hover / shadow logic
2021-04-13 19:30:20 +09:00
Dean Herbert
b2c17979de
Update colours of all overlay components in one swoop (based off combo colour)
2021-04-13 19:26:20 +09:00
Dean Herbert
495fdd8d65
Update drag area display to match new design logic
2021-04-13 19:26:20 +09:00
Dean Herbert
109ee395bf
Fix input and remove outdated hover logic
2021-04-13 19:26:20 +09:00
Dean Herbert
00f235760d
Update visual appearance of timeline blueprints to close match new designs
2021-04-13 19:26:20 +09:00
Dean Herbert
27e851c2ee
Also adjust height
2021-04-13 16:43:29 +09:00
Dean Herbert
ebf97ff48f
Update timeline ticks to use width as a differentiation method, rather than height
2021-04-13 16:29:35 +09:00
Dean Herbert
66e74da2b7
Fix regression in quick delete mouse action blocking
2021-04-13 13:03:14 +09:00
Dean Herbert
cc2acf5e54
Fix ctrl-dragging on an existing selection causing deselection of the hovered object
2021-04-12 19:05:23 +09:00
Dean Herbert
9d0839be8f
Remove no longer necessary FinishTranforms call
2021-04-06 15:35:07 +09:00
Dean Herbert
316a557a99
Split select area background into own class to reduce hover state complexity
2021-04-06 15:34:34 +09:00
Dean Herbert
7d301a6336
Improve timeline hover display before time zero with a gradient fade
2021-04-06 14:34:16 +09:00
Dean Herbert
35dd1c68aa
Fix drag/selection events not propagating correctly to TimelineBlueprintContainer when before time zero
2021-04-06 14:34:16 +09:00
Dean Herbert
8ff13845d1
Add marker showing where 00:00:000 is
2021-04-06 14:24:22 +09:00
Dan Balasescu
d2ef0ba644
Merge branch 'master' into add-editor-nudging-support
2021-03-30 14:34:43 +09:00
Dean Herbert
cb48e5f158
Fix timeline not visually ordering hitobjects in a stable way
2021-03-26 16:33:18 +09: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
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
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