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?
Results 1 to 2 of 2
Thread: Plugin developer docs
2012-08-12, 17:22 #1
- Join Date
- Sep 2009
Plugin developer docs
2012-08-13, 00:06 #2
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.