David Zhao
97eb5293a8
Don't depend on parent sizing
2019-07-25 17:32:21 +09:00
David Zhao
c4bed0e6d2
Resize BeatmapCarousel, update carouselitem logic
2019-07-25 15:31:21 +09:00
Dean Herbert
69844e6c24
Fix beatmap present failing directly after an import
2019-07-25 12:18:18 +09:00
Dean Herbert
8703f0ad40
Change song select initialisation to promote db context sharing
2019-06-30 22:23:48 +09:00
Dean Herbert
9e1cb90dd8
Remove existing argument for ItemAdded event
...
For all usages, it looks like this was unnecessary.
2019-06-26 11:40:41 +09:00
smoogipoo
13234fb4a4
Adjust comments a bit
2019-06-12 16:07:35 +09:00
David Zhao
4f09141718
remove extra bool
2019-05-29 12:22:34 +09:00
David Zhao
1a871af552
Fix hide selection, add test
2019-05-28 19:15:29 +09:00
Dean Herbert
612db31c38
Apply newline additions
2019-04-01 12:16:32 +09:00
Dan Balasescu
5de99f3f5b
Merge branch 'master' into fix-random-select-crash
2019-03-22 14:11:06 +09:00
Dean Herbert
37010f97d7
Fix random select crashing
...
Closes #3383 .
2019-03-21 21:02:54 +09:00
Dean Herbert
e2503888a4
Expose carousel's loaded flag
2019-03-21 20:51:06 +09:00
Dean Herbert
c496f6e56b
Fix usages of OnLoadComplete
2019-03-17 13:44:20 +09:00
Dean Herbert
26d53d06a9
Fix remaining issues
2019-02-28 13:31:40 +09:00
Dean Herbert
3fe4b8fd1c
Update variable names
...
Also cleans up some weird code
2019-02-22 17:51:39 +09:00
smoogipoo
d8c55bc729
Adjust namespaces
2019-02-21 19:05:52 +09:00
smoogipoo
bca347427f
Update with framework bindable changes
2019-02-21 18:56:34 +09:00
Dean Herbert
8617aaa2a7
Update licence header (and remove year)
2019-01-24 17:43:03 +09:00
Unknown
6eff79913b
remove blank lines
2019-01-11 10:34:56 +01:00
smoogipoo
f27bd3ef3e
OpenTK -> osuTK
2018-11-20 17:14:59 +09:00
ekrctb
99fc04c8af
Change signature to new event handler
2018-10-02 12:02:47 +09:00
smoogipoo
a8f156584b
Update framework with positional/non-positional changes
2018-09-26 14:01:15 +09:00
Dean Herbert
c23b9b61a8
Simplify implementation in line with framework improvements
2018-09-06 17:28:08 +09:00
Dean Herbert
e63f60231a
Optimise carousel memory usage by unloading off-screen panels
2018-09-06 13:31:37 +09:00
Dean Herbert
919e78a89a
Attempt to fix cross-thread database usage
2018-08-29 01:42:25 +09:00
Dean Herbert
95cca046fb
Merge branch 'master' into open-downloaded-beatmas
2018-07-25 12:38:49 +02:00
Dean Herbert
0f37758314
Update framework
2018-07-21 16:21:53 +09:00
Dean Herbert
9611292f4e
FilterTask -> PendingFilter
2018-07-18 13:18:50 +09:00
Dean Herbert
e395a47112
Changes to naming and text
2018-04-18 19:47:13 +09:00
Dean Herbert
81f0649e44
Merge remote-tracking branch 'origin/master' into tgi74-rightclickscrolling
2018-04-13 19:50:44 +09:00
tgi74000
1a2b1d4c98
Use the already existent RightMouseScrollbar field
2018-04-13 11:32:33 +02:00
Dean Herbert
32a74f95a5
Normalize all the line endings
2018-04-13 18:26:38 +09:00
tgi74000
e3cd0ef200
Add right click scrolling in song select (and its option)
2018-04-13 11:09:49 +02:00
smoogipoo
69e2d4fd22
Make CarouselRoot a nested class
2018-04-02 15:24:08 +09:00
smoogipoo
82a847b820
Extract random selection logic into CarouselRoot
2018-04-02 15:16:10 +09:00
Endrik Tombak
7e30375443
Use selectNextRandom instead
2018-03-30 10:46:46 +03:00
Endrik Tombak
3f65e3a7e3
Make selection at random when last was null
2018-03-30 00:15:32 +03:00
Dean Herbert
0e669c9a3f
Fix many warnings
2018-03-24 18:23:22 +09:00
Dean Herbert
d4aeb3d00b
Fix BeatmapCarousel's flush not correctly applying selection changes
...
They may have been delayed until the next Update, which is too late in this case.
2018-03-23 12:10:13 +09:00
naoey
2c0488b1f1
Invert bool, add test, and handle ruleset change.
2018-03-09 19:39:28 +05:30
naoey
d04f47718f
Make song select choose random when initial selection fails.
...
- Revert TestCasePlaySongSelect to master
2018-03-09 17:36:55 +05:30
naoey
25fb527cc7
Remove previous fix and move filtered logic to carousel.
...
- Add an optional bool parameter to SelectBeatmap to skip selecting
filtered maps
2018-03-09 15:51:00 +05:30
Dan Balasescu
a3d26d7d55
Merge branch 'master' into fix-song-select-iteration
2018-02-28 21:40:25 +09:00
Dean Herbert
4a52db14d1
Fix depth of already-visible panels not being updates after a sorting change
2018-02-28 14:18:25 +09:00
Dean Herbert
9b44f447ca
Fix song select iteration when all panels are filtered
...
Resolves #2069 .
2018-02-27 17:52:12 +09:00
Dean Herbert
9b33499fe7
Merge remote-tracking branch 'upstream/master' into RefactorInputQueues
2018-01-16 20:04:34 +09:00
Dean Herbert
a3f05ca9ec
Avoid unnecessary use of linq
2018-01-09 12:43:10 +09:00
Dean Herbert
b90b1e326e
Merge branch 'master' into fix-randomizer
2018-01-09 12:00:21 +09:00
TocoToucan
ae032cbf23
Support HandleKeyboardInput, HandleMouseInput, CanReceiveKeyboardInput, CanReceiveMouseInput properties
2018-01-07 23:40:00 +03:00
Dean Herbert
37d393bca0
Update licence headers
2018-01-05 20:21:19 +09:00
Endrik Tombak
ce156098f6
Merge branch 'fix-randomizer' of https://github.com/LittleEndu/osu into fix-randomizer
2018-01-03 12:33:43 +02:00
Endrik Tombak
969fa65c42
Merge branch 'master' of https://github.com/ppy/osu into fix-randomizer
2018-01-03 12:31:59 +02:00
Endrik
35af5d1ce6
Merge branch 'master' into fix-randomizer
2018-01-03 12:25:07 +02:00
Endrik Tombak
5abf93038b
Reset only visible sets for more randomized feel
2017-12-31 14:47:27 +02:00
Dean Herbert
dfee8e911f
Fix dummy beatmap selection not propagating to song select components
2017-12-31 12:55:53 +09:00
Endrik Tombak
987a6403da
Faster count for AppVeyor
2017-12-31 03:25:43 +02:00
Endrik Tombak
d032790e19
Doesn't allow randomizer to select invisible maps
2017-12-31 03:10:54 +02:00
Dean Herbert
e4a8402d3c
Use better logic
...
We need to still perform selection if selectedBeatmap itself is null
2017-12-28 12:38:40 +09:00
FreezyLemon
33480b85c8
fix for Drawables being empty crashing
2017-12-28 03:35:53 +01:00
Dan Balasescu
3a2dadc9d3
Fix spelling error
2017-12-27 23:14:48 +09:00
Dean Herbert
cf9a9762f7
Fix beatmap wedge appearing with incorrect info on entering song select
...
Closes #1762
2017-12-27 13:02:21 +09:00
Dean Herbert
9ccc49c9b5
Make selection triggering more liberal
2017-12-26 15:32:39 +09:00
Dean Herbert
ed7ae4e956
Merge branch 'master' into fix-info-wedge
2017-12-26 15:08:52 +09:00
Dean Herbert
09ce24a7db
Switch to a better way of deciding on null selection
...
This avoids `SelectionChanged` potentially being invoked multiple times after `selectedBeatmapSet` is already `null`.
2017-12-26 13:41:02 +09:00
FreezyLemon
c737e5245e
Removed unnecessary SelectNext() call and change to dummy map when no items present
2017-12-26 01:50:05 +01:00
Dean Herbert
482e10966c
Ensure a selection is made on entering song select if no selection is current
2017-12-24 17:02:56 +09:00
Dean Herbert
cf316b3c51
Add tests for initial load states of PlaySongSelect
2017-12-24 15:39:25 +09:00
Dean Herbert
8e644e878a
Merge remote-tracking branch 'upstream/master' into fix-info-wedge
2017-12-23 21:40:27 +09:00
Aergwyn
1d67746d32
fix crash in SongSelect when traversing while zero beatmaps are loaded
2017-12-23 12:53:11 +01:00
Dean Herbert
2313ff0ddb
Fix beatmap info wedge not showing up when zero beatmaps are loaded
...
Closes #1722 .
2017-12-22 22:19:11 +09:00
Dean Herbert
6121cd3b67
Remove animating skipping and reorder file a bit
2017-12-18 12:30:39 +09:00
Dean Herbert
23e014b52d
Simplify drawable removal logic
2017-12-18 12:05:49 +09:00
Dean Herbert
b2cd32eb95
Move children to CarouselGroup
2017-12-18 11:57:13 +09:00
Dean Herbert
7173829896
Add filter checks to difficulty selection
2017-12-18 11:43:10 +09:00
Dean Herbert
5bfb6d1f58
Remove unused variable
2017-12-18 11:13:51 +09:00
Dean Herbert
954bc77a71
Indicate unused variable
2017-12-18 08:05:57 +09:00
Dean Herbert
482941b333
Preload drawables to force asynchronous construction
2017-12-18 06:59:32 +09:00
Dean Herbert
30a15729ec
Fix event handling from outside carousel being scheduled at the wrong level
...
Was causing BeatmapSet's Set to run *after* newer events were received.
2017-12-18 02:46:53 +09:00
Dean Herbert
942054a30f
Re-fix null selection
2017-12-18 02:26:40 +09:00
Dean Herbert
19643ba5e6
Resolve scroll animation/position issues
2017-12-18 02:23:03 +09:00
Dean Herbert
54cc6fadf9
Greatly improve performance when many hidden panels are on-screen
2017-12-17 05:57:50 +09:00
Dean Herbert
5d7413f19c
Improve performance with large numbers of panels visible
2017-12-17 04:30:56 +09:00
Dean Herbert
e2710a309c
Fix panel animation and depth
2017-12-17 02:43:24 +09:00
Dean Herbert
da0940ae0b
Only apply criteria if there are items populated in the carousel
2017-12-16 23:55:55 +09:00
Dean Herbert
33f8c8419a
Fix initial beatmap selection potentially being incorrect
2017-12-16 21:25:54 +09:00
Dean Herbert
59dbca2612
Fix ScrollToSelected being called in too many cases
2017-12-16 16:44:42 +09:00
Dean Herbert
df7e795aa3
Simplify and rename filter methods
2017-12-16 16:27:39 +09:00
Dean Herbert
3c406662ed
Ensure correct selection after deletion of currently selected
...
Also fixes a lot of bad interactions and simplifies further.
2017-12-16 16:18:44 +09:00
Dean Herbert
a8a2c233a0
Add tests for (and fix) removal of last item in carousel
2017-12-16 00:33:09 +09:00
Dean Herbert
192ceb5465
Avoid multiple access to selectedBeatmap during y position computation
2017-12-15 14:44:12 +09:00
Dean Herbert
2e3332e3fe
Shortcut non-visible panels to avoid adding as drawables
2017-12-15 14:44:12 +09:00
Dean Herbert
67f05977ea
Add sorting support
2017-12-15 14:36:51 +09:00
Dean Herbert
b4b2f12116
Add support for adding/removing items
...
Tests accompany of course
2017-12-15 14:36:51 +09:00
Dean Herbert
7814b2df14
More renaming
2017-12-15 14:36:51 +09:00
Dean Herbert
5cbb9b9b18
Fix random and add tests
...
Also exposes SelectedBeatmapSet.
2017-12-15 14:36:51 +09:00
Dean Herbert
8646d5d1e0
Add testing and fix filtering only some difficulties
2017-12-15 14:36:51 +09:00
Dean Herbert
ec4f99c92e
Clean up tests some more
2017-12-15 14:36:51 +09:00
Dean Herbert
1b85952441
Cleanup and basic TestCase
2017-12-15 14:36:51 +09:00
Dean Herbert
b9298325a3
Rename weird config setting
2017-12-15 14:36:51 +09:00
Dean Herbert
99b00143eb
More clean-ups and event bindings
2017-12-15 14:36:51 +09:00
Dean Herbert
78dd975a35
Initial carousel infrastructue changes
2017-12-15 14:36:51 +09:00
Dean Herbert
b10240d7ef
Handle the case where the selected panel is no longer a valid selection better
2017-12-11 21:31:26 +09:00
Dean Herbert
fb92b3551e
Correct panel y positions when filtered panels are present
2017-12-11 21:12:06 +09:00
Dean Herbert
f58c554d19
Add per-difficulty filtering support
...
Filters based on selected ruleset
2017-12-11 20:22:10 +09:00
Aergwyn
821154d3bb
reverted Beatmaps-setter back to its former glory
2017-12-09 08:42:59 +01:00
Aergwyn
3e417d8e30
removed specific AddBeatmap method
...
the way UpdateBeatmapSet was extended it can handle all of this and better
2017-12-08 12:47:28 +01:00
Aergwyn
105d01d85b
fix crash when restoring from any non-SongSelect-screen
...
removed unwanted refresh
2017-12-07 22:02:53 +01:00
Aergwyn
12665fb8cf
remove unnecessary declaration + revert accidental formatting
2017-12-04 12:11:28 +01:00
Aergwyn
011223048b
fix crash if any amount of maps were restored from main menu
...
also fixes preview not playing if an entire set is restored
2017-12-04 11:47:27 +01:00
Aergwyn
3bdf82d8df
refactor newly added code to be less redundant
2017-11-28 21:38:11 +01:00
Aergwyn
6a4cc93360
fixes crash if all beatmaps of a set are hidden
2017-11-28 21:26:13 +01:00
Dean Herbert
2603219350
Load beatmap carousel panels asynchronously
2017-11-21 22:30:09 +09:00
Dean Herbert
4f6263ef86
Make many internal classes and methods public
...
This is important when using dynamic compiling to rapidly iterate. Until we actually split projects out into pieces (like the abstract ruleset project we have talked about) there is no advantage to using internal in the osu! game code.
2017-11-21 12:06:16 +09:00
Dean Herbert
f486ab1f6c
Merge branch 'master' into song_select_delete
2017-10-30 21:07:02 +09:00
Dean Herbert
5001e9f264
Fix Hide/Restore/Delete etc.
2017-10-25 22:08:34 +09:00
Dean Herbert
f69fa0cf1f
Fix selection after hiding all difficulties in a set
2017-10-20 11:16:56 +09:00
Dean Herbert
a85de09c0f
Fix beatmap carousel interactions with deletion when not yet displayed
2017-10-18 18:36:35 +09:00
smoogipoo
b178be21d1
Let's not rename columns yet
2017-10-14 14:30:58 +09:00
EVAST9919
502940ddf3
Fix deleting last visible beatmap doesn't trigger selecting null beatmap
2017-10-14 05:05:38 +03:00
EVAST9919
7cff413ab0
Fix wrong beatmap selection in song-select menu on deleting selected beatmap
2017-10-11 20:25:12 +03:00
TocoToucan
8b01f8671f
Merge from ppy/master
2017-10-10 21:07:36 +03:00
smoogipoo
d3109a5950
Hook up BeatmapPanel "Edit" item
2017-10-07 00:59:14 +09:00
TocoToucan
887aa7496b
Rework EF Core usage in model classes
2017-10-06 00:23:26 +03:00
TocoToucan
6a4198d0d6
Initial EF Core commit
2017-10-04 22:52:12 +03:00
Dean Herbert
396a56ddf4
Remove global OsuContextMenuContainer
2017-09-14 15:41:32 +09:00
Dean Herbert
dd26c80837
Delete -> Hide
2017-09-04 07:59:32 +09:00
Dan Balasescu
19ad5d5328
Merge branch 'master' into song-select-context-menus
2017-09-04 07:56:31 +09:00
Dean Herbert
3ede685ee9
Fix crash on random selection from a previously null selection
2017-09-01 18:44:51 +09:00
Dean Herbert
f9d02afb00
Don't allow selection of a hidden beatmap
2017-09-01 18:13:21 +09:00
Dean Herbert
1f646e6d54
Add hiding support for beatmap difficulties
2017-09-01 17:57:12 +09:00
Dean Herbert
3b4b4b669b
Add framework for deleting difficulties
2017-08-30 21:12:46 +09:00
Dean Herbert
07da29ea1c
Add context menu to beatmap set header
2017-08-30 20:41:41 +09:00
Dean Herbert
c8b5c1b8a5
Merge branch 'master' into scroll_to_selected
2017-08-01 11:06:32 +09:00
EVAST9919
6b3a81f567
Fix hard crash when pressing random if no beatmaps avaliable
2017-07-29 17:42:32 +03:00
EVAST9919
8458622c4d
Add ScrollToSelected method
2017-07-29 16:03:17 +03:00
Dean Herbert
e691dd12c5
Fix potential sequen of execution issues in BeatmapCarousel
2017-07-28 15:05:08 +09:00
Dean Herbert
5f53426a9a
*Database -> *Store
...
Welcome back BeatmapManager
2017-07-27 16:56:41 +09:00
Dean Herbert
9e20a02c0a
Split out BeatmapDatabase into BeatmapStore
...
Hide database functionality at a lower level in preparation from eventually making it private.
2017-07-26 16:31:34 +09:00
Dean Herbert
fce580d717
Reshuffle namespaces
2017-07-26 13:22:46 +09:00
Dean Herbert
84f12c722f
Merge branch 'master' into master
2017-07-24 18:23:36 +09:00
tgi74000
d0e99f0c95
check removed beatmap being null, check promptdelete beatmap being default
2017-07-24 10:25:33 +02:00
tgi74000
5d30efc090
Do not trigger Random if no Beatmaps are imported
2017-07-24 09:57:12 +02:00
EVAST9919
d9e9ab22db
Merge remote-tracking branch 'refs/remotes/ppy/master' into scrollable_carousel
2017-07-23 13:27:03 +03:00
Thomas Müller
e68675f970
Rename EasingTypes to Easing
2017-07-22 20:53:53 +02:00
EVAST9919
388fcfb295
Make BeatmapCarousel inherit from OsuScrollContainer
2017-07-21 13:13:53 +03:00
Dean Herbert
12b6b80d5c
Make method to flush filter requests
2017-07-21 17:20:52 +09:00
Dean Herbert
fb2f1224b3
Fix carousel filter debounce causing a race condition
...
Clicking a ruleset button on toolbar would schedule a delayed filter of carousel, which could in turn trigger a beatmap change after pushing a Player. This resolves that by forcing any pending operations to complete.
2017-07-21 05:58:58 +09:00
Thomas Müller
e84d8cc020
Merge branch 'master' into fix-empty-carousel
2017-07-20 21:15:58 +02:00
Dean Herbert
4f10256182
Remove unnecessary count check
2017-07-20 15:34:44 +09:00
Dean Herbert
a59557f039
Fix selection not being reset correct when changing between rulesets
...
Carousels filtered to results with no maps visible were not being handled correctly in a few different ways. This covers all those scenarios.
2017-07-20 15:12:20 +09:00
Dean Herbert
15eb6954da
Fix hitting down and enter at song select causing a hard-crash
...
Carousel was not aware of the disabled beatmap change state. Also it was being set too late (in an async load) so wasn't useful. It's now pre-emptively set in PlaySongSelect before loading Player.
2017-07-20 11:50:52 +09:00
Dean Herbert
35157ca6b8
Make DefaultBeatmap private get.
2017-07-19 18:09:59 +09:00
Dean Herbert
f168ee660c
Move dummy to BeatmapDatabase
2017-07-19 15:16:43 +09:00
Thomas Müller
9d523ea012
Update framework
2017-07-12 11:06:13 +09:00
EVAST9919
5117baae66
Make random works with panels too
2017-06-15 06:37:20 +03:00
EVAST9919
e552c39444
change function to a property
2017-06-11 22:04:35 +03:00
EVAST9919
c3f4b1b3cb
Merge remote-tracking branch 'refs/remotes/ppy/master' into cancel-select-random
2017-06-11 21:56:55 +03:00
John Neijzen
aa3a231763
Review Changes
2017-06-07 22:00:14 +08:00
John Neijzen
f9c466eee9
bit more readable
2017-06-07 20:12:16 +08:00
John Neijzen
23a7045eef
More Clean UP
2017-06-07 20:07:18 +08:00
John Neijzen
9b0e1c26a3
Clean Up Code
2017-06-07 19:53:37 +08:00
EVAST9919
78500eec21
Applied suggested changes
2017-06-05 12:24:28 +03:00
EVAST9919
a42c67ee97
Cancel beatmap random selection
2017-06-01 20:54:42 +03:00
Patrick Andersson
94294e4b45
Changed default selection type and added suggestions from PR feedback
2017-06-01 08:54:48 +02:00
Patrick Andersson
a3945bb11d
Added suggestions by code inspector
2017-05-31 22:04:29 +02:00
Patrick Andersson
9592e9778b
Trim whitespace
2017-05-31 20:31:05 +02:00
Patrick Andersson
1dd85b5986
Add alternative for random beatmap selection
...
"Never repeat" will not repeat until all songs have been seen by repeatedly pressing F2/Random button
2017-05-31 20:11:26 +02:00
MrTheMake
24f64c8815
More formatting
2017-05-24 02:38:05 +02:00
MrTheMake
e9c2b51012
Random the difficulty too
2017-05-22 01:59:10 +02:00
MrTheMake
5ef7451dba
Improved LEFTand RIGHT key behaviour
2017-05-22 01:53:36 +02:00
MrTheMake
974e8d1f82
Fix pressing up always goes to the first beatmap group difficulty, not the last
2017-05-21 19:27:34 +02:00
MrTheMake
043d1ed20a
Updated preload condition to handle special case
2017-05-21 14:08:04 +02:00
MrTheMake
1546bbc66b
Updated preload condition.
2017-05-21 13:04:04 +02:00
MrTheMake
44cad4e0ac
Fix a bug that prevents the lowest beatmap group from being selected if it is not completly on-screen.
2017-05-21 03:04:12 +02:00
Dean Herbert
7bb38e927b
Fix song select reverting to first difficulty of current group on entering
2017-05-17 17:33:20 +09:00
Huo Yaoyuan
767cfaaac3
Access database recursively.
2017-05-06 15:37:53 +08:00
ColdVolcano
f2b0602f90
Double check if the selectedpanel is not the provided as argument
2017-05-01 00:13:00 -05:00
Dean Herbert
4e65da0fd1
Fix regression in panel select animation.
...
Currently we are required to update computeYPositions twice per selection. Without doing this, panels are in the wrong place when using keyboard selection.
There's still a bit of work to be done to make this work correctly. It's caused by a race condition of state application for panels which have not yet been presented (and get their state applied in LoadComplete which breaks the order of things).
2017-04-28 22:17:35 +09:00
Dean Herbert
003cf53441
Streamline panel selection event logic.
...
Was previously firing multiple times where it was completely unnecessary. Also had bidirection firing going on.
2017-04-28 20:43:42 +09:00
Dean Herbert
b78fa99620
Don't perform a selection if we already have the correct panel selected.
2017-04-28 20:31:09 +09:00
Dean Herbert
f2174054ea
Fix song select.
2017-04-18 10:04:32 +09:00
Dean Herbert
4b1588a21d
Fix correct mode filter not being applied when first entering song select.
2017-04-05 17:33:19 +09:00
Dean Herbert
6afa6f30cc
Keep selected beatmap in centre of screen post-filter.
2017-03-29 20:01:46 +09:00
Dean Herbert
fa7fd6efe3
Fix mode selector not invoking a re-filter.
2017-03-29 19:48:13 +09:00
Dean Herbert
f7dc7e9bb9
Update references.
2017-03-28 21:26:20 +09:00
Dean Herbert
54e1b24fe9
Enforce readonly private members where possible.
2017-03-23 13:50:08 +09:00
Dean Herbert
c7fa79b027
Fix nullref.
2017-03-17 20:09:23 +09:00
Dean Herbert
907236e475
Move filtering to BeatmapCarousel (but actual logic is now in FilterCriteria.
2017-03-17 19:54:51 +09:00
Dean Herbert
4b97304603
CarouselContainer -> BeatmapCarousel.
2017-03-17 19:12:54 +09:00