Kodi Community Forum
Mod Aeon MQ 9 Mod for Kodi 21 (Omega) - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33)
+--- Forum: Skins Support (https://forum.kodi.tv/forumdisplay.php?fid=67)
+---- Forum: Aeon MQ (https://forum.kodi.tv/forumdisplay.php?fid=68)
+---- Thread: Mod Aeon MQ 9 Mod for Kodi 21 (Omega) (/showthread.php?tid=375410)



RE: Aeon MQ 9 Mod for Kodi 21 (Omega) - andrzejls - 2024-10-30

@latts9923
Looks like we are back to where "Season Art" did not change season background and in TV Shows and Movies the Upper Left windows does not "cylcle" extrafanart. Can you refresh my memory as to where settings need to be changed?.

UPDATE:
Do not know what happened but after restoring backup from 2 days ago all is working properly.


RE: Aeon MQ 9 Mod for Kodi 21 (Omega) - latts9923 - 2024-10-31

@JanM201
I just noticed a code error for the audio language media flags. I have a fix that will be included in the next update. You can try the fix by opening Includes.xml and find <include name="media_flags_audio_language">. Replace that include with this...

xml:
<include name="media_flags_audio_language">
<definition>
<control type="grouplist">
<left>$PARAM[flagleft]</left>
<width>880</width>
<height>220</height>
<orientation>horizontal</orientation>
<usecontrolcoords>true</usecontrolcoords>
<visible>$PARAM[visible] + ![String.IsEmpty(ListItem.Property(AudioLanguage.$PARAM[item])) | String.IsEqual(ListItem.DbType,set) | Window.IsActive(musicplaylist) | Window.IsActive(music)] + String.IsEqual(skin.string(media_flag_size),large)</visible>
<control type="image">
<width>220</width>
<height>200</height>
<fadetime>common_fade_time</fadetime>
<aspectratio align="center" aligny="center">keep</aspectratio>
<texture background="true">$VAR[extras_path]flag_audio.png</texture>
</control>
<control type="image">
<top>62</top>
<width>220</width>
<height>80</height>
<fadetime>common_fade_time</fadetime>
<aspectratio align="center" aligny="center">keep</aspectratio>
<texture background="true">$VAR[language_path]$INFO[ListItem.Property(AudioLanguage.$PARAM[item]),,.png]</texture>
<bordertexture border="-16">country_shadow.png</bordertexture>
<bordersize>4</bordersize>
</control>
<control type="image">
<width>220</width>
<height>200</height>
<fadetime>common_fade_time</fadetime>
<aspectratio align="center" aligny="center">keep</aspectratio>
<texture background="true">$VAR[audio_channels_path]$INFO[ListItem.Property(AudioChannels.$PARAM[item]),,.png]</texture>
</control>
<control type="image">
<width>220</width>
<height>200</height>
<fadetime>common_fade_time</fadetime>
<aspectratio align="center" aligny="center">keep</aspectratio>
<texture background="true">$VAR[audio_codec_path]atmos.png</texture>
<visible>[String.Contains(ListItem.Filenameandpath,.atmos) | String.Contains(ListItem.Filenameandpath,.atmos.) | String.Contains(ListItem.Filenameandpath,.atmos-)]</visible>
</control>
<control type="image">
<width>220</width>
<height>200</height>
<fadetime>common_fade_time</fadetime>
<aspectratio align="center" aligny="center">keep</aspectratio>
<texture background="true">$VAR[audio_codec_path]dts_x.png</texture>
<visible>[String.Contains(ListItem.Filenameandpath,.dts-x.) | String.Contains(ListItem.Filenameandpath,.dts.x.) | String.Contains(ListItem.Filenameandpath,.dtsx.) | String.Contains(ListItem.Filenameandpath,.dts-x-) | String.Contains(ListItem.Filenameandpath,.dts.x-) | String.Contains(ListItem.Filenameandpath,.dtsx-)]</visible>
</control>
<control type="image">
<width>220</width>
<height>200</height>
<fadetime>common_fade_time</fadetime>
<aspectratio align="center" aligny="center">keep</aspectratio>
<texture background="true">$VAR[audio_codec_path]dtsma.png</texture>
<visible>[String.Contains(ListItem.Filenameandpath,.dtsma)]</visible>
</control>
<control type="image">
<width>220</width>
<height>200</height>
<fadetime>common_fade_time</fadetime>
<aspectratio align="center" aligny="center">keep</aspectratio>
<texture background="true">$VAR[audio_codec_path]$INFO[ListItem.Property(AudioCodec.$PARAM[item]),,.png]</texture>
<visible>![String.Contains(ListItem.Filenameandpath,.atmos) | String.Contains(ListItem.Filenameandpath,.atmos.) | String.Contains(ListItem.Filenameandpath,.atmos-) | String.Contains(ListItem.Filenameandpath,.dts-x.) | String.Contains(ListItem.Filenameandpath,.dts.x.) | String.Contains(ListItem.Filenameandpath,.dtsx.) | String.Contains(ListItem.Filenameandpath,.dts-x-) | String.Contains(ListItem.Filenameandpath,.dts.x-) | String.Contains(ListItem.Filenameandpath,.dtsx-) | String.Contains(ListItem.Filenameandpath,.dtsma)]</visible>
</control>
</control>
<control type="grouplist">
<left>$PARAM[flagleft]</left>
<width>880</width>
<height>187</height>
<orientation>horizontal</orientation>
<usecontrolcoords>true</usecontrolcoords>
<visible>$PARAM[visible] + ![String.IsEmpty(ListItem.Property(AudioLanguage.$PARAM[item])) | String.IsEqual(ListItem.DbType,set) | Window.IsActive(musicplaylist) | Window.IsActive(music)] + String.IsEqual(skin.string(media_flag_size),medium)</visible>
<control type="image">
<top>15</top>
<width>187</width>
<height>170</height>
<fadetime>common_fade_time</fadetime>
<aspectratio align="center" aligny="center">keep</aspectratio>
<texture background="true">$VAR[extras_path]flag_audio.png</texture>
</control>
<control type="image">
<top>66</top>
<width>187</width>
<height>68</height>
<fadetime>common_fade_time</fadetime>
<aspectratio align="center" aligny="center">keep</aspectratio>
<texture background="true">$VAR[language_path]$INFO[ListItem.Property(AudioLanguage.$PARAM[item]),,.png]</texture>
<bordertexture border="-16">country_shadow.png</bordertexture>
<bordersize>4</bordersize>
</control>
<control type="image">
<top>15</top>
<width>187</width>
<height>170</height>
<fadetime>common_fade_time</fadetime>
<aspectratio align="center" aligny="center">keep</aspectratio>
<texture background="true">$VAR[audio_channels_path]$INFO[ListItem.Property(AudioChannels.$PARAM[item]),,.png]</texture>
</control>
<control type="image">
<top>15</top>
<width>187</width>
<height>170</height>
<fadetime>common_fade_time</fadetime>
<aspectratio align="center" aligny="center">keep</aspectratio>
<texture background="true">$VAR[audio_codec_path]atmos.png</texture>
<visible>[String.Contains(ListItem.Filenameandpath,.atmos) | String.Contains(ListItem.Filenameandpath,.atmos.) | String.Contains(ListItem.Filenameandpath,.atmos-)]</visible>
</control>
<control type="image">
<top>15</top>
<width>187</width>
<height>170</height>
<fadetime>common_fade_time</fadetime>
<aspectratio align="center" aligny="center">keep</aspectratio>
<texture background="true">$VAR[audio_codec_path]dts_x.png</texture>
<visible>[String.Contains(ListItem.Filenameandpath,.dts-x.) | String.Contains(ListItem.Filenameandpath,.dts.x.) | String.Contains(ListItem.Filenameandpath,.dtsx.) | String.Contains(ListItem.Filenameandpath,.dts-x-) | String.Contains(ListItem.Filenameandpath,.dts.x-) | String.Contains(ListItem.Filenameandpath,.dtsx-)]</visible>
</control>
<control type="image">
<top>15</top>
<width>187</width>
<height>170</height>
<fadetime>common_fade_time</fadetime>
<aspectratio align="center" aligny="center">keep</aspectratio>
<texture background="true">$VAR[audio_codec_path]dtsma.png</texture>
<visible>[String.Contains(ListItem.Filenameandpath,.dtsma)]</visible>
</control>
<control type="image">
<top>15</top>
<width>187</width>
<height>170</height>
<fadetime>common_fade_time</fadetime>
<aspectratio align="center" aligny="center">keep</aspectratio>
<texture background="true">$VAR[audio_codec_path]$INFO[ListItem.Property(AudioCodec.$PARAM[item]),,.png]</texture>
<visible>![String.Contains(ListItem.Filenameandpath,.atmos) | String.Contains(ListItem.Filenameandpath,.atmos.) | String.Contains(ListItem.Filenameandpath,.atmos-) | String.Contains(ListItem.Filenameandpath,.dts-x.) | String.Contains(ListItem.Filenameandpath,.dts.x.) | String.Contains(ListItem.Filenameandpath,.dtsx.) | String.Contains(ListItem.Filenameandpath,.dts-x-) | String.Contains(ListItem.Filenameandpath,.dts.x-) | String.Contains(ListItem.Filenameandpath,.dtsx-) | String.Contains(ListItem.Filenameandpath,.dtsma)]</visible>
</control>
</control>
<control type="grouplist">
<left>$PARAM[flagleft]</left>
<width>880</width>
<height>165</height>
<orientation>horizontal</orientation>
<usecontrolcoords>true</usecontrolcoords>
<visible>$PARAM[visible] + ![String.IsEmpty(ListItem.Property(AudioLanguage.$PARAM[item])) | String.IsEqual(ListItem.DbType,set) | Window.IsActive(musicplaylist) | Window.IsActive(music)] + String.IsEqual(skin.string(media_flag_size),small)</visible>
<control type="image">
<top>30</top>
<width>165</width>
<height>150</height>
<fadetime>common_fade_time</fadetime>
<aspectratio align="center" aligny="center">keep</aspectratio>
<texture background="true">$VAR[extras_path]flag_audio.png</texture>
</control>
<control type="image">
<top>76</top>
<width>165</width>
<height>60</height>
<fadetime>common_fade_time</fadetime>
<aspectratio align="center" aligny="center">keep</aspectratio>
<texture background="true">$VAR[language_path]$INFO[ListItem.Property(AudioLanguage.$PARAM[item]),,.png]</texture>
<bordertexture border="-16">country_shadow.png</bordertexture>
<bordersize>4</bordersize>
</control>
<control type="image">
<top>30</top>
<width>165</width>
<height>150</height>
<fadetime>common_fade_time</fadetime>
<aspectratio align="center" aligny="center">keep</aspectratio>
<texture background="true">$VAR[audio_channels_path]$INFO[ListItem.Property(AudioChannels.$PARAM[item]),,.png]</texture>
</control>
<control type="image">
<top>30</top>
<width>165</width>
<height>150</height>
<fadetime>common_fade_time</fadetime>
<aspectratio align="center" aligny="center">keep</aspectratio>
<texture background="true">$VAR[audio_codec_path]atmos.png</texture>
<visible>[String.Contains(ListItem.Filenameandpath,.atmos) | String.Contains(ListItem.Filenameandpath,.atmos.) | String.Contains(ListItem.Filenameandpath,.atmos-)]</visible>
</control>
<control type="image">
<top>30</top>
<width>165</width>
<height>150</height>
<fadetime>common_fade_time</fadetime>
<aspectratio align="center" aligny="center">keep</aspectratio>
<texture background="true">$VAR[audio_codec_path]dts_x.png</texture>
<visible>[String.Contains(ListItem.Filenameandpath,.dts-x.) | String.Contains(ListItem.Filenameandpath,.dts.x.) | String.Contains(ListItem.Filenameandpath,.dtsx.) | String.Contains(ListItem.Filenameandpath,.dts-x-) | String.Contains(ListItem.Filenameandpath,.dts.x-) | String.Contains(ListItem.Filenameandpath,.dtsx-)]</visible>
</control>
<control type="image">
<top>30</top>
<width>165</width>
<height>150</height>
<fadetime>common_fade_time</fadetime>
<aspectratio align="center" aligny="center">keep</aspectratio>
<texture background="true">$VAR[audio_codec_path]dtsma.png</texture>
<visible>[String.Contains(ListItem.Filenameandpath,.dtsma)]</visible>
</control>
<control type="image">
<top>30</top>
<width>165</width>
<height>150</height>
<fadetime>common_fade_time</fadetime>
<aspectratio align="center" aligny="center">keep</aspectratio>
<texture background="true">$VAR[audio_codec_path]$INFO[ListItem.Property(AudioCodec.$PARAM[item]),,.png]</texture>
<visible>![String.Contains(ListItem.Filenameandpath,.atmos) | String.Contains(ListItem.Filenameandpath,.atmos.) | String.Contains(ListItem.Filenameandpath,.atmos-) | String.Contains(ListItem.Filenameandpath,.dts-x.) | String.Contains(ListItem.Filenameandpath,.dts.x.) | String.Contains(ListItem.Filenameandpath,.dtsx.) | String.Contains(ListItem.Filenameandpath,.dts-x-) | String.Contains(ListItem.Filenameandpath,.dts.x-) | String.Contains(ListItem.Filenameandpath,.dtsx-) | String.Contains(ListItem.Filenameandpath,.dtsma)]</visible>
</control>
</control>
</definition>
</include>

Also, you should be able to display the DTS X flag by using the following extensions...".dts-x.", ".dts.x.", ".dtsx.", ".dts-x-", ".dts.x-", or ".dtsx-".

@andrzejls
See if this thread helps. There's a link to an add-on named Kodi Selective Cleaner that I may try myself.


RE: Aeon MQ 9 Mod for Kodi 21 (Omega) - JanM201 - 2024-10-31

Hi @latts9923

Thank you so much. This was driving me insane Laugh
I'll have to wait for your update as I'm running Kodi off the Nvidia Shield and I'm not sure how to find or edit that file. Don't know if it's even possible.

Just to clarify, after I installed the update once posted, the DTS X flag will display now?
I'm asking because I have been using the naming you suggested (DTS-X), with no luck.

Also, will the Dolby Atmos flag also display correctly then? Please give examples of what to put in the file name like you did for the DTS X.
I've been using TrueHD.Atmos with no luck.

Thanks very much for your hard work on this skin and helping us out every now and again.

This is hands down the best skin out there, just saying.


RE: Aeon MQ 9 Mod for Kodi 21 (Omega) - wags1 - 2024-10-31

@JanM201 I personally have my 2 Nvidia Shields linked as network connections on my W11 laptop so it makes it easy but you can use something like adblink to connect to it over the network as well.


RE: Aeon MQ 9 Mod for Kodi 21 (Omega) - andrzejls - 2024-10-31

(2024-10-31, 12:46)latts9923 Wrote: @andrzejls
See if this thread helps. There's a link to an add-on named Kodi Selective Cleaner that I may try myself.


@latts9923
Interesting add-on, "Kodi Selective Cleaner". So I got v1.0.7 (latest) and did some testing. It does clean some extraneous data in database, but.... 

My setup:
- Kodi database is in MariaDB running in Debian based Openmediavault NAS and used by 5 (five) kodi seats (3 on Nvidia Shield Pro 2019 and 2 on Firestick 4K MAX).

The scenario:
- Removing from Kodi TV Show or Movie using "Long press Enter or OK Button" --> MANAGE --> REMOVE FROM LIBRARY. I will use as an example "All.Creatures.Great.and.Small.1978" TV Show.
- SETTINGS --> MEDIA --> CLEAN LIBRARY. At this point that TV Show is cleaned in the database table "tvshow"
- Deleting this show from a drive designated and assigned to TV Shows in NAS so MariaDB does not see it when "Update Library is run in Kodi.
- Bring back this show to the drive that this show was originally on.
- When "Clean Library" was run from Kodi the Database table "path" is not cleaned (the tv show path is not removed), so when I run Update Library in Kodi that show is not recognized and is not scanned into the Database.

The workaround:
At this point I have to go into MariaDB using "dbeaver-ce" on one of me Linux boxes and remove this show entries in "path" table, so then it can be scanned back into Kodi database.
My hope was that this add-on will take of this issue but unfortunately it does not. I still think that it is a good attempt, "Kodi Selective Cleaner", but it falls short of being great, IMHO.

BTW, thanks for the fix in Includes.xml.


RE: Aeon MQ 9 Mod for Kodi 21 (Omega) - JanM201 - 2024-11-01

Hi @latts9923,

I applied your fix and the 1st audio is displaying perfect now for DTS X & Dolby Atmos.
The 2nd audio is not displaying correctly, see my examples:

Image
Image
The 2nd audio for both of these movies is Dolby Digital. As you can see, the wrong flag is displaying for them. It is only on Dolby Atmos & DTS X I'm seeing this problem.
Can you please look into this.
Sorry for giving you all this extra work  Laugh


RE: Aeon MQ 9 Mod for Kodi 21 (Omega) - latts9923 - 2024-11-01

@andrzejls
I haven't had a chance to test out the add-on yet. I have run into the path problem on some video items as well. I had to perform the same steps you took to remove the path.

You're welcome! However, it looks like the audio flag fix was only a partial fix.

@JanM201
I am seeing the same problem as you with multiple audio channels. No worries...gotta fix these bugs!


RE: Aeon MQ 9 Mod for Kodi 21 (Omega) - JanM201 - 2024-11-01

Thanks very much Rofl


RE: Aeon MQ 9 Mod for Kodi 21 (Omega) - latts9923 - 2024-11-01

I think the only way to get these custom audio flags to display correctly on each channel is to have individual flag extensions in the filename. I have them displaying correctly now for this Movie...
Image

but I had to use the extension ".atmos2." in the filename for channel 2. If you want the Atmos flag to display for channel1, you will need to use ".atmos1." If you omit the extension, Kodi will display the audio flag that was scraped in the database (channel 1 in the image above).

So, for example, if you want the DTS flag to display for channel 1 and the Atmos flag to display for channel 2, you will need to use "Movie (2024).dtsx1.atmos2.mp4" as the filename.


RE: Aeon MQ 9 Mod for Kodi 21 (Omega) - andrzejls - 2024-11-01

(2024-11-01, 11:43)latts9923 Wrote: @andrzejls
I haven't had a chance to test out the add-on yet. I have run into the path problem on some video items as well. I had to perform the same steps you took to remove the path.
@latts9923
I posted my #1085 (with some modifications) on the add-on thread you pointed me to. See if I get any feedback.


RE: Aeon MQ 9 Mod for Kodi 21 (Omega) - JanM201 - 2024-11-01

Hi @latts9923,

I here what you are saying, but explain this then.

Here are 3 movies I named as follows:
American.Pie.1999.Unrated.4k.10bit.DV.DTS-HD.MA.5.1.mkv
Breakdown.1997.4k.10bit.DV.TrueHD.5.1.mkv
Happiness.1998.4k.10bit.DV.DD.2.0.mkv

This is how they are showing up in Kodi:
Image

Image

Image

As you can see, on these movies both audio's displays fine, even thou I only put the 1st one in my file naming.
It's only when using Dolby Atmos & DTS X when there's a problem.
Not sure if that's something you can fix.


RE: Aeon MQ 9 Mod for Kodi 21 (Omega) - latts9923 - 2024-11-01

@JanM201
I'm betting that if you open your database and look in your streamdetails table for those Movies you will see those audio flags (like flac) are listed in the database.


RE: Aeon MQ 9 Mod for Kodi 21 (Omega) - latts9923 - 2024-11-03

UPDATE #41 - This will update the skin to v1.4.2

Image Bug fixes
  • I fixed a problem with the audio language media flag not displaying the Atmos, DTS X or DTS Master Audio flags when the proper extensions were in the filename. Thanks to JanM201 for finding the bug!
    You must use the following extensions to display the desired flags...
    Atmos for Channel 1 = .atmos1, .atmos1., .atmos1-
    Atmos for Channel 2 = .atmos2, .atmos2., .atmos2-
    DTS X for Channel 1 = .dts-x1., .dts.x1., .dtsx1., .dts-x1-, .dts.x1-, .dtsx1-
    DTS X for Channel 2 = .dts-x2., .dts.x2., .dtsx2., .dts-x2-, .dts.x2-, .dtsx2-
    DTS Master Audio for Channel 1 = .dtsma1, .dtsma1.
    DTS Master Audio for Channel 2 = .dtsma2, .dtsma2.

  • The Information Bar for Sets was displaying "Episodes" for the total Movies in Sets.
  • I noticed in the streamdetails table of my video database that there were a few audiocodecs listed as "aac lc" and "aac lc sbr". I added two new flags with those names to the audiocodec images.
  • The "PLAY MUSIC VIDEO" button was visible behind the "PRESS 'LEFT' TO PLAY MUSIC VIDEO" button in View Type-01 & 18. It will now only display after pressing left.

ImageMaintenance
  • I added the header color to the Album, Year, Genre and BPM in style4 of music viz. Thanks to defleppard73 for the idea!
  • I added the header color, Artist and separators to the sub info for Songs in View Type-01 & 18. Thanks to defleppard73 for the idea!
  • I removed the (Music video) label for Songs that have a Music Video and replaced it with a music video icon that will display after the duration.
    Image

NOTICE
After installing this update, if you have the vertical menu selected you will need to copy the contents of MainMenu.xml.vertical to MainMenu.xml to restore the vertical menu.


RE: Aeon MQ 9 Mod for Kodi 21 (Omega) - JanM201 - 2024-11-03

Hi @latts9923,

Ok, so I applied your latest update and now none of my audio flags are showing.
I presume it's because I don't have a 1 or 2 behind my audio file naming.

Please look at my post on the 1st of November where I provided the 3 pictures.
Your skin was displaying all the audio flags correctly, even the second one which wasn't even in my file naming as you can see.
Let's take "American Pie" for example:
Here is how I named my file - American.Pie.1999.Unrated.4k.10bit.DV.DTS-HD.MA.5.1.mkv
Now if you look at the 1st picture, you can see that the skin displayed the 1st audio flag as DTS-HD MA 5.1 (Spot on as per my naming).
It also displayed the 2nd audio flag as "flac 2.0", which wasn't even in my file naming (Spot on as the movie's 2nd audio is flac).

If I used TrueHD.Atmos in the file name for my 1st audio:
The skin would not display the 1st audio flag (In this case Dolby Atmos), nor the 2nd audio flag for whatever 2nd audio was present.

If I used DTS-X in the file name for my 1st audio:
The skin would not display the 1st audio flag (In this case DTS-X), nor the 2nd audio flag for whatever 2nd audio was present.

As you can see, everything was working fine (even DTS-HD MA), except for these 2 audio's.

To me, this feels like a step backwords, because now I have to go and rename al my movie files, as well as my TV episodes in order for the flags to show up.

Can't you maybe just fix the code for the 2 audio's in question (Maybe use the same code as for the DTS-HD MA).

Maybe there's something I'm missing Huh
Sorry for all the rambling Laugh


RE: Aeon MQ 9 Mod for Kodi 21 (Omega) - latts9923 - 2024-11-03

@JanM201
For your American Pie audio codec flags, those are not displaying based on your filename extensions. They are being determined by the strAudioCodec column in the streamdetails table of your video database. The only flags that are displayed by custom extensions are Atmos, DTS X and DTS Master Audio.

Yes, unfortunately you will need to rename any file that was using the extensions to force the desired flag to the correct channel. I'm not sure of any other way to handle this at the moment.