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

57 Commits

Author SHA1 Message Date
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
Dean Herbert
35cdd6d866 Use string.Empty 2023-08-25 01:07:07 +09:00
Jamie Taylor
7ef5a71e91
Move PopIn/PopOut sample playback from WaveOverlayContainer to WaveContainer (so Multiplayer/Lounge plays the samples) 2023-08-24 18:13:23 +09:00
Jamie Taylor
b15a54c914
Use new overlay pop-in/pop-out samples 2023-08-17 18:36:36 +09:00
Dean Herbert
0ab0c52ad5 Automated pass 2023-06-24 01:00:03 +09:00
Dean Herbert
eb31fdecee Apply osu! side changes in line with FocusedOverlayContainer.PopIn abstract change
See https://github.com/ppy/osu-framework/pull/5834
2023-06-18 20:57:32 +09:00
Joseph Madamba
7a0edabd5d
Normalise overlay horizontal padding const 2023-04-02 20:24:13 -07:00
Dan Balasescu
7bc8908ca9 Partial everything 2022-11-27 00:00:27 +09:00
Dan Balasescu
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
Jamie Taylor
3eda78c363 Use unique samples for Dialog, NowPlaying, SettingsPanel and WaveOverlay pop-in/pop-out 2021-02-10 16:04:47 +09:00
Dean Herbert
942276d88f Remove outdated SearchableList classes 2020-09-03 16:34:58 +09:00
Dean Herbert
d27a0db45c Enforce StartHidden on relevant overlays 2019-07-02 15:23:47 +09:00
Dean Herbert
2645967dc4 Fix wave-based overlays always being present before initial display 2019-07-02 15:17:35 +09:00
Dean Herbert
8617aaa2a7 Update licence header (and remove year) 2019-01-24 17:43:03 +09:00
Dean Herbert
0b5f3c00bf Revert "Fix WaveOverlayContainer always being present"
This reverts commit a6fc128094.
2018-12-14 20:50:27 +09:00
Dean Herbert
a6fc128094 Fix WaveOverlayContainer always being present 2018-12-14 15:41:05 +09:00
smoogipoo
a8f156584b Update framework with positional/non-positional changes 2018-09-26 14:01:15 +09:00
Dean Herbert
ae77c010e2 Merge remote-tracking branch 'upstream/master' into wave-container 2018-04-15 21:03:18 +09:00
Dean Herbert
32a74f95a5 Normalize all the line endings 2018-04-13 18:26:38 +09:00
DrabWeb
0bede52381 Move the waves portion of WaveOverlayContainer to WaveContainer to allow usage in other places. 2018-04-11 16:22:27 -03:00
Dean Herbert
37d393bca0 Update licence headers 2018-01-05 20:21:19 +09:00
Dean Herbert
1895b16d67 Correctly make fullscreen overlays block keyboard input from drawables behind them
- [ ] Depends on #1711 to get correct global binding handling.
2017-12-21 19:34:20 +09:00
Dean Herbert
15b9307b6c Fix WaveOverlayContainer appearing incorrectly on first PopIn 2017-10-24 20:26:27 +09:00
EVAST9919
75cd6eeb1c Clean up Wave in WaveOverlayContainer 2017-09-28 14:20:19 +03:00
smoogipooo
57678a13d9 Update in-line with framework changes. 2017-09-04 09:32:35 +09:00
Thomas Müller
e68675f970 Rename EasingTypes to Easing 2017-07-22 20:53:53 +02:00
Thomas Müller
a5e610a7ba Update framework and fix compilation
Most issues were related to BeginLoopedSequence usage and lack of
"this." in front of transform helpers.
2017-07-14 19:18:12 +03:00
Dean Herbert
28f0da606a Add OsuFocusedOverlayContainer with predefined sounds. 2017-06-28 10:18:12 -07:00
paparony03
62dee59672 Shapes namespace
Depends on https://github.com/ppy/osu-framework/pull/837
2017-06-20 15:54:23 +10:00
smoogipooo
ffbb46f668 Update in line with framework. 2017-06-12 12:48:47 +09:00
Dean Herbert
f7dc7e9bb9
Update references. 2017-03-28 21:26:20 +09:00
Dean Herbert
54e1b24fe9
Enforce readonly private members where possible. 2017-03-23 13:50:08 +09:00
Dan Balasescu
bc74f453aa Merge branch 'master' into replay 2017-03-07 11:41:16 +09:00
Dean Herbert
463c887879
Fix WaveOverlayContainer staying visible when hidden. 2017-03-06 17:32:13 +09:00
Dean Herbert
4e4408cd20 Merge branch 'master' into replay
# Conflicts:
#	osu.Desktop.VisualTests/Tests/TestCasePlayer.cs
2017-03-05 17:45:03 +09:00
Thomas Müller
73fef85b12 Remove unnecessary usings 2017-03-04 19:43:59 +01:00
Thomas Müller
a14bdf8624 Use Color4Extensions from Framework and remove redundant Name 2017-03-04 19:42:37 +01:00
Dean Herbert
a8deb4ff50
Fix WaveOverlayContainer always being visible. 2017-03-04 19:02:13 +09:00
Thomas Müller
c44bf5291c Merge branch 'master' into mod-select-performance 2017-03-04 07:35:40 +01:00
DrabWeb
9141d244bf Focus trigger in WaveOverlayContainer 2017-03-03 18:05:43 -04:00
DrabWeb
5a83687a27 Small cleanups 2017-03-03 18:02:31 -04:00
Thomas Müller
aff9e3617d Massively improves fill-rate of mod select screen
This is done by masking away the parts of WaveOverlayContainer that
are behind the content.
2017-03-03 20:42:03 +01:00
DrabWeb
c3a81127f2 Updated to work with latest framework 2017-02-28 02:25:38 -04:00
Dean Herbert
c683cdbb1d
Derive from FocusedOverlayContainer and remove custom focus logic. 2017-02-23 12:51:32 +09:00
Dean Herbert
cee1c14557
Clean-up code. 2017-02-23 12:48:24 +09:00
Dean Herbert
8d1498a8db
Fix initial state and shorten disappear animation. 2017-02-23 12:47:20 +09:00
Dean Herbert
b33627a750
Make transitions better. 2017-02-23 12:42:31 +09:00
Dean Herbert
8787b0dc90
Remove a lot of constants (use object initialisers instead). 2017-02-23 12:17:59 +09:00
Dean Herbert
521a9b7728
Remove need for waves array; use generic container. 2017-02-23 11:26:50 +09:00
Dean Herbert
d154cf7938
Abstract wave logic to class. 2017-02-23 11:22:01 +09:00