Commit Graph

120 Commits

Author SHA1 Message Date
1eed2436e6 Clean up unused resolved properties 2021-12-03 18:49:49 +09:00
7f9cc4d5ff Fix incorrect logging of preview tracks without track owner 2021-11-26 21:37:43 +09:00
3b485b5f37 Rewrite PreviewTrackManager to avoid constructing TrackBass locally
This paves the way for the framework code quality change
(https://github.com/ppy/osu-framework/pull/4873) which stops exposing
the constructor.

Most of the restructuring here is required to give `PreviewTrackManager`
an adjustable target to apply the global mute.
2021-11-09 17:38:12 +09:00
6944151486 Apply batch fixing of built-in types using var 2021-10-27 13:04:41 +09:00
5d1170aaf4 Remove unnecessary null check 2021-10-26 11:57:51 +09:00
94175bfb4a Update PreviewTrackManager to use IBeatmapSetInfo 2021-10-25 14:25:01 +09:00
29dfe33465 Rewrite AudioFilter to be easier to follow (and fix tests) 2021-10-13 15:17:20 +09:00
b37096f440 Avoid using bindable for AudioFilter cutoff
It doesn't play nicely with screen exiting, as it is automatically
unbound during the exit process. Easiest to just avoid using this for
now.
2021-10-13 13:25:55 +09:00
e578046b20 Rename Filter -> AudioFilter 2021-10-07 18:50:08 +09:00
0348c6c7e5 Apply some renaming and code quality fixes 2021-10-07 18:49:22 +09:00
99fb86878e Only detach filter on disposal if attached 2021-10-06 18:31:56 +09:00
bd0c986144 Add asserts to ensure correct state when attaching/detaching the filter 2021-10-06 17:34:24 +09:00
df182ba92b Set fQ to recommended value from BASS developer to prevent filter calculations from overflowing when approaching nyquist 2021-10-06 11:29:03 +09:00
2a4a376b87 Refactor Filter to behave closer to a Transformable 2021-10-02 01:32:47 +09:00
968826c9e7 Fix typo 2021-09-30 15:17:39 +09:00
2608d193a9 Refactor Filter component to be more re-usable 2021-09-29 20:30:01 +09:00
94e2dbd7e7 Add a low-pass filter effect to music when certain popup dialogs are shown 2021-09-29 20:30:00 +09:00
804ca88d63 Update framework 2021-08-27 19:52:45 +09:00
89f0739a4a Update with framework changes 2021-07-28 21:54:11 +09:00
5b06a9d120 Apply changes required for AudioMixer 2021-07-27 03:55:49 +09:00
172e2e9b3f Fix audio previews not being adjusted in volume correctly 2021-02-17 20:51:17 +09:00
15d9147edd Ensure equality member consistency for SampleInfo
The previous implementation of `SampleInfo`'s equality members was not
completely correct in its treatment of the `sampleNames` array. While
`Equals()` compared the values of `sampleNames` using `SequenceEqual()`,
therefore performing a structural check that inspects the contents of
both arrays, `GetHashCode()` used `HashCode.Combine()` directly on the
arrays, therefore operating on reference equality. This could cause the
pooling mechanism of samples to fail, as pointed out in #11079.

To resolve, change the `GetHashCode()` implementation such that it also
considers the contents of the array rather than just the reference to
the array itself. This is achieved by leveraging
`StructuralEqualityComparer`.

Additionally, as a bonus, an array sort was added to the constructor of
`SampleInfo`. This is intended to be a "canonicalisation" processing
step for the array of sample names. Thanks to that sort, two instances
of `SampleInfo` that have the same sample names but permutated will also
turn out to be equal and have the same hash codes, given the
implementation of both equality members. This gives `SampleInfo`
set-like semantics.
2020-12-03 23:25:53 +01:00
e831c797f3 Merge branch 'master' into hit-sample-pooling 2020-12-02 14:45:24 +09:00
2150cf1c52 Rename parameters 2020-12-02 10:55:48 +09:00
2840405112 Volume should be 0 by default 2020-12-01 18:14:14 +09:00
6b4a6c12c8 Fix bad equality comparer implementations 2020-12-01 18:13:53 +09:00
c61f00525d Ignore lookup types for JSON serialisation 2020-12-01 18:13:53 +09:00
17560aeeea Volume should be 0 by default 2020-12-01 18:09:28 +09:00
dda4d76d72 Fix bad equality comparer implementations 2020-12-01 18:09:21 +09:00
b780fdbe4c Ignore lookup types for JSON serialisation 2020-12-01 18:08:59 +09:00
2bb7484608 Merge branch 'immutable-hit-samples' into hit-sample-pooling 2020-12-01 16:05:28 +09:00
199710b941 Implement equality comparers for HitSampleInfo 2020-12-01 16:04:08 +09:00
5760e1c1fc Make HitSampleInfo immutable 2020-12-01 15:37:51 +09:00
730b14b5bb Add initial hit sample pooling 2020-11-19 19:51:09 +09:00
199043f677 Allow preview tracks to exist without an owner (without hard crashing) 2020-11-15 13:21:09 +09:00
0b28cca7e6 Don't force Gameplay prefix on all skin sample lookups 2020-10-30 11:59:40 +09:00
c9a85587fb Allow SampleInfo to specify fallback sample lookup names 2020-10-30 11:59:29 +09:00
b8e9f19b92 Move common HitSampleInfo lookup to static method 2020-09-25 17:30:31 +09:00
c753cb46c5 Use [Resolved] wherever possible 2020-02-14 20:14:00 +07:00
740bdee125 Apply remaining uncaught changes 2020-01-20 23:59:21 +09:00
0f8a76afde Remove manual hitobject sample namespacing 2020-01-02 14:27:27 +09:00
cf0f0f8a1b Reword comment 2019-11-21 10:37:50 +09:00
d2ce0878bc Change 'current' accessibility to protected 2019-11-14 14:20:29 +03:00
4e79bbad6b Add inline comment 2019-11-14 14:19:42 +03:00
172e777416 Fix preview track manager permanently muting game tracks 2019-11-13 16:16:06 +03:00
47cbd516f3 Revert "Fix preview track manager potentially not updating"
This reverts commit 8f7fd9993d.
2019-11-13 16:11:13 +03:00
8f7fd9993d Fix preview track manager potentially not updating 2019-11-13 14:24:22 +03:00
47be20fa37 Private set on track for safety 2019-11-12 15:13:47 +09:00
6d3d7c5d95 Remove unnecessary use of local 2019-11-11 11:57:14 +03:00
8f4916ad2d Add inline comment 2019-11-10 23:53:31 +03:00