1
0
mirror of https://github.com/ppy/osu.git synced 2024-09-24 00:47:26 +08:00
Commit Graph

382 Commits

Author SHA1 Message Date
Dean Herbert
f6fc926f1a Add xmldoc and rename methods in IPositionSnapProvider for legibility 2022-05-05 15:58:21 +09:00
Salman Ahmed
59cf3ff50f Move distancing methods from IPositionSnapProvider to IDistanceSnapProvider 2022-04-28 05:48:45 +03:00
Salman Ahmed
4f8f27a58b Merge branch 'master' into osu-distance-spacing 2022-04-24 05:23:30 +03:00
Bartłomiej Dach
e1eeb9c6bb
Allow tabbing between textboxes in sample point popover 2022-03-06 01:43:56 +01:00
Bartłomiej Dach
d0c01afc2e
Add flow for changing set of valid divisors between presets 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
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
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
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
Bartłomiej Dach
e1c28ddd76
Adjust difficulty point popover content spacing 2021-11-12 23:32:12 +01:00
Bartłomiej Dach
e55e2a1697
Allow to adjust slider velocity on multiple objects simultaneously 2021-11-12 23:32:11 +01:00
Bartłomiej Dach
7ba93aac27
Add test coverage for difficulty point piece operation 2021-11-12 22:16:09 +01:00
Dean Herbert
6944151486 Apply batch fixing of built-in types using var 2021-10-27 13:04:41 +09:00
Dean Herbert
c47497923a Schedule drag events for now 2021-10-15 19:52:44 +09:00
Dean Herbert
3909fd8caa Fix wonkiness when dragging slider end at high input refresh rates 2021-10-15 19:43:57 +09:00
Dean Herbert
ac471a0ec1 Merge branch 'no-more-difficulty-control-points-info' into slider-timeline-velcotiy-adjust-v2 2021-10-01 17:46:58 +09:00
Dean Herbert
46bafb6252 Merge branch 'master' into no-more-difficulty-control-points-info 2021-09-28 13:53:56 +09:00
Bartłomiej Dach
ca6cbca04a
Fix range selection crashing after non-mouse selection 2021-09-27 20:54:29 +02:00
Bartłomiej Dach
d3203f83dd
Add implementation of range selection 2021-09-26 20:12:26 +02:00
Bartłomiej Dach
81d160c85a
Add test covering expected UX of range selection 2021-09-26 19:27:47 +02:00
smoogipoo
f9d5abff8a Update with keybinding changes 2021-09-16 18:26:12 +09:00
Dean Herbert
563bf92529 Also update the full object on sample changes to make them apply immediately 2021-09-14 19:21:23 +09:00
Dean Herbert
d825da3983 Add note about a better way to adjust velocity 2021-09-14 18:54:29 +09:00
Dean Herbert
e4dd59aee2 Add popovers to adjust SV and samples from the timeline 2021-09-14 18:51:22 +09:00
Dean Herbert
9d17f84681 Adjust timeline height to account for less global control points 2021-09-14 18:51:11 +09:00
Dean Herbert
9551e77553 Remove difficulty and sample sections from timing screen 2021-09-14 18:51:11 +09:00
Dean Herbert
87cfcf706e Add ability to change slider velocity with shift-drag 2021-09-14 18:26:17 +09:00
Dean Herbert
6015b5037a Display difficulty and sample control points associated with hitobjects 2021-09-14 18:26:16 +09:00
Dean Herbert
d4e5a612ea Update IPositionalSnapProvider to take a HitObject as reference, rather than raw time
This allows fetching the correct `DifficultyControlPoint` from the
hitobject. Nothing more.
2021-09-03 17:11:12 +09:00
Dean Herbert
a3d9ab1e2e Move approach rate to EffectControlPoint 2021-09-03 16:58:16 +09:00
Dean Herbert
f16468b706 Improve visibility of repeat ticks / drag areas on timeline 2021-08-17 18:17:55 +09:00
Dean Herbert
50a2abbe7f
Merge pull request #12683 from frenzibyte/legacy-beatmap-combo-offset
Apply combo offsets "colour hax" only on beatmap skins
2021-07-23 14:30:18 +09:00
Salman Ahmed
7bc30b46ff Use BindValueChanged with last running immediately instead 2021-07-23 07:51:58 +03:00
Salman Ahmed
ee3791ccf2 Update colours once on TimelineHitObjectBlueprint 2021-07-23 06:25:56 +03:00
Salman Ahmed
523c154f15 Add ComboIndexWithOffsetsBindable and bind similar to ComboIndexBindable 2021-07-22 16:40:33 +03:00
Dean Herbert
957a0686ed Split out nested classes from TimelineBlueprintContainer
They got too big.
2021-07-22 15:48:08 +09:00
Dean Herbert
b5cc9010de Move resolved property to top of class 2021-07-22 15:39:01 +09:00
Derrick Timmermans
9d43ca122f
Allow context menus to be triggered as well 2021-07-21 12:04:09 +02:00
Derrick Timmermans
a8cf6a6854
Fix slight Y position offset in HandleDrag 2021-07-20 23:00:58 +02:00
Derrick Timmermans
bfec87b082
Let TimelineBlueprintContainer only accept positional input within timeline quad 2021-07-20 22:30:50 +02:00
Derrick Timmermans
8b09ddbcd6
Merge branch 'ppy:master' into timeline-object-interactions 2021-07-20 16:36:39 +02:00
Salman Ahmed
1af230c48c Merge branch 'master' into refactor-combo-colour-retrieval 2021-07-20 10:08:25 +03:00
Derrick Timmermans
2e2a2bdd99
Allow moving timeline selection when mousedown event is outside of blueprint container 2021-07-18 18:06:59 +02:00
Derrick Timmermans
ee220feecf
Avoid using guesses to determine whether inputs blocked 2021-07-18 16:04:23 +02:00
Derrick Timmermans
e35cff99c7
Pass on mouseDown input to timeline if no selection modification is made with that input 2021-07-16 17:21:43 +02:00
Derrick Timmermans
3e8a13bfbf
Allow interacting with timeline objects outside of drawable bounds 2021-07-16 16:16:34 +02:00
ekrctb
0b351c9922 Fix "possible NRE" inspection 2021-06-23 10:57:04 +09:00
Dean Herbert
bc3b7233ab Show osu!taiko centre/rim colouring in editor timeline
Closes #13443.
2021-06-11 14:17:30 +09:00
Dean Herbert
4c9d72e62a Ensure EditorBeatmap.Update is called inside PerformOnSelection calls 2021-05-23 21:22:35 +09:00
Salman Ahmed
eeeb001d62 Refactor combo colour retrieval logic to request skin lookups instead 2021-05-05 07:17:27 +03:00
Dean Herbert
7ec5ea1eb5 Remove hitobject terminology from base classes 2021-04-27 19:01:29 +09:00
Dean Herbert
f2e56bd306 Refactor editor selection/blueprint components to be generic 2021-04-27 19:01:29 +09:00
Dean Herbert
a5364b224f Add simple key based time nudging support to editor 2021-04-22 18:47:04 +09:00
Bartłomiej Dach
0825fc57a9 Move foreground colour helper into OsuColour 2021-04-19 18:24:48 +02:00
Bartłomiej Dach
a8027d87b6 Fix unreadable colour hex code text due to low contrast
Logic is shared with the timeline blueprints which also have the same
problem of displaying text on top of a combo colour.

Slightly modified the formula. Seems to yield better results on a
subjective check.
2021-04-18 20:44:55 +02:00
Dean Herbert
d9d50f0e88 Add border showing selected blueprints in timeline 2021-04-16 18:16:22 +09:00
Dean Herbert
42c066e6f2 Fix slider not displaying in timeline during zero-duration placement 2021-04-16 13:38:55 +09:00
Dean Herbert
c2340f1fe8 Move zoom settings back to run in a non-loaded state 2021-04-16 01:01:03 +09:00
Dean Herbert
15d48a924b Set the timeline's height to a sane non-zero default
This isn't required but makes the initial appearance animation nicer.
2021-04-16 00:58:32 +09:00
Dean Herbert
7cf15fe729
Merge pull request #12412 from peppy/timeline-adjustments
Update timeline control point display
2021-04-15 22:43:26 +09:00
Andrei Zavatski
71b06d7e61 Simplify ExtendableCircle even more 2021-04-15 15:53:21 +03:00
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
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
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
Dean Herbert
cb48e5f158 Fix timeline not visually ordering hitobjects in a stable way 2021-03-26 16:33:18 +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
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
Bartłomiej Dach
a691291ae8 Merge branch 'master' into editor-song-end 2021-03-17 18:18:19 +01: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
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
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
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
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
c9a41f9dae Make all objects in selection candidates for spatial snapping
Closes #10898.
2020-11-24 17:35:54 +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
Bartłomiej Dach
610ed99ae3 Add null checks to unguarded resolved-as-null fields 2020-11-14 14:52:58 +01:00
smoogipoo
0219aff7bc Add timeline visible range adjustment 2020-11-13 17:10:29 +09:00
smoogipoo
4ef2e9548c Pass HitObjectComposer to BlueprintContainer via ctor 2020-11-13 16:59:37 +09:00
Bartłomiej Dach
ddbd6df24d Unbind bindable lists for general safety 2020-11-07 20:59:57 +01: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
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
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
Bartłomiej Dach
432282e8de Use alternative solution to avoid storing last zoom 2020-11-01 21:25:05 +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
Leon Gebler
704f8cc4f2 Fix selection box wandering off into the distance 2020-10-26 18:45:03 +01:00
Dean Herbert
79a17b2371 Reapply waveform colour fix 2020-10-19 16:57:08 +09:00
Dan Balasescu
ecfb7e94c5
Merge branch 'master' into fix-editor-batch-handling 2020-10-09 20:06:06 +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
afed832b19 Tidy up EditorBeatmap slightly 2020-10-08 18:06:49 +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