Nguyên Minh Hồ
9950395e5f
Merge branch 'fix-rotate-editor-button-disabled' of https://github.com/honguyenminh/osu into fix-rotate-editor-button-disabled
2024-03-30 13:57:44 +07:00
Nguyên Minh Hồ
113dbcd10f
Merge branch 'master' into fix-rotate-editor-button-disabled
2024-03-30 13:56:31 +07:00
Dean Herbert
fd509c82f5
Adjust code structure slightly
2024-03-20 12:52:54 +08:00
Andrei Zavatski
7ca45c75b3
Don't iterate backwards on children without a reason
2024-03-18 20:46:38 +03:00
Andrei Zavatski
0edc249637
Make Timeline non-nullable
2024-03-18 20:38:19 +03:00
Andrei Zavatski
57399e9899
Merge branch 'master' into editor-performance
2024-03-18 20:34:48 +03:00
Andrei Zavatski
34a5e2d606
Don't update subtree masking in TimelineTickDisplay
2024-03-16 15:20:37 +03:00
Andrei Zavatski
981ee54cdc
Fix transforms overhead in TimelineTickDisplay
2024-03-16 15:05:52 +03:00
Andrei Zavatski
e825db61ee
Fix enumerator allocation
2024-03-16 12:26:56 +03:00
Andrei Zavatski
ea3a9314f9
Improve TimelineControlPointDisplay performance
2024-03-16 11:57:18 +03:00
Andrei Zavatski
6ecef33fd7
Fic incorrect ExtendableCircle gradient
2024-03-10 22:45:29 +03:00
Dan Balasescu
ca92a31cf9
Fix missing event unbinds
2024-03-07 21:10:11 +09:00
Dean Herbert
6455c0583b
Update usage of CircularProgress.Current
2024-03-06 12:13:10 +08:00
Andrei Zavatski
4cefa8bb8d
Reduce allocations in TimelineBlueprintContainer
2024-02-21 23:13:10 +03:00
Andrei Zavatski
2543a48ac8
Apply padding to GridContainers directly
2024-02-20 23:18:37 +03:00
Berkan Diler
6adf0ac01e
Use new LINQ Order() instead of OrderBy() when possible
2024-02-08 18:01:00 +01:00
Dan Balasescu
b44f77cee1
Update R# + fix inspections
2024-02-02 21:00:28 +09:00
OliBomby
576d6ff799
Fix masking in circular snap grid
2024-02-01 17:07:57 +01:00
OliBomby
f807a3fd97
Remove Masking from PositionSnapGrid
...
This caused issues in rendering the outline of the grid because the outline was getting masked at some resolutions.
2024-02-01 16:57:45 +01:00
OliBomby
1428cbfbc3
Remove Masking from PositionSnapGrid
...
This caused issues in rendering the outline of the grid because the outline was getting masked at some resolutions.
2024-02-01 16:56:57 +01:00
OliBomby
c2d57dc77c
Merge remote-tracking branch 'upstream/master' into edit-nodesample
2024-01-25 11:33:29 +01:00
Nguyên Minh Hồ
d5b70ed09a
Move CanRotatePlayfieldOrigin bindable to generic rotation handler
2024-01-25 16:58:44 +07:00
Nguyên Minh Hồ
e1f8bc9692
Rename CanRotate property of SelectionRotationHandler to a more descriptive name
2024-01-25 12:10:50 +07:00
Mike Will
9e1c242713
Prevent custom divisor ranges from halting preset cycling
...
A custom divisor like 24 or 32 will result in a range containing
many divisors that are already in the `Common` and `Triplets` presets.
When this happens, it can become impossible to cycle between presets,
because the preset can only be changed if the new divisor isn't already
contained within the current preset's range.
2024-01-24 18:31:39 -05:00
Salman Ahmed
2bd9cd5d34
Fix blueprint container not handling right clicks correctly while moveing an element
2024-01-22 04:39:08 +03:00
OliBomby
78e87d379b
fix divide by zero
2024-01-20 16:53:11 +01:00
OliBomby
5f40d3aed9
rename variable
2024-01-20 16:29:26 +01:00
OliBomby
9b9485f656
fix adjust axes detection
2024-01-20 15:39:38 +01:00
OliBomby
1596776a81
fix imports
2024-01-20 15:15:49 +01:00
OliBomby
0fc448f4f3
fix adjusting scale from anchor
2024-01-20 15:12:48 +01:00
OliBomby
6a4129dad8
fix aspect ratio transform
2024-01-20 15:11:35 +01:00
OliBomby
fcaa5ec20e
remove debug logs
2024-01-20 13:26:08 +01:00
OliBomby
6a57be0a50
clean up code and fix flipping
2024-01-20 13:04:05 +01:00
OliBomby
a4f771ec08
refactor CanScale properties
2024-01-20 01:13:01 +01:00
OliBomby
26c0d1077a
Refactor scale handling in editor to facilitate reuse
2024-01-20 00:22:53 +01:00
Dean Herbert
bdfaa4b583
Fix crash when dragging rotation control in editor with both mouse buttons
...
Closes https://github.com/ppy/osu/issues/26325 .
2024-01-03 13:34:50 +09:00
OliBomby
6bb72a9fcc
Revert "Remove other grid types"
...
This reverts commit de14da95fa
.
2024-01-01 15:46:07 +01:00
OliBomby
de14da95fa
Remove other grid types
2024-01-01 15:44:20 +01:00
OliBomby
f649fa106f
Added bindables and binding with BindTo
2024-01-01 15:13:11 +01:00
OliBomby
d0ca3f2b2b
Add circular grid
2024-01-01 15:13:11 +01:00
OliBomby
847f04e63a
reduce opacity of middle cardinal lines
2024-01-01 15:13:10 +01:00
OliBomby
8a331057b0
Make it actually possible to change grid type
2024-01-01 15:13:10 +01:00
OliBomby
f223487e1c
improve code
2024-01-01 15:13:10 +01:00
OliBomby
0ce1a48e68
Add comment
2024-01-01 15:13:10 +01:00
OliBomby
a20c430d6f
fix wrong grid cache being used
2024-01-01 15:13:10 +01:00
OliBomby
d0c8b285ce
clean up code duplication
2024-01-01 15:13:10 +01:00
OliBomby
92c3b142a4
Added Triangular snap grid
2024-01-01 15:11:50 +01:00
OliBomby
f2edd705ea
add rotation to snapped position
2024-01-01 15:11:49 +01:00
OliBomby
f3b88c318b
Add rotation to snap grid visual
2024-01-01 15:11:49 +01:00
Bartłomiej Dach
99cddb6317
Use alternative workaround
2023-12-29 11:07:45 +01:00
Bartłomiej Dach
cd1f6b46c4
Fix crash after changing audio track in editor
...
Closes https://github.com/ppy/osu/issues/26213 .
Reproduction scenario: switch audio track in editor after timeline
loads.
Happens because `beatmap.Value.Track.Length` is 0 immediately after a
track switch, until BASS computes the actual track length on the audio
thread.
Yes this is a hack. No I have no better immediate ideas how to address
this otherwise.
2023-12-29 10:37:36 +01:00
Bartłomiej Dach
288ac930e4
Use new icons in editor
...
Some that exist on figma are purposefully not used due to an editorial
request from @peppy.
2023-12-27 17:42:18 +01:00
Dean Herbert
f9e47242db
Add visual offset to better align editor waveforms with expectations
2023-12-26 17:44:49 +09:00
OliBomby
c167f10ad5
fix crash from dragging near zero-length repeating object in timeline
2023-12-19 21:20:45 +01:00
Bartłomiej Dach
d83b2e24e7
Merge pull request #25371 from RatinFX/open-editor-timestamp
...
Implement opening editor timestamp links
2023-11-21 15:48:36 +09:00
Bartłomiej Dach
234ef6f923
Rectify selection keep-alive logic
2023-11-20 21:57:14 +09:00
Dean Herbert
35e11c7c63
Rename diagonal scale variable and update xmldoc
2023-11-10 17:55:02 +09:00
Dean Herbert
ec3b6e47fb
Change selection handling to adjust Size
instead of Scale
for edge nodes
2023-11-10 14:22:28 +09:00
ratinfx
bdbeb2bce4
Renamed CollectionChanged event handler
2023-11-07 11:11:32 +01:00
ratinfx
44f127c8a8
Renamed method and made private
2023-11-07 01:02:45 +01:00
ratinfx
277cf7dc12
Ensure every SelectedItem is alive and has Blueprint
2023-11-05 18:26:51 +01:00
Bartłomiej Dach
144006fbe8
Update autoselect implementation to work correctly with framework changes
2023-10-31 08:38:22 +01:00
Bartłomiej Dach
8a68333425
Merge branch 'master' into beat-divisor-select-text-on-click
2023-10-31 08:36:53 +01:00
Dean Herbert
63e6eaf538
Fix failing tests
2023-10-30 18:06:11 +09:00
Dean Herbert
57d88a0ac4
Fix right clicks on timeline objects potentially getting eaten by playfield area
...
`SelectionHandler` is receiving input from anywhere out of necessity:
19f892687a/osu.Game/Screens/Edit/Compose/Components/SelectionHandler.cs (L119-L125)
Also important is that `BlueprintContainer` will selectively not block
right clicks to make sure they fall through to the
`ContextMenuContainer`:
19f892687a/osu.Game/Screens/Edit/Compose/Components/BlueprintContainer.cs (L122-L126)
But because the whole editor is sharing a `ContextMenuContainer` and
it's at a higher level than both components, we observe here the
playfield's `SelectionHandler` intercepting the right click before it
can reach the `ContextMenuContainer`.
The fix here is similar to what we're already doing in
`TimelineBlueprintContaienr`.
2023-10-30 18:06:11 +09:00
Bartłomiej Dach
12282fff5c
Disallow setting sample volume lower than 5% in editor
2023-10-20 15:50:21 +02:00
Dean Herbert
52c2eb93de
Merge branch 'master' into taiko-beat-snap-grid
2023-10-19 23:53:01 +09:00
Dean Herbert
5341a335a6
Bypass Parent
nullability checks for now
2023-10-17 17:48:45 +09:00
Dean Herbert
2a89a25790
Add beat snap grid to osu!taiko editor
...
Addresses https://github.com/ppy/osu/discussions/25150 .
2023-10-17 16:59:56 +09:00
Dean Herbert
1b9acdf55c
Abstract out common implementation of BeatSnapGrid
2023-10-17 16:42:52 +09:00
Dean Herbert
1a37543d28
Rename SliderVelocity
to SliderVelocityMultiplier
to distinguish from Velocity
2023-09-06 19:01:08 +09:00
Hồ Nguyên Minh
d5a89c4c45
Fix formatting
2023-09-04 13:32:42 +07:00
Hồ Nguyên Minh
b17a55d6a8
Add length check for slider velocity
2023-09-04 10:43:05 +07:00
Wleter
fc4069f794
let SelectionBox perform flip with scale handles
2023-09-01 13:01:51 +02:00
Wleter
14ee0ee395
Merge branch 'ppy:master' into skin-editor-selection-negative-scaling
2023-08-29 17:30:55 +02:00
Wleter
d56ab0fe9a
change names
2023-08-29 17:25:52 +02:00
Wleter
07e126241d
working negative scaling
2023-08-28 16:41:55 +02:00
Dean Herbert
081fb308e1
Merge branch 'master' into new-overlay-sfx
2023-08-24 18:29:00 +09:00
Jamie Taylor
d10d7b6ea4
Change some component samples to go better with overlay pop-in samples
2023-08-17 18:36:37 +09:00
OliBomby
88e6fe72dc
fix code quality
2023-08-16 23:09:04 +02:00
OliBomby
fd54c329fa
dont focus volume, so keybinds immediately available
2023-08-16 22:08:49 +02:00
OliBomby
a938b810b4
Add keybind for bank setting
2023-08-16 22:07:36 +02:00
OliBomby
02b7c8f27b
Move sliderbody hs to middle of first span
2023-08-16 21:15:47 +02:00
Bartłomiej Dach
19f892687a
Add precise rotation control to osu! editor
2023-08-16 11:37:52 +02:00
Dean Herbert
f06b203067
Merge branch 'master' into edit-nodesample
2023-07-31 14:06:38 +09:00
Bartłomiej Dach
ebe5dd2ac9
Interface with SelectionRotationHandler
via DI rather than explicit passing
2023-07-30 20:21:41 +02:00
Bartłomiej Dach
262f25dce8
Make SelectionRotationHandler
a Component
2023-07-30 20:18:33 +02:00
Bartłomiej Dach
821cd08f34
Merge branch 'master' into selection-operations-refactor
2023-07-30 19:29:06 +02:00
Bartłomiej Dach
c6f0cf50ca
Use better safety in rectangular grid
...
- Checking `DrawSize != Vector2.Zero` is too specific. It could also
crash on zero-height-but-non-zero-width, or
zero-width-but-non-zero-height.
- Take the `gridCache.Validate()` call out of the zero checks, because
even if the width or height are zero, not generating anything is valid
and there is no reason to validate every frame until `gridCache` gets
invalidated again.
2023-07-28 22:57:02 +02:00
Dean Herbert
0e4db9b439
Add safety in RectangularPositionSnapGrid
that size is greater than zero
...
Would crash otherwise
2023-07-28 16:25:40 +09:00
Dean Herbert
7fd6bb9d5f
Fix a couple of code style issues in SelectionBox
2023-07-26 14:04:38 +09:00
Dean Herbert
39c2bb240b
Apply NRT to SelectionBoxRotationHandle
.
2023-07-26 14:04:21 +09:00
Dean Herbert
eac6271bd0
Add new property to avoid overlapping usages
2023-07-25 18:14:03 +09:00
Bartłomiej Dach
a201152b04
Add xmldoc to SelectionRotationHandler
2023-07-23 20:56:22 +02:00
Bartłomiej Dach
aec3ca250c
Migrate SelectionHandler
to use SelectionRotationHandler
2023-07-23 20:56:22 +02:00
Bartłomiej Dach
ba8ebefb50
Add basic structure for new rotation handler
2023-07-23 20:56:22 +02:00
Bartłomiej Dach
4622255cc7
Move out helper methods to static class
2023-07-23 18:24:20 +02:00
Dean Herbert
cdcb10e0e7
Fix timeline centre point being ever-so-slight off
2023-07-21 15:26:41 +09:00
Dean Herbert
f489dbd7a9
Reduce width of right toolbar ever so slightly (and use more shared constants)
2023-07-21 14:39:15 +09:00
Dean Herbert
ca3d1538ae
Merge branch 'master' into editor-metrics
2023-07-21 14:26:32 +09:00
Bartłomiej Dach
07e0a703d7
Adjust inline comment
2023-07-20 20:51:39 +02:00
Bartłomiej Dach
708dd355cd
Merge branch 'master' into editor-cyclic-selection
2023-07-20 20:19:46 +02:00
Bartłomiej Dach
511948ba56
Add xmldoc to ApplySelectionOrder()
2023-07-20 19:16:04 +02:00
Dean Herbert
cf3949c9e2
Fix double-click handling when cyclic selection is enabled
...
Removes the limitations of cyclic selection as a result.
2023-07-19 17:21:20 +09:00
Dean Herbert
5ade093c5a
Change editor to always perform selection of closest object
2023-07-19 16:56:16 +09:00
Dean Herbert
57abb15724
Update design of timeline centre marker and adjust surrounding paddings
2023-07-14 16:37:57 +09:00
Dean Herbert
00e9746174
Implement longer design for timing point piece
2023-07-14 16:37:56 +09:00
Dean Herbert
01750dd091
Update metrics of checkboxes and backgrounds to match design better
2023-07-14 14:29:02 +09:00
Dean Herbert
5b2e704264
Move beat divisor control inside of TimelineArea
and adjust metrics to match design
2023-07-14 14:19:04 +09:00
Dean Herbert
ebaf63b764
Apply NRT to timeline related classes
2023-07-14 14:04:12 +09:00
Dean Herbert
56acc9e3dd
Change BeatDivisorControl
to retrive bindable divisor via DI
2023-07-14 14:03:25 +09:00
Susko3
2dcd790442
Resolve Clipboard
via DI
2023-07-11 11:42:31 +02:00
Bartłomiej Dach
45194b2b4a
Fix pressing Ctrl-C in composer not copying timestamp to system clipboard
2023-07-09 18:21:43 +02:00
Bartłomiej Dach
9eec1337b3
Use slightly different condition for better UX
2023-07-01 21:39:08 +02:00
Bartłomiej Dach
183777f8df
Fix edge cases where selection buttons go outside playfield bounds
...
Addresses
https://github.com/ppy/osu/discussions/23599#discussioncomment-6300885 .
2023-07-01 21:27:17 +02:00
Bartłomiej Dach
e4e08c0f5f
Fix selection handlers eating hotkey presses they didn't handle
2023-06-28 20:48:22 +02:00
Dean Herbert
29376ffcc0
Trigger state change when flipping via hotkey in the editor
...
This will trigger a change even if nothing happens. But I think that's
okay (not easy to avoid) because the change handler should be aware that
nothing changed, if anything.
Closes https://github.com/ppy/osu/issues/24065 .
2023-06-28 13:52:51 +09:00
Bartłomiej Dach
9be2d9d62e
Fix hotkey presses generating unnecessary undo history
...
The buttons don't check whether the operation they correspond to is
possible to perform in the current state of the selection box, so not
checking `Can{Reverse,Rotate}` causes superfluous undo states to be
added without any real changes if an attempt is made to reverse or
rotate a selection that cannot be reversed or rotated.
2023-06-27 22:25:04 +02:00
Bartłomiej Dach
17ed45d07c
Mention hotkeys in button tooltips
2023-06-27 22:04:15 +02:00
Bartłomiej Dach
54280f06be
Switch to == true
2023-06-27 22:02:15 +02:00
Bartłomiej Dach
ad3a470eaf
Enable NRT in SelectionBox
2023-06-27 22:01:44 +02:00
Dean Herbert
c6d952abe3
Add support for Ctrl
+ <
/ >
to rotate selection in editor
...
As discussed in https://github.com/ppy/osu/discussions/24048 .
2023-06-27 17:01:41 +09:00
Dean Herbert
7ddbf4eaa7
Add a visual effect when keyboard shortcuts are used to trigger selection box buttons
2023-06-27 17:01:13 +09:00
Dean Herbert
df5b389629
Manual fixes to reduce warnings to zero
2023-06-24 01:52:53 +09:00
Dean Herbert
0ab0c52ad5
Automated pass
2023-06-24 01:00:03 +09:00
Dean Herbert
84fc6e92db
Fix slightly incorrect calculations
2023-06-19 20:23:46 +09:00
Dean Herbert
4314f9f46a
Merge branch 'master' into fix-distance-snap-grid-centering
2023-06-19 20:22:09 +09:00
Bartłomiej Dach
28696f595f
Privatise setter
2023-06-16 16:24:07 +02:00
Dean Herbert
d965d39c44
Fix distance snap grid circles not correctly being centered on snap point
2023-06-16 17:21:32 +09:00
Dean Herbert
36954e55ad
Fix incorrect mapping when distance spacing is not 1.0x
2023-06-16 17:15:45 +09:00
Dean Herbert
78b2e6f3df
Add setting to limit distance snapping to current time
...
As discussed in https://github.com/ppy/osu/discussions/23815#discussioncomment-6124116 .
2023-06-09 15:54:33 +09:00
Bartłomiej Dach
4b3b22f046
Merge branch 'master' into beat-divisor-better-defaults
2023-06-08 20:35:03 +02:00
Dean Herbert
c1743dbe1d
Select all text when popover is initially shown
...
Depends on https://github.com/ppy/osu-framework/pull/5823 .
2023-06-09 02:27:22 +09:00
Bartłomiej Dach
3c8f387a6c
Remove unused method
2023-06-07 23:38:06 +02:00
Bartłomiej Dach
d9281ac8c7
Remove unused virtual
spec
2023-06-07 23:38:06 +02:00
Dean Herbert
3a01498789
Use existing next/previous methods (and remove looping behaviour)
2023-06-08 01:01:29 +09:00
Dean Herbert
2c89af608a
Add ability to cycle beat snap divisor using hotkeys
...
Defaults to Ctrl+Shift+Wheel (as per stable).
Closes #23785 .
2023-06-07 17:15:15 +09:00
Salman Ahmed
62cb6a98ca
Remove redundant nullable suppression directives
2023-06-07 08:20:41 +03:00
OliBomby
3f96795bbf
fix merge conflict
2023-06-02 01:02:35 +02:00
Olivier Schipper
3f7bebfda4
Merge branch 'master' into edit-nodesample
2023-06-02 00:57:15 +02:00
OliBomby
848f0e305e
Change position of sliderbody hitsound piece for less overlap
2023-06-02 00:55:37 +02:00
OliBomby
da516b9039
Change purple to darker pink
2023-06-02 00:50:21 +02:00
Bartłomiej Dach
c2d89a32a9
Adjust inline comment
2023-06-01 21:18:00 +02:00
Andrei Zavatski
03eb7c7830
Fix nullability
2023-06-01 21:21:01 +03:00
Andrei Zavatski
949fe32740
Use combined area of children as a mask instead
2023-06-01 15:32:17 +03:00
Dean Herbert
32207d4112
Remember the last used custom divisor when cycling divisor types
2023-06-01 17:11:49 +09:00
Dean Herbert
bcde2cbc73
Apply NRT to BeatDivisorControl
2023-06-01 16:58:14 +09:00
OliBomby
eb8ac89513
rename sample update logic and add xmldoc for clarity
2023-06-01 09:50:14 +02:00
OliBomby
1eb9b8e135
added xmldoc and renamed GetSamples
2023-06-01 09:34:21 +02:00
Dean Herbert
f52ed41f10
Use better defaults of 1/4 and 1/6 when cycling types
2023-06-01 16:28:03 +09:00