Displaying Quad, DVDA, SACD, DTS Logos in Kodi?

QuadraphonicQuad

Help Support QuadraphonicQuad:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
Having said that, I have no idea how easy/difficult it is to get Kodi to read custom tags.

Kodi’s tag reading is not user definable. A developer needs to tweak c code to add new tags. All the ‘standard’ tags are read but not something new like ‘QuadFormat’, for example

The ReleaseType tag is supported by Kodi and could be used but since it’s non-standard in tagging programs I thought to simplify by using the folder name. I was thinking af adding ReleaseType to Music Media Helper but that only runs on Windows.
 
HOW TO INSTALL the Kodi QQ Logo mod for Aeon Nox: Silvo skin:

(Last Updated: 8 April 2024) - XML files are now for Kodi 21 (Omega) only. I've removed all files for earlier versions of Kodi.

The skin modification to show source logos is based on the Kodi official skin: Aeon Nox: Silvo as released with Kodi v21.

NOTE: You must first install that skin from the Kodi Repository (in Look and Feel).

I have modified three Aeon Nox Silvo skin files:

MusicVisualisation.xml
Variables.xml
Fonts.xml

This latest mod has the same QQ logo files as Kodi 20 (created and/or modified codec logos in previous mods)

You can download the two modified three xml files and all the logos from these links:

Logos (unzip the files after download):
https://reva.blob.core.windows.net/kodimods/Kodi21/QQLogos.zip
Thanks to those members here on QQ that provide and tweaked some logos!

XML files:
For Kodi 21 Omega Release (Aeon Nox Silvo 9) use these XML files:
https://reva.blob.core.windows.net/kodimods/Kodi21/XMLfiles.zip
EDIT: (Removed all previous Kodi version files)

The Kodi addons folder location will depend on your Kodi device's operating system:

FOR WINDOWS:
Its in the current user folder (usually C: drive):

C:\Users\[USER NAME]\AppData\Roaming\Kodi\addons

NOTE: You may need to check 'Hidden Items' in the Windows Explorer Details tab to see these folders


For Linux:
Its in:

/usr/share/.kodi/addons


FOR LINUX (LibreElec and CoreElec):
The folder is:

storage/.kodi/addons

You can access the Linux device's storage folder from a Windows PC by following this post:

https://www.quadraphonicquad.com/fo...nux-libreelec-coreelec-etc.26972/#post-442128

In the addons folder (from your device above) look for a folder named: skin.aeon.nox.silvo

Within the skin.aeon.nox.silvo folder there are two folders:
16x9 - copy the three files: MusicVisualisation.xml, Variables.xml and Fonts.xml into that folder (overwrite or rename the original files prior)
media - Create a new sub-folder within named 'QQLogos', now copy all the QQLogos files from the zip file you downloaded into the new QQLogos folder

NOTE: Linux and Android are case sensitive. QQLogos is not the same as qqlogos

You can restart/reboot, its ready to use!

WARNING: By default the Aeon Nox Silvo skin will auto update if your Kodi is connected to the internet and the skin is updated by the developer. It likely the two XML files modified will get overwritten. So if this mod suddenly disappears just re-copy XMLs again (as above) and you also need to recreate the QQLogos folder and copy the QQ Logos. You can also set the Aeon Nox Silvo skin NOT to auto-update in Kodi's System, Addons, MyAddons section - select the Aeon Nox Silvo skin and you can turn off its auto update.

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)
Dark Side of the Moon (Atmos)
Wish You Were Here (Quad BDA)

So no need to re-tag any music files, just add a ‘codec/format’ to the folder name as shown above. 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.


Users can modify the 'rules' I've defined and/or modify/add new logo files to the QQ Logos folder (named QQLogos ):

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 'QQCodecFromPathvar' is:

Code:
<variable name="QQLogoFromPathvar">
        <value  condition="String.Contains(Player.Folderpath,SACD)">QQLogos/SACD.png</value>
        <value  condition="String.Contains(Player.Folderpath,DVDA)">QQLogos/mlp.png</value>
        <value  condition="String.Contains(Player.Folderpath,DVD-A)">QQLogos/mlp.png</value>
        <value  condition="String.Contains(Player.Folderpath,DTS 9624)">QQLogos/dts9624.png</value>
        <value  condition="String.Contains(Player.Folderpath,DTS9624)">QQLogos/dts9624.png</value>
        <value  condition="String.Contains(Player.Folderpath,ADVD)">QQLogos/DVDV.png</value>
        <value  condition="String.Contains(Player.Folderpath,DVDV)">QQLogos/DVDV.png</value>
        <value  condition="String.Contains(Player.Folderpath,DVD-V)">QQLogos/DVDV.png</value>
        <value  condition="String.Contains(Player.Folderpath,360)">QQLogos/360.png</value>
        <value  condition="String.Contains(Player.Folderpath,Quad BDA)">QQLogos/BDA.png</value>
        <value  condition="String.Contains(Player.Folderpath,Quad SQ)">QQLogos/QuadSQ.png</value>
        <value  condition="String.Contains(Player.Folderpath,Quad Q8)">QQLogos/QuadQ8.png</value>
        <value  condition="String.Contains(Player.Folderpath,Quad QR)">QQLogos/QuadQR.png</value>
        <value  condition="String.Contains(Player.Folderpath,Quad Reel)">QQLogos/QuadQR.png</value>
        <value  condition="String.Contains(Player.Folderpath,Quad QS)">QQLogos/QuadQS.png</value>
        <value  condition="String.Contains(Player.Folderpath,Quad CD4)">QQLogos/QuadCD4.png</value>
        <value  condition="String.Contains(Player.Folderpath,Quad Q4)">QQLogos/QuadQ4.png</value>
        <value  condition="String.Contains(Player.Folderpath,Quadradisc)">QQLogos/quadradisc.png</value>
        <value  condition="String.Contains(Player.Folderpath,Penteo)">QQLogos/penteo.png</value>
        <value  condition="String.Contains(Player.Folderpath,Upmix)">QQLogos/upmix.png</value>
        <value  condition="String.Contains(Player.Folderpath,Quad)">QQLogos/quadraphonic.png</value>
        <value  condition="String.Contains(Player.Folderpath,BDA)">QQLogos/BDA.png</value>
        <value  condition="String.Contains(Player.Folderpath,BDV)">QQLogos/BDA.png</value>
        <value  condition="String.Contains(Player.Folderpath,Multitrack)">QQLogos/multitrack.png</value>
        <value  condition="String.Contains(Player.Folderpath,Atmos)">QQLogos/dolbyatmos.png</value>
        <value  condition="String.Contains(Player.Folderpath,DTSX)">QQLogos/dtsx.png</value>
        <value  condition="String.Contains(Player.Folderpath,DTS-CD)">QQLogos/dtssurround.png</value>
        <value  condition="String.Contains(Player.Folderpath,DTSCD)">QQLogos/dtssurround.png</value>
        <value  condition="String.Contains(Player.Folderpath,DTS CD)">QQLogos/dtssurround.png</value>
        <value  condition="String.Contains(Player.Folderpath,DTSDVD)">QQLogos/dtssurround.png</value>
        <value  condition="String.Contains(Player.Folderpath,Dolby DVD)">QQLogos/dolbydigital.png</value>
        <value  condition="String.Contains(Player.Folderpath,DTS DVD)">QQLogos/dtssurround.png</value>
        <value  condition="String.Contains(Player.Folderpath,DSF)">QQLogos/dsd.png</value>
        <value  condition="String.Contains(Player.Filename,.flac)">QQLogos/flac.png</value>
        <value  condition="String.Contains(Player.Filename,.dsf)">QQLogos/dsd.png</value>
        <value  condition="String.Contains(Player.Filename,.dff)">QQLogos/dsd.png</value>
        <value  condition="String.Contains(Player.Filename,.mp3)">QQLogos/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 below the last rule are tested.

In the first rule:
<value condition="String.Contains(Player.Folderpath,SACD)">QQLogos/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 QQLogos 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.


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. This enables the use of the word 'Quad' instead of '4' and 'Stereo' instaed of 2 etc and to use immersive codec names like 'Atmos' instead of '8' (the Core channel count).

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:

Code:
<variable name="QQNoOfChannelsFromPathvar">
        <value  condition="String.IsEqual(MusicPlayer.Channels,4)">Quad</value>
        <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) + String.Contains(MusicPlayer.Codec,eac3)">Atmos EAC3</value>
        <value  condition="String.Contains(Player.Folderpath,Atmos) + String.Contains(MusicPlayer.Codec,truehd)">Atmos TrueHD</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>


Thanks for all the logos 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.

If anyone has any ideas on 'Quadifying' Kodi further please post your ideas!!

THX
Garry
 
Last edited:
This is superb! Thanks again Garry for all your hard work on this…

If anyone does this on a Mac you can press SHIFT+COMMAND+FULLSTOP (after doing the above) and the hidden folders should show up… I can’t wait to check it out later… 🤤
 
Amazing work! I believe this could be done on a media player as well, given that you can reach the folder via a laptop for instance?

Second, will it detect any type of folder that has the word SACD in it, meaning ”America - Homecoming [2015 AF SACD 5.1]” would work just as fine as naming the folder ”[SACD]” only?
 
Last edited:
Kodi’s tag reading is not user definable.

Dammit!

The ReleaseType tag is supported by Kodi and could be used but since it’s non-standard in tagging programs I thought to simplify by using the folder name. I was thinking af adding ReleaseType to Music Media Helper but that only runs on Windows.

The folder name seems like a really good idea for two reasons: As you say, it's simpler. But also, some people are probably taking the official tags seriously and I believe that ReleaseType is an official MusicBrainz invention.

Off-topic: I wish the MusicBrainz stuff had started long ago and become standard. I've been working a lot over the last few years with a community radio station and getting the proper artwork to display for a track is sometimes difficult. Being able to allow MusicBrainz tags to create a non-ambigious 1:1 association between the song and the cover art would be incredibly useful.
 
Amazing work! I believe this could be done on a media player as well, given that you can reach the folder via a laptop for instance?

Yes. There is a link in my post to a ‘How to connect’ to a Kodi Media Player from a PC or Laptop.

Second, will it detect any type of folder that has the word SACD in it, meaning ”America - Homecoming [2015 AF SACD 5.1]” would work just as fine as naming the folder ”[SACD]” only?

The condition ‘contains’ is a wildcard match equivalent to: LIKE *SACD* so it will match SACD anywhere in the folder name. But it would be easy to edit the rule to look for [SACD] if you want.
 
I updated the XML files (add a couple new rules) and found that Aeon Nox Silvo auto-updated today to 7.04. It replaced the two XMLs and deleted the QQcodec logo folder too.

I've updated the WARNING in the How to post and added the bold text below:

WARNING: By default the Aeon Nox Silvo skin will auto update if your Kodi is connected to the internet and the skin is updated by the developer. It likely the two XML files modified will get overwritten. So if this mod suddenly disappears just re-copy XMLs again (as above) and you also need to recreate the QQcodec folder and copy the QQ Logos. You can also set the Aeon Nox Silvo skin NOT to auto-update in Kodi's System, Addons, MyAddons section - select the Aeon Nox Silvo skin and you can turn off its auto update.
 
Success this end, WOOHOO! :SG It looks super duper great! :love:🍻🍾

After updating a couple of folders it works perfectly... I've been a bit short on time but hopefully I'll be free soon and can start updating all relevant folders... And I can help out with logos etc...

Best Of The Doors (BDA)
QQL1.jpg

Best Of The Doors (SACD)
QQL2.jpg

Oasis (UPMIX)
QQL3.jpg

Jim Croce (QuadQS)
QQL4.jpg

The Beatles - Folder untouched
QQL5.jpg

Can't wait!!! Thanks so much for sorting this out... :phones
 
Awesome, the time factor is a b*tch for me too (wife and kids and work and, and, and) but I will sure look into this.
 
Those images are jpeg so they don't have transparent backgrounds. They need to be png or svg for transparency. Do you have them in one of those formats?
 
I've updated the logo zip download file (QQLogos.zip) with more transparent background logos supplied by MrSmithers (Thanks!)

There's some offering either a white or black foreground, you can easily edit the Variables.xml to change the logo file name.

I'll have a play with some I created and see if I can add transparent backgrounds to some (white on transparent).
 
Wow, that sounds like it could be awesome, thanks Garry!



I know that @Peacekeepr73 has done some superb old quad logos and hopefully wouldn't mind them being used... I think the modern type media should be pretty accessible... Also there are logos shown on the QQ banner so maybe Jon has a collection?

I've saved a lot of the source info on my music in J River although I'm not sure what part of the metadata is universal i.e added in producer/publisher/original title. I think that may be just local? Anyway I quite enjoy updating the info, and it's pretty easy to transfer the relevant info to the comment section...
I have no issue with anyone using my logo files. Feel free to download them from the thread I created.
 
I've updated the Variables.xml file rules for 'QQCodecFromPathvar' yesterday and in the 'How To' post and edited the code sample in that post to just now.
 
Another update today to the XML files. Here's a couple more examples with latest XML and QQ Logos:

DVD Audio converted to FLAC:
QQLogo4.png


DTS-CD converted to FLAC:
QQLogo5.png
 
Last edited:
I’m updating this mod today to deal with stereo and mono music files and correctly display Quadradisc logo and show ‘Penteo’ as an upmix logo since I now have done many Penteo upmixes.

The mod will be based on latest Kodi 18.5 Aeon Nox Silvo files so you’ll need to update Aeon Nox Silvo to latest version before applying my changed files. (Aeon Nox Silvo 7.0.8).

I’ll post here when new files are ready to download.
 
Back
Top