Kodi Community Forum
Enter / Play = Info View Menu (more like Boxee)? - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Discussions (https://forum.kodi.tv/forumdisplay.php?fid=222)
+--- Forum: Feature Requests (https://forum.kodi.tv/forumdisplay.php?fid=9)
+--- Thread: Enter / Play = Info View Menu (more like Boxee)? (/showthread.php?tid=76699)

Pages: 1 2 3 4 5 6


- Montellese - 2010-07-07

jmarshall Wrote:@Montellese: Just set XBMC_HOME in the environment variables of VS and you'll be able to debug just fine.

Yeah I tried that but old habits die hard and I put "" around the path because stupid windows still uses "Program Files" with a space in the path. So when I tried to start the debugger I got an error but I just removed the "" and now it works fine Smile So I should now be all set.

jmarshall Wrote:Your first step would be to throw a breakpoint in CGUIMediaWindow::OnMessage inside the GUI_MSG_CLICK handler and follow it through from there. From memory, there'll be some code detecting whether it's a view (m_viewControl.HasControl) and then OnClick() will be called. Things get a bit murky from then on I'm afraid, but follow it through and see where you end up. At some point instead of calling OnPlayMedia you want to call OnInfo() or thereabouts. Once you have that bit done and working everywhere, post your progress on trac and we can look at adding a setting.

Thanks for the detailed description. I'll get back as soon as I got something working.

jmarshall Wrote:I don't believe this should be done in the skin. Different skins doing different things when you click on something IMO is the wrong way to go - this is far more a user preference than an asthetic thing. It would be different if buttons were allowed in lists (eg for touchscreen or mouse, or some funny nav setup).

Yeah I agree with you on this. Pressing Enter or performing a mouse click on an item should always result in the same action independent of the skin (except maybe some skin hacks (like playing trailers in a movie view) which are completely skin specific).


- Montellese - 2010-07-10

jmarshall Wrote:Your first step would be to throw a breakpoint in CGUIMediaWindow::OnMessage inside the GUI_MSG_CLICK handler and follow it through from there. From memory, there'll be some code detecting whether it's a view (m_viewControl.HasControl) and then OnClick() will be called. Things get a bit murky from then on I'm afraid, but follow it through and see where you end up. At some point instead of calling OnPlayMedia you want to call OnInfo() or thereabouts. Once you have that bit done and working everywhere, post your progress on trac and we can look at adding a setting.

Wow this description was perfect. I stepped my way through the code and ended up in CGUIMediaWindow::OnClick where OnPlayMedia() is called. But then I noticed that I won't be able to simply call OnInfo as it is not part of the CGUIMediaWindow class. So I went back and started in CGUIWindowVideoNav::OnMessage which leads to CGUIWindowVideoBase::OnMessage which contains some if statements of which one looks like
Code:
if (iAction == ACTION_SHOW_INFO)
{
    ...
    OnInfo(item.get(),scraper);

    return true;
}

If I extend the if condition with checks to ACTION_SELECT_ITEM and ACTION_MOUSE_LEFT_CLICK activating/clicking a movie in library view will open the info screen (of course there would also have to be a check for some setting which does not yet exist). Now I just wanted to ask if it is okay to handle it on this level in CGUIWindowVideoBase or if it should rather happen in CGUIMediaWindow?

Furthermore should this behaviour also effect tv episodes (I guess music songs do not need this behaviour?) and it would be therefore better to handle it in CGUIMediaWindow?

And one last question: How can I control which GUI element is active when opening the Info dialog? Or is this skin specific (Confluence and Night both use "Cast" as the default button)? Because I think it should be set on "Play" when using this kind of movie activation behaviour.

Thanks for your help.

EDIT: I forgot to mention that the check if the activated item is a folder would be done inside the if statement and would simply leave it as there is no Info dialog for folders inside video library (like Genre etc).


- Hitcher - 2010-07-10

Montellese Wrote:And one last question: How can I control which GUI element is active when opening the Info dialog? Or is this skin specific (Confluence and Night both use "Cast" as the default button)? Because I think it should be set on "Play" when using this kind of movie activation behaviour.

It's set in the <defaultcontrol></defaultcontrol> control in DialogVideoInfo.xml.


- Jeroen - 2010-07-10

Personally I think this feels right in Boxee is because it IS a pop-up menu and it doesn't provide all the details like in XBMC. The two windows are quite different in structure and function. The function to play the movie has a very prominent place within the dialog in Boxee (in other words the main function is to present a choice). In XBMC skins the play function is just one of many functions in this window and it's main goal is to provide movie details (hence the name dialogvideoinfo). This I think could be confusing to users.

So I would much prefer a new, separate, xml for this which could be made quite compact and from which you can choose whether to play the movie while being presented with the basic details or to display more details on the movie.

Doing it the way it currently is described in this thread it's something I would want to disable right away.

It just feels like doing it differently for the sake of being different. Why would you go through the info screen if you can play the movie right away or press the info button when you want to show movie details? It ads a complexity without providing a clear benefit imo. Going through a separate xml would provide a way to present/go to the info screen which a user previously could be unaware of.

Just my 2 cents,

Jeroen


- Hitcher - 2010-07-10

Totally agreed, a new window would be a much better solution.


- Waffa - 2010-07-10

Pop up menu with options to play trailer, open info, whatever can be done by using the free arrow in the views. It's a nice option but it adds only more clicks to reach your goal.


- Hitcher - 2010-07-10

Most views don't have a free arrow though - two are for the list navigation, one for the scrollbar and the other for the menu.


- Waffa - 2010-07-10

Yep, not all skins are the same.
In your case, add items to your submenu.


- Montellese - 2010-07-10

In my opinion the goal is to keep the amount of different keys which a user must use to get the information he wants as minimal as possible. The Enter key obviously is one of the most important keys and therefore well suited for this goal in my opinion. Having to remember which arrow key invokes which action (two directions are obvious but the other two are not) is more difficult than remembering to press Enter Wink
But you are right about the difference in information displayed in the info screen of XBMC and Boxee. But too many different dialogs are confusing as well.


- Jeroen - 2010-07-10

Montellese Wrote:In my opinion the goal is to keep the amount of different keys which a user must use to get the information he wants as minimal as possible.
In itself that is a good thought, but it is not the only, all defeating factor. Not only the amount of different keys is a factor, also the amount of key presses is a factor.

Besides, the user will have to remember the info/i button anyway, as he needs it to display the info screen for tvshows. Here, a consistency problem presents itself. On movies, enter would take you to the info screen, on tvshows you would still need to use the info button as pressing enter will obviously need to take you to the seasons or episodes.

Whichever action I would want to take in your plans, it will always either:
-requires the same amount of keypresses compared to the current implementation
-or requires more keypresses compared to the current implementation.

Quote:The Enter key obviously is one of the most important keys and therefore well suited for this goal in my opinion.
The enter key is usually associated with executing or entering something.

The above however is not my main concern as I am not necessarily opposed to your plans. What I am opposed to is the way of implementation.

As I said before, the video info screen's main goal is to provide information. Most of the other functions present in this screen are there to actually get that information in there (refreshing, getting artwork, etc). These are actions that are generally not accessed very often and their positioning is treated as such.

The Boxee dialog has playing the media as it's main function, and focuses the user's attention to that.

Quote:But too many different dialogs are confusing as well
I disagree. Yes, it can be more confusing. But it's not a given for any situation (in certain situations it can even be less confusing). All that matters is that any dialog performs an action the user expects. Showing a full blown window with detailed information about a movie with a play button there somewhere among other functions is not something as a user I would expect to see when I just want to watch a movie.

I'm just curious as to what your main goal/reason for this is. Is the only reason so that the user doesn't have to remember 1 key which is used for a secondary level function? What problem does it solve?


- Montellese - 2010-07-10

To clarify: This is not MY idea/plan, I just happend to read it and consider it a good way to start diving into the code of XBMC to support the project I like so much.

Of course there are lots of factors to consider with the most "important" one being everyone's personal taste. This would leave us with one hell of a lot of different ways to do it but as always we need to choose one and stick to that.

For me personally there are two points to consider: the amount of clicks to do to achieve what I want and the amount of different keys my remote must support. Currently I'm using a rather large remote with too many different buttons and most of the keys supported by XBMC are mapped to one of these keys. But often I find myself thinking about which button I need to press to perform a certain action and sometimes I'm even left with trial and error.
My girlfriend doesn't even touch that remote (only to throw it on the floor or against a wall maybe).
In my opinion best case would be a remote with the following buttons: Play/Pause, Stop, Next, Previous, Volume Up/Down, Select, Back, On/Off.

I agree with you that the current movie info screen is not fit for the job described in this thread as it contains far too many buttons. A similar screen with buttons for "Play" (huge) and "Info" (small) would fit a lot better and would still provide access to the "expert" functionality like "Get Thumb" and whatever there is available. But it would also introduce an extra click to be able to get to the info screen directly (unless we keep the "I" shortcut to bypass the "Play" screen).

I'm open to suggestions I just want to have something that will help me to get to know the XBMC code so I can help improve it.


- Jeroen - 2010-07-10

Montellese Wrote:To clarify: This is not MY idea/plan, I just happend to read it and consider it a good way to start diving into the code of XBMC to support the project I like so much.
Of course, I don't think anyone can object to that. Please consider my comments as a contribution to a constructive discussion and nothing more Smile

Quote:Of course there are lots of factors to consider with the most "important" one being everyone's personal taste. This would leave us with one hell of a lot of different ways to do it but as always we need to choose one and stick to that.
I completely agree with that. You cannot always please everybody 100%, so taking an approach that mostly makes sense to most people is the only way to go Wink

Quote:I agree with you that the current movie info screen is not fit for the job described in this thread as it contains far too many buttons. A similar screen with buttons for "Play" (huge) and "Info" (small) would fit a lot better and would still provide access to the "expert" functionality like "Get Thumb" and whatever there is available. But it would also introduce an extra click to be able to get to the info screen directly (unless we keep the "I" shortcut to bypass the "Play" screen).

Seems we're on the same page. Like I said, I'm not against the idea, just that a separate dialog would be a much better way to go about it.

I think it would make sense to keep the I key as a way to get to the info screen directly, because you would need it to get to the info screen when in tvshows, seasons or albums. Having to go through the popup menu to go to those would not make sense to me. It should be used on the lowest level (so the actual files) only imo.

Actually I would opt for a more limited functionality in the popup dialog. Keep the "Get Thumb", etc stuff in the full info screen and limit the popup to what basic users would actually use most like play/resume play, some basic movie info only and a button to go to the full info screen. Maybe mark as watched/unwatched and rescan (when the wrong movie was scraped). Otherwise we would just end up with a duplicate of the full info screen.


- Hitcher - 2010-07-10

This only needs to apply to the video file itself, be it an episode or movie, and then it should be optional just as the Resume/Restart option.


- &gt;&gt;X&lt;&lt; - 2010-07-10

Don't think I've ever come across a media remote without an info button, wouldn't make any sense to me having a button without a function keep its function and then what would be the point in the OP's suggestion even he said he double clicks past it Laugh


- Waffa - 2010-07-10

The enter and info button are just fine.

If the Video info is not fitting why not change the DialogVideoInfo.xml and simplefy it.

You could add a button in there for showing full info + the editing buttons.