ekrctb
6ab29a62d0
Anchor drag box on time (catch, mania)
...
Not done for taiko because I cannot figure out how it should work with the overlapping scroll algorithm.
2022-10-11 14:23:17 +09:00
ekrctb
1a24762f9b
Improve drag box selection logic
...
`AllowDeselectionDuringDrag` is remove.
Instead, selected hit objects are not automatically deselected
when clock is seeked to a later time (the hit object is dead).
Update drag box selection even if mouse is not moved
(in case clock is running or scroll wheel is used).
2022-10-11 14:11:45 +09:00
ekrctb
6164e0896a
Don't reselect already selected items in SelectAll
2022-10-07 10:46:07 +09:00
ekrctb
29cc554632
Ensure blueprint is added for selected hit object
2022-10-06 13:59:54 +09:00
ekrctb
0d448e6cc8
Fix items without blueprints are not deselected
2022-10-06 13:50:56 +09:00
ekrctb
b0213c29e9
Use mid time instead of start time
...
It is closer to the old blueprint-based behavior
2022-10-05 22:19:22 +09:00
ekrctb
6753f6b01a
Move AllowDeselectionDuringDrag
down
...
Because it is now ignored in the timeline implementation anyways
2022-10-05 22:14:11 +09:00
ekrctb
3108c42ece
Fix inspect issues
2022-10-05 22:04:43 +09:00
ekrctb
00b3d97f69
Improve timeline selection performance
...
But selecting a large number of hit objects is still very slow
because all DHOs must be added
and also `AddBlueprintFor` has quadratic behaviors
2022-10-05 21:58:05 +09:00
ekrctb
0613388aaa
Make sure all selected items get deleted
2022-10-05 21:58:05 +09:00
ekrctb
0ffde02f79
Use hit object time for timeline selection
2022-10-05 21:51:01 +09:00
ekrctb
8d29e9e76b
Move selection logic from DragBox to BlueprintContainer
2022-10-05 21:51:01 +09:00
Dean Herbert
58217b6839
Fix weird conditional
2022-09-27 20:09:21 +09:00
Dean Herbert
a9088d9231
Add assert/log output when too many ticks are being displayed
2022-09-27 17:18:46 +09:00
Dean Herbert
e227519b09
Don't attempt to render timeline ticks until DrawWidth
is above zero
2022-09-27 17:18:46 +09:00
Dean Herbert
ccae721af2
Ensure ZoomableScrollContainer
content isn't shown until zoom is set
2022-09-27 17:07:11 +09:00
Dean Herbert
9dc0eb7fd0
Remove unused static
2022-09-27 17:04:56 +09:00
Drison64
c075d3de08
Create a test and a check if initial zoom value of ZoomableScrollContainer is in range
2022-09-17 22:43:40 +02:00
Ondřej Vajďák
9d94343317
Update osu.Game/Screens/Edit/Compose/Components/Timeline/Timeline.cs
...
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-09-17 19:51:44 +02:00
Drison64
c8768eb399
Changed == to <= on TimelineZoom check
2022-09-17 19:00:50 +02:00
Drison64
3c7ea5c8fa
Update
2022-09-17 18:57:09 +02:00
Dean Herbert
f53507828c
Rename event to be more generic (and add comprehensive xmldoc)
2022-09-13 14:59:30 +09:00
OliBomby
fd48249eef
fix with new event
2022-09-13 02:20:52 +02:00
Dean Herbert
57954bb8f5
Enable nullability on TimelineHitObjectBlueprint
2022-09-05 14:50:43 +09:00
Dean Herbert
6a35b233e5
Merge branch 'master' into remove-dispose-updates
2022-09-01 23:03:19 +09:00
Dean Herbert
cfc7c32aff
Merge pull request #20009 from frenzibyte/fix-back-to-front-comparison
...
Adjust weirdly back-to-front fallback comparison in `HitObjectOrderedSelectionContainer`
2022-08-31 14:14:10 +09:00
Dean Herbert
a215d009fe
Update Remove
/RemoveRange
/RemoveAll
calls in line with framework changes
2022-08-29 15:57:40 +09:00
Salman Ahmed
3ff2058975
Fix back-to-front fallback comparison in HitObjectOrderedSelectionContainer
2022-08-29 09:23:53 +03:00
Dean Herbert
cd90536e4b
Remove Track
access in Timeline
2022-08-26 18:25:48 +09:00
Dan Balasescu
1b2158ff04
Remove unused method
2022-07-26 14:15:59 +09:00
Salman Ahmed
48bcf57066
Mark SetupZoom
and parameterless ZoomableScrollContainer
ctor as protected
2022-07-25 12:07:50 +03:00
Salman Ahmed
07c6b44864
Fix Timeline
attempting to setup zoom with unloaded track
2022-07-25 12:07:50 +03:00
Salman Ahmed
123930306b
Refactor ZoomableScrollContainer
to allow setting up zoom range and initial zoom after load
2022-07-25 12:07:50 +03:00
Dan Balasescu
e1df50c8ff
Fix timeline zoom focus point when using buttons
2022-07-22 17:03:05 +09:00
Dean Herbert
72916d708c
Merge pull request #19294 from peppy/fix-timeline-feedback-loop
...
Fix timeline `alt`+`scroll` zoom not correctly zooming to current mouse position
2022-07-22 16:05:38 +09:00
Dean Herbert
6eb42d08ce
Fix timeline zoom receiving feedback from bindable changes
...
This causes the focal point zooming to not work (as the focal point is
lost). There's no need to handle ongoing changes to
`BeatmapInfo.TimelineZoom` because it is not a property which is changed
at runtime.
2022-07-22 15:25:57 +09:00
Dean Herbert
4cec9a085a
Combine both calls to use same pathway
2022-07-22 14:59:20 +09:00
Adam Baker
997fe00cdc
Fix zoom delta math
2022-07-21 17:29:13 -05:00
Adam Baker
d69dc457ba
Extract zoom delta method
2022-07-21 17:28:43 -05:00
Adam Baker
a4f071fe53
Make zoom sensitivity relative to containers max zoom
2022-07-21 08:26:48 -05:00
Dean Herbert
31a447fda0
Update parameter discards
2022-06-24 21:26:19 +09:00
Dean Herbert
f71f6302fd
Remove unnecessary null
casts
2022-06-24 14:50:11 +09:00
Dan Balasescu
e0c82d11ab
Convert == usages to ReferenceEquals
2022-06-20 16:56:19 +09:00
Salman Ahmed
a5e5172b91
Fix BlueprintContainer
eating input from skin editor buttons
2022-06-18 18:28:36 +03:00
Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
Dean Herbert
87bf53485a
Merge pull request #18649 from frenzibyte/selection-context-outside-bounds
...
Fix context menus not appearing when clicking outside of editor playfield's bounds
2022-06-15 17:08:09 +09:00
Salman Ahmed
d3feb07bc1
Split zoom updating to named method with value as optional
2022-06-15 07:57:16 +03:00
Salman Ahmed
268a7e1334
Fix ZoomableScrollContainer
attempting to update zoom with overlapping range
2022-06-15 05:43:41 +03:00
Salman Ahmed
fa4930c586
Remove no longer necessary ReceivePositionalInputAt
overrides in timeline components
2022-06-14 00:19:47 +03:00
Salman Ahmed
c49b8e4a5c
Allow BlueprintContainer
and SelectionHandler
to receive input outside bounds
2022-06-14 00:19:15 +03:00
Salman Ahmed
9fc04924eb
Revert "Provide context menu items at BlueprintContainer
for out-of-bounds support"
...
This reverts commit 85fc218edf
.
2022-06-14 00:02:02 +03:00
Salman Ahmed
85fc218edf
Provide context menu items at BlueprintContainer
for out-of-bounds support
2022-06-11 20:53:53 +03:00
Dan Balasescu
b897e1464f
Merge pull request #18462 from frenzibyte/fix-timeline-zooming
...
Fix timeline objects disappearing prematurely on wide-screens
2022-06-05 11:49:44 +09:00
Dean Herbert
cd3edc869c
Remove unnecessary nesting of IconButton
and update design a touch
2022-06-03 17:00:00 +09:00
Salman Ahmed
b51e0a5047
Share button repeating logic with TimelineButton
for better UX
2022-06-03 05:23:49 +03:00
Salman Ahmed
21385655fe
Fix ZoomableScrollContainer
not updating on parent size changes
2022-06-03 02:34:10 +03:00
Salman Ahmed
60fb5d5e6c
Revert "Fix timeline objects disappearing prematurely on wide-screens"
...
This reverts commit 02baf9a97a
.
2022-06-03 02:03:04 +03:00
Salman Ahmed
8471b24659
Merge branch 'master' into fix-timeline-zooming
2022-06-03 02:00:09 +03:00
Dan Balasescu
be998cdb0a
Merge pull request #18477 from frenzibyte/fix-timeline-context-menu
...
Fix context menu no longer opening for hitobjects in timeline
2022-05-30 11:49:06 +09:00
Bartłomiej Dach
c892ec83ef
Fix wrong sizing of editor timeline ticks
2022-05-29 20:15:17 +02:00
Salman Ahmed
9cc5df9b13
Fix context menu no longer open on hitobjects in timeline
2022-05-29 15:23:32 +03:00
Salman Ahmed
02baf9a97a
Fix timeline objects disappearing prematurely on wide-screens
2022-05-28 17:45:38 +03:00
Dan Balasescu
f468d1eb16
Merge branch 'master' into editor-tidy-up
2022-05-25 11:58:34 +09:00
Bartłomiej Dach
5f6baaca13
Merge branch 'master' into editor-beat-divisor-size-static
2022-05-24 23:17:02 +02:00
Dan Balasescu
25f35b3408
Merge pull request #18394 from peppy/editor-beat-divisor-on-mouse-down
...
Handle beat divisor input on mouse down, rather than mouse up
2022-05-24 19:06:14 +09:00
Dean Herbert
a905731053
Update timeline colours and paddings to match new designs
2022-05-24 18:43:22 +09:00
Dean Herbert
741cfcc614
Merge branch 'editor-beat-divisor-on-mouse-down' into editor-combined
2022-05-24 18:43:01 +09:00
Dean Herbert
3ace5f135e
Adjust marker to match design proportions
2022-05-24 18:26:01 +09:00
Dean Herbert
3c2e57bf00
Update BeatDivisorControl
to better match new designs and metrics
2022-05-24 18:26:01 +09:00
Dean Herbert
e6087f5f5b
Handle beat divisor input on mouse down, rather than mouse up
...
It felt way too unresponsive.
2022-05-24 18:16:19 +09:00
Dean Herbert
4a88affd03
Move beat divisor tick size retrieval to static methods
2022-05-24 18:15:20 +09:00
Dean Herbert
1137545d4a
Fix Timeline
potentially not updating visuals to correct state on first display
2022-05-24 18:11:05 +09:00
Dan Balasescu
64a371638e
Merge pull request #18236 from peppy/snap-unification
...
Add `enum` to snap method as alternative to multiple nested invocations
2022-05-20 11:35:05 +09:00
Dean Herbert
83e781d5a1
Allow localisation of PlaceholderText
2022-05-17 17:42:46 +09:00
Dean Herbert
c0abce918f
Add enum
to snap method as alternative to mutliple nested invocations
2022-05-12 16:19:07 +09:00
Dan Balasescu
c54ca937c5
Fix CI inspections
2022-05-12 14:55:20 +09:00
Dean Herbert
f51607521c
Fix distance snap providing zero-distance snaps incorrectly
2022-05-12 13:11:55 +09:00
Dean Herbert
5800d7e99d
Merge pull request #18220 from frenzibyte/control-popover-focus
...
Focus textbox upon opening control point popovers
2022-05-11 19:41:25 +09:00
Salman Ahmed
96db530de6
Focus textbox on control point popovers
2022-05-11 09:55:34 +03:00
Salman Ahmed
0b597e712e
Fix timeline not handling mouse down events
2022-05-11 09:39:27 +03:00
Bartłomiej Dach
202a603d72
Merge branch 'master' into distance-snap-grid-current-tiume
2022-05-07 08:49:30 +02:00
Dean Herbert
dd63657dfb
Merge pull request #18065 from huoyaoyuan/code-style
...
Enforce code style analysis shipped with .NET SDK
2022-05-07 14:58:19 +09:00
Dean Herbert
71758390b5
Fix time based distance grid alpha not correctly accounting for distance spacing multiplier
2022-05-07 13:37:36 +09:00
Salman Ahmed
723fce8174
Move inverting value to happen outside clamp
...
Looks to have no effect, but makes sense to happen outside instead.
2022-05-06 18:54:13 +03:00
Salman Ahmed
d78f1d158d
Use GetEndTime()
instead of StartTime
...
Companion to
246479bf34
2022-05-06 18:51:35 +03:00
Salman Ahmed
112496204d
Make nested class private
2022-05-06 18:50:28 +03:00
Salman Ahmed
3077d398ef
Merge branch 'master' into distance-snap-grid-current-tiume
2022-05-06 18:20:22 +03:00
Salman Ahmed
144d33f0d2
Merge branch 'master' into distance-snapping-test
2022-05-06 17:29:27 +03:00
Bartłomiej Dach
29a3ab7e7a
Halve drag box padding
...
Allows the drag box borders to collapse in on themselves to a single
line if the drag selection has zero width or height.
2022-05-06 15:21:35 +02:00
Dean Herbert
fad1f727bb
Fix editor drag box visuals
2022-05-06 20:34:44 +09:00
Dean Herbert
69592722f8
Highlight distance snap grid rings that are close to the current time value
2022-05-06 18:30:46 +09:00
Dean Herbert
118e58888b
Rename incorrectly named variable (radius is not diameter)
2022-05-06 17:51:51 +09:00
Dean Herbert
37cbc79283
Fix clamping logic to always clamp to the last displayed tick
2022-05-06 17:09:38 +09:00
Dean Herbert
684fef7f8c
Fix MaxIntervals
incorrectly factoring distance spacing multipiler into snap calculation
2022-05-06 17:09:02 +09:00
Dean Herbert
246479bf34
Fix snap extent not working correctly on sliders (and providing incorrect time values)
2022-05-06 15:54:37 +09:00
Dean Herbert
32b40bdabf
Rename DistanceBetweenTick
to be plural
2022-05-06 15:45:36 +09:00
Dan Balasescu
39d10487b9
Merge branch 'master' into snapping-tidy-distance
2022-05-05 19:55:55 +09:00
Dean Herbert
e83604a1fc
Merge branch 'master' into cache-at-interface
2022-05-05 18:54:24 +09:00
Dean Herbert
b9d8b7e413
Fix end time extent not being accounted for in new snap implementation
2022-05-05 18:49:12 +09:00
Dean Herbert
b2e9be70a5
Rewrite CircularDistanceSnapGrid
snapping implementation to use snap provider
2022-05-05 17:52:36 +09:00
Dean Herbert
4c884aea5d
Fix CircularDistanceSnapGrid
returning an incorrect time value when distance spacing is not 1.0
2022-05-05 17:09:14 +09:00
Dean Herbert
786c7f14d3
Expose DistanceSpacingMultiplier
to distance
2022-05-05 17:08:53 +09:00
Dean Herbert
de9b3d33eb
Rename misleading DistanceSpacing
variable
2022-05-05 17:08:09 +09:00
Dean Herbert
4226583afd
Merge branch 'cache-at-interface'
2022-05-05 16:52:03 +09:00
Dean Herbert
19cf9dc20b
Merge branch 'snapping-tidy-distance'
2022-05-05 16:51:32 +09:00
Dean Herbert
1c6a233cc0
Move snap provider caching to interfaces
2022-05-05 16:44:37 +09:00
Dean Herbert
977e6d8a80
Add xmldoc for IDistanceSnapProvider
and related properties
2022-05-05 16:25:45 +09:00
Dean Herbert
f6fc926f1a
Add xmldoc and rename methods in IPositionSnapProvider
for legibility
2022-05-05 15:58:21 +09:00
Dean Herbert
df530cb5ab
Add highlighting to the position snap grid edges in addition to centre lines
2022-05-04 13:49:04 +09:00
Dean Herbert
0bb90c7b07
Fix gridline centering and ensure lines are always rendered using a fixed screen-space width
2022-05-04 13:41:55 +09:00
Huo Yaoyuan
7cf4dabe29
Fix IDE0005 and IDE0034
2022-05-03 13:09:19 +08:00
Salman Ahmed
173a6188eb
Add back float
cast to distance spacing computation
2022-04-29 08:41:37 +03:00
Salman Ahmed
fef94d49f4
Revert "Convert data type of DistanceSpacing
to float"
...
This reverts commit 7aaa88cac2
.
2022-04-29 08:02:07 +03:00
Salman Ahmed
abb88b0907
Move distance spacing application to DistanceSnapGrid
2022-04-28 10:54:38 +03:00
Salman Ahmed
7aaa88cac2
Convert data type of DistanceSpacing
to float
2022-04-28 10:24:36 +03:00
Salman Ahmed
2e8372fe90
Minor cleanup
...
Just from reading diff.
2022-04-28 07:14:43 +03:00
Salman Ahmed
59cf3ff50f
Move distancing methods from IPositionSnapProvider
to IDistanceSnapProvider
2022-04-28 05:48:45 +03:00
Salman Ahmed
70a93c0e7e
Move DistanceSpacingMultiplier
bindable to its own IDistanceSnapProvider
interface
2022-04-24 08:33:00 +03:00
Salman Ahmed
4f8f27a58b
Merge branch 'master' into osu-distance-spacing
2022-04-24 05:23:30 +03:00
Joseph Madamba
5e5c8e78a6
Use existing web localisation for most hardcoded strings
2022-04-20 16:31:11 -07:00
Dean Herbert
68aedd63a7
Move SelectionHandler
's SelectedItems
binding to the base implementation
...
Until now it was up to each implementation to connect
`BlueprintContainer` to its `SelectionHandler`, which didn't make much
sense at all.
2022-03-10 23:22:19 +09:00
Bartłomiej Dach
e1eeb9c6bb
Allow tabbing between textboxes in sample point popover
2022-03-06 01:43:56 +01:00
Dean Herbert
2be40f36f7
Reword popup text to read better (or more vaguely)
...
Removed some words but also don't mention "smaller" because it's...
musically incorrect and also functionally incorrect – entering 1/[8]
will result in 1/16 also being populated for instance.
2022-02-28 15:26:50 +09:00
Dean Herbert
368eadd8d1
Remove unused using statement
2022-02-28 15:24:02 +09:00
Dean Herbert
3634e12e66
Automatically focus divisor textbox and hide popover after successful change
2022-02-28 15:23:01 +09:00
Bartłomiej Dach
7de5dad4f0
Add test coverage for divisor behaviour
2022-02-27 19:23:02 +01:00
Bartłomiej Dach
423838a649
Add flow for specifying entirely custom snaps
2022-02-27 17:55:20 +01:00
Bartłomiej Dach
d0c01afc2e
Add flow for changing set of valid divisors between presets
2022-02-27 15:37:51 +01:00
Bartłomiej Dach
36137e0619
Add simple carousel divisor type selector
2022-02-27 15:37:51 +01:00
Salman Ahmed
0992bec2c8
Change "distance spacing" multipler type to double
...
Avoids losing precision on initial load, causing an unnecessary
hash change in `EditorChangeHandler`.
Resolves test failures in `TestSceneEditorChangeStates`
(https://github.com/ppy/osu/runs/5192493482?check_suite_focus=true ).
2022-02-16 03:28:12 +03:00
Salman Ahmed
528dc03b8c
Expose distance spacing in IPositionSnapProvider
for updating distance grid
...
Alternate method is to expose a `SnapDistancesChanged` event in
`IPositionSnapProvider` instead, but I chose this way as an analogue to
`IBeatSnapProvider.BeatDivisor`, which might even make sense to be
exposed as `BindableBeatDivisor` instead of caching that separately.
2022-02-15 02:21:53 +03:00
Dean Herbert
bdf215c576
Merge branch 'master' into improve-timeline-zoom
2022-01-26 03:40:53 +09:00
Salman Ahmed
4169e5592e
Reword event handler name and update xmldoc
2022-01-25 19:36:19 +03:00
Salman Ahmed
d1cbdf63f0
Add support for reading/saving timeline zoom in editor
2022-01-25 18:57:39 +03:00
Salman Ahmed
5a9524a74e
Decrease default timeline zoom to "6 seconds visible" range
2022-01-25 10:43:51 +03:00
Bartłomiej Dach
735414bc49
Replace TimeSignatures
enum with struct for storage of arbitrary meter
2022-01-22 20:50:31 +01:00
Susko3
19467e58c1
Remove unused params from BDL methods
2022-01-15 01:06:39 +01:00
Bartłomiej Dach
d76c674abc
Add tooltip with relative rotation in degrees to rotation handles
2022-01-08 20:24:15 +01:00
Bartłomiej Dach
24d377fddb
Move implementation of drag handle operations to concrete classes
2022-01-08 20:24:00 +01:00
Dean Herbert
6779503e57
Refactor logic to avoid TimelineSelectionHandler
having to block base calls
2022-01-05 16:56:54 +09:00
Dean Herbert
866ae3472b
Add global flip hotkeys
2022-01-05 16:48:07 +09:00
Dean Herbert
13cce50fa7
Remove existing handling of flip hotkeys
2022-01-05 16:30:42 +09:00
Joseph Madamba
98524d60a4
Fix clear identifier typos
2021-12-27 20:26:28 -08:00
Bartłomiej Dach
7ab1c0c99d
Improve contrast of timeline blueprint foreground content for pastel combo colours
2021-12-21 12:54:17 +01:00
Dean Herbert
1eed2436e6
Clean up unused resolved properties
2021-12-03 18:49:49 +09:00
Dean Herbert
7599efac30
Update editor cases where repeat should not be handled
2021-11-18 13:13:36 +09:00
Bartłomiej Dach
9a19a516f9
Adjust spacings on sample point piece popover
2021-11-13 21:59:45 +01:00
Bartłomiej Dach
73ca1d39a2
Improve sample bank text box UX in case of multiple selection
2021-11-13 21:59:44 +01:00
Bartłomiej Dach
3fee6b0938
Add support for setting sample bank & volume for multiple objects at once
2021-11-13 21:24:59 +01:00
Bartłomiej Dach
9800cd4903
Add test coverage for sample control point piece operation
2021-11-13 18:14:50 +01:00