MusicBee Subsonic plugin
MusicBee is one of my favorite music managers/players on Windows, now that Winamp is dead. Since I also use Subsonic to host and stream my media collection from home, having a way to make both work together was an obvious target.
Subsonic is a server application that allows you to access your media files from any location with Internet access. You host your own files on your own hardware, having complete control over the service. No third-party accounts, no cloud services required. Also, it’s open source and free.
This plugin enables MusicBee to access your Subsonic installation and play back your music.
v3.1
Full Changelog: https://github.com/BlitterStudio/MB_SubSonic/compare/v3.0...v3.1
MB_SubSonic v3.0
This release brings support for multiple server profiles and includes some breaking changes:
- The settings file format has changed, as we have to support multiple servers now. Your previous config will be migrated on startup (if you agree to the related prompt), and then deleted. You may want to keep a backup of it first, just in case you want to roll back.
- The current profile can be changed/selected by going in the Plugin settings window.
- There is a "Default" profile that's always there, cannot be deleted or renamed. That's on purpose for now.
- You can create new profiles, rename or delete them as you wish beyond that
Full Changelog: https://github.com/BlitterStudio/MB_SubSonic/compare/v2.41...v3.0
MB_SubSonic v2.41
Full Changelog: https://github.com/midwan/MB_SubSonic/compare/v2.40...v2.41
MB_SubSonic v2.40
What's Changed
- Support for ownCloud Music by @rstefko in https://github.com/midwan/MB_SubSonic/pull/66
New Contributors
- @rstefko made their first contribution in https://github.com/midwan/MB_SubSonic/pull/66
Full Changelog: https://github.com/midwan/MB_SubSonic/compare/v2.33...v2.40
MB_SubSonic v2.33
This release fixes a bug introduced after v2.28:
- Subsonic playlists no longer worked as expected
Note: there is a known bug in the current MusicBee 3.4 version (3.4.7805 P) that still causes problems in Subsonic playlists. Once that is updated to a fixed version (3.4.7913 P or later), things should work as expected.
MB_SubSonic v2.32
This release includes a high risk security update for one of the components used by the plugin.
MB_SubSonic v2.31
This release fixes a bug which caused some Subsonic-compatible server implementations (e.g. Ampache) to fail to connect after the previous updates.
MB_SubSonic v2.30
This release includes several bugfixes and improvements over the previous versions:
- Removed pre-caching function. Instead, only load folders on-demand and let MusicBee do any local library caching itself.
- Lots of code cleanup and removal of unused functions.
- Fixed bug where selecting a folder on the left pane, would show the files but also folders in the list (which MB would treat as files, and would fail to open on a double-click attempt)
- Workarounds for various MusicBee problematic situations, such as trying to open the root folder as a File (which would throw an error)
- Updated nuget packages of dependencies
v2.28
Changes since last version:
- Added default setting for Pre-caching
- Updated to .NET Framework 4.6.1
- Minor Code cleanup
- Fixed bug which caused refreshing a folder to not update the files contained in it. This caused changes in metadata not to be picked up until MusicBee was restarted.
v2.27
Changes since v2.26:
- Changed the default behavior of Pre-Caching all directories recursively, to optional. This is now controlled by a checkbox in the Settings window (OFF by default). This change enhances the experience a lot, since the server is now available for browsing/playing immediately, and will only load/cache what is browsed on-demand.
v2.26
Changes since v2.25:
- Implemented support for Creating and Deleting Playlists between MusicBee and Subsonic compatible servers.
This feature requires MusicBee v3.3 or greater!
v2.25
Changes since v2.20:
- Internal code cleanup
- Implemented Disc number Tag mapping
- Implemented support for Star/Love Tag
- Implemented support for tracks Rating
v2.20
Changes since v2.15:
- Lots of internal refactoring for simplifying and improving code
- You are now able to control the generation of the local Cache file (or delete it if you want)
- Only save settings if they were actually changed
- Added new Settings window, to easier handle the various options available. Click on "Configure" from MusicBee's interface to open it
v2.15
- Fixed a Null Reference exception when the Bitrate was not set/selected in the preferences
- Set a default when nothing was set/selected
v2.14
This version adds a new feature:
- You can now select the maximum bitrate when enabling Transcoding
v2.13
This version fixes a few bugs:
- Fixed #32 : The Transcode option would not get saved in some scenarios
- Fixed a potential Null Reference exception, if the server responded with an error when we requested the Root Folders (e.g. MadSonic server which had the license expire)
v2.12
Changes from v2.11:
- Fixed bug where tracks would be incorrectly shown as Directories in some configurations
- Weaved assemblies into one file for ease of installation (now everything regarding this plugin is included in mb_Subsonic.dll)
v2.11
Changes from v2.10:
- Added status bar messages, while scanning folders from the remote server.
v2.10
- Added support for LibreSonic REST API responses (uses a different Namespace in the response content)
v2.9
- Minor change to lower the API requirement for Ampache installations.
- The minimum Subsonic API is now 1.11.
v2.8 beta
- Added support for alternative authentication method (Hex encoded password). This should allow LDAP authentication with LibreSonic servers.
- Internal optimizations for better handling of user settings.
v2.2
Improvements and bugfixes in this release:
- Will now notify the user if a "ping" response from the Subsonic server is not successful, and allow the option to save the settings anyway, instead of silently reverting to the last saved ones. Fixes Issue #7
Full Changelog: https://github.com/BlitterStudio/MB_SubSonic/compare/v3.0...v3.1
This release brings support for multiple server profiles and includes some breaking changes:
- The settings file format has changed, as we have to support multiple servers now. Your previous config will be migrated on startup (if you agree to the related prompt), and then deleted. You may want to keep a backup of it first, just in case you want to roll back.
- The current profile can be changed/selected by going in the Plugin settings window.
- There is a "Default" profile that's always there, cannot be deleted or renamed. That's on purpose for now.
- You can create new profiles, rename or delete them as you wish beyond that
Full Changelog: https://github.com/BlitterStudio/MB_SubSonic/compare/v2.41...v3.0
Full Changelog: https://github.com/midwan/MB_SubSonic/compare/v2.40...v2.41
What's Changed
- Support for ownCloud Music by @rstefko in https://github.com/midwan/MB_SubSonic/pull/66
New Contributors
- @rstefko made their first contribution in https://github.com/midwan/MB_SubSonic/pull/66
Full Changelog: https://github.com/midwan/MB_SubSonic/compare/v2.33...v2.40
This release fixes a bug introduced after v2.28:
- Subsonic playlists no longer worked as expected
Note: there is a known bug in the current MusicBee 3.4 version (3.4.7805 P) that still causes problems in Subsonic playlists. Once that is updated to a fixed version (3.4.7913 P or later), things should work as expected.
This release includes a high risk security update for one of the components used by the plugin.
This release fixes a bug which caused some Subsonic-compatible server implementations (e.g. Ampache) to fail to connect after the previous updates.
This release includes several bugfixes and improvements over the previous versions:
- Removed pre-caching function. Instead, only load folders on-demand and let MusicBee do any local library caching itself.
- Lots of code cleanup and removal of unused functions.
- Fixed bug where selecting a folder on the left pane, would show the files but also folders in the list (which MB would treat as files, and would fail to open on a double-click attempt)
- Workarounds for various MusicBee problematic situations, such as trying to open the root folder as a File (which would throw an error)
- Updated nuget packages of dependencies
Changes since last version:
- Added default setting for Pre-caching
- Updated to .NET Framework 4.6.1
- Minor Code cleanup
- Fixed bug which caused refreshing a folder to not update the files contained in it. This caused changes in metadata not to be picked up until MusicBee was restarted.
Changes since v2.26:
- Changed the default behavior of Pre-Caching all directories recursively, to optional. This is now controlled by a checkbox in the Settings window (OFF by default). This change enhances the experience a lot, since the server is now available for browsing/playing immediately, and will only load/cache what is browsed on-demand.
Changes since v2.25:
- Implemented support for Creating and Deleting Playlists between MusicBee and Subsonic compatible servers. This feature requires MusicBee v3.3 or greater!
Changes since v2.20:
- Internal code cleanup
- Implemented Disc number Tag mapping
- Implemented support for Star/Love Tag
- Implemented support for tracks Rating
Changes since v2.15:
- Lots of internal refactoring for simplifying and improving code
- You are now able to control the generation of the local Cache file (or delete it if you want)
- Only save settings if they were actually changed
- Added new Settings window, to easier handle the various options available. Click on "Configure" from MusicBee's interface to open it
- Fixed a Null Reference exception when the Bitrate was not set/selected in the preferences
- Set a default when nothing was set/selected
This version adds a new feature:
- You can now select the maximum bitrate when enabling Transcoding
This version fixes a few bugs:
- Fixed #32 : The Transcode option would not get saved in some scenarios
- Fixed a potential Null Reference exception, if the server responded with an error when we requested the Root Folders (e.g. MadSonic server which had the license expire)
Changes from v2.11:
- Fixed bug where tracks would be incorrectly shown as Directories in some configurations
- Weaved assemblies into one file for ease of installation (now everything regarding this plugin is included in mb_Subsonic.dll)
Changes from v2.10:
- Added status bar messages, while scanning folders from the remote server.
- Added support for LibreSonic REST API responses (uses a different Namespace in the response content)
- Minor change to lower the API requirement for Ampache installations.
- The minimum Subsonic API is now 1.11.
- Added support for alternative authentication method (Hex encoded password). This should allow LDAP authentication with LibreSonic servers.
- Internal optimizations for better handling of user settings.
Improvements and bugfixes in this release:
- Will now notify the user if a "ping" response from the Subsonic server is not successful, and allow the option to save the settings anyway, instead of silently reverting to the last saved ones. Fixes Issue #7
Requirements
- MusicBee (tested with v2.5 and 3.0) – get it from http://getmusicbee.com
- .NET Framework 4.5.2 – delivered through Windows Update automatically
- A Subsonic server (tested with v5.x and 6.x) – more information at http://www.subsonic.org
Installation
- Download the latest Release.
- Extract the archive and copy the DLL file contained there in your MusicBee “plugins” folder (the default is “C:\Program Files (x86)\MusicBee\Plugins\”).
- (Re)start MusicBee.
- Go to MusicBee -> Edit -> Preferences -> Plugins to configure it to connect to your Subsonic server. You will need to provide a connection method (HTTP/HTTPS), server hostname or IP, port number, username and password.
Configuration
You will find the configuration section in MusicBee’s “Preferences” window -> Plugins. The minimum information you need to provide is “Hostname”, “Port”, “Username” and “Password”. You can optionally specify a “Path” as well, if your Subsonic server needs one. Otherwise the default “/” will be used. Both HTTP and HTTPS connections are supported. No password is ever sent to the server for security reasons, instead a salted (one-time) token is used to connect and request what is needed.
Please note that the first time MusicBee connects to your Subsonic Server, it will scan through your collection and create a local cache. This operation might take a while (depending on the size of your collection and the network speed) during which you won’t be able to see anything in the Subsonic node. Please be patient. 🙂
Problems?
Please use the “Issues” section on the Github project page to report any problems. Kindly mention the version of MusicBee and Subsonic Server you’re using.