Commit Graph

120 Commits

Author SHA1 Message Date
Dean Herbert
1eed2436e6 Clean up unused resolved properties 2021-12-03 18:49:49 +09:00
Dean Herbert
7f9cc4d5ff Fix incorrect logging of preview tracks without track owner 2021-11-26 21:37:43 +09:00
Dean Herbert
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
Dean Herbert
6944151486 Apply batch fixing of built-in types using var 2021-10-27 13:04:41 +09:00
Dean Herbert
5d1170aaf4 Remove unnecessary null check 2021-10-26 11:57:51 +09:00
Dean Herbert
94175bfb4a Update PreviewTrackManager to use IBeatmapSetInfo 2021-10-25 14:25:01 +09:00
Dean Herbert
29dfe33465 Rewrite AudioFilter to be easier to follow (and fix tests) 2021-10-13 15:17:20 +09:00
Dean Herbert
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
Dean Herbert
e578046b20 Rename Filter -> AudioFilter 2021-10-07 18:50:08 +09:00
Dean Herbert
0348c6c7e5 Apply some renaming and code quality fixes 2021-10-07 18:49:22 +09:00
Jamie Taylor
99fb86878e
Only detach filter on disposal if attached 2021-10-06 18:31:56 +09:00
Jamie Taylor
bd0c986144
Add asserts to ensure correct state when attaching/detaching the filter 2021-10-06 17:34:24 +09:00
Jamie Taylor
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
Jamie Taylor
2a4a376b87
Refactor Filter to behave closer to a Transformable 2021-10-02 01:32:47 +09:00
Jamie Taylor
968826c9e7
Fix typo 2021-09-30 15:17:39 +09:00
Jamie Taylor
2608d193a9
Refactor Filter component to be more re-usable 2021-09-29 20:30:01 +09:00
Jamie Taylor
94e2dbd7e7
Add a low-pass filter effect to music when certain popup dialogs are shown 2021-09-29 20:30:00 +09:00
Dean Herbert
804ca88d63 Update framework 2021-08-27 19:52:45 +09:00
smoogipoo
89f0739a4a Update with framework changes 2021-07-28 21:54:11 +09:00
smoogipoo
5b06a9d120 Apply changes required for AudioMixer 2021-07-27 03:55:49 +09:00
Dean Herbert
172e2e9b3f Fix audio previews not being adjusted in volume correctly 2021-02-17 20:51:17 +09:00
Bartłomiej Dach
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
smoogipoo
e831c797f3 Merge branch 'master' into hit-sample-pooling 2020-12-02 14:45:24 +09:00
smoogipoo
2150cf1c52 Rename parameters 2020-12-02 10:55:48 +09:00
smoogipoo
2840405112 Volume should be 0 by default 2020-12-01 18:14:14 +09:00
smoogipoo
6b4a6c12c8 Fix bad equality comparer implementations 2020-12-01 18:13:53 +09:00
smoogipoo
c61f00525d Ignore lookup types for JSON serialisation 2020-12-01 18:13:53 +09:00
smoogipoo
17560aeeea Volume should be 0 by default 2020-12-01 18:09:28 +09:00
smoogipoo
dda4d76d72 Fix bad equality comparer implementations 2020-12-01 18:09:21 +09:00
smoogipoo
b780fdbe4c Ignore lookup types for JSON serialisation 2020-12-01 18:08:59 +09:00
smoogipoo
2bb7484608 Merge branch 'immutable-hit-samples' into hit-sample-pooling 2020-12-01 16:05:28 +09:00
smoogipoo
199710b941 Implement equality comparers for HitSampleInfo 2020-12-01 16:04:08 +09:00
smoogipoo
5760e1c1fc Make HitSampleInfo immutable 2020-12-01 15:37:51 +09:00
smoogipoo
730b14b5bb Add initial hit sample pooling 2020-11-19 19:51:09 +09:00
Dean Herbert
199043f677 Allow preview tracks to exist without an owner (without hard crashing) 2020-11-15 13:21:09 +09:00
Dean Herbert
0b28cca7e6 Don't force Gameplay prefix on all skin sample lookups 2020-10-30 11:59:40 +09:00
Dean Herbert
c9a85587fb Allow SampleInfo to specify fallback sample lookup names 2020-10-30 11:59:29 +09:00
Dean Herbert
b8e9f19b92 Move common HitSampleInfo lookup to static method 2020-09-25 17:30:31 +09:00
recapitalverb
c753cb46c5 Use [Resolved] wherever possible 2020-02-14 20:14:00 +07:00
Dean Herbert
740bdee125 Apply remaining uncaught changes 2020-01-20 23:59:21 +09:00
smoogipoo
0f8a76afde Remove manual hitobject sample namespacing 2020-01-02 14:27:27 +09:00
Dean Herbert
cf0f0f8a1b Reword comment 2019-11-21 10:37:50 +09:00
iiSaLMaN
d2ce0878bc Change 'current' accessibility to protected 2019-11-14 14:20:29 +03:00
iiSaLMaN
4e79bbad6b Add inline comment 2019-11-14 14:19:42 +03:00
iiSaLMaN
172e777416 Fix preview track manager permanently muting game tracks 2019-11-13 16:16:06 +03:00
iiSaLMaN
47cbd516f3 Revert "Fix preview track manager potentially not updating"
This reverts commit 8f7fd9993d.
2019-11-13 16:11:13 +03:00
iiSaLMaN
8f7fd9993d Fix preview track manager potentially not updating 2019-11-13 14:24:22 +03:00
Dean Herbert
47be20fa37 Private set on track for safety 2019-11-12 15:13:47 +09:00
iiSaLMaN
6d3d7c5d95 Remove unnecessary use of local 2019-11-11 11:57:14 +03:00
iiSaLMaN
8f4916ad2d Add inline comment 2019-11-10 23:53:31 +03:00