Hello, I reorganized all my commits.
Can you inspect and if they match then pull)
Remove old scrobbler. Add new scrobbler to plugins.
Remove lyricwiki lyrics fetcher. Rewrite code for fetching lyrics plu…
Add lyric plugins.
Remove semicolon and unused import.
Add consume mode.
Add notify plugin.
Remove loading default plugins.
Add "button_construct" interface for drawing additional buttons.
Add context menu icons.
Make playlists and streams not a plugins.
Add additional "save lyric location" location.
Add "plugin_configure" interface.
Rename "tabs" to "tab_construct".
Fix opening file without gedit.
Add plugin README.
Hum, why not, though I'm not sure this is really useful. Probably the default location is fine most of the the time, and we can't content by default everybody.
Two things though:
This is great!
Keep columns under 80 characters though (for "disconnect" for example)
How can I make a small change in this commit? Only in new commit?
Fix it in 0ac868b
Hum, OK, but this is not used at the moment...
I'm not willing to merge it if it's not directly useful, especially if it's a new feature for plugin writer, which doesn't seem to be documented somewhere.
I think it will useful in future (i want to add "loved" button from lastfm plugin).
As I understand from the code, the order of plugins in the list and, accordingly, the order of the buttons are in alphabetical order if all plugins in one folder.
Now it renamed to "add_toolbar_button" ae532ed and used in a53de59
Why? I don't get the point and would prefer to have a default nice Sonata with lyrics and covers (although it means having default plugins which work).
I don't want to merge this, unless you have a good reason.
Also, come on: self.DEFAULT_PLUGINS = 
self.DEFAULT_PLUGINS = 
Yes, most likely you're right.
For those reasons, I don't want to merge this. Additionnaly, it "conflicts" with the default notification system of Sonata (both can be enabled, in different places in the preferences window). We should do something about it before adding the plugin.
Some people(as me) like to using system-defined notification system (like notify-osd or similar in xfce and kde) for notifications.
If you find that similar plugin has a place in the sonata, then I can write a plug-in without the disadvantages of this.
I guess you can really remove the unused gettext import, or I don't get your commit message then.
That's bunch of new plugins!
I think we should only ship one by default, which does the job, and provide the others as external plugins, but I'm not sure how to do this in Sonata, though.
I like that the plugins don't need to launch themselves into thread, that's great!
For one thing, that's very cool that the scrobbler plugin is not tightly integrated into Sonata as before, thanks for this!
On the other hand, I really don't want to import another scrobbler implementation, especially which uses the old 1.2 API of Last.fm. I don't want this offmessage/pyscrobbler#5 especially when there are dozens of implementation available outside.
I'm willing to merge a change which:
But please, no more code dump from outside, heavily modified, which we (Sonata dev ) will need to maintain, fix and improve.
You mean I need to rewrite the plugin to use external library with 2.0 API of last.fm?
Ok, I planned it for the future.
pylast looks great http://code.google.com/p/pylast/
Please look at a53de59
This is really great!
Could improve it though, so :
This could serve as a good base if we decide to improve the plugin system.
Good, I can merge this (the user still needs "gksu", though).
May be it should rewrite somehow like this:
sus = ["gksu","kdesu","beesu","gnomesu","xdg-su"]
for su in sus:
subprocess.Popen([su, "xdg-open", "/etc/mpd.conf"]))
but I don't know how it rewrite to lambda.
It breaks the API of the plugins though...
Seems API was not really described anywhere?
You must change your comment, we (I) not idea what you mean.
It looks like the interface of this plugin hook is not very well defined, I guess that's why it has never been implemented.
I would prefer to merge something which does the job or at least, which is used by at least one plugin to see how we can improve things.
Now, it's a just a dummy implementation for something not used, which you don't seem to really appreciate anyway.
It used, for example, in my scrobbler plugin to show configuration window(for username and password).
Maybe we can call "plugin_configure" on selected plugin in another way.
I had a look at all your changesets and overall it looks good:
I believe I clearly said what I wanted to merge and what I don't want to in the actual state.
Please pay attention at the length of your lines, I don't want another pep8-ification run in a few months.
You changed a lot of things related to the plugins interface. The small doc you started is a good start but it needs to be improved, and it would be nice (although I don't know if it will be useful) to document in the README or somewhere else the list of changes you made related to this interface (I'm thinking things like, auto-background processing of lyrics plugin s, tab_construct name change, etc.)
Overall, I can't merge this like this, too many small things to fix first, and small changesets I just don't want in Sonata at the moment. You should consider removing them from the branch you want to merge, or change them.
Fix creating tab.
Remove unused function.
Remove library_set_data from Config constructor. Just import it.
Clean "library_set_data" and "library_get_data"
Remove useless comment.
Move out "/" from translated string. Formatting code.
Rename "button_construct" interface to "add_toolbar_button".
Add "consume" item to tray menu.
Formatting code. Return accelerators.
New plugin for integration Sonata with Last.fm: scrobbler, "add to fa…
…vorites" button. It using pylast.
Added attempt to connect if there is no connection
Fix button focus
Remove unused import.
Added logging: What plugin downloaded lyrics.
[2012-08-21 20:20:40] sonata.info: Lyrics for 'Paramore - Throwing Punches' fetched by azlyrics plugin.
[2012-08-21 20:29:10] sonata.info: Lyrics for 'System Of A Down - Boom!' fetched by azlyrics plugin.
[2012-08-21 20:40:57] sonata.info: Lyrics for 'Lumen - Другой мир' fetched by alltexts plugin.
Update plugin. Remove class. Simplification.
Removed deprecated scrobbler.
I did a pass on your branch, reorganized commit together, grouped things related, squashed things that could be squashed so I can understand it better, and rebased everything on top of master, which took me already a while.
I made several smaller branches from your big branch, and merged some of them. There are a few that I didn't merge yet, and I will open new pull requests for each of those branches, that I invite you to clone in your local repository and make some fixes that I will recommend you.
I'm closing this now, please have a look at the new pull requests. Thanks.