@ -1,4 +1,4 @@ |
||||
package net.sourceforge.subsonic.booter.deployer; |
||||
package org.libresonic.player.booter.deployer; |
||||
|
||||
import java.util.Date; |
||||
import java.io.Serializable; |
@ -0,0 +1,17 @@ |
||||
package org.libresonic.player.booter.deployer; |
||||
|
||||
/** |
||||
* RMI interface implemented by the Libresonic deployer and used by the agent. |
||||
* |
||||
* @author Sindre Mehus |
||||
*/ |
||||
public interface LibresonicDeployerService { |
||||
|
||||
/** |
||||
* Returns information about the Libresonic deployment, such |
||||
* as URL, memory consumption, start time etc. |
||||
* |
||||
* @return Deployment information. |
||||
*/ |
||||
DeploymentStatus getDeploymentInfo(); |
||||
} |
@ -0,0 +1,2 @@ |
||||
Manifest-Version: 1.0 |
||||
Main-Class: org.libresonic.player.booter.Main |
Before Width: | Height: | Size: 734 B After Width: | Height: | Size: 734 B |
Before Width: | Height: | Size: 673 B After Width: | Height: | Size: 673 B |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 810 B After Width: | Height: | Size: 810 B |
Before Width: | Height: | Size: 771 B After Width: | Height: | Size: 771 B |
@ -1,24 +1,24 @@ |
||||
<?xml version="1.0" encoding="ISO-8859-1"?> |
||||
<!-- |
||||
~ This file is part of Subsonic. |
||||
~ This file is part of Libresonic. |
||||
~ |
||||
~ Subsonic is free software: you can redistribute it and/or modify |
||||
~ Libresonic is free software: you can redistribute it and/or modify |
||||
~ it under the terms of the GNU General Public License as published by |
||||
~ the Free Software Foundation, either version 3 of the License, or |
||||
~ (at your option) any later version. |
||||
~ |
||||
~ Subsonic is distributed in the hope that it will be useful, |
||||
~ Libresonic is distributed in the hope that it will be useful, |
||||
~ but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
~ GNU General Public License for more details. |
||||
~ |
||||
~ You should have received a copy of the GNU General Public License |
||||
~ along with Subsonic. If not, see <http://www.gnu.org/licenses/>. |
||||
~ along with Libresonic. If not, see <http://www.gnu.org/licenses/>. |
||||
~ |
||||
~ Copyright 2014 (C) Sindre Mehus |
||||
--> |
||||
|
||||
<web-app id="subsonic" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" |
||||
<web-app id="libresonic" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
||||
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> |
||||
|
@ -0,0 +1,24 @@ |
||||
@echo off |
||||
|
||||
REM The directory where Libresonic will create files. Make sure it is writable. |
||||
set SUBSONIC_HOME=c:\libresonic |
||||
|
||||
REM The host name or IP address on which to bind Libresonic. Only relevant if you have |
||||
REM multiple network interfaces and want to make Libresonic available on only one of them. |
||||
REM The default value 0.0.0.0 will bind Libresonic to all available network interfaces. |
||||
set SUBSONIC_HOST=0.0.0.0 |
||||
|
||||
REM The port on which Libresonic will listen for incoming HTTP traffic. |
||||
set SUBSONIC_PORT=4040 |
||||
|
||||
REM The port on which Libresonic will listen for incoming HTTPS traffic (0 to disable). |
||||
set SUBSONIC_HTTPS_PORT=0 |
||||
|
||||
REM The context path (i.e., the last part of the Libresonic URL). Typically "/" or "/libresonic". |
||||
set SUBSONIC_CONTEXT_PATH=/ |
||||
|
||||
REM The memory limit (max Java heap size) in megabytes. |
||||
set MAX_MEMORY=150 |
||||
|
||||
java -Xmx%MAX_MEMORY%m -Dlibresonic.home=%SUBSONIC_HOME% -Dlibresonic.host=%SUBSONIC_HOST% -Dlibresonic.port=%SUBSONIC_PORT% -Dlibresonic.httpsPort=%SUBSONIC_HTTPS_PORT% -Dlibresonic.contextPath=%SUBSONIC_CONTEXT_PATH% -jar libresonic-booter-jar-with-dependencies.jar |
||||
|
@ -0,0 +1 @@ |
||||
/etc/default/libresonic |
@ -0,0 +1,16 @@ |
||||
#! /bin/sh |
||||
|
||||
set -e |
||||
|
||||
ln -sf /usr/share/libresonic/libresonic.sh /usr/bin/libresonic |
||||
|
||||
chmod 750 /var/libresonic |
||||
|
||||
# Clear jetty cache. |
||||
rm -rf /var/libresonic/jetty |
||||
|
||||
# Configure Libresonic service. |
||||
update-rc.d libresonic defaults 99 |
||||
|
||||
# Start Libresonic service. |
||||
invoke-rc.d libresonic start |
@ -0,0 +1,15 @@ |
||||
#! /bin/sh |
||||
|
||||
set -e |
||||
|
||||
# Stop Libresonic service. |
||||
if [ -e /etc/init.d/libresonic ]; then |
||||
invoke-rc.d libresonic stop |
||||
fi |
||||
|
||||
# Backup database. |
||||
if [ -e /var/libresonic/db ]; then |
||||
rm -rf /var/libresonic/db.backup |
||||
cp -R /var/libresonic/db /var/libresonic/db.backup |
||||
fi |
||||
|
@ -0,0 +1,8 @@ |
||||
#! /bin/sh |
||||
|
||||
set -e |
||||
|
||||
# Stop Libresonic service. |
||||
if [ -e /etc/init.d/libresonic ]; then |
||||
invoke-rc.d libresonic stop |
||||
fi |
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 42 KiB |
@ -1,6 +1,6 @@ |
||||
#!/bin/bash |
||||
|
||||
SUBSONIC_HOME="/Library/Application Support/Subsonic" |
||||
SUBSONIC_HOME="/Library/Application Support/Libresonic" |
||||
|
||||
# Backup database. |
||||
|
@ -0,0 +1,78 @@ |
||||
Name: libresonic |
||||
Version: @VERSION@ |
||||
Release: @BUILD_NUMBER@ |
||||
Summary: A web-based music streamer, jukebox and Podcast receiver |
||||
|
||||
Group: Applications/Multimedia |
||||
License: GPLv3 |
||||
URL: http://libresonic.org |
||||
|
||||
%description |
||||
Libresonic is a web-based music streamer, jukebox and Podcast receiver, |
||||
providing access to your music collection wherever you are. Use it |
||||
to share your music with friends, or to listen to your music while away |
||||
from home. |
||||
|
||||
Apps for Android, iPhone and Windows Phone are also available. |
||||
|
||||
Java 1.6 or higher is required to run Libresonic. |
||||
|
||||
Libresonic can be found at http://libresonic.org |
||||
|
||||
%files |
||||
%defattr(644,root,root,755) |
||||
/usr/share/libresonic/libresonic-booter-jar-with-dependencies.jar |
||||
/usr/share/libresonic/libresonic.war |
||||
%attr(755,root,root) /usr/share/libresonic/libresonic.sh |
||||
%attr(755,root,root) /etc/init.d/libresonic |
||||
%attr(755,root,root) /var/libresonic/transcode/ffmpeg |
||||
%attr(755,root,root) /var/libresonic/transcode/lame |
||||
%config(noreplace) /etc/sysconfig/libresonic |
||||
|
||||
%pre |
||||
# Stop Libresonic service. |
||||
if [ -e /etc/init.d/libresonic ]; then |
||||
service libresonic stop |
||||
fi |
||||
|
||||
# Backup database. |
||||
if [ -e /var/libresonic/db ]; then |
||||
rm -rf /var/libresonic/db.backup |
||||
cp -R /var/libresonic/db /var/libresonic/db.backup |
||||
fi |
||||
|
||||
exit 0 |
||||
|
||||
%post |
||||
ln -sf /usr/share/libresonic/libresonic.sh /usr/bin/libresonic |
||||
chmod 750 /var/libresonic |
||||
|
||||
# Clear jetty cache. |
||||
rm -rf /var/libresonic/jetty |
||||
|
||||
# For SELinux: Set security context |
||||
chcon -t java_exec_t /etc/init.d/libresonic 2>/dev/null |
||||
|
||||
# Configure and start Libresonic service. |
||||
chkconfig --add libresonic |
||||
service libresonic start |
||||
|
||||
exit 0 |
||||
|
||||
%preun |
||||
# Only do it if uninstalling, not upgrading. |
||||
if [ $1 = 0 ] ; then |
||||
|
||||
# Stop the service. |
||||
[ -e /etc/init.d/libresonic ] && service libresonic stop |
||||
|
||||
# Remove symlink. |
||||
rm -f /usr/bin/libresonic |
||||
|
||||
# Remove startup scripts. |
||||
chkconfig --del libresonic |
||||
|
||||
fi |
||||
|
||||
exit 0 |
||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
@ -0,0 +1,6 @@ |
||||
-Xmx150m |
||||
-verbose:gc |
||||
-Dlibresonic.host=0.0.0.0 |
||||
-Dlibresonic.port=4040 |
||||
-Dlibresonic.httpsPort=0 |
||||
-Dlibresonic.contextPath=/ |
@ -0,0 +1,213 @@ |
||||
# libresonic.nsi |
||||
|
||||
!include "WordFunc.nsh" |
||||
!include "MUI.nsh" |
||||
|
||||
!insertmacro VersionCompare |
||||
|
||||
# The name of the installer |
||||
Name "Libresonic" |
||||
|
||||
# The default installation directory |
||||
InstallDir $PROGRAMFILES\Libresonic |
||||
|
||||
# Registry key to check for directory (so if you install again, it will |
||||
# overwrite the old one automatically) |
||||
InstallDirRegKey HKLM "Software\Libresonic" "Install_Dir" |
||||
|
||||
#-------------------------------- |
||||
#Interface Configuration |
||||
|
||||
!define MUI_HEADERIMAGE |
||||
!define MUI_HEADERIMAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Header\orange.bmp" |
||||
!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\Getting Started.html" |
||||
!define MUI_FINISHPAGE_SHOWREADME_TEXT "View Getting Started document" |
||||
|
||||
#-------------------------------- |
||||
# Pages |
||||
|
||||
# This page checks for JRE |
||||
Page custom CheckInstalledJRE |
||||
|
||||
!insertmacro MUI_PAGE_WELCOME |
||||
!insertmacro MUI_PAGE_DIRECTORY |
||||
!insertmacro MUI_PAGE_INSTFILES |
||||
!insertmacro MUI_PAGE_FINISH |
||||
|
||||
!insertmacro MUI_UNPAGE_WELCOME |
||||
!insertmacro MUI_UNPAGE_CONFIRM |
||||
!insertmacro MUI_UNPAGE_INSTFILES |
||||
|
||||
# Languages |
||||
!insertmacro MUI_LANGUAGE "English" |
||||
|
||||
Section "Libresonic" |
||||
|
||||
SectionIn RO |
||||
|
||||
# Install for all users |
||||
SetShellVarContext "all" |
||||
|
||||
# Take backup of existing libresonic-service.exe.vmoptions |
||||
CopyFiles /SILENT $INSTDIR\libresonic-service.exe.vmoptions $TEMP\libresonic-service.exe.vmoptions |
||||
|
||||
# Silently uninstall existing version. |
||||
ExecWait '"$INSTDIR\uninstall.exe" /S _?=$INSTDIR' |
||||
|
||||
# Remove previous Jetty temp directory. |
||||
RMDir /r "c:\libresonic\jetty" |
||||
|
||||
# Backup database. |
||||
RMDir /r "c:\libresonic\db.backup" |
||||
CreateDirectory "c:\libresonic\db.backup" |
||||
CopyFiles /SILENT "c:\libresonic\db\*" "c:\libresonic\db.backup" |
||||
|
||||
# Set output path to the installation directory. |
||||
SetOutPath $INSTDIR |
||||
|
||||
# Write files. |
||||
File ..\..\..\target\libresonic-agent.exe |
||||
File ..\..\..\target\libresonic-agent.exe.vmoptions |
||||
File ..\..\..\target\libresonic-agent-elevated.exe |
||||
File ..\..\..\target\libresonic-agent-elevated.exe.vmoptions |
||||
File ..\..\..\target\libresonic-service.exe |
||||
File ..\..\..\target\libresonic-service.exe.vmoptions |
||||
File ..\..\..\..\libresonic-booter\target\libresonic-booter-jar-with-dependencies.jar |
||||
File ..\..\..\..\libresonic-main\README.TXT |
||||
File ..\..\..\..\libresonic-main\LICENSE.TXT |
||||
File "..\..\..\..\libresonic-main\Getting Started.html" |
||||
File ..\..\..\..\libresonic-main\target\libresonic.war |
||||
File ..\..\..\..\libresonic-main\target\classes\version.txt |
||||
File ..\..\..\..\libresonic-main\target\classes\build_number.txt |
||||
|
||||
# Write the installation path into the registry |
||||
WriteRegStr HKLM SOFTWARE\Libresonic "Install_Dir" "$INSTDIR" |
||||
|
||||
# Write the uninstall keys for Windows |
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Libresonic" "DisplayName" "Libresonic" |
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Libresonic" "UninstallString" '"$INSTDIR\uninstall.exe"' |
||||
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Libresonic" "NoModify" 1 |
||||
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Libresonic" "NoRepair" 1 |
||||
WriteUninstaller "uninstall.exe" |
||||
|
||||
# Restore libresonic-service.exe.vmoptions |
||||
CopyFiles /SILENT $TEMP\libresonic-service.exe.vmoptions $INSTDIR\libresonic-service.exe.vmoptions |
||||
Delete $TEMP\libresonic-service.exe.vmoptions |
||||
|
||||
# Write transcoding pack files. |
||||
SetOutPath "c:\libresonic\transcode" |
||||
File ..\..\..\..\libresonic-transcode\windows\*.* |
||||
|
||||
# Add Windows Firewall exception. |
||||
# (Requires NSIS plugin found on http://nsis.sourceforge.net/NSIS_Simple_Firewall_Plugin to be installed |
||||
# as NSIS_HOME/Plugins/SimpleFC.dll) |
||||
|
||||
SimpleFC::AdvAddRule "Libresonic Service (TCP)" "" "6" "1" "1" "7" "1" "$INSTDIR\libresonic-service.exe" "" "" "Libresonic" "" "" "" "" |
||||
SimpleFC::AdvAddRule "Libresonic Service (UDP)" "" "17" "1" "1" "7" "1" "$INSTDIR\libresonic-service.exe" "" "" "Libresonic" "" "" "" "" |
||||
SimpleFC::AdvAddRule "Libresonic Agent (TCP)" "" "6" "1" "1" "7" "1" "$INSTDIR\libresonic-agent.exe" "" "" "Libresonic" "" "" "" "" |
||||
SimpleFC::AdvAddRule "Libresonic Agent (UDP)" "" "17" "1" "1" "7" "1" "$INSTDIR\libresonic-agent.exe" "" "" "Libresonic" "" "" "" "" |
||||
SimpleFC::AdvAddRule "Libresonic Agent Elevated (TCP)" "" "6" "1" "1" "7" "1" "$INSTDIR\libresonic-agent-elevated.exe" "" "" "Libresonic" "" "" "" "" |
||||
SimpleFC::AdvAddRule "Libresonic Agent Elevated (UDP)" "" "17" "1" "1" "7" "1" "$INSTDIR\libresonic-agent-elevated.exe" "" "" "Libresonic" "" "" "" "" |
||||
|
||||
# Install and start service. |
||||
ExecWait '"$INSTDIR\libresonic-service.exe" -install' |
||||
ExecWait '"$INSTDIR\libresonic-service.exe" -start' |
||||
|
||||
# Start agent. |
||||
Exec '"$INSTDIR\libresonic-agent-elevated.exe" -balloon' |
||||
|
||||
SectionEnd |
||||
|
||||
|
||||
Section "Start Menu Shortcuts" |
||||
|
||||
CreateDirectory "$SMPROGRAMS\Libresonic" |
||||
CreateShortCut "$SMPROGRAMS\Libresonic\Open Libresonic.lnk" "$INSTDIR\libresonic.url" "" "$INSTDIR\libresonic-agent.exe" 0 |
||||
CreateShortCut "$SMPROGRAMS\Libresonic\Libresonic Tray Icon.lnk" "$INSTDIR\libresonic-agent.exe" "-balloon" "$INSTDIR\libresonic-agent.exe" 0 |
||||
CreateShortCut "$SMPROGRAMS\Libresonic\Start Libresonic Service.lnk" "$INSTDIR\libresonic-service.exe" "-start" "$INSTDIR\libresonic-service.exe" 0 |
||||
CreateShortCut "$SMPROGRAMS\Libresonic\Stop Libresonic Service.lnk" "$INSTDIR\libresonic-service.exe" "-stop" "$INSTDIR\libresonic-service.exe" 0 |
||||
CreateShortCut "$SMPROGRAMS\Libresonic\Uninstall Libresonic.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0 |
||||
CreateShortCut "$SMPROGRAMS\Libresonic\Getting Started.lnk" "$INSTDIR\Getting Started.html" "" "$INSTDIR\Getting Started.html" 0 |
||||
|
||||
CreateShortCut "$SMSTARTUP\Libresonic.lnk" "$INSTDIR\libresonic-agent.exe" "" "$INSTDIR\libresonic-agent.exe" 0 |
||||
|
||||
SectionEnd |
||||
|
||||
|
||||
# Uninstaller |
||||
|
||||
Section "Uninstall" |
||||
|
||||
# Uninstall for all users |
||||
SetShellVarContext "all" |
||||
|
||||
# Stop and uninstall service if present. |
||||
ExecWait '"$INSTDIR\libresonic-service.exe" -stop' |
||||
ExecWait '"$INSTDIR\libresonic-service.exe" -uninstall' |
||||
|
||||
# Stop agent by killing it. |
||||
# (Requires NSIS plugin found on http://nsis.sourceforge.net/Processes_plug-in to be installed |
||||
# as NSIS_HOME/Plugins/Processes.dll) |
||||
Processes::KillProcess "libresonic-agent" |
||||
Processes::KillProcess "libresonic-agent-elevated" |
||||
Processes::KillProcess "ffmpeg" |
||||
|
||||
# Remove registry keys |
||||
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Libresonic" |
||||
DeleteRegKey HKLM SOFTWARE\Libresonic |
||||
|
||||
# Remove files. |
||||
Delete "$SMSTARTUP\Libresonic.lnk" |
||||
RMDir /r "$SMPROGRAMS\Libresonic" |
||||
Delete "$INSTDIR\build_number.txt" |
||||
Delete "$INSTDIR\elevate.exe" |
||||
Delete "$INSTDIR\Getting Started.html" |
||||
Delete "$INSTDIR\LICENSE.TXT" |
||||
Delete "$INSTDIR\README.TXT" |
||||
Delete "$INSTDIR\libresonic.url" |
||||
Delete "$INSTDIR\libresonic.war" |
||||
Delete "$INSTDIR\libresonic-agent.exe" |
||||
Delete "$INSTDIR\libresonic-agent.exe.vmoptions" |
||||
Delete "$INSTDIR\libresonic-agent-elevated.exe" |
||||
Delete "$INSTDIR\libresonic-agent-elevated.exe.vmoptions" |
||||
Delete "$INSTDIR\libresonic-booter-jar-with-dependencies.jar" |
||||
Delete "$INSTDIR\libresonic-service.exe" |
||||
Delete "$INSTDIR\libresonic-service.exe.vmoptions" |
||||
Delete "$INSTDIR\uninstall.exe" |
||||
Delete "$INSTDIR\version.txt" |
||||
RMDir /r "$INSTDIR\log" |
||||
RMDir "$INSTDIR" |
||||
|
||||
# Remove Windows Firewall exception. |
||||
# (Requires NSIS plugin found on http://nsis.sourceforge.net/NSIS_Simple_Firewall_Plugin to be installed |
||||
# as NSIS_HOME/Plugins/SimpleFC.dll) |
||||
SimpleFC::AdvRemoveRule "Libresonic Service (TCP)" |
||||
SimpleFC::AdvRemoveRule "Libresonic Service (UDP)" |
||||
SimpleFC::AdvRemoveRule "Libresonic Agent (TCP)" |
||||
SimpleFC::AdvRemoveRule "Libresonic Agent (UDP)" |
||||
SimpleFC::AdvRemoveRule "Libresonic Agent Elevated (TCP)" |
||||
SimpleFC::AdvRemoveRule "Libresonic Agent Elevated (UDP)" |
||||
|
||||
SectionEnd |
||||
|
||||
|
||||
Function CheckInstalledJRE |
||||
# Read the value from the registry into the $0 register |
||||
ReadRegStr $0 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment" CurrentVersion |
||||
|
||||
# Check JRE version. At least 1.6 is required. |
||||
# $1=0 Versions are equal |
||||
# $1=1 Installed version is newer |
||||
# $1=2 Installed version is older (or non-existent) |
||||
${VersionCompare} $0 "1.6" $1 |
||||
IntCmp $1 2 InstallJRE 0 0 |
||||
Return |
||||
|
||||
InstallJRE: |
||||
# Launch Java web installer. |
||||
MessageBox MB_OK "Java was not found and will now be installed." |
||||
File /oname=$TEMP\jre-setup.exe jre-8u31-windows-i586-iftw.exe |
||||
ExecWait '"$TEMP\jre-setup.exe"' $0 |
||||
Delete "$TEMP\jre-setup.exe" |
||||
|
||||
FunctionEnd |
@ -0,0 +1,10 @@ |
||||
<html> |
||||
|
||||
<head> |
||||
<meta http-equiv="refresh" content="0;URL=http://libresonic.org/pages/getting-started.jsp"> |
||||
</head> |
||||
|
||||
<body> |
||||
</body> |
||||
|
||||
</html> |
@ -1,27 +1,27 @@ |
||||
/* |
||||
* This file is part of Subsonic. |
||||
* This file is part of Libresonic. |
||||
* |
||||
* Subsonic is free software: you can redistribute it and/or modify |
||||
* Libresonic is free software: you can redistribute it and/or modify |
||||
* it under the terms of the GNU General Public License as published by |
||||
* the Free Software Foundation, either version 3 of the License, or |
||||
* (at your option) any later version. |
||||
* |
||||
* Subsonic is distributed in the hope that it will be useful, |
||||
* Libresonic is distributed in the hope that it will be useful, |
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
* GNU General Public License for more details. |
||||
* |
||||
* You should have received a copy of the GNU General Public License |
||||
* along with Subsonic. If not, see <http://www.gnu.org/licenses/>.
|
||||
* along with Libresonic. If not, see <http://www.gnu.org/licenses/>.
|
||||
* |
||||
* Copyright 2014 (C) Sindre Mehus |
||||
*/ |
||||
|
||||
package net.sourceforge.subsonic.ajax; |
||||
package org.libresonic.player.ajax; |
||||
|
||||
import java.util.List; |
||||
|
||||
import net.sourceforge.subsonic.domain.ArtistBio; |
||||
import org.libresonic.player.domain.ArtistBio; |
||||
|
||||
/** |
||||
* @author Sindre Mehus |
@ -1,26 +1,26 @@ |
||||
/* |
||||
This file is part of Subsonic. |
||||
This file is part of Libresonic. |
||||
|
||||
Subsonic is free software: you can redistribute it and/or modify |
||||
Libresonic is free software: you can redistribute it and/or modify |
||||
it under the terms of the GNU General Public License as published by |
||||
the Free Software Foundation, either version 3 of the License, or |
||||
(at your option) any later version. |
||||
|
||||
Subsonic is distributed in the hope that it will be useful, |
||||
Libresonic is distributed in the hope that it will be useful, |
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
GNU General Public License for more details. |
||||
|
||||
You should have received a copy of the GNU General Public License |
||||
along with Subsonic. If not, see <http://www.gnu.org/licenses/>.
|
||||
along with Libresonic. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Copyright 2009 (C) Sindre Mehus |
||||
*/ |
||||
package net.sourceforge.subsonic.ajax; |
||||
package org.libresonic.player.ajax; |
||||
|
||||
import net.sourceforge.subsonic.Logger; |
||||
import net.sourceforge.subsonic.service.SecurityService; |
||||
import net.sourceforge.subsonic.util.BoundedList; |
||||
import org.libresonic.player.Logger; |
||||
import org.libresonic.player.service.SecurityService; |
||||
import org.libresonic.player.util.BoundedList; |
||||
import org.apache.commons.lang.StringUtils; |
||||
import org.directwebremoting.WebContext; |
||||
import org.directwebremoting.WebContextFactory; |
@ -1,22 +1,22 @@ |
||||
/* |
||||
This file is part of Subsonic. |
||||
This file is part of Libresonic. |
||||
|
||||
Subsonic is free software: you can redistribute it and/or modify |
||||
Libresonic is free software: you can redistribute it and/or modify |
||||
it under the terms of the GNU General Public License as published by |
||||
the Free Software Foundation, either version 3 of the License, or |
||||
(at your option) any later version. |
||||
|
||||
Subsonic is distributed in the hope that it will be useful, |
||||
Libresonic is distributed in the hope that it will be useful, |
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
GNU General Public License for more details. |
||||
|
||||
You should have received a copy of the GNU General Public License |
||||
along with Subsonic. If not, see <http://www.gnu.org/licenses/>.
|
||||
along with Libresonic. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Copyright 2009 (C) Sindre Mehus |
||||
*/ |
||||
package net.sourceforge.subsonic.ajax; |
||||
package org.libresonic.player.ajax; |
||||
|
||||
/** |
||||
* Contains info about cover art images for an album. |
@ -1,22 +1,22 @@ |
||||
/* |
||||
This file is part of Subsonic. |
||||
This file is part of Libresonic. |
||||
|
||||
Subsonic is free software: you can redistribute it and/or modify |
||||
Libresonic is free software: you can redistribute it and/or modify |
||||
it under the terms of the GNU General Public License as published by |
||||
the Free Software Foundation, either version 3 of the License, or |
||||
(at your option) any later version. |
||||
|
||||
Subsonic is distributed in the hope that it will be useful, |
||||
Libresonic is distributed in the hope that it will be useful, |
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
GNU General Public License for more details. |
||||
|
||||
You should have received a copy of the GNU General Public License |
||||
along with Subsonic. If not, see <http://www.gnu.org/licenses/>.
|
||||
along with Libresonic. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Copyright 2009 (C) Sindre Mehus |
||||
*/ |
||||
package net.sourceforge.subsonic.ajax; |
||||
package org.libresonic.player.ajax; |
||||
|
||||
/** |
||||
* Contains lyrics info for a song. |
@ -1,22 +1,22 @@ |
||||
/* |
||||
This file is part of Subsonic. |
||||
This file is part of Libresonic. |
||||
|
||||
Subsonic is free software: you can redistribute it and/or modify |
||||
Libresonic is free software: you can redistribute it and/or modify |
||||
it under the terms of the GNU General Public License as published by |
||||
the Free Software Foundation, either version 3 of the License, or |
||||
(at your option) any later version. |
||||
|
||||
Subsonic is distributed in the hope that it will be useful, |
||||
Libresonic is distributed in the hope that it will be useful, |
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
GNU General Public License for more details. |
||||
|
||||
You should have received a copy of the GNU General Public License |
||||
along with Subsonic. If not, see <http://www.gnu.org/licenses/>.
|
||||
along with Libresonic. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Copyright 2009 (C) Sindre Mehus |
||||
*/ |
||||
package net.sourceforge.subsonic.ajax; |
||||
package org.libresonic.player.ajax; |
||||
|
||||
import java.util.Date; |
||||
|
@ -1,22 +1,22 @@ |
||||
/* |
||||
This file is part of Subsonic. |
||||
This file is part of Libresonic. |
||||
|
||||
Subsonic is free software: you can redistribute it and/or modify |
||||
Libresonic is free software: you can redistribute it and/or modify |
||||
it under the terms of the GNU General Public License as published by |
||||
the Free Software Foundation, either version 3 of the License, or |
||||
(at your option) any later version. |
||||
|
||||
Subsonic is distributed in the hope that it will be useful, |
||||
Libresonic is distributed in the hope that it will be useful, |
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
GNU General Public License for more details. |
||||
|
||||
You should have received a copy of the GNU General Public License |
||||
along with Subsonic. If not, see <http://www.gnu.org/licenses/>.
|
||||
along with Libresonic. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Copyright 2009 (C) Sindre Mehus |
||||
*/ |
||||
package net.sourceforge.subsonic.ajax; |
||||
package org.libresonic.player.ajax; |
||||
|
||||
/** |
||||
* Details about what a user is currently listening to. |
@ -1,26 +1,26 @@ |
||||
/* |
||||
This file is part of Subsonic. |
||||
This file is part of Libresonic. |
||||
|
||||
Subsonic is free software: you can redistribute it and/or modify |
||||
Libresonic is free software: you can redistribute it and/or modify |
||||
it under the terms of the GNU General Public License as published by |
||||
the Free Software Foundation, either version 3 of the License, or |
||||
(at your option) any later version. |
||||
|
||||
Subsonic is distributed in the hope that it will be useful, |
||||
Libresonic is distributed in the hope that it will be useful, |
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
GNU General Public License for more details. |
||||
|
||||
You should have received a copy of the GNU General Public License |
||||
along with Subsonic. If not, see <http://www.gnu.org/licenses/>.
|
||||
along with Libresonic. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Copyright 2009 (C) Sindre Mehus |
||||
*/ |
||||
package net.sourceforge.subsonic.ajax; |
||||
package org.libresonic.player.ajax; |
||||
|
||||
import java.util.List; |
||||
|
||||
import net.sourceforge.subsonic.util.StringUtil; |
||||
import org.libresonic.player.util.StringUtil; |
||||
|
||||
/** |
||||
* The playlist of a player. |
@ -1,27 +1,27 @@ |
||||
/* |
||||
This file is part of Subsonic. |
||||
This file is part of Libresonic. |
||||
|
||||
Subsonic is free software: you can redistribute it and/or modify |
||||
Libresonic is free software: you can redistribute it and/or modify |
||||
it under the terms of the GNU General Public License as published by |
||||
the Free Software Foundation, either version 3 of the License, or |
||||
(at your option) any later version. |
||||
|
||||
Subsonic is distributed in the hope that it will be useful, |
||||
Libresonic is distributed in the hope that it will be useful, |
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
GNU General Public License for more details. |
||||
|
||||
You should have received a copy of the GNU General Public License |
||||
along with Subsonic. If not, see <http://www.gnu.org/licenses/>.
|
||||
along with Libresonic. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Copyright 2009 (C) Sindre Mehus |
||||
*/ |
||||
package net.sourceforge.subsonic.ajax; |
||||
package org.libresonic.player.ajax; |
||||
|
||||
import java.util.List; |
||||
|
||||
import net.sourceforge.subsonic.domain.MediaFile; |
||||
import net.sourceforge.subsonic.domain.Playlist; |
||||
import org.libresonic.player.domain.MediaFile; |
||||
import org.libresonic.player.domain.Playlist; |
||||
|
||||
/** |
||||
* The playlist of a player. |
@ -1,22 +1,22 @@ |
||||
/* |
||||
This file is part of Subsonic. |
||||
This file is part of Libresonic. |
||||
|
||||
Subsonic is free software: you can redistribute it and/or modify |
||||
Libresonic is free software: you can redistribute it and/or modify |
||||
it under the terms of the GNU General Public License as published by |
||||
the Free Software Foundation, either version 3 of the License, or |
||||
(at your option) any later version. |
||||
|
||||
Subsonic is distributed in the hope that it will be useful, |
||||
Libresonic is distributed in the hope that it will be useful, |
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
GNU General Public License for more details. |
||||
|
||||
You should have received a copy of the GNU General Public License |
||||
along with Subsonic. If not, see <http://www.gnu.org/licenses/>.
|
||||
along with Libresonic. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Copyright 2009 (C) Sindre Mehus |
||||
*/ |
||||
package net.sourceforge.subsonic.ajax; |
||||
package org.libresonic.player.ajax; |
||||
|
||||
/** |
||||
* Media folder scanning status. |
@ -1,22 +1,22 @@ |
||||
/* |
||||
* This file is part of Subsonic. |
||||
* This file is part of Libresonic. |
||||
* |
||||
* Subsonic is free software: you can redistribute it and/or modify |
||||
* Libresonic is free software: you can redistribute it and/or modify |
||||
* it under the terms of the GNU General Public License as published by |
||||
* the Free Software Foundation, either version 3 of the License, or |
||||
* (at your option) any later version. |
||||
* |
||||
* Subsonic is distributed in the hope that it will be useful, |
||||
* Libresonic is distributed in the hope that it will be useful, |
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
* GNU General Public License for more details. |
||||
* |
||||
* You should have received a copy of the GNU General Public License |
||||
* along with Subsonic. If not, see <http://www.gnu.org/licenses/>.
|
||||
* along with Libresonic. If not, see <http://www.gnu.org/licenses/>.
|
||||
* |
||||
* Copyright 2014 (C) Sindre Mehus |
||||
*/ |
||||
package net.sourceforge.subsonic.ajax; |
||||
package org.libresonic.player.ajax; |
||||
|
||||
/** |
||||
* Contains info about a similar artist. |
@ -1,27 +1,27 @@ |
||||
/* |
||||
This file is part of Subsonic. |
||||
This file is part of Libresonic. |
||||
|
||||
Subsonic is free software: you can redistribute it and/or modify |
||||
Libresonic is free software: you can redistribute it and/or modify |
||||
it under the terms of the GNU General Public License as published by |
||||
the Free Software Foundation, either version 3 of the License, or |
||||
(at your option) any later version. |
||||
|
||||
Subsonic is distributed in the hope that it will be useful, |
||||
Libresonic is distributed in the hope that it will be useful, |
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
GNU General Public License for more details. |
||||
|
||||
You should have received a copy of the GNU General Public License |
||||
along with Subsonic. If not, see <http://www.gnu.org/licenses/>.
|
||||
along with Libresonic. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Copyright 2009 (C) Sindre Mehus |
||||
*/ |
||||
package net.sourceforge.subsonic.ajax; |
||||
package org.libresonic.player.ajax; |
||||
|
||||
import net.sourceforge.subsonic.Logger; |
||||
import net.sourceforge.subsonic.dao.MediaFileDao; |
||||
import net.sourceforge.subsonic.domain.User; |
||||
import net.sourceforge.subsonic.service.SecurityService; |
||||
import org.libresonic.player.Logger; |
||||
import org.libresonic.player.dao.MediaFileDao; |
||||
import org.libresonic.player.domain.User; |
||||
import org.libresonic.player.service.SecurityService; |
||||
import org.directwebremoting.WebContext; |
||||
import org.directwebremoting.WebContextFactory; |
||||
|
@ -1,33 +1,33 @@ |
||||
/* |
||||
This file is part of Subsonic. |
||||
This file is part of Libresonic. |
||||
|
||||
Subsonic is free software: you can redistribute it and/or modify |
||||
Libresonic is free software: you can redistribute it and/or modify |
||||
it under the terms of the GNU General Public License as published by |
||||
the Free Software Foundation, either version 3 of the License, or |
||||
(at your option) any later version. |
||||
|
||||
Subsonic is distributed in the hope that it will be useful, |
||||
Libresonic is distributed in the hope that it will be useful, |
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
GNU General Public License for more details. |
||||
|
||||
You should have received a copy of the GNU General Public License |
||||
along with Subsonic. If not, see <http://www.gnu.org/licenses/>.
|
||||
along with Libresonic. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Copyright 2009 (C) Sindre Mehus |
||||
*/ |
||||
package net.sourceforge.subsonic.ajax; |
||||
package org.libresonic.player.ajax; |
||||
|
||||
import org.apache.commons.io.FilenameUtils; |
||||
import org.apache.commons.lang.ObjectUtils; |
||||
import org.apache.commons.lang.StringUtils; |
||||
|
||||
import net.sourceforge.subsonic.Logger; |
||||
import net.sourceforge.subsonic.domain.MediaFile; |
||||
import net.sourceforge.subsonic.service.MediaFileService; |
||||
import net.sourceforge.subsonic.service.metadata.MetaData; |
||||
import net.sourceforge.subsonic.service.metadata.MetaDataParser; |
||||
import net.sourceforge.subsonic.service.metadata.MetaDataParserFactory; |
||||
import org.libresonic.player.Logger; |
||||
import org.libresonic.player.domain.MediaFile; |
||||
import org.libresonic.player.service.MediaFileService; |
||||
import org.libresonic.player.service.metadata.MetaData; |
||||
import org.libresonic.player.service.metadata.MetaDataParser; |
||||
import org.libresonic.player.service.metadata.MetaDataParserFactory; |
||||
|
||||
/** |
||||
* Provides AJAX-enabled services for editing tags in music files. |