Salman Ahmed
abca13eb6c
Rewrite visualisation piece to bind once and without potential event leak
2023-01-07 14:40:15 +03:00
Salman Ahmed
904c76e437
Use sane BeatmapInfo
for preview time mutation
...
`EditorBeatmap.BeatmapInfo` is usually the correct instance for mutating
properties that should persist in the database.
2023-01-07 14:23:36 +03:00
ansel
b47cef838c
Nullability
2023-01-07 03:08:02 +03:00
ansel
167ac8b5dd
Fix editor object being requered
2023-01-07 03:03:52 +03:00
ansel
9364c7775d
Refresh background on file change in editor
2023-01-06 19:26:30 +03:00
ansel
e90c698e62
Fix WCD does not take into account start time of control points
2023-01-06 16:35:39 +03:00
Dean Herbert
c0cfa66510
Merge pull request #21754 from Feodor0090/waveform-invalidate
...
Reload waveform on track replacement in editor
2023-01-06 19:57:27 +08:00
ansel
c6e2104ec2
Refresh waveforms instead of recreating the whole component
2023-01-06 03:46:49 +03:00
Bartłomiej Dach
b689ad6d80
Fix changing preview point not prompting for save
2023-01-01 19:54:26 +01:00
Bartłomiej Dach
efdd557f3b
Adjust binding logic
2023-01-01 19:45:23 +01:00
Bartłomiej Dach
452ebddfd2
Adjust visual appearance of preview time part
...
- Use slightly different hue of green to distinguish from difficulty
control points. The colour is still not ideal, but picking
a distinctive enough hue is pretty hard.
- Place the preview time part at the bottom rather at the top.
Not sure why it was at the top; not only could it overlap with the
control points, but it also looked quite badly misaligned there
when bookmarks were displayed at the bottom.
2023-01-01 19:42:55 +01:00
Bartłomiej Dach
a82f1a6abd
Adjust method naming and copy
2023-01-01 18:50:47 +01:00
Bartłomiej Dach
0e59b55a12
Merge branch 'master' into previewTime
2023-01-01 18:38:19 +01:00
cdwcgt
23c485c763
readonly
2022-12-30 22:59:56 +09:00
cdwcgt
a91da2284d
safe way to pass bindable
2022-12-30 22:58:46 +09:00
Berkan Diler
c7ca4bbba5
Use generic Enum methods
2022-12-26 20:36:39 +01:00
ansel
f25439e359
Move track change subscription to LoadComplete
2022-12-23 01:54:49 +03:00
Salman Ahmed
0cb9b79834
Fix ZoomableScrollContainer
potentially not updating content width on setup
2022-12-23 00:56:38 +03:00
Salman Ahmed
30de9ba795
Dispose previous waveform on track reload
2022-12-23 00:35:59 +03:00
ansel
20370bd5ae
Invalidate waveform on track load
2022-12-22 20:49:09 +03:00
ansel
d0645ce151
Rewrite waveform invalidation
2022-12-22 15:59:51 +03:00
ansel
f2e8776529
Bind to clock instead of music controller
2022-12-22 15:35:53 +03:00
ansel
a18ece8610
Listen for track reload in timing screen
2022-12-22 01:24:23 +03:00
ansel
7089bb6c23
Listen for track reload in timeline
2022-12-22 01:23:59 +03:00
ansel
66a02374da
Clear cached waveform on track change in editor
2022-12-22 01:23:24 +03:00
Dean Herbert
4a7d7c6ed9
Use MaxBy
in all locations that can and update inspection level to match dotnet-build
2022-12-19 16:47:10 +09:00
Dean Herbert
ba54551313
Merge branch 'master' into guard-url-protocols
2022-12-16 18:23:16 +09:00
Dean Herbert
27c497145f
Fix the MOTHERLOAD of undetected issues that are now visible thanks to net6.0
2022-12-16 18:16:26 +09:00
cdwcgt
a4d28aff6d
fix typo
2022-12-16 10:48:56 +09:00
cdwcgt
79e27c2d9d
PreviewTimePart
will not show if preview time is -1
2022-12-16 10:44:07 +09:00
cdwcgt
f0246df1a9
only get;
2022-12-16 09:58:58 +09:00
cdwcgt
c164744064
Add ability to set preview time
2022-12-16 01:03:30 +09:00
Dean Herbert
b8904fe747
Move ImportParameters
to better home
2022-12-13 21:41:26 +09:00
Dean Herbert
cb16d62700
Hook up ImportParameter
flow with IModelImporter
caller methods
2022-12-13 21:29:32 +09:00
cdwcgt
e02b8cb199
Group export methods into their respective managers
2022-12-11 18:30:24 +09:00
cdwcgt
a1fc33668c
Merge branch 'master' into export
2022-12-09 23:40:26 +09:00
Dean Herbert
5a69656764
Merge pull request #21496 from peppy/fix-zero-length-spinners
...
Fix being able to place zero-length spinners
2022-12-02 19:25:00 +09:00
Dan Balasescu
850931120d
Merge pull request #21479 from peppy/fix-wrong-last-hit-object-time
...
Fix some components not accounting for final hold notes in osu!mania beatmaps
2022-12-02 18:12:00 +09:00
Dean Herbert
d1296a22ce
Update timeline blueprint's end time logic to better match new blueprint implementation
2022-12-02 17:57:15 +09:00
Dan Balasescu
a39bd634c4
Merge pull request #21405 from LumpBloom7/Editor-DrawableRuleset-Dependencies
...
Provide DrawableRulesetDependencies from HitObjectComposer
2022-12-02 17:31:31 +09:00
Dan Balasescu
d684aa75b8
Merge pull request #21477 from peppy/fix-mania-timeline-blueprint-colour
...
Fix osu!mania editor timeline showing bright-white blueprints
2022-12-02 16:55:29 +09:00
Dean Herbert
a2db0afe19
Avoid querying GetLastObjectTime
twice in editor seek flow
2022-12-02 16:07:24 +09:00
Dean Herbert
8cf89fcb81
Use Highlight1
instead of dull grey
2022-12-02 15:30:47 +09:00
Dean Herbert
896f2d8f74
Fix multiple instances of last hitobject time being calculated incorrectly
2022-12-01 18:04:06 +09:00
Dean Herbert
f34a79b1a9
Set a better default colour for timeline blueprints when no colour information is available
2022-12-01 17:03:53 +09:00
Dean Herbert
bbf023cf68
Fix incorrect culture used when parsing timeline popup textbox content
2022-12-01 16:12:29 +09:00
Derrick Timmermans
5c8fce1c08
Remove extra blank line
2022-11-30 13:05:14 +01:00
Derrick Timmermans
6a61e70766
Expose Ruleset from HitObjectComposer instead
2022-11-30 12:17:58 +01:00
Dean Herbert
4215f4f5d7
Merge branch 'master' into Editor-DrawableRuleset-Dependencies
2022-11-30 17:42:46 +09:00
Dean Herbert
2a3b24d058
Avoid need for implicit null casting
2022-11-30 14:21:04 +09:00
Dean Herbert
0659c84341
Rename method to be more in line with project naming
2022-11-30 14:17:49 +09:00
Jai Sharma
7dbf379351
Don't use verbatim string literals
2022-11-29 18:22:07 +00:00
Derrick Timmermans
70c320b2e8
Provide ruleset dependencies only to Compose Placement Blueprints
2022-11-27 21:43:33 +01:00
Jai Sharma
218c04c174
Code quality
2022-11-27 03:23:08 +00:00
Jai Sharma
6000e14668
Correctly select issue row
2022-11-27 03:08:54 +00:00
Jai Sharma
3c56b9c93a
Add OnRowSelected
event to EditorTable
2022-11-27 02:47:54 +00:00
Jai Sharma
792334a190
Move Control Group timing data into it's own component
2022-11-27 02:47:02 +00:00
Jai Sharma
b6d7bec240
Remove #nullable disabled
from EditorTable
and it's derived classes
2022-11-27 02:45:56 +00:00
Jai Sharma
1a914d0df7
Remove #nullable disable
from TimingScreen
2022-11-27 02:43:22 +00:00
Bartłomiej Dach
894ef15e79
Merge branch 'master' into update-framework
2022-11-26 16:19:36 +01:00
Dan Balasescu
7bc8908ca9
Partial everything
2022-11-27 00:00:27 +09:00
Bartłomiej Dach
fca3e7e39f
Merge branch 'master' into editor-seek-control-points
2022-11-24 21:53:47 +01:00
Dean Herbert
37f725bfa2
Reverse directionality of up/down traversal keys to match scroll
2022-11-24 13:55:58 +09:00
Bartłomiej Dach
30f9cc46a7
Protect offset and bpm adjustments from null selection too
2022-11-23 17:25:43 +01:00
Dean Herbert
9b9b8a5977
Add ability to seek between control points in editor using down/up arrows
...
Matches stable. Addresses #21376 .
2022-11-23 15:59:32 +09:00
Dean Herbert
d146f86511
Fix crash when hitting 'T' to tap timing while no timing point is selected
2022-11-23 15:39:56 +09:00
cdwcgt
e37d30a373
refactor based on reviews
...
removed LegacyExportManager
Separated the method of CreateZip method and the default export method
2022-11-21 18:58:01 +09:00
Bartłomiej Dach
1269afd0c5
Merge pull request #21307 from frenzibyte/disable-scroll-speed-on-osu
...
Hide scroll speed control from effects section on rulesets which don't support it
2022-11-20 16:17:55 +01:00
Salman Ahmed
4b0ba86bd0
Identify scrolling rulesets using temporary DrawableRuleset
instances
2022-11-20 04:12:52 +03:00
Bartłomiej Dach
c05c1625f2
Merge branch 'master' into editor-test-play-dont-retain-test-time
2022-11-19 12:09:04 +01:00
Salman Ahmed
60c424837b
Merge branch 'master' into disable-scroll-speed-on-osu
2022-11-19 12:13:45 +03:00
Salman Ahmed
2e3af97892
Remove unused using
2022-11-19 12:13:36 +03:00
Salman Ahmed
290369db47
Hide scroll speed slider on rulesets which don't support it
2022-11-19 06:42:27 +03:00
Salman Ahmed
016de2f5a0
Fix editor not always playing hitsounds with clock offsets applied
2022-11-19 05:15:22 +03:00
cdwcgt
4e457871f3
impossible null and remove storage
2022-11-19 01:03:22 +09:00
cdwcgt
4b29941b47
add LegacyExportManager
2022-11-18 20:00:00 +09:00
Salman Ahmed
90cd386323
Fix timeline potentially scrolling at extents while not dragging
2022-11-18 09:43:16 +03:00
Dean Herbert
a4e713a61f
When returning to the editor after test play, use the original editor time rather than the point of exit
2022-11-17 12:36:24 +09:00
Dean Herbert
bfcd9e0f45
Don't seek to current editor location when location is close to (or before) the first object
2022-11-17 12:32:35 +09:00
Salman Ahmed
7a28a7f2a0
Move IGameplaySettings
override to compose screen to keep test mode unaffected
2022-11-17 01:45:16 +03:00
cdwcgt
e1a21e0cf9
create a task to export to avoid block main thread
...
Code quality and remove some #nullable disable
2022-11-17 01:08:06 +09:00
Dean Herbert
ee6fffec5f
Fix combo colour normalisation setting not applying to editor test play
2022-11-16 17:54:49 +09:00
Dan Balasescu
db25e9e9c8
Merge branch 'master' into combo-colour-brightness-limit
2022-11-11 15:31:28 +09:00
Dan Balasescu
94772a9cda
Merge pull request #21147 from peppy/fix-timeline-editor-crash
...
Fix editor hard crash when beatmap file specified out-of-range timeline zoom value
2022-11-10 22:59:55 +09:00
Dan Balasescu
606d42c679
Merge pull request #21184 from peppy/skinnable-things-cleanup
...
Skinnable class naming pass
2022-11-10 12:52:08 +09:00
Dan Balasescu
051f7f4c68
Merge pull request #21173 from peppy/toggle-hit-markers
...
Add the ability to toggle off hit marker displays in the editor
2022-11-10 12:23:53 +09:00
Dean Herbert
3547c04002
Merge branch 'master' into skinnable-things-cleanup
2022-11-10 12:09:32 +09:00
Dean Herbert
1aa0e40f2f
Add "Component" prefix to lookup naming
2022-11-09 17:46:43 +09:00
Dean Herbert
c908969d9b
Rename ISkinComponent
to ISkinLookup
2022-11-09 17:46:43 +09:00
Dean Herbert
4457648b1c
Fix editor playing too many sounds when user performs a manual seek during playback
2022-11-09 17:42:33 +09:00
Dean Herbert
4448fcb3c8
Override combo colour brightness normalisation setting only in editor
2022-11-08 18:29:10 +09:00
Dean Herbert
ada039151b
Add the ability to toggle off hit marker displays in the editor
2022-11-08 18:07:06 +09:00
Dean Herbert
9650ae1329
Limit editor background dim to 75% maximum
2022-11-08 17:20:37 +09:00
Dean Herbert
349d262c18
Remove commented unbind
2022-11-08 17:19:48 +09:00
Dean Herbert
b166e477c2
Merge branch 'master' into editor-background
2022-11-08 17:18:34 +09:00
Dean Herbert
f6d93fcd5a
Fix editor hard crash when beatmap file specified out-of-range timeline zoom value
2022-11-07 12:54:02 +09:00
Dan Balasescu
fc191807c6
Fix velocity test failing with no audio device
2022-11-03 13:59:22 +09:00
Dean Herbert
0e502de8b4
Rename field to match usage
2022-11-02 18:04:42 +09:00
Dean Herbert
c3eb0c6330
Merge branch 'master' into editor-background
2022-11-02 17:43:38 +09:00
cdwcgt
9884618290
rename editorDim
to editorBackgroundDim
2022-11-02 15:12:15 +09:00
Dean Herbert
2a88409dfe
Fix time snap of sliders not matching when SV is not 1.0x
...
This regressed with https://github.com/ppy/osu/pull/20850 because the
function was used in other places which expect it to factor slider
velocity into the equation.
Rather than reverting, I've added a new argument, as based on the method
naming alone it was hard to discern whether SV should actually be
considered.
The reason for the change in #20850 was to avoid the SV coming in from a
reference object which may not have a correct SV in the first place. In
such cases, passing `false` to the function will give the expected
behaviour.
2022-11-01 15:12:58 +09:00
andy840119
a753369d3e
Reuse function TimeAtPosition()
and PositionAtTime()
.
2022-10-30 17:21:50 +08:00
D.Headley
21d68bfb84
Delete unused button
2022-10-28 16:40:21 +02:00
cdwcgt
6991195d69
let editor dim different from gameplay dim
2022-10-26 15:22:57 +09:00
Dean Herbert
2016d33055
Offset start of distance snap grid drawing if reference object's start time doesn't align
...
Closes #20938 .
2022-10-26 13:11:26 +09:00
Bartłomiej Dach
f5ca447b8e
Rename one more "{duplicate -> clone}" reference
2022-10-25 21:34:41 +02:00
Bartłomiej Dach
bcdf24b972
Merge branch 'master' into add-editor-object-clone
2022-10-25 21:33:52 +02:00
Dean Herbert
4d4f6e25ba
Rename to "clone" instead of "duplicate"
2022-10-25 11:43:23 +09:00
Dean Herbert
1e579e06f8
Fix duplicate working incorrectly if there is no selection currently made
2022-10-25 11:42:12 +09:00
cdwcgt
a2682b3ce3
background dim settings for editor
...
View -> Background Dim
follow `DimLevel` and `BlurLevel`
Co-Authored-By: Dead_Bush_Sanpai <DeadBushSanpai@yandex.com>
2022-10-24 23:55:33 +09:00
cdwcgt
de881cc5cb
useless #nullable disable
2022-10-24 23:17:28 +09:00
Dean Herbert
1d5df15027
Add ability to use Shift
+Number
to set current beat divisor in editor
2022-10-24 15:20:15 +09:00
Dean Herbert
e72a71a28e
Add simple editor "duplicate objects" key binding
2022-10-24 14:01:34 +09:00
Dean Herbert
6a7f6c76ff
Fix osu! editor padding being applied to toolboxes
...
The result of https://github.com/ppy/osu/pull/20739 and https://github.com/ppy/osu/pull/20738 having unintended side effects when applied together.
2022-10-18 14:32:00 +09:00
Dan Balasescu
10aabfc650
Merge pull request #20739 from peppy/settings-toolbox
...
Adjust visuals of settings toolboxes (gameplay loading screen and editor)
2022-10-14 20:31:05 +09:00
Dean Herbert
15f9697c9f
Roughly update design of editor buttons
2022-10-13 16:57:25 +09:00
Dean Herbert
c3902728f6
Reorganise beatmap snap control to work better in compact mode
2022-10-13 15:47:54 +09:00
Dean Herbert
a525b3f9f8
Reorder and rename toggle checkboxes to fit better
2022-10-13 15:44:33 +09:00
Dean Herbert
f6f5d33f53
Add slight padding to playfield (roughly matches stable)
2022-10-13 15:44:23 +09:00
Dean Herbert
ab24e87013
Merge branch 'master' into improve-drag-selection
2022-10-12 13:20:17 +09:00
ekrctb
fcb9e2cc00
Refactor blueprint container drag code
2022-10-11 22:39:53 +09:00
Dean Herbert
f41b79688f
Avoid casting by accepting all Playfield
s but throwing on a bad choice
2022-10-11 16:54:41 +09:00
ekrctb
6ab29a62d0
Anchor drag box on time (catch, mania)
...
Not done for taiko because I cannot figure out how it should work with the overlapping scroll algorithm.
2022-10-11 14:23:17 +09:00
ekrctb
1a24762f9b
Improve drag box selection logic
...
`AllowDeselectionDuringDrag` is remove.
Instead, selected hit objects are not automatically deselected
when clock is seeked to a later time (the hit object is dead).
Update drag box selection even if mouse is not moved
(in case clock is running or scroll wheel is used).
2022-10-11 14:11:45 +09:00
ekrctb
6164e0896a
Don't reselect already selected items in SelectAll
2022-10-07 10:46:07 +09:00
ekrctb
29cc554632
Ensure blueprint is added for selected hit object
2022-10-06 13:59:54 +09:00
ekrctb
0d448e6cc8
Fix items without blueprints are not deselected
2022-10-06 13:50:56 +09:00
ekrctb
b0213c29e9
Use mid time instead of start time
...
It is closer to the old blueprint-based behavior
2022-10-05 22:19:22 +09:00
ekrctb
6753f6b01a
Move AllowDeselectionDuringDrag
down
...
Because it is now ignored in the timeline implementation anyways
2022-10-05 22:14:11 +09:00
ekrctb
3108c42ece
Fix inspect issues
2022-10-05 22:04:43 +09:00
ekrctb
00b3d97f69
Improve timeline selection performance
...
But selecting a large number of hit objects is still very slow
because all DHOs must be added
and also `AddBlueprintFor` has quadratic behaviors
2022-10-05 21:58:05 +09:00
ekrctb
0613388aaa
Make sure all selected items get deleted
2022-10-05 21:58:05 +09:00
ekrctb
0ffde02f79
Use hit object time for timeline selection
2022-10-05 21:51:01 +09:00
ekrctb
8d29e9e76b
Move selection logic from DragBox to BlueprintContainer
2022-10-05 21:51:01 +09:00
Dean Herbert
58217b6839
Fix weird conditional
2022-09-27 20:09:21 +09:00
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