Meaning of osd xml-files - Printable Version +- Kodi Community Forum (https://forum.kodi.tv) +-- Forum: Development (https://forum.kodi.tv/forumdisplay.php?fid=32) +--- Forum: Skinning (https://forum.kodi.tv/forumdisplay.php?fid=12) +--- Thread: Meaning of osd xml-files (/showthread.php?tid=379084) |
Meaning of osd xml-files - malvinas2 - 2024-10-08 Hello, my question may seem strange, as I have been modifying the Titan skin for years. But what exactly is the function of the following files? Code: DialogFullScreenInfo.xml (the DialogFullScreenInfo.xml file does not even exist under the Titan skin) Is the DialogFullScreenInfo.xml for videos the same as the MusicVisualisation.xml for music? What is the difference between VideoFullScreen.xml and DialogFullScreenInfo.xml? (my actual goal is to move the functionality contained in the IncludesOSD.xml back into the original files, because the IncludesOSD.xml is a hell of 'conditionals', 'visibles' and 'includes'...) RE: Meaning of osd xml-files - jurialmunkey - 2024-10-08 MusicVisualisation and VideoFullScreen are the background of the music/video windows - i.e. these are always displayed when playing music/video fullscreen. DialogSeekBar typically holds the progress bar which is displayed when seeking/pausing etc. (depending on visibility conditions). It is visible on top of the musicvis/videofullscreen. You might also show other elements here like title or album art that you want to appear above the background video/visualisation on a conditional basis. Music/Video OSD hold the buttons like play/pause to control playback i.e. it is opened by the user clicking select and closes by the user pressing back. Anything user interactable will need to go in these windows for the user to access it. DialogFullScreenInfo is a dialog which opens when you press info on the remote in fullscreen video. RE: Meaning of osd xml-files - malvinas2 - 2024-10-08 Thanks @jurialmunkey The explanations are clear, it's just confusing that the skins don't strictly adhere to them. Apart from the Titan skin, the DialogFullScreenInfo.xml in the Estuary skin e.g. is almost empty, the actual info (plot) is located in another file. There are probably similar examples in other skins. Furthermore I'm also always irritated that the progress bar is essentially present twice: ;-) once as a seekbar in DialogSeekBar.xml, a second time as a pure progress bar, mostly implemented in MusicOSD.xml or VideoOSD.xml. RE: Meaning of osd xml-files - jurialmunkey - 2024-10-09 > The explanations are clear, it's just confusing that the skins don't strictly adhere to them. I hear you, but there are good reasons for it due to the modality of the different dialogs. Modal dialogs steal focus and block other modal dialogs or windows opening (i.e. you must close the modal dialog before going somewhere else). The seekbar is non-modal and doesn't steal focus, whereas videoosd and fullscreeninfo are both modal dialogs which steal focus. > Apart from the Titan skin, the DialogFullScreenInfo.xml in the Estuary skin e.g. is almost empty, the actual info (plot) is located in another file. There are probably similar examples in other skins. That's because you don't want to duplicate the code if you show info in both dialogs, which also keeps nicer/simpler transitions -- e.g. if you had the same info in both seekbar and fullscreeninfo, then when you hit info while seeking you'd get a brief overlap where seekbar fades out and fullscreeninfo fades in (or end up with an even bigger mess of conditions and animations to try to make it seamless). If you have all the information in seekbar then you can simply check if the empty fullscreeninfo dialog is visible as another condition. This way there's no overlap or need for separate animations under different scenarios -- either info is on or off, but you still can have different conditions where it is visible. > Furthermore I'm also always irritated that the progress bar is essentially present twice: ;-) once as a seekbar in DialogSeekBar.xml, a second time as a pure progress bar, mostly implemented in MusicOSD.xml or VideoOSD.xml. Yeah this one also catches me out but the main reason is because DialogSeekBar isn't modal so it cant be interacted with, whereas VideoOSD is modal. VideoOSD is the only place you can have user interaction since you can't send focus to the non-modal dialogseekbar (and if dialogseekbar were modal then it would mean you would be blocked from exiting the video or opening controls while seeking or paused). It's basically the same thing with DialogFullScreenInfo -- since it's a modal dialog, it allows for you to put in button controls etc. that the user can interact with. Then you can use the button controls in DialogFullScreenInfo to control things like switching to different types of info. |