PipePipe icon indicating copy to clipboard operation
PipePipe copied to clipboard

Feature Request: Caching Songs for Offline Playback

Open 437600088 opened this issue 1 year ago • 1 comments

Dear Development Team,

Thank you for creating such an excellent music player! I have a suggestion that could enhance the app's usability and provide a better experience for users.

I would love to see a feature where songs are automatically cached after being played once, making them available for offline playback. This would be particularly useful for users who have intermittent internet access or wish to conserve data usage.

Here’s how the feature could work:

  1. Songs played through the app would be saved in a cache directory.

  2. The app could first check the cache for a song before streaming it, ensuring seamless playback when offline.

  3. The cache size could be adjustable, with automatic deletion of the least recently used files when space is needed.

This feature is implemented in apps like Via Music, and it significantly improves the user experience by combining streaming convenience with offline flexibility.

I believe adding this feature would make the app even more versatile and appealing to a broader audience.

Thank you for considering this feedback! Looking forward to seeing how Pipepipe evolves.

Best regards, [Osman]

437600088 avatar Nov 19 '24 15:11 437600088

Hi,

Thanks for your suggestion. In theory, caching is possible, but there are many practical issues:

  • Offline playback does not conform to the existing framework, which is designed for online streaming. For example, the inability to retrieve video information makes the old UI unsuitable.
  • It is difficult to define the reasonableness of caching. There are issues such as source switching and time-limited sources, which may result in cached sources differing from what should be present. More importantly, the current architecture uses many complex tricks, making it inherently difficult to define the concept of complete caching.

At this stage, I think it's unlikely that this feature can be implemented. However, I will consider whether to make some modifications in the future to achieve it.

Regards.

InfinityLoop1308 avatar Nov 19 '24 22:11 InfinityLoop1308