|
|
@ -19,48 +19,34 @@ |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
package org.libresonic.player.controller; |
|
|
|
package org.libresonic.player.controller; |
|
|
|
|
|
|
|
|
|
|
|
import java.awt.Dimension; |
|
|
|
|
|
|
|
import java.io.IOException; |
|
|
|
|
|
|
|
import java.io.OutputStream; |
|
|
|
|
|
|
|
import java.util.Arrays; |
|
|
|
|
|
|
|
import java.util.regex.Matcher; |
|
|
|
|
|
|
|
import java.util.regex.Pattern; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest; |
|
|
|
|
|
|
|
import javax.servlet.http.HttpServletResponse; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import org.apache.commons.io.IOUtils; |
|
|
|
import org.apache.commons.io.IOUtils; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
|
|
|
|
import org.springframework.stereotype.Controller; |
|
|
|
|
|
|
|
import org.springframework.web.bind.ServletRequestBindingException; |
|
|
|
|
|
|
|
import org.springframework.web.bind.ServletRequestUtils; |
|
|
|
|
|
|
|
import org.springframework.web.bind.annotation.RequestMapping; |
|
|
|
|
|
|
|
import org.springframework.web.bind.annotation.RequestMethod; |
|
|
|
|
|
|
|
import org.springframework.web.servlet.ModelAndView; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import org.libresonic.player.Logger; |
|
|
|
import org.libresonic.player.Logger; |
|
|
|
import org.libresonic.player.domain.MediaFile; |
|
|
|
import org.libresonic.player.domain.*; |
|
|
|
import org.libresonic.player.domain.PlayQueue; |
|
|
|
|
|
|
|
import org.libresonic.player.domain.Player; |
|
|
|
|
|
|
|
import org.libresonic.player.domain.TransferStatus; |
|
|
|
|
|
|
|
import org.libresonic.player.domain.User; |
|
|
|
|
|
|
|
import org.libresonic.player.domain.VideoTranscodingSettings; |
|
|
|
|
|
|
|
import org.libresonic.player.io.PlayQueueInputStream; |
|
|
|
import org.libresonic.player.io.PlayQueueInputStream; |
|
|
|
import org.libresonic.player.io.RangeOutputStream; |
|
|
|
import org.libresonic.player.io.RangeOutputStream; |
|
|
|
import org.libresonic.player.io.ShoutCastOutputStream; |
|
|
|
import org.libresonic.player.io.ShoutCastOutputStream; |
|
|
|
import org.libresonic.player.service.AudioScrobblerService; |
|
|
|
import org.libresonic.player.service.*; |
|
|
|
import org.libresonic.player.service.MediaFileService; |
|
|
|
|
|
|
|
import org.libresonic.player.service.PlayerService; |
|
|
|
|
|
|
|
import org.libresonic.player.service.PlaylistService; |
|
|
|
|
|
|
|
import org.libresonic.player.service.SearchService; |
|
|
|
|
|
|
|
import org.libresonic.player.service.SecurityService; |
|
|
|
|
|
|
|
import org.libresonic.player.service.SettingsService; |
|
|
|
|
|
|
|
import org.libresonic.player.service.StatusService; |
|
|
|
|
|
|
|
import org.libresonic.player.service.TranscodingService; |
|
|
|
|
|
|
|
import org.libresonic.player.service.sonos.SonosHelper; |
|
|
|
import org.libresonic.player.service.sonos.SonosHelper; |
|
|
|
import org.libresonic.player.util.HttpRange; |
|
|
|
import org.libresonic.player.util.HttpRange; |
|
|
|
import org.libresonic.player.util.StringUtil; |
|
|
|
import org.libresonic.player.util.StringUtil; |
|
|
|
import org.libresonic.player.util.Util; |
|
|
|
import org.libresonic.player.util.Util; |
|
|
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
|
|
|
|
import org.springframework.stereotype.Controller; |
|
|
|
|
|
|
|
import org.springframework.web.bind.ServletRequestBindingException; |
|
|
|
|
|
|
|
import org.springframework.web.bind.ServletRequestUtils; |
|
|
|
|
|
|
|
import org.springframework.web.bind.annotation.RequestMapping; |
|
|
|
|
|
|
|
import org.springframework.web.bind.annotation.RequestMethod; |
|
|
|
|
|
|
|
import org.springframework.web.servlet.ModelAndView; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest; |
|
|
|
|
|
|
|
import javax.servlet.http.HttpServletResponse; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import java.awt.*; |
|
|
|
|
|
|
|
import java.io.IOException; |
|
|
|
|
|
|
|
import java.io.OutputStream; |
|
|
|
|
|
|
|
import java.util.Arrays; |
|
|
|
|
|
|
|
import java.util.regex.Matcher; |
|
|
|
|
|
|
|
import java.util.regex.Pattern; |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
* A controller which streams the content of a {@link org.libresonic.player.domain.PlayQueue} to a remote |
|
|
|
* A controller which streams the content of a {@link org.libresonic.player.domain.PlayQueue} to a remote |
|
|
|