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
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
09701d0af1
Use explicit primitive type specification
2021-11-04 16:02:37 +09:00
Dean Herbert
0f4f1349db
Merge branch 'master' into editor-context-menu-on-select
2021-11-04 15:59:06 +09:00
Dean Herbert
6944151486
Apply batch fixing of built-in types using var
2021-10-27 13:04:41 +09:00
Jason Won
c633e2e952
only propagate unmodified right click
2021-10-26 16:24:53 -04:00
Jason Won
f64fa65fd5
right click on unselected object shows context menu
2021-10-26 14:52:15 -04: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
Dean Herbert
df85092426
Resolve inner items early in process and rename variable
2021-09-27 14:24:17 +09:00
Dean Herbert
41fb3371e5
Merge branch 'master' into blueprint-container-sorting
2021-09-27 14:12:09 +09: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
Bartłomiej Dach
6dc3e66c93
Include combo information when determining ordering if available
2021-09-26 15:52:25 +02:00
Bartłomiej Dach
a86b9893ac
Always re-sort blueprints before adding/removing one
2021-09-26 15:48:56 +02:00
Bartłomiej Dach
4e094b2127
Implement grid size toggling matching stable
2021-09-19 20:26:02 +02:00
Bartłomiej Dach
56e80a0706
Add rectangular position snap grid
2021-09-19 18:07:19 +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
8b1202153a
Merge pull request #13951 from LumpBloom7/timeline-object-interactions
...
Make timeline blueprints outside of TimelineBlueprint boundaries interactable
2021-07-22 16:20:22 +09: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
f85ff40a6b
Add back LeftMouse button check
2021-07-21 11:47:21 +02:00
Dean Herbert
adda96ac86
Merge pull request #13962 from ekrctb/platform-action
...
Adapt to framework `PlatformAction` type change
2021-07-21 18:17:38 +09:00
ekrctb
1bac471b49
Adapt to PlatformAction
type change
2021-07-21 16:12:53 +09:00
ekrctb
1bff4373b3
Allow specifying flipping support of selection box different from scaling
2021-07-21 15:59:45 +09: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
Bartłomiej Dach
50c27d2635
Update usages of IHasTooltip
in line with framework localisation changes
2021-06-25 19:10:04 +02:00
ekrctb
0b351c9922
Fix "possible NRE" inspection
2021-06-23 10:57:04 +09:00
ekrctb
eec4457473
Add [CanBeNull]
to methods returning null by default
2021-06-23 09:40:07 +09:00
ekrctb
a9c7830252
Fix NRE when hit object blueprint is not implemented
2021-06-22 17:20:13 +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
268230c8c4
Merge branch 'master' into fix-taiko-editor-sample-mutations
2021-05-25 19:01:47 +09:00
Dean Herbert
4fc6ba50b7
Fix editor placement ending early if a blueprint becomes alive from a pool
...
Closes https://github.com/ppy/osu/issues/12630 .
2021-05-24 17:04:02 +09:00
Dean Herbert
4c9d72e62a
Ensure EditorBeatmap.Update
is called inside PerformOnSelection
calls
2021-05-23 21:22:35 +09:00
Dean Herbert
bb2fae55ce
Merge branch 'master' into refactor-selection-rotate-logic
2021-05-21 19:19:54 +09:00
Dean Herbert
df5970fab4
Create base implementations of the two most common TernaryStateMenuItem
s
2021-05-20 19:34:53 +09:00
Dean Herbert
27e81d6504
Implement proper rotation algorithm for skin editor
2021-05-20 18:21:16 +09:00
Dean Herbert
a0f67ef3bc
Move scaling logic out of OsuSelectionHandler
for reuse
2021-05-19 17:37:28 +09:00
Dean Herbert
41d8bc291c
Merge pull request #12783 from smoogipoo/hoc-event-queue
...
Add a HitObjectUsageEventBuffer to handle HOC events appropriately
2021-05-18 22:22:53 +09:00
smoogipoo
97f4f7bbd1
Remove Component inheritance
2021-05-18 18:59:45 +09:00
smoogipoo
633f841a0f
Rename to HitObjectUsageEventBuffer
2021-05-18 18:57:02 +09:00
Dean Herbert
d661e98fa6
Move common functionality out of OsuSelectionHandler
and implement flip support
2021-05-18 18:34:06 +09:00
Dean Herbert
ed957df162
Add simple xmldoc to TransferBlueprintFor
method
2021-05-18 16:40:56 +09:00
Dean Herbert
55cc533a37
Merge branch 'master' into hoc-event-queue
2021-05-18 16:31:20 +09:00
Dean Herbert
a96603f025
Merge pull request #12782 from smoogipoo/rework-hitobject-blueprints
...
Rename hitobject blueprints and tie them to HitObjects
2021-05-18 16:30:58 +09:00
smoogipoo
75c0d4d972
Merge branch 'rework-hitobject-blueprints' into hoc-event-queue
2021-05-18 14:33:52 +09:00
smoogipoo
882d54a8f8
Remove now unnecessary Apply() method
2021-05-18 14:26:26 +09:00
smoogipoo
e621cfc4ea
Add Apply() method for applying new DHOs
2021-05-18 14:14:10 +09:00
smoogipoo
f1f3606fd0
Fix unresolved xmldocs
2021-05-18 13:11:58 +09:00
Dan Balasescu
9d423245d8
Fix up xmldocs
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-05-18 13:02:23 +09:00
smoogipoo
aaf31af326
Add blueprint transferral
2021-05-13 21:16:19 +09:00
Dan Balasescu
746862dcb1
Merge pull request #12750 from peppy/skin-serialisation
...
Add skin editor saving / loading support
2021-05-13 20:58:03 +09:00
smoogipoo
ffb6135a1b
Rework hitobject blueprints to take in hitobject models
2021-05-13 19:53:32 +09:00
Salman Ahmed
96d3586294
Fix rotation handle visibility logic not handling two handles hovered at once
2021-05-12 11:42:55 +03:00
Dean Herbert
a4e0529617
Replace polling logic with direct bindable reactions
2021-05-11 18:39:15 +09:00
Dean Herbert
6bb52ebcf8
Merge pull request #12570 from frenzibyte/corner-rotation-controls
...
Add rotation controls to editor selection box corners
2021-05-10 23:09:44 +09:00
Salman Ahmed
2a67361dc0
OnOperation -> TriggerOperation
2021-05-05 21:50:16 +03:00
Bartłomiej Dach
3cac837acf
Merge branch 'master' into skin-bindables
2021-05-05 20:16:27 +02:00
Salman Ahmed
eeeb001d62
Refactor combo colour retrieval logic to request skin lookups instead
2021-05-05 07:17:27 +03:00
Salman Ahmed
1ac80d42f9
Merge branch 'master' into corner-rotation-controls
2021-05-04 23:53:23 +03:00
Bartłomiej Dach
4185053120
Merge branch 'master' into fix-selection-handler-visibility
2021-05-04 20:21:05 +02:00
Salman Ahmed
8abff4881b
Hide the corresponding rotation handle when holding scale handle
2021-05-04 07:31:55 +03:00
Salman Ahmed
b2a0c2b563
Consider drag handles active using mouse down instead of when dragged
2021-05-04 06:41:26 +03:00
Salman Ahmed
5f33c3514e
Move selection box control internal events to drag handles
2021-05-04 06:37:22 +03:00
Salman Ahmed
fd7a6b3a7c
Finish transforms on controls load complete
2021-05-04 06:37:20 +03:00
Dean Herbert
b28e1569ca
Remove no-longer-relevant matching comment
2021-05-03 20:09:50 +09:00
Salman Ahmed
840c22a3b1
Add back mis-removed fade transform
2021-05-03 12:16:40 +03:00
Dean Herbert
4f8240f19a
Merge branch 'master' into corner-rotation-controls
2021-05-03 18:02:23 +09:00
Dean Herbert
fdd0713988
Merge branch 'fix-selection-handler-visibility' into skin-bindables
2021-05-03 17:40:03 +09:00
Dean Herbert
3268a75f05
Remove intermediate container to fix tests
2021-05-03 17:35:56 +09:00
Dean Herbert
839ac968a9
Fix tooltips displaying for hidden SelectionHandler
content
2021-05-03 17:28:24 +09:00
Dean Herbert
4cfa858dc4
Fix tooltips displaying for hidden SelectionHandler
content
2021-05-03 15:37:15 +09:00
Dean Herbert
01984de9c7
Use existing GetStateFromSelection
helper function
2021-05-03 15:13:32 +09:00
Dean Herbert
8c9cfb6301
Remove unsafe access to Composer.HitObjects
2021-05-03 14:28:35 +09:00
Salman Ahmed
b83aa0bd76
Avoid LINQ in update
2021-05-02 06:21:14 +03:00
Salman Ahmed
0aa17e7c95
Rewrite selection box computation logic with RectangleF
's helper methods
2021-05-02 02:51:06 +03:00
Salman Ahmed
07fe99025f
Use bounding box of blueprint for computing selection box area
2021-05-02 02:36:40 +03:00
Dean Herbert
9c62c90cfc
Refactor SelectionBlueprint
and MoveSelectionEvent
to work in screen-space coordinates
...
Until now, the implementation of the overrides in `SelectionBlueprint`
have been confusing to the point where I would just implement by
trial-and-error (or copying from an existing implementation). This was
due to a combination of using "object" space coordinates
(ie. the thing the `Blueprint` is operating on) and screen-space coordinates.
This change switches all event related coordinates to screen-space,
which is how we already handle rotation/scale operations. With the
introduction of other editor types where the related objects are
drawables, this also makes a lot more sense.
2021-04-29 16:10:42 +09:00
Dean Herbert
e0906daebf
Change one remaining instance of incorrect terminology in xmldoc
2021-04-28 13:49:41 +09:00
Dean Herbert
4c9e94da2b
Move context menu logic to base class
2021-04-28 13:43:16 +09:00
Dean Herbert
532ec40395
Remove unnecessary newline
2021-04-28 12:04:48 +09:00
Dean Herbert
43772f4303
Remove duplicated call to initially select blueprint
2021-04-28 12:03:41 +09:00
Dean Herbert
e4f2e0131c
Rename AllowDeselection
to better match use case
2021-04-28 12:02:55 +09:00
Dean Herbert
a9a5809e94
Fix incorrect xmldoc in MoveSelectionEvent
2021-04-28 11:46:52 +09:00
Dean Herbert
d0be8f9fb3
Remove one more out-of-date comment
2021-04-28 11:45:36 +09:00
Dean Herbert
bc455005a5
Fix incorrect coordinate space mention in xmldoc
2021-04-28 11:44:50 +09:00
Dean Herbert
61d4eb1777
Remove unnecessary and out-of-place xmldoc
2021-04-28 11:44:19 +09:00
Dean Herbert
aa1cb65eaa
Rename region to be more inclusive
2021-04-28 11:42:22 +09:00
Dean Herbert
42255f8d33
Rename and xmldoc selection completed method
2021-04-27 19:01:29 +09:00
Dean Herbert
7ec5ea1eb5
Remove hitobject terminology from base classes
2021-04-27 19:01:29 +09:00
Dean Herbert
ff06a27a12
Revert changes to OnBlueprint
methods and handle select-on-addition locally
2021-04-27 19:01:29 +09:00