Commit Graph

124 Commits

Author SHA1 Message Date
Dan Balasescu f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
Bartłomiej Dach b92d95a17a
Fix mod panels playing samples when hidden at a higher level 2022-05-08 10:39:49 +02:00
Bartłomiej Dach cbd1169495
Move cache declarations of `ISamplePlaybackDisabler` to interface 2022-05-08 10:38:58 +02:00
Bartłomiej Dach 9ae019eb39
Move `ISamplePlaybackDisabler` to more general namespace 2022-05-08 10:38:58 +02:00
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