1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-11 22:27:25 +08:00
Commit Graph

389 Commits

Author SHA1 Message Date
Dean Herbert
4e9b25d8b0 Move MusicController binds to LoadComplete for added thread safety 2022-09-26 15:42:37 +09:00
Dean Herbert
2f60f91a0e Fix editor potentially using a track post-disposal
This changes the editor to track the current track as it is *loaded* by
`MusicController`, rather than haphazardly following the current global
`WorkingBeatmap` (with a potentially unloaded track) or relying on local
immediate-load behaviour (as implemented in `ResourcesSection`).
2022-08-01 16:53:49 +09:00
Dean Herbert
7ef03dd2cb Use fire-and-forget async operations on global track
This avoids any blocking overhead caused by a backlogged audio thread.
Test seem to pass so might be okay?

Note that order is still guaranteed due to the `ensureUpdateThread`
queueing system framework-side.
2022-07-07 17:15:45 +09:00
Dan Balasescu
6c6de9ce53
Fix typo 2022-06-27 20:40:02 +09:00
Dean Herbert
50c1c066de Add various logging of global WorkingBeatmap state changes 2022-06-27 18:41:31 +09:00
Dan Balasescu
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
Salman Ahmed
abf9039109 Use == instead of ?? 2022-05-20 16:08:31 +03:00
Salman Ahmed
c78d90ccbd Refactor track transferring logic for ability to override and disallow 2022-05-20 14:43:07 +03:00
Salman Ahmed
9446be2511 Remove unnecessary UnbindAdjustments call
It is not necessary given that `CurrentTrack` already removes all adjustments first.
2022-05-10 20:49:44 +03:00
Salman Ahmed
36a7644164 Reinstantiate mod adjustments layer for safety against previous mods 2022-05-10 20:46:33 +03:00
Salman Ahmed
725ff93f34 Define local adjustments component for mods in MusicController
Isolates `CurrentTrack` from being directly adjusted by the mod, which could lead to issues depending on how the mod adds adjustments (i.e. `ModTimeRamp`, which adds adjustments based on changes to a setting bindable).
2022-05-10 18:24:29 +03:00
Dean Herbert
1a776a9587 Completely remove subscription from MusicController 2022-01-25 16:53:02 +09:00
Dean Herbert
958cfde608 Stop detaching and exposing beatmaps from MusicController 2022-01-25 16:51:21 +09:00
Dean Herbert
d7342880f5 Update remaining cases of clashes with realm.Write and realm.RegisterForNotifications 2022-01-25 13:09:48 +09:00
Bartłomiej Dach
da771044a7
Merge branch 'master' into realm-clean-up 2022-01-24 19:15:31 +01:00
Dean Herbert
3bc86ee68f Merge branch 'master' into music-controller-less-population 2022-01-24 20:44:37 +09:00
Dean Herbert
6eb2c28e41 Rename RealmContextFactory to RealmAccess 2022-01-24 20:38:07 +09:00
Dean Herbert
40aa873190 Rename register methods to better explain their purpose 2022-01-24 14:37:36 +09:00
Dean Herbert
351c766ea1 Fix one remaining instance of realm query as property 2022-01-23 23:20:03 +09:00
Dean Herbert
e9e3e024a1 Update all usages of QueryAsyncWithNotifications to use new Register pathway 2022-01-23 20:28:04 +09:00
Dean Herbert
a86c0014fe Remove unnecessary exception/check 2022-01-21 20:07:43 +09:00
Dean Herbert
63226f7def Remove pointless initial MusicController beatmap set population
Looks to pass tests and all usages look safe enough.
2022-01-21 20:05:35 +09:00
Dean Herbert
1f157d729d Update existing subscriptions to new style
Fix missing detach calls in `MusicController`
2022-01-21 20:05:03 +09:00
Dean Herbert
3a95425a9e Remove left-over methods in MusicController 2022-01-14 19:55:49 +09:00
Dean Herbert
017285b694 Update MusicController to handle deletions more correctly 2022-01-12 17:49:11 +09:00
Dean Herbert
e8dcbaf29a Fix intro screen hitting null reference if intro beatmap is unavailable 2022-01-12 17:49:11 +09:00
Dean Herbert
33060990b7 Temporarily disable WorkingBeatmapCache and fix multiple invalid data flows 2022-01-12 17:00:16 +09:00
Dean Herbert
1d536fd0bc Start introducing ILive 2022-01-12 17:00:16 +09:00
Dean Herbert
abd72c496b "Update" MusicController 2022-01-12 17:00:16 +09:00
Dean Herbert
00e3af3366 Update model manager and many related classes to get things compiling again 2022-01-12 17:00:00 +09:00
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
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
54f72d68ca Revert weird event flow in model manager/importers 2021-11-05 19:12:49 +09:00
Dean Herbert
6944151486 Apply batch fixing of built-in types using var 2021-10-27 13:04:41 +09:00
Henry Lin
89e8296eb1 Reset all types of adjustments in MusicController; Rename AllowRateAdjustments to AllowTrackAdjustments 2021-07-29 15:39:26 +08:00
Dean Herbert
06bd696cc2 Remove previous consumption logic in GetWorkingBeatmap
This should not be required since the introduction of `workingCache`,
which does the same thing in a more global way.
2021-05-31 14:11:58 +09:00
smoogipoo
6f623d8cca Rename IsUserPaused -> UserPauseRequested 2020-11-02 16:08:59 +09:00
Dean Herbert
8f2cd0e8c5 Add matching requestedByUser parameter to Play method 2020-11-02 15:01:30 +09:00
Dean Herbert
d2f6303988 Change default value of requestedByUser to false 2020-11-02 14:56:50 +09:00
Bartłomiej Dach
941e8525af Add flag parameter to allow non-user-pause via music controller 2020-10-31 16:07:54 +01:00
Dean Herbert
c86b37f60d Add check to ensure MusicController doesn't play a delete pending beatmap's track 2020-10-09 13:11:24 +09:00
Dean Herbert
a17eac3692 Rename reload method to not mention beatmap unnecessarily 2020-09-25 12:27:08 +09:00
Dean Herbert
978f6edf38 Add basic track reloading support while inside the editor 2020-09-24 20:56:35 +09:00
Dean Herbert
ad5d6117c7 Remove unnecessary RunTask calls 2020-09-08 18:26:13 +09:00
Dean Herbert
b8e5acfef1
Merge branch 'master' into fix-music-controller-regressed 2020-09-04 20:10:43 +09:00
Salman Ahmed
3239576a23
Minor rewording of new comment
Co-authored-by: Dean Herbert <pe@ppy.sh>
2020-09-04 11:50:49 +03:00
Salman Ahmed
4236e5fe71 Replace useless "matching-code" comment with explanation of how it could happen
Co-authored-by: Dean Herbert <pe@ppy.sh>
2020-09-04 11:31:54 +03:00
Salman Ahmed
65d541456a Slight rewording 2020-09-04 11:11:07 +03:00
Salman Ahmed
001509df55 Move music global action handling to an own component
Due to requiring components that are added at an OsuGame-level
2020-09-04 10:24:54 +03:00
Salman Ahmed
42895e27b6 Expose track change results on the methods 2020-09-04 10:24:54 +03:00