Git Product home page Git Product logo

feeluown's Introduction

FeelUOwn - feel your own

Documentation Status Build Status Coverage Status PyPI python

FeelUOwn 是一个稳定、用户友好以及高度可定制的音乐播放器。

macOS 效果预览

特性

  • 稳定、易用:
    • 一键安装,各流行平台均有打包(如 Arch Linux, Windows, macOS 等)
    • 有各媒体资源平台的插件,充分且合理的利用全网免费资源(如网易云、QQ、Bilibili 等)
    • 基础功能完善,桌面歌词、资源智能替换、多音质选择、nowplaying 协议等
    • 核心模块有较好的测试覆盖、核心接口保持较好的向后兼容
  • 可玩性强:
    • 提供基于 TCP 的交互控制协议
    • 基于文本的歌单,方便与朋友分享、设备之间同步
    • 支持基于 Python 的配置文件 .fuorc,类似 .vimrc.emacs

快速试用

使用系统包管理器一键安装 FeelUOwn 及其扩展吧!

对于 Arch Linux 和 macOS,你可以分别使用如下方式安装:

# Arch Linux
yay -S feeluown          # 安装稳定版,最新版的包名为 feeluown-git
yay -S feeluown-netease  # 按需安装其它扩展
yay -S feeluown-kuwo
yay -S feeluown-bilibili

# macOS(也可以下载打包好的二进制)
brew tap feeluown/feeluown
brew install feeluown --with-battery # 安装 FeelUOwn 以及扩展
feeluown genicon                     # 在桌面生成 FeelUOwn 图标

Windows 和 macOS 用户可以在 Release 页面下载预打包好的二进制。 Gentoo, NixOS, Debian, openSUSE 等 Linux 发行版也支持使用其系统包管理器安装! 详情可以参考文档:https://feeluown.readthedocs.io/ , 也欢迎你加入开发者/用户交流群

免责声明

FeelUown(以下简称“本软件”)是一个个人媒体资源播放工具。本软件提供的所有功能和资料 不得用于任何商业用途。用户可以自由选择是否使用本产品提供的软件。如果用户下载、安装、 使用本软件,即表明用户信任该软件作者,软件作者对任何原因在使用本软件时可能对用户自己 或他人造成的任何形式的损失和伤害不承担责任。

任何单位或个人认为通过本软件提供的功能可能涉嫌侵犯其合法权益,应该及时向 feeluown 组织书面反馈,并提供身份证明、权属证明及详细侵权情况证明,在收到上述法律文件后, feeluown 组织将会尽快移除被控侵权内容。(联系方式: yinshaowen241 [at] gmail [dot] com )

feeluown's People

Contributors

ad09 avatar albertofwb avatar brucezhang1993 avatar catsout avatar chen-chao avatar code-review-doctor avatar cosven avatar cposture avatar cyliuu avatar felixonmars avatar hanchanli avatar helinb avatar hjlarry avatar keter42 avatar leedagee avatar light4 avatar mokurin000 avatar oryxfea avatar photonquantum avatar sbwtw avatar seiuneko avatar thearas avatar timgates42 avatar torxed avatar wenliangcan avatar williamherry avatar wsyxbcl avatar wuliaotc avatar xssss1 avatar yexiaoxing avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

feeluown's Issues

deepin 2014.3安装依赖失败

deepin 2014.3 下安装时遇到了
下列软件包有未满足的依赖关系: python3-pyqt5.qtmultimedia : 依赖: python3-pyqt5 (= 5.2.1+dfsg-1ubuntu1) 但是 5.3.1-1 正要被安装 E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

桌面歌词

我装好后好像播放器不自带桌面歌词,以前一直用的 OSD Lyrics 也无法调用。 有办法加入桌面歌词吗,或者怎么让osd lyrics 支持呢

崩溃情况较多

估计目前没有经过完整的测试,崩溃情况较多,先解决下稳定性问题吧。

kubuntu 15.04诸多问题

如图:

  • 不显示状态栏图标。。于是,没有办法从mini模式切换到正常模式。。
  • 收藏的歌单,不知道是不是因为太多,行间距特别小,都没法看
  • 还有就是播放的时候会莫名其妙直接跳到十几秒那儿开始放(第一次放也是,发誓这不是断点续播)
    fuo

音量控制

大半夜偷偷玩电脑,安装完一进去点了播放,想调低音量,找了半天音量控制差点把母上吵醒,这居然还没有自带的音量控制,这个是不是有点偷懒啊?虽然说可以从系统那里调。。。但我觉得音量控制好歹还是要有的吧,个人介意。

这个播放器确实不错

试用了一下,感觉的确挺好的,我挺喜欢这种功能简单,轻快易用的播放器。
不过确实有几个建议,希望能不断改进越做越好。
其一是托盘图标,不知为何跑到了Ubuntu托盘的最左边,直接挡住了其他程序的关闭按钮,我不知道是只有我这里是这样,还是设计时就是这样。
其二就是缺少个设置页面,由于我电脑平面分辨率是1920*1080的,整体字看起来非常小,如果有个界面设置,就比较好了。
另外我想知道这个项目文档生成是不是出问题了,我执行generateSphinxDoc.sh后,生成的文档中貌似没有什么有用的信息,如果要开源做下去的话,文档资料可能是非常关键的。

Ubuntu 15.10 播放器不能运行

Traceback (most recent call last):
File "./main.py", line 19, in
from quamash import QEventLoop
ImportError: No module named 'quamash'
提示这个错误

歌词没有 tlyric 关键字会崩溃。

播放歌曲,点击歌词,如果没有歌词就崩溃。

Traceback (most recent call last):
  File "/home/light4/FeelUOwn/src/controllers.py", line 279, in on_player_position_changed
    lyric_model = self.api.get_lyric_detail(self.state['current_mid'])
  File "/home/light4/FeelUOwn/src/plugin/NetEase/normalize.py", line 282, in get_lyric_detail
    if data['tlyric']['lyric']:
KeyError: 'tlyric'
[1]    31259 abort (core dumped)  python main.py

更新

有歌词。。。
有些歌曲的歌词是没有 tlyric 值的,只有 lyric, 并且表现的跟 tlyric 一样,比如:
皇后大道东

提个建议吧

可不可以加入每日推荐这个功能呢 我想这个功能应该有很多人用的哦

为啥点登陆没反应

装过旧版,没问题,后来卸载了

今天装了最新版,其他功能正常,就是不能登陆

首次使用,提的建议

首先要说,这个做的界面已经很好看了, 功能也很强了。尤其是那个“相似歌曲”自动播放列表实在太好了!基本做到了电台功能!!下面说点建议:

其实基本都是网页版本来有的吧:
(按照需求优先级排序)

  1. 歌词能否给个非滚动的,尤其有的歌滚的也不对。有个直接显示txt的反而最好了。推荐在“播放全部”下面空白处显示。
  2. 歌手能否给个“所有专辑”,“艺人介绍”的链接?
  3. 右键添加/新建歌单。
  4. 前进,后退功能。
  5. 评论系统不知能否加上。(这个倒是不是很重要)
  6. 还是关于歌词的,网易上歌词不全的很多,如果能有自动在歌词网站上搜索匹配最好了。这种类似的插件很多,比如https://robwu.nl/lyricshere/ 这个浏览器插件可以自动显示各种音乐网站,youtube播放歌曲的歌词。

是不是有点贪,哈哈。都开发出来那就真的逆天了,比原版还高级。

最后还是要说那个相似歌曲自动播放的电台功能非常好!

网易云音乐API问题

我又来了。。
这次应该是网易云的API问题,因为darknessomi大大的musicbox也有同样的问题
“创建的歌单”+“收藏的歌单”只能显示100条。。我表示我创建了56个,收藏了125个。
上图,左边是MusicBox有标号的到100没了,右边FeelUOwn到同样的歌单也没了
不过总体来讲FeelUOwn是非常好的第三方客户端,Issue修复也非常快!
image

于是我想听后面的歌的时候只能苦逼的在手机上把歌单重排序提到前面。。。

建议做本地cache

如题,现状是每次登陆后大约有10s在加载曲目绘制ui(主要是我这种歌单一大堆的人,图片太多肯定有这问题
建议如下:

  1. 退出时本地保存数据结构
  2. 开启时读取本地cache,快速绘制
  3. 异步网络通信
  4. 通信完成后更新数据结构,我觉得这里可以直接舍弃原来的数据,而不是在原来的数据上修改

因为大部分人同时只会关注一个页面,所以我认为感官上数据更新带来的差别感不会太明显

托盘提示的信息的背景是花色,看不清提示内容

你好 遇到了一些问题
输入./install.sh后提示

---------------------------
脚本适用于Debian系的Linux
---------------------------
准备安装相关python依赖
pip 1.5.4 from /usr/lib/python3/dist-packages (python 3.4)
./install.sh: line 107: syntax error: unexpected end of file

关于Python3的依赖都安装好了,直接运行app.sh可打开软件界面
听歌和登入都没有问题.但右下角气泡消息底色是花的,反正很不舒服的底色.

最后也无法生成桌面图标,也搜索不到FeelUOwn.

测试发现login api挂掉了

如题,
我这边C++项目已经开始,已经码完api module,现在测试发现login api挂掉了,不知道你那边怎么样?

最近发现的新login api,正准备测试

开发计划、或一些临时想法、或一些美好愿景

对项目基础的认识

音乐播放是根基,酷炫美观是追求的目标,性能不会是考虑的重点

近期目标

  1. 重构View模块,让代码更容易被读懂
  2. 重构web模块,套用更成熟的框架
  3. 自定义跨平台通知控件,现有QT5的通知在许多linux平台表现不理想。
  4. 加强搜索功能。比如说: 搜索 “李克勤 富士山下”

过度目标

  1. 增加设置模块
  2. 给插件开发增加示例 和 修订一些开发标准

已经完成的东西

  • 已经有了一个比较基础的音乐播放功能,也有了一定的稳定性
  • 使用asyncio对程序进行并发支持
  • 在主要的显示区域使用webkit模块,增强界面显示、方便其他功能开发
  • 。。。

想到的一些特性

  1. 给音乐加 标签

Use xdg-xxx in install.sh

Using xdg-desktop-menu and xdg-desktop-icon is the preferred method to install shortcuts to user's desktop environment. See xdg-desktop-menu(1) and xdg-desktop-icon(1).

Also, adding package manager support to mainstream Linux distributions is the best solution.

一些bug和建议

感谢作者的努力!
我也希望能找出时间,尽快加入开发队伍。
以下是最近使用中遇到的一些问题,和一些建议,
希望能在后面版本得到解决:
(运行环境是ubuntu kylin 15.04)

1.有些歌曲封面还不能完全填充这个图片框
image

2.头像没有缩放显示
image

3.建议加入随机播放、单曲洗脑循环、评论、快捷键切换歌曲、驻留托盘 等功能。

^_^

歌曲日文显示乱码问题(这问题比较诡异

首先,我直接pull你的代码到本地运行,然后,播放一首日文歌曲,不论是播放器下面的还是菜单栏的气泡弹窗中,日文都是乱码,其他地方日文都是ok的。
然后我做了这么一件事

diff --git a/src/controllers.py b/src/controllers.py
index a83d434..673d927 100644
--- a/src/controllers.py
+++ b/src/controllers.py
@@ -315,7 +315,7 @@ class MainWidget(QWidget):
         self.current_playlist_widget.add_item_from_model(music_model)
         self.current_playlist_widget.focus_cell_by_mid(music_model['id'])

-        self.trayicon.showMessage(u'正在播放: ', music_model['name'])
+        self.trayicon.showMessage(u'正在播放: ほ', music_model['name'])

         self.state['current_mid'] = music_model['id']
         if self.state['is_login']:

我仅仅添加了一个日文字符,它就好了!
我觉得是python要么qt没有加载某个字符库
预计原因是pyqt的锅,有空作者君查查

BTW,shell下抛了一个Error

Traceback (most recent call last):
  File "/home/homura/Documents/NetEaseMusic/src/widgets/login_dialog.py", line 189, in on_login_success
    self.nm.finished.disconnect(self.on_nm_finished)
TypeError: disconnect() failed between 'finished' and 'unislot'

qt的signal和slot貌似出了什么问题,顺带定位下吧

点击包含歌曲较多的歌单就闪退

╰─$ ./app.sh 
[INFO] [__init__.py line:41] : Using Qt Implementation: PyQt5
[INFO] [controllers.py line:50] : db connected: /home/fengyu/.FeelUOwn/cache/data.db
[INFO] [__init__.py line:15] : NetEase Plugin init
[INFO] [api.py line:37] : method=POST_UPDATE url=http://music.163.com/api/push/init query={}
[INFO] [connectionpool.py line:264] : Starting new HTTP connection (1): music.163.com
[INFO] [normalize.py line:67] : Save user cookies
[INFO] [normalize.py line:72] : Save user login time
<class 'Xlib.protocol.request.QueryExtension'>
[INFO] [normalize.py line:148] : Read playlist 53122581 info from sqlite
[INFO] [normalize.py line:148] : Read playlist 123056695 info from sqlite
[INFO] [normalize.py line:148] : Read playlist 120899665 info from sqlite
[INFO] [version_manager.py line:16] : 正在查找新版本...
[INFO] [connectionpool.py line:716] : Starting new HTTPS connection (1): api.github.com
[INFO] [normalize.py line:148] : Read playlist 53122581 info from sqlite
[INFO] [api.py line:37] : method=GET url=http://music.163.com/api/song/detail/?id=26434737&ids=[26434737] query=None
[INFO] [connectionpool.py line:264] : Starting new HTTP connection (1): music.163.com
[INFO] [normalize.py line:142] : Save music 26434737 info into sqlite
[INFO] [normalize.py line:148] : Read playlist 53122581 info from sqlite
[INFO] [version_manager.py line:16] : 正在查找新版本...
[INFO] [connectionpool.py line:716] : Starting new HTTPS connection (1): api.github.com

没有细看代码,不确定是否因为某些操作是同步的,阻塞了窗口事件?
日志中有连接github的部分,一旦出现这些日志的时候,窗体就会点不动,点击关闭按钮还会弹出窗口无响应,是否强制关闭的选项。

安装是否可绕过sudo权限?

首先多谢开发~~~赞!
但是,上班地方的电脑没有root和sudo权限,是否可以像dropbox或者firefox之类,直接在自己的home路径启用,而不要root或sodu呢?

多谢!

sudo apt-get install python3-xlib not working

root@lamer:~# apt-get install python3-xlib
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package python3-xlib

找不到 xlib,是不是指
pip3 install python3-xlib ?

歌单active的样式图标会变小

qq2015071x

点过之后hover的样式左边的border就没有来

我试着修了一下,hover的那个不规则矩形搞不来

不知道是我用虚拟机的原因还是python太慢,经常app颜色变的很深,应该是卡住了

Ubuntu15.04x64上无法登录

无法登录,输入账号和密码后,返回IP高频,并要求填写验证码,有时验证码不能显示;然后重登录再无反应。
_025

两个建议

  1. 不能注销。。
  2. 不能更新自己的收藏列表。。本来我准备找找注销重新登陆试试的。。

Linux mint 17.02 中安装会卡死

Linux mint 17.02 中安装会咋在

sudo apt-get install python3-xlib 

这一步。后来把

sudo apt-get install python3-pyqt5.qtmultimedia 1>/dev/null 2>&1
sudo apt-get install python3-pyqt5.qtwebkit 1>/dev/null 2>&1
sudo apt-get install libqt5multimedia5-plugins 1>/dev/null 2>&1

中的

1>/dev/null 2>&1

删掉就好了,也不知道为什么。

启动失败在archlinux

[root@helinbao-pc FeelUOwn]# python3 /opt/FeelUOwn/src/main.py
Traceback (most recent call last):
File "/opt/FeelUOwn/src/main.py", line 33, in
w = MainWidget()
File "/opt/FeelUOwn/src/controllers.py", line 41, in init
self.ui.setup_ui(self)
File "/opt/FeelUOwn/src/views.py", line 29, in setup_ui
self.left_widget = LeftScrollArea()
File "/opt/FeelUOwn/src/left_widget.py", line 23, in init
self.central_widget = LeftWidget()
File "/opt/FeelUOwn/src/left_widget.py", line 50, in init
self.create_list_widget = PlaylistWidget()
File "/opt/FeelUOwn/src/widgets/playlist_widget.py", line 19, in init
self.fold_animation = QPropertyAnimation(self, 'maximumHeight')
TypeError: arguments did not match any overloaded call:
QPropertyAnimation(QObject parent=None): too many arguments
QPropertyAnimation(QObject, QByteArray, QObject parent=None): argument 2 has unexpected type 'str'

能指定本地文件保存路径吗?

能制定本地音乐保存的位置吗?我有之前下载好的,好多音乐,不知道能不能关联起来.
另外mini之后如何还原啊?手残点了下mini发现还原不回去了.

trayicon位置问题

系统是ubuntu 14.04,trayicon在左上角,遮挡了其他窗口的关闭按钮。
建议集成进系统的tray里,或者可以拖动也行。

双击图标后无法启动播放器

我的系统是Ubuntu15.10,双击桌面图标后,查看/var/log/syslog显示如下:
Dec 15 13:54:20 eric-ThundeRobot gnome-session[2611]: Traceback (most recent call last):
Dec 15 13:54:20 eric-ThundeRobot gnome-session[2611]: File "/home/eric/sources/FeelUOwn/src/main.py", line 19, in
Dec 15 13:54:20 eric-ThundeRobot gnome-session[2611]: from quamash import QEventLoop
Dec 15 13:54:20 eric-ThundeRobot gnome-session[2611]: ImportError: No module named 'quamash'

点击导航里的图标/var/log/syslog显示如下:
Dec 15 13:59:02 eric-ThundeRobot gnome-session[2611]: (clipit:2702): GLib-CRITICAL *: g_variant_new_string: assertion 'g_utf8_validate (string, -1, NULL)' failed
Dec 15 13:59:02 eric-ThundeRobot gnome-session[2611]: (clipit:2702): GLib-CRITICAL *
: g_variant_new_string: assertion 'g_utf8_validate (string, -1, NULL)' failed
Dec 15 13:59:59 eric-ThundeRobot com.canonical.Unity.Scope.Home[2518]: (unity-scope-home:8547): Json-CRITICAL *: json_object_get_object_member: assertion 'node != NULL' failed
Dec 15 13:59:59 eric-ThundeRobot com.canonical.Unity.Scope.Home[2518]: message repeated 9 times: [ (unity-scope-home:8547): Json-CRITICAL *
: json_object_get_object_member: assertion 'node != NULL' failed]
Dec 15 14:00:00 eric-ThundeRobot com.canonical.Unity.Scope.Home[2518]: (unity-scope-home:8547): libunity-WARNING **: unity-aggregator-scope.vala:145: 在以 D-Bus 线格式用类型字符串“mv”序列化 GVariant 时发生错误

软件打不开

依赖库都安装了,打开软件只是鼠标转圈,然后就没了

在archlinux 登陆账号之后直接奔溃

[INFO] [init.py line:41] : Using Qt Implementation: PyQt5
libva info: VA-API version 0.38.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_38
libva info: va_openDriver() returns 0
libva info: VA-API version 0.38.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_38
libva info: va_openDriver() returns 0
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
[INFO] [init.py line:19] : NetEase Plugin init
[INFO] [connectionpool.py line:207] : Starting new HTTP connection (1): music.163.com
[INFO] [api.py line:79] : Save cookies successfully
[INFO] [connectionpool.py line:207] : Starting new HTTP connection (1): music.163.com
Traceback (most recent call last):
File "/usr/share/feeluown-git/src/widgets/login_dialog.py", line 145, in __login
data = self.ne.login(username, password, phone_login)
File "/usr/share/feeluown-git/src/plugin/NetEaseMusic/normalize.py", line 114, in login
data = self.access_data_user(data)
File "/usr/share/feeluown-git/src/plugin/NetEaseMusic/normalize.py", line 356, in access_data_user
user_data['avatar'] = user_data['profile']['avatarUrl']
KeyError: 'profile'
/usr/bin/FeelUOwn: 行 6: 5150 已放弃 (核心已转储)python /usr/share/feeluown-git/src/main.py

国外用户(IP)不能正常播放

歌曲的播放进度,一直是00:00,换了几首个都是这样,感觉好象是连不上网(事实可以正常上网)
系统: linux mint 17

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.