My 30 Add-on API wishes

  Thread Rating:
  • 5 Vote(s) - 4.6 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
ruuk Offline
Team-Kodi Member
Posts: 2,195
Joined: Aug 2005
Reputation: 199
Location: Bremerton, WA USA
Post: #31
2.4

Why can't we have our own fonts for the addon's skin. I've always wondered this. It keeps me awake at night Smile
find quote
pieh Offline
Team-Kodi Member
Posts: 672
Joined: Aug 2010
Reputation: 13
Location: Poland
Post: #32
(2013-02-12 21:57)jmarshall Wrote:  Regarding viewtypes, none of XBMC's filesystem layers require this, so I'd question whether it is the best method to apply for VFS add-ons.

ATM all switching is generally done by the skin based on content type. It might be better to make the content type more fine-grained would be a good way to deal with this (e.g. content type should probably be a set of content types that apply).

If we need a way to specify views specifically, then it could be done with something like video|art.wide|info or some such.
Right, I might have rushed with idea earlier Wink
This seems good. We could automatically set "properties" like "art.wide" / "art.banners" for tvshows and "info" for database items. We would need to compile list of possible values for this I think but in meantime I'll do some work on it.

Always read the XBMC online-manual, FAQ and search the forums before posting.
Do NOT e-mail Team-XBMC members asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting, make sure you read this first

My previous forum/trac nickname: grajen3
find quote
pieh Offline
Team-Kodi Member
Posts: 672
Joined: Aug 2010
Reputation: 13
Location: Poland
Post: #33
Quote:5.3 Missing context-Menu commands
Plugins can add commands to the context menu. They can also clear all original items while adding new items. But they can't clear and add some original items back because not all are available, e.g. "Add to favourites".
Ok, I've lately noticed I couldn't add plugin items to favourites or use "play with" and that really bugs me, so let's do something about it! Smile

What would be prefered way to this (from plugin developer perspective)? We have list of context entries ( https://github.com/xbmc/xbmc/blob/master...Menu.h#L27 ). We could add either white list (addbuttons=[CONTEXT_BUTTON_ADD_FAVOURITE] or black list (removebuttons=[CONTEXT_BUTTON_ADD_FAVOURITE]) of context items

Always read the XBMC online-manual, FAQ and search the forums before posting.
Do NOT e-mail Team-XBMC members asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting, make sure you read this first

My previous forum/trac nickname: grajen3
find quote
sphere Offline
Team-Kodi Member
Posts: 1,299
Joined: Jul 2009
Reputation: 60
Location: Germany
Post: #34
(2013-04-06 09:50)pieh Wrote:  What would be prefered way to this (from plugin developer perspective)? We have list of context entries ( https://github.com/xbmc/xbmc/blob/master...Menu.h#L27 ). We could add either white list (addbuttons=[CONTEXT_BUTTON_ADD_FAVOURITE] or black list (removebuttons=[CONTEXT_BUTTON_ADD_FAVOURITE]) of context items

What about exposing these constants (as tuples (cmd, translated-label)), then its similar to the SORT_METHOD_FOO logic?

My GitHub. My Add-ons:
[Image: IOoywq0.jpg]
find quote
pieh Offline
Team-Kodi Member
Posts: 672
Joined: Aug 2010
Reputation: 13
Location: Poland
Post: #35
We can only expose CONTEXT_BUTTON enum values (integer constants) to plugin (translated-label can be different on same context action depending on some conditions and we don't have command stored as builtin action - we are handling actions based on CONTEXT_BUTTON value)

So we could do something like (which is white list method I mentioned in earlier post):
Code:
listitem.addContextMenuItems(contextMenuTuple, replaceItems=True)
listItem.addStandardContextMenuItems([CONTEXT_BUTTON_ADD_FAVOURITE, MORE_CONTEXT_BUTTONS_HERE])
We can't really combine custom context menu entries with builtin ones - they are incompatible.

Always read the XBMC online-manual, FAQ and search the forums before posting.
Do NOT e-mail Team-XBMC members asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting, make sure you read this first

My previous forum/trac nickname: grajen3
find quote
sphere Offline
Team-Kodi Member
Posts: 1,299
Joined: Jul 2009
Reputation: 60
Location: Germany
Post: #36
Sure, this will solve the problem, cool. But can't this be done without adding a new method to listitem?

PHP Code:
MY_CONTEXT_ITEM = ('Add to Trakt.tv''XBMC.RunPlugin(plugin://plugin.video.trakt_list_manager/customlists/movie/add?title=The+Rock)')

listitem.addContextMenuItems([
    
xbmcplugin.CONTEXT_BUTTON_PLAY,
    
MY_CONTEXT_ITEM,
    
xbmcplugin.CONTEXT_BUTTON_ADDON_SETTINGS
], replaceItems=True

My GitHub. My Add-ons:
[Image: IOoywq0.jpg]
find quote
pieh Offline
Team-Kodi Member
Posts: 672
Joined: Aug 2010
Reputation: 13
Location: Poland
Post: #37
I don't know if bindings will allow mixed type list (some items are tuples some are constants) - will have to ask jcarroll about it.

Always read the XBMC online-manual, FAQ and search the forums before posting.
Do NOT e-mail Team-XBMC members asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting, make sure you read this first

My previous forum/trac nickname: grajen3
find quote
Bstrdsmkr Offline
Posting Freak
Posts: 802
Joined: Oct 2010
Reputation: 17
Post: #38
I'd personally prefer to see the missing options exposed as builtins. That way they can be used in places other than the context menu as well.
find quote
Nuka1195 Offline
Skilled Python Coder
Posts: 3,909
Joined: Dec 2004
Reputation: 20
Post: #39
May not be a huge issue, but doing it with two methods would mean your ordering would not be as customizable.

For python coding questions first see http://mirrors.xbmc.org/docs/python-docs/
find quote
pan2 Offline
Senior Member
Posts: 226
Joined: Apr 2011
Reputation: 0
Post: #40
Would like to see support for animated gifs for fanart and background images, well, in fact animated gifs totally. Oh and automatic clean out and update of all thumbnails and other stuff that seems to get cached and imbedded in superglue
(This post was last modified: 2013-04-07 17:07 by pan2.)
find quote
Martijn Offline
Team Kodi
Posts: 16,935
Joined: Jul 2011
Reputation: 310
Location: Dawn of time
Post: #41
Small request from my side. atm we have to use
PHP Code:
xbmc.executebuiltin("XBMC.Notification(%s, %s, %d, %s)" %(__addonname__,
                                                              
__localize__(line1),
                                                              
time,
                                                              
__icon__)) 
to show a notification.
Nicer would be if it was part of the xbmcgui.Dialog() class.
PHP Code:
xbmcgui.Dialog().Notification(heading,message[,time,image]) 

Read/follow the forum rules.
For troubleshooting and bug reporting, read this first
Interested in seeing some YouTube videos about Kodi? Go here and subscribe
(This post was last modified: 2013-04-16 08:31 by Martijn.)
find quote
Nuka1195 Offline
Skilled Python Coder
Posts: 3,909
Joined: Dec 2004
Reputation: 20
Post: #42
I have a working version of this, but am trying to add the default icons as string constants, with no luck. this way image can be any image you set, not just the default Info, Warning and Error.

For python coding questions first see http://mirrors.xbmc.org/docs/python-docs/
find quote
Martijn Offline
Team Kodi
Posts: 16,935
Joined: Jul 2011
Reputation: 310
Location: Dawn of time
Post: #43
To have an easy way to use the xbmc.getlanguage() to return either the full language name, or the ISO code (two or three letters)

Read/follow the forum rules.
For troubleshooting and bug reporting, read this first
Interested in seeing some YouTube videos about Kodi? Go here and subscribe
find quote
Bstrdsmkr Offline
Posting Freak
Posts: 802
Joined: Oct 2010
Reputation: 17
Post: #44
This may be a little Pie In The Sky, but is anyone familiar with the Web2Py framework?

It would be really nice if the language translation in XBMC worked the same. Basically, the framework defines a T() function. You pass any strings to be translated into the T() function at runtime and they're automatically replaced with the appropriate language if available. A pseudo example would be:
Code:
control.setLabel(T("My Button"))

So instead of passing in an ID, pass in a string, the back end looks up the ID, then the translated string and returns it.
find quote
jmarshall Offline
Team-XBMC Developer
Posts: 26,216
Joined: Oct 2003
Reputation: 185
Post: #45
That's basically how the gettext stuff works. I don't think alanwww1 has done much more work on that side of things, but it was initially going to be part of the plan (move to actual text rather than id's).

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


[Image: badge.gif]
find quote
Post Reply