Jump to content

NAS Support


Recommended Posts

Problem with this of course is Poweramp's current library-based song list model. Access to the NAS's file system would not always be available depending on network setup, location, etc. So songs would constantly be getting unloaded from the database and rescanned when back in range (and that could take a loooooong time with a decent sized NAS library!).

If you really want to do this though, get an app that can map your NAS directories to a virtual folder (symbolic link) in your device's file system, and allow PA to scan that folder. Then wait quite a while for the PA database to update. 

Andre

Link to comment
Share on other sites

You are correct if you would want to see the tracks in Poweramp but not if you could create a playlist with references to the nas locations. This is exactly what my app can do. Browse your nas, select tracks, folders etc and create a smb playlist. The url's will have the smb:// protocol prefix. There are a few apps that are able to play these playlists. Would be nice if Poweramp could too. You can experiment using my free version.

Link to comment
Share on other sites

23 minutes ago, flyingdutchman said:

You are correct if you would want to see the tracks in Poweramp but not if you could create a playlist with references to the nas locations. This is exactly what my app can do. 

Yes, that would work perfectly if an app supported it (no reason why not).

However as I said, PA's current database-dependent library model wouldn't allow that to work, as for any track to display in a Playlist it is first necessary for the song to be present in the master library database.

Andre

Link to comment
Share on other sites

  • 10 months later...

A simple change would let this work. Have the ability to mark sources as network sources so the tracks aren't removed immediately from the DB as soon as they disappear. 

 

I have it working with a samba share mounted to a folder on the local fs. But the library scanning itself on network changes is getting very frustrating. 

The DB should be able to remember everything for when the share comes back.

Link to comment
Share on other sites

I don't know if the change would be easy but I think this is a feature I would love to have.

I don't trust that it would work, though. PA's scanner is too inefficient to go through a samba library. And you need to rescan to remove tracks, that takes time.

I would love it if the scanner could handle it though. Maybe it should leave the library database in the samba server, and serve what is present? Two libraries at the same time, presented as one?

Then again, maybe it's too much work for Max. It would take too much time.

Link to comment
Share on other sites

Ah yes. I tried it last night, Poweramp couldn't successfully scan through it at all. 

And couple other cloud providers caused files to be synced locally defeating the purpose. Back to using EDS to mount the samba share locally.

Link to comment
Share on other sites

The link that Max provided is just another way to mount a Samba shared device into the a local Android file system, it's not solely meant as a PA addon.

I guess the main problem is that PA expects to have immediate, complete and fast access to any files that it finds when the scanner crawls directories, and that can become a problem where there's so much variable/unknown technology between point A and point B. Also scanning a whole NAS directory structure (which may or may not be available the next time you start PA) causes issues with the always-available Library concept that PA is based on. There are some options in Settings > Library > Scanner which can help though.  

Andre

Link to comment
Share on other sites

Yeah I disabled the auto scanner which has helped. Now if there is a network change I just have to make sure the mount is back online and then Poweramp continues to work. And as long as I make sure the mount is online before doing update scans, nothing gets deleted.

I get that the original intent was to focus audio playback of local files only, but phone storage is tiny and slow. I have all my mass storage in one place at home and it works for everything except music because the only player on android that supports disabling pause/stop on audio focus change is Poweramp, but it also can't connect easily to my storage at home.

I use this same methods for playing music on PC. Map a samba share and have winamp access my music folder over the network. PCs outside of my network I use VPN to bridge the connection. Works great. Winamp doesn't cack it's library DB though when music disappears. It just throws an error.

Link to comment
Share on other sites

  • 2 weeks later...
On 5/5/2020 at 5:21 PM, andrewilley said:

 causes issues with the always-available Library concept that PA is based on

 

On 5/5/2020 at 5:21 PM, andrewilley said:

and that can become a problem where there's so much variable/unknown technology between point A and point B.

 

I disagree about value of PA concept in this problem. If I removed 64 GB SD card from my device (probably while PA used it) and

a) changed partially or completely contents of Music folder

b) copied entire contents to another 128 Gb size SD card and added some  content to Music folder

c) did nothing

Than I put old sd card back to device in case a and c or put in new sd card in case b. Poweramp is not able detect what been done. But nothing terrible will happen in cases a, b, c at all. User decided to rescan SD source or not. That's all. Nothing to treat as problem.

Scenario described above we are able to apply to smb shares (really to DLNA music sources too. DLNA source uses less resources). If Library entries would be tagged by 'source XXX' mark it will be possible to filter off and on these entries without rebuilding entire Library depending of current accessibility of source XXX. If ever I need to rescan network source than I agree to wait 10 minutes while 250 GB (30000 songs if anyone have so much) will be scanned. Why I'm so optimistic? Regular SD card read speed 20 - 40 MB/s. 64 GB SD card scan in my phone PA finishes in 30 seconds and 3700 songs found. Regular 802.11n access to smb share 8-9 MB/s. So 10 minutes is much more than enough.

We can afraid of bad throughput and stability of network connection while PA playing music from shares. But it is not problem too. Nowadays we play Full HD video  from point A  - NAS/DLNA to point B - TV, tablet or phone using 802.1n WiFi channel without any glitch. If it is not stable and fail safe connection?

Link to comment
Share on other sites

Currently, PA expects the music files that it has scanned into its library to be always available. Any files that cannot be read will generate a playback error, and if enough of those occur PA will stop playback attempts completely,  assuming there is a fault with the storage. This can happen in cases (a) and (b) that you mention above too, especially as Android has a habit of renaming the external SD Card in such cases which would require a completely new scan.

I agree that on your local LAN this is much less of an issue (apart from scanning/crawling times) but when your phone is out of range, PA would think the whole library has been deleted. I know Max is working on ways around this, and there are some Settings in Library > Scanner that help too.  

Andre

Link to comment
Share on other sites

One way of handling this could be to have a static library for local content (files in device storeage or SDcard) which should always be available and then a more volatile library for NAS/Cloud/DLNA or  whatever would be supported.

Link to comment
Share on other sites

On 5/14/2020 at 8:26 PM, andrewilley said:

Currently, PA expects

All of these stuff I know since I use PA for years everyday.This is feature request branch. Right? Here we requesting what to be changed and than we discuss how to implement this idea. We hope developers reading this branch will get small spark in the far corner of brain and this spark will cause better PA code lines some day.

So we went from NAS music sources idea to multiLibrary idea. Every of SMB share/CIFS share(do not forget it)/DLNA/SD Card are particular Library. PA holds data about every particular Library in its multiLibrary for instant access.  Current problem is PA must know what of the all known Libraries are accessible in current context to filter off irrelevant data from its multiLibrary to replay files. PA must not delete data of sources inaccessible right now while rescanning  accessible sources. I see a lot of ways to check if particular Library is accessible

IP address of library  accesible

Library folder accesible

Library folders set accessible and match to stored

 

Well and you?

 

 

Link to comment
Share on other sites

@andrewilley with the “Track Provider API” Poweramp doesn’t expect anything from local or remote storages, but it still needs folder/track hierarchy and metadata. There are plugins in the development which provide this info for services like Deezer, Soundcloud, Yandex.music, etc., but that requires some extra effort from the plugin author to add some functionality to the so-called Android Storage Access Framework API to provide either a metadata or specific fast seekable file descriptors, avoiding complete files downloading to the device.

Link to comment
Share on other sites

@maxmp No. Not only NAS. Above you advertised “Track Provider API”  and plugin which will be able to handle public music providers like Deezer, Soundcloud, Yandex.music, etc. i.e. highly volatile sources that can not be "mounted" at all.  Just like home DLNA server.  Is there chance this plugin will handle not only commercial services (all of the noted above music providers are commercial), but NAS/DLNA/additional_SD_card_in_otg_reader too?

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...