Dean Herbert
4be5d056c5
Reduce opacity of centre marker slightly
2024-07-12 17:23:48 +09:00
Dean Herbert
d2cb07b157
Add a bit more padding between node overlays and hitobjects in timeline
2024-07-12 17:22:36 +09:00
Dean Herbert
2454722601
Add tooltips to summary timeline display
2024-07-12 16:39:41 +09:00
Dean Herbert
275e7aa451
Adjust timeline centre marker visuals and bring in front of ticks
2024-07-12 16:37:03 +09:00
Dean Herbert
ca2fc72959
Adjust timeline centre marker visuals and bring in front of ticks
2024-07-12 16:29:40 +09:00
Dean Herbert
f65ab6736d
Adjust breaks in timeline to be centered with waveform / hitobjects
2024-07-12 15:45:58 +09:00
Dean Herbert
2ad2ae0c16
Add slight offset for timeline BPM display to avoid overlaps
2024-07-12 14:34:01 +09:00
Dean Herbert
9a7a0cdb34
Adjust timeline ticks to add a bit more body back
2024-07-12 14:29:18 +09:00
Dean Herbert
685b19a571
Adjust various visuals of summary timeline in a hope for user acceptance
...
.. with a somewhat appealing design.
2024-07-12 13:57:42 +09:00
Dean Herbert
fb4f620c90
Add back BPM and adjust sizing of bottom bar a bit more
2024-07-12 12:34:43 +09:00
Bartłomiej Dach
ccc4d288b2
Merge pull request #28821 from peppy/fix-editor-dim
...
Fix editor UI transparency being incorrectly opaque when hovering slider control points
2024-07-11 12:05:10 +02:00
Dean Herbert
95464ebf36
Merge branch 'master' into timeline-redesign
2024-07-11 18:38:17 +09:00
Bartłomiej Dach
6801ccbbc5
Fix editor UI remaining transparent when switching away from compose tab
...
Could still happen if using the keyboard F-key shortcuts. In that case
the composer becomes non-present, so its `Update()` can't really do
anything.
2024-07-11 11:23:09 +02:00
Bartłomiej Dach
f1fa34e5d5
Merge pull request #28800 from peppy/file-mounting-v3
...
Add ability to edit beatmap content externally
2024-07-11 10:47:36 +02:00
Dean Herbert
c139478aa2
Merge pull request #28805 from frenzibyte/select-all-on-focus
...
Select all text when focusing sample bank/volume textboxes in editor (and number boxes in general)
2024-07-11 17:33:30 +09:00
Dean Herbert
7b0c1e3498
Also apply to timing textboxes
2024-07-11 16:54:27 +09:00
Bartłomiej Dach
cc0d7e9981
Add error logging on failure to begin/end external edit
2024-07-11 09:54:12 +02:00
Bartłomiej Dach
ac467cf73a
Set locally modified state for all externally modified beatmap(sets) that could not be mapped to online
2024-07-11 09:44:33 +02:00
Dean Herbert
fe421edd8f
Fix editor UI transparency being incorrectly opaque when hovering slider control points
...
As mentioned at
https://github.com/ppy/osu/pull/28787#issuecomment-2221150025 .
2024-07-11 16:41:21 +09:00
Dean Herbert
b5bb94e4ec
Merge branch 'master' into file-mounting-v3
2024-07-11 15:54:54 +09:00
Dan Balasescu
00cab0ec0a
Merge pull request #28809 from bdach/mania-timeline-zooms-composer
...
Match mania editor playfield time range with timeline zoom
2024-07-11 15:41:26 +09:00
Dean Herbert
bdbdc3592e
Move full export async flow inside screen and add error handling
2024-07-11 14:27:12 +09:00
Dean Herbert
599a765fd1
Add confirmation before saving for external edit
2024-07-11 12:20:33 +09:00
Dean Herbert
cd6b0e875a
Simplify save dialogs
2024-07-11 12:15:17 +09:00
Dean Herbert
b0d6c8ca6d
Abort operation on save failure
2024-07-11 11:42:06 +09:00
Bartłomiej Dach
92dc125d39
Match mania editor playfield time range with timeline zoom
2024-07-10 17:36:39 +02:00
Dean Herbert
b58ba5f5f1
Just give in to silly code quality inspection
2024-07-10 23:02:19 +09:00
Bartłomiej Dach
c8a64c5950
Remove setup screen controls that do nothing useful
...
Before I go with a hammer to redesign these, I want to remove stuff that
does nothing first.
Hard-breaks API to allow rulesets to specify an enumerable of custom
sections rather than two specific weird ones.
For specific rulesets:
- osu!:
- Stack leniency slider merged into difficulty section.
- osu!taiko:
- Approach rate and circle size sliders removed.
- Colours section removed.
- osu!catch:
- No functional changes.
- osu!mania:
- Special style toggle merged into difficulty section.
- Colours section removed.
2024-07-10 14:53:16 +02:00
Salman Ahmed
ce93455aa8
Extend behaviour to sample edit popover
2024-07-10 15:16:10 +03:00
Dean Herbert
b6741ee4ea
Fix back-to-front exit blocking conditionals
2024-07-10 20:00:34 +09:00
Dean Herbert
1381b3c0c5
Merge pull request #28801 from bdach/break-generation-caching
...
Improve performance of automatic break regeneration
2024-07-10 19:21:16 +09:00
Bartłomiej Dach
b881c25b17
Pool summary timeline break visualisations to reduce allocations
2024-07-10 11:42:28 +02:00
Bartłomiej Dach
343090e3b1
Do not regenerate breaks unless meaningful change to object start/end times is detected
...
Tangentially found when profiling https://github.com/ppy/osu/pull/28792 .
For reproduction, import https://osu.ppy.sh/beatmapsets/972#osu/9007 ,
move any object on the playfield, and observe a half-second freeze
when ending the drag.
2024-07-10 11:42:25 +02:00
Dean Herbert
aa16c72e06
Add test coverage of external editing
2024-07-10 18:34:47 +09:00
Dean Herbert
3beca64cc5
Attempt to stay on correct difficulty
2024-07-10 18:34:46 +09:00
Dean Herbert
27ab54882b
Add loading segments and tidy things up
2024-07-10 18:34:46 +09:00
Dean Herbert
74aa05fa6e
Improve UX and styling of external edit screen
2024-07-10 18:34:45 +09:00
Dean Herbert
118162c631
Add sub screen to limit user interactions
2024-07-10 18:34:45 +09:00
Dean Herbert
d3c66e2404
Add basic flow for mounting beatmaps for external editing
2024-07-10 18:29:51 +09:00
Bartłomiej Dach
95783bd6c2
Merge pull request #28789 from peppy/fix-deletes-reappearing
...
Fix deleted beatmap sets potentially reappearing due to pending update requests
2024-07-10 09:14:10 +02:00
Dean Herbert
0e2e44a2f5
Add failing test case showing editor save then delete failure
2024-07-09 20:41:22 +09:00
OliBomby
306dc37ab5
Make hit object and sample point seek keybinds configurable
2024-07-09 12:28:23 +02:00
Bartłomiej Dach
ca4c0aa7e2
Remove unused using
2024-07-09 10:57:21 +02:00
Bartłomiej Dach
5d5dd0de00
Redesign bottom timeline pieces to match stable better
2024-07-09 09:25:22 +02:00
Bartłomiej Dach
29b8948609
Slim down bottom timeline
...
This removes the BPM display, which is commonly cited to have
no functional purpose by users, and reduces the height of the bottom bar
in exchange for more space for the playfield.
2024-07-09 09:25:22 +02:00
Bartłomiej Dach
50818da166
Ensure timeline ticks aren't hidden by other pieces
...
Addresses https://github.com/ppy/osu/issues/28667 .
2024-07-09 09:25:22 +02:00
Dean Herbert
aadcc5384d
Adjust editor transparent tweens to be less "flashy"
...
Touched on in https://github.com/ppy/osu/discussions/28581 .
After a bit more usage of the editor I do agree with this and think that
making the fades a bit more gentle helps a lot.
2024-07-09 16:16:19 +09:00
Dan Balasescu
9c2a0576fb
Merge pull request #28776 from bdach/fix-composer-disappearing
...
Fix composer disappearing when undoing change to control points
2024-07-09 00:54:38 +09:00
Bartłomiej Dach
275b959c02
Fix composer disappearing when undoing change to control points
...
As mentioned in https://github.com/ppy/osu/issues/28752 .
Regressed in https://github.com/ppy/osu/pull/28444 .
2024-07-08 16:28:54 +02:00
Bartłomiej Dach
877b5768fc
Merge branch 'master' into sorted-breaks
2024-07-08 15:59:32 +02:00
Salman Ahmed
b33e54d064
Enforce IBeatmap.Breaks
to be sorted chronologically
2024-07-08 16:06:38 +03:00
Bartłomiej Dach
2cad8d3684
Merge branch 'master' into time-accurate
2024-07-08 14:19:57 +02:00
OliBomby
2822ba2377
Fix CurrentTimeAccurate being inaccurate if seeking smoothly in the same frame and a transform is already active
2024-07-08 13:30:11 +02:00
Bartłomiej Dach
0fe2c45e1d
Fix editor playback control not removing correct adjustment
...
Closes https://github.com/ppy/osu/issues/28768 .
great job past me 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦
2024-07-08 13:21:42 +02:00
Dan Balasescu
b2bdb67a3e
Merge pull request #28765 from bdach/editor-menu-max-height
...
Fix editor menus overflowing off screen
2024-07-08 19:13:30 +09:00
Bartłomiej Dach
db7774485a
Fix editor player crashing with UR counter present in skin
...
Closes https://github.com/ppy/osu/issues/28764 .
2024-07-08 11:14:32 +02:00
Bartłomiej Dach
2ceedb0f93
Fix editor menus overflowing off screen
...
Closes https://github.com/ppy/osu/issues/28750 .
Yes this is not the perfect change to fix this (which would probably be
some framework change to take bounds of the parenting input manager into
account). I really do not want to go there and would like to just fix
this locally and move on. Due to the game-wide scaling container this
sorta works for any resolution anyhow.
2024-07-08 11:05:39 +02:00
OliBomby
f36321a8ea
allow alt scroll for volume in editor
2024-07-07 21:33:43 +02:00
OliBomby
ba44757c86
clarify logic
2024-07-05 15:24:39 +02:00
OliBomby
c05f48979b
fix naming violation
2024-07-05 14:33:05 +02:00
OliBomby
8d46d6c697
always seek on click
2024-07-05 14:18:17 +02:00
OliBomby
7d6ade7e84
shift alt seek to open next sample edit popover
2024-07-05 14:16:51 +02:00
OliBomby
98610f4f6d
alt left/right or scroll to seek to neighbouring hit objects
2024-07-05 12:41:50 +02:00
Bartłomiej Dach
4c59ec1d94
Fix incorrect ternary state computation for bank toggles
...
Closes https://github.com/ppy/osu/issues/28741 .
Regressed in a7b066f3ee
.
The intent of the original change there was to ensure that addition
banks being set will put the ternary state toggles in indeterminate
state (to at least provide a visual indication that the selection does
not use a single bank). This would previously not be the case due to
the use of `.All()` in the original condition (a single object/node
was considered to have a bank enabled if and only if *all* samples
within it used it). However the attempt to fix that via switching
to `Any()` was not correct.
The logic used in the offending commit operates on extracted `Samples`
and `NodeSamples` from the selection, and would consider the ternary
toggle:
- fully off if none of the samples/node samples contained a sample with
the given bank,
- indeterminate if the some of the samples/node samples contained a
sample with the given bank,
- fully on if at least one sample from every samples/node samples
contained a sample with the given bank.
This is a *two-tiered* process, as in first a *binary* on/off state is
extracted from each object's samples/node samples, and *then* a ternary
state is extracted from all objects/nodes. This is insufficient to
express the *desired* behaviour, which is that the toggle should be:
- fully off if *none of the individual samples in the selection* use
the given bank,
- indeterminate if *at least one individual sample in the selection*
uses the given bank,
- fully on if *all individual samples in the selection* use the given
bank.
The second wording is flattened, and no longer tries to consider "nodes"
or "objects", it just looks at all of the samples in the selection
without concern as to whether they're from separate objects/nodes
or not.
To explain why this discrepancy caused the bug, consider a single object
with a `soft` normal bank and `drum` addition bank. Selecting the object
would cause a ternary button state update; as per the incorrect logic,
there were two samples on the object and each had its own separate
banks, so two ternary toggles would have their state set to `True`
(rather than the correct `Indeterminate`), thus triggering a bindable
feedback loop that would cause one of these banks to win and actually
overwrite the other.
Note that the addition indeterminate state computation *still* needs
to do the two-tiered process, because there it actually makes sense (for
a selection to have an addition fully on rather than indeterminate,
*every* object/node *must* contain that addition).
2024-07-05 09:27:21 +02:00
Salman Ahmed
207ee8a2ee
Fix editor not updating ruleset when switching difficulty
2024-07-04 14:06:36 +03:00
OliBomby
b9c6674a58
Allow seeking to sample point on double-click
2024-07-04 11:47:45 +02:00
Dean Herbert
a4c575f77a
Merge pull request #28521 from bdach/tempo-adjust-editor
...
Change editor speed adjustment back to adjusting tempo
2024-07-04 16:42:55 +09:00
Dean Herbert
3f138489a1
Merge pull request #28509 from bdach/slider-anchor-type-switching
...
Add ability to cycle slider control point types via keyboard
2024-07-04 16:11:37 +09:00
Dean Herbert
73d71d3d77
Merge pull request #28705 from bdach/editor-test-play
...
Reimplement missing gameplay test hotkeys from stable
2024-07-04 13:44:25 +09:00
Dean Herbert
88375694a3
Merge branch 'master' into slider-anchor-type-switching
2024-07-03 22:36:57 +09:00
Bartłomiej Dach
e73faaefd2
Merge branch 'master' into editor-test-play
2024-07-03 13:54:47 +02:00
Dean Herbert
56cdd83451
Adjust padding and round corners of hover layer
2024-07-03 20:42:34 +09:00
Dean Herbert
5f56ed6872
Merge branch 'master' into navigate-to-timestamp
2024-07-03 20:42:32 +09:00
Bartłomiej Dach
17ce9cd162
Merge branch 'master' into grids-2
2024-07-03 10:57:05 +02:00
Dean Herbert
824a00b018
Merge pull request #28707 from bdach/remove-breaks
...
Add option to remove breaks via timeline context menu
2024-07-03 16:29:25 +09:00
Dean Herbert
abfcac7466
Fix nullability
2024-07-03 15:31:46 +09:00
Dean Herbert
b6dc483fc1
Add missing change handler to ensure undo/redo works for break removal
2024-07-03 14:23:31 +09:00
Salman Ahmed
cb350470e5
Merge branch 'master' into update-framework-has-flag
2024-07-03 07:06:13 +03:00
Dean Herbert
5350945340
Update HasFlag
usages
2024-07-03 00:19:04 +09:00
Bartłomiej Dach
a7b066f3ee
Include node samples when changing additions and banks
2024-07-02 16:22:15 +02:00
Bartłomiej Dach
9414aec8bf
Add capability to remove breaks via context menu
2024-07-02 14:55:04 +02:00
Bartłomiej Dach
d85c467856
Implement quick exit hotkeys for editor test play
2024-07-02 14:34:36 +02:00
Bartłomiej Dach
e28befb98d
Implement quick pause toggle for editor test play
2024-07-02 14:34:35 +02:00
Bartłomiej Dach
1e4db77925
Implement autoplay toggle for editor test play
...
Contains some hacks to fix weird behaviours like rewinding to the start
on enabling autoplay, or gameplay cursor hiding.
2024-07-02 14:34:31 +02:00
Dan Balasescu
31edca866c
Remove unused code
2024-07-02 12:21:24 +09:00
Dan Balasescu
04da1209f7
Revert "Change breaks list to IReadOnlyList
"
...
This reverts commit 2c3b411bb5
.
2024-07-02 12:16:11 +09:00
Dean Herbert
2c3b411bb5
Change breaks list to IReadOnlyList
2024-07-02 11:59:24 +09:00
Dean Herbert
005af280f2
Isolate bindable breaks list to EditorBeatmap
2024-07-02 11:31:55 +09:00
Dan Balasescu
f942595829
Fix ManiaModInvert
permanently messing up the beatmap
2024-07-01 15:02:00 +09:00
Dean Herbert
8bb51d5a4f
Fix summary timeline not correctly updating after changes to breaks
...
Closes https://github.com/ppy/osu/issues/28678 .
Oops.
2024-06-30 20:32:16 +09:00
Bartłomiej Dach
a3ea36d2b2
Fix formatting
2024-06-28 09:45:45 +02:00
Bartłomiej Dach
7ac5bd4d37
Ensure past drawable objects also get their results populated in editor test play
2024-06-28 09:37:10 +02:00
Bartłomiej Dach
b36e0f0875
Merge branch 'master' into fix/editor-test-exit
2024-06-28 09:17:40 +02:00
Bartłomiej Dach
1b741dada3
Show distance in pixels to previous/next object in osu! hitobject inspector
2024-06-27 14:46:57 +02:00
Bartłomiej Dach
e35744118c
Merge pull request #28638 from OliBomby/beat-divisor
...
Fix editor not loading arbitrary beat divisors
2024-06-27 13:31:44 +02:00
OliBomby
29412bb29b
Fix editor setting arbitrary beat divisor
2024-06-27 12:22:00 +02:00
Dean Herbert
76a1f19233
Merge pull request #28613 from bdach/control-point-table-is-bad
...
Improve performance of editor tables
2024-06-27 18:22:56 +09:00
Bartłomiej Dach
9384cbcdd8
Fix scroll-into-view on control point table not working as it is supposed to
2024-06-27 09:46:35 +02:00
Bartłomiej Dach
a5aedded16
Remove commented code
2024-06-27 09:44:55 +02:00
Bartłomiej Dach
b1baa49459
Add note about implicit reliance on sort by start time
2024-06-27 07:56:57 +02:00