1
0
mirror of https://github.com/ppy/osu.git synced 2024-09-22 12:07:23 +08:00
Commit Graph

2283 Commits

Author SHA1 Message Date
Dean Herbert
a9088d9231 Add assert/log output when too many ticks are being displayed 2022-09-27 17:18:46 +09:00
Dean Herbert
e227519b09 Don't attempt to render timeline ticks until DrawWidth is above zero 2022-09-27 17:18:46 +09:00
Dean Herbert
ccae721af2 Ensure ZoomableScrollContainer content isn't shown until zoom is set 2022-09-27 17:07:11 +09:00
Dean Herbert
9dc0eb7fd0 Remove unused static 2022-09-27 17:04:56 +09:00
Drison64
c075d3de08 Create a test and a check if initial zoom value of ZoomableScrollContainer is in range 2022-09-17 22:43:40 +02:00
Ondřej Vajďák
9d94343317
Update osu.Game/Screens/Edit/Compose/Components/Timeline/Timeline.cs
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-09-17 19:51:44 +02:00
Drison64
c8768eb399 Changed == to <= on TimelineZoom check 2022-09-17 19:00:50 +02:00
Drison64
3c7ea5c8fa Update 2022-09-17 18:57:09 +02:00
Drison64
0b6a77bc8b EditorBeatmap's TimelineZoom should never be zero 2022-09-17 15:59:42 +02:00
Dean Herbert
f53507828c Rename event to be more generic (and add comprehensive xmldoc) 2022-09-13 14:59:30 +09:00
OliBomby
fd48249eef fix with new event 2022-09-13 02:20:52 +02:00
OliBomby
718f8c4ee2 revert the fix 2022-09-13 01:09:42 +02:00
OliBomby
8400de4b2e invoking hitobject updated before invoking removed 2022-09-12 17:50:11 +02:00
Salman Ahmed
90207b6032
Merge branch 'master' into feature/EditorDeleteDiff 2022-09-06 18:48:06 +03:00
Dean Herbert
db15bd56e8 Invalidate working beatmap cache when calling DeleteDifficultyImmediately rather than in editor code 2022-09-06 18:12:47 +09:00
Dean Herbert
57954bb8f5 Enable nullability on TimelineHitObjectBlueprint 2022-09-05 14:50:43 +09:00
Dean Herbert
4f18105e9d Ensure next beatmap selected matches the menu ordering 2022-09-02 17:57:00 +09:00
Dean Herbert
840d1c4cd5 Disable delete difficulty menu item when only one difficulty is present 2022-09-02 17:14:48 +09:00
Dean Herbert
9fd8067e11 Tidy up dialog and deletion flow 2022-09-02 17:07:09 +09:00
Dean Herbert
605108c938 Refactor/rename deletion method to read better 2022-09-02 16:59:01 +09:00
Dean Herbert
b388428e1c
Merge branch 'master' into feature/EditorDeleteDiff 2022-09-02 16:48:38 +09:00
Dean Herbert
6a35b233e5 Merge branch 'master' into remove-dispose-updates 2022-09-01 23:03:19 +09:00
Dean Herbert
cfc7c32aff
Merge pull request #20009 from frenzibyte/fix-back-to-front-comparison
Adjust weirdly back-to-front fallback comparison in `HitObjectOrderedSelectionContainer`
2022-08-31 14:14:10 +09:00
Dean Herbert
2dafa041a7 Account for offset being applied to editor clock time in TestSceneEditorClock 2022-08-29 16:42:50 +09:00
Dean Herbert
a215d009fe Update Remove/RemoveRange/RemoveAll calls in line with framework changes 2022-08-29 15:57:40 +09:00
Salman Ahmed
3ff2058975 Fix back-to-front fallback comparison in HitObjectOrderedSelectionContainer 2022-08-29 09:23:53 +03:00
Dean Herbert
cd90536e4b Remove Track access in Timeline 2022-08-26 18:25:48 +09:00
Dean Herbert
12d6d6793c Move EditorClock processing to Update and always decouple 2022-08-26 18:08:43 +09:00
Dean Herbert
31e459364b Use FramedBeatmapClock in EditorClock 2022-08-26 17:28:58 +09:00
Dean Herbert
ec61a94dc9 Merge branch 'master' into no-gameplay-clock-gameplay-offset 2022-08-23 17:36:06 +09:00
Dean Herbert
af2e82d7d5 Move operation of setting GameplayClockContainer.StartTime to Reset call 2022-08-22 14:11:06 +09:00
Dean Herbert
cbdd870ecf
Merge pull request #19693 from its5Q/editor-localisation
Add localisation support for beatmap editor setup
2022-08-20 11:51:57 +09:00
its5Q
4c24d8ed58 Improve string consistency 2022-08-19 03:17:05 +10:00
Dan Balasescu
0cf3c5570a
Merge pull request #19800 from peppy/fix-editor-ear-rape
Fix slider ticks playing back at infinite rate while making changes to a slider in the editor
2022-08-17 15:50:58 +09:00
Dean Herbert
6b9dec5996 Restore original event flow to allow for OnSuspend case to work correctly 2022-08-17 14:32:21 +09:00
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