1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-27 13:02:56 +08:00
Commit Graph

823 Commits

Author SHA1 Message Date
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
Dan Balasescu
1bb9f018a0
Merge branch 'master' into fix-timeline-depth-ordering 2021-03-29 20:47:47 +09:00
Dan Balasescu
3cf6a3f56d
Merge pull request #12076 from peppy/add-timeline-stacking-support
Implement editor timeline stacking support
2021-03-29 20:44:52 +09:00
Dean Herbert
690debe507
Merge pull request #12030 from LeNitrous/editor-platform-clipboard-copy 2021-03-29 19:31:16 +09:00
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