Plugin system

Bug #279503 reported by Vitaliy Okulov
2
Affects Status Importance Assigned to Milestone
LinuxDC++
Confirmed
Wishlist
Unassigned
Nominated for Trunk by Vitaliy Okulov
1.1
Invalid
Undecided
Unassigned

Bug Description

Please add intergration with music players, like audacious.

Tags: plugin
Revision history for this message
Razzloss (razzloss) wrote :

Not likely to happen. Unless some sort of plugin system is implemented. Then features like this can be implemented without cluttering and bloating the main program.

--RZ
.... hrmh plugin system... where did I put that damn prototype...

Revision history for this message
Vitaliy Okulov (vitaliy-okulov) wrote :

Plugin system will be very usefull.

Revision history for this message
Steven Sheehy (steven-sheehy) wrote :

A plugin system would be nice. If someone wants to take it, I recommend they look at glib's gmodule functionality.

Changed in linuxdcpp:
importance: Undecided → Wishlist
status: New → Confirmed
Revision history for this message
Vitaliy Okulov (vitaliy-okulov) wrote :

I think plugin interface must be some kind of wrapper over high level languages, python, perl, lua, etc.

Revision history for this message
lys (lys) wrote :

allready implimented by curse in his mod of this client, see http://www.crzdc.net/

Revision history for this message
Vitaliy Okulov (vitaliy-okulov) wrote :

Domain www.crzdc.net not found. Or it`s spam? +)

Revision history for this message
Steven Sheehy (steven-sheehy) wrote :

I've looked at crzdc's implementation of a plugin system before and was not impressed. They basically invoke a shell script and print its output to chat. It is highly insecure and not very flexible. I would like to see a plugin system using gobject or possibly python scripts.

tags: added: plugin
Revision history for this message
Steven Sheehy (steven-sheehy) wrote :

Characteristics that a plug-in system must have (notes to myself or anyone else that wants to implement it):

- Load plug-ins from a directory in the user's home (e.g. ~/.dc++/plugins/) for user-added plug-ins
- Load plug-ins from the installed prefix (e.g. /usr/share/linuxdcpp/plugins) so we can ship some plug-ins with the program
- Use gmodule to load the plug-ins dynamically from either directory, user plug-ins overriding shipped plug-ins
- Create an interface that plug-ins would have to implement
- Support C++ plug-ins
- Possibly support python plug-ins in addition to C++
- Allow for dynamic replacement of UI elements like menu items (this will require conversion of glade files to GtkBuilder files and thus a minimum of 2.12 for GTK+)
- Support versioning of plug-ins
- For additional ideas see http://www.nuclex.org/articles/building-a-better-plugin-architecture

Any other ideas feel free to add them here.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.