Boutros,
I was able to get the jukebox working with the new build. I pasted the code into a new file, and replaced the file in the program folder.
Copy and paste the text below into a text file, and save the file as subsonic-servlet.xml (change the .txt to .xml)
Go to your subsonic installation, and find X:\subsonic\jetty\0.7.24\webapp\WEB-INF\subsonic-servlet.xml (rename the original file with .old at the end)
Move the file you just created to the folder. Stop your server, and re-start. That is all I did, and I can use the Jukebox feature from iSub now.
Hope this helps.
jfmus
copy and paste this:
<?xml version="1.0" encoding="ISO-8859-1"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/b ... ns-3.0.xsd">
<bean id="leftController" class="net.sourceforge.subsonic.controller.LeftController">
<property name="viewName" value="left"/>
<property name="securityService" ref="securityService"/>
<property name="settingsService" ref="settingsService"/>
<property name="playerService" ref="playerService"/>
<property name="mediaFolderService" ref="mediaFolderService"/>
<property name="libraryBrowserService" ref="libraryBrowserService"/>
<property name="libraryUpdateService" ref="libraryUpdateService"/>
<property name="libraryStatusService" ref="ajaxLibraryStatusService"/>
<property name="artistIndexService" ref="artistIndexService"/>
<property name="tagService" ref="tagService"/>
</bean>
<bean id="rightController" class="net.sourceforge.subsonic.controller.RightController">
<property name="viewName" value="right"/>
<property name="securityService" ref="securityService"/>
<property name="settingsService" ref="settingsService"/>
</bean>
<bean id="statusController" class="net.sourceforge.subsonic.controller.StatusController">
<property name="viewName" value="status"/>
<property name="statusService" ref="statusService"/>
</bean>
<bean id="mainController" class="net.sourceforge.subsonic.controller.MainController">
<property name="viewName" value="main"/>
<property name="securityService" ref="securityService"/>
<property name="playerService" ref="playerService"/>
<property name="mediaFileService" ref="mediaFileService"/>
</bean>
<bean id="artistController" class="net.sourceforge.subsonic.controller.ArtistController">
<property name="viewName" value="artist"/>
<property name="playerService" ref="playerService"/>
<property name="securityService" ref="securityService"/>
<property name="settingsService" ref="settingsService"/>
<property name="mediaFileService" ref="mediaFileService"/>
<property name="artistInfoService" ref="artistInfoService"/>
<property name="artistTopTagsService" ref="artistTopTagsService"/>
<property name="libraryBrowserService" ref="libraryBrowserService"/>
<property name="starService" ref="starService"/>
</bean>
<bean id="artistGenresController" class="net.sourceforge.subsonic.controller.ArtistGenresController">
<property name="viewName" value="artistGenres"/>
<property name="securityService" ref="securityService"/>
<property name="settingsService" ref="settingsService"/>
<property name="artistInfoService" ref="artistInfoService"/>
<property name="artistTopTagsService" ref="artistTopTagsService"/>
<property name="starService" ref="starService"/>
<property name="tagService" ref="tagService"/>
</bean>
<bean id="albumController" class="net.sourceforge.subsonic.controller.AlbumController">
<property name="securityService" ref="securityService"/>
<property name="settingsService" ref="settingsService"/>
<property name="mediaFileService" ref="mediaFileService"/>
<property name="starService" ref="starService"/>
</bean>
<bean id="topController" class="net.sourceforge.subsonic.controller.TopController">
<property name="viewName" value="top"/>
<property name="settingsService" ref="settingsService"/>
<property name="securityService" ref="securityService"/>
<property name="mediaFolderService" ref="mediaFolderService"/>
</bean>
<bean id="helpController" class="net.sourceforge.subsonic.controller.HelpController">
<property name="viewName" value="help"/>
<property name="versionService" ref="versionService"/>
<property name="settingsService" ref="settingsService"/>
</bean>
<bean id="moreController" class="net.sourceforge.subsonic.controller.MoreController">
<property name="viewName" value="more"/>
<property name="mediaFolderService" ref="mediaFolderService"/>
<property name="securityService" ref="securityService"/>
</bean>
<bean id="uploadController" class="net.sourceforge.subsonic.controller.UploadController">
<property name="viewName" value="upload"/>
<property name="securityService" ref="securityService"/>
<property name="statusService" ref="statusService"/>
<property name="playerService" ref="playerService"/>
<property name="settingsService" ref="settingsService"/>
<property name="libraryUpdateService" ref="libraryUpdateService"/>
<property name="libraryStatusService" ref="ajaxLibraryStatusService"/>
</bean>
<bean id="lyricsController" class="net.sourceforge.subsonic.controller.LyricsController">
<property name="viewName" value="lyrics"/>
<property name="libraryBrowserService" ref="libraryBrowserService"/>
</bean>
<bean id="podcastController" class="net.sourceforge.subsonic.controller.PodcastController">
<property name="viewName" value="podcast"/>
<property name="playlistService" ref="playlistService"/>
<property name="settingsService" ref="settingsService"/>
</bean>
<bean id="podcastReceiverController" class="net.sourceforge.subsonic.controller.PodcastReceiverController">
<property name="viewName" value="podcastReceiver"/>
<property name="podcastService" ref="podcastService"/>
<property name="securityService" ref="securityService"/>
<property name="settingsService" ref="settingsService"/>
<property name="mediaFileService" ref="mediaFileService"/>
</bean>
<bean id="podcastReceiverAdminController"
class="net.sourceforge.subsonic.controller.PodcastReceiverAdminController">
<property name="podcastService" ref="podcastService"/>
</bean>
<bean id="shareManagementController" class="net.sourceforge.subsonic.controller.ShareManagementController">
<property name="settingsService" ref="settingsService"/>
<property name="mediaFileService" ref="mediaFileService"/>
<property name="shareService" ref="shareService"/>
<property name="playerService" ref="playerService"/>
<property name="securityService" ref="securityService"/>
</bean>
<bean id="loadPlaylistController" class="net.sourceforge.subsonic.controller.LoadPlaylistController">
<property name="securityService" ref="securityService"/>
<property name="playlistService" ref="playlistService"/>
<property name="playerService" ref="playerService"/>
</bean>
<bean id="savePlaylistController" class="net.sourceforge.subsonic.controller.SavePlaylistController">
<property name="commandName" value="command"/>
<property name="commandClass" value="net.sourceforge.subsonic.command.SavePlaylistCommand"/>
<property name="validator" ref="savePlaylistValidator"/>
<property name="formView" value="savePlaylist"/>
<property name="successView" value="nowPlaying.view"/>
<property name="playlistService" ref="playlistService"/>
<property name="playerService" ref="playerService"/>
</bean>
<bean id="changeCoverArtController" class="net.sourceforge.subsonic.controller.ChangeCoverArtController">
<property name="viewName" value="changeCoverArt"/>
<property name="mediaFileService" ref="mediaFileService"/>
</bean>
<bean id="nowPlayingController" class="net.sourceforge.subsonic.controller.NowPlayingController">
<property name="playerService" ref="playerService"/>
<property name="statusService" ref="statusService"/>
<property name="mediaFileService" ref="mediaFileService"/>
</bean>
<bean id="searchController" class="net.sourceforge.subsonic.controller.SearchController">
<property name="commandClass" value="net.sourceforge.subsonic.command.SearchCommand"/>
<property name="successView" value="search"/>
<property name="formView" value="search"/>
<property name="securityService" ref="securityService"/>
<property name="settingsService" ref="settingsService"/>
<property name="playerService" ref="playerService"/>
<property name="libraryUpdateService" ref="libraryUpdateService"/>
<property name="nameSearchService" ref="nameSearchService"/>
<property name="starService" ref="starService"/>
</bean>
<bean id="advancedSearchController" class="net.sourceforge.subsonic.controller.AdvancedSearchController">
<property name="viewName" value="advancedSearch"/>
<property name="nameSearchService" ref="nameSearchService"/>
<property name="tagService" ref="tagService"/>
<property name="mediaFolderService" ref="mediaFolderService"/>
</bean>
<bean id="advancedSearchResultController" class="net.sourceforge.subsonic.controller.AdvancedSearchResultController">
<property name="viewName" value="advancedSearchResult"/>
<property name="nameSearchService" ref="nameSearchService"/>
<property name="securityService" ref="securityService"/>
<property name="settingsService" ref="settingsService"/>
<property name="mediaFileService" ref="mediaFileService"/>
<property name="starService" ref="starService"/>
</bean>
<bean id="settingsController" class="net.sourceforge.subsonic.controller.SettingsController">
<property name="securityService" ref="securityService"/>
</bean>
<bean id="playerSettingsController" class="net.sourceforge.subsonic.controller.PlayerSettingsController">
<property name="commandClass" value="net.sourceforge.subsonic.command.PlayerSettingsCommand"/>
<property name="successView" value="playerSettings"/>
<property name="formView" value="playerSettings"/>
<property name="playerService" ref="playerService"/>
<property name="securityService" ref="securityService"/>
<property name="transcodingService" ref="transcodingService"/>
</bean>
<bean id="shareSettingsController" class="net.sourceforge.subsonic.controller.ShareSettingsController">
<property name="viewName" value="shareSettings"/>
<property name="shareService" ref="shareService"/>
<property name="securityService" ref="securityService"/>
</bean>
<bean id="mediaFolderSettingsController" class="net.sourceforge.subsonic.controller.MediaFolderSettingsController">
<property name="viewName" value="mediaFolderSettings"/>
<property name="settingsService" ref="settingsService"/>
<property name="searchService" ref="searchService"/>
<property name="mediaFolderService" ref="mediaFolderService"/>
<property name="libraryBrowserService" ref="libraryBrowserService"/>
<property name="libraryUpdateService" ref="libraryUpdateService"/>
<property name="databaseAdministrationService" ref="databaseAdministrationService"/>
</bean>
<bean id="networkSettingsController" class="net.sourceforge.subsonic.controller.NetworkSettingsController">
<property name="commandClass" value="net.sourceforge.subsonic.command.NetworkSettingsCommand"/>
<property name="successView" value="networkSettings"/>
<property name="formView" value="networkSettings"/>
<property name="settingsService" ref="settingsService"/>
<property name="networkService" ref="networkService"/>
</bean>
<bean id="transcodingSettingsController" class="net.sourceforge.subsonic.controller.TranscodingSettingsController">
<property name="viewName" value="transcodingSettings"/>
<property name="transcodingService" ref="transcodingService"/>
<property name="settingsService" ref="settingsService"/>
</bean>
<bean id="internetRadioSettingsController"
class="net.sourceforge.subsonic.controller.InternetRadioSettingsController">
<property name="viewName" value="internetRadioSettings"/>
<property name="settingsService" ref="settingsService"/>
</bean>
<bean id="podcastSettingsController" class="net.sourceforge.subsonic.controller.PodcastSettingsController">
<property name="commandClass" value="net.sourceforge.subsonic.command.PodcastSettingsCommand"/>
<property name="successView" value="podcastSettings"/>
<property name="formView" value="podcastSettings"/>
<property name="settingsService" ref="settingsService"/>
<property name="podcastService" ref="podcastService"/>
</bean>
<bean id="searchSettingsController" class="net.sourceforge.subsonic.controller.SearchSettingsController">
<property name="commandClass" value="net.sourceforge.subsonic.command.SearchSettingsCommand"/>
<property name="successView" value="searchSettings"/>
<property name="formView" value="searchSettings"/>
<property name="settingsService" ref="settingsService"/>
<property name="searchService" ref="searchService"/>
<property name="databaseAdministrationService" ref="databaseAdministrationService"/>
</bean>
<bean id="musicCabinetSettingsController" class="net.sourceforge.subsonic.controller.MusicCabinetSettingsController">
<property name="commandClass" value="net.sourceforge.subsonic.command.MusicCabinetSettingsCommand"/>
<property name="successView" value="musicCabinetSettings"/>
<property name="formView" value="musicCabinetSettings"/>
<property name="databaseAdministrationService" ref="databaseAdministrationService"/>
<property name="playlistGeneratorService" ref="playlistGeneratorService"/>
<property name="webserviceHistoryService" ref="webserviceHistoryService"/>
<property name="settingsService" ref="settingsService"/>
<property name="lastFmSettingsService" ref="lastFmSettingsService"/>
<property name="searchService" ref="searchService"/>
<property name="mediaFolderService" ref="mediaFolderService"/>
<property name="libraryUpdateService" ref="libraryUpdateService"/>
</bean>
<bean id="generalSettingsController" class="net.sourceforge.subsonic.controller.GeneralSettingsController">
<property name="commandClass" value="net.sourceforge.subsonic.command.GeneralSettingsCommand"/>
<property name="successView" value="generalSettings"/>
<property name="formView" value="generalSettings"/>
<property name="settingsService" ref="settingsService"/>
</bean>
<bean id="advancedSettingsController" class="net.sourceforge.subsonic.controller.AdvancedSettingsController">
<property name="commandClass" value="net.sourceforge.subsonic.command.AdvancedSettingsCommand"/>
<property name="successView" value="advancedSettings"/>
<property name="formView" value="advancedSettings"/>
<property name="settingsService" ref="settingsService"/>
</bean>
<bean id="personalSettingsController" class="net.sourceforge.subsonic.controller.PersonalSettingsController">
<property name="commandClass" value="net.sourceforge.subsonic.command.PersonalSettingsCommand"/>
<property name="successView" value="personalSettings"/>
<property name="formView" value="personalSettings"/>
<property name="settingsService" ref="settingsService"/>
<property name="securityService" ref="securityService"/>
</bean>
<bean id="lastFmSettingsController" class="net.sourceforge.subsonic.controller.LastFmSettingsController">
<property name="viewName" value="lastFmSettings"/>
<property name="lastFmService" ref="lastFmService"/>
<property name="securityService" ref="securityService"/>
<property name="settingsService" ref="settingsService"/>
</bean>
<bean id="avatarUploadController" class="net.sourceforge.subsonic.controller.AvatarUploadController">
<property name="viewName" value="avatarUploadResult"/>
<property name="settingsService" ref="settingsService"/>
<property name="securityService" ref="securityService"/>
</bean>
<bean id="userSettingsController" class="net.sourceforge.subsonic.controller.UserSettingsController">
<property name="sessionForm" value="true"/>
<property name="commandClass" value="net.sourceforge.subsonic.command.UserSettingsCommand"/>
<property name="validator" ref="userSettingsValidator"/>
<property name="successView" value="userSettings"/>
<property name="formView" value="userSettings"/>
<property name="securityService" ref="securityService"/>
<property name="settingsService" ref="settingsService"/>
<property name="transcodingService" ref="transcodingService"/>
</bean>
<bean id="passwordSettingsController" class="net.sourceforge.subsonic.controller.PasswordSettingsController">
<property name="sessionForm" value="true"/>
<property name="commandClass" value="net.sourceforge.subsonic.command.PasswordSettingsCommand"/>
<property name="validator" ref="passwordSettingsValidator"/>
<property name="successView" value="passwordSettings"/>
<property name="formView" value="passwordSettings"/>
<property name="securityService" ref="securityService"/>
</bean>
<bean id="homeController" class="net.sourceforge.subsonic.controller.HomeController">
<property name="viewName" value="home"/>
<property name="settingsService" ref="settingsService"/>
<property name="securityService" ref="securityService"/>
<property name="userTopArtistsService" ref="userTopArtistsService"/>
<property name="artistRecommendationService" ref="artistRecommendationService"/>
<property name="libraryUpdateService" ref="libraryUpdateService"/>
<property name="libraryBrowserService" ref="libraryBrowserService"/>
<property name="mediaFileService" ref="mediaFileService"/>
<property name="starService" ref="starService"/>
</bean>
<bean id="editTagsController" class="net.sourceforge.subsonic.controller.EditTagsController">
<property name="viewName" value="editTags"/>
<property name="mediaFileService" ref="mediaFileService"/>
</bean>
<bean id="relatedController" class="net.sourceforge.subsonic.controller.RelatedController">
<property name="viewName" value="related"/>
<property name="artistRecommendationService" ref="artistRecommendationService"/>
<property name="artistInfoService" ref="artistInfoService"/>
<property name="securityService" ref="securityService"/>
<property name="settingsService" ref="settingsService"/>
</bean>
<bean id="artistDetailsController" class="net.sourceforge.subsonic.controller.ArtistDetailsController">
<property name="viewName" value="artistDetails"/>
<property name="artistInfoService" ref="artistInfoService"/>
<property name="artistTopTagsService" ref="artistTopTagsService"/>
<property name="musicBrainzService" ref="musicBrainzService"/>
<property name="artistTopTracksService" ref="artistTopTracksService"/>
<property name="mediaFileService" ref="mediaFileService"/>
<property name="securityService" ref="securityService"/>
<property name="settingsService" ref="settingsService"/>
<property name="starService" ref="starService"/>
</bean>
<bean id="radioController" class="net.sourceforge.subsonic.controller.RadioController">
<property name="viewName" value="radio"/>
<property name="tagService" ref="tagService"/>
<property name="libraryBrowserService" ref="libraryBrowserService"/>
</bean>
<bean id="genresController" class="net.sourceforge.subsonic.controller.GenresController">
<property name="viewName" value="genres"/>
<property name="settingsService" ref="settingsService"/>
<property name="securityService" ref="securityService"/>
<property name="tagService" ref="tagService"/>
<property name="tagInfoService" ref="tagInfoService"/>
<property name="lastFmService" ref="lastFmService"/>
<property name="artistRecommendationService" ref="artistRecommendationService"/>
<property name="libraryBrowserService" ref="libraryBrowserService"/>
</bean>
<bean id="fileTreeController" class="net.sourceforge.subsonic.controller.FileTreeController">
<property name="viewName" value="fileTree"/>
<property name="settingsService" ref="settingsService"/>
<property name="securityService" ref="securityService"/>
<property name="searchService" ref="searchService"/>
<property name="mediaFileService" ref="mediaFileService"/>
<property name="starService" ref="starService"/>
<property name="libraryBrowserService" ref="libraryBrowserService"/>
<property name="directoryBrowserService" ref="directoryBrowserService"/>
</bean>
<bean id="tagSettingsController" class="net.sourceforge.subsonic.controller.TagSettingsController">
<property name="commandClass" value="net.sourceforge.subsonic.command.TagSettingsCommand"/>
<property name="successView" value="tagSettings"/>
<property name="formView" value="tagSettings"/>
<property name="tagService" ref="tagService"/>
<property name="settingsService" ref="settingsService"/>
</bean>
<bean id="groupSettingsController" class="net.sourceforge.subsonic.controller.GroupSettingsController">
<property name="viewName" value="groupSettings"/>
<property name="lastFmService" ref="lastFmService"/>
<property name="groupWeeklyArtistChartService" ref="groupWeeklyArtistChartService"/>
</bean>
<bean id="editArtistController" class="net.sourceforge.subsonic.controller.EditArtistController">
<property name="commandClass" value="net.sourceforge.subsonic.command.EditArtistCommand"/>
<property name="successView" value="editArtist"/>
<property name="formView" value="editArtist"/>
<property name="artistInfoService" ref="artistInfoService"/>
</bean>
<bean id="missingAlbumsController" class="net.sourceforge.subsonic.controller.MissingAlbumsController">
<property name="viewName" value="missingAlbums"/>
<property name="musicBrainzService" ref="musicBrainzService"/>
</bean>
<bean id="missingAlbumsSearchController" class="net.sourceforge.subsonic.controller.MissingAlbumsSearchController">
<property name="viewName" value="missingAlbumsSearch"/>
<property name="musicBrainzService" ref="musicBrainzService"/>
<property name="securityService" ref="securityService"/>
<property name="settingsService" ref="settingsService"/>
</bean>
<bean id="playlistController" class="net.sourceforge.subsonic.controller.PlaylistController">
<property name="viewName" value="playlist"/>
<property name="playerService" ref="playerService"/>
<property name="securityService" ref="securityService"/>
<property name="settingsService" ref="settingsService"/>
</bean>
<bean id="xspfPlaylistController" class="net.sourceforge.subsonic.controller.XspfPlaylistController">
<property name="viewName" value="xspfPlaylist"/>
<property name="playerService" ref="playerService"/>
<property name="mediaFileService" ref="mediaFileService"/>
</bean>
<bean id="coverArtController" class="net.sourceforge.subsonic.controller.CoverArtController">
<property name="securityService" ref="securityService"/>
<property name="audioTagService" ref="audioTagService"/>
</bean>
<bean id="avatarController" class="net.sourceforge.subsonic.controller.AvatarController">
<property name="settingsService" ref="settingsService"/>
</bean>
<bean id="proxyController" class="net.sourceforge.subsonic.controller.ProxyController"/>
<bean id="statusChartController" class="net.sourceforge.subsonic.controller.StatusChartController">
<property name="statusService" ref="statusService"/>
</bean>
<bean id="userChartController" class="net.sourceforge.subsonic.controller.UserChartController">
<property name="securityService" ref="securityService"/>
</bean>
<bean id="m3uController" class="net.sourceforge.subsonic.controller.M3UController">
<property name="playerService" ref="playerService"/>
<property name="settingsService" ref="settingsService"/>
<property name="transcodingService" ref="transcodingService"/>
</bean>
<bean id="streamController" class="net.sourceforge.subsonic.controller.StreamController">
<property name="playerService" ref="playerService"/>
<property name="playlistService" ref="playlistService"/>
<property name="statusService" ref="statusService"/>
<property name="securityService" ref="securityService"/>
<property name="settingsService" ref="settingsService"/>
<property name="mediaFileService" ref="mediaFileService"/>
<property name="transcodingService" ref="transcodingService"/>
<property name="audioScrobblerService" ref="audioScrobblerService"/>
</bean>
<bean id="hlsController" class="net.sourceforge.subsonic.controller.HLSController">
<property name="playerService" ref="playerService"/>
<property name="mediaFileService" ref="mediaFileService"/>
</bean>
<bean id="videoPlayerController" class="net.sourceforge.subsonic.controller.VideoPlayerController">
<property name="viewName" value="videoPlayer"/>
<property name="mediaFileService" ref="mediaFileService"/>
<property name="settingsService" ref="settingsService"/>
<property name="playerService" ref="playerService"/>
</bean>
<bean id="externalPlayerController" class="net.sourceforge.subsonic.controller.ExternalPlayerController">
<property name="viewName" value="externalPlayer"/>
<property name="mediaFileService" ref="mediaFileService"/>
<property name="settingsService" ref="settingsService"/>
<property name="securityService" ref="securityService"/>
<property name="playerService" ref="playerService"/>
<property name="shareDao" ref="shareDao"/>
</bean>
<bean id="downloadController" class="net.sourceforge.subsonic.controller.DownloadController">
<property name="playerService" ref="playerService"/>
<property name="statusService" ref="statusService"/>
<property name="securityService" ref="securityService"/>
<property name="playlistService" ref="playlistService"/>
<property name="settingsService" ref="settingsService"/>
<property name="mediaFileService" ref="mediaFileService"/>
</bean>
<bean id="donateController" class="net.sourceforge.subsonic.controller.DonateController">
<property name="commandClass" value="net.sourceforge.subsonic.command.DonateCommand"/>
<property name="successView" value="donate"/>
<property name="formView" value="donate"/>
<property name="validator" ref="donateValidator"/>
<property name="settingsService" ref="settingsService"/>
</bean>
<bean id="multiController" class="net.sourceforge.subsonic.controller.MultiController">
<property name="securityService" ref="securityService"/>
<property name="settingsService" ref="settingsService"/>
</bean>
<bean id="restSystemController" class="net.sourceforge.subsonic.controller.RESTSystemController">
<property name="playerService" ref="playerService"/>
<property name="settingsService" ref="settingsService"/>
</bean>
<bean id="restBrowseController" class="net.sourceforge.subsonic.controller.RESTBrowseController">
<property name="playerService" ref="playerService"/>
<property name="settingsService" ref="settingsService"/>
<property name="securityService" ref="securityService"/>
<property name="mediaFileService" ref="mediaFileService"/>
<property name="transcodingService" ref="transcodingService"/>
<property name="leftController" ref="leftController"/>
<property name="homeController" ref="homeController"/>
<property name="statusService" ref="statusService"/>
<property name="libraryBrowserService" ref="libraryBrowserService"/>
<property name="artistIndexService" ref="artistIndexService"/>
<property name="artistInfoService" ref="artistInfoService"/>
<property name="tagService" ref="tagService"/>
<property name="playlistGeneratorService" ref="playlistGeneratorService"/>
<property name="artistRecommendationService" ref="artistRecommendationService"/>
<property name="mediaFolderService" ref="mediaFolderService"/>
<property name="directoryBrowserService" ref="directoryBrowserService"/>
</bean>
<bean id="restSearchController" class="net.sourceforge.subsonic.controller.RESTSearchController">
<property name="restBrowseController" ref="restBrowseController"/>
<property name="playerService" ref="playerService"/>
<property name="nameSearchService" ref="nameSearchService"/>
<property name="libraryBrowserService" ref="libraryBrowserService"/>
</bean>
<bean id="restPlaylistController" class="net.sourceforge.subsonic.controller.RESTPlaylistController">
<property name="restBrowseController" ref="restBrowseController"/>
<property name="playerService" ref="playerService"/>
<property name="securityService" ref="securityService"/>
<property name="playlistService" ref="playlistService"/>
<property name="mediaFileService" ref="mediaFileService"/>
</bean>
<bean id="restMediaRetrievalController" class="net.sourceforge.subsonic.controller.RESTMediaRetrievalController">
<property name="playerService" ref="playerService"/>
<property name="securityService" ref="securityService"/>
<property name="downloadController" ref="downloadController"/>
<property name="streamController" ref="streamController"/>
<property name="hlsController" ref="hlsController"/>
<property name="coverArtController" ref="coverArtController"/>
<property name="libraryBrowserService" ref="libraryBrowserService"/>
<property name="mediaFileService" ref="mediaFileService"/>
<property name="avatarController" ref="avatarController"/>
</bean>
<bean id="restMediaAnnotationController" class="net.sourceforge.subsonic.controller.RESTMediaAnnotationController">
<property name="restBrowseController" ref="restBrowseController"/>
<property name="playerService" ref="playerService"/>
<property name="settingsService" ref="settingsService"/>
<property name="securityService" ref="securityService"/>
<property name="starService" ref="starService"/>
<property name="homeController" ref="homeController"/>
<property name="libraryBrowserService" ref="libraryBrowserService"/>
<property name="mediaFileService" ref="mediaFileService"/>
<property name="audioScrobblerService" ref="audioScrobblerService"/>
</bean>
<bean id="restShareController" class="net.sourceforge.subsonic.controller.RESTShareController">
<property name="restBrowseController" ref="restBrowseController"/>
<property name="playerService" ref="playerService"/>
<property name="securityService" ref="securityService"/>
<property name="shareService" ref="shareService"/>
<property name="mediaFileService" ref="mediaFileService"/>
</bean>
<bean id="restPodcastController" class="net.sourceforge.subsonic.controller.RESTPodcastController">
<property name="restBrowseController" ref="restBrowseController"/>
<property name="playerService" ref="playerService"/>
<property name="podcastService" ref="podcastService"/>
<property name="mediaFileService" ref="mediaFileService"/>
</bean>
<bean id="restJukeboxController" class="net.sourceforge.subsonic.controller.RESTJukeboxController">
<property name="restBrowseController" ref="restBrowseController"/>
<property name="playerService" ref="playerService"/>
<property name="securityService" ref="securityService"/>
<property name="playlistControlService" ref="ajaxPlaylistService"/>
<property name="jukeboxService" ref="jukeboxService"/>
<property name="mediaFileService" ref="mediaFileService"/>
</bean>
<bean id="restChatController" class="net.sourceforge.subsonic.controller.RESTChatController">
<property name="playerService" ref="playerService"/>
<property name="chatService" ref="ajaxChatService"/>
</bean>
<bean id="restUserController" class="net.sourceforge.subsonic.controller.RESTUserController">
<property name="playerService" ref="playerService"/>
<property name="settingsService" ref="settingsService"/>
<property name="securityService" ref="securityService"/>
<property name="userSettingsController" ref="userSettingsController"/>
</bean>
<bean id="restController" class="net.sourceforge.subsonic.controller.RESTController">
<property name="restSystemController" ref="restSystemController"/>
<property name="restBrowseController" ref="restBrowseController"/>
<property name="restSearchController" ref="restSearchController"/>
<property name="restPlaylistController" ref="restPlaylistController"/>
<property name="restMediaRetrievalController" ref="restMediaRetrievalController"/>
<property name="restMediaAnnotationController" ref="restMediaAnnotationController"/>
<property name="restShareController" ref="restShareController"/>
<property name="restPodcastController" ref="restPodcastController"/>
<property name="restChatController" ref="restChatController"/>
<property name="restUserController" ref="restUserController"/>
<property name="restJukeboxController" ref="restJukeboxController"/>
</bean>
<bean id="dbController" class="net.sourceforge.subsonic.controller.DBController">
<property name="viewName" value="db"/>
<property name="daoHelper" ref="daoHelper"/>
</bean>
<bean id="savePlaylistValidator" class="net.sourceforge.subsonic.validator.SavePlaylistValidator">
<property name="playlistService" ref="playlistService"/>
</bean>
<bean id="donateValidator" class="net.sourceforge.subsonic.validator.DonateValidator">
<property name="settingsService" ref="settingsService"/>
</bean>
<bean id="userSettingsValidator" class="net.sourceforge.subsonic.validator.UserSettingsValidator">
<property name="securityService" ref="securityService"/>
<property name="settingsService" ref="settingsService"/>
</bean>
<bean id="passwordSettingsValidator" class="net.sourceforge.subsonic.validator.PasswordSettingsValidator"/>
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="alwaysUseFullPath" value="true"/>
<property name="mappings">
<props>
<prop key="/main.view">mainController</prop>
<prop key="/artist.view">artistController</prop>
<prop key="/artistGenres.view">artistGenresController</prop>
<prop key="/album.view">albumController</prop>
<prop key="/help.view">helpController</prop>
<prop key="/lyrics.view">lyricsController</prop>
<prop key="/left.view">leftController</prop>
<prop key="/right.view">rightController</prop>
<prop key="/status.view">statusController</prop>
<prop key="/more.view">moreController</prop>
<prop key="/upload.view">uploadController</prop>
<prop key="/createShare.view">shareManagementController</prop>
<prop key="/top.view">topController</prop>
<prop key="/loadPlaylist.view">loadPlaylistController</prop>
<prop key="/loadPlaylistConfirm.view">loadPlaylistController</prop>
<prop key="/appendPlaylist.view">loadPlaylistController</prop>
<prop key="/appendPlaylistConfirm.view">loadPlaylistController</prop>
<prop key="/deletePlaylist.view">loadPlaylistController</prop>
<prop key="/savePlaylist.view">savePlaylistController</prop>
<prop key="/changeCoverArt.view">changeCoverArtController</prop>
<prop key="/login.view">multiController</prop>
<prop key="/accessDenied.view">multiController</prop>
<prop key="/gettingStarted.view">multiController</prop>
<prop key="/index.view">multiController</prop>
<prop key="/videoPlayer.view">videoPlayerController</prop>
<prop key="/nowPlaying.view">nowPlayingController</prop>
<prop key="/search.view">searchController</prop>
<prop key="/advancedSearch.view">advancedSearchController</prop>
<prop key="/advancedSearchResult.view">advancedSearchResultController</prop>
<prop key="/settings.view">settingsController</prop>
<prop key="/playerSettings.view">playerSettingsController</prop>
<prop key="/shareSettings.view">shareSettingsController</prop>
<prop key="/mediaFolderSettings.view">mediaFolderSettingsController</prop>
<prop key="/networkSettings.view">networkSettingsController</prop>
<prop key="/transcodingSettings.view">transcodingSettingsController</prop>
<prop key="/internetRadioSettings.view">internetRadioSettingsController</prop>
<prop key="/searchSettings.view">searchSettingsController</prop>
<prop key="/musicCabinetSettings.view">musicCabinetSettingsController</prop>
<prop key="/podcastSettings.view">podcastSettingsController</prop>
<prop key="/generalSettings.view">generalSettingsController</prop>
<prop key="/advancedSettings.view">advancedSettingsController</prop>
<prop key="/personalSettings.view">personalSettingsController</prop>
<prop key="/lastFmSettings.view">lastFmSettingsController</prop>
<prop key="/avatarUpload.view">avatarUploadController</prop>
<prop key="/userSettings.view">userSettingsController</prop>
<prop key="/passwordSettings.view">passwordSettingsController</prop>
<prop key="/home.view">homeController</prop>
<prop key="/editTags.view">editTagsController</prop>
<prop key="/radio.view">radioController</prop>
<prop key="/genres.view">genresController</prop>
<prop key="/fileTree.view">fileTreeController</prop>
<prop key="/related.view">relatedController</prop>
<prop key="/tagSettings.view">tagSettingsController</prop>
<prop key="/groupSettings.view">groupSettingsController</prop>
<prop key="/editArtist.view">editArtistController</prop>
<prop key="/artistDetails.view">artistDetailsController</prop>
<prop key="/missingAlbums.view">missingAlbumsController</prop>
<prop key="/missingAlbumsSearch.view">missingAlbumsSearchController</prop>
<prop key="/playlist.view">playlistController</prop>
<prop key="/xspfPlaylist.view">xspfPlaylistController</prop>
<prop key="/coverArt.view">coverArtController</prop>
<prop key="/avatar.view">avatarController</prop>
<prop key="/proxy.view">proxyController</prop>
<prop key="/statusChart.view">statusChartController</prop>
<prop key="/userChart.view">userChartController</prop>
<prop key="/download.view">downloadController</prop>
<prop key="/donate.view">donateController</prop>
<prop key="/db.view">dbController</prop>
<prop key="/podcastReceiver.view">podcastReceiverController</prop>
<prop key="/podcastReceiverAdmin.view">podcastReceiverAdminController</prop>
<prop key="/podcast.view">podcastController</prop>
<prop key="/podcast/**">podcastController</prop>
<prop key="/rest/**">restController</prop>
<prop key="/play.m3u">m3uController</prop>
<prop key="/stream/**">streamController</prop>
<prop key="/hls/**">hlsController</prop>
<prop key="/share/**">externalPlayerController</prop>
</props>
</property>
</bean>
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename" value="net.sourceforge.subsonic.i18n.ResourceBundle"/>
</bean>
<bean id="themeSource" class="net.sourceforge.subsonic.theme.SubsonicThemeSource">
<property name="basenamePrefix" value="net.sourceforge.subsonic.theme."/>
<property name="defaultResourceBundle" value="net.sourceforge.subsonic.theme.default"/>
</bean>
<bean id="localeResolver"
class="net.sourceforge.subsonic.i18n.SubsonicLocaleResolver">
<property name="securityService" ref="securityService"/>
<property name="settingsService" ref="settingsService"/>
</bean>
<bean id="themeResolver"
class="net.sourceforge.subsonic.theme.SubsonicThemeResolver">
<property name="securityService" ref="securityService"/>
<property name="settingsService" ref="settingsService"/>
</bean>
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
</beans>