1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-17 00:52:55 +08:00
Commit Graph

3088 Commits

Author SHA1 Message Date
Salman Ahmed
b2749943e2 Display "required save" popup when creating another difficulty on a new beatmap 2023-11-06 21:54:40 +03:00
Dean Herbert
51c891e2e4
Automatically refresh the verify screen's issue list on re-entering it
Addresses https://github.com/ppy/osu/discussions/25365.
2023-11-06 19:34:36 +09:00
ratinfx
277cf7dc12 Ensure every SelectedItem is alive and has Blueprint 2023-11-05 18:26:51 +01:00
ratinfx
7492d953ae Moved error checks into Editor
- Invoke Action on error to Notify user
- added some comments
2023-11-04 21:17:58 +01:00
ratinfx
60f62faec3 Renamed Editor method 2023-11-04 03:30:38 +01:00
ratinfx
43ab7f4942 Added OpenEditorTimestamp base implementation 2023-11-04 02:01:18 +01:00
Bartłomiej Dach
850866e7f4
Merge pull request #25316 from peppy/metronome-always-play-tick
Decouple metronome tick playback from pendulum movement
2023-10-31 09:37:29 +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
64efc3d251
Decouple metronome tick playback from pendulum movement
Not super happy about doing this, but it seems like it's in the best
interest of editor usability.
2023-10-31 15:33:46 +09:00
Dean Herbert
f706fd2fca
Merge pull request #25307 from bdach/slider-velocity-undo
Fix slider velocity changes not being undone correctly
2023-10-31 01:44:18 +09:00
Bartłomiej Dach
cea24298cb
Privatise setters 2023-10-30 12:42:34 +01:00
Bartłomiej Dach
de89b7e53c
Fix slider velocity changes not being undone correctly
Closes https://github.com/ppy/osu/issues/25239.

`LegacyEditorBeatmapPatcher.processHitObjectLocalData()` was already
supposed to be handling changes to hitobjects that will show up neither
when comparing the hitobjects themselves or the timing point with
"legacy" info stripped - so, in other words, changes to slider velocity
and samples.

However, a change to slider velocity requires default application to
take effect, so just resetting the value would visually fix the timeline
marker but not change the actual object. Calling
`EditorBeatmap.Update()` fixes this by way of triggering default
re-application.

This could probably be smarter (by only invoking the update when
strictly necessary, etc.) - but I'm not sure it's worth the hassle. This
is intended to be a quick fix, rather than a complete solution - the
complete solution would indeed likely entail a wholesale restructuring
of the editor's change handling.
2023-10-30 10:59:02 +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
Dean Herbert
6934e045df
Fix editor not prompting before saving beatmap for export 2023-10-25 14:39:46 +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
1005b7ac85
Fix incorrect test assumption in TestSceneEditorClock
I don't know what this test was trying to do, but it was wrong. Any
offset which is applied should be invisible to the clock's final
`CurrentTime` (and to the user).
2023-10-06 16:43:28 +09:00
Dean Herbert
354193c53a
Merge branch 'master' into clock-fix-attempt-2 2023-10-06 16:43:27 +09:00
Dean Herbert
61fd4186af
Ensure regenerateDisplay is eventually performed if originally called before load 2023-10-05 22:55:23 +09:00
Dean Herbert
76cc2f9f22
Fix WaveformComparisonDisplay potentially crashing on invalid track length
As seen at https://github.com/ppy/osu/runs/17415814918#r0s2.
2023-10-05 14:58:55 +09:00
Dean Herbert
5a17a86d1d Merge branch 'master' into clock-fix-attempt-2 2023-10-04 16:57:49 +09:00
Dean Herbert
7908b36b39 Flash dialog popup when attempting to exit editor while exit is being blocked 2023-09-28 15:25:39 +09:00
Dean Herbert
faa0481fc6 Fix editor operating directly on track rather than decoupled clock 2023-09-22 16:22:36 +09:00
Dean Herbert
df08c4e1ad Disable decoupling for OsuGameBase's beatmap implementation
This avoids it ever mutating the underlying track (aka attempting to start
it). Resolves the one caveat mentioned in
aeef92fa710648d4a00edc523e13c17ac6104125.
2023-09-22 12:49:25 +09:00
Dean Herbert
600651795b Change FramedBeatmapClock to always be decoupled 2023-09-22 12:49:25 +09:00
Salman Ahmed
9e4a56d64e
Merge branch 'master' into update-framework 2023-09-21 19:49:20 +03:00
Dean Herbert
bf984388b3 Update clocks in line with framework changes 2023-09-20 21:17:08 +09:00
Dean Herbert
c5397bdbb3
Merge branch 'master' into mania-edit-disable-sv 2023-09-20 14:23:07 +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
Dean Herbert
0f5eff1230 Merge branch 'master' into mania-edit-disable-sv 2023-09-01 19:08:48 +09: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
Dean Herbert
8120c3f87a
Merge branch 'master' into precise-rotation-2 2023-08-19 23:25:42 +09:00
Dan Balasescu
a2fd7707a1 Allow toggling SVs in the editor 2023-08-18 18:55:24 +09:00
Dean Herbert
9023059bc0 Convert to switch statement 2023-08-18 17:27:09 +09:00
OliBomby
360f9750e1 Allow selecting empty control point groups 2023-08-17 16:30:18 +02:00
Jamie Taylor
d10d7b6ea4
Change some component samples to go better with overlay pop-in samples 2023-08-17 18:36:37 +09:00
Jamie Taylor
3d7ba0e18c
Add pop-in/pop-out sfx to more overlays 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
Bartłomiej Dach
bdf87e43db
Merge branch 'master' into slider-with-textbox-instantaneous 2023-08-16 10:48:45 +02:00
Dean Herbert
5bd7370439 Add log output when editor is creating a fresh beatmap 2023-08-16 14:23:17 +09:00
Joseph Madamba
49f5d6813e
Block beatmap editor from testing/exiting/exporting when saving fails 2023-08-04 22:08:25 -07:00
Bartłomiej Dach
2e2b0c4e41
Move SliderWithTextBoxInput to more general namespace 2023-08-01 01:01:36 +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
e208f38bcb
Merge pull request #24361 from peppy/fix-editor-global-music-hotkey-conflicts
Disallow interacting with the global track state in `Player` and `Editor`
2023-07-30 12:28:53 +02:00
Dean Herbert
945d89e955 Move disables to loading screens for better coverage of edge cases 2023-07-30 13:45:42 +09: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
Bartłomiej Dach
3b9f250c1b
Merge branch 'master' into menu-star-fountains 2023-07-25 21:58:13 +02:00
Dean Herbert
3485b72eaa Disallow interacting with the global track state in Player and Editor 2023-07-25 20:20:53 +09:00
Dean Herbert
157b1f301b Rename AllowTrackAdjustments to more understandable ApplyModTrackAdjustments 2023-07-25 20:20:53 +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
Bartłomiej Dach
9f68bb4e4a
Merge pull request #24333 from peppy/editor-menu-spacer
Adjust metrics of editor menu spacers (and make visible)
2023-07-23 15:25:27 +02:00
Dean Herbert
4bf300d64d
Merge pull request #24186 from OliBomby/legacy-export
Add ability to export beatmaps from editor in a stable-compatible format
2023-07-23 15:25:06 +09:00
Dean Herbert
4ea8495c61 Adjust metrics of editor menu spacers (and make visible) 2023-07-23 14:12:37 +09:00
Dean Herbert
fb34ee94c2 Move export/save options to bottom of menu 2023-07-23 14:07:31 +09:00
Dean Herbert
20359c90bc Adjust localisations slightly 2023-07-23 14:06:00 +09:00
Dean Herbert
d11e56b8bb Add common Export string and use in editor 2023-07-23 14:03:50 +09:00
Bartłomiej Dach
d1c69283b2
Merge branch 'master' into editor-key-count 2023-07-22 16:11:21 +02:00
Bartłomiej Dach
f985bdc10f
Make difficulty sliders private set 2023-07-22 15:55:20 +02:00
Dean Herbert
fd2bdc10c7 Fix "key count" setting showing as "circle size" in osu!mania editor
Closes https://github.com/ppy/osu/issues/12904.
2023-07-21 18:52:29 +09:00
Dean Herbert
82a5ba66e1 Align mode switcher with rest of interface 2023-07-21 15:27:42 +09: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
870f3e324a Adjust "test" button to better align with rest of interface 2023-07-21 14:26:33 +09:00
Dean Herbert
ca3d1538ae Merge branch 'master' into editor-metrics 2023-07-21 14:26:32 +09:00
Dean Herbert
b29a2081ac Merge branch 'master' into menu-star-fountains 2023-07-21 14:21:16 +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
Bartłomiej Dach
f3a95d4c13
Merge branch 'master' into menu-star-fountains 2023-07-19 21:26:41 +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
55a41b0887 Fix overlap between header text and menu items 2023-07-19 15:13:20 +09:00
Dean Herbert
871056790b Mark editor tile as non-localisable 2023-07-19 15:01:20 +09:00
OliBomby
395dd23966 Put 'Export package' and 'Export legacy package' in one nested menu 2023-07-18 12:37:37 +02:00
OliBomby
5d82190b70 Merge remote-tracking branch 'upstream/master' into legacy-export 2023-07-18 12:18:49 +02:00
Dean Herbert
fe70f24925 Update design of summary timeline current time marker 2023-07-14 17:00:42 +09:00
Dean Herbert
e6b8cd0c06 Add editor header 2023-07-14 16:55:12 +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
6b222cfafd Fix slight misalignment so timeline is now completely centered 2023-07-14 14:29:13 +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
Dean Herbert
20e4e2581a Change IBeatSyncProvider.Clock to always be non-null 2023-07-13 22:13:40 +09:00
Susko3
2dcd790442 Resolve Clipboard via DI 2023-07-11 11:42:31 +02:00
OliBomby
06e5ef88c0 legacy export broken 2023-07-11 02:30:16 +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
003949ac4e Merge branch 'master' into limited-distance-spacing 2023-06-16 16:56:22 +09:00
Dean Herbert
f553efba8a Fix playback controls in editor handling key repeat when they probably shouldn't
Closes https://github.com/ppy/osu/issues/23903.
2023-06-14 02:30:15 +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
Bartłomiej Dach
b66d1aa33d
Fix code quality inspection 2023-06-08 20:32:16 +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
281aae91ec
Merge pull request #23808 from peppy/working-beatmap-get-background
Refactor `IWorkingBeatmap.Background` to `GetBackground()`
2023-06-08 12:23:07 +02:00
Dean Herbert
a842f79ad4 Refactor IWorkingBeatmap.Background to GetBackground() 2023-06-08 16:19:32 +09:00
Bartłomiej Dach
b3ce7f7b43
Merge branch 'master' into fix-section-container-scroll-attempt-2 2023-06-08 09:19:26 +02: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
Bartłomiej Dach
9b665d2e1a
Merge branch 'master' into beat-snap-divisor-hotkeys 2023-06-07 23:38:03 +02:00
Dean Herbert
3a01498789 Use existing next/previous methods (and remove looping behaviour) 2023-06-08 01:01:29 +09:00
Bartłomiej Dach
1f4e79d79d
Merge pull request #23711 from timiimit/add-last-edit-time
Store timestamp of beatmap's last edit time in local database
2023-06-07 16:57:24 +02: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
Dean Herbert
7d49f5d7c6 Apply NRT to SectionsContainer 2023-06-07 16:32:29 +09:00
Salman Ahmed
62cb6a98ca Remove redundant nullable suppression directives 2023-06-07 08:20:41 +03:00
Dean Herbert
22f7fe1d79 Rename variable and ensure timestamp is updated even when not saving 2023-06-06 15:11:31 +09:00
Dean Herbert
3a50e0fb2f Merge branch 'master' into add-last-edit-time 2023-06-06 15:07:20 +09: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
OliBomby
63d9be9523 merge updateAdditionBankPlaceholderText and updateAdditionBankActivated 2023-06-01 09:27:04 +02:00
OliBomby
9e78a6b34e hide addition bank field when no additions active 2023-05-31 20:00:45 +02:00
OliBomby
fede432969 Make relevantObject and relevantSamples instance variables 2023-05-31 20:00:19 +02:00
timiimit
a58426dab6 Use LastEditTime in Editor 2023-05-31 19:07:04 +02:00
OliBomby
b7bc49b1f4 Fix regressed bank inheriting behaviour on node samples 2023-05-31 16:28:43 +02:00
OliBomby
7a46b7b961 Invert colors 2023-05-31 14:33:06 +02:00
Andrei Zavatski
d119447a10 Fix editor timeline hitobjects popping in 2023-05-30 16:41:42 +03:00
Dean Herbert
114f12a790 Adjust CreateHitSampleInfo to handle additions correctly, rather than implementing locally 2023-05-30 14:04:02 +09:00
Dean Herbert
4a81d068af Merge branch 'master' into edit-nodesample 2023-05-30 14:03:43 +09:00
Dean Herbert
725734bc03
Merge pull request #23649 from peppy/keep-selection-buttons-on-screen
Ensure editor selection buttons remain on screen when selection is near edge
2023-05-26 20:51:45 +09:00
Bartłomiej Dach
96fe7cbe54
Merge branch 'master' into sample-set-controls 2023-05-25 21:58:16 +02:00
Bartłomiej Dach
7d8f08c0ea
Fix ComposeBlueprintContainer briefly assigning auto bank
Seems to have had no consequence due to the way
`AutomaticBankAssignment` works (that flag is checked in
`PlacementBlueprint.UpdateTimeAndPosition()`, which runs essentially
every frame), but let's avoid putting it there at all ever.
2023-05-25 21:49:29 +02:00
Bartłomiej Dach
3ad5f8b9c9
Polish a few extreme edge cases 2023-05-25 16:39:54 +02:00
Dean Herbert
949de35664 Ensure selection is reset after immediately deleting objects
Closes https://github.com/ppy/osu/issues/23518.
2023-05-25 23:20:32 +09:00
Bartłomiej Dach
beeca5a8dd
Use alternative layouting implementation 2023-05-25 16:17:44 +02:00
Dean Herbert
1049257b56 Simplify SelectionHandler's DeselectAll implementation
We are already doing other operations in this class directly on `SelectedItems`, so might as well change this one to match
2023-05-25 18:46:31 +09:00
Dean Herbert
1e14b02493 Fix bindable feedback loop 2023-05-25 17:58:38 +09:00
Bartłomiej Dach
578a0e7494
Merge branch 'master' into beat-divisor-visual-improvements 2023-05-24 22:28:26 +02:00
Bartłomiej Dach
6ec4ecfdd7
Mention fallback default in GetDivisorForBeatIndex() 2023-05-24 22:17:51 +02:00
Dean Herbert
b14b1072c2 Allow deselecting any selection in the editor using the Back binding (escape key) 2023-05-24 19:24:14 +09:00
Dean Herbert
3b9e1e8a94 Ensure editor selection buttons remain on screen when selection is near edge
Addresses https://github.com/ppy/osu/discussions/23599.
2023-05-24 19:16:53 +09:00
Dean Herbert
3a05dffa50 Add "auto" bank selection during placement 2023-05-24 17:11:12 +09:00
Dean Herbert
fc22c75464 Don't use switch for single case statement 2023-05-24 16:14:05 +09:00
Dean Herbert
a9ba16a2be Update to support non-control-point sample changes 2023-05-24 14:20:38 +09:00
Dean Herbert
298989ffd2 Merge branch 'master' into sample-set-controls 2023-05-24 14:03:04 +09:00
Dean Herbert
561b759bf9 Tidy up implementation and ensure non-solid ticks start at zero alpha 2023-05-24 13:49:29 +09:00
Dean Herbert
8f1f1955df
Merge pull request #66 from Gyoshi/beat-divisor-visual-improvements
Add ghost ticks to exhibit current divisor on `BeatDivisorControl`
2023-05-24 13:41:48 +09:00
Gyoshi
7fe19d1992 Last instead of Max divisor to match code elsewhere 2023-05-23 18:45:49 +02:00
Gyoshi
c5ef3ae181 Code styling 2023-05-23 18:44:20 +02:00
Gyoshi
b5f8093941 Use RangePadding to align mouse with slider 2023-05-23 18:16:14 +02:00
Gyoshi
7b1e8ede54 Small format 2023-05-23 15:11:27 +02:00
Gyoshi
1b32370c6a Remove duplicate code by making GetDivisorForBeatIndex method more general 2023-05-23 15:05:38 +02:00
Gyoshi
37a796306d Small format & comment 2023-05-23 14:30:35 +02:00
Johannes vd Berg
ebda35c3c9 Add ghost ticks to exhibit current divisor on BeatDivisorControl 2023-05-23 12:57:25 +02:00
Bartłomiej Dach
38b4bd8aef
Fix undo not behaving as expected sometimes 2023-05-22 22:45:39 +02:00
Bartłomiej Dach
e0b7539c2a
Fix sample changes not being applied in patcher 2023-05-22 22:45:23 +02:00
Bartłomiej Dach
f253d17a7f
Fix slider velocity changes not being applied in patcher 2023-05-22 22:19:10 +02:00
Bartłomiej Dach
afdddb0195
Merge pull request #23582 from peppy/placement-blueprint-timeline-combo-fixes
Fix timeline blueprint display not showing correct combo number / colour during placement
2023-05-20 15:02:55 +02:00
Dean Herbert
214d7e07fa Add TODO regarding failing stack display code 2023-05-17 17:52:17 +09:00
Dean Herbert
9563d4f730 Fix weird purple tint on placement object in timeline 2023-05-17 17:26:19 +09:00
Dean Herbert
87ff28b022 Update beat divisor control to show ticks in more visually correct locations
As proposed in https://github.com/ppy/osu/discussions/23527.
2023-05-17 16:34:12 +09:00
Dean Herbert
dc51d5ecf3 Rename GetSampleInfo to better describe what method does
Also add full xmldoc
2023-05-17 14:07:48 +09:00
Dean Herbert
d9ae822966 Fix bank not correctly being assigned when adding sample additions in editor 2023-05-16 18:52:52 +09:00
Dean Herbert
70e248b927 Force placement of in-progress object when changing tools in the editor 2023-05-12 16:06:01 +09:00
Dean Herbert
bdf8a78b42 Add the ability to adjust the beatmap tick rate in the editor 2023-05-09 20:53:20 +09:00
Dean Herbert
2085833a84 Fix missing delegate unsubscribe 2023-05-09 17:08:03 +09:00
Dean Herbert
944da06c10 Rename slider multiplier variable back for now 2023-05-09 16:58:19 +09:00
OliBomby
dd0fceaec6 add addition bank 2023-05-08 16:12:03 +02:00
OliBomby
7260dcac60 fix crash on multiselect and node sample piece popup 2023-05-08 15:57:30 +02:00
OliBomby
bb8285e2ef cleanup code duplication 2023-05-08 15:14:25 +02:00
OliBomby
4c36530435 allow editing additions in sample point piece 2023-05-08 15:08:40 +02:00
OliBomby
88d840a60d fix assigned hitsounds dont have bank or volume 2023-05-08 14:42:15 +02:00
OliBomby
3b5bae7742 Abbreviate common bank names on timeline 2023-05-08 13:16:30 +02:00
OliBomby
e945846759 Add node sample pieces to timeline blueprint 2023-05-08 13:10:24 +02:00
OliBomby
32f945d304 fix updating wrong samples 2023-05-08 13:08:28 +02:00
OliBomby
cb7b747d52 create NodeSamplePointPiece 2023-05-08 12:38:53 +02:00
OliBomby
b447018e5b remove editor beatmap 2023-05-08 11:55:58 +02:00
OliBomby
244ca4e8c7 Remove dependency on SamplesBindable 2023-05-08 11:55:17 +02:00
Dean Herbert
8c44d528e9 Use min/max values from stable 2023-05-08 13:52:16 +09:00
Dean Herbert
a6cb1f90e4 Change difficulty popover inspector display (yet again)
I think this makes the most sense of the iterations I've tested so far, albeit maybe being a touch too verbose.
2023-05-08 13:43:23 +09:00
Dean Herbert
a91edd68d9 Show post-multiplied velocity in main hit object inspector 2023-05-08 13:42:25 +09:00
Dean Herbert
451af9d1b5 Fix beatmap values not being updated due to a varying data type 2023-05-08 13:23:13 +09:00
Dean Herbert
d9dd35c020 Show base velocity in slider adjustment popover 2023-05-08 13:13:09 +09:00
Dean Herbert
31de4de720 Remove median/mode slider velocity display
The intention was to give an idea of what the most common velocity of
the beatmap is, but in hindsight, because the "base" velocity is being
set elsewhere this doesn't make sense. It will/should be 1.0x.

Showing this range is still valuable, though.
2023-05-08 13:13:09 +09:00
Dean Herbert
b109ee74a6 Add "base velocity" adjustment to difficulty setup screen 2023-05-08 13:13:09 +09:00
Bartłomiej Dach
65b4b198a4
Merge branch 'master' into export 2023-05-06 20:12:53 +02:00
Bartłomiej Dach
e808a47811
Fix delegate leak 2023-05-05 20:33:27 +02:00
Bartłomiej Dach
f536238554
Use shorter copy 2023-05-05 20:30:50 +02:00
Dean Herbert
b7a287869a Add display of beatmap slider velocity when adjusting 2023-05-05 15:57:38 +09:00
Dean Herbert
cc70d89bf9 Move editor inspector classes out of ruleset namespace 2023-05-05 15:57:38 +09:00
cdwcgt
4549a865d9
Merge branch 'master' into export 2023-05-04 00:18:01 +09:00
Dean Herbert
6b017ac05f
Merge pull request #23308 from OliBomby/sample-control-points
Remove SampleControlPoint and DifficultyControlPoint from HitObject
2023-05-03 14:21:51 +09:00
Dean Herbert
8a536c1cdb Fix non-block namespace usage 2023-05-02 15:09:24 +09:00
OliBomby
1dc34ee25d fix infinite repeat count when adjusting length of 0 length slider 2023-05-01 15:48:54 +02:00
OliBomby
608fa3cc73 Merge remote-tracking branch 'upstream/master' into sample-control-points 2023-04-30 19:47:03 +02:00
Cootz
607a04ae73 Fix the issue 2023-04-29 10:29:33 +09:00
OliBomby
c44f71a737 remove all regular usage of DifficultyControlPoint 2023-04-26 17:55:38 +02:00
OliBomby
87ca0f5335 Update SamplePointPiece.cs 2023-04-26 13:45:58 +02:00
OliBomby
e4b64bdc3e clean up code stuff 2023-04-25 19:06:29 +02:00
OliBomby
755ad25dbe clean code 2023-04-25 18:27:20 +02:00
OliBomby
c23a7b014e add missing } 2023-04-25 18:17:07 +02:00
OliBomby
065464d90c Fixed DifficultyPointPiece 2023-04-25 18:12:53 +02:00
Dean Herbert
9f4b1f0f24 Always round editor rotation to integer values 2023-04-20 14:30:01 +09:00
Bartłomiej Dach
73bd0feef5
Fix incorrectly implemented localisation 2023-04-10 15:03:33 +02:00
Bartłomiej Dach
6fec476147
Simplify snap implementation 2023-04-10 14:55:30 +02:00
cdwcgt
ce6a87b4a3
Merge remote-tracking branch 'upstream/master' into export 2023-04-09 15:02:47 +09:00
Dean Herbert
8d2e852ffd Fix overbearing key down handling 2023-04-08 22:30:36 +09:00
Dean Herbert
a1fc4def1d Remove redundant method override 2023-04-08 22:18:07 +09:00
Micha Lehmann
3c4a25e53f Fix tooltip text not resetting when ending an editor rotation 2023-04-08 14:28:52 +02:00
Micha Lehmann
580d5745c0 Add "(snapped)" to the tooltip when snap-rotating in the editor 2023-04-08 14:15:49 +02:00
Dean Herbert
f72dd86b42 Fix code quality issues and avoid updating bindable twice per operation 2023-04-08 10:40:36 +09:00
Micha Lehmann
c827c2810b Improve editor selection rotation value wrapping
This fixes two issues the previous algorithm had:
1.  A half-turn rotation used to show up as -180°.
2.  Rotating more than 180° in one drag event would overwhelm it
    and cause the value to go outside its range.

This comes at the cost of a negligible performance hit,
since a division (modulo) is performed instead of just addition/subtraction.
2023-04-08 01:30:29 +02:00
Micha Lehmann
f1de560d57 Snap editor selection rotation when holding shift 2023-04-08 01:30:29 +02:00
Dean Herbert
e31a90e043 Don't cycle selection when more than one items are selected 2023-03-21 21:31:10 +09:00
Dean Herbert
1cf870d956 Add test coverage and fix fail case where a drag selection ends incorrectly with cyclic selection 2023-03-15 15:16:48 +09:00
Dean Herbert
6546f5968a Merge branch 'master' into skin-editor-cyclic-selection 2023-03-14 20:43:56 +09:00
Dean Herbert
4f7be332f3 Revert isDraggingBlueprint to field 2023-03-08 19:24:03 +09:00
Dean Herbert
245c3c025c Refactor endClickSelection to reduce nesting 2023-03-08 19:23:32 +09:00
Bartłomiej Dach
72695f7c90
Merge branch 'master' into omit-barline-in-timing-control-point 2023-03-07 22:46:24 +01:00
Dean Herbert
21bdbb20e6 Add optional support for cyclic selection to BlueprintContainer 2023-03-07 14:22:12 +09:00
mk56-spn
908651cc11 make ResetConfirmDialog properly utilise its parent's logic
Adjust name of `DeleteAction` to `DangerousAction`
2023-03-05 20:57:26 +01:00
Dean Herbert
6ff1fb6b1a Adjust sizing to allow for timing point information now being longer than before 2023-03-02 18:57:54 +09:00
Dean Herbert
044b0604b2 Move OmitFirstBarLine to TimingControlPoint 2023-02-28 19:29:31 +09:00
mk56-spn
90227a6496 Rename DeleteConfirmationDialog.cs into DangerousActionDialog.cs 2023-02-27 21:57:59 +01:00
Bartłomiej Dach
1ba1298850
Merge branch 'master' into blueprint-improve-visuals 2023-02-19 15:55:30 +01:00
Bartłomiej Dach
d9ca7102f0
Use more generic wording for future-proofing 2023-02-19 15:06:40 +01:00
Maximilian Kruse
723a043c43 naming change from Hitobject to HitObject 2023-02-19 10:18:22 +01:00
Maximilian Kruse
ddd37bb319 Add setting to disable automatic seeking after object placement 2023-02-18 19:43:45 +01:00
cdwcgt
e84e011d5d Merge branch 'master' into export 2023-02-17 22:15:19 +09:00
Dean Herbert
16d94b4ea2 Improve visuals of skin blueprint 2023-02-17 18:19:46 +09:00
Joseph Madamba
cb51b9e350 Use existing ModdingBeatmap activity 2023-02-12 15:01:50 -08:00
Joseph Madamba
bbeef53569 Add TestingBeatmap activity 2023-02-12 13:11:42 -08:00
Joseph Madamba
afb66d8af4 Make user activity class names more specific 2023-02-12 12:32:17 -08:00
Bartłomiej Dach
a3cc0d23b3
Fix typo in xmldoc 2023-02-11 16:26:32 +01:00
Dean Herbert
6d876fdb9a Automatically select the closest timing point on entering the timing screen 2023-02-10 17:48:56 +09:00
Dean Herbert
03e623d1d2 Move ControlPointList to own file 2023-02-10 17:37:31 +09:00
Dean Herbert
e162fd56da Change the way initial state saving works in EditorChangeHandler to be closer to first change 2023-02-07 16:22:51 +09:00
Dean Herbert
e4b17588f5 Add missing xmldoc to new methods in EditorChangeHandler 2023-02-06 14:11:40 +09:00
Dean Herbert
10ab4d572a Merge branch 'master' into skin-editor-undo-support 2023-02-06 13:46:50 +09:00
Bartłomiej Dach
63f7d326c2
Merge branch 'master' into fix-editor-positional-nudge-undo 2023-02-03 21:31:05 +01:00
Dean Herbert
2cda277c09 Add a basic change handler to the skin editor 2023-02-03 18:57:50 +09:00
Dean Herbert
3345e34544 Move beatmap specific logic out of EditorChangeHandler 2023-02-03 17:53:54 +09:00
Dean Herbert
b437501b0f Fix beatmap editor positional nudging not being undoable 2023-02-03 17:28:58 +09:00
Dean Herbert
554f14151c Apply NRT to EditorChangeHandler 2023-02-03 17:13:24 +09:00
Dean Herbert
b19047b90b Fix skin editor component list having uneven padding 2023-02-03 16:55:51 +09:00
Bartłomiej Dach
7483967157
Merge branch 'master' into SliderEnd-Snap 2023-01-23 21:33:16 +01:00
Bartłomiej Dach
1f40b2daf6
Clean up xmldocs 2023-01-23 21:22:18 +01:00
Wleter
f8d8a627b8 change property name 2023-01-18 22:00:39 +01:00
Wleter
40e99069fc fix typos and newlines 2023-01-18 21:43:09 +01:00
Wleter
ab78dd0436 add collection of selection points. 2023-01-18 21:34:23 +01:00
Wleter
c9375c056e revert back name change 2023-01-18 15:54:24 +01:00
Dean Herbert
ecb4727aec Fix formatting issues 2023-01-18 17:33:14 +09:00
Wleter
788033e1b8 fix unnecessary newline 2023-01-17 21:13:54 +01:00
Wleter
b8e6a2d87b filter currentEndPointPositions 2023-01-17 20:41:49 +01:00
ansel
00acea59fc Move some strings to common 2023-01-15 19:37:40 +03:00
ansel
5d2e09137c Remove text padding in editor menu for now 2023-01-15 14:40:53 +03:00
ansel
8777d5349b Use existing strings 2023-01-15 14:39:34 +03:00
ansel
87650044bb Localise create/save dialog 2023-01-15 01:50:47 +03:00
ansel
78e562903d Localise part of editor 2023-01-15 01:50:47 +03:00
ansel
24df23f420 Localise background header 2023-01-15 01:49:19 +03:00
ansel
76eefc7573 Add support for localisation where it was missing 2023-01-15 01:46:11 +03:00
ekrctb
e610d19d55
Merge branch 'master' into 18469 2023-01-14 19:53:08 +09:00
ansel
f70dedfd17 Enable nullability for design screen 2023-01-14 02:24:48 +03:00
ansel
4b42240fba Enable nullability for setup screen 2023-01-14 02:24:28 +03:00
ansel
78adaa9b03 Enable nullability for timing screen 2023-01-14 02:23:21 +03:00
Dylan Nantz
6028abff39 Code Quality 2023-01-13 10:16:52 -05:00
Dylan Nantz
5dd0aaccef Merge branch 'master' of https://github.com/ppy/osu into 18469 2023-01-13 09:54:29 -05:00
Dylan Nantz
e38075c4ef Use PlacementState to check juice stream placement 2023-01-13 09:37:23 -05:00
ansel
2365b065a4 Enable nullability for editor components 2023-01-12 18:07:54 +03:00
Wleter
98ffcd33c7
Merge branch 'ppy:master' into SliderEnd-Snap 2023-01-10 21:22:13 +01:00
Wleter
88060a3ea0 add snapping for slider's end 2023-01-10 21:21:09 +01:00
Bartłomiej Dach
e08b7c615b
Merge branch 'master' into wcd-length-fix 2023-01-08 19:44:12 +01:00
Bartłomiej Dach
9fd305a970
Merge branch 'master' into editor-bg-refresh 2023-01-08 18:57:04 +01:00
ansel
aaeb43fbb2 Return older file if new one is null 2023-01-07 18:15:57 +03:00
Salman Ahmed
a65466bdac
Merge branch 'master' into previewTime 2023-01-07 15:07:09 +03:00
Salman Ahmed
abca13eb6c Rewrite visualisation piece to bind once and without potential event leak 2023-01-07 14:40:15 +03:00
Salman Ahmed
904c76e437 Use sane BeatmapInfo for preview time mutation
`EditorBeatmap.BeatmapInfo` is usually the correct instance for mutating
properties that should persist in the database.
2023-01-07 14:23:36 +03:00
ansel
b47cef838c Nullability 2023-01-07 03:08:02 +03:00
ansel
167ac8b5dd Fix editor object being requered 2023-01-07 03:03:52 +03:00
ansel
9364c7775d Refresh background on file change in editor 2023-01-06 19:26:30 +03:00
ansel
e90c698e62 Fix WCD does not take into account start time of control points 2023-01-06 16:35:39 +03:00
Dean Herbert
c0cfa66510
Merge pull request #21754 from Feodor0090/waveform-invalidate
Reload waveform on track replacement in editor
2023-01-06 19:57:27 +08:00
ansel
c6e2104ec2 Refresh waveforms instead of recreating the whole component 2023-01-06 03:46:49 +03:00
Bartłomiej Dach
b689ad6d80
Fix changing preview point not prompting for save 2023-01-01 19:54:26 +01:00
Bartłomiej Dach
efdd557f3b
Adjust binding logic 2023-01-01 19:45:23 +01:00
Bartłomiej Dach
452ebddfd2
Adjust visual appearance of preview time part
- Use slightly different hue of green to distinguish from difficulty
  control points. The colour is still not ideal, but picking
  a distinctive enough hue is pretty hard.

- Place the preview time part at the bottom rather at the top.
  Not sure why it was at the top; not only could it overlap with the
  control points, but it also looked quite badly misaligned there
  when bookmarks were displayed at the bottom.
2023-01-01 19:42:55 +01:00
Bartłomiej Dach
a82f1a6abd
Adjust method naming and copy 2023-01-01 18:50:47 +01:00
Bartłomiej Dach
0e59b55a12
Merge branch 'master' into previewTime 2023-01-01 18:38:19 +01:00
cdwcgt
23c485c763
readonly 2022-12-30 22:59:56 +09:00
cdwcgt
a91da2284d
safe way to pass bindable 2022-12-30 22:58:46 +09:00
Berkan Diler
c7ca4bbba5 Use generic Enum methods 2022-12-26 20:36:39 +01:00
ansel
f25439e359 Move track change subscription to LoadComplete 2022-12-23 01:54:49 +03:00
Salman Ahmed
0cb9b79834 Fix ZoomableScrollContainer potentially not updating content width on setup 2022-12-23 00:56:38 +03:00
Salman Ahmed
30de9ba795 Dispose previous waveform on track reload 2022-12-23 00:35:59 +03:00
ansel
20370bd5ae Invalidate waveform on track load 2022-12-22 20:49:09 +03:00
ansel
d0645ce151 Rewrite waveform invalidation 2022-12-22 15:59:51 +03:00
ansel
f2e8776529 Bind to clock instead of music controller 2022-12-22 15:35:53 +03:00
ansel
a18ece8610 Listen for track reload in timing screen 2022-12-22 01:24:23 +03:00
ansel
7089bb6c23 Listen for track reload in timeline 2022-12-22 01:23:59 +03:00
ansel
66a02374da Clear cached waveform on track change in editor 2022-12-22 01:23:24 +03:00
Dean Herbert
4a7d7c6ed9 Use MaxBy in all locations that can and update inspection level to match dotnet-build 2022-12-19 16:47:10 +09:00
Dean Herbert
ba54551313 Merge branch 'master' into guard-url-protocols 2022-12-16 18:23:16 +09:00
Dean Herbert
27c497145f Fix the MOTHERLOAD of undetected issues that are now visible thanks to net6.0 2022-12-16 18:16:26 +09:00
cdwcgt
a4d28aff6d
fix typo 2022-12-16 10:48:56 +09:00
cdwcgt
79e27c2d9d
PreviewTimePart will not show if preview time is -1 2022-12-16 10:44:07 +09:00
cdwcgt
f0246df1a9
only get; 2022-12-16 09:58:58 +09:00
cdwcgt
c164744064
Add ability to set preview time 2022-12-16 01:03:30 +09:00
Dean Herbert
b8904fe747 Move ImportParameters to better home 2022-12-13 21:41:26 +09:00
Dean Herbert
cb16d62700 Hook up ImportParameter flow with IModelImporter caller methods 2022-12-13 21:29:32 +09:00
cdwcgt
e02b8cb199
Group export methods into their respective managers 2022-12-11 18:30:24 +09:00
cdwcgt
a1fc33668c
Merge branch 'master' into export 2022-12-09 23:40:26 +09:00
Dean Herbert
5a69656764
Merge pull request #21496 from peppy/fix-zero-length-spinners
Fix being able to place zero-length spinners
2022-12-02 19:25:00 +09:00
Dan Balasescu
850931120d
Merge pull request #21479 from peppy/fix-wrong-last-hit-object-time
Fix some components not accounting for final hold notes in osu!mania beatmaps
2022-12-02 18:12:00 +09:00
Dean Herbert
d1296a22ce Update timeline blueprint's end time logic to better match new blueprint implementation 2022-12-02 17:57:15 +09:00
Dan Balasescu
a39bd634c4
Merge pull request #21405 from LumpBloom7/Editor-DrawableRuleset-Dependencies
Provide DrawableRulesetDependencies from HitObjectComposer
2022-12-02 17:31:31 +09:00
Dan Balasescu
d684aa75b8
Merge pull request #21477 from peppy/fix-mania-timeline-blueprint-colour
Fix osu!mania editor timeline showing bright-white blueprints
2022-12-02 16:55:29 +09:00
Dean Herbert
a2db0afe19 Avoid querying GetLastObjectTime twice in editor seek flow 2022-12-02 16:07:24 +09:00
Dean Herbert
8cf89fcb81 Use Highlight1 instead of dull grey 2022-12-02 15:30:47 +09:00
Dean Herbert
896f2d8f74 Fix multiple instances of last hitobject time being calculated incorrectly 2022-12-01 18:04:06 +09:00
Dean Herbert
f34a79b1a9 Set a better default colour for timeline blueprints when no colour information is available 2022-12-01 17:03:53 +09:00
Dean Herbert
bbf023cf68 Fix incorrect culture used when parsing timeline popup textbox content 2022-12-01 16:12:29 +09:00
Derrick Timmermans
5c8fce1c08
Remove extra blank line 2022-11-30 13:05:14 +01:00
Derrick Timmermans
6a61e70766
Expose Ruleset from HitObjectComposer instead 2022-11-30 12:17:58 +01:00
Dean Herbert
4215f4f5d7 Merge branch 'master' into Editor-DrawableRuleset-Dependencies 2022-11-30 17:42:46 +09:00
Dean Herbert
2a3b24d058 Avoid need for implicit null casting 2022-11-30 14:21:04 +09:00
Dean Herbert
0659c84341 Rename method to be more in line with project naming 2022-11-30 14:17:49 +09:00
Jai Sharma
7dbf379351 Don't use verbatim string literals 2022-11-29 18:22:07 +00:00
Derrick Timmermans
70c320b2e8
Provide ruleset dependencies only to Compose Placement Blueprints 2022-11-27 21:43:33 +01:00
Jai Sharma
218c04c174 Code quality 2022-11-27 03:23:08 +00:00
Jai Sharma
6000e14668 Correctly select issue row 2022-11-27 03:08:54 +00:00
Jai Sharma
3c56b9c93a Add OnRowSelected event to EditorTable 2022-11-27 02:47:54 +00:00
Jai Sharma
792334a190 Move Control Group timing data into it's own component 2022-11-27 02:47:02 +00:00
Jai Sharma
b6d7bec240 Remove #nullable disabled from EditorTable and it's derived classes 2022-11-27 02:45:56 +00:00
Jai Sharma
1a914d0df7 Remove #nullable disable from TimingScreen 2022-11-27 02:43:22 +00:00
Bartłomiej Dach
894ef15e79
Merge branch 'master' into update-framework 2022-11-26 16:19:36 +01:00
Dan Balasescu
7bc8908ca9 Partial everything 2022-11-27 00:00:27 +09:00
Bartłomiej Dach
fca3e7e39f
Merge branch 'master' into editor-seek-control-points 2022-11-24 21:53:47 +01:00
Dean Herbert
37f725bfa2 Reverse directionality of up/down traversal keys to match scroll 2022-11-24 13:55:58 +09:00
Bartłomiej Dach
30f9cc46a7
Protect offset and bpm adjustments from null selection too 2022-11-23 17:25:43 +01:00
Dean Herbert
9b9b8a5977 Add ability to seek between control points in editor using down/up arrows
Matches stable. Addresses #21376.
2022-11-23 15:59:32 +09:00
Dean Herbert
d146f86511 Fix crash when hitting 'T' to tap timing while no timing point is selected 2022-11-23 15:39:56 +09:00
cdwcgt
e37d30a373
refactor based on reviews
removed LegacyExportManager

Separated the method of CreateZip method and the default export method
2022-11-21 18:58:01 +09:00
Bartłomiej Dach
1269afd0c5
Merge pull request #21307 from frenzibyte/disable-scroll-speed-on-osu
Hide scroll speed control from effects section on rulesets which don't support it
2022-11-20 16:17:55 +01:00
Salman Ahmed
4b0ba86bd0 Identify scrolling rulesets using temporary DrawableRuleset instances 2022-11-20 04:12:52 +03:00
Bartłomiej Dach
c05c1625f2
Merge branch 'master' into editor-test-play-dont-retain-test-time 2022-11-19 12:09:04 +01:00
Salman Ahmed
60c424837b
Merge branch 'master' into disable-scroll-speed-on-osu 2022-11-19 12:13:45 +03:00
Salman Ahmed
2e3af97892 Remove unused using 2022-11-19 12:13:36 +03:00
Salman Ahmed
290369db47 Hide scroll speed slider on rulesets which don't support it 2022-11-19 06:42:27 +03:00
Salman Ahmed
016de2f5a0 Fix editor not always playing hitsounds with clock offsets applied 2022-11-19 05:15:22 +03:00
cdwcgt
4e457871f3
impossible null and remove storage 2022-11-19 01:03:22 +09:00
cdwcgt
4b29941b47
add LegacyExportManager 2022-11-18 20:00:00 +09:00
Salman Ahmed
90cd386323 Fix timeline potentially scrolling at extents while not dragging 2022-11-18 09:43:16 +03:00
Dean Herbert
a4e713a61f When returning to the editor after test play, use the original editor time rather than the point of exit 2022-11-17 12:36:24 +09:00
Dean Herbert
bfcd9e0f45 Don't seek to current editor location when location is close to (or before) the first object 2022-11-17 12:32:35 +09:00
Salman Ahmed
7a28a7f2a0 Move IGameplaySettings override to compose screen to keep test mode unaffected 2022-11-17 01:45:16 +03:00
cdwcgt
e1a21e0cf9
create a task to export to avoid block main thread
Code quality and remove some #nullable disable
2022-11-17 01:08:06 +09:00
Dean Herbert
ee6fffec5f Fix combo colour normalisation setting not applying to editor test play 2022-11-16 17:54:49 +09:00
Dan Balasescu
db25e9e9c8 Merge branch 'master' into combo-colour-brightness-limit 2022-11-11 15:31:28 +09:00
Dan Balasescu
94772a9cda
Merge pull request #21147 from peppy/fix-timeline-editor-crash
Fix editor hard crash when beatmap file specified out-of-range timeline zoom value
2022-11-10 22:59:55 +09:00
Dan Balasescu
606d42c679
Merge pull request #21184 from peppy/skinnable-things-cleanup
Skinnable class naming pass
2022-11-10 12:52:08 +09:00
Dan Balasescu
051f7f4c68
Merge pull request #21173 from peppy/toggle-hit-markers
Add the ability to toggle off hit marker displays in the editor
2022-11-10 12:23:53 +09:00
Dean Herbert
3547c04002
Merge branch 'master' into skinnable-things-cleanup 2022-11-10 12:09:32 +09:00
Dean Herbert
1aa0e40f2f Add "Component" prefix to lookup naming 2022-11-09 17:46:43 +09:00
Dean Herbert
c908969d9b Rename ISkinComponent to ISkinLookup 2022-11-09 17:46:43 +09:00
Dean Herbert
4457648b1c Fix editor playing too many sounds when user performs a manual seek during playback 2022-11-09 17:42:33 +09:00
Dean Herbert
4448fcb3c8 Override combo colour brightness normalisation setting only in editor 2022-11-08 18:29:10 +09:00
Dean Herbert
ada039151b Add the ability to toggle off hit marker displays in the editor 2022-11-08 18:07:06 +09:00
Dean Herbert
9650ae1329 Limit editor background dim to 75% maximum 2022-11-08 17:20:37 +09:00
Dean Herbert
349d262c18 Remove commented unbind 2022-11-08 17:19:48 +09:00
Dean Herbert
b166e477c2
Merge branch 'master' into editor-background 2022-11-08 17:18:34 +09:00
Dean Herbert
f6d93fcd5a Fix editor hard crash when beatmap file specified out-of-range timeline zoom value 2022-11-07 12:54:02 +09:00
Dan Balasescu
fc191807c6 Fix velocity test failing with no audio device 2022-11-03 13:59:22 +09:00
Dean Herbert
0e502de8b4 Rename field to match usage 2022-11-02 18:04:42 +09:00
Dean Herbert
c3eb0c6330 Merge branch 'master' into editor-background 2022-11-02 17:43:38 +09:00
cdwcgt
9884618290
rename editorDim to editorBackgroundDim 2022-11-02 15:12:15 +09:00
Dean Herbert
2a88409dfe Fix time snap of sliders not matching when SV is not 1.0x
This regressed with https://github.com/ppy/osu/pull/20850 because the
function was used in other places which expect it to factor slider
velocity into the equation.

Rather than reverting, I've added a new argument, as based on the method
naming alone it was hard to discern whether SV should actually be
considered.

The reason for the change in #20850 was to avoid the SV coming in from a
reference object which may not have a correct SV in the first place. In
such cases, passing `false` to the function will give the expected
behaviour.
2022-11-01 15:12:58 +09:00
andy840119
a753369d3e Reuse function TimeAtPosition() and PositionAtTime(). 2022-10-30 17:21:50 +08:00
D.Headley
21d68bfb84 Delete unused button 2022-10-28 16:40:21 +02:00
cdwcgt
6991195d69
let editor dim different from gameplay dim 2022-10-26 15:22:57 +09:00
Dean Herbert
2016d33055 Offset start of distance snap grid drawing if reference object's start time doesn't align
Closes #20938.
2022-10-26 13:11:26 +09:00
Bartłomiej Dach
f5ca447b8e
Rename one more "{duplicate -> clone}" reference 2022-10-25 21:34:41 +02:00
Bartłomiej Dach
bcdf24b972
Merge branch 'master' into add-editor-object-clone 2022-10-25 21:33:52 +02:00
Dean Herbert
4d4f6e25ba Rename to "clone" instead of "duplicate" 2022-10-25 11:43:23 +09:00
Dean Herbert
1e579e06f8 Fix duplicate working incorrectly if there is no selection currently made 2022-10-25 11:42:12 +09:00
cdwcgt
a2682b3ce3
background dim settings for editor
View -> Background Dim

follow `DimLevel` and `BlurLevel`

Co-Authored-By: Dead_Bush_Sanpai <DeadBushSanpai@yandex.com>
2022-10-24 23:55:33 +09:00
cdwcgt
de881cc5cb
useless #nullable disable 2022-10-24 23:17:28 +09:00
Dean Herbert
1d5df15027 Add ability to use Shift+Number to set current beat divisor in editor 2022-10-24 15:20:15 +09:00
Dean Herbert
e72a71a28e Add simple editor "duplicate objects" key binding 2022-10-24 14:01:34 +09:00
Dean Herbert
849b50a38f
Use ToUpperInvariant for added safety
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-10-21 00:16:33 +09:00
Dean Herbert
372a655be1 Ensure placement uses currently selected bank 2022-10-19 21:39:51 +09:00
Dean Herbert
50e24ddd87 Add icon and radio button logic 2022-10-19 21:35:08 +09:00
Dean Herbert
9222cb379f Add sample bank suport to editor selection handler 2022-10-19 20:53:18 +09:00
Dean Herbert
6a7f6c76ff Fix osu! editor padding being applied to toolboxes
The result of https://github.com/ppy/osu/pull/20739 and https://github.com/ppy/osu/pull/20738 having unintended side effects when applied together.
2022-10-18 14:32:00 +09:00
Dan Balasescu
10aabfc650
Merge pull request #20739 from peppy/settings-toolbox
Adjust visuals of settings toolboxes (gameplay loading screen and editor)
2022-10-14 20:31:05 +09:00
Dean Herbert
15f9697c9f Roughly update design of editor buttons 2022-10-13 16:57:25 +09:00
Dean Herbert
c3902728f6 Reorganise beatmap snap control to work better in compact mode 2022-10-13 15:47:54 +09:00
Dean Herbert
a525b3f9f8 Reorder and rename toggle checkboxes to fit better 2022-10-13 15:44:33 +09:00
Dean Herbert
f6f5d33f53 Add slight padding to playfield (roughly matches stable) 2022-10-13 15:44:23 +09:00
Dean Herbert
ab24e87013
Merge branch 'master' into improve-drag-selection 2022-10-12 13:20:17 +09:00
ekrctb
fcb9e2cc00 Refactor blueprint container drag code 2022-10-11 22:39:53 +09:00
Dean Herbert
f41b79688f Avoid casting by accepting all Playfields but throwing on a bad choice 2022-10-11 16:54:41 +09:00
ekrctb
6ab29a62d0 Anchor drag box on time (catch, mania)
Not done for taiko because I cannot figure out how it should work with the overlapping scroll algorithm.
2022-10-11 14:23:17 +09:00
ekrctb
1a24762f9b Improve drag box selection logic
`AllowDeselectionDuringDrag` is remove.
Instead, selected hit objects are not automatically deselected
when clock is seeked to a later time (the hit object is dead).
Update drag box selection even if mouse is not moved
(in case clock is running or scroll wheel is used).
2022-10-11 14:11:45 +09:00
ekrctb
6164e0896a Don't reselect already selected items in SelectAll 2022-10-07 10:46:07 +09:00
ekrctb
29cc554632 Ensure blueprint is added for selected hit object 2022-10-06 13:59:54 +09:00
ekrctb
0d448e6cc8 Fix items without blueprints are not deselected 2022-10-06 13:50:56 +09:00
ekrctb
b0213c29e9 Use mid time instead of start time
It is closer to the old blueprint-based behavior
2022-10-05 22:19:22 +09:00
ekrctb
6753f6b01a Move AllowDeselectionDuringDrag down
Because it is now ignored in the timeline implementation anyways
2022-10-05 22:14:11 +09:00
ekrctb
3108c42ece Fix inspect issues 2022-10-05 22:04:43 +09:00
ekrctb
00b3d97f69 Improve timeline selection performance
But selecting a large number of hit objects is still very slow
because all DHOs must be added
and also `AddBlueprintFor` has quadratic behaviors
2022-10-05 21:58:05 +09:00
ekrctb
0613388aaa Make sure all selected items get deleted 2022-10-05 21:58:05 +09:00
ekrctb
0ffde02f79 Use hit object time for timeline selection 2022-10-05 21:51:01 +09:00
ekrctb
8d29e9e76b Move selection logic from DragBox to BlueprintContainer 2022-10-05 21:51:01 +09:00
Dean Herbert
58217b6839 Fix weird conditional 2022-09-27 20:09:21 +09:00
Dean Herbert
a9088d9231 Add assert/log output when too many ticks are being displayed 2022-09-27 17:18:46 +09:00
Dean Herbert
e227519b09 Don't attempt to render timeline ticks until DrawWidth is above zero 2022-09-27 17:18:46 +09:00
Dean Herbert
ccae721af2 Ensure ZoomableScrollContainer content isn't shown until zoom is set 2022-09-27 17:07:11 +09:00
Dean Herbert
9dc0eb7fd0 Remove unused static 2022-09-27 17:04:56 +09:00
Drison64
c075d3de08 Create a test and a check if initial zoom value of ZoomableScrollContainer is in range 2022-09-17 22:43:40 +02:00
Ondřej Vajďák
9d94343317
Update osu.Game/Screens/Edit/Compose/Components/Timeline/Timeline.cs
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-09-17 19:51:44 +02:00
Drison64
c8768eb399 Changed == to <= on TimelineZoom check 2022-09-17 19:00:50 +02:00
Drison64
3c7ea5c8fa Update 2022-09-17 18:57:09 +02:00
Drison64
0b6a77bc8b EditorBeatmap's TimelineZoom should never be zero 2022-09-17 15:59:42 +02:00
Dean Herbert
f53507828c Rename event to be more generic (and add comprehensive xmldoc) 2022-09-13 14:59:30 +09:00
OliBomby
fd48249eef fix with new event 2022-09-13 02:20:52 +02:00
OliBomby
718f8c4ee2 revert the fix 2022-09-13 01:09:42 +02:00
OliBomby
8400de4b2e invoking hitobject updated before invoking removed 2022-09-12 17:50:11 +02:00
Salman Ahmed
90207b6032
Merge branch 'master' into feature/EditorDeleteDiff 2022-09-06 18:48:06 +03:00
Dean Herbert
db15bd56e8 Invalidate working beatmap cache when calling DeleteDifficultyImmediately rather than in editor code 2022-09-06 18:12:47 +09:00
Dean Herbert
57954bb8f5 Enable nullability on TimelineHitObjectBlueprint 2022-09-05 14:50:43 +09:00
Dean Herbert
4f18105e9d Ensure next beatmap selected matches the menu ordering 2022-09-02 17:57:00 +09:00
Dean Herbert
840d1c4cd5 Disable delete difficulty menu item when only one difficulty is present 2022-09-02 17:14:48 +09:00
Dean Herbert
9fd8067e11 Tidy up dialog and deletion flow 2022-09-02 17:07:09 +09:00
Dean Herbert
605108c938 Refactor/rename deletion method to read better 2022-09-02 16:59:01 +09:00
Dean Herbert
b388428e1c
Merge branch 'master' into feature/EditorDeleteDiff 2022-09-02 16:48:38 +09:00
Dean Herbert
6a35b233e5 Merge branch 'master' into remove-dispose-updates 2022-09-01 23:03:19 +09:00
Dean Herbert
cfc7c32aff
Merge pull request #20009 from frenzibyte/fix-back-to-front-comparison
Adjust weirdly back-to-front fallback comparison in `HitObjectOrderedSelectionContainer`
2022-08-31 14:14:10 +09:00
Dean Herbert
2dafa041a7 Account for offset being applied to editor clock time in TestSceneEditorClock 2022-08-29 16:42:50 +09:00
Dean Herbert
a215d009fe Update Remove/RemoveRange/RemoveAll calls in line with framework changes 2022-08-29 15:57:40 +09:00
Salman Ahmed
3ff2058975 Fix back-to-front fallback comparison in HitObjectOrderedSelectionContainer 2022-08-29 09:23:53 +03:00
Dean Herbert
cd90536e4b Remove Track access in Timeline 2022-08-26 18:25:48 +09:00
Dean Herbert
12d6d6793c Move EditorClock processing to Update and always decouple 2022-08-26 18:08:43 +09:00
Dean Herbert
31e459364b Use FramedBeatmapClock in EditorClock 2022-08-26 17:28:58 +09:00
Dean Herbert
ec61a94dc9 Merge branch 'master' into no-gameplay-clock-gameplay-offset 2022-08-23 17:36:06 +09:00
Dean Herbert
af2e82d7d5 Move operation of setting GameplayClockContainer.StartTime to Reset call 2022-08-22 14:11:06 +09:00
Dean Herbert
cbdd870ecf
Merge pull request #19693 from its5Q/editor-localisation
Add localisation support for beatmap editor setup
2022-08-20 11:51:57 +09:00
its5Q
4c24d8ed58 Improve string consistency 2022-08-19 03:17:05 +10:00
Dan Balasescu
0cf3c5570a
Merge pull request #19800 from peppy/fix-editor-ear-rape
Fix slider ticks playing back at infinite rate while making changes to a slider in the editor
2022-08-17 15:50:58 +09:00
Dean Herbert
6b9dec5996 Restore original event flow to allow for OnSuspend case to work correctly 2022-08-17 14:32:21 +09:00
Dean Herbert
8ce50e98a6 Move delegate debounce logic to Editor itself 2022-08-17 14:04:57 +09:00
Dean Herbert
ee153a345c Add a few more overlooked beatmap save states on setup screen modifications 2022-08-16 16:31:56 +09:00
Dean Herbert
ea50936d71 Fix slider ticks playing back at infinite rate while making changes to a slider in the editor 2022-08-16 15:27:58 +09:00
its5Q
e870ac6456 Fix code quality for CI 2022-08-16 15:51:54 +10:00
its5Q
797a8da996 Replace osu-web strings with new strings and merge to single file 2022-08-16 01:14:16 +10:00
Bartłomiej Dach
05ddfe7522
Merge branch 'master' into editor-setup-no-state-change 2022-08-14 18:21:31 +02:00
its5Q
2499b7f0cd Add localisation support for beatmap editor setup 2022-08-11 03:53:20 +10:00
Dean Herbert
ac99c1ad69 Migrate the majority of existing file lookups to use new extension methods 2022-08-10 16:01:16 +09:00
Dan Balasescu
c4b9b2a14b Merge branch 'master' into irenderer-glwrapper 2022-08-05 20:35:06 +09:00
Dean Herbert
de186f67e0 Limit metadata updates to once per frame 2022-08-02 22:02:30 +09:00