olibomby / mapping_tools Goto Github PK
View Code? Open in Web Editor NEWCollection of tools for manipulating osu! beatmaps
License: MIT License
Collection of tools for manipulating osu! beatmaps
License: MIT License
Haven't seen this documented anywhere and only recently learnt about it myself.
When having doubletap circle+slider on the exact same time, slider-notelock can happen if the circle is the second object instead of the first. What this means is that when hitting the object like a regular doubletap, the slider registers but the circle will always miss. This phenomenon can be observed either in the .osu file (the circle will be on the line after the slider), or the editor.
Usually, fixing it can be simple as just dragging the objects around in the timeline or CTRL+Ging some stuff until you get the desired slider on the timeline. But in cases with Sliderator, dragging the slider isn't so easy anymore as it can occasionally break the slider or even crash the game. Not to mention the slider is usually snapped 1ms before the normal beat so it can break very easily. Thought this could be a simple automated feature considering there is support for Auto-fail detection in 2B maps already!
Sorry if it has already been mentioned anywhere or is already a feature lol.
make a slider, put a Clap on it, Clap also sounds on slider start and end
if on a diff that you try to copy sounds to there's a circle on the same timeline, the sound doesn't transfer
instead, it somehow makes them really short.
Windows 20H2, latest ver of MT
Currently when opening the program sometimes it would be opened in a window with extremely smaller size (like the image below) that would cause an misclick to the "close" button when trying to maximize the window.
So I think It would be good if the MT window can be maximized by default when opening it.
Pretty self explanatory.
I have my osu! on my D: Drive but opening the current beatmap will default it as C: Drive, causing things like Hitsound Copier to fetch a non-existent file. It also messes with the default location when browsing the drive.
Do note that the rest of the directory are correct, it's just the letter drive that's wrong.
hi there, so i need to move a set amount of objects by -64,-88 osu!pixels and im not sure if there's any tool for this, so im requesting this
My wording may be a little bit bad in the title so I'll explain below in detail:
For example, If I want to import metadata from map folder A while the "current map" shows map folder B (could due to I've opened another mapset before because I want to use property transformer etc.), I have to find again A when I want to export metadata to every .osu file in A because when I click the folder icon after the "Export metadata from", it opens B instead of A.
Honestly I think when people want to use hitsound copier, metadata transformer and timing copier they would expect to open the same folder at the very first time when they choose the "from" folder and the "to" folder, so it would be better that when I open A in the "from" section, the tools open A instantly when i click the folder icon after the "to" section.
Generally A and B would not be the same since in my opinion people won't use the "open current beatmap folder" section when they use hitsound copier/metadata manager/timing copier, I believe most of the cases are people want to do the import/export works really quick even without opening osu! (while "open current beatmap" requires your game opened), so I think this change could benifit a lot in terms of efficiency, especially when people have used different tools on different mapset using "open current beatmap" operation and want to use the three tools I've mentioned above in another mapset.
When I try to copy a timestamp from osu! (stable) to the "offset" column of combo color studio, it is in a form with a hyphen (like 00:00:015 - ) while the combo color studio will warn that "not available to convert 00:00:015 - " (I am not using an English OS so the warning is also not in English, but it should have the similar meaning) which requires a manual removal of the hyphen, and that causes a little bit nuisance to me.
I think it would be great if you can implement a little function that automatically remove the hyphen (and the space before it, of course) from the copied timestamp from osu!, that would make the colorhax work more convenient.
This used to work on cutting edge. Since some update (i dont know which exactly), neither the "Open Current Beatmap" nor any functionality based on this works. BetterSave crashes the program.
From the title, whenever I load a current beatmap, the difficulty name is chinese/japanese/symbols. Please help!
http://ts8zs.com/hitsounds-08zs.zip
it have many bugs due the limition of hta. i cant fix it...
Often when reloading my skin with ctrl+alt+shift+s (to fix display errors in the editor) and saving via the prompt that appears, BetterSave fails to overwrite the osu! save.
The error given is that no active editor is found, so I assume that the issue is caused by how the osu window isn't in focus after clicking the dialogue.
Clicking back on the window very quickly or tabbing back in usually makes it work, but it also sometimes works without doing anything.
because sometimes i know what i'm doing when using them, like for example, artists that have the same first/last name, light novel titles with repeating particles, etc.
perhaps adding it as a tick box somewhere would be nice
since osu! now supports rare snaps like 1/5, 1/7 and 1/9, the map cleaner should support them as well, with an additional option to enable those, or something along those lines.
This picture shows the problem.
The bookmarks here have roughly same spacing with minor variations, so the first three timing points here should do the same (having roughly same bpm with minor variations)
However, the third timing point having a way higher bpm than the first two, which is weird and doesn't fit the rhythm here (it makes the interval between last two bookmarks a 3/4 gap, while all other gaps between adjacent bookmarks are 1/2). It doesn't help to save red lines either, since there's another red line at the last bookmark in the picture.
(I didn't check the source code but I guess Timing Helper did this because it makes bpm value an integer (or more "human-like"), but imo it shouldn't go beyond the rationality of rhythm)
Sample beatmaps:
samples.zip
After copying the hitsounds from [hs], the break times disappear. Looking at the .osu files, it seems they're just changed into 0 length breaks:
Before copying the hitsounds:
[Events]
//Background and Video events
0,0,"pink and blue.jpg",0,0
//Break Periods
2,16485,18378
2,49087,50215
2,107250,110827
2,117658,118786
2,164648,169602
2,176434,177562
2,179954,184908
After copying the hitsounds:
[Events]
//Background and Video events
0,0,"pink and blue.jpg"
//Break Periods
2,16485,16485
2,49087,49087
2,107250,107250
2,117658,117658
2,164648,164648
2,176434,176434
2,179954,179954
"SliderTrackOverride : 35,35,35"
yeah this exists and its in the [Colours] section
Remove ComboX text in Combo Colour Studio when changing combo colours on selected colour point.
vs
Not sure if it's a bugfix or a feature. Unless there's something I'm not aware of, the numbering for Combo is pretty redundant considering they are already sorted in order and the names ComboX have no particular usefulness in terms of colorhaxing (there should be sufficient contrast between the colours used anyway to differentiate them). The amount of horizontal space it starts to take for longer colorhax chains makes it much clunkier to use.
Also would be cool if we could duplicate colour points.
I am on a school laptop so i won't have admin. I know you will say that this cannot run without dotnet but it is however possible using the dotnet binary package. do you know how to use it on a portable/binary package of dotnet? thanks!
Sometimes when you change timing on a map and want to use map cleaner to resnap everything, there's likely gonna be issues if you are using both 1/6 and 1/4 snappings because many 1/4 will be snapped 1/6 earlier/later. (Same with using other snapping divisions of course but I think those are the most common ones where everything gets messed up)
I think it could be helpful to have an option to restrict Map Cleaner to only clean certain areas so that we could operate a resnap on certain parts using only 1/4 divisor for example and isolate the parts that don't use that snapping. Those other parts won't be all over the place and we would know there's only going to be those parts that we have to resnap manually.
Other option, I don't know if that is possible, but, for each object, take a look at the snapping used before the cleaning, and try to use that same snapping on resnap.
The error message only says to install .NET but it doesn't say it needs to be the 32bit version. Spent 3 days figuring out why It wasn't opening even installing the 64bit version of .NET, so it should be fine to specify at the error message the 32bit version :)
The main issue that I can arise is that Mapping Tools does not expect a midi to be loaded to the source path parameter since it can only accept .osu files.
Got some mappers asking if there's a translated version. Though most mappers can at least understand basic English, there are still some non-native-speakers who find reading English tiring or aren't able to understand some terminologies. Opening up localization can help avoid misunderstanding of functions from mappers who aren't native English speakers, etc., and allow Mapping Tools to reach more mappers.
For the information: I'm using Windows 10 Professional ver. 1809, and the Mapping Tools is ver. 1.3.0.0.
(Map in case you need it)
When I tried to copy hitsounds / metadata by using hitsound copier / metadata manager with a diff opening in the editor, they have randomly added many zeros in the [Hitobjects] section:
And it results in an absurdly large file size: (sorry it is in chinese but I believe you can get me)
I select a slider with the current beatmap loaded and saved, press "Import sliders" and nothing happens..?
Help please!
I would like the ability to assign a keybind to a particular slider from the pattern gallery, so that I can place many types of patterns very easily! An example way this could be implemented is through a key-chording setup (like VS Code with Ctrl+K
by default).
I personally think that the slider library has an amazing amount of potential in heavily reducing the amount that one needs to redraw sliders (and in building guides for rhythm that can also somewhat serve as pattern planning), and as such I'd love the ability to place anything from my library quickly and easily.
As a potential application of a workflow like this, I'd probably have 1/2, 3/4, and 1/1 varieties of:
These would be scaled and rotated as appropriate to make work in whatever map I'm trying to work on. This doesn't remove all time consumption of mapping, obviously, but it would make placing and moving nodes of sliders (which I perceive to be one of the most time-consuming aspects of mapping) trivial.
The current solution for this is fine, but ultimately annoying when trying to do anything quickly. The closest that one can get to this idea currently is by setting the QuickRun "no objects selected" to the pattern gallery and then running it, but this is obviously extremely limited in comparison to what is proposed here.
this doesnt fix #68 for me when im applying hitsounds. the Default explorer location is still random-ish (last used by Windows).
Originally posted by @MaxKruse in #71 (comment)
A tool that lets you edit the offset of every diff in a map with a single click, it should also have extra options that lets you change the offset of green lines, objects, preview point, bookmarks accordingly.
this should save mappers from the tedious task of manually changing the timing points' offset, preview point, bookmarks (if needed), objects, and repeat that for every difficulty on the set.
It says this a lot and it fixes temporarily if i restart both the game and Mapping Tools.
hello guys i wanna do dis on mac but i cant use exe files!
can anyone port it to mac or is there a mac version
I only have MappingTools and osu! open, when i try to better save with the ctrl+s override, it gives me
"The calling thread cannot access this object, because it is in use by another thread". Which could only be osu
For Rhythm Guide in Mania, add an option to convert sliders into long notes (LNs) so that sliderends, sliderbodies and repeats (passive objects) can be tracked. Alternatively, split the passive objects into a different mania column.
As it stands, hitsounding in Hitsound Preview Helper (HSP) is not entirely intuitive when using Rhythm Guide since passive objects are interpreted as circles/notes as well. Differentiating between active and passive objects makes hitsounding using HSP much more fluid since there isn't a need to switch back to the original map to check the original rhythm.
The Songs folder could be outside the osu folder and by that be impossible to find. There should be a way for the user to change the path to the Songs folder.
Hello,
as an example in this map: https://osu.ppy.sh/beatmapsets/1118708/discussion/2353407/general#/1656469
the hs diff has all timingpoints correctly alligned. When using Hitsound Copier on all remainding diffs, the offset of some timing points (AiMod only finds the kiai's) is off because of rounding erros either on osu-side or this program.
See title ...
On an 8 thread/5ghz cpu just dragging the graph uses up ~20%
Could be an issue of:
It should also be looked into the way a change event refreshes the graph if that refresh is even needed on every event. Could be an input buffer of like 1000ms or smth.
Per title. Adding 1/5, 1/7 and 1/9 makes it work correctly, but this is unnecessary complexity in my opinion.
quite obvious reasons i guess... not sure if there's already a function about that though maybe i am just too dumb to not noticing its existence
would be good if it could minimize to tray and also launch on windows start, so it would automatically make backups of my maps without me having to think about it
Windows 10 20H2
when choosing the Metadata Manager multiple error windows popped up and the program crashed.
crash log: (since my OS is Chinese so few sentences are translated)
An exception was thrown while providing a value on "System.Windows.Markup.StaticResourceHolder".
at System.Windows.Markup.XamlReader.RewrapException(Exception e, IXamlLineInfo lineInfo, Uri baseUri)
at System.Windows.Markup.XamlReader.RewrapException(Exception e, Uri baseUri)
at System.Windows.FrameworkTemplate.LoadTemplateXaml(XamlReader templateReader, XamlObjectWriter currentWriter)
at System.Windows.FrameworkTemplate.LoadOptimizedTemplateContent(DependencyObject container, IComponentConnector componentConnector, IStyleConnector styleConnector, List`1 affectedChildren, UncommonField`1 templatedNonFeChildrenField)
at System.Windows.FrameworkTemplate.LoadContent(DependencyObject container, List`1 affectedChildren)
at System.Windows.StyleHelper.ApplyTemplateContent(UncommonField`1 dataField, DependencyObject container, FrameworkElementFactory templateRoot, Int32 lastChildIndex, HybridDictionary childIndexFromChildID, FrameworkTemplate frameworkTemplate)
at System.Windows.FrameworkTemplate.ApplyTemplateContent(UncommonField`1 templateDataField, FrameworkElement container)
at System.Windows.FrameworkElement.ApplyTemplate()
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Grid.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Control.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Grid.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Border.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Control.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.StackPanel.StackMeasureHelper(IStackMeasure measureElement, IStackMeasureScrollData scrollData, Size constraint)
at System.Windows.Controls.StackPanel.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint)
at System.Windows.Controls.ScrollContentPresenter.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV)
at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV, Boolean& hasDesiredSizeUChanged)
at System.Windows.Controls.Grid.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.ScrollViewer.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Border.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Control.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Grid.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Control.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.StackPanel.StackMeasureHelper(IStackMeasure measureElement, IStackMeasureScrollData scrollData, Size constraint)
at System.Windows.Controls.StackPanel.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.StackPanel.StackMeasureHelper(IStackMeasure measureElement, IStackMeasureScrollData scrollData, Size constraint)
at System.Windows.Controls.StackPanel.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.StackPanel.StackMeasureHelper(IStackMeasure measureElement, IStackMeasureScrollData scrollData, Size constraint)
at System.Windows.Controls.StackPanel.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV)
at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV, Boolean& hasDesiredSizeUChanged)
at System.Windows.Controls.Grid.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.StackPanel.StackMeasureHelper(IStackMeasure measureElement, IStackMeasureScrollData scrollData, Size constraint)
at System.Windows.Controls.StackPanel.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint)
at System.Windows.Controls.ScrollContentPresenter.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV)
at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV, Boolean& hasDesiredSizeUChanged)
at System.Windows.Controls.Grid.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.ScrollViewer.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV)
at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV, Boolean& hasDesiredSizeUChanged)
at System.Windows.Controls.Grid.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Grid.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV)
at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV, Boolean& hasDesiredSizeUChanged)
at System.Windows.Controls.Grid.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Border.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Control.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Control.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Grid.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV)
at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV, Boolean& hasDesiredSizeUChanged)
at System.Windows.Controls.Grid.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Grid.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Control.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV)
at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV, Boolean& hasDesiredSizeUChanged)
at System.Windows.Controls.Grid.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Grid.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Decorator.MeasureOverride(Size constraint)
at System.Windows.Documents.AdornerDecorator.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Border.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Window.MeasureOverrideHelper(Size constraint)
at System.Windows.Window.MeasureOverride(Size availableSize)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.ContextLayoutManager.UpdateLayout()
at System.Windows.ContextLayoutManager.UpdateLayoutCallback(Object arg)
at System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()
at System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget)
at System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
PresentationFramework
Inner exception:
The resource named "MaterialDesignFilledTextFieldTextBox" could not be found. The resource name is case sensitive.
at System.Windows.StaticResourceExtension.ProvideValueInternal(IServiceProvider serviceProvider, Boolean allowDeferredReference)
at MS.Internal.Xaml.Runtime.ClrObjectRuntime.CallProvideValue(MarkupExtension me, IServiceProvider serviceProvider)
PresentationFramework
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.