After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 311688 - Add plugin interface
Add plugin interface
Status: RESOLVED OBSOLETE
Product: sound-juicer
Classification: Applications
Component: general
2.11.x
Other Linux
: Normal enhancement
: ---
Assigned To: Sound Juicer Maintainers
Sound Juicer Maintainers
Depends on:
Blocks: 112622 311931
 
 
Reported: 2005-07-27 08:58 UTC by Ross Burton
Modified: 2021-05-17 15:48 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Sample screenshot (94.37 KB, image/png)
2007-05-16 16:13 UTC, Luca Cavalli
  Details
sj-plugin.patch (136.50 KB, patch)
2007-05-17 22:49 UTC, Luca Cavalli
needs-work Details | Review

Description Ross Burton 2005-07-27 08:58:30 UTC
If plugins could be created which were called on start/stop playback, rip
completed, etc, then various cool things could be done without much hastle.

* M3U creating
* Audioscrobbler posting
* DBus signals which RB/Muine can listen for
Comment 1 Madhan Raj M 2005-08-06 17:48:25 UTC
Ross:
Adding plugin interface is a coool thing,..

Could you create a sample plugin, so that it'll be useful for others to write
new plugins. :)
Comment 2 Luca Cavalli 2007-05-16 16:13:28 UTC
Created attachment 88296 [details]
Sample screenshot

Hi, I ported gedit/epyphany/eog plugin system to Sound Juicer. It is still a bit rough, but it starts working. In the next few days I will post a patch.

Todo:
- write a SjWindow object
- add support for python plugins
- fix a little problem with plugin starting
- I'm sure there is something else...
Comment 3 Ross Burton 2007-05-16 16:20:44 UTC
Oh, nice.  What sort of hooks are exposed for the plugins?
Comment 4 Luca Cavalli 2007-05-16 21:16:32 UTC
Ross, no one at the moment, but the plugin can register its own signal handler for signals emitted by libjuicer or any other sj component. For testing purpose I was able react to media insertion, registering a signal handler for "media-added" signal from NautilusBurnDrive.
Comment 5 Luca Cavalli 2007-05-17 22:49:24 UTC
Created attachment 88367 [details] [review]
sj-plugin.patch

Here is a first attempt to add plugin system. The .glade file seems deeply modified, but it is just reindentation due to GtkNotebook adding (I did it by hand with a text editor). You can avoid "make install", just copy libsample.a  libsample.la  libsample.so you can find in plugins/sample/.libs and sample.sj-plugin you can find in plugins/sample to ~/.gnome2/sound-juicer/plugins and run sound-juicer from src directory. Now plugins need a real SjWindow, or better SjApp, to interact with :)
Comment 6 Luca Cavalli 2007-05-17 22:53:13 UTC
> Todo:
> - write a SjWindow object
> - add support for python plugins
> - fix a little problem with plugin starting

Oh, the problem with plugin starting is now fixed.
Comment 7 Ross Burton 2007-05-18 09:10:54 UTC
Woo!

Maybe I should install Review Board to review this beasty.
Comment 8 Ross Burton 2007-05-18 09:19:34 UTC
This is tricky.  Because plugins are totally useless until there is a SjWindow, I don't want to land this in trunk until it is usable.

However, I don't like maintaining huge patches.

What do you think about using bazaar and branching the SJ repository on launchpad?  I have in a private bzr branch a start of a SjWindow object from a while ago, so if you can public a bzr branch with the plugin patches in, I can merge it and we can finish SjWindow.
Comment 9 Luca Cavalli 2007-05-19 12:46:02 UTC
Ross, I have never used bazaar, but no problem public a branch with my patch applied somewhere (just tell me how I can do that). As for the patch size, most of the code is just copy & paste from gedit/eog (changing only namespaces, so the coding style doesn't follow sj's one) but there are a few places where you have to look at (i.e. sj is not a multiple windows app), I will write you a detailed report in the next few days.

> I don't want to land this in trunk until it is usable.

Me too :)
Comment 10 Ross Burton 2007-05-19 15:01:24 UTC
I've just started a branch import on launchpad, it was previously tracking CVS, which was out of date.  I'll ping when it's up and running.
Comment 11 Luca Cavalli 2007-12-27 21:42:25 UTC
Today I discovered that launchpad hosts a working branch mirrored from GNOME svn. I branched from launchpad, updated and applied the patch locally (to avoid glade adding unwanted stuff I applied the glade portion by hand), created my own branch on launchpad and pushed new code into this new branch. I hope this is what you needed :)

https://code.launchpad.net/~luca-cavalli/sound-juicer/sound-juicer-plugins
Comment 12 Ross Burton 2007-12-30 17:22:13 UTC
Oh, fab, I'll check that out.
Comment 13 GNOME Infrastructure Team 2021-05-17 15:48:50 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to GNOME's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/sound-juicer/-/issues/35.