tclh123 / HadouRex

douban.fm CLI client in Haskell
0 stars 0 forks source link

doubanfm.hs是doubanfm api的haskell封装。目前还不具备登录功能。

cd doubanfm.hs
cabal install

播放器

HadouRex是doubanfm的CLI客户端,后端调用mpg123进行播放。因此,除了cabal install还需要另外安装mpg123。

HadouRex的代码参考了hmp3exaile-doubanfm-plugin

安装

cd HadouRex
cabal install

名为 dourex 的可执行文件会被安装到 .~/.cabal/bin

选项

dourex
dourex listen [cid/artist]
dourex search keywords
dourex hot
dourex trending
dourex mark cid
dourex unmark cid
dourex marks

dourex的选项模仿了包管理器。用dourex hotdourex trending查看热门和上升最快的兆赫。用dourex search搜索兆赫。

注意: dourex listen 后面接的参数,既可以是电台id,也可以是歌手/乐队名。如

dourex listen 1002316
dourex listen "sigur ros"

dourex播放时,可以按h键查看快捷键。

几个可以改进的地方

  1. 增加登录功能,可以参考fmd
  2. 作为一种练习,用aeson代替json库进行JSON的解析。aeson的口碑似乎比较好
  3. 作为一种练习,用http-conduit代替HTTP进行http请求
  4. 用[mpd]代替mpg123进行音乐播放
  5. putMVargetMVar机制,代替mpg123wait函数,可以参考jinkell
  6. 增加歌词,可以考虑geci.me
  7. optparse-applicative进行选项(listen,hot等)的解析。

这几个方面我或多或少知道怎么去实现,不过暂时没有时间去做。

有兴趣的同学可以进行尝试,重要的是有兴趣,不会的地方可以找我探讨(irc #haskell-cn)。

或者如果你想到其它可以改进的地方,也欢迎告诉我。