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

2248 Commits

Author SHA1 Message Date
Dean Herbert
8ce50e98a6 Move delegate debounce logic to Editor itself 2022-08-17 14:04:57 +09:00
Dean Herbert
ee153a345c Add a few more overlooked beatmap save states on setup screen modifications 2022-08-16 16:31:56 +09:00
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