- July 3, 2011
- 617
- 141
Hey guys.
I have made some patches (to core & atmolight plugin) so also when a video is running minimized the UI frame data could be captured. So its a better user experience for atmolight users. What you see on tv will be expanded by atmolight in any situation
One patch is for mediaportal 1.11pre (master branch) & the other for atmolight plugin itself.
On my HTPC the patch is working like it should -> when the video is minimized, now the gui frame data is used
Core Patch:
I have extended the event handler "NewFrameHandler" of the framegrabber with an new FrameSource Parameter.
The event handler "NewFrameHandler" gets called when:
I have also added null checks (like they where before) so if there is no event subscriber the performance should'nt be affected.
Atmolight Patch:
The patch subscribes to the extended eventhandler "NewFrame" of the MP core and drops some framesource types on some situations depending on a new user setting "Use GUI data when video is minimized in MediaPortal Live Mode":
Compatibility:
Its nessacary to use the new patched core and patched Atmolight plugin.
So when this patch finds its way into a new MP version ALL users must use new Atmolight version.
I have gone this way because its a CLEANER way of implementation and from performance view.
So there is NO legacy support for older MP version from Atmolights view and the other way round.
Installation/Test of patched binarys:
Prerequisites:
!! Dont forget to backup all files from your current Installation !!
Extract "Atmolight_DEV_gui_capture_v5_patched_bin.zip" and copy the files in the following directorys:
@Lightning303 & All: Can you please review the patches and let me know your thinkings.
Would be nice if the patches are finds its way into the next releases
Have fun
pOpY
I have made some patches (to core & atmolight plugin) so also when a video is running minimized the UI frame data could be captured. So its a better user experience for atmolight users. What you see on tv will be expanded by atmolight in any situation
One patch is for mediaportal 1.11pre (master branch) & the other for atmolight plugin itself.
On my HTPC the patch is working like it should -> when the video is minimized, now the gui frame data is used
Core Patch:
I have extended the event handler "NewFrameHandler" of the framegrabber with an new FrameSource Parameter.
The event handler "NewFrameHandler" gets called when:
- no video is playing -> event will be raised with GUI data and FrameSource.GUI as flag
- video is playing in fullscreen -> event will be raised with video data and FrameSource.Video as flag
- video is playing minimized -> two events will be raised, one with video data and FrameSource.Video as flag and the second one with GUI data and FrameSource.GUI as flag
- !! VideoModeSwitcher ALWAYS just gets the video frame data. It does'nt depends on video is minimized or fullscreen !!
I have also added null checks (like they where before) so if there is no event subscriber the performance should'nt be affected.
Atmolight Patch:
The patch subscribes to the extended eventhandler "NewFrame" of the MP core and drops some framesource types on some situations depending on a new user setting "Use GUI data when video is minimized in MediaPortal Live Mode":
- New Setting "true" & video is running minimized -> drop video frames and use GUI frames
- New Setting "false" -> Drop GUI frames when video is playing -> behaviour like in 1.11pre (= legacy option)
Compatibility:
Its nessacary to use the new patched core and patched Atmolight plugin.
So when this patch finds its way into a new MP version ALL users must use new Atmolight version.
I have gone this way because its a CLEANER way of implementation and from performance view.
So there is NO legacy support for older MP version from Atmolights view and the other way round.
Installation/Test of patched binarys:
Prerequisites:
- You must have 1.11pre Mediaportal with Atmolight 1.15.1.0 up and running
- If you are using my previous patch, just reinstall AtmoLight plugin within extension manager and revert the ProcessPlugins.dll to the original from 1.11pre (also attached in zip "ProcessPlugins.dll_v1.11pre (Original).zip")
!! Dont forget to backup all files from your current Installation !!
Extract "Atmolight_DEV_gui_capture_v5_patched_bin.zip" and copy the files in the following directorys:
- AtmoLight.MediaPortal1.dll & AtmoLight.Core.dll -> C:\Program Files (x86)\Team MediaPortal\MediaPortal\plugins\process
- *.xml -> C:\ProgramData\Team MediaPortal\MediaPortal\language\Atmolight
- Core.dll & Mediaportal.exe -> C:\Program Files (x86)\Team MediaPortal\MediaPortal
Atmolight Patch:
The patch subscribes JUST to the exctended eventhandler "NewFrame" of the MP core and drops some framesource types on some situations depending on a new user setting "Use GUI and video framedata in MPLiveMode (MP 1.12 and up)":
The patch subscribes JUST to the exctended eventhandler "NewFrame" of the MP core and drops some framesource types on some situations depending on a new user setting "Use GUI and video framedata in MPLiveMode (MP 1.12 and up)":
- New Setting "true" & video is running minimized -> drop video frames
- New Setting "false" -> Drop GUI frames
Atmolight Patch:
The patch subscribes JUST to the exctended eventhandler "NewFrame" of the MP core and drops some framesource types on some situations:
The patch subscribes JUST to the exctended eventhandler "NewFrame" of the MP core and drops some framesource types on some situations:
- drop gui frames when video is minimized and users has set the menu effect "MPLiveView"
- Drop GUI frames when menu effect is NOT "MPLiveView", so just video frames will pass when video effect is also set to "MediaPortalLiveMode"
Core Patch:
I have added a new event handler named "NewFrameHandlerWithGUI" to the framegrabber.
The new event handler "NewFrameHandlerWithGUI" gets called when:
I have also added null checks (like they where before) so if there is no event subscriber the performance should'nt be affected.
Atmolight Patch:
As stated above, i have added a user setting "Use GUI framedata (MP 1.12 and up)" where the user can decide if he wants to JUST use video frame data or also GUI data when video is minimized or not playing. My implementation also checks for compatibility. When the "NewFrameHandlerWithGUI" event exists in core.dll and the user has set the setting "Use GUI framedata (MP 1.12 and up)" the new feature is used
Compatibility:
I have tested the following combinations:
Installation/Test of patched binarys:
Prerequisites:
!! Dont forget to backup all files from your current Installation !!
Extract "Atmolight_1.15_gui_capture_v2_patched_bin.zip" and copy the files in the following directorys:
I have added a new event handler named "NewFrameHandlerWithGUI" to the framegrabber.
The new event handler "NewFrameHandlerWithGUI" gets called when:
- no video is playing -> GUI data will be used
- fullscreen video is playing -> video data will be used
- video is playing minimized -> GUI data will be used
- !! VideoModeSwitcher ALWAYS get the video frame data! It doesnt depends on video is minimized or fullscreen.
- video is playing fullscreen or minimized -> video data will be used (like it was before)
I have also added null checks (like they where before) so if there is no event subscriber the performance should'nt be affected.
Atmolight Patch:
As stated above, i have added a user setting "Use GUI framedata (MP 1.12 and up)" where the user can decide if he wants to JUST use video frame data or also GUI data when video is minimized or not playing. My implementation also checks for compatibility. When the "NewFrameHandlerWithGUI" event exists in core.dll and the user has set the setting "Use GUI framedata (MP 1.12 and up)" the new feature is used
Compatibility:
I have tested the following combinations:
- patched MP 1.11pre -> patched Atmolight plugin -> works
- patched MP 1.11pre -> original Atmolight plugin -> works
- original MP 1.11pre -> patched Atmolight plugin -> works
Installation/Test of patched binarys:
Prerequisites:
- You must have 1.11pre Mediaportal with Atmolight 1.15.1.0 up and running
- If you are using v1 of my patch, just reinstall AtmoLight plugin within extension manager and revert the ProcessPlugins.dll to the original from 1.11pre (also attached in zip "ProcessPlugins.dll_v1.11pre (Original).zip")
!! Dont forget to backup all files from your current Installation !!
Extract "Atmolight_1.15_gui_capture_v2_patched_bin.zip" and copy the files in the following directorys:
- AtmoLight.MediaPortal1.dll -> C:\Program Files (x86)\Team MediaPortal\MediaPortal\plugins\process
- *.lng -> C:\ProgramData\Team MediaPortal\MediaPortal\language\Atmolight
- Core.dll & Mediaportal.exe -> C:\Program Files (x86)\Team MediaPortal\MediaPortal
VideoModeSwitcher changes and effect for users which doesnt have atmolight plugin installed:[/B]
My patch also include changes in VideoModeSwitcher so it doesnt use frame data when video is playing and is minimized -> because without the patch it has switched aspect ratio depending on the GUI frame data.
Summary: Users which dont have atmolight installed, have just one throwback -> when video is minimized the VideoModeSwitcher dont get current video data and dont switch the aspect ratio until the video is maximized again.
Atmolight Patch:
Why Atmolight patch is needed? -> it isnt really needed BUT i have added the IsFullScreenVideo bool flag to the NewFrameHandler, so when atmolight plugin or any other (new) plugin grabs frame data and want to know if frame data is a fullscreenvideo or is gui frame data. So the plugin can decide itself if it uses the data or drop it.
Changelog:
Attachments:
https://forum.team-mediaportal.com/attachments/atmolight-mediaportal1-plugin-patch.161719/
https://forum.team-mediaportal.com/attachments/mediaportal_atmolight_gui-patch.161721/
https://forum.team-mediaportal.com/attachments/atmolight_patch_1-11pre-zip.161720/
My patch also include changes in VideoModeSwitcher so it doesnt use frame data when video is playing and is minimized -> because without the patch it has switched aspect ratio depending on the GUI frame data.
Summary: Users which dont have atmolight installed, have just one throwback -> when video is minimized the VideoModeSwitcher dont get current video data and dont switch the aspect ratio until the video is maximized again.
Atmolight Patch:
Why Atmolight patch is needed? -> it isnt really needed BUT i have added the IsFullScreenVideo bool flag to the NewFrameHandler, so when atmolight plugin or any other (new) plugin grabs frame data and want to know if frame data is a fullscreenvideo or is gui frame data. So the plugin can decide itself if it uses the data or drop it.
Changelog:
- if video is playing not in fullscreen the current GUI frame data is used for the NewFrameHandler event
- added is "IsFullScreenVideo" bool to Event NewFrameHandler (thats the reason why atmolight plugin needs to be patched)
- VideoModeSwitcher is not using the GUI frame data
Attachments:
https://forum.team-mediaportal.com/attachments/atmolight-mediaportal1-plugin-patch.161719/
https://forum.team-mediaportal.com/attachments/mediaportal_atmolight_gui-patch.161721/
https://forum.team-mediaportal.com/attachments/atmolight_patch_1-11pre-zip.161720/
@Lightning303 & All: Can you please review the patches and let me know your thinkings.
Would be nice if the patches are finds its way into the next releases
Have fun
pOpY
Attachments
Last edited: