1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-09 09:37:42 +08:00
Commit Graph

1779 Commits

Author SHA1 Message Date
Dean Herbert
4fc6ba50b7 Fix editor placement ending early if a blueprint becomes alive from a pool
Closes https://github.com/ppy/osu/issues/12630.
2021-05-24 17:04:02 +09:00
Dean Herbert
4c9d72e62a Ensure EditorBeatmap.Update is called inside PerformOnSelection calls 2021-05-23 21:22:35 +09:00
Joseph Madamba
2fd0038154 Fix checkmark being hidden after clicking current waveform opacity setting 2021-05-22 16:42:20 -07:00
Salman Ahmed
4f6de6fdc6 Implement GetSkin() for other working beatmaps 2021-05-21 20:21:29 +03:00
Dean Herbert
bb2fae55ce Merge branch 'master' into refactor-selection-rotate-logic 2021-05-21 19:19:54 +09:00
Dean Herbert
df5970fab4 Create base implementations of the two most common TernaryStateMenuItems 2021-05-20 19:34:53 +09:00
Dean Herbert
27e81d6504 Implement proper rotation algorithm for skin editor 2021-05-20 18:21:16 +09:00
Dean Herbert
dbfaaecd9c Reword comment to not mention tests driectly 2021-05-20 15:39:29 +09:00
Dean Herbert
a639132825 Avoid doing any re-fetch on beatmap from test scenes 2021-05-19 17:58:28 +09:00
Dean Herbert
a0f67ef3bc Move scaling logic out of OsuSelectionHandler for reuse 2021-05-19 17:37:28 +09:00
Dean Herbert
44e22b31a9 Refactor editor exit sequence to avoid any scenario where a dialog could go stray 2021-05-19 16:51:54 +09:00
Dean Herbert
41d8bc291c
Merge pull request #12783 from smoogipoo/hoc-event-queue
Add a HitObjectUsageEventBuffer to handle HOC events appropriately
2021-05-18 22:22:53 +09:00
smoogipoo
d93ac7ac98 Change class xmldoc a bit 2021-05-18 19:15:46 +09:00
smoogipoo
ab6a79f84c Simplify 2021-05-18 19:15:46 +09:00
smoogipoo
97f4f7bbd1 Remove Component inheritance 2021-05-18 18:59:45 +09:00
smoogipoo
633f841a0f Rename to HitObjectUsageEventBuffer 2021-05-18 18:57:02 +09:00
smoogipoo
bfc0205e9b Fix (began, finished) event 2021-05-18 18:49:11 +09:00
Dean Herbert
d661e98fa6 Move common functionality out of OsuSelectionHandler and implement flip support 2021-05-18 18:34:06 +09:00
smoogipoo
61a41d97a4 Add some xmldocs + comments 2021-05-18 17:39:45 +09:00
Dean Herbert
ed957df162 Add simple xmldoc to TransferBlueprintFor method 2021-05-18 16:40:56 +09:00
Dean Herbert
55cc533a37
Merge branch 'master' into hoc-event-queue 2021-05-18 16:31:20 +09:00
Dean Herbert
a96603f025
Merge pull request #12782 from smoogipoo/rework-hitobject-blueprints
Rename hitobject blueprints and tie them to HitObjects
2021-05-18 16:30:58 +09:00
smoogipoo
75c0d4d972 Merge branch 'rework-hitobject-blueprints' into hoc-event-queue 2021-05-18 14:33:52 +09:00
smoogipoo
882d54a8f8 Remove now unnecessary Apply() method 2021-05-18 14:26:26 +09:00
smoogipoo
e621cfc4ea Add Apply() method for applying new DHOs 2021-05-18 14:14:10 +09:00
smoogipoo
f1f3606fd0 Fix unresolved xmldocs 2021-05-18 13:11:58 +09:00
Dan Balasescu
9d423245d8
Fix up xmldocs
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-05-18 13:02:23 +09:00
Dean Herbert
bdcb1a624e
Merge pull request #12759 from Naxesss/beatmap-verifier-context
Encapsulate check arguments in context object
2021-05-15 15:39:12 +09:00
Dean Herbert
67a99c83a3 Tidy bindable changed code up 2021-05-14 16:24:52 +09:00
Dean Herbert
b36c991ba1 Fix single case of incorrect usage 2021-05-14 12:04:38 +09:00
smoogipoo
362a09ca73 Fix up + reduce complexity of HOCEventQueue 2021-05-13 21:41:49 +09:00
smoogipoo
aaf31af326 Add blueprint transferral 2021-05-13 21:16:19 +09:00
smoogipoo
86042e1763 Implement HitObjectContainerEventQueue 2021-05-13 21:15:47 +09:00
Dan Balasescu
746862dcb1
Merge pull request #12750 from peppy/skin-serialisation
Add skin editor saving / loading support
2021-05-13 20:58:03 +09:00
smoogipoo
ffb6135a1b Rework hitobject blueprints to take in hitobject models 2021-05-13 19:53:32 +09:00
Dan Balasescu
3c471837f8
Merge branch 'master' into skin-serialisation 2021-05-13 19:49:55 +09:00
Dan Balasescu
a3869c02f4
Merge branch 'master' into fix-two-hovered-handles 2021-05-13 19:24:42 +09:00
Naxess
19800f5f7f Move IBeatmap arg into context 2021-05-13 11:24:22 +02:00
Naxess
b37cb3bdbe Change interpreted difficulty from bindable to regular value
There's no reason for why checks would need this to be bindable. A 1-directional binding is more appropriate.
2021-05-13 09:00:30 +02:00
Naxess
4eeeaf6a1a Keep track of local bound copy 2021-05-13 07:57:32 +02:00
Naxess
e7c7786db3
Merge branch 'master' into beatmap-verifier-context 2021-05-13 07:40:33 +02:00
Dean Herbert
b81f86bd4d Move DI resolution to inside BDL parameters 2021-05-13 13:54:06 +09:00
Dean Herbert
c6648112e5 Simplify binding flow in InterpretationSection 2021-05-13 13:51:41 +09:00
Dean Herbert
cdcbaf4291 Tidy up specification of SettingsSection 2021-05-13 13:45:10 +09:00
Naxess
47948d7b34 Set default for bindable in object initializer
Fixes the CI failure.
2021-05-13 06:08:48 +02:00
Naxess
fb305130de Also refresh when interpreted difficulty changes 2021-05-13 06:00:21 +02:00
Naxess
ee0a6ba93e Use local bound copy in InterpretationSection as well
Else we're relying on the `VerifyScreen`'s bindable instance, and by extension the `VerifyScreen` instance itself.
2021-05-13 05:59:49 +02:00
Naxess
e80d8f6922 Keep track of local bound copy 2021-05-13 05:46:47 +02:00
Naxess
04c1585eb2 Use more consistent lambda discards 2021-05-13 05:38:45 +02:00
Naxess
e86834b740 Use local bound copy for HiddenIssueTypes 2021-05-13 05:25:20 +02:00
Naxess
c8d21f2c3f Isolate refreshing to IssueList 2021-05-13 05:25:02 +02:00
Naxess
fbb76ba598 Split ShowIssueTypes dict into hidden and configurable lists
This way `VerifyScreen` is decoupled from which options `VisibilitySection` provides.

Bindings are a bit less neat, though.
2021-05-13 04:50:32 +02:00
Naxess
dd8423c4c4 Set interpreted difficulty to correct default 2021-05-13 04:36:20 +02:00
Naxess
6806e40ad9 Remove unnecessary local variable
This now exists in `VerifyScreen`, which we can access from here.
2021-05-13 04:30:40 +02:00
Naxess
56bd897666 Move ShowIssueTypes to VerifyScreen 2021-05-13 04:29:27 +02:00
Salman Ahmed
96d3586294 Fix rotation handle visibility logic not handling two handles hovered at once 2021-05-12 11:42:55 +03:00
Dean Herbert
d2e0e8ad94 Reverse direction of binding to allow for better abstract class definitions 2021-05-12 16:53:58 +09:00
Dean Herbert
17e3764576 Rename Settings to have a more localised name 2021-05-12 16:38:04 +09:00
Naxess
64d96b06a6 Add interpreted difficulty info to BeatmapVerifierContext
Enables checks to make use of the difficulty level as shown in the settings UI.
2021-05-12 02:30:21 +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
4aeaec6ecc Add InterpretationSection and its bindable in IssueList
We'll eventually connect that bindable so that checks can access it.
2021-05-12 01:32:18 +02:00
Naxess
ad78aec1ef Refresh IssueList on changes in VisibilitySection 2021-05-12 01:30:45 +02:00
Naxess
1bb7d412da Add IssueList filtering based on those bindables 2021-05-12 01:29:46 +02:00
Naxess
2e4399f0c1 Add VisibilitySection and its bindables in IssueList 2021-05-12 01:27:21 +02:00
Naxess
01b8794757 Add abstract Section class
Similar to `Section` in the timing screen, but does not make use of checkboxes, nor specific to control points.

So there's a lot of things that differ, hence new class instead of factoring that out.
2021-05-12 01:26:12 +02:00
Naxess
1de35f880b Separate IssueList into own class 2021-05-12 01:23:31 +02:00
Naxess
d3c1ec55ee Take IssueList in IssueSettings constructor
We'll be using this for bindables later.
2021-05-12 01:22:32 +02:00
Naxess
97bd482d4d Factor out load from settings into new Settings class 2021-05-12 01:21:38 +02:00
Dean Herbert
a4e0529617 Replace polling logic with direct bindable reactions 2021-05-11 18:39:15 +09:00
Dean Herbert
6bb52ebcf8
Merge pull request #12570 from frenzibyte/corner-rotation-controls
Add rotation controls to editor selection box corners
2021-05-10 23:09:44 +09:00
Salman Ahmed
fc2a527e9d Revert "Guard against potentially null track if ever"
This reverts commit b1134c3857.
2021-05-07 09:57:08 +03:00
Salman Ahmed
7c4e54a1d4 Unrevert null-colaescing/conditionals removal 2021-05-07 09:54:14 +03:00
Salman Ahmed
b1134c3857 Guard against potentially null track if ever 2021-05-07 08:30:50 +03:00
Salman Ahmed
37f44d2e37 Revert wrong not-null track changes
This reverts commit f9d99a9882.
This reverts commit 71547bece0.
2021-05-07 08:28:44 +03:00
Salman Ahmed
71547bece0 Remove any null-coalescing/conditionals in WorkingBeatmap.Track usages 2021-05-07 07:46:23 +03:00
Salman Ahmed
539643c72b Set loadable beatmap track to clock immediately in BDL
This reverts commit 84da247002.

Use loadable beatmap track for clock directly in BDL
2021-05-07 07:21:56 +03:00
Salman Ahmed
84da247002 Fix editor clock using the wrong beatmap track on creation 2021-05-07 05:32:55 +03:00
Salman Ahmed
2a67361dc0 OnOperation -> TriggerOperation 2021-05-05 21:50:16 +03:00
Bartłomiej Dach
3cac837acf
Merge branch 'master' into skin-bindables 2021-05-05 20:16:27 +02:00
Salman Ahmed
eeeb001d62 Refactor combo colour retrieval logic to request skin lookups instead 2021-05-05 07:17:27 +03:00
Salman Ahmed
1ac80d42f9
Merge branch 'master' into corner-rotation-controls 2021-05-04 23:53:23 +03:00
Bartłomiej Dach
4185053120
Merge branch 'master' into fix-selection-handler-visibility 2021-05-04 20:21:05 +02:00
Salman Ahmed
8abff4881b Hide the corresponding rotation handle when holding scale handle 2021-05-04 07:31:55 +03:00
Salman Ahmed
b2a0c2b563 Consider drag handles active using mouse down instead of when dragged 2021-05-04 06:41:26 +03:00
Salman Ahmed
5f33c3514e Move selection box control internal events to drag handles 2021-05-04 06:37:22 +03:00
Salman Ahmed
fd7a6b3a7c Finish transforms on controls load complete 2021-05-04 06:37:20 +03:00
Dean Herbert
b28e1569ca Remove no-longer-relevant matching comment 2021-05-03 20:09:50 +09:00
Salman Ahmed
840c22a3b1 Add back mis-removed fade transform 2021-05-03 12:16:40 +03:00
Dean Herbert
4f8240f19a
Merge branch 'master' into corner-rotation-controls 2021-05-03 18:02:23 +09:00
Dean Herbert
fdd0713988 Merge branch 'fix-selection-handler-visibility' into skin-bindables 2021-05-03 17:40:03 +09:00
Dean Herbert
3268a75f05 Remove intermediate container to fix tests 2021-05-03 17:35:56 +09:00
Dean Herbert
839ac968a9 Fix tooltips displaying for hidden SelectionHandler content 2021-05-03 17:28:24 +09:00
Dean Herbert
4cfa858dc4 Fix tooltips displaying for hidden SelectionHandler content 2021-05-03 15:37:15 +09:00
Dean Herbert
01984de9c7 Use existing GetStateFromSelection helper function 2021-05-03 15:13:32 +09:00
Dean Herbert
8c9cfb6301 Remove unsafe access to Composer.HitObjects 2021-05-03 14:28:35 +09:00
Salman Ahmed
b83aa0bd76 Avoid LINQ in update 2021-05-02 06:21:14 +03:00
Salman Ahmed
0aa17e7c95 Rewrite selection box computation logic with RectangleF's helper methods 2021-05-02 02:51:06 +03:00
Salman Ahmed
07fe99025f Use bounding box of blueprint for computing selection box area 2021-05-02 02:36:40 +03:00
Bartłomiej Dach
eef135f8dc
Merge branch 'master' into remove-unused-triangles 2021-04-30 21:51:23 +02:00
Dan Balasescu
e6eea73b8b
Merge branch 'master' into basic-compose-checks 2021-04-30 23:41:46 +09:00
Dean Herbert
e4f895b490 Fix editor buttons inheriting from TriangleButton when they have no need to 2021-04-30 14:48:37 +09:00
Dean Herbert
9c62c90cfc Refactor SelectionBlueprint and MoveSelectionEvent to work in screen-space coordinates
Until now, the implementation of the overrides in `SelectionBlueprint`
have been confusing to the point where I would just implement by
trial-and-error (or copying from an existing implementation). This was
due to a combination of using "object" space coordinates
(ie. the thing the `Blueprint` is operating on) and screen-space coordinates.

This change switches all event related coordinates to screen-space,
which is how we already handle rotation/scale operations. With the
introduction of other editor types where the related objects are
drawables, this also makes a lot more sense.
2021-04-29 16:10:42 +09: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
Dean Herbert
e0906daebf Change one remaining instance of incorrect terminology in xmldoc 2021-04-28 13:49:41 +09:00
Dean Herbert
4c9e94da2b Move context menu logic to base class 2021-04-28 13:43:16 +09:00
Dean Herbert
532ec40395 Remove unnecessary newline 2021-04-28 12:04:48 +09:00
Dean Herbert
43772f4303 Remove duplicated call to initially select blueprint 2021-04-28 12:03:41 +09:00
Dean Herbert
e4f2e0131c Rename AllowDeselection to better match use case 2021-04-28 12:02:55 +09:00
Dean Herbert
a9a5809e94 Fix incorrect xmldoc in MoveSelectionEvent 2021-04-28 11:46:52 +09:00
Dean Herbert
d0be8f9fb3 Remove one more out-of-date comment 2021-04-28 11:45:36 +09:00
Dean Herbert
bc455005a5 Fix incorrect coordinate space mention in xmldoc 2021-04-28 11:44:50 +09:00
Dean Herbert
61d4eb1777 Remove unnecessary and out-of-place xmldoc 2021-04-28 11:44:19 +09:00
Dean Herbert
aa1cb65eaa Rename region to be more inclusive 2021-04-28 11:42:22 +09:00
Dean Herbert
42255f8d33 Rename and xmldoc selection completed method 2021-04-27 19:01:29 +09:00
Dean Herbert
7ec5ea1eb5 Remove hitobject terminology from base classes 2021-04-27 19:01:29 +09:00
Dean Herbert
ff06a27a12 Revert changes to OnBlueprint methods and handle select-on-addition locally 2021-04-27 19:01:29 +09:00
Dean Herbert
f97b14a20a Fix binding direction of selected items 2021-04-27 19:01:29 +09:00
Dean Herbert
dd3d8e5d03 Make SelectionHandler abstract to ensure things get implemented 2021-04-27 19:01:29 +09:00
Dean Herbert
32416e4e31 Move model selection handling to base SelectionHandler class 2021-04-27 19:01:29 +09:00
Dean Herbert
eac139ca0e Allow BlueprintContainer to perform movement without an ISnapProvider 2021-04-27 19:01:29 +09:00
Dean Herbert
f2e56bd306 Refactor editor selection/blueprint components to be generic 2021-04-27 19:01:29 +09: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
Salman Ahmed
485da47d89 Revert "Inherit VisibilityContainer and make duration constant protected"
This reverts commit c58ef4230d. Uhh, how did I push this..
2021-04-26 01:41:42 +03:00
Salman Ahmed
b252485e1a Remove protected expose of HandlingMouse setter
Regardless of `OnDragEnd()`, `OnMouseUp()` will still be called resetting the value of that state back.
2021-04-25 20:13:23 +03:00
Salman Ahmed
7390a12e4b SelectionBoxDragHandleDisplay -> SelectionBoxDragHandleContainer 2021-04-25 20:03:15 +03:00
Salman Ahmed
c58ef4230d Inherit VisibilityContainer and make duration constant protected 2021-04-25 20:03:15 +03:00
Salman Ahmed
79e2b232d8
Improve English
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-04-25 19:26:53 +03:00
Salman Ahmed
a8c460f7df Replace separated top-centered rotation button with rotation drag handles 2021-04-25 10:17:36 +03:00
Salman Ahmed
77f7d4c963 Add composite managing display of selection box drag handles 2021-04-25 10:17:36 +03:00
Salman Ahmed
ab71782674 Use colour fade transform for selection box controls
To become harminous with the fade transforms of the rotation control
2021-04-25 10:14:31 +03:00
Salman Ahmed
62bcc5f76d Add property for tracking whether control is during operation 2021-04-25 10:14:31 +03:00
Salman Ahmed
206fc94b8c Add rotation drag handle component 2021-04-24 08:00:36 +03:00
Salman Ahmed
4bfa9cd6b6 Change inheritance of selection box buttons to base control instead 2021-04-24 08:00:29 +03:00
Salman Ahmed
decd8803bc Abstract base appearence and hover update from drag handles 2021-04-24 07:45:53 +03:00
Dan Balasescu
93b53f54fa
Merge pull request #12531 from peppy/editor-add-nudge-shortcuts
Add simple key based time nudging support to editor
2021-04-22 21:14:51 +09:00
Dean Herbert
a5364b224f Add simple key based time nudging support to editor 2021-04-22 18:47:04 +09:00
Dean Herbert
1884c18a2c Ignore movement operations which have no offset 2021-04-22 18:12:03 +09:00
Dean Herbert
9d8f0c854d Setup configuration item for editor hit animations 2021-04-21 18:05:40 +09:00
Dean Herbert
c6c91cd9a5 Refactor WaveformOpacityMenuItem to not receive whole config 2021-04-21 18:05:26 +09:00
Dean Herbert
26430e3cb5
Merge pull request #12492 from Naxesss/bg-audio-quality-checks
Add background and audio checks
2021-04-21 00:10:32 +09:00
Naxess
3e1b6b3b34 Simplify verifier run call args
Uses the resolved working beatmap instead of resolving it every time.

Also uses the EditorBeatmap itself as playable beatmap, as it is of type `IBeatmap` already, and `.PlayableBeatmap` forwards everything anyway.
2021-04-20 13:34:12 +02:00
Naxess
496df411a7 Remove now unused import 2021-04-20 02:39:11 +02:00
Naxess
0e6b66f457
Merge branch 'master' into bg-audio-quality-checks 2021-04-20 02:36:13 +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
Bartłomiej Dach
0825fc57a9 Move foreground colour helper into OsuColour 2021-04-19 18:24:48 +02:00
Bartłomiej Dach
97573fb11d Merge branch 'master' into combo-colours-display 2021-04-19 18:21:57 +02:00
Dean Herbert
a40dcd4b8d Add a touch more space in the timing column 2021-04-19 18:53:06 +09:00
Dean Herbert
097a347533 Adjust Add different background colour for timing area 2021-04-19 18:25:30 +09:00
Dean Herbert
5bce5d2057 Update design logic 2021-04-19 18:25:20 +09:00
Dean Herbert
1ebc5ac5cc Remove unused legacy class 2021-04-19 16:36:00 +09:00
Dean Herbert
8da561a2a6 Soften colours and adjust padding slightly 2021-04-19 16:35:36 +09:00
Dean Herbert
f8b20ca8aa Add new display for effect row attribute 2021-04-19 16:35:36 +09:00
Dean Herbert
ec249a0edb Add new display for sample row attribute 2021-04-19 16:23:28 +09:00
Dean Herbert
6465a72060 Add bubbled word class for use in attribute rows 2021-04-19 16:23:28 +09:00
Dean Herbert
3aad0a8b9c Add new display for difficulty row attribute 2021-04-19 16:23:06 +09:00
Dean Herbert
d3cebfb6fb Use explicit label 2021-04-19 16:23:06 +09:00
Dean Herbert
a10a8680d0 Add new display for timing row attributes 2021-04-19 16:23:06 +09:00
Dean Herbert
f4baff9e04 Make TimingScreen use rounded screen and adjust spacing/padding 2021-04-19 14:35:35 +09:00
Dean Herbert
e143afb598 Split out rounded content screen from SetupScreen for use in other places 2021-04-19 14:28:32 +09:00
Dean Herbert
513e470b52 Adjust grid spacing to allow attributes to use more width 2021-04-19 13:24:53 +09:00
Dean Herbert
0c918410d0 Make "add" button more visible 2021-04-19 13:15:24 +09:00
Dean Herbert
658c23c925 Give more space to the parameter adjustment area 2021-04-19 13:15:17 +09:00
Bartłomiej Dach
6f2ebb20a7 Fix test failing due to null beatmap skin
Also annotate the field on `EditorBeatmap` as nullable for future
travelers.
2021-04-18 20:46:42 +02:00
Bartłomiej Dach
07a00cd681 Add colours section with combo colour display 2021-04-18 20:46:42 +02:00
Bartłomiej Dach
a8027d87b6 Fix unreadable colour hex code text due to low contrast
Logic is shared with the timeline blueprints which also have the same
problem of displaying text on top of a combo colour.

Slightly modified the formula. Seems to yield better results on a
subjective check.
2021-04-18 20:44:55 +02:00
Dean Herbert
cfc7664094 Use full path 2021-04-18 21:05:23 +09:00
Dean Herbert
e76565dbc5 Fix selection box not displaying after pasting a selection in the editor
Closes #12471.
2021-04-18 20:28:39 +09:00
Naxess
ef65c8910f Fix resolved fields 2021-04-18 01:15:13 +02:00
Naxess
400f8b3938 Add GetStream to IWorkingBeatmap
This is necessary to obtain the filesize of the audio and background files.
2021-04-17 17:47:13 +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
d9d50f0e88 Add border showing selected blueprints in timeline 2021-04-16 18:16:22 +09:00
Dan Balasescu
3c8e2b8b32
Merge branch 'master' into fix-potential-deselection-crash 2021-04-16 16:27:47 +09:00
Dan Balasescu
d3acbcced7
Merge pull request #12437 from peppy/fix-editor-placement-commit-false
Fix placement blueprints not being correctly removed after a rolled back placement
2021-04-16 16:25:05 +09:00
Dean Herbert
c59906e925 Fix an occasional crash when deleting a HitObject via internal means 2021-04-16 15:55:33 +09:00
Dean Herbert
119c9b4294 Fix placement blueprints not being correctly removed after a rolled back placement 2021-04-16 14:11:33 +09:00
Dean Herbert
42c066e6f2 Fix slider not displaying in timeline during zero-duration placement 2021-04-16 13:38:55 +09:00
Dean Herbert
c2340f1fe8 Move zoom settings back to run in a non-loaded state 2021-04-16 01:01:03 +09:00
Dean Herbert
15d48a924b Set the timeline's height to a sane non-zero default
This isn't required but makes the initial appearance animation nicer.
2021-04-16 00:58:32 +09:00
Dean Herbert
7cf15fe729
Merge pull request #12412 from peppy/timeline-adjustments
Update timeline control point display
2021-04-15 22:43:26 +09:00
Andrei Zavatski
71b06d7e61 Simplify ExtendableCircle even more 2021-04-15 15:53:21 +03:00
Dan Balasescu
7beaf0ce55
Merge branch 'master' into timeline-adjustments 2021-04-15 21:51:00 +09:00
Dean Herbert
ad671ee07a
Merge branch 'master' into timeline-adjustments 2021-04-15 20:42:38 +09:00
Dean Herbert
0dc1577f68 Split out control point visualisation logic and add special kiai duration handling 2021-04-15 18:42:30 +09:00
Dean Herbert
153ee25510 Update base specifications to a more sane default 2021-04-15 18:42:07 +09:00
Dean Herbert
bf5af3310a Update break colour to not look like kiai time 2021-04-15 17:04:11 +09:00
Dean Herbert
18e8682f39 Remove unused using statements 2021-04-15 17:01:25 +09:00
Dean Herbert
757475e6d4 Use correct representation colours 2021-04-15 16:39:20 +09:00
Dean Herbert
da6f9060fa Centre end circles to avoid visual gaps 2021-04-15 16:39:20 +09:00
Dean Herbert
73821beb1d Fix break display looking bad on very long beatmaps due to fixed corner radius 2021-04-15 16:39:20 +09:00
Dean Herbert
bc3b2af39d Add rounded corners to timeline ticks display 2021-04-15 15:29:22 +09:00
Dean Herbert
d1c68cb92b Simplify content creation of Timeline / TimelineArea 2021-04-14 21:03:52 +09:00
Dean Herbert
be08b9d1ef Combine logic of Difficulty and Timing pieces where feasible 2021-04-14 20:55:34 +09:00
Dean Herbert
afbb674e52 TopLeft align check buttons so they don't move while interacting with them 2021-04-14 20:54:35 +09:00
Dean Herbert
99f05253fd Adjust timeline sizing to closer match designs (but not 1:1 yet) 2021-04-14 20:54:35 +09:00
Dean Herbert
f9b1b7fe25 Update SamplePointPiece design 2021-04-14 20:54:35 +09:00
Dean Herbert
a8df2388eb Update design for TimingControlPoint 2021-04-14 20:11:47 +09:00
Dean Herbert
1209c9fa32 Allow timeline to expand in height when control points are to be displayed 2021-04-14 20:10:50 +09:00
Dean Herbert
26110cd777 Fix timeline not receiving input (being eaten by composer) 2021-04-14 18:17:27 +09:00
Dean Herbert
a314f90d37 Allow timeline to govern the size of the rest of the editor content 2021-04-14 18:17:27 +09:00
Dean Herbert
e543db9bee Use additive blending for background box
Doesn't make a huge difference but this was intended.
2021-04-14 14:56:28 +09:00
Dean Herbert
b7d2821b55 Display the centre marker above the waveform
Gives it a bit more visibility. This is where it was meant to sit, but
didn't consider using a proxy drawable to make it work previously.
2021-04-14 14:52:48 +09:00
Dean Herbert
7654df94f6
Merge pull request #12395 from frenzibyte/fix-cinema-ignore-settings
Fix beatmap background displayed if storyboard is hidden on "Cinema" mod
2021-04-14 14:31:03 +09:00
Dean Herbert
21e8e5fbca Move common table layout logic into EditorTable abstract class 2021-04-13 23:26:19 +09:00
Dean Herbert
0edc1a850d Split out common EditorTable base class 2021-04-13 23:05:58 +09:00
Dean Herbert
1ff4e2076f Merge branch 'master' into verify-tab 2021-04-13 23:05:48 +09:00
Andrei Zavatski
e601141be2 Simplify ExtendableCircle component 2021-04-13 14:57:02 +03:00
Dan Balasescu
1505a38164
Merge pull request #12396 from peppy/update-timeline-slider-apperance
Update timeline slider/spinner apperance
2021-04-13 20:47:44 +09:00
Dan Balasescu
b2aa46690d
Merge pull request #12389 from peppy/fix-editor-ctrl-drag-deselection
Fix ctrl-dragging on an existing selection unexpectedly causing deselection
2021-04-13 20:38:29 +09:00
Dean Herbert
464fc02875 Fix some styling issues with the verify screen layout 2021-04-13 19:55:17 +09:00
Dean Herbert
03ba04e8ce Split out general checks into its own verifier class (and remove static usage) 2021-04-13 19:50:22 +09:00
Dean Herbert
e7b0042a60 Remove unnecessary hover / shadow logic 2021-04-13 19:30:20 +09:00
Dean Herbert
b2c17979de Update colours of all overlay components in one swoop (based off combo colour) 2021-04-13 19:26:20 +09:00
Dean Herbert
495fdd8d65 Update drag area display to match new design logic 2021-04-13 19:26:20 +09:00
Dean Herbert
109ee395bf Fix input and remove outdated hover logic 2021-04-13 19:26:20 +09:00
Dean Herbert
00f235760d Update visual appearance of timeline blueprints to close match new designs 2021-04-13 19:26:20 +09:00
Naxess
60c2494b31 Make BeatmapVerifier an interface 2021-04-13 10:40:56 +02:00
Salman Ahmed
36510309d1 Merge EnableUserDim and IgnoreUserSettings to one bindable 2021-04-13 10:58:56 +03:00
Dean Herbert
27e851c2ee Also adjust height 2021-04-13 16:43:29 +09:00
Dean Herbert
ebf97ff48f Update timeline ticks to use width as a differentiation method, rather than height 2021-04-13 16:29:35 +09:00
Dean Herbert
66e74da2b7 Fix regression in quick delete mouse action blocking 2021-04-13 13:03:14 +09: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
Naxess
1c69829ad4 Fix Template.Origin -> Check 2021-04-12 15:47:58 +02:00
Dean Herbert
cc2acf5e54 Fix ctrl-dragging on an existing selection causing deselection of the hovered object 2021-04-12 19:05:23 +09:00
Dean Herbert
b5954a55ad Remove empty <returns> xmldoc 2021-04-12 17:46:14 +09:00
Naxess
a2fc9c398f Rename CreateChecker -> CreateBeatmapVerifier 2021-04-12 10:08:30 +02:00
Naxess
65ebdd8f7a Move check origin from IssueTemplate to Issue
As a result we can also make check an interface, and need to provide the check itself when constructing an issue.
2021-04-12 10:08:08 +02:00
Dean Herbert
8bf85d737c Change Metadata into a get property 2021-04-12 15:52:29 +09:00
Dean Herbert
3551322f1d Fix formatting of colour getter 2021-04-12 15:52:18 +09:00
Dean Herbert
1c553b5d48 Checker -> BeatmapVerifier 2021-04-12 15:29:05 +09:00
Dean Herbert
14bd5bdc77 Merge branch 'master' into verify-tab 2021-04-12 15:14:37 +09:00
Naxess
7d40b01722 Remove old todo 2021-04-10 15:18:15 +02:00
Naxess
747e0f00dc Improve table formatting 2021-04-10 13:10:05 +02:00
Naxess
3a4f2e3d7e Show table even if no issues 2021-04-10 13:09:16 +02:00
Naxess
c995eca029 Remove todo
Doesn't really matter in the end, as only one checker will run at a time in this case.
2021-04-10 13:05:24 +02:00
Naxess
6d3cf78e4a Add issue selection
This mainly helps with keeping track of which issue was clicked, since doing so switches tab.
2021-04-10 13:04:39 +02:00
Naxess
d1007ff26a Move components to more appropriate spot 2021-04-10 13:02:22 +02:00
Naxess
43174b708c Remove visibility settings
Can look into this later, not really important for a first iteration.
2021-04-10 12:58:40 +02:00
Naxess
bab36e529a Update UI with new components 2021-04-07 14:38:43 +02:00
Naxess
b24ce66a0d Add check/issue classes 2021-04-07 14:35:33 +02:00
Dean Herbert
d4c55070e7
Merge pull request #12283 from bdach/setup-screen-design-refresh
Refresh setup screen appearance to be closer to design
2021-04-06 18:33:34 +09:00
Dean Herbert
9d0839be8f Remove no longer necessary FinishTranforms call 2021-04-06 15:35:07 +09:00
Dean Herbert
316a557a99 Split select area background into own class to reduce hover state complexity 2021-04-06 15:34:34 +09:00
Dean Herbert
7d301a6336 Improve timeline hover display before time zero with a gradient fade 2021-04-06 14:34:16 +09:00
Dean Herbert
35dd1c68aa Fix drag/selection events not propagating correctly to TimelineBlueprintContainer when before time zero 2021-04-06 14:34:16 +09:00
Dean Herbert
8ff13845d1 Add marker showing where 00:00:000 is 2021-04-06 14:24:22 +09:00
Bartłomiej Dach
0a1417bc67 Swap order of background/audio track changing methods
Mostly for quality of reviewing (restores previous order) and more
consistency overall.
2021-04-04 13:10:12 +02:00
Bartłomiej Dach
a0f0ae7979 Adjust spacings in resources section 2021-04-04 12:53:51 +02:00
Bartłomiej Dach
f2d4ca7676 Add background chooser text box 2021-04-04 12:50:50 +02:00
Bartłomiej Dach
9394af32f5 Move drag & drop support logic to chooser component 2021-04-04 12:34:52 +02:00
Bartłomiej Dach
294d911426 Move background chooser to header 2021-04-03 20:53:07 +02:00
Bartłomiej Dach
61f9eb51c4 Split background chooser to own component 2021-04-03 20:36:30 +02:00
Bartłomiej Dach
3572178bdc Add tab control to setup screen header 2021-04-03 20:13:20 +02:00
Bartłomiej Dach
95d7e6c74b Explicitly associate setup sections with titles 2021-04-03 19:58:49 +02:00
Bartłomiej Dach
bdd1072dce Adjust colours and spacing to be closer to design 2021-04-03 18:52:50 +02:00
Bartłomiej Dach
4df7ff21c7 Fix editor arrow seek snapping not updating after control point changes
The editor clock, which is responsible for performing the seek, was not
aware of changes in control points due to reading from the wrong
beatmap. `loadableBeatmap` is not actually changed by any of the editor
components; `playableBeatmap` and `editorBeatmap` are.

For now this is changed to use `playableBeatmap`. A better follow-up
would be to use `editorBeatmap`, but it would probably be best to move
the beat snap bindable into `EditorBeatmap` first.
2021-04-03 14:02:46 +02:00
hbnrmx
824fb9f398 reopen FileSelector in the directory of the previous selection 2021-04-02 18:01:26 +02:00
hbnrmx
438f3e6349 move fallback text to PlaceholderText 2021-04-02 17:57:21 +02:00
Dan Balasescu
f8c1dfe57f
Merge branch 'master' into editor-fix-speed-multiplier-precision 2021-03-31 17:17:25 +09:00
Dean Herbert
90c75a64cf Fix legacy control point precision having an adverse effect on the editor 2021-03-30 15:24:11 +09:00
Dan Balasescu
d2ef0ba644
Merge branch 'master' into add-editor-nudging-support 2021-03-30 14:34:43 +09:00
Dan Balasescu
1bb9f018a0
Merge branch 'master' into fix-timeline-depth-ordering 2021-03-29 20:47:47 +09:00
Dan Balasescu
3cf6a3f56d
Merge pull request #12076 from peppy/add-timeline-stacking-support
Implement editor timeline stacking support
2021-03-29 20:44:52 +09:00
Dean Herbert
690debe507
Merge pull request #12030 from LeNitrous/editor-platform-clipboard-copy 2021-03-29 19:31:16 +09:00
Dean Herbert
3909eda095 Avoid using a StringBuilder 2021-03-29 18:51:28 +09:00
Dean Herbert
90ab765cf5 Reorder methods and surround with region 2021-03-29 18:46:32 +09:00
Nathan Alo
cdb779f764 move copy logic inside ComposeScreen 2021-03-29 17:30:23 +08:00
Naxess
d58ef5310b Add verify tab
Currently empty, but works.
2021-03-28 17:36:22 +02:00
Nathan Alo
21398e25b5 null check composer and ensure the correct start time from selected hit objects 2021-03-27 10:02:21 +08:00
Nathan Alo
c96321206a fix appveyor complaints 2021-03-26 16:17:24 +08:00
Nathan Alo
71a0616861 remove extra semi colons 2021-03-26 15:34:45 +08:00
Nathan Alo
374f8c5e22 move to compose namespace and add license header 2021-03-26 15:33:28 +08:00
Dean Herbert
cb48e5f158 Fix timeline not visually ordering hitobjects in a stable way 2021-03-26 16:33:18 +09:00
Nathan Alo
b8b7eb4c4b refactor logic to its own component and handle hit object to string conversion to its ruleset-specific composers 2021-03-26 15:25:20 +08:00
Nathan Alo
2bea69456e remove implementations 2021-03-26 15:24:33 +08:00
Dean Herbert
77969bb223 Merge branch 'master' into add-timeline-stacking-support 2021-03-26 16:17:10 +09:00
Dean Herbert
f6647de769 Add support for nudging objects in the editor using ctrl+arrow keys
Closes #12042.
2021-03-25 19:56:28 +09:00
Dean Herbert
8d4ff867bf Fix barlines showing up in the osu!mania editor's timeline 2021-03-25 16:30:31 +09:00
Dean Herbert
9fdd23b134 Fix various issues with stacking 2021-03-25 16:28:30 +09:00
Dean Herbert
bdc783b55f Merge branch 'master' into add-timeline-stacking-support 2021-03-25 15:28:30 +09:00
Dean Herbert
7b3336783f
Stabilise ordering instead of simple reversing
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-03-25 15:24:59 +09:00
Bartłomiej Dach
dd48b68f8a Ensure selected blueprints are given selection priority 2021-03-19 22:44:33 +01:00
Dean Herbert
71a361337d
Add comment regarding usage of Reverse()
Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
2021-03-19 21:57:48 +09:00
Dan Balasescu
e72205eea2
Merge pull request #12080 from peppy/add-25-playback-editor
Change editor speed adjust to adjust frequency (and restore 25% option)
2021-03-19 21:04:12 +09:00
Dean Herbert
8955071703 Change editor speed adjust to adjust frequency 2021-03-19 20:01:45 +09:00
Dean Herbert
9be7981e0d Adjust timeline ticks to be more visible 2021-03-19 19:45:00 +09:00
Dean Herbert
563a0584d5 Implement editor timeline stacking support 2021-03-19 18:48:51 +09:00
Dean Herbert
32c571fc94 Adjust keyboard step to be something sensible 2021-03-19 17:13:30 +09:00
Dean Herbert
711d895a04
Merge pull request #8238 from voidedWarranties/editor-song-end 2021-03-19 16:32:23 +09:00
voidedWarranties
b9761c8196 Further simplify logic 2021-03-18 16:20:31 -07:00
voidedWarranties
df6570ebf5 Improve logic and add previously failing test
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-03-17 15:48:55 -07:00
Bartłomiej Dach
2e63c2ce20 Fix selection box operation hotkeys not registering in change handler
Could lead to crashes after reversing a note cluster and playing it
back.

The root cause of the crash was that the hotkey operations were not ran
inside of an editor change handler operation. This, in turn, caused the
autoplay replay to not be regenerated after flipping an object cluster,
therefore finally manifesting as a hard crash due to negative time
offsets appearing in judgement results, which interfered with the
default implementation of note lock.

Note that this incidentally also fixes the fact that selection box
hotkey operations (reverse and flip) did not handle undo/redo.
2021-03-17 22:17:42 +01:00
Bartłomiej Dach
a691291ae8 Merge branch 'master' into editor-song-end 2021-03-17 18:18:19 +01:00
Dan Balasescu
5a7e416495
Merge pull request #12027 from peppy/new-beatmap-empty-fields
Don't fill beatmap metadata with template values on creating a new beatmap
2021-03-17 19:36:21 +09:00
Nathan Alo
51e0304c54 properly format strings per ruleset 2021-03-17 18:31:09 +08:00
Nathan Alo
133ff085a5 refactor code 2021-03-17 18:06:40 +08:00
Nathan Alo
8046b5a818 set text to platform clipboard on copy 2021-03-17 17:35:49 +08:00
Dean Herbert
d0e61e5b4d Put back the label 2021-03-17 17:14:04 +09:00
Dean Herbert
3b6a1180b6 Remove non-accessed field 2021-03-17 17:02:11 +09:00