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: 2021-10-23) - Variables.xml and MusicVisualisations.xml now in 3 files. One for Kodi 19 Matrix with Aeon Nox 7.9.6, One for for Kodi 18 Aeon Nox Silvo 7.08 - Kodi 18.5 official and new one for use with ArtistSlideShow 3.0 and Aeon Nox Silvo 7.09). See zip files below.

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

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

I have modified two Aeon Nox Silvo skin files:

MusicVisualisation.xml
Variables.xml

I have also created and/or modified a bunch of new logos

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

Logos (unzip the files after download):
https://reva.blob.core.windows.net/kodimods/QQLogos.zip
DISCLAIMER: I'm no expert on computer graphics. It would be great if we have someone here on QQ that can tweak these logos!

XML files:
EDIT: (Feb 21 2021)
For Kodi 19 Matrix Release (Aeon Nox Silvo 7.9.6) use these XML files:
https://reva.blob.core.windows.net/kodimods/QQ Logo Mod Aeon Nox Kodi 19 Release.zip
For Kodi 18 with Artist Slideshow 2 up until Aeon Nox Silvo 7.0.8:
https://reva.blob.core.windows.net/kodimods/XMLfiles.zip
For Kodi 18 with Artist Slideshow 3 with Aeon Nox 7.0.9:
https://reva.blob.core.windows.net/kodimods/AeonNoxSilvowithAS 3.zip
For Kodi 19 and Aeon Nox Silvo 8: (Changed 2021-10-23)
https://drive.google.com/drive/folders/15kP-iumMRZkk6-61qwbsNSI5umR7GQ8O?usp=sharing
To install the mod you will need to access the Kodi system addons folder by copying these files to the skin.aeon.nox.silvo sub-folder, overwrite existing.

The 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 two files: MusicVisualisation.xml and Variables.xml into that folder (overwrite or rename the original files prior)
media - Create a new sub-folder within named 'QQcodec', now copy all the QQLogos files from the zip file you downloaded into the new QQcodec folder

NOTE: Linux and Android are case sensitive. QQcodec is not the same as qqcodec.

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 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.

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.


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

<variable name="QQCodecFromPathvar">
<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 first 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.


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>

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