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
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
12d6d6793c
Move EditorClock
processing to Update
and always decouple
2022-08-26 18:08:43 +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
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
Dean Herbert
cc4cde2c79
Improve IBeatSyncProvider
interface and reduce beatmap track dependence
2022-08-02 17:59:18 +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
Micahel Kelly
dd315ff97b
Adds hard-delete for a beatmap diff
2022-07-27 21:21:16 +10:00
Micahel Kelly
e6fad601cc
Adds delete difficulty option to editor
2022-07-27 19:15:43 +10:00
Dean Herbert
f713253d1b
Fix formatting inconsistencies in empty ctor
s
2022-07-22 14:00:29 +09:00
LukynkaCZE
ed94d7fce8
Fix requested changes
2022-07-22 02:46:17 +02: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
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
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
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
c61e90d768
Change editor seek-while-playing modifier to be BPM agnostic
2022-06-21 13:07:50 +09:00
Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +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
Jamie Taylor
5e3ccf7087
Don't play 'back' sample when exiting Editor
2022-06-15 15:41:28 +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
Bartłomiej Dach
e511c1dfff
Merge branch 'master' into use-normalised-precise-scrolling
2022-05-27 16:55:13 +02:00
Dean Herbert
fb586fe0b2
Merge branch 'master' into editor-bottom-bar-new-design
2022-05-26 18:32:28 +09:00
Dean Herbert
8791e3b9ef
Split BottomBar
out of Editor
2022-05-25 23:54:59 +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
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
Susko3
88217e0c98
Adjust ScrollDelta
usages to account for normalised IsPrecise
values
2022-05-23 20:22:27 +02: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
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
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
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
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
f15b8781bb
Move editor mode selector out of EditorMenuBar
to allow for better reuse
2022-03-02 20:05:01 +09: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
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
/RulesetInfo
s
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
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
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
Salman Ahmed
f7f58b06a1
Fix beat divisor not saving in editor
2022-01-25 11:56:38 +03: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
a3276758b8
Remove unnecessary re-query of beatmap set in editor menu construction
2022-01-12 17:00:16 +09:00
Dean Herbert
83cbee39de
Mark cases where BeatmapSet
is generally guaranteed to be non-null
2022-01-12 16:39:36 +09:00
Dean Herbert
1eed2436e6
Clean up unused resolved properties
2021-12-03 18:49:49 +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
7599efac30
Update editor cases where repeat should not be handled
2021-11-18 13:13:36 +09: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
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
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
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
ebe58cee11
Rename BeatmapInfo.StarDifficulty
to StarRating
to match underlying interface
2021-11-11 17:19:46 +09: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
6944151486
Apply batch fixing of built-in types using var
2021-10-27 13:04:41 +09:00
Dean Herbert
09536cd733
Add logging of WorkingBeatmapCache.Invalidate
calls
2021-10-14 14:05:33 +09:00
Dean Herbert
02689a1b60
Use actual BeatmapInfo
rather than PlayableBeatmap.BeatmapInfo
for editor writes
2021-10-13 14:50:12 +09:00
Jamie Taylor
4d91204faf
Pause Editor
sample playback while popup dialog is shown
2021-09-29 20:46:41 +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
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
f8bdca542d
Make restoring state a public
call on Editor
2021-09-14 23:36:17 +09:00
Bartłomiej Dach
35ee889e5b
Restore clipboard content after difficulty switch
2021-09-13 21:04:27 +02:00
Bartłomiej Dach
3fc72271f1
Restore editor clock time after difficulty switch
2021-09-13 20:59:31 +02:00
Bartłomiej Dach
22fa9a303e
Expose test helper for switching between difficulties
2021-09-12 13:55:48 +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
Bartłomiej Dach
d6a47fd99c
Sort difficulties by ruleset and star rating in menu
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
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
Salman Ahmed
3ad0b529fb
Make EditorScreen
inherit from VisibilityContainer
rather than unsafe transforms
2021-08-25 17:14:52 +03:00
Bartłomiej Dach
6108451449
Retrieve separated skin instance from working beatmap for editing
2021-08-15 21:18:09 +02:00
Henry Lin
89e8296eb1
Reset all types of adjustments in MusicController
; Rename AllowRateAdjustments
to AllowTrackAdjustments
2021-07-29 15:39:26 +08:00
ekrctb
1bac471b49
Adapt to PlatformAction
type change
2021-07-21 16:12:53 +09:00
Dean Herbert
3c028ce05c
Add IDeepCloneable
interface and update existing CreateCopy
methods to use it
2021-07-19 12:54:17 +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
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
b36c991ba1
Fix single case of incorrect usage
2021-05-14 12:04:38 +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
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
7654df94f6
Merge pull request #12395 from frenzibyte/fix-cinema-ignore-settings
...
Fix beatmap background displayed if storyboard is hidden on "Cinema" mod
2021-04-14 14:31:03 +09:00
Salman Ahmed
36510309d1
Merge EnableUserDim
and IgnoreUserSettings
to one bindable
2021-04-13 10:58:56 +03:00
Dean Herbert
14bd5bdc77
Merge branch 'master' into verify-tab
2021-04-12 15:14:37 +09:00
Bartłomiej Dach
4df7ff21c7
Fix editor arrow seek snapping not updating after control point changes
...
The editor clock, which is responsible for performing the seek, was not
aware of changes in control points due to reading from the wrong
beatmap. `loadableBeatmap` is not actually changed by any of the editor
components; `playableBeatmap` and `editorBeatmap` are.
For now this is changed to use `playableBeatmap`. A better follow-up
would be to use `editorBeatmap`, but it would probably be best to move
the beat snap bindable into `EditorBeatmap` first.
2021-04-03 14:02:46 +02:00
Dean Herbert
690debe507
Merge pull request #12030 from LeNitrous/editor-platform-clipboard-copy
2021-03-29 19:31:16 +09:00
Naxess
d58ef5310b
Add verify tab
...
Currently empty, but works.
2021-03-28 17:36:22 +02:00
Nathan Alo
c96321206a
fix appveyor complaints
2021-03-26 16:17:24 +08:00
Nathan Alo
2bea69456e
remove implementations
2021-03-26 15:24:33 +08:00
Nathan Alo
51e0304c54
properly format strings per ruleset
2021-03-17 18:31:09 +08:00
Nathan Alo
133ff085a5
refactor code
2021-03-17 18:06:40 +08:00
Nathan Alo
8046b5a818
set text to platform clipboard on copy
2021-03-17 17:35:49 +08:00
Dean Herbert
3b6a1180b6
Remove non-accessed field
2021-03-17 17:02:11 +09:00
Dean Herbert
c7740d1181
Fix opening the editor occasionally causing a hard crash due to incorrect threading logic
...
Setting one of the global screen `Bindable`s (in this case, `Beatmap`)
is not valid from anywhere but the update thread. This changes the order
in which things happen during the editor startup process to ensure
correctness.
Closes #11968 .
2021-03-17 15:52:25 +09:00
Dan Balasescu
c70dd2edfc
Merge pull request #11569 from peppy/fix-editor-new-beatmap-crash
...
Fix a potential crash when exiting the editor before a new beatmap is added to the database
2021-02-01 21:01:51 +09:00