Home of the Squeezebox™ & Transporter® network music players.
Results 1 to 2 of 2
  1. #1
    Junior Member
    Join Date
    Sep 2009
    Posts
    5

    Plugin developer docs

    Where can I find developer documentation? Theres what seems to be totally outdated, incomplete, and poorly organized documentation on the wiki. Theres references to something that comes with the server software but I can't find it. What's a developer to do?

  2. #2
    Senior Member erland's Avatar
    Join Date
    Dec 2005
    Location
    Sweden
    Posts
    10,315
    Quote Originally Posted by cosmotic View Post
    Where can I find developer documentation? Theres what seems to be totally outdated, incomplete, and poorly organized documentation on the wiki. Theres references to something that comes with the server software but I can't find it. What's a developer to do?
    I'm afraid you are correct, the developer documentation on the wiki is no longer up to date for the Perl API's.

    There are two types of add-on's that can be developed by third parties:


    1. Plugins (which extends the Logitech Media Server with extra functionality)
    - Only works for people which are running a local Logitech Media Server on a computer or NAS
    - Does not work in the built-in server running on a Squeezebox Touch but works with a Touch using a full Logitech Media Server on a computer or NAS
    - Can be used both to add functionality but also to add custom skins for the LMS web interface.
    - You will find all existing plugins through LMS Settings/Plugins tab, remember to check the "Show all 3rd party plugins" option to see all plugins

    Regarding plugin documentation, what exists is:
    - The somewhat outdated information on the wiki: http://wiki.slimdevices.com/index.ph...in_development
    - The page that tries to describe some of the changes not documented in the above page: http://wiki.slimdevices.com/index.ph...nter_7_Plugins
    - All *.pm files in the server source code includes documentation in pod format which means that you can get a nicely formatted version by running for example:
    -- perldoc /opt/squeezecenter77/Slim/Control/Request.pm
    --- (Where /opt/squeezecenter77/Slim/Control/Request.pm is the full path to one of the source code files)
    -- If you use Windows, it's important that the default installation bundle of Logitech Media Server for Windows doesn't include the source code, you need to get the tar.gz/tgz version to get the source code, or use git to get it from https://github.com/Logitech/slimserver/tree/7.7)

    However, the easiest path to learn the API is often to find a plugin that does something similar and then look at its source code. Most plugins are distributed with source code so it's easy to take a look at it to see how they accomplish something.


    2. Applets (which are installed locally on Touch/Radio/Controller to extend them with extra functionality)
    - Only works on Touch/Radio/Controller
    - Often used for screen savers but can also be used for other features which you like to work even if the user isn't currently running a local Logitech Media Server on a computer/NAS.
    - Installed through Settings/Advanced/Applet Installer menu directly on a Touch/Radio/Controller

    Regarding applet documentation, what exists is:
    - The documentation on the wiki (which I think is fairly up to date): http://wiki.slimdevices.com/index.ph...y_Applet_Guide
    - Comments in all *.lua files in the Touch/Radio/Controller firmware source code

    The above wiki page is a good start but for more advanced functions I often look at one of the existing applets that does something similar, most applets are distributed with full source code so it's fairly easy to take a look and see how they accomplish something.


    Finally, feel free to ask any question here in the "Developers" section of the forum and one of the existing third party developers or Logitech employees reading this section will try to answer. If you ask a question it's good if you are as specific as possible and describe what you like to accomplish, else it's hard to give a good answer.

    If you don't know which of the existing plugins/applets to start looking at, try to describe what you want to accomplish and someone here can give you an idea where to look.
    Last edited by erland; 2012-08-13 at 00:30.
    Erland Isaksson (My homepage)
    (Developer of many plugins/applets (both free and commercial).
    If you like to encourage future presence on this forum and/or third party plugin/applet development, consider purchasing some plugins)
    You may also want to try my Android apps Squeeze Display and RSS Photo Show
    Interested in the future of music streaming ? ickStream - A world of music at your fingertips.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •