Dean Herbert
2a479a84dc
Remove conditional inhibiting seek when beatmap change is not allowed
...
In testing I can't find a reason for this to exist. Blaming back shows
that it existed before we had `AllowTrackControl` and was likely being
used as a stop-gap measure to achieve the same thing. It's existed since
over 6 years ago.
Let's give removing it a try to fix some usability concerns?
Closes https://github.com/ppy/osu/issues/29563 .
2024-08-23 18:21:31 +09:00
Dean Herbert
4a3f4c3a55
Don't duck music when effect volume is set to zero
...
Addresses https://github.com/ppy/osu/discussions/28984 .
2024-08-19 14:46:50 +09:00
Bartłomiej Dach
9fe6354afc
Fix backwards conditional
2024-07-19 07:32:36 +02:00
Bartłomiej Dach
e4ff6b5c8b
Add flags allowing excluding protected beatmaps from consideration in music controller
...
This means that the protected beatmap can not be skipped forward/back
to.
Incidentally closes https://github.com/ppy/osu/issues/23199 .
2024-07-17 12:46:24 +02:00
Dean Herbert
3650f3c479
Allow multiple ducks with same parameters
2024-07-08 13:52:40 +09:00
Dean Herbert
0067450b22
Change volume parameter to double
2024-07-08 13:47:57 +09:00
Dean Herbert
5907e0d1eb
Make DuckDuration
non-zero by default
2024-07-05 18:39:13 +09:00
Dean Herbert
7efb4ce30a
Fix multiple disposals resulting in assert being hit
2024-07-05 18:39:12 +09:00
Dean Herbert
717f7ba9f0
Better support multiple concurrent ducking operations
2024-07-05 18:12:40 +09:00
Dean Herbert
20ba6ca867
Add mention of return type for Duck
method
2024-07-05 15:11:11 +09:00
Dean Herbert
554740af10
Adjust ducking API to use a parameters record
2024-07-05 15:04:40 +09:00
Dean Herbert
0d858ce8f8
Change default easings to In
/Out
for all ducking operations
2024-07-05 13:51:41 +09:00
Dean Herbert
0696e2df32
Apply nullability to ducking methods
2024-07-05 12:58:34 +09:00
Dean Herbert
7f84e377ab
Merge branch 'music-controller-nullability' into audio-ducking-fx
2024-07-05 12:57:39 +09:00
Dean Herbert
d21eec9542
Apply nullability to MusicController
2024-07-05 12:50:15 +09:00
Jamie Taylor
a5077fcb3f
Rename TimedDuck -> DuckMomentarily
2024-07-04 17:22:33 +09:00
Jamie Taylor
82e4e884d7
Change overlapping Duck()
usages to be a noop instead of a throw
2024-07-04 15:51:50 +09:00
Jamie Taylor
d948193757
Change Duck() to be IDisposable and prevent overlapping usages
2024-07-04 14:23:35 +09:00
Jamie Taylor
b972632e4f
Change default easing to match prior behaviour
2024-07-03 13:50:35 +09:00
Jamie Taylor
153138cdac
Use null
to disable audio filter instead
2024-07-03 13:47:59 +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
Dean Herbert
7138291636
Adjust xmldoc to explicitly metnion it only affects end user control
2023-07-30 13:52:58 +09:00
Dean Herbert
6146f30541
Allow screens to change the ability to interact with the global track
2023-07-25 20:20:53 +09:00
Dean Herbert
157b1f301b
Rename AllowTrackAdjustments
to more understandable ApplyModTrackAdjustments
2023-07-25 20:20:53 +09:00
Dean Herbert
2e02b4a85b
Apply more correct fix for double-playing menu track
2023-06-20 18:35:51 +09:00
Dan Balasescu
7bc8908ca9
Partial everything
2022-11-27 00:00:27 +09:00
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