1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-20 01:32:56 +08:00
Commit Graph

2896 Commits

Author SHA1 Message Date
Dean Herbert
ea50936d71 Fix slider ticks playing back at infinite rate while making changes to a slider in the editor 2022-08-16 15:27:58 +09:00
its5Q
e870ac6456 Fix code quality for CI 2022-08-16 15:51:54 +10:00
its5Q
797a8da996 Replace osu-web strings with new strings and merge to single file 2022-08-16 01:14:16 +10:00
Bartłomiej Dach
05ddfe7522
Merge branch 'master' into editor-setup-no-state-change 2022-08-14 18:21:31 +02:00
its5Q
2499b7f0cd Add localisation support for beatmap editor setup 2022-08-11 03:53:20 +10:00
Dean Herbert
ac99c1ad69 Migrate the majority of existing file lookups to use new extension methods 2022-08-10 16:01:16 +09:00
Dan Balasescu
c4b9b2a14b Merge branch 'master' into irenderer-glwrapper 2022-08-05 20:35:06 +09:00
Dean Herbert
de186f67e0 Limit metadata updates to once per frame 2022-08-02 22:02:30 +09:00
Dan Balasescu
b4e55f7309 Apply IRenderer changes 2022-08-02 19:50:57 +09:00
Dean Herbert
cc4cde2c79 Improve IBeatSyncProvider interface and reduce beatmap track dependence 2022-08-02 17:59:18 +09:00
Dean Herbert
efa3c3b757 Fix multiple cases of mutations at editor setup screen not triggering a state save 2022-08-02 16:47:37 +09:00
Dean Herbert
6e7c298aaf Fix changes to audio / background not triggering an editor state change 2022-08-01 16:53:49 +09:00
Dean Herbert
2f60f91a0e Fix editor potentially using a track post-disposal
This changes the editor to track the current track as it is *loaded* by
`MusicController`, rather than haphazardly following the current global
`WorkingBeatmap` (with a potentially unloaded track) or relying on local
immediate-load behaviour (as implemented in `ResourcesSection`).
2022-08-01 16:53:49 +09:00
Dean Herbert
acf9ad1429 Apply nullability to EffectPointVisualisation 2022-07-29 23:26:38 +09:00
Dean Herbert
8f1e3b0154 Fix editor summary timeline not responding to kiai changes correctly 2022-07-29 19:31:49 +09:00
Micahel Kelly
dd315ff97b Adds hard-delete for a beatmap diff 2022-07-27 21:21:16 +10:00
Micahel Kelly
3febd6d644 Dialogue touchups 2022-07-27 19:23:55 +10:00
Micahel Kelly
e6fad601cc Adds delete difficulty option to editor 2022-07-27 19:15:43 +10:00
Dan Balasescu
1b2158ff04 Remove unused method 2022-07-26 14:15:59 +09:00
Salman Ahmed
48bcf57066 Mark SetupZoom and parameterless ZoomableScrollContainer ctor as protected 2022-07-25 12:07:50 +03:00
Salman Ahmed
07c6b44864 Fix Timeline attempting to setup zoom with unloaded track 2022-07-25 12:07:50 +03:00
Salman Ahmed
123930306b Refactor ZoomableScrollContainer to allow setting up zoom range and initial zoom after load 2022-07-25 12:07:50 +03:00
Dan Balasescu
e1df50c8ff Fix timeline zoom focus point when using buttons 2022-07-22 17:03:05 +09:00
Dean Herbert
72916d708c
Merge pull request #19294 from peppy/fix-timeline-feedback-loop
Fix timeline `alt`+`scroll` zoom not correctly zooming to current mouse position
2022-07-22 16:05:38 +09:00
Dean Herbert
1774a96455
Merge pull request #19278 from Cwazywierdo/timeline-relative-zoom
Make editor timeline zoom relative to song length
2022-07-22 15:37:47 +09:00
Dean Herbert
6eb42d08ce Fix timeline zoom receiving feedback from bindable changes
This causes the focal point zooming to not work (as the focal point is
lost). There's no need to handle ongoing changes to
`BeatmapInfo.TimelineZoom` because it is not a property which is changed
at runtime.
2022-07-22 15:25:57 +09:00
Dean Herbert
4cec9a085a Combine both calls to use same pathway 2022-07-22 14:59:20 +09:00
Dean Herbert
f713253d1b Fix formatting inconsistencies in empty ctors 2022-07-22 14:00:29 +09:00
LukynkaCZE
ed94d7fce8 Fix requested changes 2022-07-22 02:46:17 +02:00
Adam Baker
997fe00cdc Fix zoom delta math 2022-07-21 17:29:13 -05:00
Adam Baker
d69dc457ba Extract zoom delta method 2022-07-21 17:28:43 -05:00
Adam Baker
a4f071fe53 Make zoom sensitivity relative to containers max zoom 2022-07-21 08:26:48 -05:00
LukynkaCZE
5987acfbca Fixed code formatting 2022-07-19 22:59:25 +02:00
LukynkaCZE
a00da279b7 Beatmap Editor Save Toast 2022-07-19 21:38:23 +02:00
Dean Herbert
7ac04d0478 Fix potential crash when exiting editor test mode 2022-07-14 01:00:18 +09:00
Dean Herbert
952d97c66e Update comment regarding LoadTrack safety 2022-07-13 19:02:22 +09:00
Joseph Madamba
834bb1f187 Fix editor playing object samples while paused after cancelling exit 2022-07-09 12:14:39 -07:00
Dean Herbert
98938821e5 Merge branch 'master' into beatmap-update-flow 2022-06-30 16:44:17 +09:00
Dean Herbert
569fde4b47 Add messages to all InvalidOperationExceptions
Without this, they can be very non-descript and hard to track down
2022-06-28 01:34:25 +09:00
Dean Herbert
0ba29b6fa6 Use currentScreen instead to make sure the screen we care about is loaded 2022-06-27 18:28:00 +09:00
Dean Herbert
5a7d339cc8 Centralise and harden editor-ready-for-use check
Not only does this combine the check into one location, but it also adds
a check on the global `WorkingBeatmap` being updated, which is the only
way I can see the following failure happening:

```csharp
05:19:07     osu.Game.Tests: osu.Game.Tests.Visual.Editing.TestSceneEditorBeatmapCreation.TestAddAudioTrack
05:19:07       Failed TestAddAudioTrack [161 ms]
05:19:07       Error Message:
05:19:07        TearDown : System.NullReferenceException : Object reference not set to an instance of an object.
05:19:07       Stack Trace:
05:19:07       --TearDown
05:19:07        at osu.Game.Database.ModelManager`1.<>c__DisplayClass7_0.<AddFile>b__0(TModel managed) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Database\ModelManager.cs:line 36
05:19:07        at osu.Game.Database.ModelManager`1.<>c__DisplayClass8_0.<performFileOperation>b__0(Realm realm) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Database\ModelManager.cs:line 49
05:19:07        at osu.Game.Database.RealmExtensions.Write(Realm realm, Action`1 function) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Database\RealmExtensions.cs:line 14
05:19:07        at osu.Game.Database.ModelManager`1.performFileOperation(TModel item, Action`1 operation) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Database\ModelManager.cs:line 46
05:19:07        at osu.Game.Database.ModelManager`1.AddFile(TModel item, Stream contents, String filename) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Database\ModelManager.cs:line 36
05:19:07        at osu.Game.Screens.Edit.Setup.ResourcesSection.ChangeAudioTrack(FileInfo source) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Screens\Edit\Setup\ResourcesSection.cs:line 115
05:19:07        at osu.Game.Tests.Visual.Editing.TestSceneEditorBeatmapCreation.<TestAddAudioTrack>b__13_0() in C:\BuildAgent\work\ecd860037212ac52\osu.Game.Tests\Visual\Editing\TestSceneEditorBeatmapCreation.cs:line 101
05:19:07        at osu.Framework.Testing.Drawables.Steps.AssertButton.checkAssert()
05:19:07        at osu.Framework.Testing.Drawables.Steps.StepButton.PerformStep(Boolean userTriggered)
05:19:07        at osu.Framework.Testing.TestScene.runNextStep(Action onCompletion, Action`1 onError, Func`2 stopCondition)
```
2022-06-27 16:22:01 +09:00
Dean Herbert
31a447fda0 Update parameter discards 2022-06-24 21:26:19 +09:00
Dean Herbert
7692bac35a Simplify refetch (and ensure to invalidate after processing) 2022-06-24 21:02:38 +09:00
Dean Herbert
f71f6302fd Remove unnecessary null casts 2022-06-24 14:50:11 +09:00
Dean Herbert
ef258122d2 Move GetDifficultyRating helper method to StarDifficulty 2022-06-23 19:51:58 +09:00
Dean Herbert
97fcf8cec9
Merge pull request #18668 from smoogipoo/editor-controlpoint-undo-redo 2022-06-23 04:02:24 +09:00
Jamie Taylor
950551f4fd
Fix metronome arm being stuck white when paused 'close enough' to center 2022-06-22 15:33:42 +09:00
Dean Herbert
b7b7de115f
Merge pull request #18744 from nekodex/new-metronome-sfx
New audio feedback for metronome
2022-06-21 17:16:41 +09:00
Dean Herbert
7d988da2c7
Merge pull request #18788 from peppy/editor-seek-constant-while-playing
Change editor seek-while-playing modifier to be BPM agnostic
2022-06-21 15:28:46 +09:00
Dean Herbert
a40ad6f784 Add slight transform when resetting arm from almost-zero 2022-06-21 15:07:35 +09:00
Dean Herbert
82c4d855d4 Rename sample variable to be easier to discern from other fields 2022-06-21 15:05:17 +09:00
Dean Herbert
16a9e18815 Adjust timing of latch to be more in sync with visuals 2022-06-21 15:02:53 +09:00
Dean Herbert
7b46d38318 Move colour fade back to where it was 2022-06-21 15:02:43 +09:00
Dean Herbert
3b79c632f5 Merge branch 'master' into new-metronome-sfx 2022-06-21 14:58:58 +09:00
Dean Herbert
42701757c3 Fix latch reset logic 2022-06-21 14:52:57 +09:00
Dean Herbert
72c0fc3fec
Merge pull request #18753 from frenzibyte/prevent-mistimed-metronome-beats
Fix metronome playing mistimed beat sounds on editor clock resume
2022-06-21 13:48:42 +09:00
Dean Herbert
c61e90d768 Change editor seek-while-playing modifier to be BPM agnostic 2022-06-21 13:07:50 +09:00
Dan Balasescu
046b848bcd Split group selection to separate method 2022-06-21 12:53:06 +09:00
Dan Balasescu
93ce6fc981 Remove redundant diff processing 2022-06-21 12:11:44 +09:00
Dan Balasescu
9763a58392 Change to use ReferenceEquals 2022-06-21 12:05:52 +09:00
Dan Balasescu
e0c82d11ab Convert == usages to ReferenceEquals 2022-06-20 16:56:19 +09:00
Dan Balasescu
ca287d0936 Fix group deselected when table is recreated 2022-06-20 16:56:19 +09:00
Dan Balasescu
a922ea9b01 Fix selection by directly comparing control points
Previously, all control points would get replaced, which led to
performance issues that was worked around in this PR. By comparing
control points, we're able to get good performance without requiring the
workaround.
2022-06-20 15:29:29 +09:00
Dan Balasescu
468e5fcbed Merge branch 'master' into editor-controlpoint-undo-redo 2022-06-20 13:47:01 +09:00
Bartłomiej Dach
3ab8158b92
Do not try to set ruleset from beatmap if it's a dummy 2022-06-19 20:08:39 +02:00
Bartłomiej Dach
93b3ede2a0
Always use beatmap ruleset in editor gameplay test mode
Fixes cases where opening a convertible beatmap (so any osu! beatmap)
with the game-global ruleset being set to anything but osu! would result
in opening the editor gameplay test mode with the game-global ruleset
rather than the beatmap's.
2022-06-19 19:30:40 +02:00
Salman Ahmed
a2e17941e5
Merge branch 'master' into timing-offset-adjust-seek-only-at-start 2022-06-19 01:27:44 +03:00
Dean Herbert
3902dc64f0 Fix adjusting offset via button seeking to timing point's offset unexpectedly
This was added with the intention of tracking the offset when already at
the start (the most common case when you're using the tap timing
wizard), but was also seeking when the user may be much further beyond
or before it.

Addresses https://github.com/ppy/osu/discussions/18741#discussioncomment-2975051.
2022-06-19 01:35:45 +09:00
Salman Ahmed
a5e5172b91 Fix BlueprintContainer eating input from skin editor buttons 2022-06-18 18:28:36 +03:00
Bartłomiej Dach
f6a3047596
Merge branch 'master' into editor-metadata-name-unification 2022-06-18 10:22:52 +02:00
Salman Ahmed
204348f327 Fix metronome playing mistimed beat sounds on editor clock resume 2022-06-18 04:49:44 +03:00
Salman Ahmed
8a1d11fefb Cancel previous metronome sound playback on pause 2022-06-18 04:07:21 +03:00
Jamie Taylor
1f78a4fadd
New audio feedback for metronome 2022-06-17 16:56:09 +09:00
Dan Balasescu
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
Bartłomiej Dach
6ff6a3f5b3
Rename and document chooserPath 2022-06-16 21:51:31 +02:00
Salman Ahmed
db02cb81c5 Fix file chooser path not opening home directory initially 2022-06-16 20:48:17 +03:00
Salman Ahmed
47d0ecf5e8 Merge branch 'master' into editor-metadata-name-unification 2022-06-16 18:53:23 +03:00
Salman Ahmed
6aee689586 Fix previous file lookup not using metadata properties 2022-06-16 18:50:38 +03:00
Salman Ahmed
f1081db953 Fix background/track implicitly renamed on initial load 2022-06-16 18:48:32 +03:00
Salman Ahmed
2c35b1404b Use FileInfo as current bindable type 2022-06-15 19:29:09 +03:00
Salman Ahmed
1ff070f5ff Decouple LabelledFileChooser from LabelledTextBoxWithPopover 2022-06-15 17:45:31 +03:00
Dean Herbert
7571ab6c63 Merge branch 'master' into new-dialog-sfx 2022-06-15 19:47:00 +09:00
Dean Herbert
c27e5d1216 Fix editor still playing back sound when exiting with confirmation 2022-06-15 18:44:02 +09:00
Dean Herbert
713cff3403 Don't play editor exit sound when changing difficulties 2022-06-15 17:49:09 +09:00
Dean Herbert
fd4529aa7c Play editor exit sound if no confirmation buttons were shown during exit process 2022-06-15 17:37:54 +09:00
Dean Herbert
6136e4e27a Don't play exit sound if screen is in a non-resumable state when exiting 2022-06-15 17:37:25 +09:00
Dean Herbert
87bf53485a
Merge pull request #18649 from frenzibyte/selection-context-outside-bounds
Fix context menus not appearing when clicking outside of editor playfield's bounds
2022-06-15 17:08:09 +09:00
Salman Ahmed
6a8cf514e0 Update background/track file chooser to not display filename 2022-06-15 09:52:13 +03:00
Jamie Taylor
5e3ccf7087
Don't play 'back' sample when exiting Editor 2022-06-15 15:41:28 +09:00
Salman Ahmed
f3f0960335 Use unified filename for background and track during editor import 2022-06-15 09:02:48 +03:00
Salman Ahmed
d3feb07bc1 Split zoom updating to named method with value as optional 2022-06-15 07:57:16 +03:00
Salman Ahmed
268a7e1334 Fix ZoomableScrollContainer attempting to update zoom with overlapping range 2022-06-15 05:43:41 +03:00
Dan Balasescu
cc7943dfb1
Merge pull request #18687 from peppy/editor-repeat-behaviour-change-collapsing
Fix timing adjustment repeat buttons firing one change per repeat invocation
2022-06-14 20:24:13 +09:00
Dean Herbert
c30644328c Fix timing adjustment repeat buttons firing one change per repeat invocation 2022-06-14 19:21:02 +09:00
Dean Herbert
aeca138930 Fix ctrl-z in editor also seeking to start in addition to undo 2022-06-14 18:48:57 +09:00
Salman Ahmed
fa4930c586 Remove no longer necessary ReceivePositionalInputAt overrides in timeline components 2022-06-14 00:19:47 +03:00
Salman Ahmed
c49b8e4a5c Allow BlueprintContainer and SelectionHandler to receive input outside bounds 2022-06-14 00:19:15 +03:00
Salman Ahmed
9fc04924eb Revert "Provide context menu items at BlueprintContainer for out-of-bounds support"
This reverts commit 85fc218edf.
2022-06-14 00:02:02 +03:00
Dan Balasescu
f680f4d26b Apply refactorings from review 2022-06-13 17:36:32 +09:00
Dan Balasescu
c178e5d592 Add explanatory comment 2022-06-13 16:58:43 +09:00
Dan Balasescu
a8286bdf04 Fix assertion failures 2022-06-13 16:56:08 +09:00
Dan Balasescu
285e5abb41 Fix incorrect fallback value 2022-06-13 16:55:46 +09:00
Dan Balasescu
5a18547342
Compare by char
Co-authored-by: Berkan Diler <berkan.diler1@ingka.ikea.com>
2022-06-13 15:58:11 +09:00
Dan Balasescu
776e7c0c71 Work around performance issues 2022-06-13 15:45:08 +09:00
Dan Balasescu
7e7716f942 Support undo/redo for control points 2022-06-13 15:45:08 +09:00
Salman Ahmed
85fc218edf Provide context menu items at BlueprintContainer for out-of-bounds support 2022-06-11 20:53:53 +03:00
Dean Herbert
cd0e0fe70f Fix skin editor not accounting for aspect ratios in base-game sizing logic 2022-06-06 18:02:42 +09:00
Dan Balasescu
b897e1464f
Merge pull request #18462 from frenzibyte/fix-timeline-zooming
Fix timeline objects disappearing prematurely on wide-screens
2022-06-05 11:49:44 +09:00
Dan Balasescu
fcf51a6f51
Merge pull request #18530 from peppy/add-cloen-button
Change text on timing group add button when it is going to clone instead
2022-06-03 22:23:04 +09:00
Dean Herbert
debd1a59b0
Merge pull request #18539 from frenzibyte/repeating-button-behaviour
Share repeat implementation in `TimingAdjustButton` for timeline zoom buttons
2022-06-03 18:18:23 +09:00
Dan Balasescu
1c738e22ae
Merge pull request #18523 from peppy/tap-button
Add tap for BPM button
2022-06-03 18:11:10 +09:00
Dean Herbert
cd3edc869c Remove unnecessary nesting of IconButton and update design a touch 2022-06-03 17:00:00 +09:00
Dean Herbert
e779b460e4 Use Component instead of CompositeDrawable 2022-06-03 16:49:08 +09:00
Dean Herbert
678229fdab
Merge pull request #18536 from bdach/safe-file-chooser-textbox-disposal
Improve safety of file chooser textbox disposal
2022-06-03 13:50:41 +09:00
Dan Balasescu
dd93fc283b
Merge pull request #18531 from peppy/track-groups-better
Improve group tracking logic to avoid switching which point type unnecessarily
2022-06-03 13:04:54 +09:00
Salman Ahmed
b51e0a5047 Share button repeating logic with TimelineButton for better UX 2022-06-03 05:23:49 +03:00
Salman Ahmed
efbde06c11 Split button repeating logic from TimingAdjustButton to own component 2022-06-03 05:23:49 +03:00
Salman Ahmed
21385655fe Fix ZoomableScrollContainer not updating on parent size changes 2022-06-03 02:34:10 +03:00
Salman Ahmed
60fb5d5e6c Revert "Fix timeline objects disappearing prematurely on wide-screens"
This reverts commit 02baf9a97a.
2022-06-03 02:03:04 +03:00
Salman Ahmed
8471b24659 Merge branch 'master' into fix-timeline-zooming 2022-06-03 02:00:09 +03:00
Bartłomiej Dach
87ec2e490d
Merge branch 'master' into deselect-control-group 2022-06-03 00:47:06 +02:00
Bartłomiej Dach
cf9b78ea2a
Improve safety of FileChooserLabelledTextBox disposal 2022-06-02 20:38:14 +02:00
Bartłomiej Dach
ec24b32fa6
Add NRT coverage for FileChooserLabelledTextBox 2022-06-02 20:36:28 +02:00
Dean Herbert
ad3c093a08 Improve group tracking logic to avoid switching which point type unnecessarily 2022-06-02 18:33:09 +09:00
Dean Herbert
2fa4d46f73 Change text on timing group add button when it is going to clone instead
Also disables the button when it would otherwise have no effect.
2022-06-02 18:28:16 +09:00
Dean Herbert
0b125ade4c Allow clicking away to deselect the current control point group 2022-06-02 18:18:18 +09:00
Dean Herbert
5a0f716bf2 Fix timing screen crash when attempting to add group to self
Closes #18527.
2022-06-02 18:14:28 +09:00
Dean Herbert
ee4beefd95 Increase max taps to 128 for now
Will revisit this in the future with a more sound algorithm.
2022-06-02 17:27:52 +09:00
Dean Herbert
e75609dfb9 Increase taps to consider for better results for longer tap periods 2022-06-02 17:03:48 +09:00
Dean Herbert
4abfb35611 Improve light rotational alignment and increase light count to 8 2022-06-02 16:58:14 +09:00
Dean Herbert
060372a129 Split out transition length constants 2022-06-02 13:16:31 +09:00
Dean Herbert
15f8d318eb Add note about glow code (please look away) 2022-06-02 13:13:00 +09:00
Dean Herbert
ac3793f340 Move inline class to end and apply NRT 2022-06-02 13:10:50 +09:00
Dean Herbert
d99d37c0a6 Apply current track rate to calculated BPM 2022-06-02 13:06:18 +09:00
Dean Herbert
943e904c71 Fix reset happening on mouse down instead of mouse up
Also some reorganisation of file content for legibility
2022-06-02 12:58:44 +09:00
Dean Herbert
0c493dd359 Add key binding for tap button 2022-06-02 12:58:44 +09:00
Dean Herbert
781a1527b1 Adjust button metrics and move surrounding buttons to be more integrated 2022-06-02 12:58:43 +09:00
Dean Herbert
d4e88441ec Adjust metrics to make timing section fit better in editor 2022-06-02 11:57:06 +09:00
Dean Herbert
f3f7e28353 Ignore initial taps as they are generally inaccurate 2022-06-02 11:57:06 +09:00
Dean Herbert
b88bce9b8b Restart track playback when tapping to time 2022-06-02 11:57:06 +09:00
Dean Herbert
96ccd29bdc Don't play metronome click when tapping for timing 2022-06-02 11:57:06 +09:00
Dean Herbert
d47a3bb8e4 Use NRT and transfer BPM 2022-06-02 11:57:06 +09:00
Dean Herbert
a2d177d7d2 Add BPM display and tracking 2022-06-02 11:57:06 +09:00
Dean Herbert
3c7a04256f Add glow 2022-06-02 11:57:06 +09:00
Dean Herbert
c3ba7b2c3b Add lights 2022-06-02 11:57:06 +09:00
Dean Herbert
d12f6ea221 Add basics of tap button 2022-06-02 11:57:06 +09:00
Dean Herbert
453259df62
Merge pull request #18516 from peppy/metronome-sound
Add metronome sound
2022-06-02 07:38:42 +09:00
Dean Herbert
6b297bc6ed
Merge pull request #18502 from peppy/editor-timing-follow-current-time
Add automatic control point tracking to the timing screen
2022-06-02 07:37:03 +09:00
Bartłomiej Dach
c0001d7f00
Merge branch 'master' into metronome-sound 2022-06-01 22:32:48 +02:00
Bartłomiej Dach
d3b51c7387
Merge branch 'master' into editor-waveform-display-lock 2022-06-01 21:56:01 +02:00
Bartłomiej Dach
0723709bec
Merge branch 'master' into editor-offset-bpm-adjust-buttons 2022-06-01 21:25:18 +02:00
Bartłomiej Dach
801e11d841
Apply performance regression fix to effect section too 2022-06-01 20:25:56 +02:00
Bartłomiej Dach
6b709de2c2
Remove unused using directive 2022-06-01 20:18:02 +02:00
Bartłomiej Dach
a5d515dd0c
Merge branch 'master' into editor-new-control-point-is-bettert 2022-06-01 19:48:17 +02:00
Dean Herbert
534e8f8fac Only switch to found group if non-null 2022-06-01 20:20:48 +09:00
Dean Herbert
a4ec32b499 Add button sound effect 2022-06-01 18:15:16 +09:00
Dean Herbert
93b8c90ecc Apply frequency adjust to channel rather than sample for safety 2022-06-01 18:04:13 +09:00
Dean Herbert
0472881078 Fix null check only covering one of two calls 2022-06-01 18:03:03 +09:00
Dean Herbert
187acb0718 Simplify linq tracking logic 2022-06-01 17:57:53 +09:00
Dean Herbert
1293bbdbd9 Remove unnecessary null checks on Text property 2022-06-01 17:46:33 +09:00
Dean Herbert
8c54bd46bb Rename button to more appropriate name 2022-06-01 17:46:05 +09:00
Dean Herbert
b03b0c9303 Merge branch 'master' into editor-offset-bpm-adjust-buttons 2022-06-01 17:45:16 +09:00
Dean Herbert
c55c3325a4 Remove unused using statements 2022-06-01 17:43:40 +09:00
Dean Herbert
f3fd5bbfc1 Increase flash delay and ensure text is always shown immediately on lock 2022-06-01 16:05:29 +09:00
Dean Herbert
58ba92772c
Reword comment to read better
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-06-01 16:01:34 +09:00
Dean Herbert
eac014738f
Merge branch 'master' into editor-bottom-bar-shadow 2022-06-01 14:55:50 +09:00
Dean Herbert
6042cf1a3b Add metronome sound
Placeholder pending follow-up from @nekodex (which as discussed should
probably have a second sound for the metronome locking into "stopped"
position).
2022-06-01 14:43:39 +09:00
Dean Herbert
25941f6187
Use DeepClone instead of reflection call
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-06-01 10:47:45 +09:00
Dean Herbert
bc22079fdc Fix row selected colour flicker when changing offset rapidly 2022-05-31 22:02:30 +09:00
Dean Herbert
8240b645b4 Copy attribute types from currently selected control point to new placements 2022-05-31 21:50:12 +09:00
Dean Herbert
f99bcb23a0 Automatically make first control point added to beatmap have timing data 2022-05-31 21:50:08 +09:00
Dean Herbert
a940676fc2 Add adjustment buttons 2022-05-31 21:31:20 +09:00
Dean Herbert
475cc8174f Fix off-by-one display issue when adjusting offset 2022-05-31 18:41:44 +09:00
Dean Herbert
94194a04f2 Animate adjustments 2022-05-31 18:41:44 +09:00
Dean Herbert
51014b8748 Ensure offset changes are correctly tracked by the display, even when locked 2022-05-31 18:41:44 +09:00
Dean Herbert
c8f21ee8b2 Change WaveformComparisonDisplay to centre around a time offset rather than beat 2022-05-31 18:41:44 +09:00
Dean Herbert
6bc68ada43 Add ability to lock the WaveformComparison display to a current location 2022-05-31 18:41:44 +09:00
Dean Herbert
c0804803fd Add background to main waveform row 2022-05-31 18:35:52 +09:00
Dean Herbert
655780fd98 Fix regression in bpm textbox binding logic 2022-05-31 18:27:18 +09:00
Dean Herbert
ebb83a5e49 Add TODO about scroll behaviour which is missing 2022-05-31 15:10:55 +09:00
Dean Herbert
cf5da44492 Add automatic control point tracking to the timing screen 2022-05-31 15:00:30 +09:00
Dean Herbert
27efeb7d4e Fix TimingSection performing a beatmap save when switching bound timing points 2022-05-31 14:58:49 +09:00
Dan Balasescu
be998cdb0a
Merge pull request #18477 from frenzibyte/fix-timeline-context-menu
Fix context menu no longer opening for hitobjects in timeline
2022-05-30 11:49:06 +09:00
Bartłomiej Dach
c892ec83ef
Fix wrong sizing of editor timeline ticks 2022-05-29 20:15:17 +02:00
Salman Ahmed
9cc5df9b13 Fix context menu no longer open on hitobjects in timeline 2022-05-29 15:23:32 +03:00
Salman Ahmed
02baf9a97a Fix timeline objects disappearing prematurely on wide-screens 2022-05-28 17:45:38 +03:00
Dean Herbert
62266c72ea
Merge pull request #18448 from frenzibyte/editor-metronome-rate
Fix metronome speed not adjusted on different playback rates
2022-05-28 10:58:51 +09:00
Dean Herbert
4f2910cdb1
Merge pull request #18445 from frenzibyte/editor-background-colour
Darken background colour in "setup" and "verify" screens
2022-05-28 10:56:22 +09:00
Dean Herbert
68684f5fe7
Merge pull request #18446 from frenzibyte/editor-row-attribute-background
Update row attribute background colour to fit screen
2022-05-28 10:53:50 +09:00
Dean Herbert
93a8092da6 Increase usable width slightly further 2022-05-28 10:51:39 +09:00
Salman Ahmed
e12d188dad Fix metronome speed not adjusted on different playback rates 2022-05-28 04:10:39 +03:00
Salman Ahmed
d12e4928e6 Increase editor verify settings width to give more breathing space 2022-05-28 03:09:04 +03:00
Salman Ahmed
e71d907164 Update row attribute background colour to fit screen 2022-05-28 02:20:04 +03:00
Salman Ahmed
eec9248cde Darken background colour in "setup" and "verify" screens 2022-05-28 02:10:18 +03:00
Salman Ahmed
aee3e2a4ed Add shadow effect to editor's bottom bar 2022-05-28 01:58:55 +03:00
Bartłomiej Dach
e511c1dfff
Merge branch 'master' into use-normalised-precise-scrolling 2022-05-27 16:55:13 +02:00
Joseph Madamba
e551a53601 Fix checkmarks not showing on editor stateful menu items 2022-05-26 21:45:30 -07:00
Dean Herbert
fb586fe0b2 Merge branch 'master' into editor-bottom-bar-new-design 2022-05-26 18:32:28 +09:00
Dean Herbert
7f4ea5d522 Use left alignment and remove hacky text positioning code 2022-05-26 18:12:28 +09:00
Dean Herbert
acd554d918 Update time info and add bpm 2022-05-25 23:54:59 +09:00
Dean Herbert
2c61a9d3d1 Update bottom bar components to new design language (mostly) 2022-05-25 23:54:59 +09:00
Dean Herbert
8791e3b9ef Split BottomBar out of Editor 2022-05-25 23:54:59 +09:00
Dean Herbert
463b8130c8 Update editor screen switcher to match new design language 2022-05-25 22:31:27 +09:00
Dean Herbert
206f2ca208 Rename screen switcher control to be in line with naming expectations 2022-05-25 22:20:33 +09:00
Dean Herbert
c4cae7f677 Update EditorMenuBar to match new design language 2022-05-25 22:19:24 +09:00
Dan Balasescu
fb22801afb
Merge pull request #18388 from peppy/editor-timing-waveforms
Add waveform comparison view to editor timing screen
2022-05-25 20:15:25 +09:00
Dean Herbert
f1d4902be5 Remove unnecessary bindable cast 2022-05-25 19:25:23 +09:00
Dan Balasescu
f468d1eb16
Merge branch 'master' into editor-tidy-up 2022-05-25 11:58:34 +09:00
Bartłomiej Dach
5f6baaca13
Merge branch 'master' into editor-beat-divisor-size-static 2022-05-24 23:17:02 +02:00
Dan Balasescu
25f35b3408
Merge pull request #18394 from peppy/editor-beat-divisor-on-mouse-down
Handle beat divisor input on mouse down, rather than mouse up
2022-05-24 19:06:14 +09:00
Dan Balasescu
46b2f1ecc2
Merge pull request #18392 from peppy/editor-remove-triangle-button-usage
Remove `TriangleButton` usage in editor
2022-05-24 18:51:02 +09:00
Dean Herbert
0bcf8c846c Change editor colour scheme to aquamarine 2022-05-24 18:43:22 +09:00
Dean Herbert
648cee7106 Remove editor screen transitions for now 2022-05-24 18:43:22 +09:00
Dean Herbert
3f5ccd4db8 Update timing screen sections to newer design metrics 2022-05-24 18:43:22 +09:00
Dean Herbert
c02ec05056 Remove remaining usage of EditorRoundedScreen 2022-05-24 18:43:22 +09:00
Dean Herbert
1d196262d0 Remove unused OnTimelineLoaded flow 2022-05-24 18:43:22 +09:00
Dean Herbert
a905731053 Update timeline colours and paddings to match new designs 2022-05-24 18:43:22 +09:00
Dean Herbert
17206bbebf Update screen padding and colouring to better match new designs 2022-05-24 18:43:22 +09:00
Dean Herbert
a2bfd0ba41 Merge branch 'editor-remove-triangle-button-usage' into editor-combined 2022-05-24 18:43:02 +09:00
Dean Herbert
741cfcc614 Merge branch 'editor-beat-divisor-on-mouse-down' into editor-combined 2022-05-24 18:43:01 +09:00
Dean Herbert
3ace5f135e Adjust marker to match design proportions 2022-05-24 18:26:01 +09:00
Dean Herbert
3c2e57bf00 Update BeatDivisorControl to better match new designs and metrics 2022-05-24 18:26:01 +09:00
Dean Herbert
e6087f5f5b Handle beat divisor input on mouse down, rather than mouse up
It felt way too unresponsive.
2022-05-24 18:16:19 +09:00
Dean Herbert
4a88affd03 Move beat divisor tick size retrieval to static methods 2022-05-24 18:15:20 +09:00
Dean Herbert
a346990a8c Remove TriangleButton usage in editor 2022-05-24 18:13:09 +09:00
Dean Herbert
1137545d4a Fix Timeline potentially not updating visuals to correct state on first display 2022-05-24 18:11:05 +09:00
Dean Herbert
49a2173646 Avoid needlessly updating display (and add better documentation on chosen scale) 2022-05-24 14:36:44 +09:00
Dean Herbert
4fcdcef166 Add indexing on each wavefrom row 2022-05-24 14:36:44 +09:00
Dean Herbert
c1720c128d Dim rows which are not part of the active control point (and offset centre) 2022-05-24 14:36:44 +09:00
Dean Herbert
7040dec013 Fix disabled bindable woes by not using TimingControlPoint.DEFAULT 2022-05-24 14:36:44 +09:00
Dean Herbert
588c5d1583 Add initial waveform comparison display 2022-05-24 14:36:44 +09:00
Susko3
88217e0c98 Adjust ScrollDelta usages to account for normalised IsPrecise values 2022-05-23 20:22:27 +02:00
Dean Herbert
c9ea87e6be Revert easing for now 2022-05-23 00:03:42 +09:00
Dean Herbert
007582afb9 Remove unused usings resulting from namespace move 2022-05-22 23:55:33 +09:00
Dean Herbert
eabf578282 Use interface to convey beat sync information 2022-05-22 22:44:54 +09:00
Dean Herbert
9a780bcad3 Remove unused using 2022-05-21 21:56:05 +09:00
Dean Herbert
376549ce09 Use ToLocalisableString instead of CurrentCulture 2022-05-21 21:48:51 +09:00
Dean Herbert
8db80b92bb Fix metronome not using EditorBeatmap causing editor updates to not propagate immediately 2022-05-20 23:24:57 +09:00
Dean Herbert
82eb5fd2c9 Add centre line on weight 2022-05-20 17:30:04 +09:00
Dean Herbert
2e21d75b10 Move metronome into own class and rename to avoid conflict with mod sounds 2022-05-20 17:30:04 +09:00
Dean Herbert
cf97f4e409 Add centre marker 2022-05-20 17:30:04 +09:00
Dean Herbert
4712e512d7 Apply edge smoothness and make weight more accented 2022-05-20 17:30:04 +09:00
Dean Herbert
8487d2c48a Interpolate bpm label and fix incorrect angle logic 2022-05-20 17:30:04 +09:00
Dean Herbert
21072a26ef Add locking wedge 2022-05-20 17:30:04 +09:00
Dean Herbert
79878a4ec2 Metrics adjust and labelling 2022-05-20 17:30:04 +09:00
Dean Herbert
cf1ef28f72 Add taper and more correctly shaped weight 2022-05-20 17:30:04 +09:00
Dean Herbert
42179568f3 Initial animation pass on metronome 2022-05-20 17:30:04 +09:00
Dean Herbert
ce7be940e2 Setup basics for control and test 2022-05-20 17:30:04 +09:00
Dan Balasescu
64a371638e
Merge pull request #18236 from peppy/snap-unification
Add `enum` to snap method as alternative to multiple nested invocations
2022-05-20 11:35:05 +09:00
Dean Herbert
83e781d5a1 Allow localisation of PlaceholderText 2022-05-17 17:42:46 +09:00
Dean Herbert
17e0105c2c Fix interaction with popover when textbox is disabled 2022-05-17 17:33:54 +09:00
Dean Herbert
3ff0399281 Split out LabelledTextBoxWithPopover for reuse 2022-05-17 17:33:54 +09:00
Bartłomiej Dach
ab5c736da1
Merge branch 'master' into editor-readability 2022-05-13 21:10:48 +02:00
Dean Herbert
c4871ebcf4 Add editor track traversal keys (Z-V) 2022-05-14 02:50:51 +09:00
Dean Herbert
f22ff4e087 Remove editor animation toggling (replaced by overlap markers) 2022-05-12 19:28:56 +09:00
Dean Herbert
c0abce918f Add enum to snap method as alternative to mutliple nested invocations 2022-05-12 16:19:07 +09:00
Dan Balasescu
c54ca937c5 Fix CI inspections 2022-05-12 14:55:20 +09:00
Dean Herbert
f51607521c Fix distance snap providing zero-distance snaps incorrectly 2022-05-12 13:11:55 +09:00
Dean Herbert
5800d7e99d
Merge pull request #18220 from frenzibyte/control-popover-focus
Focus textbox upon opening control point popovers
2022-05-11 19:41:25 +09:00
Salman Ahmed
96db530de6 Focus textbox on control point popovers 2022-05-11 09:55:34 +03:00
Salman Ahmed
24432dffc4 Add support for focusing intermediate slider-textbox component 2022-05-11 09:53:04 +03:00
Salman Ahmed
0b597e712e Fix timeline not handling mouse down events 2022-05-11 09:39:27 +03:00
Bartłomiej Dach
cbd1169495
Move cache declarations of ISamplePlaybackDisabler to interface 2022-05-08 10:38:58 +02:00
Bartłomiej Dach
9ae019eb39
Move ISamplePlaybackDisabler to more general namespace 2022-05-08 10:38:58 +02:00
Bartłomiej Dach
202a603d72
Merge branch 'master' into distance-snap-grid-current-tiume 2022-05-07 08:49:30 +02:00
Dean Herbert
dd63657dfb
Merge pull request #18065 from huoyaoyuan/code-style
Enforce code style analysis shipped with .NET SDK
2022-05-07 14:58:19 +09:00
Dean Herbert
71758390b5 Fix time based distance grid alpha not correctly accounting for distance spacing multiplier 2022-05-07 13:37:36 +09:00
Salman Ahmed
723fce8174 Move inverting value to happen outside clamp
Looks to have no effect, but makes sense to happen outside instead.
2022-05-06 18:54:13 +03:00
Salman Ahmed
d78f1d158d Use GetEndTime() instead of StartTime
Companion to
246479bf34
2022-05-06 18:51:35 +03:00
Salman Ahmed
112496204d Make nested class private 2022-05-06 18:50:28 +03:00
Salman Ahmed
3077d398ef
Merge branch 'master' into distance-snap-grid-current-tiume 2022-05-06 18:20:22 +03:00
Salman Ahmed
144d33f0d2
Merge branch 'master' into distance-snapping-test 2022-05-06 17:29:27 +03:00
Bartłomiej Dach
29a3ab7e7a
Halve drag box padding
Allows the drag box borders to collapse in on themselves to a single
line if the drag selection has zero width or height.
2022-05-06 15:21:35 +02:00
Dean Herbert
fad1f727bb Fix editor drag box visuals 2022-05-06 20:34:44 +09:00
Dean Herbert
69592722f8 Highlight distance snap grid rings that are close to the current time value 2022-05-06 18:30:46 +09:00
Dean Herbert
118e58888b Rename incorrectly named variable (radius is not diameter) 2022-05-06 17:51:51 +09:00
Dean Herbert
37cbc79283 Fix clamping logic to always clamp to the last displayed tick 2022-05-06 17:09:38 +09:00
Dean Herbert
684fef7f8c Fix MaxIntervals incorrectly factoring distance spacing multipiler into snap calculation 2022-05-06 17:09:02 +09:00
Dean Herbert
246479bf34 Fix snap extent not working correctly on sliders (and providing incorrect time values) 2022-05-06 15:54:37 +09:00
Dean Herbert
32b40bdabf Rename DistanceBetweenTick to be plural 2022-05-06 15:45:36 +09:00
Dan Balasescu
39d10487b9
Merge branch 'master' into snapping-tidy-distance 2022-05-05 19:55:55 +09:00
Dean Herbert
e83604a1fc Merge branch 'master' into cache-at-interface 2022-05-05 18:54:24 +09:00
Dean Herbert
b9d8b7e413 Fix end time extent not being accounted for in new snap implementation 2022-05-05 18:49:12 +09:00
Dean Herbert
b2e9be70a5 Rewrite CircularDistanceSnapGrid snapping implementation to use snap provider 2022-05-05 17:52:36 +09:00
Dean Herbert
4c884aea5d Fix CircularDistanceSnapGrid returning an incorrect time value when distance spacing is not 1.0 2022-05-05 17:09:14 +09:00
Dean Herbert
786c7f14d3 Expose DistanceSpacingMultiplier to distance 2022-05-05 17:08:53 +09:00
Dean Herbert
de9b3d33eb Rename misleading DistanceSpacing variable 2022-05-05 17:08:09 +09:00
Dean Herbert
4226583afd Merge branch 'cache-at-interface' 2022-05-05 16:52:03 +09:00
Dean Herbert
19cf9dc20b Merge branch 'snapping-tidy-distance' 2022-05-05 16:51:32 +09:00
Dean Herbert
1c6a233cc0 Move snap provider caching to interfaces 2022-05-05 16:44:37 +09:00
Dean Herbert
b411b59006 Move IPlacementHandler caching to interface 2022-05-05 16:43:02 +09:00
Dean Herbert
977e6d8a80 Add xmldoc for IDistanceSnapProvider and related properties 2022-05-05 16:25:45 +09:00
Dean Herbert
f6fc926f1a Add xmldoc and rename methods in IPositionSnapProvider for legibility 2022-05-05 15:58:21 +09:00
Dean Herbert
df530cb5ab Add highlighting to the position snap grid edges in addition to centre lines 2022-05-04 13:49:04 +09:00
Dean Herbert
0bb90c7b07 Fix gridline centering and ensure lines are always rendered using a fixed screen-space width 2022-05-04 13:41:55 +09:00
Huo Yaoyuan
7cf4dabe29 Fix IDE0005 and IDE0034 2022-05-03 13:09:19 +08:00
Salman Ahmed
173a6188eb Add back float cast to distance spacing computation 2022-04-29 08:41:37 +03:00
Salman Ahmed
fef94d49f4 Revert "Convert data type of DistanceSpacing to float"
This reverts commit 7aaa88cac2.
2022-04-29 08:02:07 +03:00
Salman Ahmed
abb88b0907 Move distance spacing application to DistanceSnapGrid 2022-04-28 10:54:38 +03:00
Salman Ahmed
7aaa88cac2 Convert data type of DistanceSpacing to float 2022-04-28 10:24:36 +03:00
Salman Ahmed
2e8372fe90 Minor cleanup
Just from reading diff.
2022-04-28 07:14:43 +03:00
Salman Ahmed
59cf3ff50f Move distancing methods from IPositionSnapProvider to IDistanceSnapProvider 2022-04-28 05:48:45 +03:00
Salman Ahmed
70a93c0e7e Move DistanceSpacingMultiplier bindable to its own IDistanceSnapProvider interface 2022-04-24 08:33:00 +03:00
Salman Ahmed
4f8f27a58b Merge branch 'master' into osu-distance-spacing 2022-04-24 05:23:30 +03:00
Dean Herbert
832d37b2c2 Update screen transition events to use new event args 2022-04-22 00:52:44 +09:00
Joseph Madamba
5e5c8e78a6 Use existing web localisation for most hardcoded strings 2022-04-20 16:31:11 -07:00
Dean Herbert
043599081b Split out INotificationOverlay to allow for easier testing 2022-04-18 20:14:01 +09:00
Dean Herbert
e315313266 Split out IDialogOverlay to allow for easier testing 2022-04-18 18:36:26 +09:00
Dean Herbert
90093c1d9d Combine private skin variable into exposed one 2022-04-18 13:32:37 +09:00
Salman Ahmed
2cb217e06c Fix editor legacy beatmap skins not receiving transformer 2022-04-18 06:59:58 +03:00
Salman Ahmed
338d94626e Expose underlying skin of EditorBeatmapSkin 2022-04-18 06:44:39 +03:00
Dean Herbert
fbf0e5a45c Remove startFromSkipTarget parameter and update usages that required said behaviour 2022-04-13 14:25:43 +09:00
Bartłomiej Dach
e14d5b8adb
Remove unused using directives 2022-03-31 21:20:30 +02:00
CenTdemeern1
a6875383fc Rebind SaveState() to bpmTextEntry 2022-03-31 21:06:05 +02:00
CenTdemeern1
52d723aaa6 Remove BPM slider 2022-03-31 20:11:07 +02:00
Bartłomiej Dach
f3aad77239
Remove unused local variable 2022-03-22 22:00:24 +01:00
Bartłomiej Dach
a38bafab91
Remove unused using directive 2022-03-22 22:00:05 +01:00
Dean Herbert
61ddf1e6cf Disallow exiting the editor without saving (unless explicitly confirming) 2022-03-22 15:42:56 +09:00
Dean Herbert
f95bd89166 Revert editor exit behaviour to exit without changes for now 2022-03-22 14:46:57 +09:00
Dean Herbert
d811a70f4b Change button types on editor exit dialog to match purpose
Addresses https://github.com/ppy/osu/discussions/17363.
2022-03-21 16:06:59 +09:00
Dean Herbert
ba1642a680 Allow section headers to wrap 2022-03-16 17:19:08 +09:00
Dean Herbert
a0a033520f Rider no add licence headers 2022-03-15 16:48:14 +09:00
Dean Herbert
4ab5d6e3f0 Remove unnecessary FillFlowContainer from section 2022-03-15 16:47:08 +09:00
Dean Herbert
9e476ced63 Add EditorSidebar component 2022-03-15 16:38:00 +09:00
Dean Herbert
68aedd63a7 Move SelectionHandler's SelectedItems binding to the base implementation
Until now it was up to each implementation to connect
`BlueprintContainer` to its `SelectionHandler`, which didn't make much
sense at all.
2022-03-10 23:22:19 +09:00
Bartłomiej Dach
e1eeb9c6bb
Allow tabbing between textboxes in sample point popover 2022-03-06 01:43:56 +01:00
Dean Herbert
f15b8781bb Move editor mode selector out of EditorMenuBar to allow for better reuse 2022-03-02 20:05:01 +09:00
Dean Herbert
2be40f36f7 Reword popup text to read better (or more vaguely)
Removed some words but also don't mention "smaller" because it's...
musically incorrect and also functionally incorrect – entering 1/[8]
will result in 1/16 also being populated for instance.
2022-02-28 15:26:50 +09:00
Dean Herbert
368eadd8d1 Remove unused using statement 2022-02-28 15:24:02 +09:00
Dean Herbert
3634e12e66 Automatically focus divisor textbox and hide popover after successful change 2022-02-28 15:23:01 +09:00
Bartłomiej Dach
7de5dad4f0
Add test coverage for divisor behaviour 2022-02-27 19:23:02 +01:00
Bartłomiej Dach
423838a649
Add flow for specifying entirely custom snaps 2022-02-27 17:55:20 +01:00
Bartłomiej Dach
d0c01afc2e
Add flow for changing set of valid divisors between presets 2022-02-27 15:37:51 +01:00
Bartłomiej Dach
36137e0619
Add simple carousel divisor type selector 2022-02-27 15:37:51 +01:00
Salman Ahmed
0992bec2c8 Change "distance spacing" multipler type to double
Avoids losing precision on initial load, causing an unnecessary
hash change in `EditorChangeHandler`.

Resolves test failures in `TestSceneEditorChangeStates`
(https://github.com/ppy/osu/runs/5192493482?check_suite_focus=true).
2022-02-16 03:28:12 +03:00
Dean Herbert
954ae60b81
Merge branch 'master' into copy-existing-difficulty 2022-02-16 08:55:12 +09:00
Salman Ahmed
f5d0eb41cb Update further ChangeFocus usages 2022-02-15 02:42:39 +03:00
Salman Ahmed
528dc03b8c Expose distance spacing in IPositionSnapProvider for updating distance grid
Alternate method is to expose a `SnapDistancesChanged` event in
`IPositionSnapProvider` instead, but I chose this way as an analogue to
`IBeatSnapProvider.BeatDivisor`, which might even make sense to be
exposed as `BindableBeatDivisor` instead of caching that separately.
2022-02-15 02:21:53 +03:00
Bartłomiej Dach
e45a2ae0fc
Restructure difficulty copy flow to adapt to latest changes 2022-02-14 22:02:37 +01:00
Bartłomiej Dach
6221447164
Append copy suffix on creating copy of difficulty 2022-02-14 20:19:12 +01:00
Bartłomiej Dach
6fd663a718
Apply some renames to convey difference between creation options better 2022-02-13 14:01:23 +01:00
Bartłomiej Dach
a144d6f8d6
Fix beatmap skin properties not copying 2022-02-13 14:01:22 +01:00
Bartłomiej Dach
a2c2b2bbb3
Add flow for copying existing difficulty content 2022-02-13 14:01:20 +01:00
Salman Ahmed
6f0e32826c Standardise ordering/grouping of IRulesetInfo/RulesetInfos 2022-02-11 04:27:11 +03:00
Dean Herbert
ee1feae806
Remove unnecessary ruleset ordering
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-02-04 11:06:18 +09:00
Bartłomiej Dach
afc48d86df
Add failing test coverage for save after safeties addition 2022-02-02 21:57:10 +01:00
Bartłomiej Dach
4f1aac9345
Add safeties preventing creating multiple difficulties with same name 2022-02-02 21:57:09 +01:00
Bartłomiej Dach
0d51c015ad
Add basic test coverage for new difficulty creation 2022-02-02 21:55:34 +01:00
Bartłomiej Dach
dc96c4888b
Add support for creating new blank difficulties 2022-02-02 21:55:33 +01:00
Bartłomiej Dach
3386f038ba
Add new difficulty creation menu 2022-02-02 21:23:35 +01:00
Bartłomiej Dach
e2fcdc394b
Extract method for difficulty switch menu creation 2022-02-02 21:23:35 +01:00
Bartłomiej Dach
c6a65ccfed
Remove unused parameter from createContent()
No longer used since 513e470b52.
2022-02-01 21:35:40 +01:00
Dean Herbert
b3856c9005 Fix editor crashing on custom rulesets due to ChangeHandler not being supported
As per https://github.com/ppy/osu/discussions/16668, even without proper
saving support some ruleset developers do want to work on the editor.
This brings things back into a workable state.
2022-01-28 14:03:31 +09:00
Dean Herbert
91be77ad3d Fix null ref in ComposeScreen when ruleset doesn't provide a composer 2022-01-28 14:01:10 +09:00
Dean Herbert
a5d422e82c Merge branch 'master' into ruleset-id-fixes 2022-01-27 17:07:18 +09:00
Dean Herbert
5288eedd31 Update all usages of RulesetID and Ruleset.ID to use Ruleset.OnlineID 2022-01-27 15:38:03 +09:00
Bartłomiej Dach
d760283665
Ensure edited beatmap is restored to a baseline state on exit 2022-01-26 21:15:49 +01:00
Dean Herbert
bdf215c576
Merge branch 'master' into improve-timeline-zoom 2022-01-26 03:40:53 +09:00
Salman Ahmed
4169e5592e Reword event handler name and update xmldoc 2022-01-25 19:36:19 +03:00
Salman Ahmed
d1cbdf63f0 Add support for reading/saving timeline zoom in editor 2022-01-25 18:57:39 +03:00
Salman Ahmed
f7f58b06a1 Fix beat divisor not saving in editor 2022-01-25 11:56:38 +03:00
Salman Ahmed
5a9524a74e Decrease default timeline zoom to "6 seconds visible" range 2022-01-25 10:43:51 +03:00
Bartłomiej Dach
bd748686fa
Adjust spacing of time signature numerator input box 2022-01-23 15:21:32 +01:00
Salman Ahmed
e4758c9dbb Mark LabelledTimeSignature as public 2022-01-23 10:14:37 +03:00
Bartłomiej Dach
54f7b1b8d0
Use new time signature control on timing screen 2022-01-22 20:50:32 +01:00
Bartłomiej Dach
f39f2c93b5
Add control for arbitrary-numerator time signatures 2022-01-22 20:50:31 +01:00
Bartłomiej Dach
735414bc49
Replace TimeSignatures enum with struct for storage of arbitrary meter 2022-01-22 20:50:31 +01:00
Dean Herbert
5f5765d6a2 Reduce redundancy time range to create a bit more visual blending on the timeline 2022-01-19 14:57:01 +09:00
Dean Herbert
03ac91a3ee Consider all points in a group to meet redundancy check 2022-01-19 14:56:44 +09:00
Dean Herbert
93cd07f7fb Merge branch 'master' into summary-timeline-control-point-optimisation 2022-01-19 14:50:45 +09:00
Dean Herbert
67bf95bc91 Remove all usage of AuthorString 2022-01-18 23:30:40 +09:00
Dean Herbert
d10d657073
Merge pull request #16421 from Susko3/textbox-AllowIme-false
Add `AllowIme => false` to text boxes where applicable
2022-01-18 18:02:47 +09:00
Dean Herbert
39c9c4985b
Merge branch 'master' into textbox-AllowIme-false 2022-01-18 17:03:51 +09:00
Dean Herbert
566d341b1e Split conditions out for readability 2022-01-16 22:04:29 +09:00
Dean Herbert
565611ee00 Fix typo in inline comment 2022-01-15 23:57:20 +09:00
Dean Herbert
236fa6da7e Rename ControlPointVisualisation interface type to be less specific 2022-01-15 23:56:00 +09:00
Dean Herbert
c5cae4e3ee Rename methods and add xmldoc 2022-01-15 23:55:11 +09:00
Bartłomiej Dach
03e4ec4214
Merge branch 'master' into realm-integration/score-and-beatmaps 2022-01-15 14:45:42 +01:00
Dean Herbert
64c499d9d6 Revert unintended temporary commenting (was used during benchmarking) 2022-01-15 15:24:30 +09:00
Susko3
19467e58c1 Remove unused params from BDL methods 2022-01-15 01:06:39 +01:00
Dean Herbert
c64a919a9d Reduce number of redundant control points displayed on summary timeline
As pointed out in https://github.com/ppy/osu/discussions/16435, beatmaps
with too many control points (usually added via external automation
apps) could cause the lazer editor to grind to a halt.

The overheads here are mostly from the GL side. An eventual goal would
be to render this in a smarter way, rather than using thousands of
drawables. Until that, this optimisation should help reduce the overhead
by omitting control points in close proximity that are redundant for
display purposes.

I've tried to contain this in the display logic directly, with the goal
that it can be ripped out as fast as it was added. Certainly required
more changes than I hoped for, but I don't think it's too ugly.
2022-01-14 17:13:26 +09:00
Dean Herbert
51251e3204 Fix CI reported warnings 2022-01-12 22:39:00 +09:00
Dean Herbert
7509a9ff8f Update BeatmapModelManager.Save to work for editor scenarios 2022-01-12 17:49:11 +09:00
Dean Herbert
3811bd8520 Fix some null inspections 2022-01-12 17:00:16 +09:00
Dean Herbert
a3276758b8 Remove unnecessary re-query of beatmap set in editor menu construction 2022-01-12 17:00:16 +09:00
Dean Herbert
b8cd3cdbbc Various updates to ruleset and primary key usages to move closer to realm support 2022-01-12 16:57:13 +09:00
Dean Herbert
83cbee39de Mark cases where BeatmapSet is generally guaranteed to be non-null 2022-01-12 16:39:36 +09:00
Susko3
a0842838e7 Add AllowIme => false where applicable
Also adds `AllowWordNavigation => false` to password text box.
2022-01-12 00:15:17 +01:00
Bartłomiej Dach
d76c674abc
Add tooltip with relative rotation in degrees to rotation handles 2022-01-08 20:24:15 +01:00
Bartłomiej Dach
24d377fddb
Move implementation of drag handle operations to concrete classes 2022-01-08 20:24:00 +01:00
Bartłomiej Dach
9370e84460
Fix effect point multiplier text box displaying too much decimal digits 2022-01-08 16:12:52 +01:00
Dean Herbert
6779503e57 Refactor logic to avoid TimelineSelectionHandler having to block base calls 2022-01-05 16:56:54 +09:00
Dean Herbert
866ae3472b Add global flip hotkeys 2022-01-05 16:48:07 +09:00
Dean Herbert
13cce50fa7 Remove existing handling of flip hotkeys 2022-01-05 16:30:42 +09:00
Joseph Madamba
7de43e3aba Fix most open compound words in identifiers being closed 2021-12-27 20:26:28 -08:00
Joseph Madamba
98524d60a4 Fix clear identifier typos 2021-12-27 20:26:28 -08:00
Bartłomiej Dach
7ab1c0c99d
Improve contrast of timeline blueprint foreground content for pastel combo colours 2021-12-21 12:54:17 +01:00
Dan Balasescu
63a017bc8e Use Array.Empty instead 2021-12-11 19:33:37 +09:00
Dean Herbert
c1b3ee6bb2 Fix editor not resetting mods when entering
Would leave the user potentially in a test mode that is in a weird
state (ie. if cinema mod was enabled). Eventually we'll add the ability
to choose mods for test play, but that will be done in a saner way.

Closes #15870.
2021-12-10 18:57:45 +09:00
Bartłomiej Dach
10dd64e07c
Fix being able to paste objects while composer is loading
Would lead to exceptions due to modification of `Beatmap.HitObjects`
during its enumeration by `DrawableRuleset`, which was happening as an
async load via `EditorScreenWithTimeline.CreateMainContent()`.
2021-12-07 21:00:25 +01:00
Dean Herbert
1eed2436e6 Clean up unused resolved properties 2021-12-03 18:49:49 +09:00
Dean Herbert
a7e4e7be3a Remove the ability to specify a filename in ReplaceFile 2021-11-29 18:11:51 +09:00
Dean Herbert
e2ebcf7a26 Remove unnecessary manager parameter
Confused why I added this in the first place..
2021-11-25 18:36:03 +09:00
Dean Herbert
cc1b91e4bd Split out legacy model export logic into LegacyModelExporter classes 2021-11-25 16:41:12 +09:00
Dean Herbert
0eea026afb Remove null checks on CreateInstance() calls 2021-11-24 12:23:09 +09:00
Dean Herbert
7599efac30 Update editor cases where repeat should not be handled 2021-11-18 13:13:36 +09:00
Dean Herbert
5471994450
Merge branch 'master' into sample-point-multiple 2021-11-15 14:13:58 +09:00
Bartłomiej Dach
6b4b6de554
Fix test gameplay starting in a hidden state 2021-11-13 22:11:00 +01:00
Bartłomiej Dach
2562412125
Propagate clock state from gameplay test back to editor 2021-11-13 22:11:00 +01:00
Bartłomiej Dach
d2ddc25ab3
Propagate clock state from editor to gameplay test 2021-11-13 22:10:59 +01:00
Bartłomiej Dach
9a19a516f9
Adjust spacings on sample point piece popover 2021-11-13 21:59:45 +01:00
Bartłomiej Dach
73ca1d39a2
Improve sample bank text box UX in case of multiple selection 2021-11-13 21:59:44 +01:00
Bartłomiej Dach
3fee6b0938
Add support for setting sample bank & volume for multiple objects at once 2021-11-13 21:24:59 +01:00
Bartłomiej Dach
9800cd4903
Add test coverage for sample control point piece operation 2021-11-13 18:14:50 +01:00
Dean Herbert
983d5a6cb8
Merge branch 'master' into difficulty-point-multiple 2021-11-13 23:47:12 +09:00
Bartłomiej Dach
5f2a789a6d
Ensure editor clock is stopped before testing gameplay 2021-11-13 14:01:00 +01:00
Bartłomiej Dach
eb8c5292d5
Ensure editor background is dimmed after return from gameplay test 2021-11-13 13:50:57 +01:00
Bartłomiej Dach
b47c0b63f4
Tweak loader transition when testing gameplay in editor 2021-11-13 13:39:18 +01:00
Bartłomiej Dach
a5ba3bd012
Move gameplay test pieces to own namespace 2021-11-13 13:39:17 +01:00
Bartłomiej Dach
e1c28ddd76
Adjust difficulty point popover content spacing 2021-11-12 23:32:12 +01:00
Bartłomiej Dach
d567d2be97
Fix multiple issues with textbox content display
- Sometimes would display too many decimal digits due to floating point
  representation errors.

- Placeholder would also look wrong if text was removed during a
  multiple (but determinate) selection.
2021-11-12 23:32:12 +01:00
Bartłomiej Dach
e55e2a1697
Allow to adjust slider velocity on multiple objects simultaneously 2021-11-12 23:32:11 +01:00
Bartłomiej Dach
7ba93aac27
Add test coverage for difficulty point piece operation 2021-11-12 22:16:09 +01:00
Dean Herbert
54ae307a3d Trigger test via button click when using keyboard shortcut 2021-11-12 14:42:33 +09:00
Dean Herbert
e891c0ce53 Add keyboard shortcut to start test mode in editor 2021-11-12 14:13:11 +09:00
Dean Herbert
321aa456a7 Adjust button size slightly 2021-11-12 14:04:34 +09:00
Bartłomiej Dach
c465bcb821
Ensure track is stopped on player completion 2021-11-11 20:54:36 +01:00
Bartłomiej Dach
385df51b06
Ensure editor test player is exited on completion 2021-11-11 20:54:36 +01:00
Bartłomiej Dach
59727ce836
Add minimal implementation of gameplay testing from editor 2021-11-11 20:54:35 +01:00
Bartłomiej Dach
32b5a736c8
Add preview gameplay button to bottom editor bar 2021-11-11 17:12:21 +01:00
Dean Herbert
51a353e12d Rename BeatmapInfo.Version to DifficultyName to match underlying interface 2021-11-11 17:20:53 +09:00
Dean Herbert
ebe58cee11 Rename BeatmapInfo.StarDifficulty to StarRating to match underlying interface 2021-11-11 17:19:46 +09:00
Bartłomiej Dach
b25ad8dfcb
Copy editor timestamp to OS clipboard even when triggered via menu bar
Would only work when triggered via Ctrl+C before, and not work at all
for Ctrl+X.
2021-11-10 12:49:10 +01:00
Bartłomiej Dach
5e31e890ae
Extract class for clipboard contents for DI purposes 2021-11-10 12:36:23 +01:00
Bartłomiej Dach
042b05a250
Move clipboard action availability logic down to editor screens 2021-11-09 19:54:37 +01:00
Bartłomiej Dach
286754f6f7
Move clipboard operation implementation down to current screen 2021-11-09 19:54:37 +01:00
Dean Herbert
ed07ee8c61 Update all existing usages of AuthorString/AuthorId
Unfortunately the getters need to be left in place else EF breaks.
2021-11-04 18:59:37 +09:00
Dean Herbert
09701d0af1 Use explicit primitive type specification 2021-11-04 16:02:37 +09:00
Dean Herbert
0f4f1349db Merge branch 'master' into editor-context-menu-on-select 2021-11-04 15:59:06 +09:00
Bartłomiej Dach
11de924704
Use LocalisableStrings where possible to leverage localisable text flow 2021-11-02 21:42:02 +01:00
Dean Herbert
6944151486 Apply batch fixing of built-in types using var 2021-10-27 13:04:41 +09:00
Jason Won
c633e2e952 only propagate unmodified right click 2021-10-26 16:24:53 -04:00
Jason Won
f64fa65fd5 right click on unselected object shows context menu 2021-10-26 14:52:15 -04:00
Dean Herbert
c47497923a Schedule drag events for now 2021-10-15 19:52:44 +09:00
Dean Herbert
30c3fcb4ea Merge branch 'master' into slider-timeline-velcotiy-adjust-v2 2021-10-15 19:45:04 +09:00
Dean Herbert
3909fd8caa Fix wonkiness when dragging slider end at high input refresh rates 2021-10-15 19:43:57 +09:00
Dean Herbert
874d722820
Merge branch 'master' into fix-editor-difficulty-name-update 2021-10-15 11:14:45 +09:00
Dean Herbert
ad0732484f Just wait for metadata section to be loaded 2021-10-14 22:12:38 +09:00
smoogipoo
901f107b2e Merge branch 'master' into slider-timeline-velcotiy-adjust-v2 2021-10-14 17:25:51 +09:00
Dan Balasescu
fb9c3fe72e
Merge pull request #14619 from peppy/no-more-difficulty-control-points-info
Move `DifficultyControlPoint`s to be specified at a per-`HitObject` level
2021-10-14 17:24:32 +09:00
Dean Herbert
09536cd733 Add logging of WorkingBeatmapCache.Invalidate calls 2021-10-14 14:05:33 +09:00
Bartłomiej Dach
d067159435
Recolour elements of editor setup screen to match dropdown theming 2021-10-13 22:32:54 +02:00
Dean Herbert
02689a1b60 Use actual BeatmapInfo rather than PlayableBeatmap.BeatmapInfo for editor writes 2021-10-13 14:50:12 +09:00
smoogipoo
bc37cb6f43 Merge branch 'master' into no-more-difficulty-control-points-info 2021-10-08 18:41:17 +09:00
Dean Herbert
ef64c64f0b
Merge branch 'master' into popup-filter-effect 2021-10-07 18:56:07 +09:00
Dean Herbert
f98dd1b811
Merge branch 'master' into popup-filter-effect 2021-10-07 18:40:21 +09:00
Dean Herbert
0df409c050 Move difficulty copy to BeatmapModelManager.Save 2021-10-07 17:16:45 +09:00
Dean Herbert
4ca97bc60a
Merge branch 'master' into difficulty-move-to-beatmap 2021-10-06 16:14:21 +09:00
Dean Herbert
222997f2b9 Copy difficulty settings back out to BeatmapInfo on editor changes 2021-10-06 15:19:26 +09:00
Dean Herbert
b339c149d8 Copy BaseDifficulty to Beatmap<T> and move all write operations across 2021-10-06 15:10:45 +09:00
Dean Herbert
d9849bcf49 Fix dragging on an editor file selection text box causing repeated popover display
Local fix and no tests as this is a pretty weird usage of `TextBox`.
We'll probably want to change it to not use a textbox eventually.

Closes #14969.
2021-10-06 13:15:05 +09:00
Dean Herbert
ec61c3c5ee Rename all remaining cases 2021-10-03 00:55:29 +09:00
Dean Herbert
ac471a0ec1 Merge branch 'no-more-difficulty-control-points-info' into slider-timeline-velcotiy-adjust-v2 2021-10-01 17:46:58 +09:00
Jamie Taylor
4d91204faf
Pause Editor sample playback while popup dialog is shown 2021-09-29 20:46:41 +09:00
Dean Herbert
46bafb6252 Merge branch 'master' into no-more-difficulty-control-points-info 2021-09-28 13:53:56 +09:00
Bartłomiej Dach
ca6cbca04a
Fix range selection crashing after non-mouse selection 2021-09-27 20:54:29 +02:00
Dean Herbert
df85092426 Resolve inner items early in process and rename variable 2021-09-27 14:24:17 +09:00
Dean Herbert
41fb3371e5
Merge branch 'master' into blueprint-container-sorting 2021-09-27 14:12:09 +09:00
Bartłomiej Dach
d3203f83dd
Add implementation of range selection 2021-09-26 20:12:26 +02:00
Bartłomiej Dach
81d160c85a
Add test covering expected UX of range selection 2021-09-26 19:27:47 +02:00
Bartłomiej Dach
6dc3e66c93
Include combo information when determining ordering if available 2021-09-26 15:52:25 +02:00
Bartłomiej Dach
a86b9893ac
Always re-sort blueprints before adding/removing one 2021-09-26 15:48:56 +02:00
Bartłomiej Dach
4e094b2127
Implement grid size toggling matching stable 2021-09-19 20:26:02 +02:00
Bartłomiej Dach
56e80a0706
Add rectangular position snap grid 2021-09-19 18:07:19 +02:00
smoogipoo
e8dea0138c Fix one more issue 2021-09-16 18:34:13 +09:00
smoogipoo
f9d5abff8a Update with keybinding changes 2021-09-16 18:26:12 +09:00
Dean Herbert
fa693bb8a8 Move MusicController adjustment set to inside OsuScreen itself (and result nullable) 2021-09-16 16:08:09 +09:00
AbstractQbit
318f0941ca Move all the "inherit previous AllowTrackAdjustments" logic into OsuScreen 2021-09-15 21:25:39 +03:00
Dean Herbert
931e873a7e
Merge branch 'master' into inheritable-allow-track-adjust 2021-09-15 22:26:13 +09:00
Dean Herbert
13f88cbc4e Fix EditorClock retaining a reference to potentially outdated ControlPointInfo 2021-09-14 23:56:57 +09:00
AbstractQbit
b9193aae6d Make IOsuScreen.AllowTrackAdjustments nullable
Allows for inheriting value from the previous screen if undefined
2021-09-14 17:37:57 +03:00
Dean Herbert
57f8ccca16 Remove nullability from EditorState properties
Also update the xmldoc to not be specific to difficulty switching
2021-09-14 23:36:28 +09:00
Dean Herbert
f8bdca542d Make restoring state a public call on Editor 2021-09-14 23:36:17 +09:00
Dean Herbert
2a894e7a3f Make EditorLoader state private 2021-09-14 23:26:02 +09:00
Dean Herbert
563bf92529 Also update the full object on sample changes to make them apply immediately 2021-09-14 19:21:23 +09:00
Dean Herbert
d825da3983 Add note about a better way to adjust velocity 2021-09-14 18:54:29 +09:00
Dean Herbert
e4dd59aee2 Add popovers to adjust SV and samples from the timeline 2021-09-14 18:51:22 +09:00
Dean Herbert
9d17f84681 Adjust timeline height to account for less global control points 2021-09-14 18:51:11 +09:00
Dean Herbert
9551e77553 Remove difficulty and sample sections from timing screen 2021-09-14 18:51:11 +09:00
Dean Herbert
87cfcf706e Add ability to change slider velocity with shift-drag 2021-09-14 18:26:17 +09:00
Dean Herbert
b19dc5e41f Remove all legacy ControlPoints when entering the editor 2021-09-14 18:26:16 +09:00
Dean Herbert
6015b5037a Display difficulty and sample control points associated with hitobjects 2021-09-14 18:26:16 +09:00
Bartłomiej Dach
35ee889e5b
Restore clipboard content after difficulty switch 2021-09-13 21:04:27 +02:00
Bartłomiej Dach
79d0f4835e
Add failing tests for preserving clipboard content 2021-09-13 21:03:30 +02:00
Bartłomiej Dach
3fc72271f1
Restore editor clock time after difficulty switch 2021-09-13 20:59:31 +02:00
Dean Herbert
65fdceee79
Merge branch 'master' into editor-test-scenes-through-loader 2021-09-13 14:02:55 +09:00
Bartłomiej Dach
345cde251d
Add "samples match playback rate" to editor setup screen 2021-09-12 16:54:17 +02:00
Bartłomiej Dach
22fa9a303e
Expose test helper for switching between difficulties 2021-09-12 13:55:48 +02:00
Bartłomiej Dach
8357efc74f
Make EditorTestScene go through EditorLoader 2021-09-12 13:26:04 +02:00
Dean Herbert
9edd010b1d Fix unnecessary background screen transition 2021-09-07 14:34:54 +09:00
Dean Herbert
7921ad4516 Add loading spinner in case load takes longer than expected 2021-09-07 14:34:47 +09:00
Dean Herbert
ddaa95a1ca Fix pushEditor function running twice on returning to loader 2021-09-07 14:34:18 +09:00
Bartłomiej Dach
5b9f37702b
Remove unnecessary delay before pushing editor from loader 2021-09-06 21:32:23 +02:00
Bartłomiej Dach
2d59008f52
Move screen management logic to EditorLoader 2021-09-06 21:30:50 +02:00
Bartłomiej Dach
bd7d6dd35d
Rename method 2021-09-06 21:27:17 +02:00
Dean Herbert
ce197b6322 Fix missing attribute text (and give slightly more space for "10.00x" cases 2021-09-06 21:40:30 +09:00
Dean Herbert
3c7a34bdbd Move mania-specific conversion to converter 2021-09-06 21:06:13 +09:00
Dean Herbert
52b6b05883 Update terminology in timing screen for now 2021-09-06 21:06:13 +09:00
Dean Herbert
0500cd578a Merge branch 'master' into no-more-difficulty-control-points-info 2021-09-06 21:06:12 +09:00
Bartłomiej Dach
d6a47fd99c
Sort difficulties by ruleset and star rating in menu 2021-09-05 21:48:11 +02:00
Bartłomiej Dach
7012a1d934
Fix issues with main menu -> editor loader transition 2021-09-05 21:48:11 +02:00
Bartłomiej Dach
382269b362
Test staying on same difficulty due to unsaved changes 2021-09-05 21:48:10 +02:00
Bartłomiej Dach
c72523bc14
Add basic test for difficulty switching 2021-09-05 21:48:10 +02:00
Bartłomiej Dach
a9403b65b3
Eliminate dependency on OsuGame 2021-09-05 21:48:10 +02:00
Bartłomiej Dach
c397cc2027
Restructure proof of concept 2021-09-05 21:48:09 +02:00
Bartłomiej Dach
fe2520c599
Add intermediary screen to avoid going back to menus 2021-09-05 21:48:09 +02:00
Bartłomiej Dach
7befd030df
Minimal working example of switching difficulties 2021-09-05 21:48:09 +02:00
Bartłomiej Dach
90f0b6874f
Highlight current difficulty in switcher 2021-09-05 21:48:08 +02:00
Bartłomiej Dach
e8fb5d2e66
Add non-functional difficulty switcher to menu 2021-09-05 21:48:08 +02:00
Dean Herbert
e0ee2a5533 Change section title to read better 2021-09-05 13:34:57 +09:00
Dean Herbert
25420af078 Rename method to drop redundant ruleset suffix 2021-09-05 13:34:23 +09:00
Bartłomiej Dach
1a90fb1ef3
Fix cached property being assigned twice 2021-09-04 19:52:42 +02:00
Dean Herbert
f42131ff89 Add back editor functionality for now 2021-09-03 19:08:23 +09:00
Dean Herbert
d4e5a612ea Update IPositionalSnapProvider to take a HitObject as reference, rather than raw time
This allows fetching the correct `DifficultyControlPoint` from the
hitobject. Nothing more.
2021-09-03 17:11:12 +09:00
Dean Herbert
a3d9ab1e2e Move approach rate to EffectControlPoint 2021-09-03 16:58:16 +09:00
Dean Herbert
071c56e90b Update usages of DifficultyPointAt 2021-09-03 16:58:16 +09:00
Bartłomiej Dach
ce1912781e
Add extension point for ruleset-specific beatmap setup sections 2021-09-02 23:29:14 +02:00
Dan Balasescu
6c649b7bbe
Merge branch 'master' into no-more-sample-control-points-info 2021-09-02 18:09:05 +09:00
Dean Herbert
0319177c5c Fix pixels poking out of the top edge of editor setup screen 2021-09-01 16:46:19 +09:00
Dean Herbert
edf29e405b
Merge pull request #14581 from bdach/setup-screen-countdown-settings
Add countdown settings to setup screen
2021-09-01 15:35:46 +09:00
Bartłomiej Dach
5dc938cc9f
Update tests to match expectations 2021-08-31 22:41:47 +02:00
Bartłomiej Dach
04773b51bb
Remove countdown toggle transition for now
Tricky to get right and the design isn't final as is anyway, so leaving
*something* functioning as a best-effort for now.
2021-08-31 22:41:40 +02:00
Dean Herbert
ce0d7cce2d Merge branch 'remove-ijsonserializable' into no-more-sample-control-points-info 2021-08-31 14:40:54 +09:00
Dean Herbert
c25ab6835c Remove IJsonSerializable interface
Was pretty pointless and made it hard to use the custom serialisation
terms arbitrarily in tests.
2021-08-31 14:39:20 +09:00
Bartłomiej Dach
ddf9d2aa6c
Add test coverage 2021-08-30 22:55:58 +02:00
Bartłomiej Dach
eec9f6d191
Add countdown settings to design section 2021-08-30 22:51:41 +02:00
Dean Herbert
ccacf56dd8 Move to legacy namespace 2021-08-30 17:14:53 +09:00
Dean Herbert
7257aae7f2 Move samples to LegacyControlPointInfo 2021-08-30 17:14:53 +09:00
Bartłomiej Dach
fcc3e57d5d
Move overlay colour provider up to editor screen 2021-08-28 20:05:58 +02:00
Bartłomiej Dach
e94d96f250
Add local popover container to editor screens 2021-08-28 20:05:58 +02:00
Salman Ahmed
b4d6495f99 Fix editor skin providing container not providing playable beatmap 2021-08-25 17:52:36 +03:00
Salman Ahmed
3ad0b529fb Make EditorScreen inherit from VisibilityContainer rather than unsafe transforms 2021-08-25 17:14:52 +03:00
Bartłomiej Dach
ccf337bdc2
Merge branch 'master' into editor-setup-file-selector-popovers 2021-08-23 18:28:44 +02:00
Salman Ahmed
bd42d7aada Hide popover on file selection 2021-08-23 18:01:01 +03:00
Dean Herbert
c2c9a93e2c Show editor file choosers in a popover rather than inline
Supersedes and closes #14370.
Closes #14367.
2021-08-23 18:12:36 +09:00
Dean Herbert
2f6b95da39 Add descriptions for the remaining settings 2021-08-23 17:41:03 +09:00
Dean Herbert
1de84e1c98
Change description to include mention of video
Co-authored-by: Joseph Madamba <madamba.joehu@outlook.com>
2021-08-23 17:34:19 +09:00
Bartłomiej Dach
2e80e2be51
Reword epilepsy warning description text 2021-08-22 21:47:37 +02:00
Bartłomiej Dach
9816af688e
Add basic design settings to setup screen 2021-08-22 17:43:20 +02:00
Dean Herbert
98357d51da
Merge pull request #14323 from minetoblend/editor-seek
Prevent seeking before mp3 start time while editor is playing
2021-08-20 13:28:20 +09:00
Salman Ahmed
8c5d99ab21 Override CreateInstance() in osu! bindable subclasses
Three bindables are left which don't have this overriden due to them
already not having a value-only constructor and not supporting
`GetBoundCopy()` properly:
 - `BeatmapDifficultyCache.BindableStarDifficulty`.
 - `TotalScoreBindable`
 - `TotalScoreStringBindable`

I could add support for them by passing the required data to them, as
they seem to be able to have that shared, but I'm hesitant to support
something which was already broken and never used, not sure.
2021-08-18 04:19:58 +03:00
Dean Herbert
f16468b706 Improve visibility of repeat ticks / drag areas on timeline 2021-08-17 18:17:55 +09:00
Marvin Schürz
78f9f4a230 Move time clamp to Seek/transformSeekTo methods 2021-08-16 20:39:09 +02:00
Dean Herbert
1c7cbc8621 Add missing readonly keyword to new bindable 2021-08-16 17:14:13 +09:00
Bartłomiej Dach
6108451449
Retrieve separated skin instance from working beatmap for editing 2021-08-15 21:18:09 +02:00
Bartłomiej Dach
81280dfd25
Use editable skin structure in combo colour picker 2021-08-15 21:18:08 +02:00
Bartłomiej Dach
0d64da8c63
Add skin providing container responding to beatmap skin edits 2021-08-15 21:18:08 +02:00
Bartłomiej Dach
df43e758ee
Add editable beatmap skin 2021-08-15 21:18:07 +02:00
Marvin Schürz
d287db7961 Clamping seekTime to beatmap length 2021-08-15 14:48:56 +02:00
Jamie Taylor
c1d8a7e2ad
Add and use 'Submit' select sample variant for particular components 2021-07-30 21:35:28 +09:00
Jamie Taylor
be3c02ff7f
Remove 'Soft' select sample variant usage (soft is the new default) 2021-07-30 21:35:27 +09:00
Bartłomiej Dach
0691c0dd63
Switch Colour{Display,Palette} to use Colour4 2021-07-29 23:14:32 +02:00
Henry Lin
89e8296eb1 Reset all types of adjustments in MusicController; Rename AllowRateAdjustments to AllowTrackAdjustments 2021-07-29 15:39:26 +08:00
Bartłomiej Dach
239b38a0ab
Reduce implicit conversions by using default 2021-07-27 21:46:29 +02:00
Lucas A
94877117b9 Apply changes in-line with framework changes. 2021-07-27 18:22:47 +02:00
Dean Herbert
50a2abbe7f
Merge pull request #12683 from frenzibyte/legacy-beatmap-combo-offset
Apply combo offsets "colour hax" only on beatmap skins
2021-07-23 14:30:18 +09:00
Salman Ahmed
7bc30b46ff Use BindValueChanged with last running immediately instead 2021-07-23 07:51:58 +03:00
Salman Ahmed
ee3791ccf2 Update colours once on TimelineHitObjectBlueprint 2021-07-23 06:25:56 +03:00
Salman Ahmed
523c154f15 Add ComboIndexWithOffsetsBindable and bind similar to ComboIndexBindable 2021-07-22 16:40:33 +03:00
Dean Herbert
29ffae4025
Merge pull request #13967 from nekodex/new-select-sounds
Add new 'soft' select sound variant and use it in some places
2021-07-22 16:21:03 +09:00
Dean Herbert
8b1202153a
Merge pull request #13951 from LumpBloom7/timeline-object-interactions
Make timeline blueprints outside of TimelineBlueprint boundaries interactable
2021-07-22 16:20:22 +09:00
Dean Herbert
957a0686ed Split out nested classes from TimelineBlueprintContainer
They got too big.
2021-07-22 15:48:08 +09:00
Dean Herbert
b5cc9010de Move resolved property to top of class 2021-07-22 15:39:01 +09:00
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