cantata测试工具

这是与开发和维护开源音乐播放器的开发人员进行的一系列对话的第三部分。 Craig Drummond是Cantata的开发者和维护者, Cantata是一种开源音乐播放器,充当Music Player Daemon(MPD)音乐服务器的前端(客户端)。 我在家中有两台配置为音乐服务器的小型无头电脑,一台连接到客厅的立体声音响,一台在楼上办公室。 当我在寻找一种控制这些服务器的方法时,我第一次遇到了Cantata,哇,这是一项令人印象深刻的工作。

我有兴趣了解有关Cantata的更多信息,因此,当Craig同意进行本次采访时(为简短和清晰起见,已对其进行了少量编辑),我感到非常感谢。 事不宜迟,让我们与Craig聊天。

克里斯·赫尔曼森(Chris Hermansen): 查看Cantata的GitHub页面以及Cantata 的Debian发布历史 ,看来您从2014年之前就开始从事Cantata的工作。这对吗? 是什么让您决定开始进行此开源音乐播放器项目? 它是否与您的评论有关:“ Cantata最初是Qt MPD客户端(QtMPC)的分支?”

Craig Drummond:我从2011年就开始从事Cantata的工作。我曾经是KDE和Amarok的用户(喜欢Amarok 1.x,而不是2.x)。 实际上,我曾经是KDE核心开发团队的成员。 虽然我喜欢Amarok的UI,但我需要登录到KDE才能播放音乐,但我想让音乐继续播放并对其进行远程控制。 我环顾四周,发现MPD –无头音乐播放器。 作为KDE用户,我寻找了KDE / Qt GUI,发现的最好的是QtMPC。 这个项目已经被放弃了一段时间,并且有一些奇怪的UI怪癖,这让我很烦。 因此,我采用了QtMPC代码库,修复了它的一些UI怪癖,并将其移植为尽可能多地使用KDE库。 最初,我计划将补丁发送回QtMPC,但是我进行了太多更改。

CH:您在日常工作中也是软件开发人员吗? 您是否在Linux环境中工作?

CD:是的,软件也是我的日常工作。 它是Linux,Windows和Android开发的混合体。 大多数情况下使用Windows,而Linux在VM中运行。 我更喜欢使用Linux,但这不是我的决定。

CH:关于Cantata的一件真正令我着迷的事情是对细节的极端关注—例如,在设置页面上精心编写的有用的“微帮助”。 您对Cantata的真正了解是什么?

CD:并不是我真正想过的。 多年来,Cantata通过添加我想要的功能(AudioCD,封面下载等)以及添加其他人要求的功能(ReplayGain,我从未使用过的Last.fm拼写,Jamendo,Magnatune等)而有机增长。 Cantata有很多选项,并且没有用户指南,因此我认为在配置页面上添加注释将有助于解释一些选项,限制等。我喜欢Cantata的一个方面是整体外观。 从单色图标(Font Awesome非常适合此功能)到按专辑,队列背景等对队列中的曲目进行分组。对我来说,UI看起来不错是很重要的(如上所述),这是进行分叉的原因之一QtMPC。

CH:如果我没看错的话,它看起来像是最新版本的MPD支持封面图共享(请参阅此处的示例 ,搜索“ albumart”)。 有计划将此功能添加到Cantata吗? 还是继续依靠具有“附近”封面服务器的MPD配置?

CD: Cantata已经支持从MPD中获取封面艺术-该功能已于去年11月通过另一个用户的补丁程序实现。

CH:我必须更新正在运行的版本。 你是音乐家吗? 您如何使用Cantata耳机,独立的DAC或家庭立体声? 您是专心聆听还是主要听背景音乐? 边听边工作吗?

CD:我当然不是音乐家! 我有一把吉他,几乎可以弹奏《 通往天堂的阶梯》 ,但这就是我能力的极限。 我的声音好坏参半。 目前,我正在键入Radio Paradise上的Rock混音-主要是作为背景音乐。 但是,当我拿到一张新专辑时,通常这将是我听几周的唯一声音。 我确实很喜欢听音乐,并且会尽可能多地播放音乐。

这些天我所有的聆听都是由Logitech Media Server处理的。 为此,我有两个airplay扬声器,一个老式的squeezebox收音机和一个蓝牙扬声器(我通过pi zero-w上的squeezelite使用它来桥接BT / LMS)。 我从不使用耳机,它总是通过扬声器播放。 我有一个TEAC参考500系统,已被Libratone Zipp(Airplay)取代。

CH:告诉我们一些有关Cantata使用的库的信息。 例如,您为什么决定使用Qt?

CD:嗯,作为前KDE用户,Qt是显而易见的选择。 毕竟,QtMPC是基于Qt的。 Cantata的前几个版本是基于KDE的,只有Qt的版本是可选的。 后来(我认为是2.0),我将代码仅移至Qt5,并放弃了对Qt4(以及因此的KDE)的支持。 即使我现在正在使用GNOME,我也喜欢Qt库。 Qt使跨平台开发相对容易-因此Cantata具有Windows,macOS甚至Haiku端口。 之所以使用所有其他库,主要是因为它们是其功能的默认库(例如,libmtp)。 我使用Taglib进行标签读取/写入,主要是因为它具有类似Qt的界面。 但是,它有时可能会导致崩溃,因此Cantata(如Clementine)启动了一个单独的过程来读写标签。

CH:您之前提到过,您正在从MPD作为服务器转移到Logitech媒体服务器。 您能告诉我们更多有关此决定的信息吗?

CD:我正在寻找一种可以在房子周围播放音乐的系统,而我的妻子会使用这种系统。 (Cantata Windows端口开始查看她是否会使用它,但是[她]从未使用过。)我四处寻找解决方案。 我的Android手机上安装了BubbleUPNP。 我尝试使用该选项,让MiniDNLA与Chromecast音频通话,但很快就被音轨之间的两到三秒的间隔所烦扰。 尝试之后,我尝试了Plex,它也可以播放Chromecast音频设备。 但是同样,音轨之间有0.5秒的间隔(对于现场专辑来说是可怕的),并且更新音乐数据库的速度很慢。

最后,我偶然发现了LMS。 此选项也支持Chromecast音频设备,但也支持Airplay,DLNA和无头squeezelite应用程序。 我早就放弃了Chromecast,但是对Airplay的支持非常棒。 使用LMS,我可以在整个房子里播放音乐,将音乐队列从一台设备移到另一台设备,等等。所有这些都通过与开源播放器(Airplay“桥”,​​squeezelite)对话的开源服务器(LMS)进行。等)

而且,最重要的是,我的妻子现在可以实际使用该系统了。 她在iPhone上使用iPeng来控制设备-在Android,iOS等设备上具有控制点,使事情变得更加用户友好。

从我的角度来看,我喜欢LMS如何将服务器与播放分开,而对于MPD,它们是一成不变的。 让一台服务器处理音乐库和多个播放设备的播放队列对我来说很有意义。

CH:关于LMS的有趣评论。 我记得当我真的想要Logitech Transporter时对它非常感兴趣。 显然,我需要再看一遍。 您对MPD和LMS社区的相对规模有什么了解? 两个社区的总体活动水平?

CD:并不是真的要诚实。 我在LMS社区比在MPD中更加活跃。 (MPD的作者从未喜欢过Cantata存储自己的音乐列表缓存的事实)。 LMS论坛(forums.slimdevices.com)似乎比MPD论坛( forum.musicpd.org )更活跃。 LMS用户和开发人员非常友好,Michael Herger(Logitech员工)很有帮助,通常可以快速响应查询。 但是如上所述,我从来没有真正与MPD进行过多的交互,因此我在那方面实际上不能提供太多信息。

如上所述,LMS更适合我的需求,但MPD可能是其他人的更好选择。

CH:您对Cantata有任何未来计划吗? 您要添加的内容? 您正在从事其他开源项目?

CD: Cantata没有未来的计划,它处于仅修正错误的状态。 今年晚些时候,我将发布v2.4.0,但这很可能是很长一段时间以来的最后一个功能。 如前所述,我不再积极使用它。

至于其他开源项目:我曾经写过KDE字体管理器和KDE的仅图标任务栏,我为各种开源项目(KMediaFactory,Audex,Kino,MPDroid)贡献了补丁。 几年前,我写了一个Qt5开放式控制点。 这个项目从未成熟,看到我也放弃了BubbleUPNP / MiniDNLA,我已经有一段时间没有使用它了。

我正在从事的主要项目是针对LMS的Google材质主题的“皮肤” 。 LMS的默认Web UI可以正常使用,但它并不漂亮,并且不能在移动设备上真正工作。 因此,在过去的一年中,我一直在为LMS编写HTML5 / Javascript接口。 但是,我不是Web开发人员,所以这对我来说是全新的。 这个项目的优点在于它已安装在LMS服务器上,因此无需安装任何软件(仅需要浏览器)就可以拥有一个不错的LMS UI。 如果要烧烤,我可以让来宾更改曲目等,只需让他们将手机(iOS,Android等)上的浏览器指向LMS。 如果您有兴趣,请在线搜索“ lms材质皮肤”。 我的GitHub页面上的唯一屏幕截图来自v0.0.1(并且UI发生了很大变化)。 我几周前刚刚发布了v1.0,但我仍在进行更改。 “尽早发布,经常发布。”

CH:很酷,我想看看。 我想这最终将取代您家庭中使用iPeng吗?

CD:很好,但是很难让我的妻子了解新事物。 她喜欢iPeng,它很适合她,对我来说很好–至少她终于使用了我们的数字音乐收藏。

CH:我非常喜欢与Craig的谈话。 尽管我对Canata / MPD在家中传送音乐感到非常满意,但听起来好像我需要看一下Logitech Media Server。

音乐选择

我最近买了几张新专辑。 一个突出的是一个可爱的CD(是的,既不是下载或乙烯基我我失去了我的联系吗?) - 声音:咏距离阿维尼翁 。 我是我所遇到的大多数格列高利圣歌的忠实拥护者,这是一个很好的例子。 在另一个极端,自从2000年代初购买的CD首次运行它们以来,我一直在寻找更多的Kwanzaa Posse,我发现了这一点: 具有大规模攻击性非洲振动的Kwanzaa Posse 。

最后,我问克雷格(Craig)一个建议。 他的回答是:“音乐是如此个人化,很难提出任何建议。我现在非常喜欢Avantasia ,而且我对Iron Maiden,Magnum和Thunder的粉丝超过了我多年话虽这么说,我也喜欢Aqua的Barbie Girl ( 我俩都有他们的专辑!)既不喜欢大多数流行音乐,也不喜欢说唱(但喜欢RunDMC的Walk this Way ),而且永远也不会加入Jazz。 ”

翻译自: https://opensource.com/article/19/10/cantata-open-source-music-player

cantata测试工具

cantata测试工具_我如何构建和维护开源音乐播放器Cantata相关推荐

  1. cantata测试工具_探索Cantata,一个令人印象深刻的Linux音乐客户端

    cantata测试工具 上个月,我为音乐播放器守护程序(MPD)音乐服务器查看了三个Linux客户端:ncmpcpp,Sonata和GMPC. 这个月我正在看Cantata ,这是两种读者推荐的,我真 ...

  2. linux开源视频播放器_什么定义了Linux的顶级开源音乐播放器?

    linux开源视频播放器 在我撰写此音乐专栏的两年左右的时间里,Linux发烧友的世界得到了发展. 出现了新的Linux发行版和开源音频播放器,旧的已经消失了,随着高质量的数字下载,新的和高质量的播放 ...

  3. 草莓tv 无法播放_草莓:高质量的声音,开源音乐播放器

    草莓tv 无法播放 我最近收到了乔纳斯·克文格 ( Jonas Kvinge )发来的电子邮件,该电子邮件分叉了Clementine开源音乐播放器 . 乔纳斯写道: 我已经在2013年开始开发Clem ...

  4. 开源音乐播放器_使用开源音乐播放器设计生活中的配乐

    开源音乐播放器 我们围绕着自己的个人配乐. 我们的音乐让我们想起了人生中最重要的时刻,并帮助我们塑造了自己的感受和看法. 让音乐播放器支持自由选择音乐的播放方式,同时又不影响播放质量非常重要,而且我一 ...

  5. dj java实现_躁!DJ 风格 Java 桌面音乐播放器

    本文适合有 Java 基础知识的人群,跟着本文可学习和运行 Java 版桌面 DJ 音乐播放器. 本文作者:HelloGitHub-秦人 HelloGitHub 推出的<讲解开源项目>系列 ...

  6. Java和vue实现音乐播放器_躁!DJ 风格 Java 桌面音乐播放器

    本文适合有 Java 基础知识的人群,跟着本文可学习和运行 Java 版桌面 DJ 音乐播放器. 本文作者:HelloGitHub-秦人 HelloGitHub 推出的<讲解开源项目>系列 ...

  7. java仿qq空间音乐播放_使用JS改造的简单网页音乐播放器,仿QQ空间样式

    最近有好多东西要发表分享给大家,但由于时间问题,越多反而显得越乱,都不知道从何下手,该做的事情还有很多,最近整博客,又整得有点不兼容了,在想抽个时间修复它,可能时间要比较长,因为无从下手,必须一个一个 ...

  8. 开源音乐播放器_如何选择开源音乐播放器

    开源音乐播放器 Linux提供了大量的音乐播放器. 您如何选择使用哪一个? 早在2016年6月,我就写了我最喜欢的开源音乐播放器Guayadeque显然逝世的文章. 我描述了我对Guayadeque真 ...

  9. 以麒麟音乐为例,教你如何构建专属自己的音乐播放器

    麒麟音乐是一款设计美观.功能简洁.支持多种音乐格式的音乐播放器.在播放本地音乐的同时,还可以根据用户喜好.自定义歌单来对音乐进行分组. 除常规模式外,麒麟音乐还有小窗口模式来满足用户的不同需求.想知道 ...

最新文章

  1. oracle存储过程dbms_output.put_line()显示打印结果
  2. 《Android 开发入门与实战(第二版)》——6.6节配置改变
  3. 前中华英才产品总监高瑞:被嫌弃的产品经理的一生
  4. 想写一篇关于.net下COM工作原理的文章
  5. 外挂:一个很杯具的关键字
  6. 计算机科学美国大学专业,美国大学Computer Science 计算机科学专业排名(转)...
  7. C#LeetCode刷题之#136-只出现一次的数字(Single Number)
  8. shell 分割字符串_谈一谈Shell中的贪婪匹配和非贪婪匹配
  9. UTF-8 Unicode ANSI网页编码的区别
  10. 关于React Native init 项目时候速度太慢的解决方法
  11. JetBrains:修改C盘中的JetBrains家族软件如PyCharm、WebStorm等的缓存文件位置
  12. 电脑怎么开护眼模式_绿色电脑桌面、手机护眼模式真的可以护眼?
  13. c语言程序设计一至六章测验,c语言程序设计1-6章.ppt
  14. CoreUI: RunTimeThemeRefForBundleIdentifierAndName() couldn't find Assets.car in bundle...
  15. android 代码控制TextView的字体加粗
  16. DOC与DOCX的区别
  17. 强制IE使用兼容模式
  18. originpro2021导入excel(.xls)
  19. T507修改分区方法-Linux、Android系统适用
  20. Python 奇淫技巧,助你更好的摸鱼

热门文章

  1. Python如何安装pip
  2. 算法4:数列极差问题(贪心算法)
  3. 个人作品——豆瓣FM客户端
  4. zz--WINCE TCPMP应用四:利用TCPMP插件开发程序
  5. 大股东支持拿地 中粮地产维维股份合作地产开发
  6. 详解开发、实施、运维的区别
  7. liblinear相关学习
  8. jython 简单入门
  9. Windows使用msys+mingw编译imagemagick
  10. Android 使用BRVAH 实现二级菜单。类似QQ分组