PDA

View Full Version : Android App Developers - Your mission if you chose to accept it



lrossouw
2013-02-13, 01:51
Hi guys

Thanks for all the brilliant work.

I do have an idea for a feature that I miss on your apps. I'd buy the Android app that does the following: (unless I've already bought it)

I want to be able to sync a subset of my library to my android device.

Sub-set could be:
- artists
- albums
- playlists
- dynamic playlists (i see this as a way to randomize what's on my device, perhaps based on a not recently played field etc.).

The app should
- talk to the LMS server
- have an option to limit syncing to when connected via wifi and/or charging only.
- have a leave this much freespace on my phone option
- handle disconnects from server etc gracefully and just continue syncing when next possible.
- not be annoying with lots of pop-ups etc. I.e. background based and only appear when it is summoned :)
- optionally do transcoding from flac to mp3.

I currently achieve this with a app that syncs smb fodlers. I set up a virtual folder with symplinks to the files I want to sync to my device. This is cumbersome. We should be able to integrate directly with LMS.

This message will self destruct in 5 seconds...

Cheers
Louis

simbo
2013-02-13, 02:11
I know it's not very Squeezeboxy (nor does it integrate with LMS) but wouldn't Google Music cover a lot of these bases? It's far from perfect (it won't let me decide where to place the files on my phone, and it seems to ignore replay gain settings) but I do like the fact I can build up a playlist via a PC browser and it'll automatically keep it in sync on the phone.

lrossouw
2013-02-13, 02:23
I know it's not very Squeezeboxy (nor does it integrate with LMS) but wouldn't Google Music cover a lot of these bases? It's far from perfect (it won't let me decide where to place the files on my phone, and it seems to ignore replay gain settings) but I do like the fact I can build up a playlist via a PC browser and it'll automatically keep it in sync on the phone.

It's not great for me.
- It's techinically not available in South Africa. Though I've worked arround that.
- You have to play music through that app. Can't use other apps. I like PowerAmp.
- Your music goes: PC -> Online -> Phone. Slow and longwinded. PC -> Phone is quicker.
- The song collection is limited, so again you have to setup a subset of your library. Difficult if you want to change.
- Things like replaygain get lost.

pippin
2013-02-13, 07:00
Ah. Finally somebody asking for that feature I proposed to Logitech as a use case for the server, when? 3 years ago? Looks like still nothing has changed on the Android syncing side since then, there simply is no good Android sync software.

I believe you should have support on the server side for the sync process, too (keeping track of the state) but it might not be needed.

lrossouw
2013-02-13, 08:05
Ah. Finally somebody asking for that feature I proposed to Logitech as a use case for the server, when? 3 years ago? Looks like still nothing has changed on the Android syncing side since then, there simply is no good Android sync software.

I believe you should have support on the server side for the sync process, too (keeping track of the state) but it might not be needed.

I think there are syncing solutions but nothing that integrates with LMS, trackstat etc.

I was thinkin along these lines:
The app just needs an ordered (by priority) list of artists, playlists, albums, dynamic playlists you want to sync.
Higher priority stuff gets added until the space is filled.
Albums/Songs in each item can be prioritised by frequency played, recentcy etc.

For each of these items in the list: T
1. Thee app then needs to ask the server for the relevant songs.
2. It needs to remove songs that no longer appear there.
3. Add songs on the server that it doesn't have .

If the app can run queries against the LMS db I don't see that it really requires much server side code. It would be better because then different devices can have diferent sync profiles.

Example:
1) Artist: Coldplay
2) Artist: U2
3) Album: OK Computer
4) Playlist: My Best Square Dancing songs
5) Dynamic: 100 most played songs order by descending playcount
6) Dynamic: Unlimted songs not recently played order by last played

This will add songs going down the list to the device. Once the device free space becomes limited it stops.
If it's not full by 5 it will add the most played songs limiting to a 100.
For 6 it will continue adding till free space is limited.

erland
2013-02-13, 10:39
I started to do something like this on the server side for iPod's before Apple decided to launch iPod Touch and remove the direct disc access.

Source code is still available but it's half finished:
http://erlandplugins.googlecode.com/svn/PortableSync/trunk/

It was based on similar principles as the Multi Library plugin to define what to sync and you could put a limit of number of tracks or number of GB to sync. The sync was done towards a mounted directory on the computer. I was also about to implement some automatic runtime transcoding from FLAC to MP3 during the synchronization but I think I stopped working on it before I started to implement it.

Anyway, just wanted to mention it in case someone would like to finish the stuff I started to work on or just steal some code from it. I'm not sure the plugin is working towards latest LMS version and if someone tries it please do it in a test setup where it doesn't matter if it deletes your music files because it's not tested much so there could be serious bugs in it.
At the moment I don't have the spare time to finish it myself due to another project I'm involved in.