New Addon Manager informations for developers.
#16
Cool, that's working now. Thanks.
Reply
#17
I am trying to get the SABnzbd plugin wokring under the new addon structure. This is what I have so far for addon.xml:
Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="plugin.program.SABnzbd"
       name="SABnzbd"
       version="2.0.0"
       provider-name="">
  <requires>
    <import addon="xbmc.python" version="1.0"/>
  </requires>
  <extension point="xbmc.python.pluginsource"
             library="default.py">
  </extension>
  <extension point="xbmc.addon.metadata">
    <platform>all</platform>
    <summary>Plugin for managing SABnzbd</summary>
    <description>manage SABnzbd and search for files</description>
  </extension>
</addon>
I can see it in the addon manager but it does not show up in Programs. What am I missing?
Reply
#18
try this:

Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="plugin.program.SABnzbd"
       name="SABnzbd"
       version="2.0.0"
       provider-name="">
  <requires>
    <import addon="xbmc.python" version="1.0"/>
  </requires>
  <extension point="xbmc.python.pluginsource"
            library="default.py">
        [color=Red]<provides>video</provides>[/color]
  </extension>
  <extension point="xbmc.addon.metadata">
    <platform>all</platform>
    <summary>Plugin for managing SABnzbd</summary>
    <description>manage SABnzbd and search for files</description>
  </extension>
</addon>

edit: should probably be <provides>executable</provides>
Reply
#19
Amet Wrote:edit: should probably be <provides>executable</provides>
That was the trick to get it to show up in programs. Wonderful. Now I gotta figure out why the plugin still will not work. I get a "Can not connect to remote share" error.
Reply
#20
If anyone wants to start adding docs, I suggest linking from this page:

http://wiki.xbmc.org/index.php?title=Addons_for_XBMC

I'll create a basic "How to write a plugin source" page later today - basically outlining the addon.xml file and the xbmcaddon python module.

EDIT: Here's a very basic overview of what is needed. If some of you pros could fill it out a bit more I'll be more than happy to pretty it up a bit

http://wiki.xbmc.org/index.php?title=Plugin_Sources

Cheersm
Jonathan
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
Reply
#21
addon.xml

Any reason why summary, description,disclaimer,platform show up under extension ?
How do addon.dll get added ?
The normal XBMC log IS NOT a debug log, to enable debug logging you must toggle it on under XBMC Settings - System or in advancedsettings.xml. Use XBMC Debug Log Addon to retrieve it.
Reply
#22
huh. and huh?
Reply
#23
Code:
<?xml version="1.0" encoding="UTF-8"?>
<addon
  id="skin.confluence"
  version="1.1.0"
  name="Confluence"
  provider-name="Jezz_X, Team XBMC">
  <requires>
    <import addon="xbmc.gui" version="2.11"/>
  </requires>
  <extension
    point="xbmc.gui.skin"
    defaultresolution="720p"
    defaultresolutionwide="720p"
    defaultthemename="textures.xbt"
    effectslowdown="0.75"
    debugging="false"/>
  <extension point="xbmc.addon.metadata">
    <summary>Confluence skin by Jezz_X. (XBMC's default skin)</summary>
    <summary lang="nl">Confluence skin door Jezz_X</summary>
    <summary lang="zh">Jezz_X开发的Confluence皮肤</summary>
    <description>Confluence is the default skin for XBMC 9.11 and above. It is a combination of concepts from many popular skins, and attempts to embrace and integrate their good ideas into a skin that should be easy for first time XBMC users to understand and use.</description>
    <description lang="nl">Confluence is de standaard skin voor XBMC 9.11 en hoger. Het combineert de concepten van andere populaire skins, waarbij het tracht hun goede ideëen te integreren in een skin die gemakkelijk in gebruik is.</description>
    <description lang="zh">在XBMC 9.11之后的版本中Confluence是默认皮肤。它集合了许多流行皮肤的创意,力求把这些优点融合到一个皮肤中,使得首次使用XBMC的用户能更容易上手。</description>
    <disclaimer>Confluence is the default skin for XBMC, removing it may cause issues</disclaimer>
    <disclaimer lang="nl">Confluence is de standaard XBMC skin, het verwijderen van Confluence kan leiden tot problemen.</disclaimer>
    <disclaimer lang="zh">Confluence是XBMC的默认皮肤,删除它可能导致故障。</disclaimer>
    <platform>all</platform>
  </extension>
</addon>

Maybe I am reading it wrong but isn't platform under extension ?

I mean plugin dll ( http://forum.xbmc.org/showpost.php?p=532...stcount=19 )
The normal XBMC log IS NOT a debug log, to enable debug logging you must toggle it on under XBMC Settings - System or in advancedsettings.xml. Use XBMC Debug Log Addon to retrieve it.
Reply
#24
right. it's under the metadata since that's the extension point for stuff that applies globally to all addons, no matter which other extension points it implements (scrapers, scripts, plugins, visualizations etc). you can have a look at how the visualizations are handled. note that binary addons are not a priority for dharma, but we'll start doing fun stuff with it afterwards. with the framework in place, adding extension points is fairly trivial.
Reply
#25
Thanks for clarify it .. I got it confused with xbmc.metadata but now I see it is xbmc.addon.metadata.

Code:
__language__(30204)              # this will return localized string from resources/language/<name_of_language>/strings.xml
__settings__.getSetting( "foo" ) # this will return "foo" setting value
__settings__.setSetting( "foo" ) # this will set "foo" setting value
__settings__.openSettings()      # this will open settings window

How do settings work ? Do we still have to create xml ourselfs ?

__language__(30204) ? getString ?

Was taking a look at http://www.c-pluff.org/reference/c-api/plugin.html which the addon is based on:
Code:
runtime
This element contains information about the plug-in runtime library. It is omitted if the plug-in does not have a runtime library but contains only data. It can have following attributes.

library: The name of the plug-in runtime library in the plug-in directory. A platform specific extension (for example, ".so" or ".dll") is added to the value specified here when loading the library.
funcs: The functions to be used to create an instance of the plug-in runtime. This attribute is optional. It is needed if the plug-in has a start or stop function. The value specified here is a name of an exported symbol which contains a pointer to cp_plugin_runtime_t structure.

I take it that is how we are going add plugin dll suport.

Ps, Excellent Job with the new addons .. Can't wait to start using it ..
The normal XBMC log IS NOT a debug log, to enable debug logging you must toggle it on under XBMC Settings - System or in advancedsettings.xml. Use XBMC Debug Log Addon to retrieve it.
Reply
#26
If you want configuration by the user, then you need to write a settings.xml file, placed in the resources folder of your addon. This is the same format as we've been doing for a while, but obviously some better docs for it would be nice.

In the meantime you can take a look at the xbmc subtitles script as that's quite a nice example.

You can also use get/setSettings to store state information for plugins or whatever. Only the settings you define in settings.xml are shown to the user via the configuration dialog - essentially settings.xml describes the settings that the user can configure, whereas getSetting/setSetting can get and set those settings as well as get and set other settings you may want to keep around that the user doesn't see.

Cheers,
Jonathan
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
Reply
#27
Inside the Settings of a Addon there is a Button "Changelog"

Where do I have to copy my Changelog ?
What Format ? txt ? xml ?

Could I remove all os-testing functions from the python-code
If <platform>linux</platform> is set ?

Regards
Hans
Reply
#28
If <platfrom>linux</platform> is set, then your plugin *should* only be available on linux systems, yup.

And changelog is just a text file in the root - see confluence for instance.
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
Reply
#29
jmarshall Wrote:If <platfrom>linux</platform> is set, then your plugin *should* only be available on linux systems, yup.

And changelog is just a text file in the root - see confluence for instance.

Thanks for the information.

And a big big big THANKS FOR THE NEW ADDON-SYSTEM ;-)

As I said earlyer I allready do porting my ripper script to the new addon-system.

1.) The GUI-Programming of a settings-screen is very easy to do.
2.) Testing of Release Numbers and Operating System is done within the addon and doesn't need to be inlinded inside the code.
3.) The busy-Dialog for longer operations inside a script works perfect.


One Thing that I realy do missing is the Debug-Window

Regards
Hans
Reply
#30
Inside the Addon-Information is field called Rating:
Is it possible to fill this field with a value from addon.xml ?

BTW: Intergrate ChangeLog was easy ,-)
Reply

Logout Mark Read Team Forum Stats Members Help
New Addon Manager informations for developers.0