tsrk
208e94e9be
style(editor/checks): add type nullability for Stream
2023-08-24 21:33:54 +02:00
tsrk
df55a2f683
style(editor/checks): fix inconsistent argument names
2023-08-24 21:31:28 +02:00
tsrk
a885bf6ebf
feat(editor/checks): check for delayed hitsounds
...
I really just borrowed the implementation from MapsetVerifier
2023-08-24 21:05:40 +02:00
Dean Herbert
9cfe9164fa
Add helper method to get drain length (and rename some usages)
2023-07-25 16:58:41 +09:00
Bartłomiej Dach
699b66be42
Do not reimplement binary sort manually
2023-07-22 17:12:21 +02:00
NiceAesth
fa29c25097
Change check to use binary search
2023-07-20 00:32:35 +03:00
NiceAesth
ff529d9df7
Rename variables, fix check message formatting
2023-07-17 20:48:53 +03:00
NiceAesth
3888471148
Add break length and bounds checks
2023-07-16 23:03:21 +03:00
NiceAesth
1dae1d8f0a
Account for break time
2023-07-11 13:40:19 +03:00
NiceAesth
9a2915f423
Add beatmap minimum length checks
2023-07-10 17:29:49 +03:00
Dean Herbert
df5b389629
Manual fixes to reduce warnings to zero
2023-06-24 01:52:53 +09:00
Dean Herbert
a842f79ad4
Refactor IWorkingBeatmap.Background
to GetBackground()
2023-06-08 16:19:32 +09:00
OliBomby
ebe1d852f5
remove other usages of hitobject SampleControlPoint
2023-04-25 16:01:43 +02:00
Dean Herbert
5b3d7a8f26
Fix typo in missing-preview-point message
2023-02-02 14:34:59 +09:00
Dean Herbert
c2cde8361a
Fix message not reading well
2023-02-02 14:33:41 +09:00
Dean Herbert
3a861fd943
Remove multiple cases of excess braces
2023-02-02 14:28:21 +09:00
cdwcgt
76296eb35a
Consistent with BeatmapsetVerifier
2023-02-01 11:52:14 +08:00
cdwcgt
5afb733fb2
change IssueTemplatePreviewTimeConflict's text
2023-01-23 15:26:28 +09:00
cdwcgt
e5eab72aeb
add check for preview time setting
2023-01-19 01:08:37 +09:00
andy840119
a1a9238bd1
Use empty string instead of null because issue template not accept null.
2022-10-30 16:31:07 +08:00
andy840119
505ec800da
File name should be nullable.
2022-10-30 16:29:54 +08:00
andy840119
db48a57fa7
Remove nullable disable annotation in some checks class.
2022-10-30 16:28:49 +08:00
andy840119
24c27e62f6
Remove nullable disable annotation in the issue and issue template-related class.
2022-10-30 16:25:15 +08:00
Dean Herbert
ac99c1ad69
Migrate the majority of existing file lookups to use new extension methods
2022-08-10 16:01:16 +09:00
Bartłomiej Dach
26c5b59f6d
Replace usages of string.To{Lower,Upper}()
2022-06-24 11:57:45 +02:00
Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
Dean Herbert
51251e3204
Fix CI reported warnings
2022-01-12 22:39:00 +09:00
Dean Herbert
eb70a1eeb7
Replace compatibility properties with direct references
2022-01-12 18:13:14 +09:00
Dean Herbert
3811bd8520
Fix some null inspections
2022-01-12 17:00:16 +09:00
Dean Herbert
59e763467f
Move StoragePath
implementation to an extension method
2021-11-19 16:08:38 +09:00
Naxesss
b888185799
Properly dispose of Stream
in bg quality check
2021-11-10 05:06:11 +01:00
Dean Herbert
e43d91ad5d
Fix another case of incorrect null checking in editor verification processing
2021-11-04 15:18:10 +09:00
Dean Herbert
1e73b09e57
Fix another couple of cases of incorrect string null/empty checking
2021-11-04 14:22:28 +09:00
Dean Herbert
6944151486
Apply batch fixing of built-in types using var
2021-10-27 13:04:41 +09:00
Bartłomiej Dach
c7db286b94
Merge branch 'master' into file-sanity-checks
2021-10-14 00:17:29 +02:00
Dean Herbert
82f7f99f37
Refactor to use scoped using
(and also correctly dispose TagLib portion)
2021-10-12 10:46:26 +09:00
Naxesss
f2f97602f2
Dispose of video resource later
...
We need the Stream to stay open here because `StreamFileAbstraction` uses it later in the block.
2021-10-12 00:40:39 +02:00
Naxesss
47b4d03145
Dispose of Stream
s when used
2021-10-12 00:13:38 +02:00
Naxesss
ce69dd3588
Use Prescan
flag for audio length check
2021-10-11 23:57:23 +02:00
Naxesss
8f093b9a11
Use TagLib instead of ManagedBass
2021-10-11 13:56:26 +02:00
Naxesss
f0cd18a721
Only check each video file once
2021-10-11 13:55:50 +02:00
Naxesss
6aa054b5fa
Change to non-BASS error template
2021-10-11 13:53:23 +02:00
Naxess
6da2a3d51f
Add zero-length objects check and tests
2021-07-13 10:50:11 +02:00
Naxess
dc4285582b
Fix misplaced "f" in issue message
2021-07-13 06:07:04 +02:00
Naxess
c8f58cbf6c
Add audio in video check and tests
2021-07-13 04:17:41 +02:00
Naxess
a4a1919842
Add too short audio files check and tests
2021-07-13 03:46:45 +02:00
Naxess
0a8fd01b99
Add zero byte check and tests
2021-07-13 03:45:21 +02:00
Naxess
9f9e96ce9e
Add check for spanDuration
<= 0 prior to division
2021-06-27 15:40:09 +02:00
Naxess
a4a5325b73
Improve acceptable difference for repeat edges
...
Likelihood that `spanDuration` is greater than E+7 is quite low in any realistic case, so this should work fine.
2021-06-27 15:39:31 +02:00
Naxess
4cfa0ae5ec
Improve precision for repeat edges
2021-06-27 03:26:35 +02:00
Naxess
2cd7eda3c4
Add "or equal to" to volume threshold xmldocs
2021-06-27 02:30:12 +02:00
Naxess
0c0fd291d9
Order hitobjects by endtime
2021-06-27 01:25:03 +02:00
Naxess
4796b1b208
Use local variables for hasHitsound
& couldHaveHitsound
2021-06-27 00:04:30 +02:00
Naxess
5bc08ebadb
Rename hasHitsounds
-> mapHasHitsounds
2021-06-26 23:49:25 +02:00
Naxess
d29e6f4695
Add negligible template to PossibleTemplates
2021-06-26 23:49:06 +02:00
Naxess
1913084342
Use HitSampleInfo.AllAdditions
instead of new list
2021-06-26 23:48:28 +02:00
Naxess
f78cc9397e
Factor out edge type logic
2021-06-26 20:45:31 +02:00
Naxess
51147405c5
Make || and && priority explicit
2021-06-26 20:44:39 +02:00
Naxess
4b436b774d
Add few hitsounds check
2021-06-26 19:20:46 +02:00
Naxess
d8117fa730
Add muted objects check
2021-06-26 19:20:34 +02:00
Dean Herbert
fcb226bd20
Add local variable for regular access to HitObjects
2021-05-14 16:23:45 +09:00
Naxess
19800f5f7f
Move IBeatmap
arg into context
2021-05-13 11:24:22 +02:00
Naxess
b7bc42e0d3
Rename "playableBeatmap" check arg to "beatmap"
...
The working beatmap is now in the context, so it's easier to distinguish beatmap type, hence no need for this prefix.
2021-05-12 02:34:16 +02:00
Naxess
c13b93e6f1
Replace IWorkingBeatmap
arg with BeatmapVerifierContext
in checks
...
This simplifies passing of contextual information by enabling addition without needing to refactor lots of classes.
See next commit for example.
2021-05-12 02:29:18 +02:00
Naxess
75adec57eb
Remove negligible default hidden TODO
2021-05-12 01:31:16 +02:00
Dean Herbert
f3c7694eeb
Rename methods to match generally how these find-methods are named elsewhere
2021-04-28 16:57:52 +09:00
Dean Herbert
48d6c9ac4b
Move snap/divisor helper methods to inside ControlPointInfo
2021-04-28 16:47:30 +09:00
Naxess
200352b750
Rename unsnap check templates
2021-04-27 13:56:05 +02:00
Naxess
7a6e9e5070
Change category of unsnap check to timing
...
Makes more sense, as this is typically the result of timing changes.
2021-04-27 02:32:57 +02:00
Naxess
9e49ecb573
Remove unused virtual
keywords
...
Added these in a previous iteration, where I had the mania variant inherit this class.
No longer necessary as `IHasColumn` was used to make this check more generic.
2021-04-27 02:23:06 +02:00
Naxess
a3c1b1fd52
Fix accessibility of areConcurrent
2021-04-27 01:24:38 +02:00
Naxess
ce258febf6
Rename CheckUnsnaps
-> CheckUnsnappedObjects
...
Will potentially have `CheckUnsnappedKiai` or similar later, so this is worth specifying.
Also consistent with `CheckConcurrentObjects`, which will likely have a `CheckConcurrentLines` later.
2021-04-26 20:32:44 +02:00
Naxess
a3570e18dd
Add concurrent objects check
...
Here we use `IHasColumn` to support rulesets with columns, and so I moved that interface out into `osu.Game` from `osu.Game.Rulesets.Mania`.
We also use the same threshold as the unsnap check to ensure that no problems slip through. Specifically where an object is simultaneously not concurrent and not unsnapped but still on the same tick.
2021-04-26 20:17:18 +02:00
Naxess
9b9c473616
Remove redundant string formatting
2021-04-26 16:17:38 +02:00
Naxess
7b9ed924be
Rename snapping methods
...
Further separates them from `IBeatSnapProvider`'s `SnapTime`, and groups them together more, to prevent confusion between the two interfaces.
Also changes the xmldoc of the reference time to that of `IBeatSnapProvider` for consistency.
2021-04-26 16:07:30 +02:00
Naxess
049e42fa85
Move snapping responsibility to IBeatmap
...
Seems `EditorBeatmap` already implements a different kind of `SnapTime` from `IBeatSnapProvider`, so method names here aren't great.
This is very similar to what https://github.com/ppy/osu/pull/12558 is doing, so may need to do some duplicate resolution later, especially surrounding `ClosestBeatSnapDivisor`.
Worth noting that this change makes 1/7, 1/5, etc unsupported for now, as we now rely on `BindableBeatDivisor.VALID_DIVISORS`.
2021-04-26 05:07:24 +02:00
Naxess
6fd77e536d
Add unsnap check
2021-04-25 05:34:54 +02:00
Naxess
4510e795e1
Fix category of audio quality check
2021-04-20 02:13:26 +02:00
Naxess
c633f15565
Add audio quality check
2021-04-20 01:36:03 +02:00
Naxess
40ae856dfc
Show 2 decimals for background filesize
2021-04-20 01:34:05 +02:00
Naxess
14c626ffcb
Use the playable beatmap for file presence checks
2021-04-20 01:33:19 +02:00
Naxess
8656176ab8
Add the playable beatmap as check argument
...
This is different from the working beatmap's `.Beatmap` property in that it is mutated by the ruleset/editor.
So hit objects, for example, are actually of type `Slider` and such instead of the legacy `ConvertSlider`.
This should be preferred over `workingBeatmap.Beatmap`.
2021-04-20 01:31:51 +02:00
Naxess
9a69ca34a6
Add audio presence check
2021-04-18 02:07:57 +02:00
Naxess
010720de74
Factor out general file presence checking
...
This allows us to use the same method of checking for other files that should exist, for example the audio file.
By using the same method, they all share test cases too.
2021-04-18 02:07:33 +02:00
Naxess
56bf49c85c
Take IWorkingBeatmap
instead of WorkingBeatmap
...
This makes testing much easier, and allows for checking of any class deriving from that interface, including `WorkingBeatmap`.
2021-04-18 01:21:20 +02:00
Naxess
abf512532e
Clean up check logic
...
Makes use of the new `BeatmapSet.GetPathForFile` method and removes dependency on `WorkingBeatmap` specifically, allowing us to switch to `IWorkingBeatmap` later.
2021-04-18 01:19:25 +02:00
Naxess
cb41c89935
Don't return low res and too low res at the same time
2021-04-17 20:10:07 +02:00
Naxess
62c54e00cb
Add check for background resolution and filesize
2021-04-17 18:01:04 +02:00
Naxess
448574e7e6
Use WorkingBeatmap
instead of IBeatmap
...
This lets us access things like the background, track, etc. which are necessary for quality and filesize checks.
Also improves the structure of the `CheckBackgroundTest` class in the process.
2021-04-17 17:33:53 +02:00
Dean Herbert
cb4f64133e
Add xmldoc to interfaces
2021-04-13 23:30:20 +09:00
Naxess
69da804f81
Add missing period
2021-04-13 13:57:56 +02:00
Naxess
6d3f9fa9ce
Use is
class instead of Equals
with template index
...
Ensures ordering of `PossibleTemplates` does not affect tests.
2021-04-13 02:29:25 +02:00
Naxess
d8088777ea
Add Equals
method to IssueTemplate
...
This will be useful in tests.
2021-04-13 01:21:34 +02:00
Naxess
19a154ddf1
Rename checkOrigin
-> check
...
More consistent with `Issue.ctor`'s "template".
2021-04-12 17:28:12 +02:00
Naxess
bb720c23a0
Remove check ctors and locals
2021-04-12 17:12:37 +02:00
Dean Herbert
62c1812282
Remove redundant parameter naming
2021-04-12 23:37:47 +09:00
Dean Herbert
36bd235021
Move nested classes to bottom of file
2021-04-12 23:36:10 +09:00
Naxess
6d50d01186
Make IssueTemplate.Check
readonly
2021-04-12 16:23:05 +02:00
Naxess
caaaba5950
Rename Check
-> ICheck
2021-04-12 16:20:53 +02:00
Naxess
008dbc7dd6
Reverse IssueType
ordering
...
Reversed both in the enum and where it's displayed, so ends up the same in the end.
2021-04-12 15:49:13 +02:00