rnons / lord Goto Github PK
View Code? Open in Web Editor NEWA unified interface to online radios using mpd/mplayer as backend
Home Page: http://rnons.github.io/lord/
License: The Unlicense
A unified interface to online radios using mpd/mplayer as backend
Home Page: http://rnons.github.io/lord/
License: The Unlicense
刚刚试用了lord,很不错。
不过发现在jing模式下要是网速不够好在切歌后断了一下,好像就再也连不上了。我用的是mpc,这种情况下打mpc playlist
没有任何output。mpd端口显示updating lord/radio.m4a
之后也就没有反应了。只能重新打一行lord <Command>
。不知道有没有什么比较好的办法。。?
jing.fm was a big motivation for me to start this project
lord douban hot
lord: StatusCodeException (Status {statusCode = 403, statusMessage = "Forbidden"}) [("Server","nginx"),("Date","Wed, 02 Apr 2014 03:00:21 GMT"),("Content-Type","text/html"),("Transfer-Encoding","chunked"),("Connection","keep-alive"),("Keep-Alive","timeout=10"),("Content-Encoding","gzip"),("X-Response-Body-Start","<html>\r\n<head><title>403 Forbidden</title></head>\r\n<body bgcolor=\"white\">\r\n<center><h1>403 Forbidden</h1></center>\r\n<hr><center>nginx</center>\r\n</body>\r\n</html>\r\n")] (CJ {expose = [Cookie {cookie_name = "flag", cookie_value = "\"ok\"", cookie_expiry_time = 3013-08-03 00:00:00 UTC, cookie_domain = "douban.fm", cookie_path = "/", cookie_creation_time = 2014-04-02 03:00:21.833509 UTC, cookie_last_access_time = 2014-04-02 03:00:21.833509 UTC, cookie_persistent = False, cookie_host_only = False, cookie_secure_only = False, cookie_http_only = False},Cookie {cookie_name = "bid", cookie_value = "\"Qu14n0KF75U\"", cookie_expiry_time = 2015-04-02 03:00:21 UTC, cookie_domain = "douban.fm", cookie_path = "/", cookie_creation_time = 2014-04-02 03:00:21.833509 UTC, cookie_last_access_time = 2014-04-02 03:00:21.833509 UTC, cookie_persistent = True, cookie_host_only = False, cookie_secure_only = False, cookie_http_only = False}]})
需要的是 http://douban.fm/?context=channel:0|musician_id:100072 对应的功能,能够指定听一个musician的歌。
尝试了 lord douban listen "Adam Lambert"
跟 lord douban listen http://music.douban.com/musician/100072/
似乎都不 work
Configuring lord-2.20150122...
Building lord-2.20150122...
Preprocessing library lord-2.20150122...
[1 of 8] Compiling Web.Radio.EightTracks.User ( Web/Radio/EightTracks/User.hs, dist/build/Web/Radio/EightTracks/User.o )
[2 of 8] Compiling Web.Radio.EightTracks.Explore ( Web/Radio/EightTracks/Explore.hs, dist/build/Web/Radio/EightTracks/Explore.o )
[3 of 8] Compiling Web.Radio ( Web/Radio.hs, dist/build/Web/Radio.o )
Web/Radio.hs:17:1: Warning:
The import of ‘Control.Applicative’ is redundant
except perhaps to import instances from ‘Control.Applicative’
To import instances alone, use: import Control.Applicative()
[4 of 8] Compiling Web.Radio.Cmd ( Web/Radio/Cmd.hs, dist/build/Web/Radio/Cmd.o )
Web/Radio/Cmd.hs:118:5:
Non type-variable argument
in the constraint: Data.String.IsString [a]
(Use FlexibleContexts to permit this)
When checking that ‘f’ has the inferred type
f :: forall a. Data.String.IsString [a] => [a] -> [a] -> [a]
In an equation for ‘pprGenres’:
pprGenres gs
= do { putStrLn $ foldr1 f (take 4 gs);
pprGenres $ drop 4 gs }
where
f a b = a ++ concat (replicate (20 - length a) " ") ++ b
ghc is installed by homebrew
ghc --version
The Glorious Glasgow Haskell Compilation System, version 7.10.2
I'm getting this error after running cabal update && cabal install lord -v
Reading available packages...
Choosing modular solver.
Resolving dependencies...
Ready to install lord-2.20140324
Extracting
/home/user/.cabal/packages/hackage.haskell.org/lord/2.20140324/lord-2.20140324.tar.gz
Waiting for install task to finish...
to /tmp/lord-2.20140324-19764...
Updating lord.cabal with the latest revision from the index.
Configuring lord-2.20140324...
creating /tmp/lord-2.20140324-19764/lord-2.20140324/dist/setup
creating /tmp/lord-2.20140324-19764/lord-2.20140324/dist
creating /tmp/lord-2.20140324-19764/lord-2.20140324/dist/setup
/home/user/.cabal/setup-exe-cache/setup-Simple-Cabal-1.18.1.3-x86_64-linux-ghc-7.8.2
configure --verbose=2 --ghc --prefix=/home/user/.cabal
--bindir=/home/user/.cabal/bin --libdir=/home/user/.cabal/lib
--libsubdir=x86_64-linux-ghc-7.8.2/lord-2.20140324
--libexecdir=/home/user/.cabal/libexec --datadir=/home/user/.cabal/share
--datasubdir=x86_64-linux-ghc-7.8.2/lord-2.20140324
--docdir=/home/user/.cabal/share/doc/x86_64-linux-ghc-7.8.2/lord-2.20140324
--htmldir=/home/user/.cabal/share/doc/x86_64-linux-ghc-7.8.2/lord-2.20140324/html
--haddockdir=/home/user/.cabal/share/doc/x86_64-linux-ghc-7.8.2/lord-2.20140324/html
--sysconfdir=/home/user/.cabal/etc --user
--extra-prog-path=/home/user/.cabal/bin --constraint=yaml ==0.8.8.3
--constraint=xml-conduit ==1.2.0.2 --constraint=wai-logger ==2.1.1
--constraint=utf8-string ==0.3.8 --constraint=unordered-containers ==0.2.4.0
--constraint=unix ==2.7.0.1 --constraint=transformers ==0.4.1.0
--constraint=text ==1.1.1.3 --constraint=process ==1.2.0.0
--constraint=optparse-applicative ==0.9.0 --constraint=libmpd ==0.8.0.4
--constraint=http-types ==0.8.5 --constraint=http-conduit ==2.1.2.3
--constraint=html-conduit ==1.1.0.5 --constraint=fast-logger ==2.1.5
--constraint=directory ==1.2.1.0 --constraint=data-default ==0.5.3
--constraint=daemons ==0.2.1 --constraint=conduit ==1.1.6
--constraint=case-insensitive ==1.2.0.0 --constraint=bytestring ==0.10.4.0
--constraint=base ==4.7.0.0 --constraint=attoparsec-conduit ==1.1.0
--constraint=ansi-terminal ==0.6.1.1 --constraint=aeson ==0.7.0.6
--disable-tests --disable-benchmarks
Redirecting build log to {handle:
/home/user/.cabal/logs/lord-2.20140324.log}
Building lord-2.20140324...
creating /tmp/lord-2.20140324-19764/lord-2.20140324/dist/setup
/home/user/.cabal/setup-exe-cache/setup-Simple-Cabal-1.18.1.3-x86_64-linux-ghc-7.8.2
build --verbose=2
Redirecting build log to {handle:
/home/user/.cabal/logs/lord-2.20140324.log}
Failed to install lord-2.20140324
Last 10 lines of the build log ( /home/user/.cabal/logs/lord-2.20140324.log ):
/usr/bin/ghc --info
/usr/bin/ghc --info
creating dist/build
/usr/bin/ghc --make -fbuilding-cabal-package -O -static -dynamic-too -dynosuf dyn_o -dynhisuf dyn_hi -outputdir dist/build -odir dist/build -hidir dist/build -stubdir dist/build -i -idist/build -i. -idist/build/autogen -Idist/build/autogen -Idist/build -optP-include -optPdist/build/autogen/cabal_macros.h -package-name lord-2.20140324 -hide-all-packages -package-db dist/package.conf.inplace -package-id aeson-0.7.0.6-31510066977099e848f148fd2621989e -package-id ansi-terminal-0.6.1.1-e69e138ebd2715019c70fca981b6d626 -package-id attoparsec-conduit-1.1.0-6ba59c9ba2fd0995ad62d439da7ed249 -package-id base-4.7.0.0-018311399e3b6350d5be3a16b144df9b -package-id bytestring-0.10.4.0-7de5230c6d895786641a4de344336838 -package-id case-insensitive-1.2.0.0-9b20c694e8e87c6989b75fda9ab81d37 -package-id conduit-1.1.6-c5eabe85bdb44ea88669ad2a68da8ff7 -package-id data-default-0.5.3-af1338b386569d8e11b8b27890f01dcf -package-id directory-1.2.1.0-a0555efb610606fd4fd07cd3bba0eac2 -package-id fast-logger-2.1.5-d67ad9b410fab961771fa558a56d5a82 -package-id html-conduit-1.1.0.5-8a5ee39d3c3391e0b3ff5f877463b3fc -package-id http-conduit-2.1.2.3-6e7a26c92bad3d8b5168219928f8f294 -package-id http-types-0.8.5-e1234631967342baad139d2ca9848b82 -package-id libmpd-0.8.0.4-67d35a0ef67e0563f07330cf22af4101 -package-id process-1.2.0.0-eaf7dde3bcb1e88fafb7f0f02d263145 -package-id text-1.1.1.3-407464a08a0049a9e3d03558dfb0ee1d -package-id transformers-0.4.1.0-28fbd720ae3bf2bf7b606018b344fa4d -package-id unix-2.7.0.1-23f79f72106a0fbca2437feb33a4e846 -package-id unordered-containers-0.2.4.0-7f6409777cdc80de6dc1d6d6b583ed69 -package-id utf8-string-0.3.8-a42c89d273388dd8f7df6c075b2d4017 -package-id wai-logger-2.1.1-b539ac5b3d422389df19abe31e5bcc1d -package-id xml-conduit-1.2.0.2-f4be1f3ff124c3e2a925832369777f92 -package-id yaml-0.8.8.3-dffe48ebc9efb127a882bcd27bc05875 -XHaskell2010 Web.Radio Web.Radio.Cmd Web.Radio.Douban Web.Radio.EightTracks Web.Radio.EightTracks.Explore Web.Radio.Jing Web.Radio.Reddit Web.Radio.EightTracks.User -Wall -fno-warn-unused-do-bind
Web/Radio/Cmd.hs:12:18:
Could not find module ‘Data.Conduit.Attoparsec’
It is a member of the hidden package ‘conduit-extra-1.1.1’.
Perhaps you need to add ‘conduit-extra’ to the build-depends in your .cabal file.
Use -v to see a list of the files searched for.
World file is already up to date.
cabal: Error: some packages failed to install:
lord-2.20140324 failed during the building phase. The exception was:
ExitFailure 1
I have ghc 7.8.2 in an Arch Linux x86_64.
Radio/Jing.hs:126:10:
No instance for (FromJSON ByteString)
arising from a use of aeson-0.7.0.2:Data.Aeson.Types.Class.$gdmparseJSON' Possible fix: add an instance declaration for (FromJSON ByteString) In the expression: (aeson-0.7.0.2:Data.Aeson.Types.Class.$gdmparseJSON) In an equation for
parseJSON':
parseJSON = (aeson-0.7.0.2:Data.Aeson.Types.Class.$gdmparseJSON)
In the instance declaration for `FromJSON JingParam'
Radio/Jing.hs:127:10:
No instance for (ToJSON ByteString)
arising from a use of aeson-0.7.0.2:Data.Aeson.Types.Class.$gdmtoJSON' Possible fix: add an instance declaration for (ToJSON ByteString) In the expression: (aeson-0.7.0.2:Data.Aeson.Types.Class.$gdmtoJSON) In an equation for
toJSON':
toJSON = (aeson-0.7.0.2:Data.Aeson.Types.Class.$gdmtoJSON)
In the instance declaration for `ToJSON JingParam'
Failed to install lord-2.20131220
cabal: Error: some packages failed to install:
lord-2.20131220 failed during the building phase. The exception was:
ExitFailure 1
So after fixing #3, i'm trying to install lord with cabal, but it still fails;
Resolving dependencies...
Downloading lord-2.20140323...
Configuring lord-2.20140323...
Building lord-2.20140323...
Preprocessing executable 'lord' for lord-2.20140323...
[1 of 9] Compiling Web.Radio.EightTracks.User ( Web/Radio/EightTracks/User.hs, dist/build/lord/lord-tmp/Web/Radio/EightTracks/User.o )
[2 of 9] Compiling Web.Radio.EightTracks.Explore ( Web/Radio/EightTracks/Explore.hs, dist/build/lord/lord-tmp/Web/Radio/EightTracks/Explore.o )
[3 of 9] Compiling Web.Radio ( Web/Radio.hs, dist/build/lord/lord-tmp/Web/Radio.o )
[4 of 9] Compiling Web.Radio.Cmd ( Web/Radio/Cmd.hs, dist/build/lord/lord-tmp/Web/Radio/Cmd.o )
[5 of 9] Compiling Web.Radio.Douban ( Web/Radio/Douban.hs, dist/build/lord/lord-tmp/Web/Radio/Douban.o )
[6 of 9] Compiling Web.Radio.EightTracks ( Web/Radio/EightTracks.hs, dist/build/lord/lord-tmp/Web/Radio/EightTracks.o )
[7 of 9] Compiling Web.Radio.Jing ( Web/Radio/Jing.hs, dist/build/lord/lord-tmp/Web/Radio/Jing.o )
[8 of 9] Compiling Web.Radio.Reddit ( Web/Radio/Reddit.hs, dist/build/lord/lord-tmp/Web/Radio/Reddit.o )
[9 of 9] Compiling Main ( main.hs, dist/build/lord/lord-tmp/Main.o )
main.hs:140:21: Not in scope: `errExitCode'
main.hs:141:20: Not in scope: `errMessage'
Failed to install lord-2.20140323
cabal: Error: some packages failed to install:
lord-2.20140323 failed during the building phase. The exception was:
ExitFailure 1
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.