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

2217 Commits

Author SHA1 Message Date
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