lacro59 / playnite-thememodifier-plugin Goto Github PK
View Code? Open in Web Editor NEWThis plugin can edit some elements from current theme.
Home Page: https://playnite.link
License: MIT License
This plugin can edit some elements from current theme.
Home Page: https://playnite.link
License: MIT License
my covers in grid view are completly black in the mythic and stardust themes linked below and the issue was solved when thememodifier is disabled so the problem seems to be with thememodifier.
thememmodifier config is copy pasted below aswell, if you want more info just ask!
https://github.com/darklinkpower/Mythic
https://github.com/darklinkpower/Stardust
"MenuInExtensions": true,
"EnableIntegrationButtonHeader": true,
"ControlBackgroundBrush_Edit": "#00171717-1",
"ControlBackgroundBrush_EditGradient": {
"StartPoint": "0,0",
"EndPoint": "0,0"
},
"TextBrush_Edit": "#FFF2F2F2-1",
"TextBrush_EditGradient": {
"StartPoint": "0,0",
"EndPoint": "0,0"
},
"TextBrushDarker_Edit": "#FF544F4F-1",
"TextBrushDarker_EditGradient": {
"StartPoint": "0,0",
"EndPoint": "0,0"
},
"TextBrushDark_Edit": "#FF7D7D7D-1",
"TextBrushDark_EditGradient": {
"StartPoint": "0,0",
"EndPoint": "0,0"
},
"NormalBrush_Edit": "#FF8B8B8B-1",
"NormalBrush_EditGradient": {
"StartPoint": "0,0",
"EndPoint": "0,0"
},
"NormalBrushDark_Edit": "#FF565656-1",
"NormalBrushDark_EditGradient": {
"StartPoint": "0,0",
"EndPoint": "0,0"
},
"NormalBorderBrush_Edit": "#FF4B4B4B-1",
"NormalBorderBrush_EditGradient": {
"StartPoint": "0,0",
"EndPoint": "0,0"
},
"HoverBrush_Edit": "#7F7D2E2E-1",
"HoverBrush_EditGradient": {
"StartPoint": "0,0",
"EndPoint": "0,0"
},
"GlyphBrush_Edit": "#FFFF7D00-1",
"GlyphBrush_EditGradient": {
"StartPoint": "0,0",
"EndPoint": "0,0"
},
"HighlightGlyphBrush_Edit": "#00FFFFFF-1",
"HighlightGlyphBrush_EditGradient": {
"StartPoint": "0,0",
"EndPoint": "0,0"
},
"PopupBorderBrush_Edit": "#FF141414-1",
"PopupBorderBrush_EditGradient": {
"StartPoint": "0,0",
"EndPoint": "0,0"
},
"TooltipBackgroundBrush_Edit": "",
"TooltipBackgroundBrush_EditGradient": {
"StartPoint": "0.66,0.61",
"EndPoint": "0.09,0.1",
"GradientStop1": {
"ColorString": "#FF672E2C",
"ColorOffset": 0.0
},
"GradientStop2": {
"ColorString": "#FF282B32",
"ColorOffset": 1.0
}
},
"ButtonBackgroundBrush_Edit": "#FF191919-1",
"ButtonBackgroundBrush_EditGradient": {
"StartPoint": "0,0",
"EndPoint": "0,0"
},
"GridItemBackgroundBrush_Edit": "#FF191919-1",
"GridItemBackgroundBrush_EditGradient": {
"StartPoint": "0,0",
"EndPoint": "0,0"
},
"PanelSeparatorBrush_Edit": "#FF0F0F0F-1",
"PanelSeparatorBrush_EditGradient": {
"StartPoint": "0,0",
"EndPoint": "0,0"
},
"WindowPanelSeparatorBrush_Edit": "",
"WindowPanelSeparatorBrush_EditGradient": {
"StartPoint": "0,0",
"EndPoint": "0,0"
},
"PopupBackgroundBrush_Edit": "#FF191919-1",
"PopupBackgroundBrush_EditGradient": {
"StartPoint": "0,0",
"EndPoint": "0,0"
},
"CheckBoxCheckMarkBkBrush_Edit": "",
"CheckBoxCheckMarkBkBrush_EditGradient": {
"StartPoint": "0,0",
"EndPoint": "0,0"
},
"PositiveRatingBrush_Edit": "#FF78FFA0-1",
"PositiveRatingBrush_EditGradient": {
"StartPoint": "0,0",
"EndPoint": "0,0"
},
"NegativeRatingBrush_Edit": "#FFFF6B6B-1",
"NegativeRatingBrush_EditGradient": {
"StartPoint": "0,0",
"EndPoint": "0,0"
},
"MixedRatingBrush_Edit": "#FFFFFCA1-1",
"MixedRatingBrush_EditGradient": {
"StartPoint": "0,0",
"EndPoint": "0,0"
},
"WarningBrush_Edit": "",
"WarningBrush_EditGradient": {
"StartPoint": "0,0",
"EndPoint": "0,0"
},
"ExpanderBackgroundBrush_Edit": "",
"ExpanderBackgroundBrush_EditGradient": {
"StartPoint": "-0.1,0.5",
"EndPoint": "1.2,1",
"GradientStop1": {
"ColorString": "#FF686868",
"ColorOffset": 0.0
},
"GradientStop2": {
"ColorString": "#00686868",
"ColorOffset": 0.7
}
},
"WindowBackgourndBrush_Edit": "",
"WindowBackgourndBrush_EditGradient": {
"StartPoint": "0.5,-0.2",
"EndPoint": "0.4,1",
"GradientStop1": {
"ColorString": "#FF0F0F0F",
"ColorOffset": 0.0
},
"GradientStop2": {
"ColorString": "#FF131313",
"ColorOffset": 0.4
}
},
"EnableIntegrationIcon": true,
"UseIconCircle": false,
"UseIconClock": true,
"UseIconSquareCorne": false,
"UseIconWe4ponx": false,
"ThemesConstants": [
{
"Id": "eMixedNite_d3544fdb-be37-4677-b317-7d747adc6b8e",
"Name": "eMixedNite",
"Constants": [
{
"Name": "DetailsLeftColumnMinWidth",
"TypeResource": "double",
"Element": 272.5,
"Opacity": 1.0
},
{
"Name": "GridLeftColumnMinWidth",
"TypeResource": "double",
"Element": 279.1,
"Opacity": 1.0
},
{
"Name": "GameGridItemtBrush",
"TypeResource": "solidcolorbrush",
"Element": "#60202020",
"Opacity": 1.0
},
{
"Name": "GameDetailsVisible",
"TypeResource": "bool",
"Element": true,
"Opacity": 1.0
},
{
"Name": "GridControlVerticalAlignment",
"TypeResource": "verticalalignment",
"Element": 2,
"Opacity": 1.0
},
{
"Name": "HLTBLabelsVisible",
"TypeResource": "bool",
"Element": true,
"Opacity": 1.0
},
{
"Name": "GridTitleLogoVisible",
"TypeResource": "bool",
"Element": true,
"Opacity": 1.0
},
{
"Name": "GridInfoVisible",
"TypeResource": "bool",
"Element": false,
"Opacity": 1.0
},
{
"Name": "GridTitleHorizontalAlignment",
"TypeResource": "horizontalalignment",
"Element": 2,
"Opacity": 1.0
},
{
"Name": "SuccessInitialyExpanded",
"TypeResource": "bool",
"Element": false,
"Opacity": 1.0
},
{
"Name": "TitleVerticalAlignment",
"TypeResource": "verticalalignment",
"Element": 1,
"Opacity": 1.0
},
{
"Name": "UseItmIconBanners",
"TypeResource": "bool",
"Element": true,
"Opacity": 1.0
},
{
"Name": "ImageBackgroundFaded",
"TypeResource": "bool",
"Element": false,
"Opacity": 1.0
},
{
"Name": "TitleLogoVisible",
"TypeResource": "bool",
"Element": true,
"Opacity": 1.0
},
{
"Name": "UseItmBanners",
"TypeResource": "bool",
"Element": false,
"Opacity": 1.0
}
]
},
{
"Id": "Stardust 2.0_1fb333b2-255b-43dd-aec1-8e2f2d5ea002",
"Name": "Stardust",
"Constants": [
{
"Name": "GridViewLogoHeight",
"TypeResource": "double",
"Element": 200.0,
"Opacity": 1.0
},
{
"Name": "DetailsViewDetailsIconsVisibility",
"TypeResource": "visibility",
"Element": 0,
"Opacity": 1.0
},
{
"Name": "GridViewDetailsIconsVisibility",
"TypeResource": "visibility",
"Element": 0,
"Opacity": 1.0
}
]
},
{
"Id": "8b15c46a-90c2-4fe5-9ebb-1ab25ba7fcb2",
"Name": "Helium Enhanced Grid Mod",
"Constants": []
},
{
"Id": "Harmony_d49ef7bc-49de-4fd0-9a67-bd1f26b56047",
"Name": "Harmony",
"Constants": [
{
"Name": "DetailsViewDetailsIconsVisibility",
"TypeResource": "visibility",
"Element": 0,
"Opacity": 1.0
},
{
"Name": "GridViewDetailsIconsVisibility",
"TypeResource": "visibility",
"Element": 0,
"Opacity": 1.0
}
]
},
{
"Id": "eMixedNiteMC_4333b3b2-0374-43a1-a9eb-d27f3ea89ef8",
"Name": "eMixedNiteMC",
"Constants": []
},
{
"Id": "playnite-defaultextend-theme",
"Name": "DefaultExtend",
"Constants": []
},
{
"Id": "Mythic_e231056c-4fa7-49d8-ad2b-0a6f1c589eb8",
"Name": "Mythic",
"Constants": [
{
"Name": "GridViewEnableCoverShineAnimation",
"TypeResource": "bool",
"Element": true,
"Opacity": 1.0
},
{
"Name": "GridViewLibraryGameShowFavorite",
"TypeResource": "bool",
"Element": true,
"Opacity": 1.0
},
{
"Name": "GridViewDetailsIconsVisibility",
"TypeResource": "visibility",
"Element": 0,
"Opacity": 1.0
}
]
},
{
"Id": "felixkmh_DuplicateHider_Night_Theme",
"Name": "DH_Night",
"Constants": []
}
]
}
In theme, the value is https://github.com/darklinkpower/Stardust/blob/7b205d07db9b3d51a4aeb68ae86689c1bbd159d4/source/thememodifier.yaml#L4
- LibraryGameBackgroundBlendValue(0.0,1.0): 'Background blend with blur background amount'
It works correctly for me (1.0)
But someone reported seeing a maximum value of 10,0
for some reason. It also uses a comma for separator in their case
Custom integrated editable brushes from Constants.xaml are sometimes set to full opacity. Restoring values to default in ThemeModifier settings corrects this temporarily. Happens often and noticeably using Magpie (since it has many transparent elements).
I've found an unusual interaction with the StartPage plugin and the SuccessStory/GameActivity buttons added to the default-extended theme.
Steps to replicate:
If there's any other ways to display a game not in the current filter, those could be used for testing as well -- I'm unsure if this if a bug with the theme buttons or with StartPage.
Thank you!
from eminaguil on forum
I found a weird bug,
When there is more than 45 constants, the last ones are shown overlapped.
I don't know if it's something on my theme eMixedNite or your plugin. For now I've fixed, removing some of my constants used as separator.
to hunt363 from forum
It would be nice if you could also change <CornerRadius></CornerRadius>
, since there is no workaround afaik.
<sys:Int32 x:Key="ControlCornerRadiusInt">5</sys:Int32>
<CornerRadius x:Key="ControlCornerRadius">{StaticResource ControlCornerRadiusInt}</CornerRadius>
does not work and also
<sys:Double x:Key="ControlCornerRadiusInt1">5</sys:Double>
<sys:Double x:Key="ControlCornerRadiusInt2">5</sys:Double>
<sys:Double x:Key="ControlCornerRadiusInt3">5</sys:Double>
<sys:Double x:Key="ControlCornerRadiusInt4">5</sys:Double>
<CornerRadius x:Key="ControlCornerRadius">{DynamicResource ControlCornerRadiusInt1},{DynamicResource ControlCornerRadiusInt2},{DynamicResource ControlCornerRadiusInt3},{DynamicResource ControlCornerRadiusInt4}</CornerRadius>
this solution did not work for me.
Would it be possible to add an option to disable the glowing border around games that are highlighted and moused over in grid view?
Specifically in Helium in my case.
I'm using the eMixedNite theme and I made some edits to the colours with this plugin. However, everytime I exit Playnite - all the colours return back to default the next time I open it. Am I doing something wrong?
Subj
Wondering if it's possible to find a workaround to values that are not directly in the Constants.xaml
file but on any other theme file.
I have the following in DerivedStyles\PlayButton.xaml
Since an animation is used, I can't use a DynamicResource
and have to set the color directly. A possible solution would be to indicate in the constants file:
Format: File, Line, Property
In my case, for example:
ThemeApiVersion: 1.9.0
Id: Harmony_d49ef7bc-49de-4fd0-9a67-bd1f26b56047
Name: Harmony
Author: darklinkpower
Version: 0.90
Links:
- Name: Playnite Forums thread
Url: https://playnite.link/forum/thread-457.html
to
ThemeApiVersion: 1.9.0
Id: Harmony_d49ef7bc-49de-4fd0-9a67-bd1f26b56047
Name: Harmony
Author: darklinkpower
Version: 0.90
Links:
- Name: Playnite Forums thread
Url: https://playnite.link/forum/thread-457.html
DirectProperties:
- File: DerivedStyles\PlayButton.xaml
Line: 160
Property: To
- File: DerivedStyles\PlayButton.xaml
Line: 167
Property: To
This would allow the extension to modify themes to a greater extent since anything could be modified.
Can you change the corresponding color when changing the brush. For example, if you change the GlyphBrush, then it changes the color in GlyphColor too. If a gradient it's selected, then the first color it's applied.
This will be useful for keeping the color theme, and using the same color like the game description and shadows. For now if you use a white theme, you got to change the colors in the respective constants or settings in your ThemeModifier.
Selection of the image you want according to the features.
Would it be possible to ad an option to disable the play and info buttons that appear on top of covers on mouseover?
Specifically in Helium in my case.
playnite.log
See log file.
with Default Theme:
11-12 12:35:46.606|ERROR|ExtensionFactory:Failed to load plugin: ThemeModifier
System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
bei ThemeModifier.Services.ThemeClass.GetThemeConstants(IPlayniteAPI PlayniteApi) in E:\Github\Lacro59\playnite-thememodifier-plugin\Services\ThemeClass.cs:Zeile 1319.
bei ThemeModifier.Services.ThemeClass.GetThemeDefaultConstants(IPlayniteAPI PlayniteApi) in E:\Github\Lacro59\playnite-thememodifier-plugin\Services\ThemeClass.cs:Zeile 1365.
bei ThemeModifier.ThemeModifier..ctor(IPlayniteAPI api) in E:\Github\Lacro59\playnite-thememodifier-plugin\ThemeModifier.cs:Zeile 66.
With eMixedNite it works
[11-12 12:38:30.041|INFO|PlayniteApplication:Application started from 'C:\Users\kris\AppData\Local\Playnite'
11-12 12:38:30.718|INFO|CheckVersion:PluginCommon - GameActivity - Find v1.1.2 - Actual v1.1.2
11-12 12:38:30.718|INFO|ExtensionFactory:Loaded plugin: GameActivity, version 1.1.2
11-12 12:38:30.718|INFO|GameActivityCollection:GameActivity - Load database - 00:00.00
11-12 12:38:31.033|INFO|CheckVersion:PluginCommon - HowLongToBeat - Find v1.1.1 - Actual v1.1.1
11-12 12:38:31.033|INFO|ExtensionFactory:Loaded plugin: HowLongToBeat, version 1.1.1
11-12 12:38:31.345|INFO|CheckVersion:PluginCommon - SuccessStory - Find v1.1.2 - Actual v1.1.2
11-12 12:38:31.345|INFO|ExtensionFactory:Loaded plugin: SuccessStory, version 1.1.2
11-12 12:38:31.669|INFO|CheckVersion:PluginCommon - ThemeModifier - Find v1.1 - Actual v1.1
11-12 12:38:31.693|DEBUG|ThemeClass:ThemeModifier - el: {"DetailOverviewFullScroll":"Enable Detail Game Overview Full Scroll"}
11-12 12:38:31.693|DEBUG|ThemeClass:ThemeModifier - el: {"GridOverviewFullScroll":"Enable Grid Game Overview Full Scroll"}
11-12 12:38:31.693|DEBUG|ThemeClass:ThemeModifier - el: {"ControlCornerRadius":"Control corner radius for rounded corners"}
11-12 12:38:31.693|DEBUG|ThemeClass:ThemeModifier - el: {"GridTitleVisibility":"Grid Title Visibility"}
11-12 12:38:31.693|DEBUG|ThemeClass:ThemeModifier - el: {"GridTitleVerticalAlignment":"Grid Title Vertical Alignment"}
11-12 12:38:31.693|DEBUG|ThemeClass:ThemeModifier - el: {"GridTitleHorizontalAlignment":"Grid Title Horizontal Alignment"}
11-12 12:38:31.693|DEBUG|ThemeClass:ThemeModifier - el: {"DetailTitleVisibility":"Detail Title Visibility"}
11-12 12:38:31.693|DEBUG|ThemeClass:ThemeModifier - el: {"DetailTitleVerticalAlignment":"Detail Title Vertical Alignment"}
11-12 12:38:31.693|DEBUG|ThemeClass:ThemeModifier - el: {"DetailTitleHorizontalAlignment":"Detail Title Horizontal Alignment"}
11-12 12:38:31.693|DEBUG|ThemeClass:ThemeModifier - el: {"HLTBCustomLabelsVisibility":"HowLongToBeat Custom Labels Visibility"}
11-12 12:38:31.693|DEBUG|ThemeClass:ThemeModifier - el: {"GameDetailsVisibility":"Game Details Visibility"}
11-12 12:38:31.693|DEBUG|ThemeClass:ThemeModifier - el: {"GameGridItemtBrush":"Darkened effect for Grid View Items"}
11-12 12:38:31.693|DEBUG|ThemeClass:ThemeModifier - el: {"GridInfoVisibility":"Grid Item Information Visibility"}
11-12 12:38:31.693|DEBUG|ThemeClass:ThemeModifier - el: {"HorizontalBannerVisibility":"Grid Item Horizontal Banner Visibility"}
11-12 12:38:31.693|DEBUG|ThemeClass:ThemeModifier - el: {"VerticalBannerVisibility":"Grid Item Vertical Banner Visibility"}
11-12 12:38:31.693|DEBUG|ThemeClass:ThemeModifier - el: {"IconBannerVisibility":"Platform Icon Visibility to replace Text Banner"}
11-12 12:38:31.693|DEBUG|ThemeClass:ThemeModifier - el: {"UseStoreBanners":"Use Store Banners instead of icons"}
11-12 12:38:31.693|DEBUG|ThemeClass:ThemeModifier - el: {"DetailPanelOpacity":"Detaills Panels Opacity"}
11-12 12:38:31.693|DEBUG|ThemeClass:ThemeModifier - el: {"DetailPanelLessOpacity":"Links Panel Opacity"}
11-12 12:38:31.693|DEBUG|ThemeClass:ThemeModifier - el: {"HtmlTextColor":"Game Description HTML Text Color"}
11-12 12:38:31.693|DEBUG|ThemeClass:ThemeModifier - el: {"HtmlLinkColor":"Game Description HTML Links Color"}
11-12 12:38:31.701|INFO|ThemeClass:ThemeModifier - No ThemeActualConstants find for eMixedNite_d3544fdb-be37-4677-b317-7d747adc6b8e & eMixedNite]
Trying to change a ColorBrush or SolidColorBrush Constant shows a default gradient and doesnt allow you to edit the theme constant. all other constants can be changed except colors. an error message is given when opening the color editor.
WARN |ThemeModifier#ThemeModifierSettingsView:One control is undefined
18-09 04:07:12.711|ERROR|ThemeModifier#Common:Error on GetThemeConstants()|D:\GitHub\Lacro59\playnite-thememodifier-plugin\source\Services\ThemeClass.cs|1546
System.NullReferenceException: Object reference not set to an instance of an object.
en ThemeModifier.Services.ThemeClass.GetThemeConstants(IPlayniteAPI PlayniteApi) en D:\GitHub\Lacro59\playnite-thememodifier-plugin\source\Services\ThemeClass.cs:line 1546
It works in:
https://github.com/darklinkpower/Harmony/blob/master/source/thememodifier.yaml
https://github.com/darklinkpower/Helium/blob/master/source/thememodifier.yaml
It doesn't work in:
15-09 03:59:04.181|WARN |ThemeModifier#ThemeClass:No the constants defined
[...]
15-09 03:59:07.937|ERROR|ThemeModifier#Common:Error on WindowBase_LoadedEvent for WindowMessageBox - |D:\GitHub\Lacro59\playnite-thememodifier-plugin\source\playnite-plugincommon\CommonPluginsShared\Common.cs|131
System.NullReferenceException: Referencia a objeto no establecida como instancia de un objeto.
en CommonPluginsShared.Common.WindowBase_LoadedEvent(Object sender, EventArgs e) en D:\GitHub\Lacro59\playnite-thememodifier-plugin\source\playnite-plugincommon\CommonPluginsShared\Common.cs:línea 131
15-09 04:00:11.808|ERROR|ThemeModifier#Common:Error on WindowBase_LoadedEvent for WindowMessageBox - |D:\GitHub\Lacro59\playnite-thememodifier-plugin\source\playnite-plugincommon\CommonPluginsShared\Common.cs|131
System.NullReferenceException: Referencia a objeto no establecida como instancia de un objeto.
en CommonPluginsShared.Common.WindowBase_LoadedEvent(Object sender, EventArgs e) en D:\GitHub\Lacro59\playnite-thememodifier-plugin\source\playnite-plugincommon\CommonPluginsShared\Common.cs:línea 131
15-09 04:01:42.705|ERROR|ThemeModifier#Common:Error on WindowBase_LoadedEvent for WindowMessageBox - |D:\GitHub\Lacro59\playnite-thememodifier-plugin\source\playnite-plugincommon\CommonPluginsShared\Common.cs|131
System.NullReferenceException: Referencia a objeto no establecida como instancia de un objeto.
en CommonPluginsShared.Common.WindowBase_LoadedEvent(Object sender, EventArgs e) en D:\GitHub\Lacro59\playnite-thememodifier-plugin\source\playnite-plugincommon\CommonPluginsShared\Common.cs:línea 131
15-09 04:01:47.300|WARN |ThemeModifier#ThemeClass:No the constants defined
I don't see any apparent reason why this is happening.
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.