![]() But probably backward compatibility is not an issue as both ends of the remote call runs the same version of QL. ![]() The PR #4166 shows how the "json encoded text" approach can be backward compatible. Currently, there is only one proposed command (#4166) that has more than one argument. This would open up possibilities to extend the command line interface. Wouldn't it make sense to replace this with a more capable 3rd party library? A restful api, or jsonrpc? Benefits of this change I'm not familiar with the internals of quodlibet, but it seems remote.py implements a "remote procedure call"-like functionality. This would allow us to continue to use the existing text-based, line-oriented remote.py. See this suggested to serialize the command name and its arguments into a json string. However, the remote command machinery assumes one command can have at most one argument. PR #4166 tries to extend the print-query command to accept a second argument. and we could name it "extended seekbar" and make the waveform part optional so these guys are happy: enhancement I already developed such a plugin, but I'm not familiar with gstreamer so what we need is when a song starts, decode in the background, record the levels, then inject a widget which draws it using cairo ok, then I'll do some experimenting with that it can just be a one time hack to inject a widget somewhere the main issue I saw was that there's currently no way to extend the user interface of quodlibet with such a plugin that's basically a waveform with additional color highlighting I think clementine is gstreamer based and has something they call moodbar wander, do you know of any gstreamer based player providing this? yeah, having this right in the player would really be nice and would make seeking much more efficient well, I care mostly about the waveform plugin, since I consider this to be a major usability improvement so I'm wondering if it isn't better to use an external app for that since there is buffering going on between the pipeline and the soundcard wander, played around a bit some years ago: (or is this possible already and I missed something?) a waveform I already did some of those plugins for a different player and would really like to have them on quodlibet too hi, are there plans to allow visualization plugins - e.g. Original issue 1530 created by reiter.christoph on T17:28:58.000Z: If that's not feasible, then it should save its state before running any such X-accessing commands. ![]() So, somehow once QL starts to shutdown, it should catch errors when calling any GTK functions (or any other functions that access the X server). When QL receives SIGHUP, I get the impression that it attempts some operation that access the X server, most likely calling some GTK function, but without catching errors, so it simply aborts, not saving its state. Shutdown ( full log) Gdk-Message: 13:38:22.261: quodlibet: Fatal IO error 11 (Resource temporarily unavailable) on X server :0.0.Īll processes receive SIGHUP on logout (and shutdown), so the X server also shuts down on logout (and shutdown, obviously). Logout ( full log) Gdk-Message: 13:37:09.077: quodlibet: Fatal IO error 11 (Resource temporarily unavailable) on X server :0.0. ![]() Quit QL ( full log) D: 24.437: qltk.window._restore_state: Restore stateĭ: 24.438: qltk.window._restore_position: Restore positionĭ: 24.438: qltk.window._restore_size: Restore sizeĭ: 24.440: main.before_quit: Saving active browser stateĭ: 24.441: main.before_quit: Shutting down player device 'GStreamer: 1.14.1.0'.ĭ: 24.452: PluginManager.save: Saving plugins: 8 activeĭ: 24.452: PluginManager.enable: Disable 'Theme Switcher'ĭ: 24.510: PluginManager.enable: Disable 'ToggleMenuBar'ĭ: 24.511: PluginManager.enable: Disable 'mpris'ĭ: 24.654: PluginManager.enable: Disable 'queue'ĭ: 24.655: PluginManager.enable: Disable 'Website Search'ĭ: 24.655: PluginManager.enable: Disable 'editplaycount'ĭ: 24.655: PluginManager.enable: Disable 'CustomCommands'ĭ: 24.655: PluginManager.enable: Disable 'include_saved'ĭ: 24.656: _main.quit_gtk: Quit GTK: done.ĭ: 25.340: library.save: Saving all libraries.ĭ: 25.341: SongFileLibrary.save(): Saving contents to '/home/paulo/.config/quodlibet/songs'.ĭ: 34.721: config.save: Writing config. I ran quodlibet -debug capturing the output in 3 situations, and here are the shutdown messages: Investigating issue #1562, I discovered that QL abruptly aborts without saving its state on session logout (and shutdown). I run QL master ( 56b68e50c) on Xubuntu 18.04 and it has been nagging me for a very long time that when I logout from my current session or shutdown, QL doesn't retain its current state (currently playing song, filter string. ![]()
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |