OSMO stands for "Open Skin Manager for osu!" and builds upon the old Skin Manager from 2014. It uses the Material Design In XAML Toolkit to give you a clean and easy to navigate UI.
- Implement a forum template manager (with autofill)
- Add keyboard shortcuts
- Skin element resize tool (for example create SD elements from HD elements)
- Implement a custom file picker with Material Design style (and get rid of the default Win32 file picker)
- Log file system
- Simulator -> Test how your skin would look like in-game without starting osu! -> Currently in development
- Context menus on various controls
- Auto-Updater
- Implement custom titlebar and remove MahApps.Metro dependency
- Translation system
- Translation files
EnglishSpanishGerman
If you want to introduce new user controls and/or add new controls to existing ones, please follow the MVVM pattern and the Material Design Guidelines.
Also please follow these guidelines:
- Create Viewmodels inside the namespace "ViewModel" and append "ViewModel" at the end of the class name. (For example "SkinSelectViewModel")
- If you add a new section to the sidebar, create a new usercontrol inside the namespace "UI". Every section must implement the Singleton pattern. Then open the class "OsmoViewModel", go to the constructor and add the section as a new SidebarEntry.
- Example: new SidebarEntry(Helper.FindString("sidebar_home"), MaterialDesignThemes.Wpf.PackIconKind.Home, SkinSelect.Instance)
- Feel free to translate Osmo into your language! To do so, follow these steps:
- Create a copy of the "StringResources.xaml" file inside the namespace "Localisation"
- Rename your copy like this: "StringResources.[culture code].xaml". Culture codes can be found here. An example for a German translation would be "StringResources.de.xaml".
- Translate the text between ">" and "</system:String>" in every line. Don't change the "x:Key" attribute!
- Finally open an issue with the title "Translation for [Language name] finished". Example: "Translation for German finished".