Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
An alternative choice to enjoy personalized music from douban.fm
Python

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
.gitignore 0.0.8, remove hard coded channel list, use json api to load channels …
PLUGININFO update copyright header and PLUGININFO
README.mkd update README
__init__.py change to fit the latest mainsite api
captcha.ui update window title
captcha_dialog.py add support captcha
dbfm_pref.py remove invalid preference item
dbfm_pref.ui remove invalid text label
doubanfm_cover.py 0.0.8, remove hard coded channel list, use json api to load channels …
doubanfm_dbus.py change events
doubanfm_mode.py fix bug: skip button while player pause, also keep consistency with e…
doubanfm_mode.ui fix bug: skip button while player pause, also keep consistency with e…
libdoubanfm-test.py
libdoubanfm.py change to fit the latest mainsite api

README.mkd

Exaile-Plugin-Doubanfm

Exaile doubanfm plugin is a desktop client for the online music service, Douban radio. It provides full functionality of douban radio service, and linux desktop integration.

Intro

There is a minimized view for DoubanFM tracks, you can:

  • Mark a track as favorite
  • Skip a track
  • Delete a track
  • Douban covers support, fast retrieve album art from Douban.com
  • Share music and album to douban.com, t.sina.com.cn, kaixin001 and renren.com
  • Switch between channels

DoubanFM Mode

Install

Follow the Installation Instructions.

Or you can just extract the package to ~/.local/share/exaile/plugins

DBus Interfaces

Exaile doubanfm exposes dbus interfaces to allow control from external.

Dbus introspection:

$ gdbus introspect --session --dest info.sunng.ExaileDoubanfm.instance --object-path /info/sunng/ExaileDoubanfm
node /info/sunng/ExaileDoubanfm {
  interface org.freedesktop.DBus.Introspectable {
    methods:
      Introspect(out s arg_0);
    signals:
    properties:
  };
  interface info.sunng.ExaileDoubanfm {
    methods:
      Unfavorite();
      Skip();
      Favorite();
      Delete();
      ToggleFavorite();
    signals:
      StatusChanged(a{sv} updated);
    properties:
  };
};

If you use dbus-send, you can refer this:

dbus-send --session --dest=info.sunng.ExaileDoubanfm.instance \
--print-reply /info/sunng/ExaileDoubanfm \
info.sunng.ExaileDoubanfm.Favorite

Credits

Something went wrong with that request. Please try again.