Does anyone know of a documented process for modifying the EPG/Guide horizontal scroll/jump associated with use of the Xbox 360 Remote's FastForward (>>) and Rewind (<<) buttons?
I ask because the default jump for the FF/RW buttons is 3 hours (180m), but the default window width is just 2 hours. I'd *like* to modify the FF/RW jump to match the 2-hour window width.
EPG FF/RW navigation control customization?
-
- Posts: 14
- Joined: Tue Jan 13, 2015 1:33 am
- Location:
- HTPC Specs:
-
- Posts: 14
- Joined: Tue Jan 13, 2015 1:33 am
- Location:
- HTPC Specs:
What I've found so far...
Default EPG & Mini-EPG navigation using Xbox 360 Remote Control (tested on Xbox 360 Extender) ::
I also haven't searched any other DLLs to see whether these are the only occurrences of these controls. For now, lacking comprehensive knowledge of how this stuff works, I'm guessing these two locs should do it.
Default EPG & Mini-EPG navigation using Xbox 360 Remote Control (tested on Xbox 360 Extender) ::
- FastForward (>>)/Rewind (<<) buttons jump 3 hours forward/back
- ChapterNext (>>|)/ChapterPrev (|<<) buttons jump 12 hours forward/back
- EPG.MCML:
Code: Select all
<Changed Source="[FastForwardHandler.Invoked]"><Actions><Invoke Target="[BodySource.ScrollBy]" row="0" column="180"/></Actions></Changed> <Changed Source="[RewindHandler.Invoked]"><Actions><Invoke Target="[BodySource.ScrollBy]" row="0" column="-180"/></Actions></Changed>
- EXPANDEPG.MCML:
Code: Select all
<Changed Source="[FastForwardHandler.Invoked]"><Actions><Invoke Target="[BodySource.ScrollBy]" row="0" column="180"/></Actions></Changed> <Changed Source="[RewindHandler.Invoked]"><Actions><Invoke Target="[BodySource.ScrollBy]" row="0" column="-180"/></Actions></Changed>
I also haven't searched any other DLLs to see whether these are the only occurrences of these controls. For now, lacking comprehensive knowledge of how this stuff works, I'm guessing these two locs should do it.
-
- Posts: 14
- Joined: Tue Jan 13, 2015 1:33 am
- Location:
- HTPC Specs:
Ok, all the above said, after reviewing the EPG.MCML resource, I'm exceedingly curious as to what the heck the "ColumnClickUpCommand" and "ColumnClickDownCommand" invocations are, seeing as they seemingly would do EXACTLY what I'd like to see, horizontally jumping the EPG by the number of visible columns. (i.e. one full page at-a-time!)
Thoughts?
- EPG.MCML:
Code: Select all
<Changed Source="[ColumnClickUpCommand.Invoked]"><Actions><Set Target="[Temp]" Value="[BodySource.ColumnScrollData.VisibleCount]" Transformer="[MakeNegative]"/><Invoke Target="[BodySource.ScrollBy]" row="0" column="[Temp]"/></Actions></Changed> <Changed Source="[ColumnClickDownCommand.Invoked]"><Actions><Invoke Target="[BodySource.ScrollBy]" row="0" column="[BodySource.ColumnScrollData.VisibleCount]"/></Actions></Changed>
Thoughts?
-
- Posts: 14
- Joined: Tue Jan 13, 2015 1:33 am
- Location:
- HTPC Specs:
For reference*, here are the associated markup snippets I found associated with the ChapterNext (>>|)/ChapterPrev (|<<) 12-hour jump EPG navigation controls (*though I have no intention of modifying them)...
- EPG.MCML:
Code: Select all
<Changed Source="[SkipForwardHandler.Invoked]"><Actions><Invoke Target="[BodySource.ScrollBy]" row="0" column="720"/></Actions></Changed> <Changed Source="[SkipBackHandler.Invoked]"><Actions><Invoke Target="[BodySource.ScrollBy]" row="0" column="-720"/></Actions></Changed>
- EXPANDEPG.MCML:
Code: Select all
<Changed Source="[SkipForwardHandler.Invoked]"><Actions><Invoke Target="[BodySource.ScrollBy]" row="0" column="720"/></Actions></Changed> <Changed Source="[SkipBackHandler.Invoked]"><Actions><Invoke Target="[BodySource.ScrollBy]" row="0" column="-720"/></Actions></Changed>
-
- Posts: 14
- Joined: Tue Jan 13, 2015 1:33 am
- Location:
- HTPC Specs:
Well, good news and ok news.
Both methods of altering the FF/RW EPG nav controls worked, both a "fixed +/- 120m" and using the "ColumnScrollData.VisibleCount" logic. That's the good news: I was able successfully able to modify Microsoft.MediaCenter.Shell.dll to match the FF/RW navigation jumps to the width of the EPG window. I can now jump one page at a time.
The ok news is that any modifications I make are wiped-out if I use MyChannelLogos XL to modify the guide (i.e. other than adding/removing logos). MCLXL is resetting the FastForwardHandler and RewindHandler invoked actions to their original, fixed 180m/3hr jumps. Urgh.
So, I can do what I want. I'll just have less flexibility in firing-up MCLXL to tweak the guide -- and will have to manually add my mods back every time I do, which makes the "dynamic jumps" logic pointless, since that was intended as a means to adjust the FF/RW navigation jumps automatically should I use MCLXL to tweak the visible width of the guide.
(I've submitted a feature request to MCLXL to address this capability, but I expect I'll need to handle it myself for some time to come.)
p.s. I'm still trying to figure out where the "ColumnClickUpCommand" and "ColumnClickDownCommand" triggers come into play, since they're setup, by default, to do page-at-a-time scrolling.
Both methods of altering the FF/RW EPG nav controls worked, both a "fixed +/- 120m" and using the "ColumnScrollData.VisibleCount" logic. That's the good news: I was able successfully able to modify Microsoft.MediaCenter.Shell.dll to match the FF/RW navigation jumps to the width of the EPG window. I can now jump one page at a time.
The ok news is that any modifications I make are wiped-out if I use MyChannelLogos XL to modify the guide (i.e. other than adding/removing logos). MCLXL is resetting the FastForwardHandler and RewindHandler invoked actions to their original, fixed 180m/3hr jumps. Urgh.
So, I can do what I want. I'll just have less flexibility in firing-up MCLXL to tweak the guide -- and will have to manually add my mods back every time I do, which makes the "dynamic jumps" logic pointless, since that was intended as a means to adjust the FF/RW navigation jumps automatically should I use MCLXL to tweak the visible width of the guide.
(I've submitted a feature request to MCLXL to address this capability, but I expect I'll need to handle it myself for some time to come.)
p.s. I'm still trying to figure out where the "ColumnClickUpCommand" and "ColumnClickDownCommand" triggers come into play, since they're setup, by default, to do page-at-a-time scrolling.