vgmrips / vgmplay-legacy

VGM file command-line player and Winamp plugin.
http://vgmrips.net
221 stars 52 forks source link

Cache dbus file access and fix xesam:url #66

Closed tatokis closed 4 years ago

tatokis commented 4 years ago

The path to the file being played was being incorrectly returned in the xesam:url field. This PR fixes this.

Additionally, metadata album art results now get stored in memory after the first request. In systems with slow disk IO (for example playing a vgm over sshfs), the player would pause for a short period every time an application would request metadata over DBus.

This happened because the access and glob functions would take a while to return, thus blocking the main loop as it all runs in the same thread.

Since it's possible to make a playlist with tracks from different games, the "cache" gets invalidated on track change, and updated accordingly.