Yes, the option is PER CLIENT, it is a PLAYER option and needs to be set for each device where you want to listen to the theme music. PLEASE NOTE; this option often will need to be re-enabled after some of the server updates are made, as it seems to force the setting back to default off with some player/server updates.
With players that are NOT web based, it gets more complicated, some client/player apps will change the play theme music option to off with a server update, but other clients will seem to be on, but not work since it seems the code changed and is not fully compatible between the client and server. In these cases turn the option OFF in the client/player, a reboot may be needed and I would recommend a reboot now just to save time and frustration later, then after reboot enable the play theme music again. If it works you are done till the next server update that breaks it. If it still does not play, reboot your client again and relaunch the app/player and it really should play the theme music again.
Also note, this is very dependent on which device and version of client/player you have. The problem shows up on some and not other devices with server updates. Due to the code changes over time the code is not fully in-sync, so it seems the flags are not always properly communicated when various updates occur. The above steps seems to force the flags to update and work again from an “unknown” logic condition. Even then, you will only hear theme music if it exists. If it has not been uploaded and properly placed on the PLEX system servers, there will be NO music available to play, (check for uploading theme music in the forums to help to fill in gaps of missing music for your library and for everyone else!)
Hope that helps! There are many devices such as DVD and Blu-Ray players that are running some pretty old code, and it is possible there may be some additional issues as a result with the older and no longer supported hardware, but for the most part with a little patience, it seems most of these devices can still be used also.
Sadly (2019 Jan 18) Theme music is also only supported for TV shows. There has been lots of talk about doing it for movies, but nothing yet. I think, total speculation on my part here, that there is additional concern about copyright issues for movies. Regardless, it has been said that coding for movie theme songs is almost fully in place, but the feature is not “yet” implemented. Not sure how accurate that is, but it was posted at one time. I would think it would be nice to at least enable local asset options for theme music for movies, like how it can be used for TV series.
Also, if you want to hear your local server stored theme music files for your theme music on TV series, for example to hear the full song instead of only the limited 30 second clip from PLEX, there are a few specific things you need to enable on your server, and additional steps that need to be followed so the server can find the locally stored theme songs.
You need to enable the ‘local media assets’ agent for tv shows. for best results, this SHOULD be done in all 3 of these items:
Settings - Server - Agents - TV Shows - Personal Media Shows
Settings - Server - Agents - TV Shows - TheTVDB
Settings - Server - Agents - TV Shows - TheMovieDatabase
You also need to make sure, for predictable results, to make sure the “Local Media Assets (TV)” is at the TOP of the agents list, as it searches in a hierarchical order.
Place the THEME song file, in the ROOT folder of the TV show the music is for, and RENAME the music file to “theme.mp3” for MP3 files. I am not sure if anything besides an MP3 file will work or not as I have not tried it.
After adding the file, you will need to REFRESH the show, a normal SCAN of the library WILL NOT update the metadata, so the “theme.mp3” CAN NOT be linked to the show with a library scan. The REFRESH does update the metadata, and as long as the above steps were followed, (and I did not make a mistake listing them), the “theme.mp3” will be found in the root directory of the show, and linked with the metadata after the refresh has completed.