Dean Herbert
842d508aee
Fix incorrect delgate capture leading to slow leak of audio tracks
...
During profile, it was found that the `Completed` delegate was
incorrectly also capturing `lastTrack`, leading to an unexpected
reference chain that led to a memory leak over a long period of time.
This solves the issue by moving the delegate construction to its own
method, where it won't capture the other variables.
2021-12-24 18:39:29 +09:00
Bartłomiej Dach
5cbaa028eb
Use extracted ruleset config cache implementation in DI
2021-12-23 19:02:10 +01:00
Bartłomiej Dach
a49a4329ee
Add capability to switch between card sizes
2021-12-23 15:55:37 +01:00
Bartłomiej Dach
d0427ec85f
Add support card size tab control to beatmap listing
2021-12-23 15:55:37 +01:00
Bartłomiej Dach
1876617d8e
Implement beatmap card size tab control
2021-12-23 15:55:36 +01:00
Bartłomiej Dach
25e38560ce
Fix placeholder drawables on beatmap listing not always hiding correctly
...
`BeatmapListingOverlay.addContentToPlaceholder()`, in order to make
transitions between different beatmap listing content (whether it is
actual cards, or placeholders for no beatmaps found/supporter-specific
filters chosen), would set `BypassAutoSizeAxes = Y` on content as it is
fading out, to make the transition smoother. The property in question
was supposed to be getting restored to `None` on the next show.
In testing scenarios, it sometimes turned out that this wasn't the case,
therefore making the placeholders effectively not show - while they
were present and fully opaque, they would be the only child of
an auto-sized container with `BypassAutoSizeAxes = Y`, so the parent
auto-sized to a zero height, which logically follows from the premise,
but is not what was desired.
This in turn was caused by the fact that the `BypassAutoSizeAxes = Y`
set was scheduled, and sometimes it would be scheduled in such a way
that the drawable would cease to be present on the next frame due to its
alpha being past the cutoff point of 0.0001. Therefore the scheduled set
would not execute until the *next* time the placeholder was shown,
therefore causing the bug.
Fix by ensuring that the placeholder drawables are always present if
their schedulers have any tasks enqueued, on top of the usual checks of
alpha and scale performed via the base implementation.
2021-12-22 15:05:23 +01:00
Bartłomiej Dach
88d4e95ad8
Rename BeatmapCard{ => Normal}
2021-12-21 08:26:21 +01:00
Bartłomiej Dach
a6ccbafc77
Fix rank graph showing for unranked users
2021-12-19 13:40:22 +01:00
mk-56
fd5af1fbe7
Code refactor and name changes
...
cleaned code up with Jetbrains i hope it suffices
2021-12-17 13:16:06 +01:00
Bartłomiej Dach
54790bb758
Merge branch 'master' into fix-realm-post-storage-migration-failure
2021-12-17 00:19:46 +01:00
Dean Herbert
aa0813ff05
Merge pull request #16109 from smoogipoo/chat-overlay-multiplayer-removal
...
Don't show multiplayer channels in chat overlay
2021-12-16 17:39:45 +09:00
Dan Balasescu
3f1d747b7a
Merge pull request #16090 from peppy/fix-scroll-speed-toast-sample-spam
...
Fix toast popups spamming samples when adjusting osu!mania scroll speed during gameplay
2021-12-16 17:31:36 +09:00
Dan Balasescu
488374b4a2
Don't show multiplayer channels in chat overlay
2021-12-16 16:41:47 +09:00
Susko3
643cee4f83
Merge branch 'master' into number-textbox-only-numbers
2021-12-15 09:13:19 +01:00
Susko3
b326ccc196
Move logic to framework and update all usages
2021-12-15 07:13:24 +01:00
Dean Herbert
0c11fe7413
Fix toast popups spamming samples when adjusting osu!mania scroll speed during gameplay
...
Not the most robust of fixes, but as per the reasoning described in the
issue thread, a proper fix will take considerably more effort. This
intends to fix the issue first and foremost, as it sounds so bad I'd
want to mute my sound before adjusting currently.
Closes #15718 .
2021-12-15 12:45:23 +09:00
Dean Herbert
441b7baa93
Provide a realm factory to usages of ToLive
/RealmLive
2021-12-14 14:26:34 +09:00
Dean Herbert
bff02bedbf
Rename APIScoreInfo
to APIScore
2021-12-10 16:11:49 +09:00
Dean Herbert
bf1418bafc
Use OnlineID
instead of legacy IDs for equality and lookups
2021-12-10 16:11:48 +09:00
Susko3
0b0ff36154
Allow only number characters parseable by int.TryParse
...
char.IsNumber() is too broad, allowing full width and other numbers.
2021-12-07 20:06:22 +01:00
Dean Herbert
d6e68feadc
Merge pull request #15948 from bdach/beatmap-card/difficulty-dropdown
...
Add difficulty dropdown to beatmap card
2021-12-07 23:40:06 +09:00
Bartłomiej Dach
999bba439f
Clarify usages of reverse child ID flow with inline comments
2021-12-06 21:02:40 +01:00
Dean Herbert
452fa93444
Merge branch 'master' into realm-integration/skins-rebase
2021-12-06 15:21:02 +09:00
Bartłomiej Dach
af10223ac4
Add reverse fill flows & depth specs at usage sites for correct Z-ordering
2021-12-05 20:07:46 +01:00
Bartłomiej Dach
38702beabf
Merge branch 'master' into i-ruleset-store
2021-12-04 15:05:39 +01:00
Dan Balasescu
4145a16d5b
Merge pull request #15920 from peppy/clean-up-unused-resolves
...
Clean up unused resolved properties
2021-12-03 20:08:48 +09:00
Dean Herbert
1eed2436e6
Clean up unused resolved properties
2021-12-03 18:49:49 +09:00
Dean Herbert
2acf46154a
Remove many unused resolutions of RulesetStore
2021-12-03 18:16:29 +09:00
Dean Herbert
e75e209053
Cache and consume IRulesetStore
where feasible
2021-12-03 18:16:01 +09:00
Dean Herbert
aaa46960b3
Reword mouse wheel disable setting to better explain its purpose
2021-12-03 17:18:07 +09:00
Dean Herbert
e855a49833
Add test coverage of default skin edit and export
2021-12-02 14:01:18 +09:00
Dean Herbert
0a14acfd83
Fix incorrect conditional on export/mutate feasability of skin
2021-12-02 13:41:58 +09:00
Dean Herbert
65f0a80c97
Merge branch 'master' into realm-integration/skins-rebase
2021-12-02 13:37:20 +09:00
Dean Herbert
c82195390f
Update usage of SubscribeForNotifications
2021-12-02 13:24:16 +09:00
Dean Herbert
8ce7467e97
Fix ordering of skins in dropdown being reverse of expected
2021-12-01 12:50:47 +09:00
Dean Herbert
03e1305b3f
Fix toast display potentially causing a child mutation before load complete
2021-12-01 01:55:17 +09:00
Dean Herbert
6877867467
Make default fallback logic more robust
2021-11-29 18:28:25 +09:00
Dean Herbert
0d18c83d75
Simplify deletion by adding always present conditionals to Delete
method
2021-11-29 18:28:25 +09:00
Dean Herbert
f6a3709060
Store default skins to database
2021-11-29 18:28:25 +09:00
Dean Herbert
c629a7a36f
Fix random selection and avoid using legacy events for handling skin import/deletion
2021-11-29 18:28:25 +09:00
Dean Herbert
744a5b33f5
Rewrite SkinSection
to use realm subscriptions and databased defaults
2021-11-29 18:28:25 +09:00
Dean Herbert
3db5646fa8
Create Guid constants for system skins (and store skin choice to configuration as guid)
2021-11-29 18:28:25 +09:00
mk-56
c3fb793762
Fixed the problems that were brought up and deleted the old bind logic
2021-11-28 14:06:53 +01:00
mk-56
ff9c68dd6a
cleanup
2021-11-28 03:28:35 +01:00
MK56
753c1c7fea
Merge branch 'ppy:master' into positional-sounds-strength-adjustment
2021-11-28 02:59:36 +01:00
mk-56
eaa464e548
Initial implementation of adjustable positional hitobject audio strength
2021-11-28 02:58:08 +01:00
Dean Herbert
51a7c60eec
Merge pull request #15835 from bdach/off-thread-transforms-unbind
...
Fix instances of components adding off-thread transforms on unbind
2021-11-28 09:27:43 +09:00
Bartłomiej Dach
db49d99cc0
Ensure correct disabled ruleset callback scheduling in ruleset selector
2021-11-27 15:28:23 +01:00
Bartłomiej Dach
05f7ea6b6d
Remove mentions of "panel" and "direct" from names of old download buttons
2021-11-27 15:08:03 +01:00
Bartłomiej Dach
a043d1e427
Move old beatmap download button to more general namespace
2021-11-27 15:06:57 +01:00
Bartłomiej Dach
251ab183a0
Move beatmap play button nearer its only remaining usage
2021-11-27 15:04:05 +01:00
Bartłomiej Dach
7419682334
Move icon pill to beatmap card-specific namespace
2021-11-27 15:01:48 +01:00
Bartłomiej Dach
6773877a40
Remove no-longer-used beatmap panels
2021-11-27 15:00:06 +01:00
Bartłomiej Dach
f4b7db5a7b
Ensure correct disabled beatmap callback scheduling in now playing overlay
2021-11-27 14:36:34 +01:00
Dean Herbert
89b4e5cffb
Rename mass deletion confirmation dialog
2021-11-26 18:18:45 +09:00
Bartłomiej Dach
ec2265d5bb
Use beatmap cards in spotlights layout
2021-11-25 22:30:47 +01:00
Bartłomiej Dach
42b09fd1ec
Use beatmap cards in user profile overlay
2021-11-25 22:30:47 +01:00
Bartłomiej Dach
0f9ebe3d5d
Use beatmap cards in beatmap listing overlay
2021-11-25 22:30:46 +01:00
Dan Balasescu
f712aeee01
Merge pull request #15795 from peppy/realm-integration/separate-download-flow
...
Split out download logic from main manager classes
2021-11-25 20:59:23 +09:00
Dan Balasescu
d3a4890c31
Merge branch 'master' into realm-integration/stable-export-flow
2021-11-25 19:06:18 +09:00
Dean Herbert
e2ebcf7a26
Remove unnecessary manager parameter
...
Confused why I added this in the first place..
2021-11-25 18:36:03 +09:00
Dean Herbert
716543b5b3
Move beatmap download logic out of BeatmapManager
2021-11-25 17:29:41 +09:00
Dean Herbert
79459c1aeb
Fix typo in class and variable names
2021-11-25 17:12:15 +09:00
Dean Herbert
cc1b91e4bd
Split out legacy model export logic into LegacyModelExporter
classes
2021-11-25 16:41:12 +09:00
Dean Herbert
9dcb20a821
Rename Stable
to Legacy
and add xmldoc
2021-11-25 15:39:05 +09:00
Dean Herbert
183b95cbc2
Rename BeatmapSetOnlineStatus
to BeatmapOnlineStatus
...
This variable is used at more than just a set level.
2021-11-24 18:42:49 +09:00
Dan Balasescu
8ce5324c8b
Merge pull request #15772 from peppy/remove-model-list-inits
...
Initialise `BeatmapSet.Beatmaps` list at construction time
2021-11-24 16:41:19 +09:00
Dean Herbert
a7853fc9cc
Fix cases of known-non-null
2021-11-24 14:26:25 +09:00
Dan Balasescu
84268c3d85
Merge branch 'master' into realm-ruleset-keybinding-short-name
2021-11-24 13:48:48 +09:00
Dan Balasescu
6183d1cd46
Merge pull request #15769 from peppy/model-equality-consistency
...
Update cases where equality can be used instead of primary key equality
2021-11-24 13:45:57 +09:00
Dean Herbert
729f681938
Update cases where equality can be used instead of primary key equality
2021-11-24 12:49:57 +09:00
Dean Herbert
0eea026afb
Remove null checks on CreateInstance()
calls
2021-11-24 12:23:09 +09:00
Bartłomiej Dach
0d409fa33e
Merge branch 'master' into realm-ruleset-keybinding-short-name
2021-11-23 20:18:58 +01:00
Dan Balasescu
fd4d5e98a7
Merge pull request #15745 from bdach/settings-number-box-stack-overflow
...
Fix crashes on trying to play back replays of seeded mods with seed value over 1 billion
2021-11-23 16:36:05 +09:00
Dean Herbert
0989d6a92e
Merge branch 'realm-ruleset-setting-short-name' into realm-ruleset-keybinding-short-name
2021-11-23 14:55:40 +09:00
Dean Herbert
feb983d5bd
Rename Debug
namespace to avoid collisions
2021-11-23 13:09:41 +09:00
Bartłomiej Dach
4a9f080f3c
Accept full range of int
in SettingsNumberBox
...
This fixes stack overflow exceptions that would arise when a
`Current.Value` of 1 billion or more was set on a `SettingsNumberBox`.
The stack overflow was caused by the "maximum 9 digits" spec. If a value
technically within `int` bounds, but larger than 1 billion (in the range
[1,000,000,000; 2,147,483,647], to be more precise), a feedback loop
between the setting control's `Current` and its inner text box's
`Current` would occur, wherein the last digit would be trimmed and then
re-appended again forevermore.
To resolve, remove the offending spec and rely on `int.TryParse`
entirely to be able to discern overflow range. Additionally, UX of the
text box is slightly changed to notify when the `int` range is exceeded
with a red flash.
This behaviour would not have been possible to implement without recent
framework-side fixes to text box (removal of text set scheduling).
2021-11-22 20:49:14 +01:00
Dean Herbert
d94b27a8a2
Switch realm ruleset key bindings to use ruleset's ShortName
as key
2021-11-22 18:52:30 +09:00
Dan Balasescu
698b6c4242
Merge pull request #15668 from peppy/key-repeat
...
Update `KeyBindingContainer` usage to block key repeat where applicable
2021-11-18 15:21:35 +09:00
Dean Herbert
db4e4c982c
Add hover effect to supporter button
2021-11-18 13:35:42 +09:00
Dean Herbert
66c307e0ee
Remove usage of key repeat helper method
2021-11-18 13:13:36 +09:00
Dean Herbert
3de8125eac
Update UI cases where repeat should not be handled
2021-11-18 13:13:36 +09:00
Joseph Madamba
cd5e379c48
Link osu!supporter icon to its web page
2021-11-17 14:43:34 -08:00
Dean Herbert
726a0cc091
Merge branch 'master' into beatmap-collection-inteface-types
2021-11-16 15:31:10 +09:00
Dean Herbert
68e2699043
Fix oversight in playlist matching logic
2021-11-16 12:35:18 +09:00
Dean Herbert
285b161da7
Update other usages of online ID comparisons to use new extension method
2021-11-15 14:44:08 +09:00
Dean Herbert
a4c11e8813
Use extension method to compare online IDs
2021-11-15 14:34:50 +09:00
Bartłomiej Dach
58bad0ab25
Merge branch 'master' into fix-setting-header-text-overflow
2021-11-12 20:34:07 +01:00
Bartłomiej Dach
cb2d1f3f04
Use horizontally symmetrical padding rather than margin
2021-11-12 20:28:42 +01:00
Dean Herbert
6a098a8634
Rename BeatmapInfo.OnlineBeatmapID
to OnlineID
to match interface
2021-11-12 17:46:24 +09:00
Bartłomiej Dach
a1b55d6490
Add failing test case
2021-11-09 13:34:36 +01:00
Lucas A
b7e7b0f850
Trim whitespace.
2021-11-08 21:42:51 +01:00
Lucas A
e6f39c4cad
Fix settings header text overflowing with some locales.
2021-11-08 21:38:01 +01:00
Susko3
8a23b648fe
Move HoverClickSounds
to the clickable button
2021-11-08 14:32:00 +01:00
Dean Herbert
49c26a465c
Debounce and schedule updates to key combinations
2021-11-08 18:29:11 +09:00
Dean Herbert
b4225804ed
Add missing null check
2021-11-08 18:26:12 +09:00
Dean Herbert
f5842e7587
Shorten variable names
2021-11-08 18:24:37 +09:00
Dean Herbert
82f24b0502
Revert "Change font to default"
...
This reverts commit cc286f165d
.
2021-11-08 18:16:06 +09:00
Dean Herbert
3183b20e2f
Merge branch 'master' into use-ReadableKeyCombinationProvider
2021-11-08 18:15:49 +09:00
Dean Herbert
8b85c2c8de
Merge pull request #15491 from peppy/remove-stupid-weak-reference-bindable-events
...
Revert weird event flow in model manager/importers
2021-11-08 15:19:58 +09:00