1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-31 03:03:51 +08:00
Commit Graph

2373 Commits

Author SHA1 Message Date
Jamie Taylor
507b53dc73
Use 'Soft' hover/select samples for EditorTable row selection 2021-07-21 22:02:40 +09:00
Derrick Timmermans
9d43ca122f
Allow context menus to be triggered as well 2021-07-21 12:04:09 +02:00
Derrick Timmermans
f85ff40a6b
Add back LeftMouse button check 2021-07-21 11:47:21 +02:00
Dean Herbert
adda96ac86
Merge pull request #13962 from ekrctb/platform-action
Adapt to framework `PlatformAction` type change
2021-07-21 18:17:38 +09:00
ekrctb
1bac471b49 Adapt to PlatformAction type change 2021-07-21 16:12:53 +09:00
ekrctb
1bff4373b3 Allow specifying flipping support of selection box different from scaling 2021-07-21 15:59:45 +09:00
Derrick Timmermans
a8cf6a6854
Fix slight Y position offset in HandleDrag 2021-07-20 23:00:58 +02:00
Derrick Timmermans
bfec87b082
Let TimelineBlueprintContainer only accept positional input within timeline quad 2021-07-20 22:30:50 +02:00
Derrick Timmermans
8b09ddbcd6
Merge branch 'ppy:master' into timeline-object-interactions 2021-07-20 16:36:39 +02:00
Salman Ahmed
1af230c48c Merge branch 'master' into refactor-combo-colour-retrieval 2021-07-20 10:08:25 +03:00
Dan Balasescu
f3bcaf7f11
Merge pull request #13929 from peppy/i-deep-cloneable
Create a deep clone of score for score submission purposes
2021-07-19 21:58:27 +09:00
Dean Herbert
bde35d9f21 Rename radio button classes to be local to editor 2021-07-19 16:57:12 +09:00
Dean Herbert
3c028ce05c Add IDeepCloneable interface and update existing CreateCopy methods to use it 2021-07-19 12:54:17 +09:00
Derrick Timmermans
2e2a2bdd99
Allow moving timeline selection when mousedown event is outside of blueprint container 2021-07-18 18:06:59 +02:00
Derrick Timmermans
ee220feecf
Avoid using guesses to determine whether inputs blocked 2021-07-18 16:04:23 +02:00
Dean Herbert
50eed26bd1 Rename radio button item to label 2021-07-17 02:32:23 +09:00
Dean Herbert
eac9b1ec7e Disable toolbox composition buttons when beatmap is not timed 2021-07-17 02:30:13 +09:00
Dean Herbert
3ae5f6707a Expose whether an EditorBeatmap has timing present or not via bindable 2021-07-17 02:30:00 +09:00
Dean Herbert
7a671754f2 Change RadioButton's object to a string 2021-07-17 02:29:31 +09:00
Derrick Timmermans
e35cff99c7
Pass on mouseDown input to timeline if no selection modification is made with that input 2021-07-16 17:21:43 +02:00
Derrick Timmermans
3e8a13bfbf
Allow interacting with timeline objects outside of drawable bounds 2021-07-16 16:16:34 +02:00
Bartłomiej Dach
f45418dde7 Replace game-side directory/file selector with framework extensions 2021-07-06 22:11:54 +02:00
Bartłomiej Dach
50c27d2635 Update usages of IHasTooltip in line with framework localisation changes 2021-06-25 19:10:04 +02:00
Dean Herbert
f62b4f2d24
Merge pull request #13617 from ekrctb/catch-editor
Add "placeholder" (pre-MVP) implementation of osu!catch editor
2021-06-23 14:00:34 +09:00
ekrctb
0b351c9922 Fix "possible NRE" inspection 2021-06-23 10:57:04 +09:00
ekrctb
eec4457473 Add [CanBeNull] to methods returning null by default 2021-06-23 09:40:07 +09:00
ekrctb
a9c7830252 Fix NRE when hit object blueprint is not implemented 2021-06-22 17:20:13 +09:00
Dean Herbert
4b45d8318e
Merge branch 'master' into transformers-per-skin 2021-06-16 16:37:28 +09:00
Dean Herbert
04413f1634
Merge pull request #13444 from peppy/editor-timeline-taiko-hit-colouring
Show osu!taiko centre/rim colouring in editor timeline
2021-06-11 15:10:24 +09:00
Dan Balasescu
97375d9625
Merge pull request #13438 from bdach/more-metadata-fields
Add remaining metadata fields to editor setup screen
2021-06-11 14:17:34 +09:00
Dean Herbert
bc3b7233ab Show osu!taiko centre/rim colouring in editor timeline
Closes #13443.
2021-06-11 14:17:30 +09:00
Dean Herbert
38bf04d7ff Give more space for time values to allow for negative offsets 2021-06-11 13:25:09 +09:00
Bartłomiej Dach
417aaacc53 Add test coverage for romanised data transfer 2021-06-10 22:18:39 +02:00
Bartłomiej Dach
e41a5a0fcd Add romanised author & title fields 2021-06-10 22:17:45 +02:00
Bartłomiej Dach
252fe0a6cc Add source and tags text boxes to metadata section 2021-06-10 14:13:59 +02:00
Bartłomiej Dach
5a2e710095 Split common method for metadata textbox creation 2021-06-10 13:55:34 +02:00
Salman Ahmed
dde84e5cbd Merge branch 'master' into transformers-per-skin 2021-06-10 11:58:52 +03:00
Salman Ahmed
e30f6581b3 Wrap gameplay content within a RulesetSkinProvidingContainer 2021-06-09 22:49:31 +03:00
Bartłomiej Dach
410cb16340 Apply fixed label width to setup screen items 2021-06-08 17:18:00 +02:00
Bartłomiej Dach
78213e09d4
Merge branch 'master' into editor-exit-stability 2021-05-30 23:03:50 +02:00
Dean Herbert
9b239e308b Merge branch 'master' into beatmap-skin 2021-05-29 15:36:43 +09:00
Dean Herbert
f1b5aced6f Merge branch 'master' into editor-exit-stability 2021-05-28 14:32:32 +09:00
Dean Herbert
14a4095140 Merge branch 'master' into beatmap-skin 2021-05-26 18:39:47 +09:00
Dean Herbert
268230c8c4 Merge branch 'master' into fix-taiko-editor-sample-mutations 2021-05-25 19:01:47 +09:00
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
Dean Herbert
5adc675862 Focus artist textbox on entering song setup if fields are empty 2021-03-17 16:57:14 +09:00
Dean Herbert
eda891223c Start the editor with empty artist/creator/difficulty name fields 2021-03-17 16:47:12 +09:00
Dean Herbert
c7740d1181 Fix opening the editor occasionally causing a hard crash due to incorrect threading logic
Setting one of the global screen `Bindable`s (in this case, `Beatmap`)
is not valid from anywhere but the update thread. This changes the order
in which things happen during the editor startup process to ensure
correctness.

Closes #11968.
2021-03-17 15:52:25 +09:00
Dean Herbert
cd1c1bf534 Centralise cases of performing actions on the current selection
By moving this to a central location, we can avoid invoking the
EditorChangeHandler when there is no selection made. This helps
alleviate the issue pointed out in
https://github.com/ppy/osu/issues/11901, but not fix it completely.
2021-02-26 14:15:13 +09:00
Dean Herbert
e9730d4782 Move default sample addition to inside PlacementBlueprint
This isn't actually required to fix the behaviour but it does feel like
a better place to put this logic.
2021-02-11 17:16:18 +09:00
smoogipoo
3ce605b5e5 Small refactoring to use .Trim() instead 2021-02-09 12:00:03 +09:00
Joehu
414e05affd Fix editor effect attribute tooltip having unnecessary whitespace when only one is enabled 2021-02-08 10:16:16 -08:00
Dean Herbert
0dd1b1026c
Merge pull request #11495 from smoogipoo/more-accurate-most-common-bpm
Make most common BPM more accurate
2021-02-08 20:08:58 +09:00
smoogipoo
69ca440ae5 Merge branch 'master' into more-accurate-most-common-bpm 2021-02-08 18:40:58 +09:00
Joehu
5e7823b289 Fix attributes content being zero size and disappearing after being half off-screen 2021-02-08 01:37:34 -08:00
Joehu
6b26a18a23 Fix attributes header not being aligned with content in editor timing mode 2021-02-08 01:34:32 -08:00
Vincent Maggioli
96652e07cd
Merge branch 'master' into zero-spinner-slider 2021-02-05 09:40:55 -05:00
vmaggioli
5061231e59
Switch to beat length 2021-02-05 09:39:14 -05:00
Dan Balasescu
c70dd2edfc
Merge pull request #11569 from peppy/fix-editor-new-beatmap-crash
Fix a potential crash when exiting the editor before a new beatmap is added to the database
2021-02-01 21:01:51 +09:00
Dan Balasescu
30f7e4c794
Merge branch 'master' into fix-timeline-parts-working-beatmap 2021-01-25 21:22:45 +09:00
Dean Herbert
b489e92c9e Fix TimelineParts not using correct beatmap 2021-01-25 18:44:36 +09:00
Dean Herbert
4ac362ee1a Move cloning local to editor 2021-01-25 18:29:00 +09:00
Dean Herbert
f054b38105 Merge branch 'master' into revert-beatmap-controlpointinfo-cloning 2021-01-25 18:25:53 +09:00
Dean Herbert
b44bd8c4ee Remove unused using statement 2021-01-22 18:03:33 +09:00
Dean Herbert
a9c8f9bd4a Fix a potential crash when exiting the editor before a new beatmap is added to the database 2021-01-22 17:47:38 +09:00
Dan Balasescu
04095cd5b9
Merge branch 'master' into fix-editor-scroll-interruption 2021-01-21 17:46:18 +09:00
Dan Balasescu
9eb74e86ed
Apply comment suggestion
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-01-21 17:40:15 +09:00
vmaggioli
5ee3a5f230
Use AlmostEquals 2021-01-20 13:00:25 -05:00
vmaggioli
ce3c2f07dc
Fix zero length spinners and sliders 2021-01-20 12:19:52 -05:00
Bartłomiej Dach
1d7be6a604 Merge branch 'master' into android-multiple-import-support-suppot 2021-01-16 23:13:11 +01:00
Dean Herbert
d6e6b4bbee Revert forced cloning of ControlPointInfo
This reverts commit 3c3e860dbc.

Closes https://github.com/ppy/osu/issues/11491.
2021-01-15 17:34:59 +09:00
Dean Herbert
831c06a3c7 Expose and consume boolean covering whether an ongoing smooth seek is running 2021-01-15 16:14:38 +09:00
Dean Herbert
04fa32bc34 Rename and add xmldoc for smooth seeking method 2021-01-15 16:14:21 +09:00
Dean Herbert
ed78be825f Fix editor timeline not snapping on non-precise wheel scroll
For wheel input with precision, we still prefer exact tracking for now.
May change this in the future based on feedback from mappers, but it
makes little sense to do non-snapped scrolling when input is coming from
a non-precise source.
2021-01-15 15:47:42 +09:00
smoogipoo
c6e9a6cd5a Make most common BPM more accurate 2021-01-15 14:28:49 +09:00
Dean Herbert
2cfd1e8b47
Merge branch 'master' into fix-control-point-pollution 2021-01-08 00:02:45 +09:00
Dean Herbert
3c3e860dbc Move ControlPointInfo copying to base Beatmap.Clone method (and remove setter) 2021-01-07 23:52:04 +09:00
Dean Herbert
77b55212a3 Change access of beatmap to use working for consistency in file 2021-01-07 19:11:51 +09:00
Dean Herbert
42643fbaf6 Use already resolved EditorBeatmap rather than resolving a second time locally 2021-01-07 19:10:19 +09:00
Dean Herbert
b3f08b29ca Ensure that all changes to screen backgrounds are on the correct thread 2021-01-05 15:22:50 +09:00
Dean Herbert
6b8e1913ee Fix dependency not always available due to nested LoadComponentAsync call 2021-01-05 13:27:45 +09:00
Dean Herbert
b7dd54847f Move resolved usage of WorkingBeatmap in editor components as local as possible to avoid misuse 2021-01-04 16:56:37 +09:00
Dean Herbert
7fdf876b4c Fix editor timing screen mutating the WorkingBeatmap instead of EditorBeatmap 2021-01-04 16:38:15 +09:00
Dean Herbert
b4a779108e Ensure working beatmap is reloaded on exiting the editor 2021-01-04 16:37:49 +09:00
Dean Herbert
ba4e411422 Clone and copy ControlPointInfo when retrieving a playable beatmap 2021-01-04 16:37:07 +09:00
Lucas A
7ae4979882 Fix merge conflicts. 2020-12-27 13:52:45 +01:00
Dean Herbert
9de42f8646
Merge pull request #11238 from peppy/editor-timeline-selection-ux
Improve drag and selection UX on editor timeline
2020-12-22 12:58:24 +09:00
Dean Herbert
423c6158e1 Highlight timeline drag area when hovered for better visibility 2020-12-21 18:10:11 +09:00
Dean Herbert
d1be7c23d9 Increase height of timeline drag area 2020-12-21 18:09:56 +09:00
Dean Herbert
d11d754715 Increase size of circle display on timeline 2020-12-21 18:09:37 +09:00
Dean Herbert
83f1350d7d Fix editor background not being correctly cleaned up on forced exit
Closes #11214. Should be pretty obvious why.
2020-12-21 17:49:11 +09:00
Bartłomiej Dach
f1878eff63 Use yet another solution leveraging padding 2020-12-18 23:45:42 +01:00
Graham Johnson
122250f454 replace drag cirle function with dictionary 2020-12-18 10:45:23 -05:00
Dean Herbert
9079d33412 X before Y for sanity 2020-12-18 11:20:21 +09:00
Dean Herbert
44f4ed4fd3 Fix spacing 2020-12-18 11:19:40 +09:00
Graham Johnson
a0235a06e6 update comment 2020-12-17 19:40:21 -05:00
Graham Johnson
a01ed1827a Align the drag circles on the selction box in the editor to be on the center of the border 2020-12-17 19:34:16 -05:00
Lucas A
5d7294451f Refactor Import() overload to take a list of import tasks instead. 2020-12-16 14:28:16 +01:00
Graham Johnson
7d2b77cdbd improve selection box rotation UX 2020-12-13 07:58:58 -05:00
Dean Herbert
eb38bc4b4c Add the ability to import into ArchiveModelManagers from a stream 2020-12-07 18:09:18 +09:00
Dan Balasescu
297283491a
Merge pull request #11031 from peppy/editor-fix-beat-snapping-new-beatmap
Fix editor beat snapping not working correctly when starting with a new beatmap
2020-12-02 15:17:09 +09:00
Dean Herbert
71a121389b
Merge pull request #11033 from smoogipoo/immutable-hit-samples
Make HitSampleInfo immutable
2020-12-02 14:44:26 +09:00
Dean Herbert
d6e0dc2216 Merge branch 'master' into editor-fix-beat-snapping-new-beatmap 2020-12-02 14:37:00 +09:00
Dean Herbert
e84dab8589 Move new beatmap construction above beat divisor binding 2020-12-02 14:36:52 +09:00
Dan Balasescu
878ded4dd6
Merge pull request #11032 from peppy/editor-fix-ticks-updating-after-timing-change
Fix timeline not updating ticks correctly after arbitrary timing control point changes
2020-12-02 10:58:44 +09:00
Pennek
477de1bab0 change min/max values 2020-12-02 01:11:24 +01:00
Bartłomiej Dach
94a8784e04 Allow editor change handler to be null 2020-12-01 20:08:31 +01:00
Dean Herbert
190c6ef45e Fix timeline not updating ticks correctly after arbitrary timing control point changes 2020-12-01 16:44:08 +09:00
Dean Herbert
2b268ee012 Fix editor beat snapping not working correctly when starting with a new beatmap 2020-12-01 16:16:26 +09:00
smoogipoo
5760e1c1fc Make HitSampleInfo immutable 2020-12-01 15:37:51 +09:00
Dean Herbert
c17d67bc7d Merge branch 'master' into editor-beat-snap-always 2020-11-30 18:34:38 +09:00
Dan Balasescu
5a276f8577
Merge branch 'master' into fix-editor-reapply-same-state-change 2020-11-30 13:34:03 +09:00
Dean Herbert
7e34c5e239 Fix state application always checking newest state for early abort, rather than current 2020-11-27 16:57:11 +09:00
Dean Herbert
7edbba58f7 Avoid updating hitobjects unnecessarily for start time changes
This was firing regardless of whether the start time was changed, such
as where beat snap provided the same time the object already has.

The case where a change actually occurs is already handled by
EditorBeatmap (see `startTimeBindables`), so it turns out this local
handling is not required at all.
2020-11-27 16:31:06 +09:00
Dean Herbert
741902f1b3
Merge pull request #10971 from smoogipoo/fix-timeline-combo-colour
Fix timeline blueprints sometimes not receiving combo colours
2020-11-26 19:47:21 +09:00
Dean Herbert
da6bccc812 Apply beat snap if positional snap doesn't give a time result 2020-11-26 19:20:51 +09:00
Dean Herbert
91592cf32d Expose EditorClock for consumption 2020-11-26 19:20:39 +09:00
Dean Herbert
9811c46e35 Rename application method to better describe what it actually does 2020-11-26 19:16:18 +09:00
smoogipoo
e53f849aa0 Completely separate combo colours from DHOs 2020-11-26 18:14:25 +09:00
smoogipoo
f562854feb Fix timeline objects sometimes not receiving combo colours 2020-11-26 17:22:22 +09:00
Dan Balasescu
aad6cf4ad3
Merge branch 'master' into editor-multiple-object-positional-snap 2020-11-26 17:06:47 +09:00
Dean Herbert
0ddeff648d Fix incorrect index lookup on non-ordered selections 2020-11-25 17:25:54 +09:00
Dean Herbert
d4c6d6275e Fix volume not being adjustable in the editor using alt-scroll
We do this in other places so I think it's fine to handle like this for
now (until we come up with a better global solution).

Closes #10958.
2020-11-25 16:46:22 +09:00
Dean Herbert
c9a41f9dae Make all objects in selection candidates for spatial snapping
Closes #10898.
2020-11-24 17:35:54 +09:00
Dean Herbert
bd1dad5477 Remove null allowance for now 2020-11-24 15:54:27 +09:00
Dean Herbert
3ed7868801 Scroll editor setup screen to file selector on display
Previously the file selector would potentially display off-screen,
making for confusing UX.

Closes #10942.
2020-11-23 13:49:14 +09:00
Bartłomiej Dach
6356b2dde9 Prevent editor from crashing for rulesets with no compose screen implementation 2020-11-19 22:11:52 +01:00
smoogipoo
f00c23b4a0 Add comment + xmldoc 2020-11-18 13:37:15 +09:00
smoogipoo
783c172b5d Make sealed and cleanup comparator 2020-11-18 13:33:22 +09:00
smoogipoo
58c8184ad7 Define blueprint order similarly to hitobjects 2020-11-17 22:56:31 +09:00
Dean Herbert
7b79b9b9c1
Merge branch 'master' into fix-quick-delete-crash 2020-11-16 13:54:54 +09:00
Bartłomiej Dach
399a1a16a0 Refactor beginClickSelection in a slightly different way 2020-11-15 21:06:47 +01:00
kamp
1db303b159 Revert beginClickSelection logic 2020-11-15 16:54:48 +01:00
Bartłomiej Dach
8a78d408db Add more missed null checks 2020-11-14 15:52:12 +01:00
Bartłomiej Dach
610ed99ae3 Add null checks to unguarded resolved-as-null fields 2020-11-14 14:52:58 +01:00
kamp
4d2bc790fd Fix crash on shift+right-click deleting objects 2020-11-14 13:20:16 +01:00
smoogipoo
0219aff7bc Add timeline visible range adjustment 2020-11-13 17:10:29 +09:00
smoogipoo
3957697c48 Add pooling support to the editor 2020-11-13 17:08:20 +09:00
smoogipoo
4ef2e9548c Pass HitObjectComposer to BlueprintContainer via ctor 2020-11-13 16:59:37 +09:00
Bartłomiej Dach
546249b071 Temporarily fix crash on deleting control point groups 2020-11-10 21:32:47 +01:00
Dean Herbert
de6fcd1792 Fix BlueprintContainer triggering assert when left and right mouse button are pressed together 2020-11-10 17:16:28 +09:00
Dean Herbert
a012105dac Fix editor quick delete being triggerable from left mouse button
Closes https://github.com/ppy/osu/issues/10629.
2020-11-10 16:54:37 +09:00
Dan Balasescu
a2877fb00a
Merge pull request #10730 from peppy/fix-patcher-no-object-crash
Fix legacy patcher crash on no objects present
2020-11-09 18:51:00 +09:00
Bartłomiej Dach
ddbd6df24d Unbind bindable lists for general safety 2020-11-07 20:59:57 +01:00
Bartłomiej Dach
e078b78dcc Ensure callbacks don't fire when restoring default beatmap 2020-11-07 20:59:57 +01:00
Dean Herbert
b0052210b6 Add asserts of HitObjects indices 2020-11-08 00:18:38 +09:00
Dan Balasescu
ea2fd831ab
Merge branch 'master' into editor-slider-control-point-quick-delete 2020-11-05 00:38:42 +09:00
Dean Herbert
d19b799f44 Invert boolean logic 2020-11-04 17:53:03 +09:00
Dan Balasescu
3322c2bbc5
Merge branch 'master' into ios-editor-crash-fix 2020-11-04 15:56:40 +09:00
Dean Herbert
487a5ecdba Replace all usage of IBindableList.GetBoundCopy 2020-11-04 15:29:14 +09:00
Dan Balasescu
42c543f5b9
Merge branch 'master' into fix-editor-play-after-drag 2020-11-04 14:45:20 +09:00
Bartłomiej Dach
3bb86ce127
Merge branch 'master' into editor-waveform-opacity 2020-11-03 23:04:19 +01:00
Bartłomiej Dach
13f729916a
Merge branch 'master' into editor-timeline-scroll-mousewheel 2020-11-03 22:27:35 +01:00
Bartłomiej Dach
ddf0d75c38 Don't fall through to seek if handling zoom 2020-11-03 21:49:21 +01:00
Bartłomiej Dach
4b528e80d0 Use AltPressed shorthand 2020-11-03 21:49:04 +01:00
Bartłomiej Dach
18428dff8e Ensure hotkey actions are executable in handler 2020-11-03 18:01:12 +01:00
Dean Herbert
83c004bbde Add key bindings for flip and reverse patterns 2020-11-03 21:10:31 +09:00
Dean Herbert
9f333ac58a Add the ability to delete slider control points using shift+right click
Closes https://github.com/ppy/osu/issues/10672.

In two minds about how this should be implemented but went in this
direction initially. The other way would be to add local handling of
Shift-Right Click inside PathControlPointPiece (which is already doing
mouse handling itself).
2020-11-03 20:46:33 +09:00
Dean Herbert
c2ffc18379 Change editor timeline mouse wheel handling to scroll by default (and zoom with alt held) 2020-11-03 16:30:11 +09:00
Dean Herbert
0dcb4ea441 Add handling of opacity to timeline waveform display 2020-11-03 16:07:01 +09:00
Dean Herbert
7e4314684b Add editor waveform opacity selection to menu 2020-11-03 16:01:14 +09:00
Dean Herbert
6bf35d5767 Fix editor menu not supporting stateful item drawables 2020-11-03 16:00:07 +09:00
Dean Herbert
34aa59f237 Fix editor clock not always remaining stopped when dragging timeline
Closes https://github.com/ppy/osu/issues/10461.
2020-11-03 15:00:01 +09:00
Dean Herbert
ab308d28d2 Debounce calls to UpdateTernaryStates
Just something I noticed in passing recently which may help with
reducing performance overhead of some batch operations.
2020-11-03 01:08:36 +09:00
smoogipoo
3956a0669a Fix editor seek transform seeking too much 2020-11-02 21:08:58 +09:00
Dan Balasescu
8a768669ad
Merge pull request #10606 from FamousPig/fix-timeline-drag-select-weirdness
Fix timeline zoom during drag-select causing unexpected behaviour
2020-11-02 13:04:26 +09:00
Dan Balasescu
5ae3da9399
Merge branch 'master' into fix-timeline-drag-select-weirdness 2020-11-02 11:18:37 +09:00
Bartłomiej Dach
432282e8de Use alternative solution to avoid storing last zoom 2020-11-01 21:25:05 +01:00
Dean Herbert
1f8d627af4
Merge branch 'master' into shift-delete-all-selected 2020-11-01 23:03:01 +09:00
Bartłomiej Dach
007c27d3ff Schedule visibility update once per frame 2020-10-31 14:45:11 +01:00
Bartłomiej Dach
d74c19e2d7 Shorten show/hide code 2020-10-31 13:54:02 +01:00
Bartłomiej Dach
3322b8a7ea Run OnSelectionChanged() on each change 2020-10-31 13:54:02 +01:00
Bartłomiej Dach
003994ab75 Bind UpdateVisibility() directly to source of truth 2020-10-31 13:54:02 +01:00
Bartłomiej Dach
129b1bc6d3 Delete all selected objects if shift-clicked on one 2020-10-31 11:46:25 +01:00
Dan Balasescu
8ccc3c2ec8
Merge pull request #10596 from charlie-gray/right-click-circle-delete
Add support for deleting objects when Shift is held down
2020-10-29 11:37:22 +09:00
Bartłomiej Dach
a1696942f0 Merge branch 'master' into right-click-circle-delete 2020-10-28 22:12:14 +01:00
Bartłomiej Dach
202fe09306 Group selection actions back up in SelectionHandler 2020-10-28 22:06:48 +01:00
Dean Herbert
351acce698 Merge branch 'master' into fix-editor-bindable-crash 2020-10-28 13:34:54 +09:00
Dean Herbert
01b576c861 Fix editor crash on exit when forcing exit twice in a row 2020-10-28 13:32:39 +09:00
Leon Gebler
0ddf840a63 Merge branch 'master' into fix-timeline-drag-select-weirdness 2020-10-27 15:31:55 +01:00
Leon Gebler
983a2774e8 Code Formatting 2020-10-27 15:09:10 +01:00
Leon Gebler
064c50c3ac Expose currentZoom to fix selection box wiggle 2020-10-27 14:38:35 +01:00
Dan Balasescu
26a7545534
Merge branch 'master' into fix-editor-samples-not-pausing-screen-swap 2020-10-27 21:29:16 +09:00
Dean Herbert
e0ad005cc1 Move editor sample disabling logic to editor class (and support screen switching) 2020-10-27 14:33:44 +09:00
Dean Herbert
3c2e2f29bc Remove unused using statement 2020-10-27 13:17:44 +09:00
Dean Herbert
27c1a4c4d3 Move right-click deletion logic to be handled at a SelectionBlueprint level 2020-10-27 12:53:54 +09:00
Dean Herbert
e1f578c590 Change editor timing screen seek behaviour to only occur on clicking table rows
Previously it would react to any selection changed event, which could in
lude time changes (which is done by removing then adding the
ControlPointGroup).

Closes #10590.
2020-10-27 12:28:12 +09:00
Bartłomiej Dach
3f8c4c57d0 Fix code style issues & restructure 2020-10-26 22:16:28 +01:00
Charlie
255bb9d100 fixed issue with returns 2020-10-26 14:52:59 -05:00
Charlie
ccaf6560ec formatting 2020-10-26 14:30:37 -05:00
Charlie
1239670566 moved right click shift delete functionality to HandleSelectionRequested + reduced func size 2020-10-26 14:28:53 -05:00
Charlie
ead3c19567 added function so circle is deleted when shift+right click 2020-10-26 13:40:42 -05:00
Leon Gebler
704f8cc4f2 Fix selection box wandering off into the distance 2020-10-26 18:45:03 +01:00
Dean Herbert
8273715bde
Merge pull request #9484 from FlashyReese/visible-playfield-boundary 2020-10-20 19:43:41 +09:00
Dean Herbert
22bde43106
Merge branch 'master' into visible-playfield-boundary 2020-10-19 18:05:28 +09:00
Dean Herbert
79a17b2371 Reapply waveform colour fix 2020-10-19 16:57:08 +09:00
Dan Balasescu
829241a9f0
Merge pull request #10521 from peppy/fix-editor-seek-interval-when-playing
Fix editor not seeking by full beat when track is playing
2020-10-16 13:55:03 +09:00
Dean Herbert
aea31d1582 Fix editor not seeking by full beat when track is playing
This is expected behaviour as my osu-stable, and I still stand behind
the reasoning behind it.

Closes #10519.
2020-10-16 13:07:00 +09:00
Dean Herbert
88f74921fb Update with new r# inspections 2020-10-16 12:49:39 +09:00
Dean Herbert
b0f8a7794a Make SelectionHandler require EditorBeatmap presence 2020-10-09 21:44:10 +09:00
Dean Herbert
681e88af40
Merge branch 'master' into editor-fix-button-states-after-paste 2020-10-09 20:51:09 +09:00
Dan Balasescu
ecfb7e94c5
Merge branch 'master' into fix-editor-batch-handling 2020-10-09 20:06:06 +09:00
Dan Balasescu
07f19342d1
Merge pull request #10428 from peppy/editor-reset-newcombo-on-placement
Reset new combo button state after successful placement
2020-10-09 19:48:47 +09:00
Dan Balasescu
bcc096ee49
Merge pull request #10446 from peppy/fix-timeline-tick-bar-lines
Fix bar lines ("down beat" as people call it) showing up too often in timeline
2020-10-09 19:24:29 +09:00
Dan Balasescu
62690e4873
Merge pull request #10432 from peppy/editor-reverse-pattern
Add "reverse pattern" support to editor selection handler
2020-10-09 19:19:24 +09:00
Dean Herbert
3838f405dd Fix missed usages 2020-10-09 18:50:05 +09:00
Dean Herbert
edaf6db5c6 Reference EditorBeatmap directly for selected objects 2020-10-09 18:44:23 +09:00
Dean Herbert
21c6242f90 Fix bar lines ("down beat" as people call it) showing up too often in timeline 2020-10-09 18:35:44 +09:00
Dan Balasescu
a1226ccaa2
Merge pull request #10440 from peppy/fix-editor-song-after-exit
Fix editor playing deleted beatmap's track on exit-without-save
2020-10-09 17:58:31 +09:00
Dean Herbert
5d888f687a Account for the width of points so they don't suddenly appear at timeline edges 2020-10-09 16:49:51 +09:00
Dean Herbert
ceb1494c33 Only run regeneration when passing a new min/max tick boundary 2020-10-09 16:47:29 +09:00
Dean Herbert
017a8ce496 Only recalculate when display actually changes 2020-10-09 15:57:31 +09:00
Dean Herbert
9baf704942 Add local pooling to TimelineTickDisplay 2020-10-09 15:48:24 +09:00
Dean Herbert
68039cff40 Set beatmap to sane default on exiting editor 2020-10-09 13:12:48 +09:00
Dean Herbert
825e10ec8c Add reverse handler button to selection box 2020-10-09 06:32:23 +09:00
Dean Herbert
eacc7dca9a Fix SliderPath not handling Clear correctly 2020-10-09 06:31:59 +09:00
Dean Herbert
85b33fffd0 Fix incorrect comments 2020-10-09 05:14:44 +09:00
Dean Herbert
5966205037 Fix ternary button states not updating correctly after a paste operation 2020-10-09 04:31:45 +09:00
Dean Herbert
e7eda19b07 Reset new combo button state after successful placement 2020-10-09 03:31:01 +09:00
Dean Herbert
4ccd751604 Further simplify non-transactional change logic 2020-10-08 18:42:53 +09:00
Dean Herbert
3114174e09 Add missing non-transactional SaveState calls 2020-10-08 18:41:03 +09:00
Dean Herbert
afed832b19 Tidy up EditorBeatmap slightly 2020-10-08 18:06:49 +09:00
Dean Herbert
1027b608ff Copy list content before firing events to avoid pollution 2020-10-08 18:04:07 +09:00
Dean Herbert
38babf3de5 Update usages of ChangeHandler to EditorBeatmap where relevant 2020-10-08 18:04:07 +09:00
Dean Herbert
b2d93f799f Hook ChangeHandler to transactional events rather than individual ones 2020-10-08 18:04:07 +09:00
Dean Herbert
0781fbd443 Make EditorBeatmap implement TransactionalCommitComponent 2020-10-08 18:04:07 +09:00
Dean Herbert
a9bca671d0 Make component and add hooking events 2020-10-08 18:04:07 +09:00
Dean Herbert
ce04daf053 Split transaction handling code out into base class 2020-10-08 18:04:07 +09:00
Dean Herbert
ef092de9ba Add missing UpdateHitObject calls and move local to usages (not via bindables) 2020-10-08 18:04:07 +09:00
Bartłomiej Dach
ac44f6f679 Ensure control point group exists after move
If the control point group moved was empty, it would not be created due
to a lack of ControlPointInfo.Add() calls.
2020-10-07 23:10:28 +02:00
Bartłomiej Dach
b1029a124c Move event subscription to LoadComplete
Prevents attempting to read from the `colours` field before it is
actually injected.
2020-10-07 22:57:20 +02:00
Dan Balasescu
f206ea96ce
Merge pull request #10391 from peppy/editor-setup-screen-difficulty-adjust
Add difficulty adjustment settings to editor setup screen
2020-10-07 16:33:10 +09:00
Dean Herbert
a6d1484ad5 Add arbirary precision specification for now 2020-10-07 14:26:01 +09:00
Dan Balasescu
2ef5a34ace
Merge branch 'master' into editor-beatmap-batch-change-support 2020-10-07 14:08:49 +09:00
Dean Herbert
c1a8fe01ef Fix postprocess order in batch events 2020-10-07 11:09:45 +09:00
Dean Herbert
09f5e9c9eb Use batch change application in many places that can benefit from it 2020-10-06 22:10:07 +09:00
Dean Herbert
14c734c244 Add a very simple method of applying batch changes to EditorBeatmap 2020-10-06 22:10:07 +09:00
Dan Balasescu
aae4a74d14
Merge branch 'master' into editor-setup-screen-difficulty-adjust 2020-10-06 20:11:44 +09:00
Dan Balasescu
50872e3839
Merge pull request #10390 from peppy/editor-setup-sections-container
Split editor setup screen up into sections
2020-10-06 20:07:56 +09:00
Dan Balasescu
7d4b495197
Merge pull request #10395 from peppy/editor-timeline-show-repeats
Add repeats display to timeline blueprints
2020-10-06 19:53:50 +09:00
Dean Herbert
461be02e6f Update with underlying changes 2020-10-06 19:34:21 +09:00
Dean Herbert
87d4e86cad Merge branch 'editor-setup-sections-container' into editor-setup-screen-difficulty-adjust 2020-10-06 19:30:32 +09:00
Dan Balasescu
77ccbb087c
Merge pull request #10393 from peppy/fix-editor-backwards-seek
Increase backwards seek magnitude when the track is running
2020-10-06 19:28:28 +09:00
Dean Herbert
06a51297a3 Use content instead of exposing the flow container 2020-10-06 19:26:57 +09:00
Dean Herbert
a2796d2c01 Add repeats display to timeline blueprints 2020-10-06 19:22:35 +09:00
Dan Balasescu
fa65e14455
Merge pull request #10392 from peppy/fix-editor-seek-modifier
Seek at 4x normal speed when holding shift (not 2x)
2020-10-06 19:19:41 +09:00
Dan Balasescu
064d081138
Merge branch 'master' into editor-setup-sections-container 2020-10-06 18:36:11 +09:00
Dan Balasescu
e2d081e3cc
Merge pull request #10388 from peppy/editor-setup-placeholder-text
Add placeholder text/colour when no beatmap background is specified yet
2020-10-06 18:29:01 +09:00
Dean Herbert
b1a64f89d7 Increase backwards seek magnitude when the track is running
This matches osu-stable. When the track is running, seeking backwards
(against the flow) is harder than seeking forwards. Adding a mutliplier
makes it feel much better.

Note that this is additive not multiplicative because for larger seeks
the (where `amount` > 1) we don't want to jump an insanely huge amount -
just offset the seek slightly to account for playing audio.
2020-10-06 17:53:12 +09:00
Dean Herbert
3ce234d552 Seek at 4x normal speed when holding shift
This matches osu-stable 1:1. Not sure if it feels better or not but
let's stick with what people are used to for the time being.
2020-10-06 17:47:25 +09:00
Dean Herbert
7e8ab1cb95 Add description text 2020-10-06 17:36:18 +09:00
Dean Herbert
7a20a34aff Add support to EditorBeatmap to update all hitobjects 2020-10-06 17:36:18 +09:00
Dean Herbert
6d7f12ad4b Add basic difficulty setting sliders 2020-10-06 17:33:50 +09:00
Dean Herbert
13b67b93a5 Add difficulty section 2020-10-06 17:33:50 +09:00
Dean Herbert
505dd37a75 Make SettingsItem conform to IHasCurrentValue 2020-10-06 17:33:50 +09:00
Dean Herbert
98fe5f78ee Split setup screen up into sections (and use a SectionContainer) 2020-10-06 17:29:08 +09:00
Dean Herbert
28756d862b Add placeholder text/colour when no beatmap background is specified yet 2020-10-06 17:21:01 +09:00
Dean Herbert
9d7880afda Make SettingsItem conform to IHasCurrentValue 2020-10-06 17:18:54 +09:00
Dan Balasescu
783a463772
Merge branch 'master' into colourise-control-point-table 2020-10-05 20:47:06 +09:00
Dan Balasescu
54f1bcf2ce
Merge pull request #10313 from peppy/control-point-timeline-representation
Display all control point information on the main editor timeline
2020-10-05 20:46:52 +09:00
Dean Herbert
6bc0afdafb Fix remaining conflicts 2020-10-05 20:09:18 +09:00
Dan Balasescu
051ea7eda9
Merge pull request #10329 from peppy/editor-file-drop-support
Add drag-drop support in editor setup screen for audio and background images
2020-10-05 20:05:41 +09:00
Dan Balasescu
a920342a09
Merge branch 'master' into editor-file-drop-support 2020-10-05 19:28:44 +09:00
Dan Balasescu
2b824787c1
Guard against potential nullref 2020-10-05 19:28:13 +09:00
Dean Herbert
ba55256fb4
Merge branch 'master' into control-point-timeline-representation 2020-10-05 19:24:28 +09:00
Dan Balasescu
6d50a1ed7d
Merge branch 'master' into osu-selection-flip-rotate-buttons 2020-10-05 19:17:33 +09:00
Dan Balasescu
08f7b18dbe
Merge pull request #10294 from peppy/osu-selection-scaling
Add selection scale and rotate support
2020-10-05 19:17:19 +09:00
Dan Balasescu
2df5ea8ba8
Merge branch 'master' into osu-selection-scaling 2020-10-05 18:47:17 +09:00
Dean Herbert
2ed43c14f8
Merge branch 'master' into editor-file-drop-support 2020-10-05 17:48:06 +09:00
Dan Balasescu
16a599850c
Merge branch 'master' into more-timeline-toggles 2020-10-05 17:33:18 +09:00
Dan Balasescu
d3e1da5922
Merge branch 'master' into editor-timing-screen-change-handling 2020-10-05 15:40:43 +09:00
Dean Herbert
9ca0e48acc Change exit logic to be more test-friendly 2020-10-04 23:57:28 +09:00
Dean Herbert
02e4f3ddaf Fix the editor saving new beatmaps even when the user chooses not to 2020-10-04 23:47:16 +09:00
Bartłomiej Dach
a366591d6d
Merge branch 'master' into osu-selection-scaling 2020-10-04 13:28:59 +02:00
Bartłomiej Dach
7957773d58
Merge branch 'master' into more-timeline-toggles 2020-10-04 12:53:10 +02:00
Dan Balasescu
06b55c6aba
Merge pull request #10326 from peppy/editor-less-autoplay-regeneration
Only regenerate autoplay on editor state change
2020-10-03 20:10:29 +09:00
Dean Herbert
dab50bff6f Protect "use current time" button against crash when no timing point is selected 2020-10-03 01:27:42 +09:00
Dean Herbert
0d3a95d8fc Remove unnecessary string interpolation 2020-10-02 19:54:13 +09:00
Dean Herbert
2f15d558a3 Merge branch 'master' into control-point-timeline-representation 2020-10-02 19:53:25 +09:00
Dean Herbert
fcc6cb36e4 Change text colour to black 2020-10-02 18:50:47 +09:00
Dean Herbert
66f5187e6a Remove redundant access permission 2020-10-02 18:20:59 +09:00
Dean Herbert
519c3ac2bd Change SliderWithTextBoxInput to transfer on commit 2020-10-02 17:59:57 +09:00
Dean Herbert
9fc9009dbe Add change handling for sample section 2020-10-02 17:59:47 +09:00
Dean Herbert
08faef694b Add change handling for difficulty section 2020-10-02 17:58:27 +09:00
Dean Herbert
693a4ff474 Add change handling for effects section 2020-10-02 17:58:23 +09:00
Dean Herbert
98fd661b23 Add change handling for timing section 2020-10-02 17:55:47 +09:00
Dean Herbert
c1c5b5da8e Push state change on control point group addition / removal 2020-10-02 17:49:38 +09:00
Dean Herbert
436cc572d3 Expose ChangeHandler.SaveState via interface 2020-10-02 17:37:29 +09:00
Dean Herbert
00eed29527 Don't update time if it hasn't changed 2020-10-02 17:35:41 +09:00
Dean Herbert
fc920a8899 Add change handler logic 2020-10-02 17:32:34 +09:00
Dean Herbert
2a02f8f3f3 Add support for background changing 2020-10-02 16:52:45 +09:00
Dean Herbert
b7aba19441 Add audio file drag-drop support at editor setup screen 2020-10-02 16:31:11 +09:00
Dean Herbert
f3c8cd91f4 Remove unused method 2020-10-02 16:14:27 +09:00
Dean Herbert
0cb3926e1d Add event on EditorChangeHandler state change 2020-10-02 15:44:34 +09:00
Dean Herbert
2698dc513f Add basic textbox error handling 2020-10-02 15:33:33 +09:00
Dean Herbert
959c8730f6 Add settings section from TimingPointGroups on timing screen 2020-10-02 15:30:32 +09:00
Dean Herbert
94996f2cc0
Merge branch 'master' into osu-selection-scaling 2020-10-01 21:09:52 +09:00
Dean Herbert
5ad2944e26 Fix ticks displaying higher than control point info 2020-10-01 19:31:41 +09:00
Dean Herbert
e96e30a19d Move control point colour specifications to common location and use for formatting timing screen table 2020-10-01 19:29:34 +09:00
Dean Herbert
fcccce8b4e Use pink for sample control points to avoid clash with waveform blue 2020-10-01 19:03:17 +09:00
Dean Herbert
589a26a149 Ensure stable display order for control points in the same group 2020-10-01 18:59:35 +09:00
Dean Herbert
b75c202a7e Add sample control point display in timeline 2020-10-01 18:55:34 +09:00
Dean Herbert
0bced34272 Add visualisation of bpm (timing) changes to timeline 2020-10-01 18:55:34 +09:00
Dean Herbert
70931abcb0 Separate out timeline control point display from summary timeline display 2020-10-01 18:55:34 +09:00
Dean Herbert
70d475be1f Fix elements appearing in front of hitobjects 2020-10-01 18:54:59 +09:00
Dean Herbert
00a19b4879 Also add toggle for ticks display 2020-10-01 18:16:49 +09:00
Dean Herbert
b654396a4c Move ticks display to timeline 2020-10-01 18:16:30 +09:00
Dean Herbert
0d03084cdc Move control point display to the base timeline class
We want them to display on all screens with a timeline as they are quite
useful in all cases.
2020-10-01 18:16:12 +09:00
Dean Herbert
60e6cfa45c Avoid recreating child hierarchy when unnecessary 2020-10-01 16:36:03 +09:00
Dean Herbert
1aff263419 Split out classes and simplify construction of buttons 2020-10-01 16:34:34 +09:00
Dean Herbert
db1ad4243e Remove need for ScaleDragHandle class 2020-10-01 16:27:42 +09:00
Dean Herbert
4e6a505a99 Add new icons and tooltips 2020-10-01 16:25:40 +09:00
Dean Herbert
78c5d57074 Add flip event flow and stop passing raw input events to handle methods 2020-10-01 16:25:29 +09:00
Dean Herbert
02f14ab4b0 Rename operation start/end to be more encompassing 2020-10-01 16:24:09 +09:00
Dean Herbert
b1f2bdd579 Add missing xmldoc 2020-10-01 13:47:49 +09:00
Dean Herbert
e0a0902a15 Ensure textbox always reverts to sane state on out-of-range failures 2020-10-01 13:06:24 +09:00
Bartłomiej Dach
10ae93cc2e
Merge branch 'master' into more-textbox-entry 2020-09-30 23:54:00 +02:00
Dan Balasescu
6def54548b
Merge branch 'master' into fix-control-point-bindable-updates 2020-09-30 21:35:36 +09:00
Dan Balasescu
6dab5c2ceb
Merge branch 'master' into fix-editor-silence-on-seek 2020-09-30 21:33:15 +09:00
Dan Balasescu
7eb45990a4
Merge pull request #10302 from peppy/timing-screen-clean-up
Fix timing screen tests and add simple view of control points to timeline
2020-09-30 21:33:07 +09:00
Dan Balasescu
3af7e59103
Merge pull request #10289 from peppy/timeline-ux-improvements
Improve the usability of the editor timeline with combo colour and indices
2020-09-30 20:32:55 +09:00
Dean Herbert
fa742a2ef1 Update to consume framework fixes 2020-09-30 20:28:02 +09:00
Dean Herbert
a11c74d600 Update to consume framework fixes 2020-09-30 20:27:02 +09:00
Dean Herbert
5242f5648d Fix timeline control point display not updating with changes 2020-09-30 18:34:13 +09:00
Dean Herbert
44fc0c6723 Fix default value of bpm being too high 2020-09-30 18:08:55 +09:00
Dean Herbert
bc943dee53 Add textbox entry for speed multiplier and volume 2020-09-30 17:52:12 +09:00
Dean Herbert
3422db1bb2 Use top-left colour for deciding the text colour (gradient was added in some cases) 2020-09-30 17:10:22 +09:00
Dean Herbert
698042268f Show control points in timing screen timeline 2020-09-30 17:00:42 +09:00
Dean Herbert
5b200a8ca4 Change default zoom of timing screen timeline to most zoomed out 2020-09-30 16:39:27 +09:00
Dean Herbert
a40c2ea5ee Simplify control point group binding/update logic 2020-09-30 16:02:22 +09:00
Dean Herbert
59ce9fcab9 Merge branch 'master' into fix-editor-silence-on-seek 2020-09-30 15:35:55 +09:00
Dean Herbert
ae9e884a48 Fix header casing 2020-09-30 15:35:25 +09:00
Dean Herbert
d6c88ecd69 Merge branch 'master' into osu-selection-scaling 2020-09-30 15:09:04 +09:00
Dean Herbert
f1298bed79 Combine scale operations and tidy up scale drag handle construction 2020-09-30 15:08:56 +09:00
Dean Herbert
39b55a85df Move a lot of the implementation to base SelectionHandler 2020-09-30 13:52:57 +09:00
Dean Herbert
f2c26c0927 Move information text underneath the selection box 2020-09-30 13:07:24 +09:00
Dean Herbert
1386c9fe66 Standardise time display formats across the editor 2020-09-30 12:45:43 +09:00
Dean Herbert
a2e2cca396 Add proper change handler support 2020-09-29 20:08:56 +09:00
Dean Herbert
0a10e40ce0 Add scaling support to osu! editor 2020-09-29 20:08:56 +09:00
Dean Herbert
cd794eaa65 Add basic selection box with drag handles 2020-09-29 20:08:56 +09:00
Dean Herbert
6e1ea00443 Don't apply gradient to non-duration objects 2020-09-29 17:34:50 +09:00
Dean Herbert
c47652c97a Add gradient to hide subtractive colour issues
Good thing is looks better than without.
2020-09-29 17:26:54 +09:00
Dean Herbert
8d8d45a0c0 Add combo index display support 2020-09-29 17:26:54 +09:00
Dean Herbert
f16fc29071 Add combo colour display support 2020-09-29 17:26:54 +09:00
Dean Herbert
53b3d23842 Expose HitObjectComposer for other components in the Compose csreen to use 2020-09-29 17:26:54 +09:00
Dean Herbert
d6f3beffb6 Use existing bindable flow instead 2020-09-29 12:50:17 +09:00
Dean Herbert
585b857a0c Handle paused state correctly 2020-09-29 12:17:38 +09:00
Dean Herbert
4f0c0ea5f9 Fix hit samples playing while paused / seeking in the editor 2020-09-28 18:17:47 +09:00
Dan Balasescu
2f5a2d3bba
Merge pull request #10277 from peppy/editor-implicit-autoplay
Add autoplay support to editor
2020-09-28 17:41:26 +09:00
Dan Balasescu
89c8fca3fa
Merge pull request #10270 from peppy/editor-fix-noop-states-saving
Avoid saving state changes if nothing has changed (via binary comparison)
2020-09-28 17:03:50 +09:00
Dan Balasescu
06ab33645e
Merge branch 'master' into editor-implicit-autoplay 2020-09-28 16:43:08 +09:00
Dan Balasescu
5cceb3c724
Merge pull request #10273 from peppy/editor-fix-missing-update-after-drag
Trigger a hitobject update after blueprint drag ends
2020-09-28 16:34:23 +09:00
Dean Herbert
7949eabaac Remove left-over using 2020-09-28 15:49:45 +09:00
Dean Herbert
d9ac5866b6 Merge branch 'editor-default-hit-sample' into editor-implicit-autoplay 2020-09-28 15:48:37 +09:00
Dean Herbert
a4e9c85333 Trigger a hitobject update after blueprint drag ends 2020-09-28 15:37:06 +09:00
Dean Herbert
0ae2266b82 Fix new placement hitobjects in the editor not getting the default sample added 2020-09-28 15:36:13 +09:00
Dean Herbert
1aa8b400d4 Avoid unnecessary object updates from SelectionHandlers 2020-09-28 15:33:49 +09:00
Dean Herbert
3cf430f494 Avoid saving state changes if nothing has changed (via binary comparison) 2020-09-28 15:30:51 +09:00
Dan Balasescu
2280568d27
Merge pull request #10245 from peppy/editor-sample-addition-buttons
Add sample toggle buttons to toolbox
2020-09-25 20:09:10 +09:00
Dan Balasescu
93a137ed84
Merge pull request #10234 from peppy/editor-load-audio
Add audio track selection to editor setup screen
2020-09-25 19:58:23 +09:00
Dan Balasescu
cc41b4bb9e
Merge branch 'master' into editor-sample-addition-buttons 2020-09-25 19:39:12 +09:00
Dean Herbert
204024c76e Merge branch 'master' into editor-load-audio 2020-09-25 18:32:51 +09:00
Dean Herbert
8e6bf516d9
Merge branch 'master' into editor-ternary-buttons 2020-09-25 18:30:59 +09:00
Dean Herbert
dbfa05d3b3 Fix placement object not getting updated with initial state 2020-09-25 18:00:17 +09:00
Dean Herbert
b561429f92 Add toolbar toggle buttons for hit samples 2020-09-25 17:53:41 +09:00
Dean Herbert
346d14d40b Rename variables to match 2020-09-25 17:45:19 +09:00
Dean Herbert
22511c36c3 Ensure toggles are not instantiated more than once for safety 2020-09-25 17:43:09 +09:00
Dean Herbert
51cc644b7b
Fix set access to SelectionHandler
Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
2020-09-25 17:42:49 +09:00
Dean Herbert
b8e9f19b92 Move common HitSampleInfo lookup to static method 2020-09-25 17:30:31 +09:00
Dean Herbert
98c6027352 Remove unused using 2020-09-25 17:07:58 +09:00
Dean Herbert
ae68dcd962 Add ternary toggle buttons to editor toolbox selection 2020-09-25 16:38:12 +09:00
Dean Herbert
0f8551e9ea Merge branch 'editor-ternary-states' into new-combo-toggle 2020-09-25 15:36:33 +09:00
Dean Herbert
a859fe78ee Expose update ternary state method and use better state determination function 2020-09-25 15:32:36 +09:00
Dean Herbert
50290f3cb4 Rework ternary states to fix context menus not updating after already displayed 2020-09-25 15:10:13 +09:00
Dan Balasescu
e828cf1607
Merge branch 'master' into editor-load-audio 2020-09-25 14:49:54 +09:00
Dean Herbert
a6adf8334e Use existing method to update combo state of selection 2020-09-25 14:19:35 +09:00
Dean Herbert
e009264f10 Add new combo toggle to main composer interface 2020-09-25 14:10:30 +09:00
Dan Balasescu
952e84396a
Merge branch 'master' into editor-object-object-snapping 2020-09-25 13:17:30 +09:00
Dean Herbert
ea971ecb90 Remove local file handling from SetupScreen 2020-09-25 13:16:30 +09:00
Dean Herbert
f047ff10bf Remove local specification for file selector search path 2020-09-25 12:30:05 +09:00
Dean Herbert
b1e72c311e Add null check because we can 2020-09-25 12:28:41 +09:00
Dean Herbert
a17eac3692 Rename reload method to not mention beatmap unnecessarily 2020-09-25 12:27:08 +09:00
Dean Herbert
44a6637c36 Use SingleOrDefault 2020-09-25 12:20:37 +09:00
Dean Herbert
b9196718b7 Merge branch 'master' into editor-object-object-snapping 2020-09-25 12:15:10 +09:00
Dean Herbert
011b176244 Add test coverage of audio track changing 2020-09-24 22:00:13 +09:00
Dean Herbert
cc9ae32811 Fix summary timeline not updating to new track length correctly 2020-09-24 21:05:29 +09:00
Dean Herbert
833ff1c1d7 Fix test failures due to editor dependency 2020-09-24 20:56:35 +09:00
Dean Herbert
7e7e2fd64a Use bindable for track to fix rate adjustments not applying correctly 2020-09-24 20:56:35 +09:00
Dean Herbert
978f6edf38 Add basic track reloading support while inside the editor 2020-09-24 20:56:35 +09:00
Dean Herbert
65e6dd2ac3 Remove the previous audio file before adding a new one 2020-09-24 20:56:35 +09:00
Dean Herbert
4d714866cd Add ability to actually import a new audio file to the beatmap / database 2020-09-24 20:56:35 +09:00
Dean Herbert
4b9581bca0 Add audio selection to song setup screen 2020-09-24 20:56:35 +09:00
Dean Herbert
158d307126 Avoid destroying editor screens when changing between modes 2020-09-24 17:03:54 +09:00
Dean Herbert
44be0ab762 Add basic osu! object to object snapping 2020-09-24 16:24:35 +09:00
Dean Herbert
9c074e0ffb Fix editor not showing sign when time goes negative 2020-09-24 13:10:54 +09:00
Dean Herbert
ccb3ef5020 Merge branch 'new-combo-editor-toggle' into fix-taiko-change-handling 2020-09-23 17:08:27 +09:00
Dean Herbert
02201d0ec6 Fix incorrect cast logic 2020-09-23 17:08:25 +09:00
Dean Herbert
487fc2a2c6 Add missing change handler scopings to taiko context menu operations 2020-09-23 16:58:22 +09:00
Dean Herbert
2d67faeb72 Add xmldoc 2020-09-23 16:40:56 +09:00
Dean Herbert
a1ec167982 Add the ability to toggle new combo state from composer context menu 2020-09-23 16:38:16 +09:00
Dean Herbert
c38cd50723 Fix editor not using beatmap combo colours initially on load 2020-09-23 13:16:50 +09:00
Dean Herbert
3062fe4411 Add editor key bindings to switch between screens 2020-09-22 15:55:25 +09:00
Dean Herbert
1fcf443314 Ensure BeatmapProcessor.PostProcess is run before firing HitObjectUpdated events 2020-09-18 19:33:03 +09:00
Dean Herbert
daf54c7eb9 Revert EditorBeatmap.Remove API 2020-09-14 17:55:41 +09:00
Dean Herbert
62c55165d4 Merge branch 'editor-fix-multiple-selection' into editor-clipboard 2020-09-14 15:47:20 +09:00
Dean Herbert
b7a06524fb Update comment to make more sense 2020-09-14 15:47:10 +09:00
Dean Herbert
75e4f224e5 Add back accidentally removed remove 2020-09-14 15:47:04 +09:00
Dean Herbert
692f2c8489 Simplify debounced update pathway 2020-09-14 14:58:00 +09:00
Dean Herbert
320e314356 Use minimum start time to handle SelectedHitObjects not being sorted 2020-09-13 22:53:30 +09:00
Dean Herbert
c573392bb2 Remove completed todo 2020-09-13 22:31:59 +09:00
Dean Herbert
1a9f0ac16a Select new objects 2020-09-12 21:23:12 +09:00
Dean Herbert
3854caae9b Remove secondary schedule logic 2020-09-12 21:23:12 +09:00
Dean Herbert
81f30cd264 Select blueprint if object is already selected at the point of adding 2020-09-12 21:23:11 +09:00
Dean Herbert
2d9b0acabe Fix empty selection via keyboard shortcuts crashing 2020-09-12 21:23:10 +09:00
Dean Herbert
001cd1194c Consume BindCollectionChanged 2020-09-11 22:53:03 +09:00
Dean Herbert
94d929d8cd Remove unnecessary contains checks 2020-09-11 22:03:19 +09:00
Dean Herbert
08be45c9e7 Merge branch 'master' into editor-clipboard 2020-09-11 20:35:05 +09:00
Dean Herbert
97b995246a Merge branch 'editor-fix-multiple-selection' into editor-clipboard 2020-09-11 20:34:58 +09:00
Dean Herbert
22e6df02b6 Fix editor selected hitobjects containing the selection up to five times 2020-09-11 20:27:07 +09:00
Dean Herbert
2858296c25 Avoid editor confirm-save dialog looping infinitely when using keyboard shortcut to exit
Will now exit without saving if the keyboard shortcut is activated twice
in a row, as expected.

Closes #10136.
2020-09-11 19:58:37 +09:00
Dean Herbert
de3d8e83e1 Add keyboard shortcuts 2020-09-11 19:55:41 +09:00
Dean Herbert
7d7401123c Add initial implementation of editor clipboard 2020-09-11 19:54:20 +09:00
Dean Herbert
8e028dd88f Fix incorrect ordering of ApplyDefaults for newly added objects 2020-09-11 19:54:11 +09:00
Dan Balasescu
75ebfe41e0
Merge pull request #10102 from peppy/editor-prompt-for-save
Prompt to save changes when exiting the editor
2020-09-09 23:56:41 +09:00
Dean Herbert
1803ecad80 Add cancel exit button 2020-09-09 20:04:25 +09:00
Dean Herbert
c6e72dabd3 Add test coverage 2020-09-09 20:04:25 +09:00
Dean Herbert
327179a81e Expose unsaved changes state 2020-09-09 19:42:03 +09:00
Dean Herbert
6f067ff300 Only show confirmation if changes have been made since last save 2020-09-09 19:40:41 +09:00
Dean Herbert
ac0c4fcb8c Add prompt to save beatmap on exiting editor 2020-09-09 19:31:19 +09:00
Dean Herbert
c9f5005efd Add icons for editor toolbox tools 2020-09-09 18:40:01 +09:00
Dan Balasescu
53496aab33
Merge pull request #10090 from peppy/editor-song-setup
Add basic metadata info editing support to editor
2020-09-08 22:26:20 +09:00
Dan Balasescu
69f482f2cf
Merge pull request #10089 from peppy/fix-editor-multiple-screens
Avoid multiple editor screens potentially loading on top of each other
2020-09-08 21:26:10 +09:00
Dean Herbert
c38e7d796a Fix tab key not working 2020-09-08 19:52:56 +09:00
Dean Herbert
b55b6e3746 Bring design somewhat in line with collections dialog 2020-09-08 19:52:56 +09:00
Dean Herbert
c8281b17bd Remove editor screen fade (looks bad) 2020-09-08 19:52:56 +09:00
Dean Herbert
fe31edfa26 Add rudimentary saving logic 2020-09-08 19:52:56 +09:00
Dean Herbert
f43f8cf6b9 Add basic setup for song select screen 2020-09-08 19:52:56 +09:00
Dean Herbert
a501df954b Avoid multiple editor screens potentially loading on top of each other 2020-09-08 19:52:05 +09:00
Dean Herbert
c3123bf117 Rename drag blueprint selection method for discoverability 2020-09-08 17:22:59 +09:00
Dean Herbert
9e559cb9ac
Merge branch 'master' into editor-new-beatmap 2020-09-08 02:58:38 +09:00
Dean Herbert
1468b9589f Increase max sane BPM value 2020-09-07 18:20:47 +09:00
Dean Herbert
98676af7bb Move default declarations for readability 2020-09-07 18:18:50 +09:00
Dean Herbert
86512d6e8d Add BPM entry textbox 2020-09-07 18:18:50 +09:00
Dean Herbert
6091714f15 Limit BPM entry via slider to a sane range 2020-09-07 18:18:50 +09:00
smoogipoo
9ab6d584d3 Merge branch 'master' into editor-new-beatmap 2020-09-07 14:30:41 +09:00
Dan Balasescu
e17ccdfe9f
Merge branch 'master' into combo-colors 2020-09-07 13:55:41 +09:00
Yao Chung Hu
96f39dd350 Merge remote-tracking branch 'upstream/master' into visible-playfield-boundary 2020-09-05 01:50:13 -05:00
Dean Herbert
fba253f131 Take user argument in CreateNew method parameters 2020-09-04 13:17:43 +09:00
Dean Herbert
1f2f21e07a Merge branch 'master' into editor-new-beatmap 2020-09-04 13:11:59 +09:00
Dean Herbert
fe524ec491 Merge branch 'master' into update-framework 2020-09-03 14:58:32 +09:00
Dean Herbert
d849f7f2b5 Use the local user's username when saving a new beatmap 2020-09-03 13:20:23 +09:00
Dean Herbert
e032844570 Start with a fresh beatmap when entering editor from main menu 2020-09-03 13:20:23 +09:00
Dean Herbert
c964e4036e Merge branch 'master' into update-framework 2020-09-02 15:49:19 +09:00
Dean Herbert
249ae5df1b
Merge branch 'master' into beatmap-track-rework 2020-09-02 15:24:46 +09:00
Craftplacer
c2ade44656 Change types back 2020-09-01 17:58:06 +02:00
Craftplacer
9835d98942 Merge remote-tracking branch 'upstream/master' into combo-colors 2020-09-01 17:39:35 +02:00
Dan Balasescu
f08e7828da
Merge branch 'master' into beatmap-track-rework 2020-09-01 16:06:38 +09:00
Dean Herbert
d1f79a6a48 Fix potentially incorrect zoom level getting set on very short audio
track
2020-09-01 15:41:36 +09:00
Dean Herbert
d45a1521a1 Update BindableList usages 2020-09-01 11:56:23 +09:00
Dean Herbert
bee01bdd38 Fix first scroll wheel in editor incorrectly advancing twice 2020-08-31 18:01:16 +09:00
Craftplacer
db413686bb Add BeatmapSkin to EditorBeatmap 2020-08-30 21:12:45 +02:00
Craftplacer
b39ec74bb8 Scope down to IBeatmapSkin in EditorChangeHandler 2020-08-30 16:07:06 +02:00
Craftplacer
f5c82d41eb Remove if-cast 2020-08-30 16:06:48 +02:00
Craftplacer
00b68b050c Merge remote-tracking branch 'upstream/master' into combo-colors 2020-08-30 10:16:38 +02:00
Dean Herbert
f65991f31f Revert some usages based on review feedback 2020-08-26 23:28:58 +09:00
Craftplacer
e6646b9877 Resolve review comments 2020-08-23 15:08:02 +02:00
Dean Herbert
122265ff0e Revert non-track usage 2020-08-22 19:47:08 +09:00
Dean Herbert
70697cf1a0 Restore remaining editor components to use Beatmap.Track 2020-08-21 17:11:29 +09:00
Dean Herbert
0b0ff62647 Switch timeline to use track directly from beatmap again 2020-08-21 14:49:34 +09:00
Dean Herbert
5ade1e8259
Merge branch 'master' into beatmap-track-rework 2020-08-18 13:03:49 +09:00
Dean Herbert
b969bc03e0 Add loading spinner while editor screen loads 2020-08-18 00:47:32 +09:00
Dean Herbert
d9debef156 Add explicit LoadTrack method 2020-08-17 15:38:16 +09:00
Craftplacer
cfd82104db Minor changes and improvements 2020-08-16 01:00:28 +02:00
Craftplacer
48bdbb0cfb Use existing field in Editor 2020-08-15 23:46:10 +02:00
Craftplacer
c4a7fac760 Add required parameters and other various changes 2020-08-15 22:03:24 +02:00
Craftplacer
69590113d6 Temporary changes 2020-08-12 06:40:21 +02:00
smoogipoo
070d71ec27 More cleanups 2020-08-12 00:48:38 +09:00
smoogipoo
e87f50f74f Rename method 2020-08-07 22:31:41 +09:00
smoogipoo
b08ebe6f81 More inspections (rider is broken) 2020-08-07 21:14:45 +09:00
smoogipoo
961c6dab54 Fix more inspections 2020-08-07 21:08:03 +09:00
smoogipoo
5002d69f69 Update inspections 2020-08-07 20:51:56 +09:00
smoogipoo
61b632516e Ensure CurrentTrack is never null 2020-08-07 19:43:16 +09:00
smoogipoo
c8ebbc8594 Remove MusicController from EditorClock 2020-08-06 18:19:55 +09:00
smoogipoo
5c05fe3988 Expose track from MusicController 2020-08-06 16:24:14 +09:00
smoogipoo
6e42b8219c Move track to MusicController, compiles 2020-08-06 16:24:14 +09:00
Dan Balasescu
288c0402ee
Merge branch 'master' into editor-show-selected-count 2020-07-17 18:00:35 +09:00
Dan Balasescu
96c12bdf61
Merge pull request #9591 from peppy/editor-fix-double-click
Fix editor double-click incorrectly firing when clicks target different hitobjects
2020-07-17 17:58:15 +09:00
Dean Herbert
b4b230288b Shift hue of selection handler box to not collide with blueprints 2020-07-17 17:51:39 +09:00
Dean Herbert
ea6f257dc2 Add a display of count of selected objects in editor 2020-07-17 17:48:27 +09:00
Dean Herbert
222a22182e Fix double-click incorrectly firing across disparate targets 2020-07-17 17:03:57 +09:00
Dean Herbert
039790ce4f Perform next timing point check before ensuring movement 2020-07-17 16:40:02 +09:00
Dean Herbert
e96e558728 Fix reversing scroll direction not always behaving as expected 2020-07-17 16:03:23 +09:00
Yao Chung Hu
0d95b768aa Rename and Move EditorPlayfieldBorder to PlayfieldBorder for general purpose 2020-07-10 07:34:48 -05:00
Dan Balasescu
fd9ac3503f
Merge branch 'master' into fix-editor-drag-selection-while-playing 2020-06-23 21:56:31 +09:00
smoogipoo
e7238e25f9 Fix exception when dragging after deleting object 2020-06-23 20:36:09 +09:00
Dean Herbert
a5eac716ec Make work for all editors based on track running state 2020-06-23 18:42:56 +09:00
Dean Herbert
53d542546e Fix editor drag selection not continuing to select unless the mouse is moved 2020-06-23 18:04:50 +09:00
Dean Herbert
abe07b742e Fix drag scroll in editor timeline no longer working correctly 2020-06-14 13:20:58 +09:00
smoogipoo
f3b5149648 Move some suggestions to warnings, resolve issues 2020-06-03 16:48:44 +09:00
Dean Herbert
dd7dbfd548 Rename to IHasDuration 2020-05-29 16:45:47 +09:00
Dean Herbert
534dccc0c3 Move sett from EndTime to Duration 2020-05-29 16:45:47 +09:00
Dean Herbert
a2eec5d963 Fix strong bindable changes for DrumRolls 2020-05-29 16:45:47 +09:00
Dean Herbert
9a060cfb3a Allow drag selections to occur from outside the playfield 2020-05-27 20:44:15 +09:00
Dean Herbert
7e1e26de2a Allow HandleMovement by default 2020-05-26 17:04:31 +09:00
Dean Herbert
d041de63ce Allow SelectionHandler to provide custom context menu items without local hover check 2020-05-26 13:53:09 +09:00
Dean Herbert
decdc58de5 Merge branch 'editor-clock-cache' into editor-clock-transform 2020-05-24 12:55:47 +09:00
Dean Herbert
a3a9810344 Merge branch 'master' into editor-clock-cache 2020-05-23 00:44:04 +09:00
Dean Herbert
12d65f305f Simplify and fix incorrect seeking 2020-05-22 22:11:55 +09:00
Dean Herbert
1486a44b55 Merge branch 'editor-clock-cache' into editor-clock-transform 2020-05-22 19:51:02 +09:00
Dean Herbert
8b79e14225 Fix remaining test regressions 2020-05-22 19:49:49 +09:00
Dean Herbert
5ea33f4c04 Fix incorrect rounding in DragBar 2020-05-22 19:23:07 +09:00
Dean Herbert
866db629d6 Fix remaining test failures 2020-05-22 18:23:24 +09:00
Dean Herbert
d18eb663b1 Add tweening seek support to EditorClock 2020-05-22 16:47:52 +09:00
Dean Herbert
dd09d7830d Cache and resolve editor clock as EditorClock in all cases 2020-05-22 16:44:06 +09:00
Dean Herbert
8a47e2431b Move distance snap grid implementation to OsuHitObjectComposer 2020-05-21 17:13:22 +09:00
Dean Herbert
82d6549161 Pass down snap result and remove local TimeAt usage 2020-05-20 21:01:29 +09:00
Dean Herbert
23bf0d000e Implement mania beat snapping support 2020-05-20 21:01:19 +09:00
Dean Herbert
ffb8d48fc3 Fix osu!mania editor placement regressions 2020-05-20 21:01:03 +09:00
Dean Herbert
c46bfc2532 Create SnapResult class to hold various snapping results 2020-05-20 21:00:47 +09:00
Dean Herbert
3354d48a38 Change snapping to be screen space coordinate based 2020-05-20 21:00:29 +09:00
smoogipoo
dcfef6b443 Add clear method to EditorBeatmap 2020-05-08 18:46:37 +09:00
Dean Herbert
d470e092a3
Merge branch 'master' into fix-overlapping-object-undoredo 2020-05-01 10:45:29 +09:00
smoogipoo
c96bc5c51c Fix undo/redo behaving poorly with simultaneous objects 2020-04-30 20:39:41 +09:00
smoogipoo
9bec42bc7e Fix mania crashing on undo/redo 2020-04-30 20:03:46 +09:00
smoogipoo
cebc0fc046 Attempt to fix multiple selection movements 2020-04-27 20:35:24 +09:00
smoogipoo
7f5a1d7f44 Merge branch 'master' into fix-mania-selection 2020-04-27 17:09:40 +09:00
smoogipoo
104c61d622 Remove unnecessary scale 2020-04-27 11:06:23 +09:00
Dean Herbert
48168dddce Adjust editor timeline current marker to promote tick visibility 2020-04-27 10:54:32 +09:00
Dean Herbert
1c13fa6c61 Fix editor crashing when entering with no beatmap selected 2020-04-24 10:27:32 +09:00
smoogipoo
4ebb28d3e7 wip 2020-04-23 17:52:54 +09:00
smoogipoo
e1142b424d Fix test failures 2020-04-22 18:14:21 +09:00
smoogipoo
9c22d2f1dd Use platform bindings for editor actions 2020-04-22 17:41:24 +09:00
smoogipoo
9e2be6f2f4 Remove bindable to promote one-way access 2020-04-16 13:25:08 +09:00
smoogipoo
ce21cfbb03 Use bindables in menu items 2020-04-15 16:17:34 +09:00
smoogipoo
e8c955ed9b Add CanUndo/CanRedo bindables 2020-04-15 16:17:17 +09:00
Dean Herbert
2388799acf Limit upper number of editor beatmap states saved to 50 2020-04-13 20:37:46 +09:00
Dean Herbert
0e88c28060 Merge branch 'editor-undo-redo' into more-change-state-support 2020-04-13 18:07:00 +09:00
Dean Herbert
6aab19413c Rename differ to patcher, add xmldoc 2020-04-13 17:20:20 +09:00
Dean Herbert
bb53f96c71 Store states as byte[] instead of Streams 2020-04-13 17:18:50 +09:00
Dean Herbert
0c60dbe796
Merge branch 'master' into editor-undo-redo 2020-04-13 16:03:53 +09:00
smoogipoo
4a87ac7840 Add support for sample changes 2020-04-10 13:53:09 +09:00
smoogipoo
ee7e2b0854 Fix editor beatmap potentially not updating hitobjects 2020-04-10 13:29:46 +09:00
smoogipoo
575b061dd7 Add change state support to more editor components 2020-04-09 22:02:42 +09:00
smoogipoo
2e33d38cd7 Merge branch 'master' into editor-undo-redo 2020-04-09 22:02:28 +09:00
Dean Herbert
cc0bcea6e5
Merge pull request #8693 from smoogipoo/editorbeatmap-update-cleanup
Cleanup handling of hitobject updates
2020-04-09 21:32:58 +09:00
smoogipoo
14eca3655b Add change state handling to the editor 2020-04-09 21:22:07 +09:00
smoogipoo
86243d463f Add legacy beatmap diffing 2020-04-09 20:48:59 +09:00
smoogipoo
683302a77d Fix crash when trying to edit long beatmaps 2020-04-09 20:25:26 +09:00
smoogipoo
ee6ea08cf8 Cleanup handling of hitobject updates 2020-04-09 20:16:44 +09:00
smoogipoo
1f797207f7 Rework lookups to not require total playfield columns 2020-04-03 12:31:05 +09:00
Dean Herbert
aabcc78162
Merge branch 'master' into editor-song-end 2020-03-25 13:19:21 +09:00