问题标签 [rhythmbox]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1138 浏览

python - 在 ubuntu 上显示歌词

我正在为 Ubuntu 编写一个小脚本。我的意图是用全局快捷方式(配置gnome)调用节奏盒歌词插件。我可以从节奏盒 python 控制台调用它,但我不知道如何导入节奏盒内置模块(例如节奏数据库)。
有任何想法吗?

0 投票
1 回答
733 浏览

python - Rhythmbox:如何通过 Python 脚本访问曲目的“评分”字段?

我希望能够通过 Python 获取/设置与特定曲目相关的评分。我如何实现这一目标?

0 投票
3 回答
1801 浏览

windows - 在批处理文件中加速 ssh

这是我的情况:
    我有一个带有 Windows 客户端的 linux 服务器/媒体中心。
    我的目标是远程控制节奏盒等。
    我已经使用 plink(基于 Windows 的 cli ssh 玩具)完成了这项工作。
    问题是启动 ssh 会话登录并发送命令非常慢,这是可以理解的。当我有一个 Windows 服务器时,我使用了一个名为 psexec 的工具,它几乎是即时的。

    有没有办法加快这个过程?要么以某种方式发送带有登录请求的命令,这应该会显示出一些改进。或者通过维护我可以使用的持久 ssh 连接。(在命令末尾链接 dcs)。

更多信息:
在我的 Windows 机器上,我正在使用类似的 bat:
plink -ssh -l username -pw pass myipaddress "/home/username/bin/skip"

在我的 linux 机器上,skip bash 文件类似于:
//needed to get around a x11 error caused by controlling rhythmbox over ssh
if its an ssh connection
   copy the dbusaddress
fi
rhythmbox-client --next //the cli wrapper for rhythmbox


进一步研究:
    唯一的方法似乎是保持 ssh 连接作为服务打开/维护。这似乎是可行的,因为由于设置 ssh 隧道(绕过防火墙)而存在需求。从那里我需要一种将命令行命令发送到这个现有连接或重用该连接的方法。
    另一个选择当然是不使用 ssh。地狱,我已经通过 samba 文件共享建立了连接,并且没有延迟。我敢打赌我可以放置一个服务 linux 端来检查修改过的文件。然后有一个修改所述文件的 ap 客户端。令人惊讶的hacky,但到目前为止,它似乎是最好的选择。最好我的意思是唯一可以减少控制滞后的。必须有比这更好的方法,我不能成为唯一一个使用 linux 作为媒体中心想要远程控制的书呆子。这种将主题从 stackoverflow 转移到超级用户,但没关系。

0 投票
2 回答
638 浏览

python - 用于访问播客文件的 Rhythmbox 插件看不到它们

我正在编写一个 Rhythmbox 插件来迭代 Rhythmbox 当前已知的所有播客文件(无论是否下载)并用它们做一些事情。

在 Rhythmbox 的 Python Shell 中进行一些研究和测试后,我成功获得了所有对象的列表。但是,当我将其编码到插件中时,出现错误:

并且entries列表为空:

但是,print entry_type返回:<rhythmdb.EntryType object at 0xa7ea34c (RhythmDBEntryType at 0xa106988)>,因此 db 对象显然是有效的。

我究竟做错了什么?

0 投票
0 回答
451 浏览

php - 从其他用户那里获取节奏盒信息

我的桌面上运行着 Rhythmbox,我希望能够通过 Web 界面远程控制它。但是,我在访问它时遇到问题,因为rhythmbox-client抱怨尝试访问它的用户(www-data)没有 a) X 会话正在运行,并且 b) 无权访问我的节奏盒 dbus信息。

(rhythmbox-client:13954): Rhythmbox-WARNING **: /bin/dbus-launch terminated abnormally with the following error: Autolaunch error: X11 initialization failed.

我在 ubuntu 10.04 上运行 apache、php。通过从不同用户的 php cli 调用 php 脚本也尝试了以下方法(与不同用户一起进入我自己的盒子)

我试过这些方法:

  • 使用“rhythmbox-client --print-playing --no-start --no-resent”从 php 脚本调用 system() 和 exec()
  • 直接在 php 中使用 DBus 以及 python 脚本(使用 system()/exec() 从 php 脚本调用它)
  • 在 C 程序中使用setuid(), setruid(),seteuid()并通过 php 调用它。

我现在很茫然。这甚至可能吗?

[编辑] 我使用了@IvanGoneKrazy 的建议,并从这个类似的问题中获取了环境代码。现在我有这个错误消息的代码:

错误信息:

0 投票
4 回答
2795 浏览

python - 如何使用 python 持续监控节奏盒的音轨变化

我想使用 python 来监控 Rhythmbox 中音轨的变化。我想不断检查轨道的变化并在轨道发生变化时执行一组函数。我编写了一段代码,它从 dbus 获取 Rhythmbox 接口并获取当前音轨详细信息。但是这个程序必须手动运行以检查是否有任何变化。

我是新手,我想知道我们如何创建一个持续运行和检查 Rhythmbox 的后台进程。

我不想制作一个 Rhythmbox 插件(这会让我的工作变得简单),因为我将扩展应用程序以收听多个音乐播放器。

请建议我要实现该功能究竟需要做什么。

0 投票
2 回答
238 浏览

linux - 如何在 linux libgpod 和节奏盒上强制链接

好的,我已经向 linux 库添加了一些功能。

然而,即使在“make install”之后,我试图确认功能的程序也链接到以前的版本。

所以'make install'把我的库放在这里:'/usr/local/lib'和'/usr/local/include'

我在配置时使用了以下内容: ./configure --enable-maintainer-mode --enable-uninstalled-build 'CFLAGS=-g -O0' 'CXXFLAGS=-g -O0' 'JFLAGS=-g -O0' 'FFLAGS =-g -O0' CPPFLAGS='-L /usr/local/lib/ -I /usr/local/include/gpod-1.0/'

但是当我尝试执行程序时,我得到“找不到符号”和“插件无法加载”

当我 ldd 生成的插件时: ~/Development/rhythmbox/plugins/ipod/.libs$ ldd libipod.so

linux-gate.so.1 => (0x00d97000)

librhythmbox-core.so.1 => /home/gary/Development/rhythmbox/shell/.libs/librhythmbox core.so.1 (0x009ad000)

libgpod.so.4 => /usr/lib/libgpod.so.4 (0x00509000)

强调重点是因为它显然链接到错误的库......当我查看 make 文件时,我看到以下内容:

IPOD_CFLAGS = -pthread -I/usr/local/include/gpod-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng12

IPOD_LIBS = -pthread -L/usr/local/lib -lgpod -lgdk_pixbuf-2.0 -lm -lgobject-2.0 -lgmodule-2.0 -lpng12 -lgthread-2.0 -lrt -lglib-2.0

所以 CPPFLAGS 被传递给插件,在 .deps 中我看到包含了正确的头文件...... IE:

~/Development/rhythmbox/plugins/ipod/.deps$ less rb-ipod-source.Po | grep gpod

/usr/local/include/gpod-1.0/gpod/itdb.h ../../lib/eel-gconf-extensions.h

/usr/local/include/gpod-1.0/gpod/itdb.h:

Ubuntu 10.10

有任何想法吗?

0 投票
1 回答
91 浏览

python - rb插件热键不起作用

我在节奏盒的插件中使用上面的代码,在这里我试图注册键 ctr+e 以便在按下组合键时调用 call_bk_fn ,但它不起作用为什么会这样?

0 投票
2 回答
1637 浏览

python - 检查 Rhythmbox 是否通过 Python 运行

我正在尝试通过 Rhythmbox 从 Rhythmbox 中提取信息dbus,但我只想在 Rhythmbox 正在运行时这样做。有没有办法检查 Rhythmbox 是否通过 Python 运行而不启动它,如果它没有运行?

每当我调用这样的dbus代码时:

并且 Rhythmbox 没有运行,然后启动它。

我可以通过检查dbusRhythmbox 是否正在运行而不实际启动它吗?或者除了解析当前正在运行的进程列表之外,还有其他方法吗?

0 投票
1 回答
938 浏览

python - 如何在节奏盒插件中列出所有艺术家

我正在尝试从节奏盒 python 插件中列出节奏盒数据库中的所有艺术家。我发现的唯一解决方案是让 UI 选择所有艺术家和所有歌曲,循环播放每首歌曲并将该歌曲的艺术家姓名添加到集合中。

这样做的问题是(除了它效率低下的事实之外)我不想仅仅因为我想要数据库中所有艺术家的列表而更改选定的艺术家。我之前尝试保存选定的艺术家,以便在完成后恢复它,但这会导致一些问题,因为 UI 需要一些时间来更新新信息和更多信息(即更多歌曲数据库),花费的时间越多。

代码可以通过 git clone git@github.com:sameltvom/dblister.git 获取

这是代码:

我想这样做的原因是因为我正在开发节奏盒的 telnet 接口,https://github.com/sameltvom/rhythmcurse

很高兴输入!

亲切的问候,塞缪尔