博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
cantata测试工具_我如何构建和维护开源音乐播放器Cantata
阅读量:2526 次
发布时间:2019-05-11

本文共 4339 字,大约阅读时间需要 14 分钟。

cantata测试工具

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

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

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

Cantata开源音乐播放器。

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的真正了解是什么?

Cantata的“收藏夹设置”对话框。

CD:并不是我真正想过的。 多年来,Cantata通过添加我想要的功能(AudioCD,封面下载等)以及添加其他人要求的功能(ReplayGain,我从未使用过的拼写,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论坛( )更活跃。 LMS用户和开发人员非常友好,Michael Herger(Logitech员工)很有帮助,通常可以快速响应查询。 但是如上所述,我从来没有真正与MPD进行过多的交互,因此我在那方面实际上不能提供太多信息。

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

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

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

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

我正在从事的主要项目是 。 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,我发现了这一点: 。

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

翻译自:

cantata测试工具

转载地址:http://aqizd.baihongyu.com/

你可能感兴趣的文章
阶段3 2.Spring_04.Spring的常用注解_3 用于创建的Component注解
查看>>
阶段3 2.Spring_04.Spring的常用注解_2 常用IOC注解按照作用分类
查看>>
阶段3 2.Spring_04.Spring的常用注解_7 改变作用范围以及和生命周期相关的注解
查看>>
阶段3 2.Spring_09.JdbcTemplate的基本使用_5 JdbcTemplate在spring的ioc中使用
查看>>
阶段3 2.Spring_10.Spring中事务控制_2 作业-基于注解的AOP实现事务控制及问题分析_上...
查看>>
阶段3 2.Spring_10.Spring中事务控制_5 spring事务控制的代码准备
查看>>
阶段3 2.Spring_10.Spring中事务控制_4 spring中事务控制的一组API
查看>>
阶段3 2.Spring_10.Spring中事务控制_6 spring基于XML的声明式事务控制-配置步骤
查看>>
阶段3 2.Spring_10.Spring中事务控制_9 spring编程式事务控制1-了解
查看>>
阶段3 2.Spring_10.Spring中事务控制_8 spring基于纯注解的声明式事务控制
查看>>
阶段3 3.SpringMVC·_01.SpringMVC概述及入门案例_07.入门案例中使用的组件介绍
查看>>
阶段3 3.SpringMVC·_02.参数绑定及自定义类型转换_1 请求参数绑定入门
查看>>
阶段3 3.SpringMVC·_02.参数绑定及自定义类型转换_7 获取Servlet原生的API
查看>>
阶段3 3.SpringMVC·_06.异常处理及拦截器_1 SpringMVC异常处理之分析和搭建环境
查看>>
阶段3 3.SpringMVC·_06.异常处理及拦截器_4 SpringMVC拦截器之介绍和搭建环境
查看>>
阶段3 3.SpringMVC·_07.SSM整合案例_01.ssm整合说明
查看>>
阶段3 3.SpringMVC·_06.异常处理及拦截器_3 SpringMVC异常处理之异常处理代码编写
查看>>
阶段3 3.SpringMVC·_07.SSM整合案例_03ssm整合之编写Spring框架
查看>>
阶段3 3.SpringMVC·_06.异常处理及拦截器_5 SpringMVC拦截器之编写controller
查看>>
阶段3 3.SpringMVC·_07.SSM整合案例_05.ssm整合之Spring整合SpringMVC的框架
查看>>