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)