I will move some of the posts in this thread to a new thread but in the mean time here’s some info on the QQ Logo Kodi skin mod I did. The source files are in the zip.
Here is the QQ Logo skin mod in action (video) when I play a Penteo Upmix in Kodi with the Artists Slideshow running:
(actually an old video I made with my iPhone and TV screen, the latest skin mod has a smaller album cover image).
The mod provides the codec logo at bottom and the word ‘Quad’ to the codec information line displayed.
The following is from the original QQ Logo skin mod thread from a few years ago here on QQ so users can customise for their folder naming:
How does this work:
This mod will display logos by reading certain user defined text from the album folder name. Examples for Pink Floyd albums:
Atom Heart Mother (
Quad Q8)
Dark Side of the Moon (
SACD)
Wish You Were Here (
Quad BDA)
So no need to re-tag any music files, just add a ‘codec/format’ to the folder name. Valid Codecs are in the Rules section below and are user definable. You will need to rescan your Music Library in Kodi for it to see the any albums with changed folder names.
In my music collection I have created sub-folders for surround music ‘types’ which I use to navigate in Kodi:
Music\Atmos
Music\Quad
Music\Upmixes
Music\Surround (everything else not that’s Atmos, Quad or upmixed)
Music\Stereo
So instead of renaming all your album folders you could move them under sub-folders named like the above. This has the benefit of allowing Kodi to ‘filter’ its music library by those ‘Source’ folder names. Basically, ‘Show me Quad music’ or ‘Show me Atmos music’ etc.
Users can modify the 'rules' I've defined and/or modify/add new logs to the QQ Logos folder (named QQcodec):
The
Variables.xml file contains the rules for selecting the desired logo based on a user defined string (text) in the rule condition. This is just a simple xml text file that can be edited easily. (you must restart Kodi for any changes to be applied).
This is what the current variable definition is for 'QQLogoFromPathvar' is:
<variable name="QQLogoFromPathvar">
<value condition="String.Contains(Player.Folderpath,DVDA UM)">QQcodec/upmix.png</value>
<value condition="String.Contains(Player.Folderpath,SACD UM)">QQcodec/upmix.png</value>
<value condition="String.Contains(Player.Folderpath,SACD)">QQcodec/SACD.png</value>
<value condition="String.Contains(Player.Folderpath,DVDA)">QQcodec/mlp.png</value>
<value condition="String.Contains(Player.Folderpath,DVD-A)">QQcodec/mlp.png</value>
<value condition="String.Contains(Player.Folderpath,DTS 9624)">QQcodec/dts9624.png</value>
<value condition="String.Contains(Player.Folderpath,DTS9624)">QQcodec/dts9624.png</value>
<value condition="String.Contains(Player.Folderpath,ADVD)">QQcodec/DVDV.png</value>
<value condition="String.Contains(Player.Folderpath,DVDV)">QQcodec/DVDV.png</value>
<value condition="String.Contains(Player.Folderpath,DVD-V)">QQcodec/DVDV.png</value>
<value condition="String.Contains(Player.Folderpath,Quad BDA)">QQcodec/BDA.png</value>
<value condition="String.Contains(Player.Folderpath,Quad SQ)">QQcodec/QuadSQ.png</value>
<value condition="String.Contains(Player.Folderpath,Quad Q8)">QQcodec/QuadQ8.png</value>
<value condition="String.Contains(Player.Folderpath,Quad QR)">QQcodec/QuadQR.png</value>
<value condition="String.Contains(Player.Folderpath,Quad Reel)">QQcodec/QuadQR.png</value>
<value condition="String.Contains(Player.Folderpath,Quad QS)">QQcodec/QuadQS.png</value>
<value condition="String.Contains(Player.Folderpath,Quad CD4)">QQcodec/QuadCD4.png</value>
<value condition="String.Contains(Player.Folderpath,Quad Q4)">QQcodec/QuadQ4.png</value>
<value condition="String.Contains(Player.Folderpath,Quadradisc)">QQcodec/quadradisc.png</value>
<value condition="String.Contains(Player.Folderpath,Quad)">QQcodec/quadraphonic.png</value>
<value condition="String.Contains(Player.Folderpath,BDA)">QQcodec/BDA.png</value>
<value condition="String.Contains(Player.Folderpath,BDV)">QQcodec/BDA.png</value>
<value condition="String.Contains(Player.Folderpath,Penteo)">QQcodec/upmix.png</value>
<value condition="String.Contains(Player.Folderpath,Upmix)">QQcodec/upmix.png</value>
<value condition="String.Contains(Player.Folderpath,Multitrack)">QQcodec/multitrack.png</value>
<value condition="String.Contains(Player.Folderpath,Atmos)">QQcodec/dolbyatmos.png</value>
<value condition="String.Contains(Player.Folderpath,DTSX)">QQcodec/dtsx.png</value>
<value condition="String.Contains(Player.Folderpath,DTS-CD)">QQcodec/dtssurround.png</value>
<value condition="String.Contains(Player.Folderpath,DTSCD)">QQcodec/dtssurround.png</value>
<value condition="String.Contains(Player.Folderpath,DTS CD)">QQcodec/dtssurround.png</value>
<value condition="String.Contains(Player.Folderpath,DTSDVD)">QQcodec/dtssurround.png</value>
<value condition="String.Contains(Player.Folderpath,Dolby DVD)">QQcodec/dolbydigital.png</value>
<value condition="String.Contains(Player.Folderpath,DTS DVD)">QQcodec/dtssurround.png</value>
<value condition="String.Contains(Player.Folderpath,DSF)">QQcodec/dsd.png</value>
<value condition="String.Contains(Player.Filename,.flac)">QQcodec/flac.png</value>
<value condition="String.Contains(Player.Filename,.dsf)">QQcodec/dsd.png</value>
<value condition="String.Contains(Player.Filename,.dff)">QQcodec/dsd.png</value>
<value condition="String.Contains(Player.Filename,.mp3)">QQcodec/mp3.png</value>
</variable>
This works as a stacked rule list, when run each rule is sequentially tested, top down, and if its condition is True the value is returned and no further rules are tested.
In the 3rd rule:
<value condition="String.
Contains(
Player.Folderpath,
SACD)">
QQcodec/SACD.png</value>
The condition (test) means: If the current
playing file's folder path contains the word '
SACD' then return the logo file name '
SACD.png' from the
logo folder.
So its easy to add a new rule (copy a line and modify) or to change a rule to check for different text value or use a different logo file.
NOTE: In Linux and Android filenames are case sensitive (Example: FileName.png is not the same as filename.png). In Windows they are seen as the same file.
In this attached screen grab the following logo rule was found (the album folder name had ‘DVD-A’ in the name):
<value condition="String.Contains(Player.Folderpath,DVD-A)">QQcodec/mlp.png</value>
So the mlp.png file is displayed while a song plays:
View attachment 99928
The FLAC file has 6 channels so ‘5.1’ is shown in the codec info line (see below on how that is done)
I have also added a new variable used in this mod named 'QQNoOfChannelsFromPathvar'. This variable is used to update the Number Of Channels based on rules.
The new variable basically returns 'Quad' for any album path with the word 'Quad' in it, likewise 'Atmos' and 'DTS:X', otherwise it looks at the number of channels and returns it converted to MCH naming:
<variable name="QQNoOfChannelsFromPathvar">
<value condition="String.Contains(Player.Filename,Quad) + String.Contains(Player.Folderpath,Penteo)">4.1</value>
<value condition="String.Contains(Player.Folderpath,Quad) + !String.Contains(Player.Folderpath,Quad Penteo)">4.1</value>
<value condition="String.Contains(Player.Folderpath,Quad)">Quad</value>
<value condition="String.Contains(Player.Folderpath,Atmos)">Atmos</value>
<value condition="String.Contains(Player.Folderpath,DTSX)">DTS:X</value>
<value condition="String.IsEqual(MusicPlayer.Channels,5)">5.0</value>
<value condition="String.IsEqual(MusicPlayer.Channels,6)">5.1</value>
<value condition="String.IsEqual(MusicPlayer.Channels,8)">7.1</value>
<value condition="String.IsEqual(MusicPlayer.Channels,2)">stereo</value>
<value condition="String.IsEqual(MusicPlayer.Channels,1)">mono</value>
<value>$INFO[MusicPlayer.Channels]</value>
</variable>
You can modify rules above in the Variables.xml file in the Aeon.Nox.Silvo 16x9 folder provided in the zip file then ‘push’ it to your FTV Kodi folder equivalent (see the install-2.bat for an example adb command line).
Thanks for all the logos QQ members supplied.
I encourage all users to continue to modify these rules and logos, create new rules and logos and share them here for all QQers using Kodi.