getmusicbee.com

General => MusicBee Wishlist => Topic started by: Steven on December 07, 2014, 10:09:19 PM

Title: Auto-Sync GUI improvements
Post by: Steven on December 07, 2014, 10:09:19 PM
http://musicbee.niblseed.com/V2_5/MusicBee_Exe_Patched.zip

There have been various requests for the auto-sync GUI to be improved so i have made a few changes:
- the device summary panel now allows for the synch list to be set in that panel
- the synch progress is also displayed in the summary panel and can be viewed after synchronisation has completed
- an new option to sych all playlists or all podcasts, as well as selecting individual ones
- the playlists and podcasts selection box is much bigger now
- i still plan to make a further few adjustments, moving the "on-the-fly" conversion settings to the Settings tab. I might add a preview button there so you can see which files would be converted but i would like to see some comments or +1's before i did that
Title: Re: Auto-Sync GUI improvements
Post by: psychoadept on December 07, 2014, 11:16:39 PM
Awesome!  That's a huge improvement already.

Possible tweaks:
* Sync specific library filters
* Put all Device Settings in the main Settings tab (not just conversion settings)
* New skin element for at least the top portion (and don't have the top color shown all the way down the side)
* Combine "Sync Music, Audiobooks, Video" into one Library tab, and give Playlists a separate tab instead (since they take up more space and can technically contain files from any of the library nodes).
* Provide a universal sync filter, sort of like the filter for auto-DJ, so that you could control certain criteria across all synced files.  (For instance, I would like to filter ALL tracks with the keyword "NSFW".  It would save me from duplicating a lot of playlists with "clean" and "explicit" versions.)
* Preview actual size of synced files when doing conversion.  If it's tough to get the actual file size, at least indicate somewhere that the file size shown at the top of the sync window will be reduced when files are converted.

Oh, and a small bug: the very first playlist folder is not shown as a combined playlist, the "Folder\" entry that all the other folders have.
Title: Re: Auto-Sync GUI improvements
Post by: redwing on December 08, 2014, 06:04:33 AM
Looks nice! Here are some suggestions.

- Audiobooks and Videos too support selecting individual items for syncing.
- Currently it shows the number of selected files, total duration and size. That's good but not enough. Display more detailed current summary sync settings so that users don't have to open every tab to confirm selected settings. It can show what (how many playlists / podcasts / audiobooks, etc)  will be synced to where (device path) and how (important device settings such as separate playlist folder and encoding/artwork handling).
- "Storage Settings" can be shown on the main panel too. BTW does Preferences really need devices tab when the settings vary for each device? Is it sort of a user-specific default device setting? If so, how about showing the settings all the time without having any devices connected?

Bug
- Under Music tab, tick "folders", click on ... button, then you get the following error message.

MusicBee v2.5.5454.39385 (Win6.1)

System.NullReferenceException: Object reference not set to an instance of an object.
   at #=q2JRov$mBoA0hbXkSHOZk0PZ8O97C$NfceUGiGKs4wJw=.#=qV2E$KGPVGpH4eMZMi6J4cw==(#=qMC08Dbn_3djoYggjEH2P2RkhF8yVWu0uq1E$dU_mfhAiK7S_wAMFWA$4eISqpntL #=q8Akb$YLqtqFD7$KLN5G9q16D96Fl5cubhSmgT1O2UT0=, #=qK2P5h7yPDpk0qLfymkP6TVljY0ymBwC9aXv2xd611OJpVKK$YbNEefcgkTl1EHBG #=qFPznlvL96$2cEuTt86jwZQ==, Boolean #=q2lf7rWxnXi125NdQpygn9RkSTtjKgU10rXNwhBRmbDI=, Boolean #=qFbPbk$ICfgUTsPS2Q6uYLg==)
   at #=q4pv2s52W_9B3306XxzB3PcyTPENQ4u5WOYiGKwT8NRg=.#=qiutPHyDVASTvCvVqad$SK9SYOX01NBkr1cX$4BuHT4w=(Object #=qXDn8DvarZ0z65k4$4CfvZA==, #=qTlnPIGRxIaw6LZE8LtQMNYpaGc4qxWdrbcFPT_kINYnIoflQNb3bmgMKyfgT3zye #=q1v2aX17r518y4WjTg_Bd8Q==)
   at #=qPgzGrOkr9AYfluoCyTKfV4Kq1pbA9mVAyoMgZknIMRo46W9azkwEKCMB$hzaZaQ_.OnClick(EventArgs #=qalDObHA$FwJwC6eJCMp4Fg==)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Title: Re: Auto-Sync GUI improvements
Post by: psychoadept on December 08, 2014, 06:12:18 AM
If so, how about showing the settings all the time without having any devices connected?

I know this has been requested before.  +1, sometimes I want to adjust or look at settings without plugging the device in.
Title: Re: Auto-Sync GUI improvements
Post by: phred on December 08, 2014, 01:22:24 PM
Quote
If so, how about showing the settings all the time without having any devices connected?
I've always hoped for a dropdown-style menu of the various devices (and their settings) that had previously been connected and sync'd.  Whether or not they are currently connected.  And the ability to delete a device when it's no longer in one's possession.

Quote
I know this has been requested before.  +1, sometimes I want to adjust or look at settings without plugging the device in.
Yes.  +1
Title: Re: Auto-Sync GUI improvements
Post by: Steven on December 08, 2014, 10:07:00 PM
i have made some further GUI rearrangements so the settings are all accessible from the summary panel and i have added the ability to edit settings for offline devices. However because a couple of values needed for editing offline devices are not currently saved, the initial list will only be the active devices. After that you will be able to edit the settings when the device is not plugged in.
I will make this available in the next v2.5 update
Title: Re: Auto-Sync GUI improvements
Post by: phred on December 08, 2014, 10:14:25 PM
i have made some further GUI rearrangements so the settings are all accessible from the summary panel and i have added the ability to edit settings for offline devices.
Great news!  I look forward to seeing it.  Thanks Steven.
Title: Re: Auto-Sync GUI improvements
Post by: Steven on December 08, 2014, 10:42:11 PM
i think there is a bug in yesterday's version where its not saving the selected podcasts when saving the synch settings  ie. it will only save as all podcasts (or no podcasts if "sync podcasts" is not ticked). I'm not ready to make the updated version available so keep that in mind
Title: Re: Auto-Sync GUI improvements
Post by: Steven on December 09, 2014, 08:59:29 PM
http://musicbee.niblseed.com/V2_5/MusicBee_Exe_Patched.zip

I have added a "Sync Preview" tab that shows the actions that will be done when synching and estimate of the space requirements/ free space on the device.
Also the ability to edit offline devices profiles as described in the previous posts
Title: Re: Auto-Sync GUI improvements
Post by: phred on December 09, 2014, 09:19:00 PM
Thanks Steven.
I know you said the other day that the initial list would only be the active device, but you know as well as I do that some users don't read the instructions.  When I launched this new patch version, with -no- device connected, and went to Edit > Preferences > Devices MB threw the error below.  I restarted with a device connected and of course all was well.  Connected another device and again it's fine.  Disconnect devices, shut down MB and restarted, and the devices appear in Preferences.  I can just see some users trying it without a device connected and issuing bug reports.

All that being said, it's a great implementation.  I especially like the status screen.  I would like to suggest that once a device is selected and the configure screen is visible, that the device name be present somewhere.  If I didn't have such drastically different configurations, I wouldn't have known which device I was working with.  

Thanks.
Code
MusicBee v2.5.5456.37633 (Win6.1), 9 Dec 2014 16:05:

System.ArgumentOutOfRangeException: InvalidArgument=Value of '0' is not valid for 'SelectedIndex'.
Parameter name: SelectedIndex
   at System.Windows.Forms.ListBox.set_SelectedIndex(Int32 value)
   at #=qAoEfhE0ScbEzbXAa4GH_Xjv8ozkmIUzxy07ni$sJsaae3WKt7D10ihyCclqNMJXD.#=qb2pPlXMoCmEQUJrxipf3M2MCl4PberT49LSLGI3jZUs=(Int32 #=qMcJBpz0vtlv4MhCfq7ZcFA==)
   at #=q97YlobYhUs2z3MGi6BF24gfLzdZV4u$DgyKfWKN0L7zL9VCDFp04kjpSEd6dKYqK.#=qk9WJPdWIUhHwVdRDfchuMHzqIiyiBJ8n7fT8amrVBrg=()
   at #=q97YlobYhUs2z3MGi6BF24gfLzdZV4u$DgyKfWKN0L7zL9VCDFp04kjpSEd6dKYqK.#=q2K51ZOcdrnEIuOnO5Sj6Gl88Eh7pkyGh7$RRNTIPzTE=()
   at #=q97YlobYhUs2z3MGi6BF24gfLzdZV4u$DgyKfWKN0L7zL9VCDFp04kjpSEd6dKYqK.#=qtu7neMcEIsLJeuSg4z0SNIlrYeQx1Ay30QhacD8ALmE=(Object #=qCls3hrJAyptd6CD_6hB$rA==, EventArgs #=qpAO23tPyVAy7kvXm5F0EEw==)
   at System.Windows.Forms.TabControl.OnSelectedIndexChanged(EventArgs e)
   at System.Windows.Forms.TabControl.WmSelChange()
   at System.Windows.Forms.TabControl.set_SelectedIndex(Int32 value)
   at #=q97YlobYhUs2z3MGi6BF24gfLzdZV4u$DgyKfWKN0L7zL9VCDFp04kjpSEd6dKYqK.#=qczzB1zMa8UenzxazYzM3L1htqECSzsEpwi2YUp$lMag8$Gmh_7UGuF6_wkkMD0b2(Object #=qnerImwDseIwLQey3AorNQA==, EventArgs #=qVSkDYUjPkYx59JTaN0J0eA==)
   at #=qAoEfhE0ScbEzbXAa4GH_Xjv8ozkmIUzxy07ni$sJsaae3WKt7D10ihyCclqNMJXD.#=q3Gl55Skhgs$8tmFSeGKUoBizJzz1HOZdGXz9aBi_HE0=(EventArgs #=qGX9amKJC_gJBn1TUvYN8og==)
   at #=qAoEfhE0ScbEzbXAa4GH_Xjv8ozkmIUzxy07ni$sJsaae3WKt7D10ihyCclqNMJXD.#=qi9LTzAkdvAfNDfOL8EbMdBuwuP6BDd_Sy16MlK1flOJnCOglhhVhewJqJPwe9xba(Object #=qrBLWg2LIBZXDTr0HS001_w==, EventArgs #=qpnwJmY5V__YkGzosd79VjQ==)
   at System.EventHandler.Invoke(Object sender, EventArgs e)
   at System.Windows.Forms.ListBox.OnSelectedIndexChanged(EventArgs e)
   at System.Windows.Forms.ListBox.WmReflectCommand(Message& m)
   at System.Windows.Forms.ListBox.WndProc(Message& m)
   at #=qAoEfhE0ScbEzbXAa4GH_Xjv8ozkmIUzxy07ni$sJsaae3WKt7D10ihyCclqNMJXD.#=qoVbMCg3LAudyvpq$HyO0ZoIQBvsXWg5M$gkfekSFxiE=.WndProc(Message& #=qTqddPaCm9cCezeryVqQEcA==)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Title: Re: Auto-Sync GUI improvements
Post by: Steven on December 09, 2014, 09:33:50 PM
http://musicbee.niblseed.com/V2_5/MusicBee_Exe_Patched.zip

to fix the bug reported by phred

I would like to suggest that once a device is selected and the configure screen is visible, that the device name be present somewhere.  If I didn't have such drastically different configurations, I wouldn't have known which device I was working with. 
are you refering to the edit configure dialog in the preferences/ devices window? The device name is in the dialog header bar
Title: Re: Auto-Sync GUI improvements
Post by: phred on December 09, 2014, 09:47:35 PM
http://musicbee.niblseed.com/V2_5/MusicBee_Exe_Patched.zip

to fix the bug reported by phred
Fast response.  Thanks.  But someone else will have to test this before connecting any devices.

Quote
are you refering to the edit configure dialog in the preferences/ devices window? The device name is in the dialog header bar
Yes.  Like I said, some people (apparently myself included) don't read -all- the words.  It's there.  I guess it just wasn't were I expected it.  IOW in the window itself rather than in the header.  

Nevertheless - well done, Sir.
Title: Re: Auto-Sync GUI improvements
Post by: Bee-liever on December 09, 2014, 11:31:29 PM
looks good  -  works well
no problem with latest patch re: phred's reported bug.

I think you tried in the past to fix the device icon issue, but please, please, please have another try at MB using the correct icon size.

(http://i.cubeupload.com/OCCrPR.jpg)
elsewhere in Windows

(http://i.cubeupload.com/BzJ9mb.jpg)
in MusicBee
Title: Re: Auto-Sync GUI improvements
Post by: klint on December 10, 2014, 03:12:29 PM
Thanks Steven that's a very very useful enhancement :)

I have 2 questions/issues:

- is there a way to rename the device over MTP (just to avoid the "Portable Device" generic name)? The option is greyed out in the contextual menu.

- also, since the last update, I have random issues with sync of playlists, like: suddenly, all tracks are being transferred again, although there are on the phone already and the previous sync 10 sec before did not have to sync anything... I also had to delete some play lists on the device to get them synced properly again... and also one file that needed to be deleted from the device couldn't at first (file not found) then could be deleted on the next attempt... But maybe it's my device that is unstable?

Thanks again
Title: Re: Auto-Sync GUI improvements
Post by: Steven on December 10, 2014, 04:49:49 PM
i havent changed anything about the synching itself, at least not intentionally. Does synching all the playlist tracks happen every time?
And what do you mean by "to get them synced properly again" for your playlists?
Title: Re: Auto-Sync GUI improvements
Post by: Steven on December 10, 2014, 09:01:29 PM
http://musicbee.niblseed.com/V2_5/MusicBee_Exe_Patched.zip

i have increased the icon size to 96px and should be sharp for all device types now. Also some minor tweaks to how the Sync Preview is invoked.
Title: Re: Auto-Sync GUI improvements
Post by: klint on December 10, 2014, 09:42:52 PM
i havent changed anything about the synching itself, at least not intentionally. Does synching all the playlist tracks happen every time?
No it doesn't, it is very random. And for instance, I just retried a sync without changing anything neither on the PC nor on the phone since last sync, and this time, just one track got copied (it shouldn't have because it was already there...). The next time, nothing was synced (which was expected).
But you are right, I think I met this behaviour in the past as well, every now and then, hardly though.

Quote
And what do you mean by "to get them synced properly again" for your playlists?
The playlists themselves (the one that are copied at the end of the process, not the songs) could not be copied. I had to remove the lists from the device first (there were already there from a previous sync), then it worked and they got synced properly. And it works since... This was the first time I met this issue.

Sorry for not being much specific in the description, that's all I could find.

And by the way, what about renaming the device connected over MTP? :)
Thanks

Cheers
Title: Re: Auto-Sync GUI improvements
Post by: Bee-liever on December 10, 2014, 10:01:00 PM
http://musicbee.niblseed.com/V2_5/MusicBee_Exe_Patched.zip
i have increased the icon size to 96px and should be sharp for all device types now. Also some minor tweaks to how the Sync Preview is invoked.

icon now nice and clear  -  thank you
'Preview' button in top pane looks much better

re-synced device from yesterday and only M3U playlists updated - assume that was due to other change in 'rescan of M3U' post

on-the-fly conversion only appears to be using 1 encoding thread, not the 3 I have set in Preferences> File Converters
Title: Re: Auto-Sync GUI improvements
Post by: Steven on December 10, 2014, 10:24:07 PM
on-the-fly conversion only appears to be using 1 encoding thread, not the 3 I have set in Preferences> File Converters
nothing has been touched with regards to the actual sync and its working fine for me with multiple encoding threads so i dont think i can help with this
Title: Re: Auto-Sync GUI improvements
Post by: Bee-liever on December 10, 2014, 10:31:42 PM
has the actual reporting of the sync now changed to be sequential where it was previously "as-it-happens" ?
Title: Re: Auto-Sync GUI improvements
Post by: Bee-liever on December 10, 2014, 11:21:23 PM
on-the-fly conversion only appears to be using 1 encoding thread, not the 3 I have set in Preferences> File Converters

has the actual reporting of the sync now changed to be sequential where it was previously "as-it-happens" ?

yes - dumb me  ::)
just disregard those
did system restart and all working properly
Title: Re: Auto-Sync GUI improvements
Post by: Steven on December 11, 2014, 09:03:36 AM
i havent looked at it for some time but i think there was scope for improving the parallelism in the sync processing so i will spend some time looking at that
Title: Re: Auto-Sync GUI improvements
Post by: klint on December 11, 2014, 06:00:10 PM
Hi
Could the free space figure/% in the sync panel header be updated at the end of a real sync? :)
Thanks
Title: Re: Auto-Sync GUI improvements
Post by: Steven on December 11, 2014, 06:23:49 PM
it already does. Its possible your device doesnt report back the free space in a timely manner via the MTP API calls used
Title: Re: Auto-Sync GUI improvements
Post by: Steven on December 11, 2014, 06:49:50 PM
actually i see what is happening is its not repainting the screen so i will fix that
Title: Re: Auto-Sync GUI improvements
Post by: Steven on December 11, 2014, 08:25:18 PM
http://musicbee.niblseed.com/V2_5/MusicBee_Exe_Patched.zip

- much faster bulk deleting of files for MTP devices
- overall synch speed should improve for all devices where file transcoding is required - MB should schedule the tasks so more can be done in parallel
- fixes a couple of GUI bugs
- also fixes a copy failure when read-only files need to be transcoded or have sound leveling applied
Title: Re: Auto-Sync GUI improvements
Post by: Bee-liever on December 11, 2014, 10:16:27 PM
I've noticed during a sync that all transcoded files get deleted and then re-converted and copied back to the device.
Would it be possible to add an option to not delete a file if the extension matches the one from the conversion settings?
Title: Re: Auto-Sync GUI improvements
Post by: Steven on December 11, 2014, 10:23:46 PM
deletion and file copy should be mutually exclusive in the MB synch logic so that shouldnt be happening for the same file in the same location.
I expect what is happening is you have changed one or more of the tags that affects the file's location, so its deleting the file from the old location.
As a test you could edit one file without changing a naming tag in that file. If you do a preview or a synch, you should see it encodes/updates only.
And if you do the same again, but change a naming tag you should also see a delete action
Title: Re: Auto-Sync GUI improvements
Post by: Bee-liever on December 12, 2014, 04:39:29 AM
I've noticed during a sync that all transcoded files get deleted and then re-converted and copied back to the device.
Would it be possible to add an option to not delete a file if the extension matches the one from the conversion settings?

deletion and file copy should be mutually exclusive in the MB synch logic so that shouldnt be happening for the same file in the same location.
I expect what is happening is you have changed one or more of the tags that affects the file's location, so its deleting the file from the old location.
As a test you could edit one file without changing a naming tag in that file. If you do a preview or a synch, you should see it encodes/updates only.
And if you do the same again, but change a naming tag you should also see a delete action

Well..  I'm certainly making some dumb mistakes on this thread  :-[

The reason it was happening is because I'd forgotten I have that playlist set up like so:
(http://i.cubeupload.com/QlhxBN.jpg)

So of course MB is going to delete them, as that list gets rebuilt anew every time  ::)
Title: Re: Auto-Sync GUI improvements
Post by: LunaTech on December 12, 2014, 06:47:27 PM
Started using mb at the perfect time! Absolutely lovely update. The only thing that bothers me is knowing wither the box I ticked saved or not. I find myself switching tabs / closing mb and opening it again to make sure it stayed.

Probably a personal issue I just need to get over.


Also, there was a bug I found. When scrolling up in down in the settings with the mouse wheel the scroll bar on the right doesn't update.
Title: Re: Auto-Sync GUI improvements
Post by: Steven on December 13, 2014, 11:24:16 AM
Also, there was a bug I found. When scrolling up in down in the settings with the mouse wheel the scroll bar on the right doesn't update.
thats fixed for the next v2.5 update
Title: Re: Auto-Sync GUI improvements
Post by: Steven on December 13, 2014, 04:12:40 PM
unzip and replace the existing files
http://musicbee.niblseed.com/V2_5/MusicBee_Exe_Patched.zip

- rename actions now removes the remaining folder if empty
- MTP device synching now uses a faster API to move files within the device if the device supports that API action. Otherwise MB does the copy/ delete action as now, except the delete action will be much faster
- if you start getting a lot of errors on file naming actions please let me know as it may be the new move API is not working properly
- preview now shows 2 folder levels and the filename (was 1 folder level and filename)
- fixed a few bugs with the GUI
Title: Re: Auto-Sync GUI improvements
Post by: Steven on December 14, 2014, 07:41:59 PM
unzip and replace the existing files:
http://musicbee.niblseed.com/V2_5/MusicBee_Exe_Patched.zip

- the update/ rename synch use-case should synch faster for MTP and USB devices
- rename file only should synch much faster
- fixes a couple of bugs in yesterday's version
Title: Re: Auto-Sync GUI improvements
Post by: Steven on December 16, 2014, 07:20:52 PM
http://musicbee.niblseed.com/V2_5/MusicBee_Exe_Patched.zip

- i have added an explicit option to preserve the folder structure of the source files when copying to the device (as opposed to mapping the files to a naming template). It should work better and be more clearer than the current approach of using a hacked naming template
- i dont plan to make any more changes for now. I know there have been a few requests on this topic but i would like to see some +1's before i was to consider doing them
Title: Re: Auto-Sync GUI improvements
Post by: Steven on December 17, 2014, 10:21:26 PM
http://musicbee.niblseed.com/V2_5/MusicBee_Exe_Patched.zip

one thing i forgot to do was to add a library filter as the music source.
This version also fixes a space calculation bug with virtual cuesheet files
Title: Re: Auto-Sync GUI improvements
Post by: psychoadept on December 18, 2014, 03:29:55 AM
*thumbs up*  Better and better!  Thanks, Steven.
Title: Re: Auto-Sync GUI improvements
Post by: Diederik on December 19, 2014, 08:25:02 PM
Thanks for these improvements, they make file syncing much easier and more intuitive.
Title: Re: Auto-Sync GUI improvements
Post by: Steven on January 04, 2015, 02:26:00 PM
you can now send specific playlists to a device using right click on the playlist in the left navigator node/ Send To/ Device...
It also integrates with the new device synch GUI so you can see the synch status when synching a playlist this way (or drag/ dropping a single playlist to a device)
Title: Re: Auto-Sync GUI improvements
Post by: redwing on January 26, 2015, 12:31:51 PM
In Sync Preview panel, size column is sorted as string, instead of as number.
Title: Re: Auto-Sync GUI improvements
Post by: Steven on January 26, 2015, 10:14:42 PM
http://musicbee.niblseed.com/V2_5/MusicBee_Exe_Patched.zip
Title: Re: Auto-Sync GUI improvements
Post by: redwing on January 27, 2015, 06:20:46 AM
It's fixed. Thanks!