Salman Ahmed
e23da93c09
Use new display on mod select overlay and remove old display
2024-06-23 08:22:50 +03:00
Salman Ahmed
04efa61156
Add different display for mod customisation
2024-06-23 08:22:13 +03:00
Jamie Taylor
2ffeb1b361
Add fallback behaviour for custom rulesets
2024-06-23 02:20:51 +09:00
Jamie Taylor
0d11b2b91c
Replace manual usages of AudioFilter
with new ducking methods
2024-06-22 01:57:14 +09:00
Jamie Taylor
a56751511e
Apply a ducking effect to the currently playing track when switching ruleset
2024-06-22 01:36:30 +09:00
Bartłomiej Dach
659505f711
Adjust calls to GetContainingInputManager()
2024-06-18 07:41:19 +02:00
Bartłomiej Dach
8a4ae5d23d
Null-propagate all calls to GetContainingFocusManager()
2024-06-18 07:30:46 +02:00
Bartłomiej Dach
3afe98612c
Add RestoreState()
to IEditorChangeHandler
2024-06-11 11:31:30 +02:00
Dean Herbert
dd3f4bcdab
Fix code quality and null handling
2024-06-07 00:01:50 +08:00
Xesquim
860afb8123
Creating method in ModUtils to calculate the rate for the song
2024-06-06 10:06:07 -03:00
Bartłomiej Dach
cb72630ce1
Fix compile failures
2024-05-31 08:09:06 +02:00
Dean Herbert
5dfeaa3c4a
Move dialog strings to more common class name
2024-05-31 11:46:32 +09:00
Bartłomiej Dach
7b7e439d03
Merge branch 'master' into scale-tool
2024-05-29 10:15:48 +02:00
Bartłomiej Dach
4c881b5633
Use better name if we're renaming
2024-05-29 09:40:29 +02:00
OliBomby
a89ba33b47
rename CanScaleSelectionOrigin/PlayfieldOrigin to make clear its not the origin being scaled
2024-05-28 16:14:16 +02:00
Dean Herbert
4408039b3e
Merge branch 'master' into footer-v2-back-button
2024-05-28 15:50:34 +09:00
Dean Herbert
b6471f0b9c
Allow previewing audio of playlist items
2024-05-27 17:09:37 +09:00
Bartłomiej Dach
c800bb5339
Merge branch 'master' into lazer-speedkeys
2024-05-24 13:19:26 +02:00
Bartłomiej Dach
cab8cf7410
Move mod speed hotkey handler to user mod select overlay
...
The very base class is the wrong place for it because
`FreeModSelectOverlay` inherits from it, and that one has different
assumptions and rules than "user" selection. In particular, in non-user
selection, more than one rate adjust mod may be active, which breaks the
mod speed hotkey's basic assumptions.
2024-05-24 13:14:06 +02:00
Bartłomiej Dach
b1b207960a
Actually use return value
2024-05-24 13:09:44 +02:00
Bartłomiej Dach
8cac87e496
Fix speed controls in mod select overlay not handling repeat
2024-05-24 13:09:07 +02:00
Bartłomiej Dach
345fb60679
Fix toast strings
2024-05-24 13:08:17 +02:00
Bartłomiej Dach
63406b6feb
Rewrite implementation
2024-05-24 13:03:42 +02:00
Bartłomiej Dach
8a2dd4d816
Merge branch 'master' into scaling
2024-05-23 15:10:40 +02:00
Bartłomiej Dach
ac5c031a3a
Simplify original state management in skin selection scale handler
2024-05-23 15:01:28 +02:00
Dean Herbert
66ceda1d67
Update focus specifications in line with framework changes
2024-05-22 21:32:49 +08:00
Fabian van Oeffelt
57da4229ff
Add speed value to Toast
2024-05-22 13:58:59 +02:00
Dean Herbert
d0b1ebff5a
Revert "Temporary rollback of framework / SDL3"
...
This reverts commit d7d569cf4e
.
2024-05-22 16:29:39 +08:00
Dean Herbert
f979200712
Use null conditional rather than implicit not-null
2024-05-22 12:06:51 +08:00
Dean Herbert
1fdebe94ac
Merge branch 'master' into lazer-speedkeys
2024-05-22 12:05:04 +08:00
Dean Herbert
02a388cba6
Fix enum not being at end (and adjust naming)
2024-05-22 12:03:48 +08:00
Fabian van Oeffelt
148afd1201
Change Speedchange behaviour to keep changing while holding key, Add Toast to nofity user what just happend
2024-05-21 14:47:34 +02:00
Dean Herbert
d7d569cf4e
Temporary rollback of framework / SDL3
2024-05-21 14:36:16 +08:00
Dean Herbert
e740b8bcc3
Fix single frame glitching in skin editor
...
https://github.com/ppy/osu/pull/28257#discussion_r1606999574
2024-05-21 14:36:11 +08:00
Dean Herbert
3b86da443b
Merge pull request #28257 from bdach/fix-skin-editor-spaz
...
Fix closest anchor selection spazzing out in multiple scenarios
2024-05-21 14:35:29 +08:00
Bartłomiej Dach
3da3b91be5
Improve closest origin selection to include effects of rotation/flip
...
Closes https://github.com/ppy/osu/issues/28237 .
Solution as proposed here:
https://github.com/ppy/osu/pull/28089#issuecomment-2095372157
For flips and rotations by 90 degrees this does what you would expect it
to. For arbitrary rotations it *sort of kind of* attempts to do this but
the results are a bit wonky - probably still better than what was there
before, though?
2024-05-20 10:23:12 +02:00
Bartłomiej Dach
c03f68413a
Fix skin editor closest origin selection spazzing out on scaled sprites
...
Closes https://github.com/ppy/osu/issues/28215 .
`drawable.Position` is a location in the parent's coordinate space, and
`drawable.OriginPosition` is in the drawable's local space and
additionally does not take scale into account.
2024-05-20 10:23:07 +02:00
Susko3
04acc58b74
Don't show warning on android
...
Unsure about iOS.
2024-05-19 14:12:21 +02:00
Fabian van Oeffelt
80064c4b98
Speedchange now also works in Modselect
2024-05-18 18:38:23 +02:00
Salman Ahmed
310b4d90cc
Move SHEAR
constant to OsuGame
and revert back to 0.2x (i.e. master)
...
Discussed in [discord](https://discord.com/channels/188630481301012481/188630652340404224/1240490608934653984 ).
2024-05-16 07:28:02 +03:00
Salman Ahmed
9265290acf
Change shear factor everywhere to 0.15x
2024-05-16 05:33:01 +03:00
Salman Ahmed
e3afd89dc8
Allow specifying height of ShearedButton
s
...
Also includes a test case in `TestSceneShearedButton`s to ensure the buttons' shear factors don't change on different heights (I've encountered issues with that previously).
2024-05-16 05:02:56 +03:00
OliBomby
8df5f22b4e
Merge remote-tracking branch 'upstream/master' into scaling
2024-05-15 23:05:19 +02:00
Dean Herbert
e887f93eca
Always show placeholder on unknown / missing country
2024-05-10 22:45:59 +08:00
Dean Herbert
b026309e36
Add setting to allow hiding all country flags
...
There have been enough requests for this at this point to implement it.
2024-05-10 20:32:21 +08:00
Dean Herbert
88b20b357a
Increase padding around text in dialogs
2024-05-09 14:38:10 +08:00
Ekischleki
e4bfa6f46b
Merge branch 'master' into Make-deletion-confirmation-less-confusing
2024-05-07 18:45:02 +02:00
Dean Herbert
1d6915478f
Add message letting users know that beatmaps are donwloading in the background
2024-05-07 14:26:49 +08:00
Susko3
f824bd1441
Fix userTriggered
not being passed to private helper
2024-05-06 21:52:03 +02:00
Erik Wolfschläger
32444e0e30
Make deletion confirmation content less confusing
2024-05-06 18:11:40 +02:00
Bartłomiej Dach
d7a0fdce07
Merge pull request #28089 from peppy/use-closest-origin
...
Automatically choose origin (along with anchor) to make skin editor placement easier for users
2024-05-06 14:57:34 +02:00
Dean Herbert
29eef26a69
Merge pull request #28118 from bdach/scaling-mode-does-not-affect-skin-editor
...
Fix sizing of gameplay preview in skin editor not updating on scaling mode change
2024-05-06 18:46:48 +08:00
Bartłomiej Dach
353a07f7a5
Fix code quality inspection
2024-05-06 12:23:11 +02:00
Bartłomiej Dach
f066026503
Fix sizing of gameplay preview in skin editor not updating on scaling mode change
...
Closes https://github.com/ppy/osu/issues/28115 .
2024-05-06 11:55:51 +02:00
Bartłomiej Dach
cf87e9cd40
Do not show integration settings on mobile
...
Closes https://github.com/ppy/osu/issues/28097 .
The settings weren't actually doing anything at all there anyway.
2024-05-06 11:24:42 +02:00
Bartłomiej Dach
71776a583c
Merge branch 'master' into preset-td-autoplay
2024-05-06 09:02:08 +02:00
Bartłomiej Dach
4c7e6b125c
Add clarification comment
2024-05-06 08:49:30 +02:00
Dean Herbert
12cd3bbe1c
Fix incorrect scale handling due to selection point changes
2024-05-06 11:34:37 +08:00
Joseph Madamba
359238395f
Fix now playing overlay text scroll breaking when toggling metadata language setting
2024-05-05 15:43:46 -07:00
cdwcgt
1f92f1d19b
remove blank line
...
nt
2024-05-04 20:41:36 +08:00
cdwcgt
fe30ca3d39
fix linq logic
2024-05-04 20:18:31 +08:00
cdwcgt
f9be9ed479
remove incompatible system mods before enable preset
2024-05-04 19:58:32 +08:00
Dean Herbert
2cb367fdce
Disable "origin" menu when in "Closest" placement mode
2024-05-04 13:29:05 +08:00
Dean Herbert
e7ca02ffde
Fix position changing when origin updates during a drag
2024-05-04 13:28:33 +08:00
Dean Herbert
0b61e2cd42
Use closest origin along with closest anchor
2024-05-04 13:09:51 +08:00
Dean Herbert
ecb9173e51
Merge pull request #28017 from Joehuu/scrollable-text
...
Scroll now playing overlay text when overflowing
2024-05-03 20:05:58 +08:00
Bartłomiej Dach
3840e92576
Merge pull request #28075 from peppy/fix-chat-ui-scale
...
Fix chat overlay being far too large
2024-05-03 09:04:07 +02:00
Bartłomiej Dach
53b9159a01
Merge pull request #28078 from peppy/default-beatmap-background-be-gone
...
Stop using visually noisy `bg4` for default backgrounds
2024-05-03 08:06:22 +02:00
Dean Herbert
c935d3bf6c
Reduce font size in channel listing too
2024-05-03 14:00:28 +08:00
Joseph Madamba
c21b7c7df9
Use IsLoaded
instead of Schedule
2024-05-02 22:46:42 -07:00
Dean Herbert
058bd5ced6
Stop using visually noisy bg4
for default backgrounds
...
This has always really annoyed me.
2024-05-03 13:38:27 +08:00
Dean Herbert
3249ecee27
Fix chat overlay being far too large
2024-05-03 12:31:19 +08:00
Dean Herbert
aa4d16bdb8
Fix beatmap listing cards being far too large
2024-05-03 12:13:52 +08:00
Joseph Madamba
c15a685071
Remove unused usings
2024-05-02 17:07:49 -07:00
Joseph Madamba
381ddb0676
Fix weird formatting
2024-05-02 17:06:11 -07:00
Joseph Madamba
269077f854
Only support centre anchors
2024-05-02 17:06:11 -07:00
Joseph Madamba
2f075e3247
Apply half margin of tolerance on both sides before text scrolls
2024-05-02 17:06:11 -07:00
Bartłomiej Dach
f78abf801c
Autosave edited skin on change
2024-04-29 14:38:53 +02:00
Joseph Madamba
d4951a093f
Scroll now playing overlay text when overflowing
2024-04-27 20:18:49 -07:00
Joseph Madamba
48c608e016
Make player width a const
2024-04-27 20:06:09 -07:00
Taevas
694e3900db
Add missing space in setup wizard
2024-04-27 23:43:27 +02:00
Dan Balasescu
52addc775e
Merge pull request #27965 from bdach/generic-math
...
Apply generic math-related changes
2024-04-26 01:33:54 +09:00
Dean Herbert
999c8fdc38
Merge pull request #27969 from bdach/enter-to-confirm-keybinding-conflict
...
Allow confirming keybinding overwrite on conflict via "select" binding
2024-04-23 23:38:50 +08:00
Dean Herbert
221af74f95
Merge branch 'master' into generic-math
2024-04-23 22:21:31 +08:00
Bartłomiej Dach
f7626aba18
Fix mod select overlay columns not displaying properly sometimes
...
Closes https://github.com/ppy/osu/issues/26504 .
As far as I can tell the issue is basically another manifestation of
https://github.com/ppy/osu-framework/issues/5129 , i.e. presence
overrides causing dropped invalidations and thus completely bogus
hierarchy state. The fix is to raise the appropriate invalidation
manually.
2024-04-23 13:36:12 +02:00
Bartłomiej Dach
1e0db1ab9f
Allow confirming keybinding overwrite on conflict via "select" binding
2024-04-23 12:44:16 +02:00
Bartłomiej Dach
09b0f3005e
Apply generic math-related changes
2024-04-22 10:15:56 +02:00
Bartłomiej Dach
1344ca4e19
Merge pull request #27780 from mafarrica/27105-fix-mod-search-box-focus-changes
...
Fix mod search box not tracking external changes to focus state
2024-04-19 17:00:06 +02:00
Bartłomiej Dach
509862490e
Revert unnecessary changes
2024-04-19 11:11:18 +02:00
Bartłomiej Dach
2dcbb823ef
Use textbox focus state directly rather than trying to track it independently
2024-04-19 11:08:34 +02:00
Salman Ahmed
a7e043bdbe
Fix beatmap rulest selector playing sound for initial ruleset selection
2024-04-17 11:20:17 +03:00
Salman Ahmed
24e8b88320
Add inline comment to the custom implementation of multiple-selection tab items
2024-04-17 11:20:17 +03:00
Salman Ahmed
42892acc1a
Fix multiple selection filter tab items no longer playing sounds
...
These tab items are not managed by a `TabControl`, activation events are manually served by the class itself toggling `Active` when clicked.
2024-04-17 11:20:17 +03:00
Salman Ahmed
50a21fb727
Change ToolbarRulesetSelector
to use SelectItem
to trigger new sound feedback path
2024-04-17 11:20:17 +03:00
Salman Ahmed
2a3ae6bce1
Update all TabItem
implementations to play select sample on OnActivatedByUser
2024-04-17 11:20:17 +03:00
Bartłomiej Dach
6c943681b0
Fix preview tracks playing after their owning overlay has hidden
...
RFC. Closes https://github.com/ppy/osu/issues/27883 .
The idea here is that `PopOut()` is called _when the hide is requested_,
so once an overlay trigger would hide, the overlay would
`StopAnyPlaying()`, but because of async load things, the actual track
would start playing after that but before the overlay has fully hidden.
(That last part is significant because after the overlay has fully
hidden, schedules save the day.)
Due to the loose coupling between `PreviewTrackManager` and
`IPreviewTrackOwner` there's really no easy way to handle this locally
to the usages of the preview tracks. Heck, `PreviewTrackManager` doesn't
really know which preview track owner is to be considered _present_ at
any time, it just kinda works on vibes based on DI until the owner tells
all of its preview tracks to stop.
This solution causes the preview tracks to stop a little bit later but
maybe that's fine? Just trying to not overthink the issue is all.
No tests because this is going to suck to test automatically while it is
pretty easy to test manually (got it in a few tries on master).
The issue also mentions that the track can sometimes resume playing
after the overlay is pulled up again, but I don't see that as a problem
necessarily, and even if it was, it's not going to be that easy to
address due to the aforementioned loose coupling - to fix that, play
buttons would have to know who is the current preview track owner and
cancel schedules upon determining that their preview track owner has
gone away.
2024-04-16 16:19:26 +02:00
Ondřej Vajďák
ed6680a61d
Fixed type inconsistency and rounding
2024-04-14 15:10:05 +02:00
Ondřej Vajďák
9833dd955f
Fix toolbar volume bar masking
2024-04-14 01:30:59 +02:00
Dean Herbert
c0dce94f15
Fix newly placed items in skin editor not getting correct anchor placement
2024-04-12 17:08:49 +08:00
Mafalda Fernandes
16276dfcd6
Fix #27105 : Mod search box doesnt track external focus changes
...
In the Mod selection area, the search bar's focus could be changed by pressing TAB.
However, when clicking outside of the search bar, the focus would be killed but two TABs were required to get the focus back on the search bar.
This happened because the action of clicking in an empty area would trigger the search bar to change its appearence, but not its internal state.
In my solution, I made the OnClick function aware of the search bar's state, so it would not only change its appearance, but also its state.
Now, after clicking in an empty area, there is only needed one TAB to select the search box again, as expected.
2024-04-03 14:06:11 +01:00
Bartłomiej Dach
05fe8968d8
Only interact with clipboard via bound copy
2024-04-03 11:39:12 +02:00
Dan Balasescu
ce68f6adb7
Fix SkinEditor binding event to external bindable
2024-04-03 17:46:26 +09:00
Dean Herbert
94cbe1838f
Replace usages of is null
with == null
2024-04-03 01:50:39 +08: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
d9cf5b5440
Fix bindable not being correctly re-bound across local user changes
2024-03-29 15:50:10 +08:00
Dean Herbert
fef8afb833
Fix double binding causing game crash after API enters failing state
...
See https://sentry.ppy.sh/organizations/ppy/issues/33406/?alert_rule_id=4&alert_timestamp=1711655107332&alert_type=email&environment=production&project=2&referrer=alert_email
2024-03-29 12:19:14 +08:00
Bartłomiej Dach
d32f19b546
Fix first word bold not applying correctly after first language change
...
Closes https://github.com/ppy/osu/issues/27549 .
I'm not entirely sure why the old solution failed exactly, but also
think it's unimportant because I think past me was an idiot and was
playing stupid games with the juggling of indices between two callbacks
with no ordering guarantees and expecting not to win stupid prizes.
I'm not sure this requires any follow-up reconsiderations of that entire
text flow API, but if opinions differ, I'll re-examine.
2024-03-13 15:18:20 +01:00
Joseph Madamba
e2e99fc5cc
Rearrange rankings overlay tabs to match web
2024-03-12 21:15:59 -07:00
Bartłomiej Dach
09179f99c0
Merge branch 'master' into wrap-beatmap-listing-filters
2024-03-11 14:59:48 +01:00
Bartłomiej Dach
e5e7c8f268
Wrap beatmap listing filter names too
...
While we're here fixing...
Addresses
https://github.com/ppy/osu/discussions/15452#discussioncomment-2734237 .
2024-03-11 14:58:28 +01:00
Andrei Zavatski
26c97ef733
Fix WikiPanelContainer causing poor performance
2024-03-09 00:51:33 +03:00
Joseph Madamba
db1c59475b
Wrap beatmap listing filters and match web spacing
2024-03-08 12:13:54 -08:00
Dean Herbert
c9b4c684e5
Merge pull request #27403 from Gabixel/increase-modselect-initial-scroll
...
Change initial scroll effect to mod columns
2024-03-08 14:00:40 +08:00
Dean Herbert
5e7d9ea04a
Adjust scroll speed back to original
2024-03-08 13:59:04 +08:00
Bartłomiej Dach
644553d5b4
Merge branch 'master' into freemod_mapinfo_fix
2024-03-07 09:24:44 +01:00
Bartłomiej Dach
53fffc6a75
Remove unused using directives
2024-03-06 07:57:59 +01:00
Dean Herbert
06c7483347
Merge branch 'master' into update-framework
2024-03-06 12:36:05 +08:00
Dean Herbert
85364d25dc
Merge pull request #27276 from bdach/medals
...
Add flow for displaying achieved medals
2024-03-06 12:31:55 +08:00
Dean Herbert
b53b752e54
Update usage of MathUtils
2024-03-06 12:13:12 +08:00
Dean Herbert
6455c0583b
Update usage of CircularProgress.Current
2024-03-06 12:13:10 +08:00
Bartłomiej Dach
09c6c5d79b
Merge pull request #27497 from frenzibyte/mod-select-overlay-fix-ux
...
Fix mod select overlay settings order not always matching mod panels
2024-03-05 19:40:13 +01:00
Bartłomiej Dach
429fa8dfae
Merge pull request #27242 from Susko3/log-global-statistics
...
Log `GlobalStatistics` when exporting logs from settings
2024-03-05 19:32:54 +01:00
Salman Ahmed
9543908c7a
Fix mod select overlay settings order not always matching panels order
2024-03-04 23:36:45 +03:00
Dean Herbert
f44aadaaa8
Merge pull request #27331 from bdach/statistics-updates-in-multi
...
Show user statistics updates on multiplayer and playlists results screens
2024-02-29 12:26:48 +08:00
Salman Ahmed
8f97f0503f
Move away from Solo
namespace
2024-02-29 01:21:17 +03:00
Salman Ahmed
de48c51715
Apply renaming in remaining usages
2024-02-29 01:11:08 +03:00
Salman Ahmed
4a4ef91bc9
Simplify active mods computation
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2024-02-29 00:42:52 +03:00
Bartłomiej Dach
a5948d38ac
Merge pull request #27380 from frenzibyte/fix-advanced-stats-display
...
Fix advanced stats in beatmap info overlay showing "key count" on non-mania beatmaps
2024-02-28 18:02:48 +01:00
Bartłomiej Dach
9902dad4c6
Merge branch 'master' into log-global-statistics
2024-02-28 15:09:24 +01:00
Dean Herbert
31f667224f
Merge branch 'master' into medals
2024-02-28 13:48:57 +08:00
Gabriel Del Nero
09dee50372
Change initial scroll animation to mod columns
...
Starting from the end (which should be fine with the current number of columns, even on different/wider screen resolutions), and with a custom decay value when it reaches zero offset.
2024-02-27 15:35:51 +01:00
Dean Herbert
7f0a552b86
Merge pull request #27366 from EVAST9919/mod-overlay-performnce
...
Reduce allocations when `ModSelectOverlay` is visible
2024-02-27 08:54:18 +08:00
Salman Ahmed
3f9fbb9318
Introduce the concept of ActiveMods
in mod select overlay and rewrite once more
2024-02-26 22:25:06 +03:00
Salman Ahmed
2b73d816a7
Bring back mod setting tracker in BeatmapAttributesDisplay
2024-02-26 22:24:45 +03:00
Dean Herbert
fe59a3b9be
Merge branch 'master' into medals
2024-02-26 22:49:55 +08:00
Dean Herbert
c686dfd361
Apply safeties for AudioFilter
usage around drawables which go non-present
2024-02-26 21:22:25 +08:00
Salman Ahmed
5c049feca1
Fix advanced stats in beatmap info overlay showing "key count" on non-mania beatmaps
2024-02-25 21:18:15 +03:00
Andrei Zavatski
081aa84718
Simplify last footer button selection
2024-02-25 10:36:15 +03:00
Andrei Zavatski
6d2187e079
Reduce allocations in ModSelectOverlay
2024-02-24 22:58:23 +03:00
Andrei Zavatski
3b53ed3c3a
Reduce allocations in ModColumn
2024-02-24 22:44:58 +03:00
Salman Ahmed
d4bc3090e7
Fix incorrect conflict resolution
2024-02-23 18:42:07 +03:00
Salman Ahmed
618819ba9f
Merge branch 'master' into freemod_mapinfo_fix
2024-02-23 18:34:41 +03:00
Salman Ahmed
c1db9d7819
Add test coverage
2024-02-23 18:16:44 +03:00
Salman Ahmed
fdc0636554
General code cleanup
2024-02-23 17:31:54 +03:00
Salman Ahmed
9ce07a96b2
Rewrite mods flow and remove RoomBeatmapAttributesDisplay
2024-02-23 17:30:13 +03:00
Salman Ahmed
323d7f8e2d
Change BeatmapAttributesDisplay
retrieval to proper method
2024-02-23 16:59:43 +03:00
Salman Ahmed
ae9c58be30
Remove "multiplayer" references from subclass and move to appropriate place
2024-02-23 16:50:33 +03:00
Brandon
6c8204f9a3
Update delete collections message when none
2024-02-22 19:40:02 -08:00
Brandon
d6beae2ce1
Update delete/restore mod presets message when none
2024-02-22 19:10:15 -08:00
Bartłomiej Dach
eac4c5f69d
Rename {Solo -> User}StatisticsWatcher
et al.
...
The "solo" prefix is a bit unbecoming now. The updates are not only
for solo.
2024-02-22 20:36:24 +01:00