Skip to content
An alternative choice to enjoy personalized music from douban.fm
Python
Find file
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

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.