30天音乐雷达:用cli3/cli打造你的专属Spotify专辑发行日历

30天音乐雷达:用cli3/cli打造你的专属Spotify专辑发行日历

【免费下载链接】cli Command-line tool to customize Spotify client. Supports Windows, MacOS, and Linux. 【免费下载链接】cli 项目地址: https://gitcode.com/gh_mirrors/cli3/cli

你是否曾错过关注乐队的新专辑发布?是否在海量推荐中难以筛选真正感兴趣的新歌?本文将展示如何通过cli3/cli的New Releases功能,构建个性化的音乐发行日历,让你轻松掌握关注艺人的最新动态。读完本文,你将能够:设置自定义时间范围的发行提醒、筛选专辑/单曲/播客内容、一键管理已浏览发行信息。

功能概述:New Releases是什么?

New Releases是cli3/cli项目中的一个自定义应用(Custom App),位于CustomApps/new-releases/目录下。该功能通过分析用户关注的艺人和播客,自动聚合指定时间范围内的新发布内容,并以日历式界面展示。核心特性包括:

  • 多维度内容筛选:支持专辑、单曲、EP、播客等内容类型过滤
  • 时间范围控制:可选择30/60/90/120天内的发行内容
  • 个性化展示:支持相对日期(如"3天前")或绝对日期显示
  • 交互优化:包含一键播放、忽略内容、撤销操作等功能

安装与启用

确保已安装cli3/cli主程序,安装方法可参考项目README.md。New Releases作为内置应用,默认路径为CustomApps/new-releases/,包含以下核心文件:

启用步骤:

  1. 打开Spotify客户端
  2. 进入cli3/cli菜单,选择"自定义应用"
  3. 找到"New Releases"并启用
  4. 首次使用会请求访问你的关注列表权限

核心功能详解

发行日历界面

应用启动后,默认展示30天内的新发行内容,按日期分组展示。每个内容卡片包含:

  • 专辑/播客封面图
  • 标题及艺术家信息
  • 发行类型(专辑/单曲/EP等)
  • 播放按钮和忽略按钮

发行日历界面示意图

自定义设置

点击界面右上角设置按钮,可打开配置面板Settings.js,主要选项包括:

设置项说明默认值
Time range内容时间范围筛选30天
Relative date使用相对日期显示关闭
Show type显示内容类型标签开启
Show track count显示曲目数量开启
Fetch new music获取音乐内容开启
Fetch new podcast获取播客内容关闭

高级操作

忽略不感兴趣的内容:点击卡片右上角的"×"按钮可忽略该发行,避免重复展示。忽略记录保存在本地存储中,可在设置中通过"Reset dismissed releases"恢复。

快速操作菜单:右键点击内容卡片,可打开操作菜单,包含:

  • 播放专辑/播客
  • 查看艺术家页面
  • 添加到收藏
  • 详细信息

代码解析:实现原理

数据获取流程

index.js中定义了数据获取的核心逻辑:

async function fetchTracks() {
  const artistList = await getArtistList();
  Spicetify.showNotification(`Fetching releases from ${artistList.length} artists`);
  
  const requests = artistList.map(async (obj) => {
    return await getArtistEverything(obj).catch((err) => {
      console.debug("Could not fetch all releases", err);
    });
  });
  
  return await Promise.all(requests);
}

上述代码通过getArtistList()获取用户关注的艺术家,再通过getArtistEverything()获取每位艺术家的所有发行内容,最后根据时间范围过滤结果。

卡片组件设计

Card.js实现了内容展示卡片,核心代码:

class Card extends react.Component {
  play(event) {
    Spicetify.Player.playUri(this.uri, this.context);
    event.stopPropagation();
  }
  
  closeButtonClicked(event) {
    removeCards(this.props.uri);
    // 显示撤销通知
  }
  
  render() {
    // 卡片UI渲染逻辑
  }
}

每个卡片包含播放按钮、忽略按钮和艺术家链接,支持拖拽操作和右键菜单。

使用技巧与最佳实践

  1. 定期更新时间范围:每月初将时间范围调整为30天,确保不错过当月新发行

  2. 组合使用内容筛选

    • 工作日:仅开启"专辑"和"EP"筛选
    • 周末:开启"播客"和"单曲"选项
  3. 恢复误操作:忽略重要发行后,可通过顶部"undo"按钮撤销操作

  4. 性能优化:关注艺术家超过100位时,建议适当增大时间范围以减少请求次数

常见问题解决

Q: 为什么有些关注艺术家的新专辑没有显示?
A: 检查Settings.js中的内容类型过滤,确保未勾选"Compilations"(合辑)选项,部分专辑可能被归类为合辑。

Q: 时间范围设置为120天但只显示了60天内容?
A: 这是Spotify API的限制,单个请求最多返回60天数据。可分两次查看:先设为60天,再设为120天查看更早内容。

Q: 如何默认只显示专辑?
A: 修改Settings.js中的默认配置,将"single-ep"设为false。

总结

New Releases功能通过智能聚合和个性化筛选,解决了音乐爱好者追踪新发行内容的痛点。结合cli3/cli的扩展能力,还可进一步定制更多功能,如添加通知提醒、导出发行日历等。完整实现代码可参考CustomApps/new-releases/目录下的源代码,欢迎贡献改进建议。

通过合理配置和使用这个工具,你将不再错过关注艺术家的任何新作品,让音乐发现变得更加高效和个性化。

【免费下载链接】cli Command-line tool to customize Spotify client. Supports Windows, MacOS, and Linux. 【免费下载链接】cli 项目地址: https://gitcode.com/gh_mirrors/cli3/cli

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值